1
Module 3
Part B
Single Cycle Data Path - Multi Cycle Data Path
Dr. B. Bhanu Chander, SCOPE
VIT Chennai
2
Data Path Architecture Introduction
Data Path Architecture 3
Highest Level : Program
.
.
.
Lowest Level : State
At each state small activity happens
(RTL Activities)
(Register Transfer Level Activities)
RTL: The Sequence in which the register
transfer actions should take place will be
decided by the controller
Data Path Architecture 4
Activity consist of
i) Data Path : How a data travels inside the
processor from one component to a another
component
ii) Control (Controlling the Data Path): Who is
controlling the data and who decides which
path it has to take
Data Path Typical Architecture 5
1. Architecture means : How you can put the various
components together so that whenever the processor needs
2. Controller will issue appropriate signals
3. Physical connections will be enabled
4. That data will move around
6
Components of Data Path Architecture
Multiplexer
ALU
Registers
Multiplexer 7
Multiple inputs
One output
Which one output from many
inputs will be selected, will be
decided by the select line
(otherwise called as controller).
ALU (Arithmetic and Logic 8
Unit)
For example, a 32 ALU can perform:
16 Arithmetic Operations
16 Logical Operations
5 bit control lines to select any one
of the ALU operations
ALU performs the role of both Mux
and ALU
Registers 9
General Purpose Registers (GPR) are the
ones which stores the data on the
processors side
Example, R0, R1, R2… Rn
10
Single Cycle Data Path Architecture
Execution of Complete Instruction 11
Using Single Cycle Data Path
The whole control sequence for the instruction( ins)
execution Add R1 , (R2) for the single cycle data path is
explained
The instruction value of the register (reg) R1 and the value
of the memory place indicated by the reg R2 is added
The result is stored in the register R1
Execution of Single Cycle Data 12
Path(Conti..)
To execute the Add R1 , (R2) instruction the following
actions are necessary
A) Obtain the instruction from the memory location
B) Obtain the operand from the memory location directed
by R2
C) Carry out the ALU operation indicated by the instruction
(i.e add in this example)
D) Store the end result in R1
Figure 1. 13
Single Cycle
Data Path
Architecture
Reference: Hamacher, C.,
Vranesic, Z., & Zaky, S.
(2002). Computer
organization. McGraw-
Hill.
Sequence of control steps using single 14
cycle for Add R1 , (R2)
Reference: Hamacher, C.,
Vranesic, Z., & Zaky, S.
(2002). Computer
organization. McGraw-
Hill.
Sequence of control steps using single
15
cycle for Add R1 , (R2)
In step 1, the instruction fetch operation is initiated by loading the contents of
the PC into the MAR and sending a Read request to memory
The Select signal is set to Select4, which causes the multiplexer to select the
constant 4.
This value is added to the operand at input B, which is the contents of the PC,
and the result is stored in register Z.
The updated value is moved from register Z back into the PC during step 2,
while waiting for the memory to respond.
In step 3, the word fetched from the memory is loaded into the IR.
Dr. Abdul Quadir Md , VIT Chennai
Sequence of control steps using single
16
cycle for Add R1 , (R2)
Steps 1 through 3 constitute the instruction fetch phase, which is same for all
instructions
The instruction decoding circuit interprets the contents of IR at the beginning
of Step4
This enables the control circuitry to activate the control signals from steps 4
through 7, which constitute the execution phase
The contents of register R3 are transferred to the MAR in Step 4 and a memory
read operation is initiated.
Then the contents of R1 are transferred to register Y in Step 5, to prepare for
addition operation
Dr. Abdul Quadir Md , VIT Chennai
Sequence of control steps using single
17
cycle for Add R1 , (R2)
When the read operation is completed, the memory operand is available in
register MDR, and the addition operation is performed in Step 6.
The contents of MDR are gated to the bus, and thus also to the B input of the
ALU, and register Y is selected as the second input to the ALU by choosing
Select Y.
The sum is stored in register Z, then transferred to R1 in step 7.
The end signals causes a new instruction fetch cycle to begin by returning to
step 1.
Dr. Abdul Quadir Md , VIT Chennai
18
Multi Cycle Data Path Architecture
Dr. Abdul Quadir Md , VIT Chennai
19
Why Multi Cycle Data Path ?
In a single cycle data path architecture , exclusively
single data word could be moved through the bus in
a given clock cycle
Because of this no of steps needed to execute the
inst increases
To decrease the no of steps needed to execute the
inst and to transfer more than one word in a clock
cycle we go for multicycle
Dr. Abdul Quadir Md , VIT Chennai
How Multi Cycle Data Path Works 20
Three buses are used to link reg and ALU of the CPU
All GPR ,
R1, R2…Rn are presented in one block known as reg files
Figure 2. shows the register files has three ports
Figure 2. 21
Multi Cycle
Data Path
Architecture
Reference: Hamacher, C.,
Vranesic, Z., & Zaky, S.
(2002). Computer
organization. McGraw-
Hill.
How Multi Cycle Data Path Works 22
One input and two output ports
Therefore data of three registers are possible to access in
single clk cycle
Through Bus C, the value could be put in one reg
Data from two regs is available through Bus A and Bus B
How Multi Cycle Data Path Works 23
Bus A and B are used to move the source operands to
i/ps of the ALU A and B
After ALU process is executed the resultant is moved to
destination operand through the bus C
Separate incremental unit is provided to increment the
value of PC after every instruction is executed
Execution of Instruction using Multi Cycle 24
Data Path Add R1, R2, R3 Control Sequence
The inst adds the values of register R2 & R3 and stores
the resultant in R1
Reference: Hamacher, C.,
Vranesic, Z., & Zaky, S.
(2002). Computer
organization. McGraw-
Hill.
Multi Cycle Data Path Add R1, R2, R3 25
Control Sequence Explanation
Step 1: The value of the PC are moved to MAR by
means of Bus B to begin Read operation. PCMAR
Parallelly PC is incremented point towards the next
instruction PCPC+1
Multi Cycle Data Path Add R1, R2, R3 26
Control Sequence Explanation
Step 2: The processor waits for WMFC signal from the
memory
Step 3: The inst code is moved from MDR to IR MDR
IR
Step 4: The inst decoder decodes the IR contents
Multi Cycle Data Path Add R1, R2, R3 27
Control Sequence Explanation
Step 4: Two values from reg R2 & R3 are made
accessible at inputs A and B of ALU by means of Bus A
&B
By activating the Add signal two inputs are added
Through Bus C the resultant is stored in R1
Multi Cycle Data Path Add R1, R2, R3 28
Control Sequence Explanation
By providing more data paths it is
possible to reduce number of clock
cycles needed to execute an
instruction
29
References
Hamacher, C., Vranesic, Z., & Zaky, S. (2002). Computer
organization. McGraw-Hill.