Labs

Lab 7.5: An Architect's View

PIPPIN Help

We have seen at least the seeds of how simple logical circuits can be used to describe some of the basic operations of a computer. We return now to our CPU simulator, PIPPIN, to watch the higher-level components (like memory, a MUX, a decoder and an ALU - with its arithmetic operations) in action as they execute a program.

  1. Enter the following PIPPIN program into PIPPIN, beginning at memory location 0. You may remember that this is the PIPPIN equivalent of our example equation:
            W = X * (2 + Y).
    
            LOD     #2
            ADD     Y
            MUL     X
            STO     W
    
    
  2. Set the values of memory locations X and Y to 4 and 5, respectively.

  3. Run the program, by clicking the Play button.

  4. Reset the program, and reset the value of memory location W back to zero.

  5. Now, use the Step button to execute one PIPPIN instruction at a time. Watch carefully to see how the program counter is used to retrieve an instruction from memory, how the instruction is decoded to detect which operation is to be performed. This is the fetch-execute cycle in action.

  6. Reset the simulator now, and perform steps 1-5 again, this time using the PIPPIN codes for equation:
              X = (3 * Y) + (2/W)
    
              LOD     #3
              MUL     Y
              STO     T1
              LOD     #2                      
              DIV     W 
              ADD     T1
              STO     X
    
    
    In this case, set the values of the memory locations for variables Y and W to 5 and 1, respectively.

  7. On a separate sheet of paper, describe how a single instruction gets executed by our machine in terms of the components of the simulator. That is, describe the order in which components are used, and the flow of information that occurs in the processing of one instruction.

Labs

MODULES:



© 2004 Thomson/Brooks Cole, All Rights Reserved.