Anda di halaman 1dari 3

Nanoprogramming If you examine microcode in a control store, you will find that some microinstruction words appear over

and over again; for example, an operation such as read a word from memory and put it in the MBR may be used by many micro instructions .It has been observed that out of the billions of possible micro instruction words only tiny fractions are found in any control store. Consequently, a modification of the conventional control store has been suggested the nano program store .The nano program store holds the actual microinstructions that are executed .These nano instructions are very wide .The control store itself contains a table of pointers to the microinstruction inthe nano program ROM. Consequently, nano programming uses a two-level store to save bits at the cost of speed. The figure illustrates the relationship between the mapping ROM, control store, and nano program ROM .

Nanoprogramming reduces the number of control bits require to interpret aninstruction set.Microinstructions are very long; for example

200 bits. This requires a largeamount of storage.However, of all the possible different microinstructions, a typical Micro program ROM contains only a tiny fraction of possible microinstructions. Microprogram memory: The microprogram memory (control ROM) is now much narrower because it contains pointers to the actual microinstructions Microinstructions register: The microinstruction register contains a short pointer that points tothe nanoinstruction memory. Nanoinstruction memory: The nanoinstruction memory contains the actual microinstructionsand is very wide. Nanoinstruction memory: The nanoinstruction memory contains the 120 unique 100-bitwidemicroinstructions. Example: A computer has an 8-bit op-code and defines 200 unique machine-level (macroinstructions). Each macroinstruction is implemented in terms of 4 microinstructions. A microinstruction is 150 bits wide. It is observed thatthere are only 120 unique microinstructions. (a) How many bits of controlstore in all its forms are required by this arrangement? (b) How many bitswould be required if nanoprogramming werent used? (a) There are 200 macroinstructions and each uses 4 microinstructions. Thisrequires 200 x 4 = 800 microinstructions.The mapping ROM has to select one of 800 microinstructions. This requiresa 10-bit address (2 10 = 1024). The mapping ROM takes an 8-bit op-code andselects a starting micro program address. This requires a 256 word x 10-bitROM (i.e., 2560 bits).There are 120 unique microinstructions each of which is 150 bits wide in thenanoprogram ROM; this is 120 x 150 = 18,000 bits.Because there are 120 microinstructions, it takes a 7-bit address to select oneof 120 microinstructions (2 7

= 128). The control store contains 800microinstructions, each requiring a 7-bit pointer which takes 800 x 7 = 5,600 bits.The total storage is 2,560 (mapping ROM) + 5,600 (control store) + 18,000(nanoprogram) = 26,160 bits. (b) If the system does not use nanoprogramming, the control store requires800 words x 150 bits = 120,000. The total number of bits is control store plus mapping ROM = 120,000 + 2,560 = 122,560 bits.

Anda mungkin juga menyukai