Byte addressing
This article needs additional citations for verification. (April 2017) |
Byte addressing in hardware architectures supports accessing individual
Background
The basic unit of digital storage is a
The advantage of word addressing is that more memory can be addressed in the same number of bits. The IBM 7094 has 15-bit addresses, so could address 32,768 words of 36 bits. The machines were often built with a full complement of addressable memory. Addressing 32,768 bytes of 6 bits would have been much less useful for scientific and engineering users. Or consider 32-bit x86 processors. Their 32-bit linear addresses can address 4 billion different items. Using word addressing, a 32-bit processor could address 4 Gigawords; or 16 Gigabytes using the modern 8-bit byte. If the 386 and its successors had used word addressing, scientists, engineers, and gamers could all have run programs that were 4x larger on 32-bit machines. However, word processing, rendering HTML, and all other text applications would have run more slowly.
When computers were so costly that they were only or mainly used for science and engineering, word addressing was the obvious mode. As it became cost-effective to use computers for handling text, hardware designers moved to byte addressing.
To illustrate why byte addressing is useful, consider the
Hybrid systems
Some systems with word addressing, such as the PDP-6/10 and the GE-600/Honeywell 6000 series, have special mechanisms for accessing bytes efficiently.
On the PDP-6/10, special instructions operated on a byte pointer which included a word address, a bit offset, and a bit width. The LDB/DPB instructions loaded or stored one byte, the IBP instruction incremented the byte pointer, and the ILDB/IDPB instructions incremented the byte pointer and then loaded or stored the next byte. These instructions could operate on arbitrary-width bit fields.
On the GE/Honeywell machines, special indirect addressing modes could be used on most instruction types, and operated on a byte pointer which could operate on either 6-bit or 9-bit bytes.[4]
Neither of these machines originally had direct machine support for random access to bytes; adjusting a byte pointer to point N bytes before or after the byte to which it currently pointed required a sequence of multiple instructions. The KL10 PDP-10 model extended the IBP instruction to become the "adjust byte pointer" instruction, ADJBP, that could adjust a byte pointer by an arbitrary number of bytes.[3]: 2-89–2-91
See also
References
- ^ "Wortmaschine" (in German). Archived from the original on 2017-04-09. Retrieved 2017-04-09.
- ^ Hansen, H. R. (1986). Wirtschaftsinformatik (in German). Vol. I (5 ed.). Stuttgart, Germany: Gustav Fischer. p. 125.
- ^ a b DECsystem-10/DECSYSTEM-20 Processor Reference Manual (PDF). Digital Equipment Corporation. June 1982. AD-H391A-T1.
- ^ GE-625/635 Programming Reference Manual (PDF). General Electric. July 1969. pp. 169, 171–172.