Sunteți pe pagina 1din 12

Overview

So far in the course, we have looked at the


processor design and assumed that the
control portion worked (somehow)
In this section, we will
EE 4504 – Survey the control unit operation
– Highlight design methods using
Computer Organization » Hardwired control
» Microprogrammed control
Reading:
Section 10 – Chapter 14 -- Review. Basic concepts covered
in EE 2504
Control Unit Overview
– Chapter 15
» Read Sec. 15.1
» Scan Sec 15.2, 15.3, 15.5
» Omit Sec 15.4

EE 4504 Section 10 1 EE 4504 Section 10 2

1
Control Unit Function

We have already seen that General layout of a control unit is shown


– Programs are executed as a sequence of below
instructions
– Each instruction consists of a series of steps
that make up the instruction cycle -- fetch,
decode, etc.
Each of these steps are, in turn, made up of
a smaller series of steps called
microoperations
Thus, the control unit operation can be
defined by
– Defining the elements of the CPU
– Defining the microoperations the CPU performs
– Determining the functions the control unit must
perform to cause the execution of the
microoperations in the desired time sequence
» Sequencing
» Execution
Figure 14.4 Control unit layout
EE 4504 Section 10 3 EE 4504 Section 10 4

2
Microoperations

Each step of the instruction cycle can be Control unit design is then the collection
decomposed into microoperation and the implementation of all of the
primitives that are performed in a precise needed control signals
time sequence
– Instruction fetch:
t1: MAR <-- (PC)
t2: MBR <-- memory
PC <-- PC+1
t3: IR <-- (MBR)
– Add R1, X
t1: MAR <-- (IR(address))
t2: MBR <-- memory
t3: R1 <-- (R1) + (MBR)
Each microoperation is initiated and
controlled based on the use of control
signals / lines coming from the control unit
– Cause data to move from one register to another
– Activate specific ALU functions
Figure 14.5 Data paths and control signals

EE 4504 Section 10 5 EE 4504 Section 10 6

3
Two approaches
– Hardwired logic
» Control unit is viewed as a sequential logic
circuit
» Used to generate fixed sequences of control
signals
» Implemented using any of a variety of
“standard” digital logic techniques
» Principle advantages
High(er) speed operation
Smaller implementations (component
counts)
» Modifications to the design can be hard to
do
» Favored approach in RISC style designs

Figure 14.10 Control unit with decoded inputs

EE 4504 Section 10 7 EE 4504 Section 10 8

4
Hardwired approach

– Microprogrammed control unit Three general design approaches


» Control signal values for each – Traditional “state-table” method from a digital
microoperation are stored in a memory logic course
device -- the control store » Can produce the minimum component
» Reading the contents of the control store in design
a prescribed order is equivalent to » Complex design that may be hard to modify
sequencing through the microoperations
– Clocked delay element
» Since the “program” of microoperations
and their control signal values are stored in » Straight-forward layout based on flowchart
memory, microprogrammed units of the intruction implementation
» Requires more delay elements (flip flops)
Are more systematic with a well
than are really needed
defined format
– Sequence counter approach
Can be easily modified during the
design process » Polyphase clock signals are dervied from
the master clock using a standard counter-
Require more components to
decoder approach
implement
Tend to be slower than hardwired units » These signals are applied to the
(due to having to perform memory read combinational portion of the circuit
operations) Example: load register B (control signal
C12)
– C12 = T4I3 +T5I6Z +T6I24P
EE 4504 Section 10 9 EE 4504 Section 10 10

5
Microprogramming

The concept of microprogramming was Modern microprogrammed control units


developed by Maurice Wilkes in 1951, have replaced the diode matrices with
using diode matrices for the memory standard memory components
element – The control unit operates by performing
consecutive control storage reads to generate
the next set of control function outputs
Performing the series of control memory
accesses is, in effect, executing a program
for each instruction in the machine’s
instruction set -- hence the term
microprogramming
The control unit appears to be a complete
computer within the larger computer --
with all of its problems
– How do you specify the next microinstruction
to be executed?
– How are branches handled?
Figure 15.5 Wilkes’ microprogrammed control unit

EE 4504 Section 10 11 EE 4504 Section 10 12

6
Figure 15.7 Simple microprogrammed control unit Figure 15.6 More complex unit
EE 4504 Section 10 13 EE 4504 Section 10 14

7
For the typically large microprocessor Most modifications to the basic design of a
systems today, there are microprogrammed control unit have been
– Many instructions and and associated register- concerned with the word length
level hardware Length is based on 3 factors
– Many control point to be manipulated
– Maximum number of simultaneous
This can result in a control memory that microoperations that must be supported
– Contains a large number of words -- – The was the control information is represented
cooresponding to the number of instructions to or encoded
be executed – The way in which the next microinstruction
– Has a wide word width -- due to the large address is specified
number of control points to be manipulated Designer must choose the parallel “power”
of each instruction
– Each microinstruction specifies a single (or
few) microoperations to be performed (vertical
microprogramming)
– Each microinstruction specifies many different
microoperations to be performed in parallel
(horizontal microprogramming)

EE 4504 Section 10 15 EE 4504 Section 10 16

8
Vertical microprogramming
– Width is narrow: n control signals can be
encoded into log2n control bits
– Limited ability to express parallelism
– Considerable encoding of control information
requires external memory word decoder to
identify the exact control line being
manipulated
Horizontal microprogramming
– Wide memory word
– High degree of parallel operations are possible
– Little to no encoding of control information
Compromise
– Divide control signals into disjoint groups
– Implement each group as a separate field in the
memory word
– Supports reasonable levels of parallelism
without too much complexity
Control field formats [Hay88]

EE 4504 Section 10 17 EE 4504 Section 10 18

9
Second compromise: nanoprogramming
– Use a 2-level control storage organization
– Top level is a vertical format memory
» Output of the top level memory drives the
address register of the bottom (nano-level)
memory
– Nanomemory uses the horizontal format
» Produces the actual control signal outputs
– The advantage to this approach is significant
saving in control memory size (bits)
– Disadvantage is more complexity and slower
operation (doing 2 memory accesses fro each
microinstruction)

Nanoprogrammed machine [Hay88]

EE 4504 Section 10 19 EE 4504 Section 10 20

10
– Example: Supppose that a system is being Microprogramming application: emulation
designed with 200 control points and 2048 – The use of a microprogram on one machine to
microinstructions execute programs originally written to run on
– Assume that only 256 different combinations of another (different!) machine
control points are ever used – By changing the microcode of a machine, you
– A single-level control memory would require can make it execute software from another
2048x200=409,600 storage bits machine
– A nanoprogrammed system would use – Commonly used in the past to permit new
» Microstore of size 2048x8=16k machines to continue to run old software
» Nanostore of size 256x200=51200 » VAX11-780 had 2 “modes”
» Total size = 67,584 storage bits Normal 11-780 mode
Emulation mode for a PDP-11
– The Nanodata QM-1 machine was marketed
Nanoprogramming has been used in many with no native instruction set!
CISC microprocessors » Universal emulation engine

EE 4504 Section 10 21 EE 4504 Section 10 22

11
Summary

This section has oveviewed the operation


and the design of the control unit
Hardwired and microprogramming
techniques discussed
– Basic operation of each
– Advantages and disadvantages of each
– “Costs” associated with each

EE 4504 Section 10 23

12

S-ar putea să vă placă și