Skip to content

This repo contains homework, labs and projects done during the course Computer Architecture (CS110) Spring 2020 at Shanghaitech University.

Notifications You must be signed in to change notification settings

MercurialJD/Computer-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer-Architecture

This repo contains homework, labs, and projects done during the course Computer Architecture (CS110) Spring 2020 at Shanghaitech University, in cooperation with Silverhza.

Detailed descriptions of homework, labs, and projects are provided within corresponding folders, in case you want to take a look at the requirements.

Note: You may get inspirations from my work but you should NEVER copy any part of my code or assignments.

Summaries

Brief summaries for each homework/lab/project are listed below, but you may want to refer to detailed descriptions provided within the corresponding folder.

Homework

  • HW1

    1. Logistics, Not included in this repo
  • HW2

    1. Vector Implementation in C
    2. Libraries
  • HW3

    1. Binary Search Tree in RISC-V
  • HW4

    1. Boolean Algebra
    2. Logic Gates
    3. FSM and SDS
  • HW5

    1. Solving Shortest Path Problem Using POSIX Threads
  • HW6

    1. Direct Mapped Cache
    2. Two-way Set Associative Cache
    3. Floating Point Numbers
  • HW7

    1. Vector Implementation in C++
  • HW8

    1. Virtual Memory
    2. Memory Access
    3. Meltdown

Labs

  • Lab 1

    1. Have a 64bit Linux Installed on Your Laptop
    2. Autolab
    3. Binary Alphabet
    4. 1000 $1 Bills
    5. Sizes
  • Lab 2

    1. Familiarizing Yourself with Venus
    2. Translating from C to RISC-V
    3. Factorial
  • Lab 3

    1. Bit Operations
    2. Catch Those bugs!
    3. Memory Management
  • Lab 4

    1. Implement "map" with RISC-V
    2. Implement "n choose k" with RISC-V
    3. Implement "firstlpos" with RISC-V
  • Lab 5

    1. Warm Up with Logisim
    2. Sub-Circuits
    3. Storing State
    4. FSMs to Digital Logic
  • Lab 6 (Extended from Lab5)

    1. Practice with Splitters
    2. Rotate Right
  • Lab 7

    1. Inefficiencies Everywhere
    2. Pipe That Line
  • Lab 8

    1. Cache Visualization
    2. Loop Ordering and Matrix Multiplication
    3. Cache Blocking and Matrix Transposition
  • Lab 9

    1. Familiarize Yourself with SIMD
    2. Reading SIMD Code
    3. Writing SIMD Code
    4. Loop Unrolling
    5. Switch on Compiler Optimization
  • Lab 10

    1. OpenMP Hello World
    2. Vector Addition
    3. Dot Product
  • Lab 11

    1. Longan Nano Hello World
    2. Draw Something in RISC-V!
  • Lab 12

    1. Environment Setup
    2. How Many Documents Does Each Word Appear In?
    3. Full Text Index Creation
    4. What's The Most Popular Word?
  • Lab 13

    1. Sanity Check
    2. Working with CAMERA
    3. Misses
    4. Fixing Our Faults

Projects

  • Project 1

    1. RISC-V Instruction Set Disassembler
    2. Complete RISC-V Instruction Set Emulator
  • Project 2

    1. Implement ALU and Regfile Using Logisim
    2. Implement CPU Using Logisim
  • Project 3

    1. Performance Programming
  • Project 4

    1. Longan Nano Pong Game/ Other Game

About

This repo contains homework, labs and projects done during the course Computer Architecture (CS110) Spring 2020 at Shanghaitech University.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published