Word-addressable

From HandWiki
Revision as of 04:01, 27 October 2021 by imported>WikiG (linkage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Word-addressable is a computer architecture term.

Word addressable main memory

When the cell size is designed based on the word length of the CPU, then the respective address space is called word addressable.

In computer architecture, a word is an ordered set of bytes or bits that is the normal unit in which information may be stored, transmitted, or operated on within a given computer.

It can also be defined as, a memory word is certain bytes that bidirectional data bus can carry at a time. Say, size of the data bus is 16 bits, it means it can carry a maximum of 16 bits of data at a time. In such case we can say that word size is 2 bytes. And such a technique is called word addressable memory.[1] In a 32 bit machine, size of the data bus is 32 bits or 4 bytes. So, a 32 bit machine has word size of 4 bytes. In such machine cpu can read write 4 bytes of data at a time from main memory. A reference to address 0 will read/write first 4 bytes of main memory that is bytes 0 to bytes 3. Similarly, address 1 will fetch bytes 4-7 and so on.

In word addressable we need two registers Memory address register(MAR) and Memory data register(MDR). The size of these register depends upon the computer architecture. Say, we take an example of 32 bit machine having 4 GB RAM. In this case the size of MAR and MDR are 32 bit and same is the size of the data bus. When cpu is on to fetch any data or instruction from memory, it places the 32 bit memory address into MAR. This address is then used to calculate the address of memory word in main memory. Since, the size of memory word is 4 bytes. A 4 GB ram will have 1 GB memory words and to address 1 GB memory words in the main memory we need only 30 bits. So, two higher order bits of 32 bit memory address are generally discarded to make it a 30 bit address and placed in the MAR. Using this 30 bit address a certain memory word is chosen. Address 0 points to first memory word that is bytes 0-3, address 1 points second word that is, bytes 4-7 and so on. After the respective memory word is fetched it is placed in the data bus and gets stored in the MDR. Now, CPU can work on this data.

If a computer's memory is word-addressable then each word in memory is assigned its own memory address. This means that the processor is able to address and fetch only complete words from the memory. Such computers are sometimes called word machines[2] (in contrast to byte machines[3]).

Typically, if a processor has a fixed-length instruction set, then the instruction length equals the word length.

See also

References

  1. "Computer Science Tutorial" (in English). https://www.bncacademy.in/tutorial/byte-vs-word-addressable.html. 
  2. "Wortmaschine" (in German). http://www.economia48.com/deu/d/wortmaschine/wortmaschine.htm. 
  3. (in German) Wirtschaftsinformatik. I (5 ed.). Stuttgart, Germany: Gustav Fischer. 1986. p. 125.