Control Unit Operation 305
Register Name Content details Functioning
PC Program counter Address of next instruction Incremented by 1
MAR Memory address register Address of current instruction Copied from PC
MBR Memory buffer register Data buffer Data from/to data bus
IR Instruction register Opcode of current instruction Copied from MBR
Table 10.1 Functional details of PC, MAR, MBR and IR
To understand the mechanism of the fetch-cycle of the processor, we are to spend some more time
with Figure 10.1 . Note that there is an internal bus, which connects all four registers illustrated in
Figure 10.1 . Later in this chapter, we shall discuss more about this internal bus. Using this internal
bus, data is transferred from one register to another, within the processor. Note that all external
communication of the processor through address and data bus are implemented through MAR and
MBR exclusively. External control signals are also sent out through separate registers, not shown
in Figure 10.1 .
To start with, during any type of system reset (power-on or manual reset), the PC is initialized.
Content of the PC is then placed in MAR to fetch instruction code byte/word into MBR. At this stage a
memory read signal (control signal) is also generated and externally emitted by the processor, which is
not considered at present and it will be elaborated at a later stage in this chapter. The PC is incremented
by one and the data available within MBR is transferred to IR. After completion of its decoding and
execution of the instruction, the entire cycle is repeated. Therefore, we observe that the instruction fetch
operation is composed of several smaller steps which are designated as micro-steps . Given below are
the necessary micro-steps of this process.
R Micro-step 1: Load MAR by content of PC.
R Micro-step 2: Receive data from memory to MBR.
R Micro-step 3: Transfer data received by MBR to IR.
R Micro-step 4: Increment PC by one.
R Micro-step 5: Decode and execute instruction.
R Micro-step 6: Repeat from Step 1.
It may be noted that Step 3 and Step 4 may be combined as these two actions are not dependent
upon each other. In the CU design, the designer must be careful about the sequence, which must
be properly maintained. For example, Step 1 and Step 4 cannot be executed simultaneously as they
are not independent with respect to each other. Graphically, these sequences are presented through
Figure 10.2 . From this illustration we may observe that four time-slices are necessary to complete
the whole task and the cycle is repeated, thereafter. Note that we are yet to consider or discuss about
two important details. One is the need of necessary control signals and their sequence. The second
is the fetching details of additional operands, if necessary for any particular instruction. We shall
discuss both of these aspect in following paragraphs. However, before that let us quickly discuss
another aspect, related with sequencing.
In Figure 10.3 , an alternate sequence of the fetch-cycle is depicted, which performs the same duty as
that illustrated in Figure 10.2 but in a different sequence. If we compare this with Figure 10.2 , then we
nd that, instead of incrementing PC (by one) during t3 , it is carried out during t2 . Now the question is,
M10_GHOS1557_01_SE_C10.indd 305M10_GHOS1557_01_SE_C10.indd 305 4/29/11 5:19 PM4/29/11 5:19 PM