Final w11
Final w11
3. (2) There are two types of (or ways to measure) performance - what are they?
5. (2) Why is there a "shift left 2" block feeding the PC incrementing adder?
6. (2) What is the difference between an interrupt and an exception (in MIPS)?
7. (3) Write down the 3-term CPU performance equation developed in class.
10. (3) What is the main difference between a commodity cluster and a custom cluster?
11. (3) Why is it difficult to come up with good benchmarks for parallel processors?
12. (3) What is the goal of the memory heirarchy? What two principles make it work?
17. (6) Describe the difference between shared memory and message passing machines.
Include the impact on design, cost, and programming model.
18. (4) The standard MIPS has a 5-stage pipeline, and uses a delay slot. If the machine is
redesigned to be an 8-stage pipeline, with the following stages:
How many delay slots will this new design require? Why?
19. (4) Supporting precise interrupts in machines that allow out of order completion is a chal-
lenge. Briefly explain why.
20. (5) There are two circuit blocks we added when pipelining our processor, the forwarding
logic block and the hazard detection block. Describe the problem the hazard detection logic
block is designed to solve, and write down the equation it uses (approximately - it doesn’t have
to be exact, but it has to demonstrate that you know what is going on).
21. (4) If we are using microprogramming in a machine with a 5-bit opcode, which has 9 control
signals and 7 different states, how big is the microprogram ROM?
22. (3) Assuming an 8-bit address and a 96-byte 3-way SA cache with LS=4, show how an
address is partitioned/interpreted by the cache.
23. (2) Given 1 Megabyte of physical memory, a 21 bit Virtual address, and a page size of 8K
bytes, write down the number of entries in the Page Table, and the width of each entry.
24. (2) What is the equation to calculate the average memory access time?
26. (2) Give one other name for a non-blocking cache, and briefly explain how it works.
1 2 3 4 5 6 7 8 9
i IF ID EX MEM WB
i+1 IF ID EX MEM WB <- Interrupt detected
i+2 IF ID EX MEM WB <- Instruction Squashed
i+3 IF ID EX MEM WB <- Trap Handler fetched
i+4 IF ID EX MEM WB
Fill out the following table if instruction i+1 experiences a fault in the Ex stage (Overflow, for
example):
1 2 3 4 5 6 7 8 9 10
i IF ID EX MEM WB
i+1 IF ID EX MEM WB
i+2 IF ID EX MEM WB
i+3 IF ID EX MEM WB
i+4 IF ID EX MEM WB
i+5 IF ID EX MEM WB
1 2 3 4 5 6 7 8 9 10
i IF ID EX MEM WB <- Execution stage has overlflow
i+1 IF ID EX MEM WB <- Inst Read causes Page Fault
i+2 IF ID EX MEM WB
i+3 IF ID EX MEM WB
i+4 IF ID EX MEM WB
i+5 IF ID EX MEM WB
In this question, we are going to wire up a 14-bit version of the machine used in the midterm.
R-type:
Opcode rs rt rd funct
13-10 9-8 7-6 5-4 3-0
I-type:
Opcode rs rt Immediate
13-10 9-8 7-6 5-0
J-type:
Opcode Offset
13-10 9-0
The machine is word-addressable, where a word is 14 bits. Immediates are sign-extended, and in
a jump instruction, the jump is not relative to the current PC, but rather is treated as an absolute
value.
Mux +
SE
Register File
9−8
Instruction Memory
Read1Addr
SRC1
Read2Addr
Mux
PC
SRC2
Mux
WriteAddr
Write
Data In
Mux
Mux
Data Out
Data Mem
Data In ALU
Instruction Decode Address
Read
Write F
(3) Now, write down the exact boolean equation for the MemRead signal.
30. (5 pts) We need a JAL instruction - let’s say it uses register 0. Sketch the changes necessary
on the above diagram, and/or describe in words what would need to change in this machine
in order to make this work. (Don’t forget about instruction set impacts ...)
Answers to questions on first page:
(1) 42 (23) Synthetic
(2) Atomic (24) Toy
(3) Capacity (25) True
(4) Coherence (26) Who Knows?
(5) Communication (27) X86
(6) Compulsory (28) Yes
(7) Conflict (29) Total Store Ordering
(8) Control (30) Partial Store Ordering
(9) Data (31) Weak Ordering
(10) False (32) Strong Ordering
(11) IBM 370 (33) Higher associativity
(12) Imaginary (34) Lower associativity
(13) Kernel (35) Larger Cache
(14) MIMD (36) Smaller Cache
(15) MISD (37) Larger block size
(16) No (38) Smaller block size
(17) Nuclear (39) Multilevel Cache
(18) Potential (40) Single level cache
(19) Real (41) Victim cache
(20) SIMD (42) Perpetrator cache
(21) SISD (43) Making Common Case Fast
(22) Structural (44) Reduced Instruction Set