Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Memory address
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Word size versus address size=== [[Word (computer architecture)|Word]] size is a characteristic of [[computer architecture]] denoting the number of bits that a CPU can process at one time. Modern processors, including [[embedded systems]], 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]]" also usually allows 32-bit memory addresses; a byte-addressable 32-bit computer can address 2<sup>32</sup> = 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]] processors, such as the [[MOS Technology 6502]], [[MOS Technology 6502#Technical description|supported 16-bit addresses]]β if not, they would have been limited to a mere 256 [[byte]]s of memory addressing. The 16-bit [[Intel 8088]] and [[Intel 8086]] supported 20-bit addressing via [[Intel 8086#Segmentation|segmentation]], allowing them to access 1 MiB rather than 64 KiB of memory. All Intel [[Pentium (brand)|Pentium]] processors since the [[Pentium Pro]] include [[Physical Address Extension]]s (PAE) which support mapping 36-bit physical addresses to 32-bit virtual addresses. Many early [[LISP]] implementations on, e.g., [[36-bit]] processors, held 2 addresses per word as the result of a [[cons]]. Some early processors held 2 and even 3 addresses per instruction word. In theory, modern byte-addressable [[64-bit]] computers can address 2<sup>64</sup> bytes (16 [[exbibyte]]s), but in practice the amount of memory is limited by the CPU, the [[memory controller]], or the [[printed circuit board]] design (e.g., number of physical memory connectors or amount of soldered-on memory).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)