physical address
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and development of both computer hardware , hardware and software. ...
, a physical address (also real address, or binary address), is a
memory address In computing, a memory address is a reference to a specific computer memory, memory location used at various levels by software and computer hardware, hardware. Memory addresses are fixed-length sequences of Numerical digit, digits conventionally ...
that is represented in the form of a
binary number A binary number is a number expressed in the base-2 numeral system or binary numeral system, a method of mathematical expression which uses only two symbols: typically "0" (zero) and "1" (one). The base-2 numeral system is a positional notation ...
on the
address bus In computer architecture, a bus (shortened form of the Latin ''wikt:omnibus, omnibus'', and historically also called data highway or databus) is a communication system that transfers Data (computing), data between components inside a computer ...
circuitry in order to enable the
data bus In computer architecture, a bus (shortened form of the Latin ''wikt:omnibus, omnibus'', and historically also called data highway or databus) is a communication system that transfers Data (computing), data between components inside a computer ...
to access a ''particular'' storage cell of
main memory Computer data storage is a technology consisting of computer components and Data storage, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The central pro ...
, or a register of
memory-mapped I/O Memory-mapped I/O (MMIO) and port-mapped I/O (PMIO) are two complementary methods of performing input/output (I/O) between the central processing unit (CPU) and peripheral devices in a computer. An alternative approach is using dedicated I/O pro ...
device.


Use by central processing unit

In a computer supporting
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 "cr ...
, the term ''physical address'' is used mostly to differentiate from a '' virtual address''. In particular, in computers utilizing a
memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all computer memory, memory references passed through itself, primarily performing the translation of virtual address, virtua ...
(MMU) to translate memory addresses, the virtual and physical addresses refer to an address before and after translation performed by the MMU, respectively.


Unaligned addressing

Depending upon its underlying
computer architecture In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the ...
, the performance of a computer may be hindered by ''unaligned'' access to memory. For example, a
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range (computer programming), range of integer values that can be stored in 16 bits depends on the Integer (computer ...
computer with a 16-bit memory data bus, such as
Intel 8086 The 8086 (also called iAPX 86) is a 16-bit computing, 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 ...
, generally has less overhead if the access is aligned to an even address. In that case fetching one 16-bit value requires a single memory read operation, a single transfer over a data bus. If the 16-bit data value starts at an odd address, the processor may need to perform two memory read cycles to load the value into it, i.e. one for the low address (throwing away half of it) and then a second read cycle to load the high address (throwing away again half of the retrieved data). On some
processors A central processing unit (CPU), also called a central processor, main processor or just Processor (computing), processor, is the electronic circuitry that executes Instruction (computing), instructions comprising a computer program. The CPU per ...
, such as the
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
and
Motorola 68010 The Motorola MC68010 processor is a 16/32-bit microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The ...
processors, and
SPARC SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed in ...
processors, unaligned memory accesses will result in an exception being raised (usually resulting in a software exception, such as
POSIX The Portable Operating System Interface (POSIX) is a family of standardization, standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application p ...
's SIGBUS, being raised).


Use by other devices

The
direct memory access Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system computer memory, memory independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed inpu ...
(DMA) feature allows other devices in the mother board besides the CPU to address the main memory. Such devices, therefore, also need to have a knowledge of physical addresses.


See also

* Address constant *
Addressing mode Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instruction ...
*
Address space In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a computer data storage, memory cell or other logical or physical entity. For software programs t ...
* Page address register *
Pointer (computer programming) In computer science, a pointer is an object (computer science), object in many programming languages that stores a memory address. This can be that of another value located in computer memory, or in some cases, that of Memory-mapped I/O, memo ...
*
Primary storage Computer data storage is a technology consisting of computer components and Data storage, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The central pro ...
, also known as ''main memory'' *
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 "cr ...
** Virtual address, also known as
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 ...
**
Page table A page table is the data structure used by a virtual memory system in a computer operating system to store the mapping between virtual addresses and physical addresses. Virtual addresses are used by the program executed by the accessing Process ( ...
**
Memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all computer memory, memory references passed through itself, primarily performing the translation of virtual address, virtua ...
(MMU) * Gray code addressing


References

{{Data types Computer memory Virtual memory Data types