316 Computer Architecture and Organization
To conclude, we should try to visualize that for any processor the number of parameters is many
more than our example case and the complexity of the Boolean expressions also increases at the same
rate. Therefore, although hardwired controlled units make the processor work faster, it is generally
avoided in CISC processors. For RISC processors, as the number of instructions is minimal, the hard-
wired control units are adopted by several processors.
10.6 SOLVED EXAMPLES
In Section 9.9 of Chapter 9, we have discussed about some example cases on data path design. There, we
have indicated that discussions related to the necessary control signals would be taken up in this chapter. It
is reaf rmed here that there is no established standard method existing either for data path or for CU design
procedure, and every processor may be taken as an exceptional case. However, in this section we shall dis-
cuss about some elementary design issues related to few examples, which had been initiated in Section 9.9.
10.6.1 Example 1 (Using C-Bus)
Problem
Assuming that a processor was planned with one data path (C-Bus) only, design the control signals to fetch
the next instruction from external memory location. Assume that the instruction is of one byte only. After
fetching, the instruction should be available within the IR and PC must be incremented by one.
Solution
We have reproduced Figure 9.19 of Chapter 9 as Figure 10.9 here with some necessary modi cations.
However, we should clarify at this juncture that there are a total of two registers to communicate with
external memory. These two registers are memory address register (MAR) and memory buffer register
(MBR) as shown in Figure 10.9 . In our example case, we are assuming that for the purpose of instruc-
tion fetch the address available in PC would be copied to MAR and emitted to external memory address
bus by MAR (Table 10.1 for descriptions and functions). The instruction byte would be available from
external memory into the MBR and then would be copied to IR. To get any operand, MAR would gener-
ate the address and MBR would receive the data. In our present example we are not going to use MAR
and MBR for operand fetch and only two registers namely PC and IR would be used to hold starting and
completion information (address and instruction byte, respectively). The related micro-operation steps
and their control signals’ sequences should be as follows:
R Step 1: Copy PC to MAR using C-Bus.
R Step 2: Allow MAR to be available in external address bus and assert memory read signal
(MEMR) low and maintain it as low for one complete clock cycle. Latch the instruction byte
available at MBR and then make memory read signal (MEMR) high again.
R Step 3: Copy MBR into IR using C-Bus.
R Step 4: Send content of PC to ALU through C-Bus, setting it at increment-by-one mode by keep-
ing F0 low. Latch incremented value from ALU (result) within Z
R Step 5: Copy Z to PC using C-Bus.
In Chapter 9, we have described how the system clock signal may be used after inversion to gener-
ate the falling edge (↓) to latch data inside registers. The same technique we would implement here.
All register enabling signals are also assumed to be active low. We shall now discuss each step of the
operation with necessary details.
M10_GHOS1557_01_SE_C10.indd 316M10_GHOS1557_01_SE_C10.indd 316 4/29/11 5:19 PM4/29/11 5:19 PM