Q1. Refer to the datapath design on slide no. 26 in Chapter 4 (part 1). While explaining this datapath, we did not discuss instructions that does immediate arithmetic, such as addi. Let’s assume we need to incorporate the addi instruction in our processor design. Answer the following questions: a) Do we need to add any additional logic block to the design presented in the slide? If yes, what do we need to add and where? If not, describe the sequence of the existing logic blocks that will be utilized by the execution of the addi instruction. b) What will be the values (asserted or deasserted) of the following signals generated by the control unit to execute the addi instruction: Branch, MemRead, MemToReg, MemWrtie, ALUSrc, RegWrite? For each signal, provide justifications for your answer. slide no. 26 in Chapter 4 (part 1). is attached to the questions as an image
Q1. Refer to the datapath design on slide no. 26 in Chapter 4 (part 1). While explaining this
datapath, we did not discuss instructions that does immediate arithmetic, such as addi. Let’s
assume we need to incorporate the addi instruction in our processor design. Answer the following
questions:
a) Do we need to add any additional logic block to the design presented in the slide? If yes,
what do we need to add and where? If not, describe the sequence of the existing logic
blocks that will be utilized by the execution of the addi instruction.
b) What will be the values (asserted or deasserted) of the following signals generated by the
control unit to execute the addi instruction: Branch, MemRead, MemToReg, MemWrtie,
ALUSrc, RegWrite? For each signal, provide justifications for your answer.
slide no. 26 in Chapter 4 (part 1). is attached to the questions as an image
Trending now
This is a popular solution!
Step by step
Solved in 3 steps
Q2. Refer to datapath design on slide no. 26 with added blocks for jump instructions as shown in
slide 33 in Chapter 4 (part 1). Let’s assume a program has 500 instructions. These instructions are
distributed as follows:
R-Type Immediate
arithmetic
(addi)
Load Store Branch Jump
25% 5% 20% 20% 10% 20%
Answer the following questions (show calculations):
a) How many instructions will use instruction memory?
b) How many instructions will use data memory?
c) How many instructions will use the sign extend block?
d) In the clock cycles, where the sign extend block is not required, does it remain idle? If yes,
how? If not, what happens to the output of the block in that cycle?
chapter 4, slide 33 is added as an image needed to solve the question