RISC-V Stage 1
.pdf
keyboard_arrow_up
School
New York University *
*We aren’t endorsed by this school
Course
6913
Subject
Industrial Engineering
Date
Jan 9, 2024
Type
Pages
3
Uploaded by LieutenantElectron12238
Performance Modeling - RISC-V processor
This will be an INDIVIDUAL project
Phase 1: (Due November 7th 11:59PM)
1) Draw the schematic for a single stage processor and fill in your code in the provided file to
run the simulator.
2) Measure and report average CPI, Total execution cycles, and Instructions per cycle by adding
performance monitors to your code. Make sure you output these values to a file.
3) What optimizations or features can be added to improve performance? (Extra credit)
Your code will be tested against 10 test cases. 3 of which will be released 5 days prior to your
submission. (2nd November)
Notes:
1.
Please modify the existing code to use the correct way to handle folder paths. (Use
os.path.join()
instead of hardcoding OS dependent forward/back slashes).
2.
You’ll only submit a zipped folder named
netID.zip
Make sure you follow the folder structure shown below.
Your code will be in one folder named
netID
with an entry point file (main.py or main.cpp).
There’ll be a second folder called
input/
with each subfolder named
testcase0/,
testcase1,
etc.,
and each of these test cases will contain 2 files,
imem.txt
and
dmem.txt
.
After running your code, a third folder should be created as an output folder with the name
output_netID/
with subfolders named
testcase0/,
testcase1.
Each subfolder
must
contain
4
files:
PerformanceMetrics_Result.txt
,
SS_DMEMResult.txt,
SS_RFResult.txt, StateResult_SS.txt.
3.
A sample test case is already on brightspace under the project section.
Project root
|
|_ input/
|
|_testcase0
|
|
|_imem.txt
|
|
|_dmem.txt
|
|_testcase1
|
|
|_imem.txt
|
|
|_dmem.txt
|
|_testcasen
|
|_imem.txt
|
|_dmem.txt
|
|_ netID/
|
|_
main.py
(or)
main.cpp
|
|_additional_folders_and_files
|
|_README
(in case there’s anything you want to mention about your code/dependencies)
|
|_ output_netID/
|_testcase0
|
|_PerformanceMetrics_Result.txt
|
|_SS_DMEMResult.txt
|
|_SS_RFResult.txt
|
|_StateResult_SS.txt
|
|_testcasen
|_PerformanceMetrics_Result.txt
|_SS_DMEMResult.txt
|_SS_RFResult.txt
|_StateResult_SS.txt
Solve with your folder structure as:
After running
$ python3 netid/main.py
The expected output folder structure should be as follows:
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help