nanoprogramming extending microprogramming. microprogramming the microprogram counter contains the...

13
Nanoprogramming Extending microprogramming

Upload: lorin-mccarthy

Post on 17-Jan-2018

225 views

Category:

Documents


1 download

DESCRIPTION

Microprogramming The microprogram memory contains all the microinstructions. Each machine level instruction is interpreted by one or more microinstructions.

TRANSCRIPT

Page 1: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Extending microprogramming

Page 2: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Microprogramming

Microprogram counter

M icroprogram mem ory

Microinstruction register

The microprogram counter containsThe address of the next microinstruction to be executed.

Page 3: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Microprogramming

Microprogram counter

Microprogram memory

Microinstruction register

The microprogram memory contains all the microinstructions.Each machine level instruction is interpreted by one or more microinstructions.

Page 4: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Microprogramming

Microprogram counter

Microprogram mem ory

Microinstruction register

If there are n machine-level instructions and each instruction is interpreted by m microinstructions, the size of the microprogram ROM is n.m lines.

Page 5: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Microprogramming

Microprogram counter

M icroprogram m emory

Microinstruction register

The microinstruction register holds the bits of the current microinstruction. If this is p bits wide, the total size of the microprogram memory in bits is n.m.p

Page 6: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Microprogramming

Microprogram counter

M icroprogram mem ory

Microinstruction register

This structure requires a lot of fast microinstruction storage. For example, if there are 512 machine-level instructions, and each instruction is interpreted by four 200-bit microinstructions, the size of the ROM is

512 x 4 x 200 = 409,600 bits (51,200 bytes)

Page 7: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram memory

M icro instruction register

Nanoinstruction Memory

Nanoinstruction register

Microinstructions are very long; for example 200 bits. This requires a large amount of storage.

However, of all the possible different microinstructions, a typical Microprogram ROM contains only a tiny fraction of possible microinstructions.

Nanoprogramming reduces the number of control bits require to interpret an instruction set.

Page 8: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram m em ory

M icroinstruction register

Nanoinstruction Memory

Nanoinstruction register

The microprogram memory (control ROM) is now much narrower because it contains pointers to the actual microinstructions.

Page 9: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram m em ory

M icroinstruction register

Nanoinstruction Memory

Nanoinstruction register

The microinstruction register contains a short pointer that points to the nanoinstruction memory.

Page 10: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram memory

M icro instruction register

Nanoinstruction Memory

Nanoinstruction register

The nanoinstruction memory contains the actual microinstructions and is very wide.

Page 11: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram m em ory

M icroinstruction register

Nanoinstruction Memory

Nanoinstruction register

Suppose that a microinstruction is 200 bits wide and that the microprogram memory contains only 120 unique microinstructions.

Thus, out of 2200 possible microinstructions, only 120 are actually used.

Each microinstruction in the control ROM cam be replaced by a pointer that requires only 7 bits.

27 = 128 < 120

Page 12: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram m em ory

M icroinstruction register

Nanoinstruction Memory

Nanoinstruction register

The nanoinstruction memory contains the 120 unique 100-bit-wide microinstructions.

Page 13: Nanoprogramming Extending microprogramming. Microprogramming The microprogram counter contains The address of the next microinstruction to be executed

Nanoprogramming

Microprogram counter

M icroprogram m em ory

M icroinstruction register

Nanoinstruction Memory

Nanoinstruction register

Let’s use the previous example, with 512 machine-level instructions, where each instruction is interpreted by four 200-bit microinstructions. The size of the control ROM without nanoprogramming is 512 x 4 x 200 = 409,600 bits (51,200 bytes)

With nanoprogramming (and assuming 120 unique microinstructions) the control ROM now requires 512 x 4 x 7 = 2048 x 7 = 14,336 bits because the 200-bit microinstruction has been replaced by a 7-bit pointer.

The nanoinstruction memory contains 120 200-bit microinstructions or 120 x 200 = 24,000 bits.

The total size of the read-only memory is the sum of the microinstruction memory and nanoinstruction memories or 14,336 + 24,000 = 38,336 bits (4,792 bytes).

Nanoprogramming has reduced the storage requirement by a factor of 10