COE 501 Computer Architecture

Term Project: A Configurable Simulator for Out Of Order Speculative Execution

Project Details:

Dynamic execution consists of an issue unit that resolves resource conflicts and data hazards (RAW and WAR), besides providing a scheme for sending produced data out of ALUs to potential consumers (instructions). Pipelining implies that the state of the machine can be tracked to a clock to determine the availability of data and resources. The project is on writing a simulator for the above processor while allowing the user to change (reconfigure) some machine parameters depending on his need. The reconfigurable parameters include:
1. the size of the reservation stations (RS) attached to the Functional Units (FUs),
2. the operand matching mechanism in each RS,
3. the window size for instruction issue,
4. the number of stages in the FU pipelines,
5. the number of operand registers, etc.
The simulator will be tested using small programs. A simple RISC assembler notation may be used for input programs.