322 Computer Architecture and Organization
Cycle O
12
I
14
O
ad
I
dt
MEMR O
13
I
15
F
0
O
9
I
12
Operation
1 0 0 1 1 1 1 1 1 1 1 Copy PC to MAR
2 1 1 0 0 0 1 1 1 1 1 Fetch instruction
3 1 1 1 1 1 0 0 1 1 1 Copy MBR to IR
4 0 1 1 1 1 1 1 0 1 1 PC to ALU
5 1 1 1 1 1 1 1 1 0 0 Z to PC
Table 10.2 Control Signals for Micro-operation with C-Bus
Out of these ve operational cycles the C-Bus is being used in four cycles, namely rst, third, fourth
and fth cycle. The last three cycles may be merged to lesser number of cycles if more data paths are
available.
If the system is implemented with a micro-coded ROM for generating the control signals, then the con-
tent of that ROM for related signals and related operations would be similar to that presented in Table 10.2 .
10.6.2 Example 2 (Using C-Bus and B-Bus)
Problem
Solve the previous problem assuming that two data paths are available, i.e., C-Bus and B-Bus.
Solution
In Chapter 9, we have introduced processors with two data paths, namely C-Bus and B-Bus. In Figure 10.16 ,
a similar architecture is illustrated with some control signals required for the C-Bus. Although another set of
similar control signals are available for the B-Bus interface with all registers (except Y and Z), for maintain-
ing the clarity of illustration, these additional control signals are not shown in Figure 10.16 . In the following
text, names of control signals like I
0
or O
0
(example case for register R0) should be taken for C-Bus control,
while control signals indicated as I’
0
or O’
0
should be be taken as B-Bus related control signals for the same
register. Just like the previous example, all control signals are assumed to be active low. Therefore, when
I’
0
goes low, register R0 would receive input from B-Bus and when I
0
goes low, it would receive input from
C-Bus. Similarly, a low in O’
0
would place the data of R0 in B-Bus and a low in O
0
would place the data
within R0 in C-Bus.
In general, all registers are bidirectionally connected with both C-Bus and B-Bus except Y and Z
registers of ALU. The Z register receives the result of the static ALU directly and can only output the
data into C-Bus. Z register is not connected with B-Bus. Y register may receive input only from C-Bus
and its content is directly available as one of the two inputs of the ALU. Y register is also not connected
with the B-Bus.
MAR has a third bus for external address transmission and it is controlled by O
ad
control signal, like
the previous example. The address bus is unidirectional and can only receive data from MAR. MBR is
bidirectionally interfaced with external data bus and has two control signals for this purpose. If I
dt
is low,
MBR receives data from external data bus. If O
dt
is low, MBR outputs data to external data bus. Finally,
all registers are connected with inverted clock signal (not shown in Figure 10.16 ) for input latching,
similar to the previous example.
In the last example, we have solved the problem in ve steps using only one data path. As we are
now allowed to use two data paths, following four steps are suf cient to solve the problem. By compar-
ing these steps with those of previous example, the reader may observe that Steps 3 and 4 of previous
example are merged as Step 3 in the present example, converting the last step as Step 4.
M10_GHOS1557_01_SE_C10.indd 322M10_GHOS1557_01_SE_C10.indd 322 4/29/11 5:19 PM4/29/11 5:19 PM