├── .gitattributes ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── YuvImageProcessor ├── .gitignore ├── CMakeLists.txt ├── README.md ├── Report.md ├── YuvImageProcessor.cpp ├── dem1.yuv ├── dem2.yuv ├── result.png └── result2.png ├── cache-trace ├── 01-mcf-gem5-xcg.trace ├── 01-mcf-gem5-xcg.trace.csv ├── 01-mcf-gem5-xcg.trace.d4 ├── 02-stream-gem5-xaa.trace ├── 02-stream-gem5-xaa.trace.csv ├── 02-stream-gem5-xaa.trace.d4 ├── 1.trace ├── 2.trace ├── Figure_1.png ├── Figure_2_1.png ├── Figure_3_1.png └── test.trace ├── doc ├── Graphs.pptx ├── Report.md ├── Report2.md ├── arch.png └── state.png ├── include └── elfio │ ├── elf_types.hpp │ ├── elfio.hpp │ ├── elfio_dump.hpp │ ├── elfio_dynamic.hpp │ ├── elfio_header.hpp │ ├── elfio_note.hpp │ ├── elfio_relocation.hpp │ ├── elfio_section.hpp │ ├── elfio_segment.hpp │ ├── elfio_strings.hpp │ ├── elfio_symbols.hpp │ └── elfio_utils.hpp ├── plot_cache_stat.py ├── riscv-elf ├── ackermann.riscv ├── ackermann.s ├── helloworld.riscv ├── helloworld.s ├── matrixmulti.riscv ├── matrixmulti.s ├── quicksort.riscv ├── quicksort.s ├── test_arithmetic.riscv ├── test_arithmetic.s ├── test_branch.riscv ├── test_branch.s ├── test_syscall.riscv └── test_syscall.s ├── run-inclass-tests.sh ├── run_d47.sh ├── src ├── BranchPredictor.cpp ├── BranchPredictor.h ├── Cache.cpp ├── Cache.h ├── Debug.h ├── MainCPU.cpp ├── MainCache.cpp ├── MainCacheOptimization.cpp ├── MemoryManager.cpp ├── MemoryManager.h ├── Simulator.cpp ├── Simulator.h └── ToDirenoTrace.cpp ├── test-inclass ├── add.c ├── add.riscv ├── add.s ├── double-float.c ├── double-float.riscv ├── double-float.s ├── mul-div.c ├── mul-div.riscv ├── mul-div.s ├── n!.c ├── n!.riscv ├── n!.s ├── qsort.c ├── qsort.riscv ├── qsort.s ├── simple-function.c ├── simple-function.riscv └── simple-function.s └── test ├── ackermann.c ├── helloworld.c ├── lib.c ├── lib.h ├── matrixmulti.c ├── quicksort.c ├── test_arithmetic.c ├── test_branch.c └── test_syscall.c /.gitattributes: -------------------------------------------------------------------------------- 1 | *.s linguist-vendored -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/README.md -------------------------------------------------------------------------------- /YuvImageProcessor/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/.gitignore -------------------------------------------------------------------------------- /YuvImageProcessor/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/CMakeLists.txt -------------------------------------------------------------------------------- /YuvImageProcessor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/README.md -------------------------------------------------------------------------------- /YuvImageProcessor/Report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/Report.md -------------------------------------------------------------------------------- /YuvImageProcessor/YuvImageProcessor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/YuvImageProcessor.cpp -------------------------------------------------------------------------------- /YuvImageProcessor/dem1.yuv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/dem1.yuv -------------------------------------------------------------------------------- /YuvImageProcessor/dem2.yuv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/dem2.yuv -------------------------------------------------------------------------------- /YuvImageProcessor/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/result.png -------------------------------------------------------------------------------- /YuvImageProcessor/result2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/YuvImageProcessor/result2.png -------------------------------------------------------------------------------- /cache-trace/01-mcf-gem5-xcg.trace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/01-mcf-gem5-xcg.trace -------------------------------------------------------------------------------- /cache-trace/01-mcf-gem5-xcg.trace.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/01-mcf-gem5-xcg.trace.csv -------------------------------------------------------------------------------- /cache-trace/01-mcf-gem5-xcg.trace.d4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/01-mcf-gem5-xcg.trace.d4 -------------------------------------------------------------------------------- /cache-trace/02-stream-gem5-xaa.trace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/02-stream-gem5-xaa.trace -------------------------------------------------------------------------------- /cache-trace/02-stream-gem5-xaa.trace.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/02-stream-gem5-xaa.trace.csv -------------------------------------------------------------------------------- /cache-trace/02-stream-gem5-xaa.trace.d4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/02-stream-gem5-xaa.trace.d4 -------------------------------------------------------------------------------- /cache-trace/1.trace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/1.trace -------------------------------------------------------------------------------- /cache-trace/2.trace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/2.trace -------------------------------------------------------------------------------- /cache-trace/Figure_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/Figure_1.png -------------------------------------------------------------------------------- /cache-trace/Figure_2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/Figure_2_1.png -------------------------------------------------------------------------------- /cache-trace/Figure_3_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/cache-trace/Figure_3_1.png -------------------------------------------------------------------------------- /cache-trace/test.trace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/Graphs.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/doc/Graphs.pptx -------------------------------------------------------------------------------- /doc/Report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/doc/Report.md -------------------------------------------------------------------------------- /doc/Report2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/doc/Report2.md -------------------------------------------------------------------------------- /doc/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/doc/arch.png -------------------------------------------------------------------------------- /doc/state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/doc/state.png -------------------------------------------------------------------------------- /include/elfio/elf_types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elf_types.hpp -------------------------------------------------------------------------------- /include/elfio/elfio.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_dump.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_dump.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_dynamic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_dynamic.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_header.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_header.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_note.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_note.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_relocation.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_relocation.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_section.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_section.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_segment.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_segment.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_strings.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_strings.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_symbols.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_symbols.hpp -------------------------------------------------------------------------------- /include/elfio/elfio_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/include/elfio/elfio_utils.hpp -------------------------------------------------------------------------------- /plot_cache_stat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/plot_cache_stat.py -------------------------------------------------------------------------------- /riscv-elf/ackermann.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/ackermann.riscv -------------------------------------------------------------------------------- /riscv-elf/ackermann.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/ackermann.s -------------------------------------------------------------------------------- /riscv-elf/helloworld.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/helloworld.riscv -------------------------------------------------------------------------------- /riscv-elf/helloworld.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/helloworld.s -------------------------------------------------------------------------------- /riscv-elf/matrixmulti.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/matrixmulti.riscv -------------------------------------------------------------------------------- /riscv-elf/matrixmulti.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/matrixmulti.s -------------------------------------------------------------------------------- /riscv-elf/quicksort.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/quicksort.riscv -------------------------------------------------------------------------------- /riscv-elf/quicksort.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/quicksort.s -------------------------------------------------------------------------------- /riscv-elf/test_arithmetic.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/test_arithmetic.riscv -------------------------------------------------------------------------------- /riscv-elf/test_arithmetic.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/test_arithmetic.s -------------------------------------------------------------------------------- /riscv-elf/test_branch.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/test_branch.riscv -------------------------------------------------------------------------------- /riscv-elf/test_branch.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/test_branch.s -------------------------------------------------------------------------------- /riscv-elf/test_syscall.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/test_syscall.riscv -------------------------------------------------------------------------------- /riscv-elf/test_syscall.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/riscv-elf/test_syscall.s -------------------------------------------------------------------------------- /run-inclass-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/run-inclass-tests.sh -------------------------------------------------------------------------------- /run_d47.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/run_d47.sh -------------------------------------------------------------------------------- /src/BranchPredictor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/BranchPredictor.cpp -------------------------------------------------------------------------------- /src/BranchPredictor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/BranchPredictor.h -------------------------------------------------------------------------------- /src/Cache.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/Cache.cpp -------------------------------------------------------------------------------- /src/Cache.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/Cache.h -------------------------------------------------------------------------------- /src/Debug.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/Debug.h -------------------------------------------------------------------------------- /src/MainCPU.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/MainCPU.cpp -------------------------------------------------------------------------------- /src/MainCache.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/MainCache.cpp -------------------------------------------------------------------------------- /src/MainCacheOptimization.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/MainCacheOptimization.cpp -------------------------------------------------------------------------------- /src/MemoryManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/MemoryManager.cpp -------------------------------------------------------------------------------- /src/MemoryManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/MemoryManager.h -------------------------------------------------------------------------------- /src/Simulator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/Simulator.cpp -------------------------------------------------------------------------------- /src/Simulator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/Simulator.h -------------------------------------------------------------------------------- /src/ToDirenoTrace.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/src/ToDirenoTrace.cpp -------------------------------------------------------------------------------- /test-inclass/add.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/add.c -------------------------------------------------------------------------------- /test-inclass/add.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/add.riscv -------------------------------------------------------------------------------- /test-inclass/add.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/add.s -------------------------------------------------------------------------------- /test-inclass/double-float.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/double-float.c -------------------------------------------------------------------------------- /test-inclass/double-float.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/double-float.riscv -------------------------------------------------------------------------------- /test-inclass/double-float.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/double-float.s -------------------------------------------------------------------------------- /test-inclass/mul-div.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/mul-div.c -------------------------------------------------------------------------------- /test-inclass/mul-div.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/mul-div.riscv -------------------------------------------------------------------------------- /test-inclass/mul-div.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/mul-div.s -------------------------------------------------------------------------------- /test-inclass/n!.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/n!.c -------------------------------------------------------------------------------- /test-inclass/n!.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/n!.riscv -------------------------------------------------------------------------------- /test-inclass/n!.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/n!.s -------------------------------------------------------------------------------- /test-inclass/qsort.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/qsort.c -------------------------------------------------------------------------------- /test-inclass/qsort.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/qsort.riscv -------------------------------------------------------------------------------- /test-inclass/qsort.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/qsort.s -------------------------------------------------------------------------------- /test-inclass/simple-function.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/simple-function.c -------------------------------------------------------------------------------- /test-inclass/simple-function.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/simple-function.riscv -------------------------------------------------------------------------------- /test-inclass/simple-function.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test-inclass/simple-function.s -------------------------------------------------------------------------------- /test/ackermann.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/ackermann.c -------------------------------------------------------------------------------- /test/helloworld.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/helloworld.c -------------------------------------------------------------------------------- /test/lib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/lib.c -------------------------------------------------------------------------------- /test/lib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/lib.h -------------------------------------------------------------------------------- /test/matrixmulti.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/matrixmulti.c -------------------------------------------------------------------------------- /test/quicksort.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/quicksort.c -------------------------------------------------------------------------------- /test/test_arithmetic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/test_arithmetic.c -------------------------------------------------------------------------------- /test/test_branch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/test_branch.c -------------------------------------------------------------------------------- /test/test_syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hehao98/RISCV-Simulator/HEAD/test/test_syscall.c --------------------------------------------------------------------------------