Difference between revisions of "Address"

From CDOT Wiki
Jump to: navigation, search
(Created page with 'Category:Computer Architecture{{Chris Tyler Draft}} An '''address''' is the numeric identifier for a memory location. The term may also be used for other storage allocation i…')
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[Category:Computer Architecture]]{{Chris Tyler Draft}}
+
[[Category:Computer Architecture]]
 
An '''address''' is the numeric identifier for a memory location. The term may also be used for other storage allocation identifiers -- for example, a '''logical block address''' on a disk identifies a block or sector on that disk using a unique number.
 
An '''address''' is the numeric identifier for a memory location. The term may also be used for other storage allocation identifiers -- for example, a '''logical block address''' on a disk identifies a block or sector on that disk using a unique number.
  
Line 7: Line 7:
  
 
It is not necessary to fully populate the address space -- a computer with a 32-bit address bus may only have 1GB of installed memory. Reading unpopulated memory locations will typically lead to undefined results.
 
It is not necessary to fully populate the address space -- a computer with a 32-bit address bus may only have 1GB of installed memory. Reading unpopulated memory locations will typically lead to undefined results.
 +
 +
On almost all modern systems, addresses refer to individual bytes within the memory system, but the memory is usually not physically arranged in bytes. See [[Computer_Architecture#Sub-word_and_Unaligned_Access|sub-word and unaligned access]] for more information.

Latest revision as of 10:04, 26 September 2019

An address is the numeric identifier for a memory location. The term may also be used for other storage allocation identifiers -- for example, a logical block address on a disk identifies a block or sector on that disk using a unique number.

Each memory location is identified by a unique numeric address. The maximum number of unique memory locations is dictated by the width of the address in bits; for example, a 32-bit address can refer to any of 232 addresses, limiting memory to 4GB.

Most modern CPUs with a memory management unit (MMU) separate physical memory addresses from virtual memory addresses -- in other words, they can renumber memory. This feature is usually used on a per-process basis by the operating system, to present a different view of memory to each process.

It is not necessary to fully populate the address space -- a computer with a 32-bit address bus may only have 1GB of installed memory. Reading unpopulated memory locations will typically lead to undefined results.

On almost all modern systems, addresses refer to individual bytes within the memory system, but the memory is usually not physically arranged in bytes. See sub-word and unaligned access for more information.