Skip to content
Permalink
6dbb60457a
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Programming Assignment 3: Pipelined riscy-uconn Simulator with Multi-cycle Operations and Data Cache

A 5-stage pipelined CPU simulator with multi-cycle operations and data cache for the MIPS-like riscy-uconn instruction set architecture. The simulator translates machine code created by the riscy-uconn assembler, and executes instructions one at a time. Each instruction goes through a Fetch, Decode, Execute, Memory and Writeback stage of processing.

Build Instructions

$ make

Usage

$ ./simulator assembled_program_file.out FORWARDING_ENABLED DATA_CACHE_ENABLED

where assembled_program_file.out may be any assembled program file generated by the riscy-uconn assembler, FORWARDING_ENABLED may be 0 (disabled) or 1 (enabled), and DATA_CACHE_ENABLED may be 0 (disabled) or 1 (enabled).

Unit Tests

Several unit tests are provided in the unittests directory. These unit tests must be assembled before use with the simulator by executing the following command:

$ ../assembler/assembler unittests/unit_test_file.asm unittests/unit_test_file.out

where unit_test_file is any of the unit test files (written in riscy-uconn assembly) in the unittests directory.