CMSC 311- Computer Organization

Fall 1995 - Assignment #7

Due (at the beginning of class) Thursday, November 16

  1. From Mano, problem 5-13.
  2. From Mano, problem 5-24.
  3. Assume that, in the basic Mano computer the PC contains the value 10016 at the beginning of a fetch cycle. The AC contains 555516, and the register R contains a zero. Memory location 10016 contains the value 020016, and memory location 20016 contains the value AAAA16.
    1. Show the contents (in hex) of the PC, AC, AR, IR, and R registers at the completion of the fetch cycle.
    2. Is the indirect cycle entered after this fetch cycle? If so, show the contents of each of the above registers at the completion of the indirect cycle.
    3. Show the contents of the above registers at the completion of the execute cycle. What instruction is being executed?
  4. An important feature of many computers is memory protection. One way to achieve memory protection by limiting the range of addresses that a program can access. In this problem you are to modify the basic Mano computer to have two additional registers (LOW and HIGH) and check that all memory references are within the range between LOW and HIGH.
    1. Add two new instructions to the machine SLO (F020) which transfers the contents of the AC to the LOW register, and SHI (F010) which transfers the contents of the AC to the HIGH register. Show the control functions and micro-operations specific to these instructions.
    2. Design hardware to check that AR is in range: LOW <= AR <= HIGH. Your circuit should have three 16 bit inputs, and a single output INVALID which is 1 if the value of AR is outside the allowed range.
    3. Modify the instruction cycle to check if a referenced memory location is valid. If the memory reference is out of range, the hardware should trap (cause a subroutine call) to memory location 0002. Show the modified list of micro-operations for the fetch, decode, and indirect steps. (You should not need to add additional time steps to the sequence.) Model your implementation on the interrupt code by adding a trap cycle. Show the micro-operations for the trap cycle.
  5. From Mano, problem 6-14.