Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chueating1005/computer-organization
NYCU 112-2 Course, Computer Organization
https://github.com/chueating1005/computer-organization
Last synced: about 19 hours ago
JSON representation
NYCU 112-2 Course, Computer Organization
- Host: GitHub
- URL: https://github.com/chueating1005/computer-organization
- Owner: ChuEating1005
- Created: 2024-02-29T06:50:58.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-05-09T11:22:53.000Z (8 months ago)
- Last Synced: 2024-05-10T04:39:02.216Z (8 months ago)
- Language: C++
- Size: 17.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NYCU 2024 Spring Course: Computer Organization
## Lab0
### Environment Setup
- OS: Ubuntu 22.04.4 LTS
- VM: Multipass
```
sudo apt-get install git perl python3 make autoconf g++ flex bison ccache help2man
sudo apt-get install libgoogle-perftools-dev numactl perl-doc
sudo apt-get install libfl2 # Ubuntu only (ignore if gives error)
sudo apt-get install libfl-dev # Ubuntu only (ignore if gives error)
sudo apt-get install zlibc zlib1g zlib1g-dev # Ubuntu only (ignore if gives error)git clone https://github.com/verilator/verilator # Only first time
unsetenv VERILATOR_ROOT # For csh; ignore error if on bash
unset VERILATOR_ROOT # For bash
cd verilator
git pull # Make sure git repository is up-to-date
git tag # See what versions exist
git checkout v5.008 # Switch to specified release versionautoconf # Create ./configure script
./configure # Configure and create Makefile
make -j `nproc` # Build Verilator itself (if error, try just 'make')
sudo make install
```
## Lab1
### Single Cycle CPU with Simple RISC-V Instruction
- `add`, `sub`, `and`, `or`, `slt`
- `addi`, `subi`, `andi`, `ori`, `slti`
- `lw`, `sw`
- `beq`## Lab2
### Single Cycle CPU with Branch Instruction
- `add`, `sub`, `and`, `or`, `slt`
- `addi`, `subi`, `andi`, `ori`, `slti`
- `lw`, `sw`
- `beq`, `bne`, `blt`, `bge`
- `jal`, `jalr`