Blog

CPU Control Unit Design

CONTROL UNIT

CPU is partitioned into Arithmetic Logic Unit (ALU) and Control Unit (CU). The function of control unit is to generate relevant timing and control signals to all operations in the computer. It controls the flow of data between the processor and memory and peripherals.

FUNCTIONS OF CONTROL UNIT

The control unit directs the entire computer system to carry out stored program instructions. The control unit must communicate with both the arithmetic logic unit (ALU) and main memory. The control unit instructs the arithmetic logic unit that which logical or arithmetic operation is to be performed. The control unit co-ordinates the activities of the other two units as well as all peripherals and auxiliary storage devices linked to
the computer.

DESIGN OF CONTROL UNIT

Control unit generates control signals using one of the two organizations:

  • Hardwired Control Unit
  • Micro-programmed Control Unit

HARDWIRED CONTROL UNIT

It is implemented as logic circuits (gates, flip-flops, decoders etc.) in the hardware. This organization is very complicated if we have a large
control unit. In this organization, if the design has to be modified or
changed, requires changes in the wiring among the various components. Thus the modification of all the combinational circuits may be very difficult.

ADVANTAGES of HARDWIRED CONTROL UNIT

  • Hardwired Control Unit is fast because control signals are generated by combinational circuits.
  • The delay in generation of control signals depends upon the number of gates.

DISADVANTAGES of HARDWIRED CONTROL UNIT

  • More is the control signals required by CPU; more complex will be the design of control unit.
  • Modifications in control signal are very difficult. That means it requires rearranging of wires in the hardware circuit.
  • It is difficult to correct mistake in original design or adding new feature in existing design of control unit.

ARCHITECTURE OF HARDWIRED CONTROL UNIT

Hardwired Control unit consists of an Instruction Register, Number of Control Logic Gates, Two Decoders and 4-bit Sequence Counter. An instruction read from memory is placed in the instruction register (IR). The instruction register is divided into three parts: the I bit, operation code, and address part. First 12-bits (0-11) to specify an address, next 3-bits specify
the operation code (opcode) field of the instruction and last left most bit specify the addressing mode I.

I = 0 for direct address
I = 1 for indirect address

First 12-bits (0-11) are applied to the control logic gates. The operation code bits (12 – 14) are decoded with a 3 x 8 decoder. The eight outputs ( D0 through D7) from a decoder goes to the control logic gates to perform specific operation. Last bit 15 is transferred to a I flip-flop designated by symbol I.

The 4-bit sequence counter SC can count in binary from 0 through 15.
The counter output is decoded into 16 timing pulses T0 through T15.
The sequence counter can be incremented by INR input or clear by CLR input synchronously.

For example:
Consider the case where SC is incremented to provide timing signalsT0, T1, T2 , T3, and T4 in sequence. At time T4 , SC is cleared to 0 if decoder output D3 is active. This is expressed symbolically by the statement:
D3 T4 : SC ← 0
The timing diagram shows the time relationship of the control signals.

TIMING DIAGRAM

MICRO-PROGRAMMED CONTROL UNIT

A micro-programmed control unit is implemented using programming approach. A sequence of microoperations are carried out by executing a program consisting of micro-instructions. Micro-program, consisting of micro-instructions is stored in the control memory of the control unit.
Execution of a micro-instruction is responsible for generation of a set of control signals.

A micro-instruction consists of:
 One or more micro-operations to be executed.
 Address of next microinstruction to be executed.

Micro-Operations: The operations performed on the data stored inside the registers are called micro-operations.

Micro-Programs: Microprogramming is the concept for generating control signals using programs. These programs are called micro-programs.

Micro-Instructions: The instructions that make micro-program are called micro-instructions.
Micro-Code: Micro-program is a group of microinstructions. The micro-program can also be termed as micro-code.
Control Memory: Micro-programs are stored in the read only memory (ROM). That memory is called control memory.

ADVANTAGES of MICRO-PROGRAMMED CONTROL UNIT

  • The design of micro-program control unit is less complex because micro-programs are implemented using software routines.
  • The micro-programmed control unit is more flexible because design modifications, correction and enhancement is easily possible.
  • The new or modified instruction set of CPU can be easily implemented by simply rewriting or modifying the contents of control memory.
  • The fault can be easily diagnosed in the micro-program control unit using diagnostics tools by maintaining the contents of flags, registers and counters.

DISADVANTAGES of MICRO-PROGRAMMED CONTROL UNIT

  • The micro-program control unit is slower than hardwired control unit. That means to execute an instruction in micro-program control unit requires more time.
  • The micro-program control unit is expensive than hardwired control unit in case of limited hardware resources.
  • The design duration of micro-program control unit is more than hardwired control unit for smaller CPU.

ARCHITECTURE OF MICRO-PROGRAMMED CONTROL UNIT

The address of micro-instruction that is to be executed is stored in the control address register (CAR). Micro-instruction corresponding to the address stored in CAR is fetched from control memory and is stored in the control data register (CDR). This micro-instruction contains control word to execute one or more micro-operations. After the execution of all micro-operations of micro-instruction, the address of next micro-instruction is located.

COMPARISON BETWEEN HARDWIRED AND MICRO-PROGRAMMED CONTROL UNIT

Leave a Reply

Your email address will not be published. Required fields are marked *