Return To CS 301 Lab Home

Colour Theme   Font Size Options
 
   
   
   

Build an 8-bit CPU with a memory

Objective of this lab:


	The purpose of this lab is to learn about CPU Organization 
	by building an 8-bit CPU with a memory 

Preparation


	Read lab lecture notes.

Lab Assignments

  1. Create a project Lab3.circ in the Logisim.
  2. Add a circuit window to test the 8-bit RAM, replicate the circuit in the lab notes and practice with the steps following the diagram.

  3. Add a circuit window to implement the 8-bit CPU design (with memory and PC+1) in the lab notes.

  4. In the 8-bit CPU, the highest 2-bit in the instruction register IR will hold the operation code.
    The 8-bit CPU will do the following operations:

Hand in the following:

  1. Submit the file Lab3.circ which includes all the circuits needed.
  2. Submit the file Lab3.pdf which contains the following:

    • Screenshot of the circuit testing the 8-bit RAM, replicate the circuit in the lab notes and practice with the steps after the diagram.
    • Screenshot of the 8-bit CPU circuit that you built.
    • The micro instructions (steps necessary) to implement the following operations described above. Remember to pre-load values.
      • Do the XOR operation with the values in register B and C, and store the result in C.
        test 00000010 XOR 00000011 = 00000001
      • Do the AND operation with the values in register B and C, and store the result in B.
        test 00000010 AND 00000011 = 00000010
      • Do the NOT operation with the value in register C and store the result in register B.
        test NOT 00000010 = 11111101
      • Do the OR operation with the values in register B and TMP, and store the result in C.
        test 00000010 OR 00000011 = 00000011

      Please Note: For all above four operations, you need to preload values in the registers from the EXTin.
      Pre-load IR with 00000000 for XOR, 01000000 for AND, 10000000 for NOT, and 11000000 for OR operations.
      Use the above testing example values for your your registers in the lab assignment hand-in micro instructions.
    • Microinstructions to store the following machine code into the memory.
      	Address		Machine code
      	============================
      	00000000 	10000001  
            	----------------------------
            	00000001	00010110  
            	----------------------------
            	00000010 	00000101  
            	----------------------------
            	00000011 	00001000 
      	=============================
      



Copyright: Department of Computer Science, University of Regina.