2021 22 7b

Computer Organization and Architecture2021-2210 marksHardwire and micro programmed control

List the differences between hardwired and micro programmed control in tabular format. Write the sequence of control steps for the following instruction for single bus architecture. R1 <- R2 * (R3)

List the differences between hardwired and micro programmed control in tabular format. Write the sequence of control steps for the following instruction for single bus architecture. R1 <- R2 * (R3)

Quick answer

The instruction means: take the number stored in memory at the address held in R3, multiply it by R2, and put the product in R1. On a single bus architecture, only one register can put data on the bus at a time. So the ALU keeps one input in the temporary register Y, takes the other from the bus, and stores the result in register Z. The control steps are as follows.

Hardwired versus microprogrammed control

PointHardwired controlMicroprogrammed control
Basic ideaControl signals from logic gates and flip-flopsControl signals read from a control memory
SpeedFasterSlower, because of memory access
FlexibilityHard to change, wiring must changeEasy, change the microprogram
Design effortComplex, many gatesSimple and systematic
Cost for large setsHighLower
Instruction setSmall, simple (RISC)Large, complex (CISC)
DebuggingDifficultEasier
Control storeNot neededNeeded (ROM)

Control steps for R1 <- R2 * (R3) on a single bus

  1. $PC_{out}$, $MAR_{in}$, Read, Select 4, Add, $Z_{in}$. This starts the fetch. The address of the instruction goes to the memory address register, and PC plus 4 goes into Z.
  2. $Z_{out}$, $PC_{in}$, $Y_{in}$, WMFC. PC is updated, and the CPU waits for the memory function to complete.
  3. $MDR_{out}$, $IR_{in}$. The fetched instruction is moved from the memory data register to the instruction register. Now the instruction is decoded.
  4. $R3_{out}$, $MAR_{in}$, Read. The address of the operand, held in R3, goes to MAR and a memory read is started.
  5. $R2_{out}$, $Y_{in}$, WMFC. R2 is placed in Y, and the CPU waits until the operand arrives in MDR.
  6. $MDR_{out}$, Select Y, Multiply, $Z_{in}$. The ALU multiplies Y with the operand from the bus, and the product is saved in Z.
  7. $Z_{out}$, $R1_{in}$, End. The product is moved into R1, and the instruction is complete.

Steps 1 to 3 are the fetch part, which is the same for every instruction. Steps 4 to 7 are the execute part. In a hardwired unit, these signals are produced by gates driven by the step counter, while in a microprogrammed unit each step is one microinstruction.

Using the sequence. Seven control steps mean seven clock cycles for this one instruction. If the memory is slow, the two WMFC steps (wait for memory function complete) make the CPU stall until the data is ready. On a multi-bus architecture, some of these steps could be joined, so fewer cycles are needed. That is why single bus designs are simple and cheap but slower.

Short note on the choice. The table shows that hardwired control suits fast and simple machines, while microprogrammed control suits machines with many complex instructions. Many processors use both.

Short on time? The 1, 5 and 10 mark versions of this answer, flashcards and practice sets come with a program pass.

Up nextDefine the term Computer architecture and Computer organization.