======== START LECTURE #18 ========

Implementing a J-type instruction, unconditional jump

    opcode  addr
    31-26   25-0
Addr is word address; bottom 2 bits of PC are always 0

Top 4 bits of PC stay as they were (AFTER incr by 4)

Easy to add.

Smells like a good final exam type question.

What's Wrong

Some instructions are likely slower than others and we must set the clock cycle time long enough for the slowest. The disparity between the cycle times needed for different instructions is quite significant when one considers implementing more difficult instructions, like divide and floating point ops. Actually, if we considered cache misses, which result in references to external DRAM, the cycle time ratios can approach 100.

Possible solutions

Even Faster (we are not covering this).

Chapter 2 Performance analysis

Homework: Read Chapter 2

2.1: Introductions

Throughput measures the number of jobs per day that can be accomplished. Response time measures how long an individual job takes.

We define Performance as 1 / Execution time.

So machine X is n times faster than Y means that

2.2: Measuring Performance

How should we measure execution time?

We use CPU time, but this does not mean the other metrics are worse.

Cycle time vs. Clock rate.