-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
61 lines (44 loc) · 1.73 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
README
CS-204 project, RISC-V SIMULATOR, GROUP 13:-
Languages:- C++, Electron JavaScript
TEAM MEMBERS:-
Harshit Malik :- 2017csb1078
Hersh Dhillon :- 2017csb1079
Jeetu Kumar :- 2017csb1083
Shreekanth Ajith :- 2017csb1110
Nilansh Rajput :- 2017csb1092
HOW TO RUN:-
On the terminal :-
g++ -o executable main.cpp
./executable
On the GUI:-
Instructions coming soon
Phase 1:-
Parsed the input file
input.txt to input1.txt for assembler directives
input1.txt to basicCode.txt for the basic code
basicCode.txt to machineCode.txt for the machine code
Phase 2:-
Implemented data path and control paths to run the Instructions.
Implemented all stages i.e. Fetch, Execute, Decode, Memory, Writeback
Implemented inter state buffers, memory unit and register files for the same
Phase 3:-
Implemented pipeline structure with and without data forwarding
Phase 4:-
Implemented data and instruction caches
Features:-
Functionality to switch between
1. Non- pipelined
2. Pipelined with stalls
3. Pipelined with Data forwarding
Functionality to output register values and values of the inter state buffers
Functionality to run cycle by cycle
Give out number of mispredictions, number of stalls etc.
Print register values and inter state buffers after every cycle.
Instructions not supported:-
- auipc, lui and pseudo instructions not handled.
- Assumption, code would be free of the syntax errors.
Direct Mapping was implemented for the data and instruction caches.
GUI :- Electron framework
- Node JS backend
- HTML CSS frontend