HOME

TheInfoList




In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and software. It has sci ...

computing
, a memory address is a reference to a specific
memory Memory is the faculty of the by which or is , stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If s could not be remembered, it would be impossible for language, r ...
location used at various levels by
software Software is a collection of instructions that tell a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operatio ...

software
and
hardware Hardware may refer to: Technology Computing and electronics * Computer hardware, physical parts of a computer * Digital electronics, electronics that operate on digital signals * Electronic component, device in an electronic system used to affect e ...

hardware
. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as
unsigned Unsigned can refer to: * An unsigned artist is a musical artist or group not attached or signed to a record label ** Unsigned Music Awards, ceremony noting achievements of unsigned artists ** Unsigned band web, online community * Similarly, the con ...
integers An integer (from the Latin Latin (, or , ) is a classical language belonging to the Italic languages, Italic branch of the Indo-European languages. Latin was originally spoken in the area around Rome, known as Latium. Through the power of t ...
. Such numerical semantic bases itself upon features of CPU (such as the
instruction pointer The program counter (PC), commonly called the instruction pointer (IP) in Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the wo ...
and incremental address registers), as well upon use of the memory like an
array ARRAY, also known as ARRAY Now, is an independent distribution company launched by film maker and former publicist Ava DuVernay Ava Marie DuVernay (; born August 24, 1972) is an American filmmaker. She won the directing award in the U.S. dram ...
endorsed by various
programming language A programming language is a formal language In logic, mathematics, computer science, and linguistics, a formal language consists of string (computer science), words whose symbol (formal), letters are taken from an alphabet (computer science) ...

programming language
s.


Types


Physical addresses

A
digital computer A computer is a machine A machine is a man-made device that uses power to apply forces and control movement to perform an action. Machines can be driven by animals and people A people is a plurality of person A person (plural ...
's
main memory Computer data storage is a technology consisting of computer components and Data storage device, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The cent ...
consists of many memory locations. Each memory location has a
physical address 300px, Diagram of relationship between the virtual and physical address spaces In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorith ...
which is a code. The CPU (or other device) can use the code to access the corresponding memory location. Generally only
system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android (operating system), Android and Microsoft Windows, computational science software, ...
, i.e. the
BIOS In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softw ...

BIOS
, operating systems, and some specialized
utility program Utility software is software designed to help to analyze, configure, optimize or maintain a computer. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that benefit o ...
s (e.g.,
memory tester Memory is the faculty of the brain by which data or information is Encoding (memory), encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If Foresight (psycholog ...

memory tester
s), address physical memory using machine code
operand In mathematics an operand is the object of a mathematical operation, i.e., it is the object or quantity that is operated on. Example The following arithmetic expression shows an example of operators and operands: :3 + 6 = 9 In the above example, ...
s or
processor register Processor may refer to: Computing Hardware * Processor (computing) **Central processing unit (CPU), the hardware within a computer that executes a program *** Microprocessor, a central processing unit contained on a single integrated circuit (I ...
s, instructing the CPU to direct a hardware device, called the
memory controller The memory controller is a digital circuit that manages the flow of data going to and from the computer's main memory A spindle of DVD-RWs Computer data storage is a technology consisting of computer components and Data storage device, rec ...
, to use the
memory bus In , a bus (a contraction of the Latin ', and historically also called ''data highway'') is a communication system that transfers between components inside a , or between computers. This expression covers all related components (wire, , etc ...
or
system bus A system bus is a single computer bus In computer architecture In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer A computer is a ...
, or separate control,
address An address is a collection of information, presented in a mostly fixed format, used to give the location of a building, apartment, or other structure or a plot of land, generally using political boundaries Borders are geographic Geogr ...
and data busses, to execute the program's commands. The memory controllers'
bus trolleybus in Toronto Toronto is the capital city of the Provinces and territories of Canada, Canadian province of Ontario. With a recorded population of 2,731,571 in 2016, it is the List of the 100 largest municipalities in Canada by p ...
consists of a number of
parallel Parallel may refer to: Computing * Parallel algorithm In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their a ...

parallel
lines, each represented by a
binary digit Binary may refer to: Science and technology Mathematics * Binary number In mathematics and digital electronics, a binary number is a number A number is a mathematical object used to counting, count, measurement, measure, and nominal ...
(bit). The width of the bus, and thus the number of addressable storage units, and the number of bits in each unit, varies among computers.


Logical addresses

A
computer program In imperative programming, a computer program is a sequence of instructions in a programming language that a computer can execute or interpret. In declarative programming, a ''computer program'' is a Set (mathematics), set of instructions. A comp ...
uses memory addresses to execute
machine code In computer programming Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, ge ...
, and to store and retrieve
data Data (; ) are individual facts A fact is something that is truth, true. The usual test for a statement of fact is verifiability—that is whether it can be demonstrated to correspond to experience. Standard reference works are often used ...
. In early computers logical and physical addresses corresponded, but since the introduction of
virtual memory In computing, virtual memory, or virtual storage is a Memory management (operating systems), memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "cre ...

virtual memory
most
application program Application software (app for short) is computing software designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end-users. Examples of an application Application may refer ...
s do not have a knowledge of physical addresses. Rather, they address
logical address In computing, a logical address is the address at which an item (Computer data storage, memory cell, storage element, network host) appears to reside from the perspective of an executing application program. A logical address may be different f ...
es, or
virtual addresses
virtual addresses
, using the computer's
memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware Computer hardware includes the physical parts of a computer, such as the computer case, case, central processing unit (CPU), Compute ...
and
operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android (operating system), Android and Mi ...

operating system
memory mapping; see
below Below may refer to: *Earth *Ground (disambiguation) *Soil *Floor *Bottom (disambiguation) *Less than *Temperatures below freezing *Hell or underworld People with the surname *Fred Below (1926–1988), American blues drummer *Fritz von Below (1853 ...
.


Unit of address resolution

Most modern computers are '' byte-addressable''. Each address identifies a single
byte The byte is a unit of digital information that most commonly consists of eight bit The bit is a basic unit of information in computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It ...
( eight bits) of storage. Data larger than a single byte may be stored in a sequence of consecutive addresses. There exist ''
word-addressable''Word-addressable'' is a computer architecture term. When the cell size is designed based on the word length of the cpu, then the respective address space is called as word addressable. In computer architecture, a Word (computer architecture), w ...
'' computers, where the minimal addressable storage unit is exactly the processor's
word In linguistics Linguistics is the scientific study of language A language is a structured system of communication used by humans, including speech (spoken language), gestures (Signed language, sign language) and writing. Most lang ...
. For example, the
Data General Nova The Data General Nova is a series of 16-bit minicomputers released by the American company Data General. The Nova family was very popular in the 1970s and ultimately sold tens of thousands of units. The first model, known simply as "Nova", was ...
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold for much less than Mainframe computer, mainframe and mid-size computers from IBM and BUNCH, its direct competitors. In ...
, and the
Texas Instruments TMS9900 Introduced in June 1976, the TMS9900 was one of the first commercially available, single-chip 16-bit 16-bit microcomputers are computers in which 16-bit microprocessors were the norm. A 16-bit register can store 216 different values. The range ...
and National Semiconductor IMP-16
microcomputer A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU). It includes a microprocessor, Computer memory, memory and minimal input/output (I/O) circuitry mounted on a single printed ci ...
s used 16 bit
word In linguistics Linguistics is the scientific study of language A language is a structured system of communication used by humans, including speech (spoken language), gestures (Signed language, sign language) and writing. Most lang ...
s, and there were many
36-bit 36-bit computers were popular in the early mainframe computer A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks ...
mainframe computer A mainframe computer, informally called a mainframe or big iron, is a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can perform gener ...
s (e.g.,
PDP-10 Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the Digital, was a major American company in the from the 1960s to the 1990s. The company was co-founded by and in 1957. Olsen was president until forced to resi ...
) which used 18-bit
word addressing''Word-addressable'' is a computer architecture term. When the cell size is designed based on the word length of the cpu, then the respective address space is called as word addressable. In computer architecture, a Word (computer architecture), w ...
, not
byte addressing The byte is a unit of digital information that most commonly consists of eight bit The bit is a basic unit of information in computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It ...
, giving an address space of 218 36-bit words, approximately 1 megabyte of storage. The efficiency of addressing of memory depends on the bit size of the bus used for addresses – the more bits used, the more addresses are available to the computer. For example, an 8-bit-byte-addressable machine with a 20-bit
address bus In computer architecture In computer engineering Computer engineering (CoE or CpE) is a branch of engineering Engineering is the use of scientific method, scientific principles to design and build machines, structures, and other ...
(e.g.
Intel 8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit Bus (computing), ...
) can address 220 (1,048,576) memory locations, or one
MiB The byte is a unit of digital information that most commonly consists of eight bit The bit is a basic unit of information in computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. I ...
of memory, while a 32-bit bus (e.g.
Intel 80386 The Intel Intel Corporation is an American multinational corporation A multinational company (MNC) is a corporate A corporation is an organization—usually a group of people or a company A company, abbreviated as co., is a ...
) addresses 232 (4,294,967,296) locations, or a 4
GiB Gib or GIB may refer to: Places * Gibraltar ) , anthem = "God Save the Queen" , song = "Gibraltar Anthem" , image_map = Gibraltar location in Europe.svg , map_alt = Location of Gibraltar in Europe , map_caption = United Kingdom shown in ...
address space. In contrast, a 36-bit word-addressable machine with an 18-bit address bus addresses only 218 (262,144) 36-bit locations (9,437,184 bits), equivalent to 1,179,648 8-bit bytes, or 1152
KiB The byte is a unit of digital information that most commonly consists of eight bit The bit is a basic unit of information in computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. I ...
, or 1.125 MiB — slightly more than the 8086. Some older computers (
decimal computer Decimal computers are computers which can represent numbers and addresses in decimal The decimal numeral system A numeral system (or system of numeration) is a writing system A writing system is a method of visually representing verba ...
s), were ''
decimal The decimal numeral system A numeral system (or system of numeration) is a writing system A writing system is a method of visually representing verbal communication Communication (from Latin ''communicare'', meaning "to share") is t ...
digit Digit may refer to: Mathematics and science * Numerical digit, as used in mathematics or computer science ** Arabic numerals, the most common modern representation of numerical digits * Digit (anatomy), one of several most distal parts of a limb ...
-addressable''. For example, each address in the
IBM 1620 The IBM 1620 was announced by IBM International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, with operations in over 170 countries. The company began in 1911, found ...

IBM 1620
's
magnetic-core memory Magnetic-core memory was the predominant form of random-access Random access (more precisely and more generally called direct access) is the ability to access an arbitrary element of a sequence in equal time or any datum from a population of ...
identified a single six bit
binary-coded decimal In computing and electronics, electronic systems, binary-coded decimal (BCD) is a class of Binary numeral system, binary encodings of decimal numbers where each numerical digit, digit is represented by a fixed number of bits, usually four or ei ...
digit, consisting of a
parity bit A parity bit, or check bit, is a bit The bit is a basic unit of information in computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of al ...
,
flag bit A bit field is a data structure used in computer programming. It consists of a number of adjacent computer memory locations which have been allocated to hold a sequence of bits, stored so that any single bit or group of bits within the set can be a ...
and four numerical bits. The 1620 used 5-digit decimal addresses, so in theory the highest possible address was 99,999. In practice, the CPU supported 20,000 memory locations, and up to two optional external memory units could be added, each supporting 20,000 addresses, for a total of 60,000 (00000–59999).


Word size versus address size

Word In linguistics Linguistics is the scientific study of language A language is a structured system of communication used by humans, including speech (spoken language), gestures (Signed language, sign language) and writing. Most lang ...
size is a characteristic of
computer architecture In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems. The architecture of a system refers to its structure in terms of separately specifi ...
denoting the number of bits that a CPU can process at one time. Modern processors, including
embedded systems An embedded system is a computer system A computer is a machine that can be programmed to carry out Sequence, sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operations known as Com ...
, usually have a word size of 8, 16, 24, 32 or 64 bits; most current general-purpose computers use 32 or 64 bits. Many different sizes have been used historically, including 8, 9, 10, 12, 18, 24, 36, 39, 40, 48 and 60 bits. Very often, when referring to the ''word size'' of a modern computer, one is also describing the size of address space on that computer. For instance, a computer said to be "
32-bit 32-bit microcomputer A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU). It includes a microprocessor, Computer memory, memory and minimal input/output (I/O) circuitry mount ...
" also usually allows 32-bit memory addresses; a byte-addressable 32-bit computer can address 232 = 4,294,967,296 bytes of memory, or 4 gibibytes (GiB). This allows one memory address to be efficiently stored in one word. However, this does not always hold true. Computers can have memory addresses larger or smaller than their word size. For instance, many
8-bit In computer architecture, 8-bit integer (computer science), integers or other data#Uses of data in computing, data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit, CPU and arithmetic logic unit, ALU arch ...
processors, such as the
MOS Technology 6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit In computer architecture In computer ...
, supported 16-bit addresses— if not, they would have been limited to a mere 256
byte The byte is a unit of digital information that most commonly consists of eight bit The bit is a basic unit of information in computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It ...
s of memory addressing. The 16-bit
Intel 8088 The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit An integrated circuit or ...
and
Intel 8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit Bus (computing), ...
supported 20-bit addressing via
segmentation Segment or segmentation may refer to: Biology *Segmentation (biology), the division of body plans into a series of repetitive segments **Segmentation in the human nervous system *Internodal segment, the portion of a nerve fiber between two Nodes of ...

segmentation
, allowing them to access 1 MiB rather than 64 KiB of memory. All Intel
Pentium Pentium is a brand used for a series of x86 architecture-compatible microprocessors produced by Intel. The Pentium (original), original Pentium was released in 1993. After that, the Pentium II and Pentium III were released. In their form , ...
processors since the
Pentium Pro The Pentium Pro is a sixth-generation x86 x86 is a family of instruction set architecture In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device tha ...

Pentium Pro
include
Physical Address Extension In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softwa ...
s (PAE) which support mapping 36-bit physical addresses to 32-bit virtual addresses. Many early processors held 2 addresses per word , such as
36-bit 36-bit computers were popular in the early mainframe computer A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks ...
processors. In theory, modern byte-addressable
64-bit In computer architecture, 64-bit Integer (computer science), integers, Memory address, memory addresses, or other Data#Uses%20of%20data%20in%20computing, data units are those that are 64 bits (8 Octet (computing), octets) wide. Also, 64-bit cent ...
computers can address 264 bytes (16
exbibyte The byte is a units of information, unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character (computing), character of text in a computer and for this ...
s), but in practice the amount of memory is limited by the CPU, the
memory controller The memory controller is a digital circuit that manages the flow of data going to and from the computer's main memory A spindle of DVD-RWs Computer data storage is a technology consisting of computer components and Data storage device, rec ...
, or the
printed circuit board A printed circuit board (PCB) is a laminated sandwich structure of conductive and insulating layers. PCBs have two complementary functions. The first is to affix electronic components An electronic component is any basic discrete device or ...

printed circuit board
design (e.g., number of physical memory connectors or amount of soldered-on memory).


Contents of each memory location

Each memory location in a
stored-program computer A stored-program computer is a computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operations ...
holds a
binary number In mathematics and digital electronics Digital electronics is a field of electronics The field of electronics is a branch of physics and electrical engineering that deals with the emission, behaviour and effects of electrons The electr ...
or decimal number ''of some sort''. Its interpretation, as data of some
data type In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , ...
or as an instruction, and use are determined by the
instructions Instruction or instructions may refer to: Computing * Instruction, one operation of a processor within a computer architecture instruction set * Computer program, a collection of instructions Music * Instruction (band), a 2002 rock band from New Y ...
which retrieve and manipulate it. Some early programmers combined instructions and data in words as a way to save memory, when it was expensive: The
Manchester Mark 1 The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester from the Manchester Baby (operational in June 1948). Work began in August 1948, and the first version was operational by ...
had space in its 40-bit words to store little bits of data – its processor ignored a small section in the middle of a word – and that was often exploited as extra data storage. Self-replicating programs such as
viruses A virus is a wikt:submicroscopic, submicroscopic infectious agent that Viral replication, replicates only inside the living Cell (biology), cells of an organism. Viruses infect all life forms, from animals and plants to microorganisms, incl ...

viruses
treat themselves sometimes as data and sometimes as instructions.
Self-modifying code In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Algo ...
is generally
deprecated In several fields, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing it or prohibiting its ...
nowadays, as it makes testing and maintenance disproportionally difficult to the saving of a few bytes, and can also give incorrect results because of the compiler or processor's assumptions about the machine's
state State may refer to: Arts, entertainment, and media Literature * ''State Magazine'', a monthly magazine published by the U.S. Department of State * The State (newspaper), ''The State'' (newspaper), a daily newspaper in Columbia, South Carolina, Un ...
, but is still sometimes used deliberately, with great care.


Address space in application programming

In modern multitasking environment, an
application Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a co ...
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process A business process, business method ...
usually has in its address space (or spaces) chunks of memory of following types: *
Machine code In computer programming Computer programming is the process of designing and building an executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, c ...
, including: ** program's own code (historically known as ''
code segment In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softwar ...
'' or ''text segment''); **
shared libraries 277px, Illustration of an application which uses libvorbisfile to play an Ogg Vorbis file In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as ...
. *
Data Data (; ) are individual facts A fact is something that is truth, true. The usual test for a statement of fact is verifiability—that is whether it can be demonstrated to correspond to experience. Standard reference works are often used ...
, including: ** initialized data (
data segment In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softwar ...
); ** uninitialized (but allocated) variables; **
run-time stack In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Algor ...
; **
heap Heap or HEAP may refer to: Computing and mathematics * Heap (data structure), a data structure commonly used to implement a priority queue * Heap (mathematics), a generalization of a group * Heap (programming) (or free store), an area of memory for ...
; **
shared memory In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , ...
and memory mapped files. Some parts of address space may be not mapped at all. Some systems have a "split" memory architecture where machine code, constants, and data are in different locations, and may have different address sized. For example, PIC18 microcontrollers have a 21-bit program counter to address machine code and constants in Flash memory, and 12-bit address registers to address data in SRAM.


Addressing schemes

A computer program can access an address given explicitly – in low-level programming this is usually called an , or sometimes a specific address, and is known as pointer (computer programming), pointer data type in higher-level languages. But a program can also use relative address which specifies a location in relation to somewhere else (the ''base address''). There are many more addressing modes. Mapping logical addresses to physical and virtual memory also adds several levels of indirection; see below.


Memory models

Many programmers prefer to address memory such that there is no distinction between code space and data space (cf. #Address space in application programming, above), as well as from physical and virtual memory (see #Virtual memory versus physical memory, below) — in other words, numerically identical pointers refer to exactly the same byte of RAM. However, many early computers did not support such a ''flat memory model'' — in particular, Harvard architecture machines force program storage to be completely separate from data storage. Many modern Digital signal processor, DSPs (such as the Motorola 56000) have three separate storage areas — program storage, coefficient storage, and data storage. Some commonly used instructions fetch from all three areas simultaneously — fewer storage areas (even if there were the same total bytes of storage) would make those instructions run slower.


Memory models in x86 architecture

Early x86 computers use the memory segmentation, segmented memory model addresses based on a combination of two numbers: a x86 memory segmentation, memory segment, and an offset (computer science), offset within that segment. Some segments are implicitly treated as ''code segments'', dedicated for instruction (computer science), instructions, ''call stack, stack segments'', or normal ''
data Data (; ) are individual facts A fact is something that is truth, true. The usual test for a statement of fact is verifiability—that is whether it can be demonstrated to correspond to experience. Standard reference works are often used ...
segments''. Although the usages are different, the segments do not have different memory protections reflecting this. In the flat memory model all segments (segment registers) are generally set to zero, and only offsets are variable.


See also

*Memory model (programming) *Memory allocation *Memory address register *Base address *Offset (computer science), also known as a ''displacement'' *Endianness *Memory management unit (MMU) *Page table *Memory protection *Memory segmentation *Low-level programming language


References

{{Data types Computer memory