https://github.com/aksiksi/procsim
A 5-stage CPU pipeline simulator based on the well-known Tomasulo algorithm.
https://github.com/aksiksi/procsim
computer-architecture cpp11 georgia-tech pipelining tomasulo
Last synced: about 1 year ago
JSON representation
A 5-stage CPU pipeline simulator based on the well-known Tomasulo algorithm.
- Host: GitHub
- URL: https://github.com/aksiksi/procsim
- Owner: aksiksi
- Created: 2017-03-17T05:34:20.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-09T18:51:55.000Z (about 9 years ago)
- Last Synced: 2025-04-01T22:57:02.335Z (about 1 year ago)
- Topics: computer-architecture, cpp11, georgia-tech, pipelining, tomasulo
- Language: C++
- Homepage:
- Size: 43 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# A Tomasulo Pipeline
This code was written for Project 2 of ECE6100 at Georgia Tech. It is written in C++11, which is supported by most modern compilers.
## Building
Navigate to root directory, and run `make`.
Tested with:
* LLVM 7.3.0 on OS X 10.11.3
* Ubuntu
* Fedora
## Running
After building, an executable called `procsim` will be in the root directory.
The program takes the following arguments:
* `-f`: number of instructions fetched per cycle
* `-j`: number of k0 function units (FUs)
* `-k`: number of k1 FUs
* `-l`: number of k2 FUs
* `-r`: number of result buses (RBs)
* `-i`: input trace file
Example: `procsim -f 4 -j 3 -k 2 -l 1 -r 2 -i gcc.100k.trace`
The output file will have the same name but with the extension `.out` and written to the same directory. In the example above, `gcc.100k.trace.out`.