MIPS ID/EX Pipeline registers

I am currently studying computer architecture but i don't really understand the length of pipeline registers and what the professor means when she said: "Since the length of the ID/EX pipeline register in the figure is not a multiple of 4, in order to express it in hexadecimal, assume that the values ​​of bit1 and bit0 are both 0, add them, and then express it in hexadecimal." Here is an example of one of my quizzes:

In the circuit shown in the following figure, the contents of the instruction memory are as follows.
[0x00400024] lw $6, 4($7)  
[0x00400028] add $3,$4,$5 
[0x0040002c] sub $8,$9,$10
[0x00400030] slt $9, $10, $0
[0x00400034] sw $2, 8($5)
The contents of the register file are as follows.
$0 : 0x00000000
$1 : 0x10000000
$2 : 0x20000000
$3 : 0x30000000
$4 : 0x40000000
$5 : 0x50000000
$6 : 0x60000000
$7 : 0x70000000
$8 : 0x80000000
$9 : 0x90000000
$10 : 0xa0000000
The contents of Data Memory are all 0.
This circuit is a rising edge triggered circuit and the value of PC was 0x00400024 when c1 was present.
Write the value of the ID/EX pipeline register in hexadecimal when c2 (just before the end of the 4th clock cycle from c1) is written. (Start with 0x and do not include spaces.) 
Since the length of the ID/EX pipeline register in the figure is not a multiple of 4, in order to express it in hexadecimal, assume that the values ​​of bit1 and bit0 are both 0, add them, and then express it in hexadecimal.
 * The value of a register refers to the value that is currently stored and output. A value that has not yet been stored is not a value of a register.

This is a picture to illustrate c1 and c2: enter image description here

Upvotes: 0

Views: 28

Answers (0)

Related Questions