Transcript Slide 1

A study guide: Please do not take this document as strict guideline!
1) Expect short answer questions regarding fundamental definitions from
lecture slides/book such as: Amdahl’s law, what it is, how is it important or
what is underflow? Remember this is an open book exam, all you need to
know is where that information is.
2) There will be performance related questions more on the lines of
comparing two models using CPU execution time formulas, CPI, MIPS or
Amdahl’s law. Refer to slides, assignments, and examples from the book.
3) Other topics:
MIPS ISA
Features, characteristics, definitions
Addressing Modes
Need to understand a given assembly language
Need to be able to convert a simple C instruction into assembly
Need to know basic MIPS instructions
Arithmetic
Addition, Subtraction
ALU Design: slt, bne, beq , how to implement them at gate level, go
through the lecture slides, how did we insert slt instruction to the ALU?
What if I give you another instruction?
CLA Design, it’s significance?
Multiplication, Division Algorithms (refer to assignments and book
examples)
IEEE Floating Point Arithmetic Conversion
Key Issues !!!
• Limit your answers to the space provided. If you
use more space than is provided, you are
probably doing something wrong.
• Manage your time carefully. If you do not
understand something in a question, ask the
instructor for help.
• You may refer to ONLY ECE369 textbook
“Computer Organization and Design”, by
Hennessy and Patterson during the exam. NO
other source is allowed for reference.
• Show your work in order to receive credit
$L6:
•
•
Consider a system with a CPU, connected to separate
instruction and data memories. System is executing the
following MIPS code. The code is a loop, which you can
assume iterates many times. Also assume that the beq
instruction is taken 10% of the time.
Suppose the CPU can execute instructions infinitely fast, but,
of course, it must fetch instructions from the (instruction)
memory, and fetch and store data from and to the (data)
memory. In case you have forgotten, the instruction size is 4
bytes, and the word size is also 4 bytes.
$L4:
lw $2,0($4)
beq $2,$0,$L4
lw $2,0($5)
lw $3,0($6)
addu $2,$2,$3
sw $2,0($4)
addu $4,$4,4
addu $6,$6,4
addu $5,$5,4
addu $7,$7,1
slt $2,$7,10000
bne $2,$0,$L6
• What is the average number of instructions per iteration?
90% of the time we execute 12 instrs. and make 4 data memory
refs.
10% of the time we execute 8 instrs. and make 1 data ref.
Therefore, avg. number of instrs. per iteration = 0.9x12 + 0.1x8 =
11.6,
• What is the average number of data references per iteration?
the avg. number of data refs per iteration = 0.9x4 + 0.1x1 = 3.7.
• In a floating-point number system, larger bases
improve the accuracy at the cost of sacrificing the
range.
• T.
• More powerful instructions lead to higher performance
since the total number of instructions executed is
smaller for a given task with more powerful
instructions.
• F
• Programs written in assembly language are inherently
machine-specific and must be totally rewritten to run
on another computer architecture.
• T
• We want to design the instruction set of a RISC processor, with the
following characteristics: 128 General Purpose registers; 96
Instructions; 32bit instruction word length; 3-operand arithmetic and
logical operations (ex. ADD R1, R2, R3); 2 register operands and 1
immediate constant arithmetic and logical instructions (ex. ANDI R1,
R2, 5). The instructions have a single opcode, in a fixed position
inside the instruction word, which is also used to specify the size of
the operands (byte, half-word, word).
• A) Draw a simple illustration showing the typical 3-operand
arithmetic instruction for this processor, clearly indicating the
number of bits used for each field of the instruction (op-code,
operands, etc.)
• Solution: For 96 instruction, we need 7 bit (27 = 128 > 96) of
Opcode, and for 128 register, we need 7 bit for each operand.
• B) How many bits can be used for describing the constant used in
immediate arithmetic and logical instructions? (e.g. ADDI)
• Solution: 11bit