Lab 08 - Wiring ALU, Shifter, Interrupt

    Summary

    1. I wired in the ALU and Shifter.
    2. The Interrupt was interesting to build, but I initially misunderstood the basic asynchronous concept of the interrupt.
    3. I wrote several variations of test programs for playing with the operations of the CAPC processor.

    ALU Wiring: Connecting the timing and operations of each hard-coded function

    I decided early that I didn't want to 'cheat' and use gates with 0 time to wire up the unit. I'll go into detail about how this affected the wiring later. Most of the ALU's wiring functions were no harder to connect than the earlier operations like JMP, INJ, SDG... However, after adding in a few more of the operations, I realized that I was going to need to be able to OR some operations a lot. Specifically things like SEND the IR Operand, and LOAD MAR. Given my desire to not use devices with a time of 0, I realized I was going to need a different solution to get past an OR-8. (LOAD MAR required an OR-12). The solution to this was to create a new primitive device in LogicWorks 4. The 'ultimate' test program I ran this week was to execute Professor Hasegawa's Self Correcting Code adder.

      Wiring the ALU

    Interrupt

      The current iteration of my interupt instruction works. However it is not correct in its implementation as I didn't think about the fact that interupt, by its very nature, is an asynchronous event.

    Program

      The cool application that I ran this week is Dr. Hasegawa's Self Correcting Code Adder
Here is a link to my Ver. 0.44 CPU: Main_V.4.cct
My current library file is avaible from my Comp 212 Page