0% found this document useful (0 votes)
12 views

3

Uploaded by

misushil55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

3

Uploaded by

misushil55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

A memory that is part of a control unit

is referred as a control memory.


The user’s program in main memory
consists of machine instructions and
data. In contrast, the control memory
holds a fixed microprogram that cannot
be altered by the user. The
microprogram consists of
microinstructions that specify various
internal control signals for execution of
register microoperations. Each machine
instruction initiates a series of
microinstructions in control memory.
The microinstructions generate the
microoperations to fetch the
instruction from main memory.
Address Sequencing (Microprogram Sequencer)
Microinstructions are stored in control memory in groups, with each group specifying a routine.
The transformation from the instruction code bits to an address in control memory where the
routine is located is referred as a mapping process.
Conditional Branching
The status bits, together with the field in the microinstruction specifies a branch address. The
control and decision generated in this process in known as conditional branching.
An unconditional branch microinstruction can be implemented by loading the branch address
form control memory into the control address register.
Subroutines
They are programs that are used by other routines to accomplish a particular task.
Microprograms that use subroutines must have a provision for storing the return address during
a subroutine call and restoring the address during subroutine return.
The address sequencing capabilities required in a control memory are:
Incrementing of the control address register.
Unconditional branch or conditional branch, depending on status bit conditions.
A mapping process from the bits of the instruction to an address for control memory.
A facility for subroutine call and return
Microprogram Example
Once the configuration of a computer and its
microprogrammed control unit is established, the
designer’s task is to generate the micro code for the
control memory. This code generation is called
microprogramming.
It consists of two memory units; a main memory for
storing instructions and data, and a control memory
for storing microprograms. The four processor
registers are PC, AR, DR and AC. The control unit has
CAR and SBR.
The transfer of information in the processor is done
through Multiplexers. DR can receive information from
AC, PC or memory. AR from PC or DR. PC only from AR.
The ALU performs microoperations with data from AC
and DR and places the result in AC. Input data written
to memory come from DR and data read from memory
can go only to DR.
Difference between Hardwired and Microprogrammed control unit
Design of Control Unit
The bits of the microinstruction are
usually divided into fields, with each
field defining distinct, separate
function. The fields provide control
bits to initiate microoperation in the
system, special bits to evaluate next
address and an address field for
branching. Each field requires a
decoder to produce the control
signals.
The encoding of control bits is done
by nine bits of microoperation fields
(F1, F2 and F3). The control memory
output of each subfield must be
decoded to provide the distinct
microoperations.
Each of the three fields are decoded with a 3X8 decoder to provide eight
outputs. Each of these outputs must be connected to the proper circuit to
initiate the corresponding microoperation.
For example, when F1= 101 (binary 5), the next clock pulse transition
transfers the content of DR(0-10) to AR (symbolized by DRTAR). Similarly,
when F1= 110 (binary 6) there is a transfer from PC to AR (symbolized by
PCTAR). Outputs 5 and 6 of decoder F1 are connected to the load input of
AR so that when either one of these outputs is active, information form
MUX is transferred to AR. Multiplexers select information from DR when
output 5 is active and from PC when output 5 is inactive. The transfer into
AR occurs with a clock pulse when output 5 or 6 are active.
In the ALU, instead of using gates (AND, ADD, DR) to generate the control
signals, these inputs will now come from outputs of decoders with symbols,
AND, ADD and DRTAC. The other outputs of decoders that are associated
with an AC operation must also be connected to arithmetic logic shift unit.
Questions
• What is control memory, and how is it used in computer architecture?
• How does address sequencing work in a computer system, and what are some common techniques
used for this purpose?
• Can you provide an example of a microprogram, and explain how it is used in the control unit of a
computer?
• What are the key considerations when designing a control unit for a computer system, and how do
these impact the overall performance and functionality of the system?
• How does the control unit interact with other components of a computer, such as the CPU, memory,
and I/O devices?
• What are some common challenges that arise when designing a control unit, and how can these be
addressed effectively?
• How do different programming languages and architectures impact the design and implementation of
a control unit?
• Can you explain the role of the control unit in executing instructions in a computer system, and how
this process is managed and optimized?
• What are some common techniques used for debugging and testing control units, and how can these
be applied effectively in practice?
• How do advances in technology and hardware impact the design and implementation of control units,
and what are some emerging trends in this field?

You might also like