Lab exercise - 4 ---------------- Design and Simulation of a CPU ------------------------------ The project consists of three parts. Part 1: Design an Instruction set Part 2: Design Hardware to implement this instruction set Part 3: Simulate the hardware design to verify it Part 1: Instruction set ----------------------- Choose a suitable subset of instructions of a real processor other than MIPS. You are free to modify the architecture/instructions or add your own instructions. Include instructions for each of the following: * arithmetic operation * logical operations * comparison * memory access * conditional and unconditional branch/jump * subroutine call/return The instruction set should be sufficient to write a program to sort an integer array, including a procedure to swap two words (refer to example 3.10 in the text book). Part 2: Hardware Design ----------------------- Design a data path and a controller to implement the instruction set designed in part 1. Use building blocks similar to those used for MIPS design. A more detailed description of the available building blocks will be provided shortly. Calculate the clock frequency at which your CPU can operate. Part 3: Simulation ------------------ In this part, you are required to develop a simulator for your processor which will allow programs witten in your instruction set to be executed. Your simulator would differ from SPIM in a fundamental way. SPIM is an instruction level simulator, whereas your simulator will be a hardware level simulator. The purpose of the former is to allow execution of assembly/machine language programs in absence of real machine (say for learning). On the other hand, the purpose of the latter is to verify a hardware design. The method for developing such a simulator will be described here shortly. Submission ---------- Part 1: Preliminary report (choice of the base processor and tentative choice of instruction subset) - 15th Oct, 1999 Revised report (instruction set description with example) - 25th Oct, 1999 Part 2: Hardware design (block diagram on paper and design description in simulator format) - 1st Nov. 1999 Part 3: Simulator - 12th Nov. 1999