Information Technology Reference
In-Depth Information
... ) are used to execute a certain instruction. The op-code field of a
fetched instruction is decoded to provide the control signal generator with infor-
mation about the instruction to be executed. Step information generated by a
logic circuit module is used with other inputs to generate control signals. The
signal generator can be specified simply by a set of Boolean equations for its
output in terms of its inputs. Figure 5.7 shows a block diagram that describes how
timing is used in generating control signals.
There are mainly two different types of control units: microprogrammed and
hardwired. In microprogrammed control, the control signals associated with oper-
ations are stored in special memory units inaccessible by the programmer as control
words. A control word is a microinstruction that specifies one or more micro-
operations. A sequence of microinstructions is called a microprogram, which is
stored in a ROM or RAM called a control memory CM.
In hardwired control, fixed logic circuits that correspond directly to the Boolean
expressions are used to generate the control signals. Clearly hardwired control is
faster than microprogrammed control. However, hardwired control could be very
expensive and complicated for complex systems. Hardwired control is more econ-
omical for small control units. It should also be noted that microprogrammed control
could adapt easily to changes in the system design. We can easily add new instruc-
tions without changing hardware. Hardwired control will require a redesign of the
entire systems in the case of any change.
(t 0 , t 1 , t 2 ,
Example 1
Let us revisit the add operation in which we add the contents of source
registers R 1 , R 2 , and store the results in destination register R 0 . We have shown
earlier that this operation can be done in one step using the three-bus datapath
shown in Figure 5.5.
Let us try to examine the control sequence needed to accomplish this addition
at step t 0 . Suppose that the op-code field of the current instruction was decoded to
Inst-x type. First we need to select the source registers and the destination register,
then we select Add as the ALU function to be performed. The following table
shows the needed step and the control sequence.
Step
Instruction type
Micro-operation
Control
t 0
Inst-x
R 0 (R 1 ) รพ (R 2 )
Select R 1 as source 1 on
out-bus1 (R 1 out-bus1)
Select R 2 as source 2 on
out-bus2 (R 2 out-bus2)
Select R 0 as destination
on in-bus (R 0 in-bus)
Select the ALU function
Add (Add)
Figure 5.8 shows the signals generated to execute Inst-x during time period t 0 .
The AND gate ensures that these signals will be issued when the op-code is decoded
into Inst-x and during time period t 0 . The signals (R 1 out-bus 1), (R 2 out-bus2),
Search WWH ::




Custom Search