MicroArchitecture
Introduction
This lecture note is based on Andrew S. Tanenbaum's textbook "Structured Computer Organization"
(ISBN 0-13-854662-2) Prentice Hall. I enjoy and admire his style of writing, especially, the
chapter on "The Microprogramming Level", for its clarity and depth.
My own version of MicroArchitecture (with Lab Exercises) will be published here in this Website
at a later date.
Tanenbaum's Processor
The data path
The following shows flow of data between sixteen 16 bit registers, MAR, MBR, 16 bit ALU
with a Shifter, A Latch, B Latch and a multiplexer, AMUX, through three data buses, A, B, C.
Click a part of the schematic to have a closer look at data flow control signals.
Micro Instructions
Micro instructions are designed to control the data flow. Each 32 bit micro instruction defines all
the control signals in the above schematic, thus controlling an operation (one complete cycle) of the processor.
The data structure of a micro instruction is given by:
| Bit | 31 | 30,29 | 28,27 | 26,25 | 24 | 23 | 22 | 21 | 20 | 19,18,17,16 | 15,14,13,12 | 11,10,9,8 | 7,6,5,4,3,2,1,0 |
| Signal | AMUX | COND | ALU | Shift | MBR | MAR | RD | WR | ENC | C Bus | B Bus | A Bus | ADDR |
| 0:Alatch | 0:No jump | 0:A+B | 0:No shift | 0:No | 0:No | 0:No | 0:No | 0:No | |||||
| 1:MBR | 1:Jump if N=1 | 1:A&B | 1:shift right | 1:Yes | 1:Yes | 1:Yes | 1:Yes | 1:Yes | |||||
| 2:Jump if Z=1 | 2:A | 2:shift left | |||||||||||
| 3:Jump always | 3:Not(A) | 3:(Not used) |