The projet was crammed due to deadlines, so a lot of swe princibles was voilated before the deadline :(, I'm sorry to inform you this :((((.
Type | Size |
---|---|
ADD/SUB Reservation Station |
3 |
MUL/DIV Reservatoin Station |
2 |
Load Buffer |
3 |
Store Buffer |
3 |
> git clone https://github.com/aboueleyes/tomasulo
> cd tomasulo
> cd server && pip install -r requirements.txt && python3.10 server.py && cd -
> cd client && npm i && npm start
> git clone https://github.com/aboueleyes/tomasulo
> cd tomasulo
> cd server && pip install -r requirements.txt && python3.10 main.py
Our Approach for the algo is to simulate what actullay happens in a hardware by simaulating every component by class and include its logic in the class.
A singalton Design Pattern were used to further simulate the hardware.
.
├── client
│ ├── package.json
│ ├── package-lock.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── README.md
│ └── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── components
│ │ ├── BasicTable.js
│ │ ├── FileEditor.js
│ │ ├── Navbar.js
│ │ ├── SideTabs.js
│ │ └── Tabs.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── pages
│ │ ├── Setup.js
│ │ └── Simulation.js
│ ├── reportWebVitals.js
│ ├── setupTests.js
│ └── utils
│ └── validateFormData.js
├── LICENSE
├── README.md
└── server
├── config.yml
├── main.py
├── requirements.txt
├── sample-instructions.txt
├── server.py
└── src
├── buffer.py
├── components.py
├── instruction.py
├── instructions_parser.py
├── reservation.py
└── tomasulo.py
L.D F1 0
L.D F2 1
MUL.D F1 F2 F1
MUL.D F1 F1 F1
MUL.D F3 F1 F1
Type | Latency |
---|---|
L.D |
1 |
MUL.D |
1 |
L.D F1 0
L.D F2 1
MUL.D F2 F2 F2
MUL.D F1 F2 F1
MUL.D F1 F1 F1
MUL.D F3 F1 F1
ADD.D F3 F2 F2
Type | Latency |
---|---|
L.D |
1 |
MUL.D |
2 |
ADD.D |
1 |
L.D F6 90
L.D F2 80
MUL.D F0 F2 F4
SUB.D F8 F2 F6
DIV.D F10 F0 F6
ADD.D F6 F8 F2
Type | Latency |
---|---|
L.D |
2 |
MUL.D |
10 |
ADD.D |
2 |
SUB.D |
2 |
DIV.D |
40 |
L.D F1 10
MUL.D F1 F1 F1
S.D F1 15
SUB.D F1 F2 F2
Type | Latency |
---|---|
L.D |
1 |
MUL.D |
4 |
SUB.D |
2 |
S.D |
1 |