Due: January 8
We would like to make all grading transparent and available as soon as possible. Because of this, we are requesting students to choose a secret username which will appear in grade sheets.
Submit your secret username via this Google Form. Please do not make it obvious to identify you. In the rare case of name conflicts, you will be notified to resubmit.
| Deliverable | Your secret username submitted via the webform. | Due: January 8 |
Due: January 8
Login into http://www.piazza.com and register for this class.
| Deliverable | None. | Due: January 8 |
Due: January 8
Register your clicker on Ted.
| Deliverable | Successfully take the reading quiz on Thursday. | Due: January 8 |
Due: January 15
Unless otherwise noted, the following problems are from the Patterson & Hennessy textbook (5th ed.).
| Deliverable | Place your typed (or well written) solutions to the problems in the TA's mailbox (Nam, Soohyun) 15 minutes before the class starts. It is located in the mailroom on the 2nd floor of CSE building. | Due: January 15 |
Due: January 22
| Deliverable | Place your typed (or well written) solutions to the problems in Atieh's mailbox (EBU3B, room 2237 (Grad mailroom), labled "Lotfi, Atieh") 15 minutes before the class on Jaunary 22 starts. | Due: January 22 |
Due: January 29
| GHz | Cost | Compiler A | Compiler B | |||
| Instructions | Average CPI | Instructions | Average CPI | |||
| rAlpha | 3.4 | $100 | 7000 | 1.2 | 5000 | 1.5 |
| c86 | 2.6 | $100 | 1500 | 2.2 | 1000 | 4.0 |
| GHz | Cost | Compiler A | Compiler B | |||
| Instructions | Average CPI | Instructions | Average CPI | |||
| rAlphaX | 3.4 | $170 | 2250/core | 1.5 | 1750/core | 1.8 |
| c86x4 | 2.6 | $170 | 625/core | 3.2 | 500/core | 5.0 |
rAlpha 20 W
c86 35 W
rAlphaX 50 W
c86x4 80 W
If you wanted to show that the first processor had the best power
efficiency for performance, what metric would you use? For this
part, use values only from Compiler A.| Deliverable | Place your typed (or well written) solutions to the problems in Soohyun's mailbox (EBU3B, room 2237 (Grad mailroom), lable "Nam, Soohyun") 15 minutes before the class on Jaunary 29 starts. | Due: January 29 |
Due: February 5
The following table shows the execution time of five routines of a program running on 16 processors.
| # Processors | Routine A (ms) | Routine B (ms) | Routine C (ms) | Routine D (ms) | Routine E (ms) |
| 16 | 4 | 14 | 2 | 12 | 2 |
(1) Find the total execution time, and how much it is reduced if the time of routines A, C, & E is improved by 15%.
(2) By how much is the total time reduced if routine B is improved by 10%?
(3) By how much is the total time reduced if routine D is improved by 10%?
.text .globl main main: movl $0x0, %ebx movl $0x0, %ecx jmp check loop: mov %ecx, %eax add %eax, %ebx addl $0x1, %ecx check: cmpl $0x63, %ecx jle loop retTo figure out what the assembly code does, use the three documents listed below under References. The first one should have most of what you need and includes common addressing modes as well, so start there. However, depending on which version of gcc your machine has installed and which particular processor you are running, you may encounter additional instructions. The other documents or Google searches will be helpful in this case. Unfortunately, we have not found a good, concise listing of x86 instructions.
(01) lw $t0, 0($a0) (02) lw $t2, 8($a0) (03) lw $t1, 4($a0) (04) add $t6, $t0, $t1 (05) lw $t3, 12($a0) (06) sub $t7, $t1, $t2 (07) lw $t4, 16($a0) (08) lw $t5, 20($a0) (09) srlv $s2, $t6, $t7 (10) sub $s1, $t4, $t5 (11) add $s0, $t3, $t4 (12) sllv $s4, $t7, $s1 (13) srlv $s3, $t6, $s0 (14) sllv $s5, $s0, $s1 (15) add $s6, $s3, $s4 (16) add $s7, $s4, $s6 (17) srlv $t0, $s6, $s7 (18) srlv $t1, $t0, $s7a. When you run the tool with its settings targeted for a particular VLIW machine, you find that the resulting VLIW code has 9 VLIW instructions. What minimun value of N must the target VLIW machine have?
| MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | MIPS Inst. No. | |
| VLIW Instruction 1: | |||||||||
| VLIW Instruction 2: | |||||||||
| VLIW Instruction 3: | |||||||||
| VLIW Instruction 4: | |||||||||
| VLIW Instruction 5: | |||||||||
| VLIW Instruction 6: | |||||||||
| VLIW Instruction 7: | |||||||||
| VLIW Instruction 8: | |||||||||
| VLIW Instruction 9: |
| Deliverable | Place your typed (or well written) solutions to the problems in Atieh's mailbox (EBU3B, room 2237 (Grad mailroom), lable "Lotfi, Atieh") 15 minutes before the class on February 5 starts. | Due: February 5 |
Due: February 19
| I-Mem | Add | Mux | ALU | Regs | D-Mem | Control | |
|---|---|---|---|---|---|---|---|
| a. | 400ps | 100ps | 30ps | 140ps | 200ps | 350ps | 100ps |
| b. | 500ps | 150ps | 100ps | 180ps | 320ps | 1000ps | 65ps |
| Fetch | Decode | Execute | Memory | Writeback | |
|---|---|---|---|---|---|
| a. | 300ps | 400ps | 350ps | 550ps | 100ps |
| b. | 200ps | 150ps | 100ps | 190ps | 140ps |
50%: ALU
25%: BEQ
15%: LW
10%: SW
Assuming there are no stalls or hazards, what is the
utilization of the data memory? What is the utilization of the
register block's write port? (Utilization in percentage of
clock cycles used)
| Deliverable | Place your typed (or well written) solutions to the problems in Soohyun's mailbox (EBU3B room 2237, labeled as "Nam, Soohyun") before 15 minutes before the class starts. It is located in the mailroom on the 2nd floor of CSE building. | Due: February 19 |
Due: February 26
Sequence of instructions:
lw $s2, 0($s1)
lw $s1, 40($s3)
sub $s3, $s1, $s2
add $s3, $s2, $s2
or $s4, $s3, $zero
sw $s3, 50($s1)
Measuring branch predictor accuracy: This exercise examines the accuracy of various branch predictors for the following repeating patterns (e.g., in a loop) of branch outcomes. Accuracy is defined as the percentage of guesses that are correct. Answer each question (1-4) for each sequence (a-b):
Consider the following piece of code.
add $s1, $s2, $s3
sub $s5, $s2, $s3
and $s7, $s5, $s2
lw $s8, 1000($s5)
beq $s7, $s15, label
nop
add $s6, $s7, $s5
sub $s5, $s7, $s5
lw $s9, 2000($s2)
...
label: add $s9, $s7, $s5
addi $s5, $s0, 0
To enable greater performance, the compiler should determine what instruction could be safely moved into the branch delay slot (replacing the nop). What choice does the compiler have in the following scenarios? | Deliverable | Place your typed (or well written) solutions to the problems in Atieh's mailbox (EBU3B, room 2237 (Grad mailroom), lable "Lotfi, Atieh") 15 minutes before the class on February 26 starts. | Due: February 26 |
Due: March 5
Introduction to caches: For a direct-mapped cache design with a 32-bit address and byte-addressable memory, the following bits of the address are used to access the cache:
Tag Index Offset
a. 31-13 12-5 4-0
b. 31-12 11-6 5-0
For each configuration (a and b):
Your Backpack: The Ca$h processor has a very strange ISA. Popular programs on it have the following instruction breakdown: 45% ALU 05% Branch 10% Store 40% Loads They also have some interesting properties:
• all loads are to distinct, often random, memory locations. • all stores are to locations that have been loaded from before. • there are no forward branches. • branch targets are never more than 5 instructions back.Assume there is no branch prediction. The following questions deal with the L1 cache behavior for the Ca$h processor.
Tag Index Offset
31-15 14-6 5-0
What is the size of entire cache? | Deliverable | Place your typed (or well written) solutions to the problems in Soohyun's mailbox (EBU3B room 2237, labeled as "Nam, Soohyun") before 15 minutes before the class starts. It is located in the mailroom on the 2nd floor of CSE building. | Due: March 5 |
Due: March 12
0x1000
0x1004
0x1010
0x11c0
0x2000
0x21c0
0x3400
0x3404
0x3f00
0x2004
0x1004
a. 32-bit operating system, 4-KB pages, 1 GB of RAM
b. 32-bit operating system, 16-KB pages, 2 GB of RAM
c. 64-bit operating system, 16-KB pages, 16 GB of RAM
| Config. | V. Addr. | P. Addr. | V. Page # | P. Page # | Offset |
|---|---|---|---|---|---|
| a | |||||
| b | |||||
| c |
| Deliverable | Place your typed (or well written) solutions to the problems in Atieh's mailbox (EBU3B, room 2237 (Grad mailroom), lable "Lotfi, Atieh") 15 minutes before the class on March 12 starts. | Due: March 12 |