From the textbook : ARM edition of computer organization and design chapter 4 4.
ID: 3859848 • Letter: F
Question
From the textbook : ARM edition of computer organization and design chapter 4
4.5 In this exercise, we examine in detail how an instruction is executed in a
single-cycle datapath. Problems in this exercise refer to a clock cycle in which the
processor fetches the following instruction word: 0xf8014062.
4.5.1 [5] <§4.4> What are the outputs of the sign-extend and the “shift left 2”
unit (near the top of Figure 4.23) for this instruction word?
4.5.2 [10] <§4.4> What are the values of the ALU control unit’s inputs for this
instruction?
4.5.3 [5] <§4.4> What is the new PC address after this instruction is executed?
Highlight the path through which this value is determined
4.5.4 [10] <§4.4> For each mux, show the values of its inputs and outputs during
the execution of this instruction. List values that are register outputs at Reg [Xn].
4.5.5 [10] <§4.4> What are the input values for the ALU and the two add units?
4.5.6 [10] <§4.4> What are the values of all inputs for the registers unit?
Read address Instruction Instruction memory Uncondbranch Branch Mem Read Instudion p1-2 Instruction 9-6) struction po-161 magister 1 Read data 2 register data 2 instruction data Registers Instruction B1-01 2 extend Instruction B1-21 eft 2 ALU Address Read DataExplanation / Answer
Given instruction word: 0xf8014062 in HEX.
The corresponding value in Binary is:
1111100000000001 0100000001100010
(a)
Sign-extend takes the lower 16 bits and expands them to be 32 bits,
outputting 00000000000000000100000001100010.
The shift left 2 in the upper-left is used for a jump,
which takes the lower 26 bits and expands them to 28 bits with a left-shift.
So we have 0000000001010000000110001000 as output.
(b)
The ALU control gets the lower 6 bits as it's main input, so 100010.
It also gets a signal from the main Control indicating the ALU op.
In this case the main control gets bits 31-26 as it's input, 111110.
The decimal value of 111110 is 62 in decimal and 3E in HEX.
This corresponds to “sdc2”, which sends a 00 to the ALU Control.
(c)
New PC = PC + 4.
Path will be PC to Add (PC+4) to branch Mux to jump Mux to PC.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.