292 Computer Architecture and Organization
R Temporary register for ALU operand input (Y)
R Instruction register (IR)
The reader may note that most of the operations (excluding interrupt servicing or DMA etc.) of any
processor are oriented around these registers along with its ALU. It was already indicated that major
processor operations are:
R Fetch instruction (use PC, MAR and MBR)
R Decode instruction (use MBR and IR)
R Fetch operand (use MAR, MBR, general purpose registers)
R ALU operation (use ALU, related registers for operand, result register Z)
R Store result (use Z, general purpose registers or MBR and MAR for external storage)
R Call and return (use SP, MAR, MBR, PC)
R Increment PC (use PC, ALU, Z)
R Increment/decrement SP (use SP, ALU, Z)
Here, we have identi ed speci c registers along with these standard operations. We may now conclude
that major data ow for a smooth operation of the processor would need communication channels
between these registers along with the ALU.
Thus, we see that the data path is always associated with ALU, because all major operations of the pro-
cessor are concerned with its ALU. In general, the ALU needs two operands as input and generates the result
of its operation as output. Therefore, we may assume that these three data sets must properly ow to and
from ALU by the designed data path. Note that the operands may be within any register and the result also
might have to be shifted (copied) to any register. Therefore, all of these registers have to be interfaced prop-
erly through the data path as per the data ow requirements. The width of this data path must cater to the
width of these registers. At present, for the purpose of simplicity, we assume that the registers are of 8-bit.
Depending upon the design requirements, the number of data paths may be one, two or three. An
example with only one data path is shown in Figure 9.19 . The data path is designated as C-Bus . Although
there is no such rule, however, the general practice is to designate the data path, which carries the result
of the ALU operation as the C-Bus. A-Bus and B-Bus are generally related with the operands of the
ALU, which we shall discuss a little later. At present, we may note that A-Bus and B-Bus are expected to
communicate data between the registers indicated above and the ALU input register(s) to send operands
from registers to ALU. Note that C-Bus is a must for any processor as it is associated with the result of
ALU. When there are two data paths, one is C-Bus and the other is designated as B-Bus. The general
practice is not to designate them as C-Bus and A-Bus.
9.9.1 One Data Path (C-Bus)
When the processor has only one data path, the C-Bus, as shown in Figure 9.19 , the design becomes
economical although the speed of processor operation is somewhat restricted. It is needless to elaborate
the fact that more number of data path would lead to more wafer space resulting in more expenses.
However, the sequence of data ow is evidently restricted by only one data path as we shall investi-
gate it now, using a simple example case and referring Figure 9.19 . We must remember that C-Bus is a
bidirectional data bus and only for register Z it is unidirectional. Data are allowed to move out from Z
register but cannot be placed within Z register through the C-Bus.
M09_GHOS1557_01_SE_C09.indd 292M09_GHOS1557_01_SE_C09.indd 292 4/29/11 5:17 PM4/29/11 5:17 PM