分享到plurk 分享到twitter 分享到facebook

版本 ec4ec3aa4100d894e14b0cdd432fee1fb10f8e7e

arch/schedule

Changes from ec4ec3aa4100d894e14b0cdd432fee1fb10f8e7e to 93403fd14e59283b540e3422e0e2c8b8d3789eea

---
title: Computer Architecture
toc: no
...

- Instructor: [Jim Huang](/User/jserv) (黃敬群) `<jserv.tw@gmail.com>`
- Facebook Group: [https://www.facebook.com/groups/system.software2022/](https://www.facebook.com/groups/system.software2022/)
- Policy
    * Follow the classes: [CS 61C at UC Berkeley](https://cs61c.org/), [CS152/252: Computer Architecture](https://inst.eecs.berkeley.edu/~cs152/)
- Course grading
    * Quiz (30%), Homework (30%), Final/Term Project (40%)
- **Schedule is tentative and subject to change!**

Computer Architecture (Fall 2022)
Computer Architecture (Fall 2023)
------------------------------------------------------
* Week 1 (Sep 6): Introduction / Online via [YouTube](https://youtu.be/kchwRBGRIHk)
* Week 1 (Sep 5): Introduction / Online via [YouTube](https://youtu.be/kchwRBGRIHk)
    - **[Course Introduction](https://docs.google.com/presentation/d/1RVjrp1bkVqVu-L9JF1QKfXw6tmdIyIEMxuWW5M-2Zpg/edit?usp=sharing)**
    - [David Patterson](https://en.wikipedia.org/wiki/David_Patterson_(computer_scientist)): [A New Golden Age for Computer Architecture: History, Challenges and Opportunities](https://content.riscv.org/wp-content/uploads/2018/12/A-New-Golden-Age-for-Computer-Architecture-History-Challenges-and-Opportunities-David-Patterson-.pdf) / [video](https://youtu.be/uyc_pDBJotI)
        * [Article](https://cacm.acm.org/magazines/2019/2/234352-a-new-golden-age-for-computer-architecture/fulltext), [note](https://github.com/cristiean/notes/blob/4c4ceb291ba68c55659ab0d4571385c8cccacd21/a-new-golden-age-for-computer-architecture.md)
    - David Patterson: [From Mainframe CPUs to Neural-Network TPUs and Open RISC-V](https://riscv.org/wp-content/uploads/2017/05/Mon0915-RISC-V-50-Years-Computer-Arch.pdf) / [video](https://youtu.be/eH9_ygsio3I) 
    - [Great Ideas in Computer Architecture, Intro](https://drive.google.com/open?id=1Y4yUaw9vryZcdc4Xu0RQxHfqjVbeHJLF) / [video](https://youtu.be/u_hXH5-tbM4?t=263)
    - [Number Representation](https://docs.google.com/presentation/d/16NxuCn9wjjV9_WYqkdLGhYaxbmIhkhj0/edit?usp=sharing) / [video](https://www.youtube.com/watch?v=DWmHvlFFfLI&list=PLDoI-XvXO0aqgoMQvogzmf7CKiSMSUS3M&index=4)
    - [Floating Point](https://docs.google.com/presentation/d/166v96_iwGaq_RWB6Y_Wg7DBA8sZciP21R7Gf0ZDXbMQ/edit?usp=sharing) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0apCExy6OTfkoaciJtfA8hir)
    - [C Memory Management](https://docs.google.com/presentation/d/14N0cWG2SnBSqhc2cLF0_2VerB9FF8JN3/edit?usp=sharing) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqxW0XGUcDl5r0m_eRU30C9)

* Week 2 (Sep 13): Quiz + RISC-V / Online via [YouTube](https://youtu.be/jsdPoMHs-4A)
* Week 2 (Sep 12): Quiz + RISC-V / Online via [YouTube](https://youtu.be/jsdPoMHs-4A)
    - [Quiz1](https://hackmd.io/@sysprog/arch2022-quiz1): C programming, bit-wise operations, number representation, floating-point / [Solution](https://hackmd.io/@sysprog/arch2022-quiz1-sol)
    - [Lab0: Web-based Emulators](https://hackmd.io/@sysprog/SJ7ht_MuS)
    - [RISC-V Instructions](https://docs.google.com/presentation/d/1qNVK8ULddo6luq0Rrjj_bmOShhcx9hlESN36AK91n6I/edit?usp=sharing)
        * [The RISC-V Instruction Set Manual: Volume I: Unprivileged ISA](https://content.riscv.org/wp-content/uploads/2019/06/riscv-spec.pdf)
    - [Intro to Assembly Language and RISC-V](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec06.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqsesqf46rxjtV2mkiwJOmr)

* Week 3 (Sep 20): RISC-V / Online via [YouTube](https://youtu.be/cvhacDLd6QU)
* Week 3 (Sep 19): RISC-V / Online via [YouTube](https://youtu.be/cvhacDLd6QU)
    - [Intro to Assembly Language and RISC-V](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec06.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqsesqf46rxjtV2mkiwJOmr)
        * [RISC-V Assembly Programmer's Manual](https://github.com/riscv/riscv-asm-manual/blob/master/riscv-asm.md)
    - [RISC-V Data Transfer](https://docs.google.com/presentation/d/1JpRRi2eEbe-UqtvdZ_pK7CjcYJ6vk9e1/edit?usp=sharing) / [video](https://youtu.be/5hwH9ofpNzI)
    - [RISC-V Decision Making](https://docs.google.com/presentation/d/1Pob0JPeMH8umHN4FYPc9ZuJ3ndsaDvuI/edit?usp=sharing)
    - [Functions Calls with RISC-V](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec07.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0apCzwwwJGKn2p57tnhtSIIz)
    - [Lab1: RV32I Simulator](https://hackmd.io/@sysprog/H1TpVYMdB)
    - Assignment: [Homework1: RISC-V Assembly and Instruction Pipeline](https://hackmd.io/@sysprog/2022-arch-homework1) (Due: Oct 10, 2022)

* Week 4 (Sep 27): RISC-V / Online via [YouTube](https://youtu.be/sDYkKuoqGbk)
* Week 4 (Sep 26): RISC-V / Online via [YouTube](https://youtu.be/sDYkKuoqGbk)
    - Announcement:
        + Next quiz is scheduled to Oct 4
        + Code Review for [Homework 1](https://hackmd.io/@sysprog/2022-arch-homework1) on Oct 4
    - [NASA, Microchip, SiFive Announces Partnership for RISC-V Spaceflight Computing Platform](https://www.hackster.io/news/nasa-microchip-sifive-announces-partnership-for-risc-v-spaceflight-computing-platform-f52c55cf14f6)
    - [ST, CAES team on octacore RISC-V space chip with selectable cores](https://www.eenewseurope.com/en/st-to-make-european-octacore-risc-v-space-chip-with-selectable-cores/)
    - Apple M1 Pro/Max
        + [ARM1 (1985) vs. Apple M1 Max (2021)](https://twitter.com/kenshirriff/status/1450179024639049731)
        + [Apple Announces M1 Pro & M1 Max: Giant New Arm SoCs with All-Out Performance](https://www.anandtech.com/show/17019/apple-announced-m1-pro-m1-max-giant-new-socs-with-allout-performance) / [Apple M2](https://en.wikipedia.org/wiki/Apple_M2)
    - [Calling Convention for RISC-V](https://docs.google.com/presentation/d/10-LTD_zwQO23yxRNGL1gOpYmab8rDFsv/edit?usp=sharing) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0apCzwwwJGKn2p57tnhtSIIz)
    - [CALL = Compiling, Assembling, Linking, and Loading](https://docs.google.com/presentation/d/1Kiu675d7Q0NimIvdtxkXE5kp8-jLDmIt/edit?usp=sharing&ouid=113685665535544054506&rtpof=true&sd=true) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aoprCVNj3PG1kx7DTm3Qs6q)
    - [2021-Quiz2](https://hackmd.io/@sysprog/arch2021-quiz2) / [solution](https://hackmd.io/@sysprog/arch2021-quiz2-sol)

* Week 5 (Oct 4): Quiz + Code Review (Room 4201 (1F) at (old) CSIE Building)
* Week 5 (Oct 3): Quiz + Code Review (Room 4201 (1F) at (old) CSIE Building)
    - [Quiz2](https://hackmd.io/@sysprog/arch2022-quiz2): RISC-V assembly and C programming / [solution](https://hackmd.io/@sysprog/arch2022-quiz2-sol)
    - Code Review on [Homework1: RISC-V Assembly and Instruction Pipeline](https://hackmd.io/@sysprog/2022-arch-homework1)

* Week 6 (Oct 11): RISC-V Instruction Format + GNU Toolchain / Online via [YouTube](https://youtu.be/FVWqem0xMas)
* Week 6 (Oct 10): RISC-V Instruction Format + GNU Toolchain / Online via [YouTube](https://youtu.be/FVWqem0xMas)
    - Next week: [digital logic](https://www.ptt.cc/bbs/Soft_Job/M.1587694288.A.3B5.html)
    - Further reading [FPGA design for Software Engineers](https://www.walknsqualk.com/post/014-tiny-fpga-bx/)
    - [Lab2: RISC-V RV32I[MACF] emulator with ELF support](https://hackmd.io/@sysprog/SJAR5XMmi)
    - Assignment: [Homework2: RISC-V Toolchain](https://hackmd.io/@sysprog/2022-arch-homework2) (Due: Oct 31)
    - RISC-V Instruction Formats [Part I](https://docs.google.com/presentation/d/1k5qJyfuyk3ITzOfK0cIosyNl0nh1o9UC/edit?usp=sharing) / [Part II](https://docs.google.com/presentation/d/19Zt2UpvJDerRPn2P2XkgcxkhXKIuWJ1g/edit?usp=sharing) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0apqzuxnUN2fkwt1IGbu3km3)

* Week 7 (Oct 18): Digital Systems / Online via [YouTube](https://youtu.be/zqF2bE6Dw1o)
* Week 7 (Oct 17): Digital Systems / Online via [YouTube](https://youtu.be/zqF2bE6Dw1o)
    * Announcement: New quiz is scheduled on Oct 25
    * [Binary marble adding machine](https://woodgears.ca/marbleadd/) / [video](https://youtu.be/GcDshWmhF4A)
        - Yes, you can implement a few logic-like elements without electricity.
        - Logic gates are primarily implemented using diodes or transistors acting as electronic switches, but can also be constructed using vacuum tubes, electromagnetic relays (relay logic), fluidic logic, pneumatic logic, optics, molecules, or even mechanical elements. Now, most logic gates are made from MOSFETs (metal–oxide–semiconductor field-effect transistors).
    - [nand2tetris](https://www.nand2tetris.org/)
    - [Synchronous Digital Systems (SDS)](https://docs.google.com/presentation/d/1WOxk6JPmCxXuGfkX1A3Ocuiy4N-fyv76/edit?usp=sharing), [Boolean Algebra](https://docs.google.com/presentation/d/10bIPEobQ-O42TV97ggTfRcDUJ7vz5YB4/edit?usp=sharing) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0ap04XFOxcFT2_Bflnz_RHWU)
        + sequential logic is a type of logic circuit whose output depends on the present value of its input signals and on the sequence of past inputs, the input history.
    - [State](https://docs.google.com/presentation/d/1AemtUUV207IXLP7j07RFOh-NLrKLSew_/edit?usp=sharing), [Combinational Logic](https://docs.google.com/presentation/d/1h0hoIl1bc2f9fUeoEGmaUHoAtf9zL5JS/edit?usp=sharing) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0arH8SCGZilk8Wn_2B45SOpW)
    - [2020-Quiz3](https://hackmd.io/@sysprog/arch2020-quiz3) / [solution](https://hackmd.io/@sysprog/arch2020-quiz3-sol)
    - [2021-Quiz3](https://hackmd.io/@sysprog/arch2021-quiz3) / [solution](https://hackmd.io/@sysprog/arch2021-quiz3-sol)
    - [2021-Quiz4](https://hackmd.io/@sysprog/arch2021-quiz4) / [solution](https://hackmd.io/@sysprog/arch2021-quiz4-sol)

* Week 8 (Oct 25): Datapath and Control + Code Review (Room 4201 (1F) at (old) CSIE Building)
* Week 8 (Oct 24): Datapath and Control + Code Review (Room 4201 (1F) at (old) CSIE Building)
    - [Quiz3](https://hackmd.io/@sysprog/arch2022-quiz3): RISC-V programming and instruction encoding + Digital systems / [solution](https://hackmd.io/@sysprog/arch2022-quiz3-sol)
    - [RISC-V CPU Datapath](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec12.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0arQ_gDRnVS4ams3sUajgfEL)

* Week 9 (Nov 1): Pipeline / Online via [YouTube](https://youtu.be/JbOQSCBP4TE)
* Week 9 (Oct 31): Pipeline / Online via [YouTube](https://youtu.be/JbOQSCBP4TE)
    - video: [Are Computers Still Getting Faster?](https://youtu.be/IuLxX07isNg)
    - video: [Circuits recap](https://youtu.be/N36wWh0DriA)
    - [RISC-V CPU Datapath](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec12.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0arQ_gDRnVS4ams3sUajgfEL)
        + [slides](https://docs.google.com/presentation/d/1SbeyDTycsb97201QvzxGa4CmE9bmRDyd/edit?usp=sharing)
    - [Single-Cycle CPU Control](https://drive.google.com/drive/folders/1QAqqFyQUAu8GE_FvvqGHlF_Nk5VKzleC) / [video](https://youtu.be/0WnPU46zjbA)
        + [slides](https://docs.google.com/presentation/d/1UvXegiqDEGa5IOWMnnybxK4jftMY7MOF/edit?usp=sharing)
    - MIT 6.191 [L15: Introduction to Pipelining](https://youtu.be/5NQkhqZe8_8), [L16: Processor Pipelining](https://youtu.be/TMpjvAvQCWA)
        * [note](https://computationstructures.org/lectures/pbeta/pbeta.html)

* Week 10 (Nov 8): Pipelined Processors / Online via [YouTube](https://youtu.be/vCWsFahh5kQ)
* Week 10 (Nov 7): Pipelined Processors / Online via [YouTube](https://youtu.be/vCWsFahh5kQ)
    - Announcement:
        + The next quiz is planned on Nov 15.
        + Homework3 [SoftCPU](https://hackmd.io/@sysprog/2022-arch-homework3) is out.
        + Next week, we will review all the assignments.
    - Recent [rv32emu](https://github.com/sysprog21/rv32emu) changes
        + More descriptions about system calls. See [docs/syscall.md](https://github.com/sysprog21/rv32emu/blob/master/docs/syscall.md)
        + Implement `clock_gettime` system call, so that you can call `gettimeofday`/`clock_gettime` in C programs.
        + Implement [user-level counters](https://github.com/riscv/riscv-isa-manual) for getting CPU cycle counts in RISC-V programs. See [tests/perfcounter](https://github.com/sysprog21/rv32emu/tree/master/tests/perfcounter) for sample usage.
        + Better experiences while [running Doom and Quake games](https://github.com/sysprog21/rv32emu/blob/master/docs/demo.md). You can resize the window and use mouse properly.
        + More test programs: jit-bf (JIT assembler for RISC-V), coro (a simple coroutine implementation for RISC-V), mandelbrot (an ASCII-based renderer for Mandelbrot Set, colorized), richards (an operating system task scheduler simulation benchmark), and chacha20 (stream cipher)
        + More comments in source files. 
    - [0 to ASIC](https://docs.google.com/presentation/d/14npvuiGxsS3C-yo2vOsbZpNKGehwTtIYRFN6k3ZVR4M/edit#slide=id.p)
    - [L16: Processor Pipelining](https://youtu.be/TMpjvAvQCWA), [L17: Implementing Pipelining](https://youtu.be/Pr3-iFE-nCQ), [L18: Implementing Pipelined Processors](https://youtu.be/WdbCaCoOgVY) / [note](https://computationstructures.org/lectures/pbeta/pbeta.html)
    - [RISC-V 5-Stage Pipeline / Hazards](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec14.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aq-xpoKcmd7X9w-l6KHiNMa)
    - [Lab3: srv32 - RISCV RV32IM Soft CPU](https://hackmd.io/@sysprog/S1Udn1Xtt)
    - Assignment: [Homework3: SoftCPU](https://hackmd.io/@sysprog/2022-arch-homework3)  (Due: Nov 30, 2022)
    - [2020 Quiz4](https://hackmd.io/@sysprog/arch2020-quiz4) / [solution](https://hackmd.io/@sysprog/arch2020-quiz4-sol)
    - [2021 Quiz5](https://hackmd.io/@sysprog/arch2021-quiz5) / [solution](https://hackmd.io/@sysprog/arch2021-quiz5-sol) / [annotated with Ripes](https://hackmd.io/@wIVnCcUaTouAktrkMVLEMA/rkm8OkOjF)

* Week 11 (Nov 15): Quiz + Homework Review (Room 4201 (1F) at (old) CSIE Building)
* Week 11 (Nov 14): Quiz + Homework Review (Room 4201 (1F) at (old) CSIE Building)
    - [Quiz4](https://hackmd.io/@sysprog/arch2022-quiz4): RISC-V programming + datapath + control + pipelined processor / [solution](https://hackmd.io/@sysprog/arch2022-quiz4-sol)
    - [Homework1](https://hackmd.io/@sysprog/2022-arch-homework1), [Homework2](https://hackmd.io/@sysprog/2022-arch-homework2)
    - [Complex Pipelines, Out-of-Order Issue, Register Renaming](https://inst.eecs.berkeley.edu/~cs152/sp19/lectures/L10-ComplexPipes.pdf)

* Week 12 (Nov 22): Cache + Virtual Memory / Online via [YouTube](https://youtu.be/K8B8eCpGBp0)
* Week 12 (Nov 21): Cache + Virtual Memory / Online via [YouTube](https://youtu.be/K8B8eCpGBp0)
    * Announcement
        * Quiz on Nov 29 - pipeline, cache and virtual memory (partial)
        * Term projects will be listed on Nov 29
    * [Caches: Direct-mapped, set-associative](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec16.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0apRiQ2QPjzyq8APGEjnqW1w)
    * [Multi-level Caches, Cache Questions](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec17.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqHsuO6U2bIpwDGqO6UAetk)
    * [The golden age of ever-changing computer architecture](https://hackaday.com/2019/11/27/the-golden-age-of-ever-changing-computer-architecture/)
        * [Computing on Andromeda: Chip Company Releases 13.5M Core Supercomputer](https://www.allaboutcircuits.com/news/computing-on-andromeda-chip-company-releases-13.5m-core-supercomputer/)
        * [Designing in 2023: 10 Problems to Solve w/ Jim Keller](https://youtu.be/o70yKYWgtVI) - [Tenstorrent](https://tenstorrent.com/)
 8-wide Ascalon RISC-V core.
    * [Virtual Memory](https://youtu.be/TsxZlXOrt8U) / UCB: [Virtual Memory](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec19.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0ar2Wia7JngBFMmwRlr4s79j)
    * [2021-Qui6](https://hackmd.io/@sysprog/arch2021-quiz6) / [solution](https://hackmd.io/@sysprog/arch2021-quiz6-sol) / [with Ripes simulation](https://hackmd.io/@arthur-chang/SyLa2qb3Y)
    * [2020-Quiz5](https://hackmd.io/@sysprog/arch2020-quiz5) / [solution](https://hackmd.io/@sysprog/arch2020-quiz5-sol)
 
* Week13 (Nov 29): Quiz + Virtual Memory + Operating System (Room 4201 (1F) at (old) CSIE Building)
* Week13 (Nov 28): Quiz + Virtual Memory + Operating System (Room 4201 (1F) at (old) CSIE Building)
    - Announcement:
        + Be aware of [Term projects](https://hackmd.io/@sysprog/arch2022-projects)
    - [Quiz5](https://hackmd.io/@sysprog/arch2022-quiz5): pipelined processor + cache + virtual memory / [solution](https://hackmd.io/@sysprog/arch2022-quiz5-sol)
    - [Virtual Memory](https://6004.mit.edu/web/_static/fall21/resources/sp21/L18.pdf) / [video](https://youtu.be/TsxZlXOrt8U)
    - [Lab4: Cache](https://cs61c.org/fa20/labs/lab08/)
        + [Reference work](https://hackmd.io/@Lt35rTMeTi22rWqrBgSQzg/SkXXQ_LJ8)
    - [Operating Systems](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec18.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0arq3vh2gcLvr5isLK4CuK3B)

* Week14 (Dec 6): Synchronization / Online via [YouTube](https://youtu.be/YNd5Dg2HfT8)
* Week14 (Dec 5): Synchronization / Online via [YouTube](https://youtu.be/YNd5Dg2HfT8)
    - Announcement:
        * Quiz6 on Dec 13
        * Check the listing of [final/term projects](https://hackmd.io/@sysprog/arch2022-projects) and fill in your names.
    - [Apple Silicon Guide](https://github.com/mikeroyal/Apple-Silicon-Guide)
    - [Debunking CISC vs RISC code density](https://www.bitsnbites.eu/cisc-vs-risc-code-density/)
    - [Operating Systems](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec18.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0arq3vh2gcLvr5isLK4CuK3B)
    - [Synchronization](https://youtu.be/r8H_af_dCF0)
        + Please check your operating system textbook for such topic.
    - [Thread-Level Parallelism](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec22.pdf) / [video](https://youtu.be/QLdN6p7-43U)
        + Let's skip OpenMP part
    - [Multithreading Issues + Cache Coherency](https://inst.eecs.berkeley.edu/~cs61c/su20/pdfs/lectures/lec23.pdf) / [video](https://www.youtube.com/playlist?list=PLDoI-XvXO0aqgj_8Og51XoE7iyAu5yEWZ)
    - [2021 Quiz7](https://hackmd.io/@sysprog/arch2021-quiz6) /[solution](https://hackmd.io/@sysprog/arch2021-quiz7-sol)
    - [2021 Quiz6](https://hackmd.io/@sysprog/arch2021-quiz6) /[solution](https://hackmd.io/@sysprog/arch2021-quiz6-sol)
    - [2020 Quiz6](https://hackmd.io/@sysprog/arch2020-quiz6) /[solution](https://hackmd.io/@sysprog/arch2020-quiz6-sol)

* Week15 (Dec 13): suspended
* Week15 (Dec 12): suspended
    - Announcement:
        * Quiz6 will be postponed to Dec 20
        * Quiz7 on Dec 27
        * Check [the listing of final/term projects](https://hackmd.io/@sysprog/arch2022-projects)
 
* Week16 (Dec 20): Multithreading, Synchronization, I/O
* Week16 (Dec 19): Multithreading, Synchronization, I/O
    - [Quiz6](https://hackmd.io/@sysprog/arch2022-quiz6) / [solution](https://hackmd.io/@sysprog/arch2022-quiz6-sol)
    - video: [The Future of Operating Systems on RISC-V](https://youtu.be/emnN9p4vhzk) / [transcript](https://www.infoq.com/presentations/risc-v-future/)
    - [Freestanding RISC-V Programs](https://youtu.be/iml0DBo5yqo)
        + [bare metal](https://en.wikipedia.org/wiki/Bare_machine)
    - [Multithreaded Application Synchronization Part I](https://youtu.be/kk8q5rwm1ZI)
        + Taken from [CSCI 463: Computer Architecture and Systems Organization](http://faculty.cs.niu.edu/~winans/CS463/2021-fa/)
        + [RISC-V spec references the word 'hart' - what does 'hart' mean?](https://stackoverflow.com/questions/42676827/risc-v-spec-references-the-word-hart-what-does-hart-mean)
    - [Multithreaded Application Synchronization Part II](https://youtu.be/dAVZTHxC16w)
        + RISC-V AMOSWAP instruction
    - [Advanced topics on Synchronization - 1](https://inst.eecs.berkeley.edu/~cs152/sp20/lectures/L19-MCM.pdf)
    - [Advanced topics on Synchronization - 2](https://inst.eecs.berkeley.edu/~cs152/sp20/lectures/L22-Synch.pdf)
    - [I/O: Devices, Polling, Interrupts](https://drive.google.com/drive/folders/1NRoyYSbAyarMhmPD5LiY6YEqYpLoZx_s) / [video](https://youtu.be/0dyqcFC_q2Q?t=1247)
        * Traps/Interrupts/Exceptions
        * Trap Handling in 5-Stage Pipeline

* Week17 (Dec 27): Modern Processors
* Week17 (Dec 26): Modern Processors
    - [Quiz7](https://hackmd.io/@sysprog/arch2022-quiz7) / [solution](https://hackmd.io/@sysprog/arch2022-quiz7-sol)
    - [listing of final/term projects](https://hackmd.io/@sysprog/arch2022-projects)
        * You must provide the materials and demonstrate to the lecturer before Jan 13, 2023.
        * Summarize what you did and send email to `<jserv.tw@gmail.com>`.
    - [Modern Processor Architecture](https://youtu.be/sbGtFtxqkkg)
    - [Introduction to Dynamic Branch Prediction](https://youtu.be/PFmx2p6NA0A), [Advanced Branch Prediction](https://youtu.be/avp3bDqCXYM), [Tournament Predictors and Branch Prediction Accuracy](https://youtu.be/-T8yDJ8vTuI)
    - Project: [Analyze and improve srv32](https://hackmd.io/@peishan/HkJrtKpoY)
    - [Hardware Based Speculation](https://youtu.be/mFtX28lH4O8)

* Week 18 (Jan 2): Modern Processors / Online via [YouTube](https://youtu.be/WywOTj55mvk)
    - [Modern Processor Architecture](https://youtu.be/sbGtFtxqkkg)
    - [Introduction to Dynamic Branch Prediction](https://youtu.be/PFmx2p6NA0A), [Advanced Branch Prediction](https://youtu.be/avp3bDqCXYM), [Tournament Predictors and Branch Prediction Accuracy](https://youtu.be/-T8yDJ8vTuI)
    - Project: [Analyze and improve srv32](https://hackmd.io/@peishan/HkJrtKpoY)
    - [Hardware Based Speculation](https://youtu.be/mFtX28lH4O8)
        * [Speculative Processor Vulnerability](https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability)
        * [Spectre-BHB](https://developer.arm.com/Arm%20Security%20Center/Spectre-BHB)
    - Case study: [VRoom](https://moonbaseotago.github.io/) - very high end RISC-V implementation, cloud server class, out of order, super scalar, speculative, up to 8 IPC
        * [slides](https://moonbaseotago.github.io/talk/) / [List of ARM processors](https://en.wikipedia.org/wiki/List_of_ARM_processors)
    - [RISC vs. CISC](https://yarchive.net/comp/risc_definition.html) by [John Mashey](https://en.wikipedia.org/wiki/John_Mashey), one of the founders of the Standard Performance Evaluation Corporation (SPEC) benchmarking group.
        * [HackerNews](https://news.ycombinator.com/item?id=34196370)