Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

THE INVENTION OF MICROPROGRAMMING

Microprogramming
A means of programming the central
processing unit of a computer by breaking
down instructions into a series of small steps.
Microprogram
A built-in program within a microprocessor,
consisting of a series of arithmetic and logic
steps that enable basic instructions to be carried
out.
THE INVENTION OF MICROPROGRAMMING
The first digital computers, back in the 1940s,
had only two levels: the ISA level, in which all
the programming was done, and the digital
logic level, which executed these programs.
The digital logic level’s circuits were
complicated, difficult to understand and build,
and unreliable.
THE INVENTION OF
MICROPROGRAMMING
In 1951, Maurice Wilkes, a researcher at the University
of Cambridge, suggested the idea of designing a
three-level computer in order to drastically simplify the
hardware.
This machine was to have a built-in, unchangeable
interpreter (the microprogram), whose function was to
execute ISA-level programs by interpretation.
Because the hardware would now only have to execute
microprograms, which have limited instruction set, instead
of ISA-level programs, which have a much larger instruction
set, fewer electronic circuits would be needed.
THE INVENTION OF MICROPROGRAMMING
Because electronic circuits were then made from
vacuum tubes in the 1940s, such a simplification
promised to reduce tube count and hence enhance
reliability.

8 Vacuum Tubes can


store 8 bits.
Vacuum Tube
ENIAC (1946)
THE INVENTION OF MICROPROGRAMMING
A few of these three-level machines were
constructed during the 1950s. More were
constructed during the 1960s by 1970 the idea
of having the ISA level be interpreted by a
microprogram, instead of directly by the
electronics, was dominant.
THE INVENTION OF MICROPROGRAMMING
Microinstructions are low-level control
instructions. Each microinstructions defines the
set of datapath control signals that must be
asserted in a given state. Executing a
microinstruction has the effect of asserting the
control signals specified by the microinstruction.
Datapath
The component of the processor that
performs arithmetic operations.
THE INVENTION OF MICROPROGRAMMING
Designing the control as a program that
implements the machine instructions in terms of
simpler microinstructions is called
microprogramming.
The key idea is to represent the asserted values
on the control lines symbolically, so that the
microprogram is a representation of the
microinstructions, just as assembly language is a
representation of the machine instructions.
Microprogamming simplifies the control design.
MICROPROGRAM EXAMPLE
A control unit is the most complex part in a processor. It
sends control signals to activate the datapath of a processor.
MICROPROGRAM EXAMPLE
A control unit can be implemented in either hardwired or
microprogram. A hardwired control unit is a large FSM
(finite state machine) sending control signals to datapath.
Hardwired
Directly wired or physically connected into the computer.
A microprogrammed control unit is a complex
programmable unit that outputs control signals to datapath
according to its "microprogram".
A microprogrammed control unit can be regarded as a
simple computer. In this view, a processor has another simple
processor inside it which is its control unit. Controlling a data
path is described by its microprogram.
HARDWIRED CU AND MICROPROGRAM CU
DATAPATH
A microprogram is executed as follows.
1. A microword at the location specified by the microprogram counter is read out;
control bits are latched at an output buffer which is connected to the data path.
2. If the conditional field is specified and the test for conditional is true, the next
address of microprogram will come from the next address field otherwise the
microprogram counter will be incremented (execute the next microword).
Example Microprogram for the Datapath
fetch:
PC -> MAR
Mread -> MBR
MBR -> IR
PC + 1
decode (goto add:)
execute
add:
R[r2] + R[r3] -> T
T -> R[r1]
goto fetch:
ADVANTAGES OF MICROPROGRAMMING
Making change to a hardwired control unit implies global
change, that is, the circuit will be almost totally changed.
Hence, it is costly and time consuming although the
present CAD tools do reduce most of the burden in this area.
In contrary, for a microprogrammed control unit, making
change to it is just changing the microprogram, the bit
pattern in the micromemory.
There is tools to generate these bit content from a
human-readable microprogram, hence making change to
microprogram is similar to edit-compile a program. The
circuit for control unit does not change. This enables
adding new instructions, modifies addressing mode, etc.
or updating the version of control behavior easy to do.
DISADVANTAGES OF MICROPROGRAMMING
Microprogram relies on fast micromemory. It requires
high speed memory. In fact, the architect of early
microprogrammed machine, IBM S360 family,
depended on this crucial technology, which was still in
the development at that time. The breakthrough in
memory technology came, and S360 became the most
successful family of computers.
Hardwired control unit is much faster.
Microprogramming is inherently very low level, making
it hard to be absolutely correct. Microprogramming is
by nature concurrent, many events occur at the
same time, so it is difficult to develop and debug.
I posted your 5th assignment in our Google Classroom. Please
answer and accomplish it!

END OF LECTURE

You might also like