Word-addressable

Last updated

Word-addressable is a computer architecture term.

Word addressable main memory Word-addressable-memory.png
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 as 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

Related Research Articles

Intel 8086 16-bit microprocessor

The 8086 is a 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 data bus, and is notable as the processor used in the original IBM PC design.

Microcode is a processor design technique that interposes a layer of computer organization between the CPU hardware and the programmer-visible instruction set architecture of the computer. As such, the microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal state machine sequencing in many digital processing elements. Microcode is used in general-purpose central processing units, although in current desktop CPUs, it is only a fallback path for cases that the faster hardwired control unit cannot handle.

In computing, endianness is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most significant byte of a word at the smallest memory address and the least significant byte at the largest. A little-endian system, in contrast, stores the least-significant byte at the smallest address. Endianness may also be used to describe the order in which the bits are transmitted over a communication channel, e.g., big-endian in a communications channel transmits the most significant bits first. Bit-endianness is seldom used in other contexts.

In computer architecture, 8-bit integers, memory addresses, or other data units are those that are 8 bits wide. Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. '8-bit' is also a generation of microcomputers in which 8-bit microprocessors were the norm.

In computer science, an instruction set architecture (ISA) is an abstract model of a computer. It is also referred to as architecture or computer architecture. A realization of an ISA, such as a central processing unit (CPU), is called an implementation.

Harvard architecture computer architecture where code and data each have a separate bus

The Harvard architecture is a computer architecture with separate storage and signal pathways for instructions and data. It contrasts with the von Neumann architecture, where program instructions and data share the same memory and pathways.

In computer architecture, 32-bit integers, memory addresses, or other data units are those that are 32 bits wide. Also, 32-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. 32-bit microcomputers are computers in which 32-bit microprocessors are the norm.

In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on processor registers, address buses, or data buses of that size. 64-bit microcomputers are computers in which 64-bit microprocessors are the norm. From the software perspective, 64-bit computing means the use of machine code with 64-bit virtual memory addresses. However, not all 64-bit instruction sets support full 64-bit virtual memory addresses; x86-64 and ARMv8, for example, support only 48 bits of virtual address, with the remaining 16 bits of the virtual address required to be all 0's or all 1's, and several 64-bit instruction sets support fewer than 64 bits of physical memory address.

In computing, a bus error is a fault raised by hardware, notifying an operating system (OS) that a process is trying to access memory that the CPU cannot physically address: an invalid address for the address bus, hence the name. In modern use on most architectures these are much rarer than segmentation faults, which occur primarily due to memory access violations: problems in the logical address or permissions.

Memory address

In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as unsigned integers. Such numerical semantic bases itself upon features of CPU, as well upon use of the memory like an array endorsed by various programming languages.

Instruction cycle

The instruction cycle is the cycle that the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions. It is composed of three main stages: the fetch stage, the decode stage, and the execute stage.

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 instructions in that architecture identify the operand(s) of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in registers and/or constants contained within a machine instruction or elsewhere.

A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost to access data from the main memory. A cache is a smaller, faster memory, located closer to a processor core, which stores copies of the data from frequently used main memory locations. Most CPUs have a hierarchy of multiple cache levels, with separate instruction-specific and data-specific caches at level 1.

36-bit computing

In computer architecture, 36-bit integers, memory addresses, or other data units are those that are 36 bits wide. Also, 36-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size. 36-bit computers were popular in the early mainframe computer era from the 1950s through the early 1970s.

The Super Harvard Architecture Single-Chip Computer (SHARC) is a high performance floating-point and fixed-point DSP from Analog Devices. SHARC is used in a variety of signal processing applications ranging from single-CPU guided artillery shells to 1000-CPU over-the-horizon radar processing computers. The original design dates to about January 1994.

Byte addressing refers to hardware architectures which support accessing individual bytes. Such computers are sometimes called byte machines This is in contrast to word-addressable architectures, word machines, that access data in terms of larger units called words.

In computing, a word is the natural unit of data used by a particular processor design. A word is a fixed-sized piece of data handled as a unit by the instruction set or the hardware of the processor. The number of bits in a word is an important characteristic of any specific processor design or computer architecture.

Joel McCormack is the designer of the NCR Corporation version of the p-code machine, which is a kind of stack machine popular in the 1970s as the preferred way to implement new computing architectures and languages such as Pascal and BCPL. The NCR design shares no common architecture with the Pascal MicroEngine designed by Western Digital but both were meant to execute the UCSD p-System.[1,2]

An instruction set architecture (ISA) is an abstract model of a computer, also referred to as computer architecture. A realization of an ISA is called an implementation. An ISA permits multiple implementations that may vary in performance, physical size, and monetary cost ; because the ISA serves as the interface between software and hardware. Software that has been written for an ISA can run on different implementations of the same ISA. This has enabled binary compatibility between different generations of computers to be easily achieved, and the development of computer families. Both of these developments have helped to lower the cost of computers and to increase their applicability. For these reasons, the ISA is one of the most important abstractions in computing today.

In computer architecture, 256-bit integers, memory addresses, or other data units are those that are 256 bits wide. Also, 256-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.

References

  1. "Computer Science Tutorial" . Retrieved 2020-12-16.
  2. "Wortmaschine" (in German). Archived from the original on 2017-04-09. Retrieved 2017-04-09.
  3. Hansen, H. R. (1986). Wirtschaftsinformatik (in German). I (5 ed.). Stuttgart, Germany: Gustav Fischer. p. 125.