Skip to content

My solutions for UC Berkeley's CS61C lab, Fall 2020 Great Ideas in Computer Architecture (Machine Structures)

Notifications You must be signed in to change notification settings

SMS-Derfflinger/CS61C-fa20-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fa20-lab

This repository contains my solutions to the CS61C-fa20 labs

lab

  • lab00 Intro and Set Up
  • lab01 Number Rep, C and CGDB
  • lab02 Advanced C
    • Exercise by implementing the bit manipulation functions
    • Implement a function to compute the next iteration of a linear feedback shift register (LFSR).
    • Familiarize with C structs and memory management.
  • lab03 RISCV Assembly
    • Practice running and debugging RISC-V assembly code.
    • Write RISC-V functions with the correct function calling procedure.
    • Get an idea of how to translate C code to RISC-V.
    • Get familiar with using the Venus simulator.
  • lab04 RISCV Functions, Pointers
    • Practice debugging RISC-V assembly code.
    • Write RISC-V functions that use pointers.
  • lab05 Logisim
    • Practice designing and debugging basic digital logic circuits in Logisim
    • Gain experience designing FSMs and implementing them as digital logic
  • lab06 Pipelining and CPU
    • Add a register to divide the multiplication and addition stages up to Complete the sub-circuit pipelined.
  • lab07 Caches
    • Analyze how memory access patterns determine cache hit rates
    • Analyze and discover which memory access patterns produce GOOD hit rates
    • Analyze hit rates for caches and be able to optimize code accesses to produce good hit rates
  • lab08 OS (context switch), I/O, DMA, Disks, Networking & Virtual Memory
    • Analyze TLB hit rate and Page Table hit rate and figure out what accesses optimize these values.
  • lab09 SIMD Instructions
    • Learn about and use various SIMD functions to perform data level parallelism
    • Write code to SIMD-ize certain functions
    • Learn about loop-unrolling and why it works
  • lab10 Thread Level Parallelism
    • Learn about basic OpenMP directives.
    • Learn about basic multi-processing programming.
  • lab11 Spark/Dependability (not available)

project

You can see the introduction of this project on the course's home page: course website, or in this website: cs61c.

About

My solutions for UC Berkeley's CS61C lab, Fall 2020 Great Ideas in Computer Architecture (Machine Structures)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published