Control Unit

Calculating CPI

Using the program benchmark GCC (a C compiler) we record the following instruction mix :
load 21%
store 12%
ALU 37%
set 6%
jump (uncond) 2%
jump taken 12%
jump notaken 10%
CPI for S1 with hardwired control unit will be 5.23
(6 x .21 + 6 x .12 + 5 x .37 + 5 x .06 + 5 x .02 + 5 x .12 + 4 x .10)
CPI for S1 with microprogram control unit will be 5.35
(6 x .21 + 7 x .12 + 5 x .37 + 5 x .06 + 5 x .02 + 5 x .12 + 4 x .10)
 Microprogram takes the time longer for "store", therefore its CPI is slightly higher.  For the simulation run of sum.asm program CPI hardwired = 5.37, and CPI microprogram = 5.46

Conclusion

As the history tells us, the microprocessor followed the same trend as earlier computer designs.  Because of the limit of resource (the number of transister in a chip), hardwired control was implemented and the instruction set architecture was toward a simple design.  The advantage of simpler design for control unit and ease of change popularised microprogramming.  Microprogram made it possible to achieve more complex instruction sets.  With a much larger micro memory a machine as elaborate as the VAX is possible.  In 1984, DEC wanted to offer a cheaper machine with the same instruction set as VAX.  They reduced the instructions interpreted by microcode by trapping some instructions and performing them in software.  They discovered that 20% of VAX instructions occupied 60% of the microcode, and yet they are used (executed) only 0.2% of the time.  Their simpler subsetted of VAX, called MicroVAX-1, implemented 80% of VAX instruction in microcode, other 20% is trapped to software, has the size of micromemory reduced from 480K (VAX) to 64K, and perform 90% of the performance of VAX-11/780.  This is also an evidence toward a new thinking in instruction set design.