Microprogram memory

from Wikipedia, the free encyclopedia

A microprogram memory is a read-only memory or a volatile memory area of ​​a processor in which the microprogram of a microprogram control unit is stored in binary form as microcode .

construction

In the simplest case, the microcode is formed from n microinstructions of the binary word length m , i. that is, the microprogram memory comprises exactly n × m bits. The microinstruction memory is usually only used for reading the microinstructions and can be designed as a read-only memory (ROM). For the purpose of subsequent optimization of the microcode, it is advantageous to design the microprogram memory as a volatile memory. This memory area is used by the microprogram control unit to read microinstructions for controlling the arithmetic logic unit. The access speed is adapted to the processor computing power. The microprogram memory and the microprogram control and arithmetic logic unit are therefore located on the same processor chip with the shortest possible connection. The microprogram memory is accessed by microinstruction with the bit length m , not necessarily in multiples of the size of a byte (8 bits). Accordingly, the microprogram memory is primarily to be understood as a bit or microinstruction word addressable memory.

Common memory sizes are between 50… 500 kBit, the word width of a microinstruction between m  = 10… 100, the microprogram  address space between n = 3k… 24k. The size of the microcode address space consequently depends on how many microinstructions are required on average to convert a machine instruction (OpCode) into microinstructions; the word length depends on how complex the simultaneously running microprogram control is designed.

Typical memory sizes of microcode-programmable mainframes from 1960 to 1980 are:

  • IBM 360 (models 30, 40, 50, 65): 8k × 50, 4k × 56, 2.75 × 88, 2.75k × 100
  • IBM 370 (models 145, 155, 165, 125): 16k × 32, 8k × 72, 2.5k × 108, 20k × 22
  • Siemens 4004 (model 45, 151): 4k × 56, 3k × 72
  • PDP-11 (models 05, 40, 45, 70): 0.25k × 40, 0.25k × 56, 0.25k × 65, 0.25k × 65

The importance of the microprogram memory as a microcode memory for controlling a virtual arithmetic unit is explained in a didactic way with the microcode simulator MikroSim . The estimated size of the microprogram memory for 1024 instructions with 49 bits each is 49 kBit (1k × 49 bit).

literature

  • R. Hoffmann: Computer design: arithmetic units, micro-programming, RISC. 3. Edition. Oldenbourg, Munich 1993, ISBN 978-3-486-22174-9 (especially Chapter 5: Microprogramming).

Web links