Chapter three
Control Logic Design
Digital system logic design
1design of the digital circuits that performs the data processing operations.
2design of the control circuit that supervises the operations and determines the sequence in which they are
executed.
Control and data processor interaction.
Types of control organization:
❑ Hardwired control
the control logic is implemented with gates and flip-flops similar to a sequential circuit. It has the
advantage that it can be optimized to produce a fast mode of operation.
❑ Microprogrammed control.
the control information such as control functions or control words are stored as 1's and 0's in a special
memory.
Microprogrammed Control
Microprogrammed control organization.
Typical functions of a microprogram sequencer are:
I. Incrementing the control address register by 1.
II. Loading into the control address register an address from control memory.
III. Transferring an external address, and loading an initial address to start the control operations.
Microprogrammed Control
Control of processor unit
A microoperation is
selected with a control
word of 16 bits, which is
divided into 5 fields A, B, D,
F, and H.
Processor unit with control variables.
Microprogrammed Control Encoding of Microinstructions
Microprogrammed Control [or processor unit.
Microprogrammed Control
Encoding of Microinstructions
Microprogrammed Control Shifter operations
Microprogrammed Control Mux2 select operations
Microprogrammed Control
statement:
R1 R1 (AND) R2, CAR CAR + 1
The binary values for the microinstruction are listed under the symbols in each field. The fields under
the dash are not used, and therefore any binary number can be used. For convenience, and consistency,
these places are marked with 0's. The 26-bit words that stored in control memory at address 36 is:
00101000110000000000000000.
A B D F H External Address Input
Mux1 select Mux2 s2lect
Microprogram Example
The number of 1's stored in R1 is to be counted. Register R2 is set to that
number. For example, if R1= 00110110 the microprogram routine counts the
four 1's in the register and sets R2 to the binary number 100. The count is done
by shifting each bit from R1 at a time into the C states bit and incrementing R2
each time that C is equal to 1.
Microprogrammed Control
Microprogram Example
▪ The routine starts for example, from 8. Register R2 is initially reset
to 0.
▪ The content of R1 is transferred through the ALU to update the Z-
bit and reset the carry bit C to 0.
▪ If Z=1, it means that the content of R1 is zero, which signifies that
there are no ones in the number. In that case, the microprogram
routine terminates with R2 equal to 0.
▪ If Z=0, contents of R1 ≠ 0, and therefore, there are some ones
stored in it.
▪ R1 together with the carry are shifted by rotation as many times
as necessary until a 1 is transferred into C.
▪ Register R2 is incremented by 1 for every 1 detected in C, and the
microprogram branches back to check if R1 is equal to 0.
▪ The program loop is repeated until all the 1's in R1 are counted. Flowchart for counting
the number of 1's.
Microprogrammed Control
Microprogram Example