Final Exam Study Guide

The exam will be based on material covered in class, and material in Sections 3.3, 3.4.1 through 3.4.4, 3.6, 3.7, 4.1, and 4.3 in the textbook. The exam will not be cumulative in the sense that there will be no explicit questions on material covered in previous exams. But the nature of the course is such that some questions may very well depend on your remembering concepts covered earlier in the course. For example, we covered cache earlier in the semester, and then covered it again in the last part of the course, so it would be natural to rely on the earlier material while testing the topics that were covered later.

Here are some exercises from Chapter 3 that would be good to look at: 22, 23, 24, 25, 26, 27, 32, 35, 37, 40.

Chapter 4: 2, 3, 4, 9, 10, 17.

Exam Topics

In addition to the solutions to the exercises listed above, which I have sent out by email, here is some more information to help you prepare for the exam:

Sample Question

The operation code of the iadd ISA instruction of the IJVM is 0x60. Assume the the control store addresses 0x005, 0x010, and 0x015 are assigned to the labels Main1, iadd2, and iadd3. Convert the following sequence of microinstructions to binary, showing the address of each instruction:
    iadd1: MAR = SP = SP - 1; rd
    iadd2: H = TOS
    iadd3: MDR = TOS = MDR + H; wr; goto Main1

Answer

Address Binary Notes
0x010 000010101 000 00 010100 100000000 010 0111 iadd2: Come here from iadd1.
0x015 000000101 000 00 111100 001000010 100 0000 iadd3: Come here from iadd2.
0x060 000010000 000 00 110110 000001001 010 0100 Corresponds to iadd1 because op code is 0x60