--- title: Computer Architecture toc: no ... - Instructor: [Jim Huang](/User/jserv) (黃敬群) `` - Facebook Group: [https://www.facebook.com/groups/system.software2023/](https://www.facebook.com/groups/system.software2023) - 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 2023) ------------------------------------------------------ * Week 1 (Sep 5): Introduction - **[Course Introduction](https://docs.google.com/presentation/d/1Syfz3hNJtNH1G8i_n-ThyzH7BbUZ2Rmk-GGvoe6KvwI/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 12): Quiz + RISC-V / online via [YouTube](https://youtube.com/live/YAdl6owYnZU) - Announcement * There is an online quiz from 10:50 AM to 11:59 AM. * The first assignment, consisting of RISC-V assembly programming, will be given next week. - [Quiz1](https://hackmd.io/@sysprog/arch2023-quiz1): C programming, bit-wise operations, number representation, floating-point / [Solutions](https://hackmd.io/@sysprog/arch2023-quiz1-sol) - [RISC-V Instructions](https://docs.google.com/presentation/d/1qNVK8ULddo6luq0Rrjj_bmOShhcx9hlESN36AK91n6I/edit?usp=sharing) * Week 3 (Sep 19): RISC-V - Announcement: + Quiz2 is scheduled on Sep 26 * [2022 Quiz2](https://hackmd.io/@sysprog/arch2022-quiz2): RISC-V assembly and C programming / [solution](https://hackmd.io/@sysprog/arch2022-quiz2-sol) * [2021 Quiz2](https://hackmd.io/@sysprog/arch2021-quiz2): RISC-V assembly and C programming / [solution](https://hackmd.io/@sysprog/arch2021-quiz2-sol) + [Homework 1](https://hackmd.io/@sysprog/2023-arch-homework1) is out. + Code Review for [Homework 1](https://hackmd.io/@sysprog/2023-arch-homework1) on Oct 3 - Apple [A17 Pro](https://twitter.com/VadimYuryev/status/1702351628236718206) * 19 billion transistors compared to 16 billion on the A16. [further reading](https://twitter.com/VadimYuryev/status/1702401409885544551) * [graphics benchmark](https://twitter.com/VadimYuryev/status/1702505691314024646) * [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) - [RISC-V Summit China 2023](https://riscv-summit-china.com/) / [slides](https://github.com/cnrv/RVSC2023) - [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) * [The RISC-V Instruction Set Manual: Volume I: Unprivileged ISA](https://content.riscv.org/wp-content/uploads/2019/06/riscv-spec.pdf) - [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) - [Lab0: Web-based Emulators](https://hackmd.io/@sysprog/SJ7ht_MuS) - [Lab1: RV32I Assembly](https://hackmd.io/@sysprog/H1TpVYMdB) - Assignment: [Homework1: RISC-V Assembly and Instruction Pipeline](https://hackmd.io/@sysprog/2023-arch-homework1) (Due: Oct 10, 2023) * Week 4 (Sep 26): Quiz + RISC-V * Errata * [2023 Quiz1](https://hackmd.io/@sysprog/arch2023-quiz1-sol): Additional `x += (x >> 32)` statement in Problem A - [Quiz2](https://hackmd.io/@sysprog/arch2023-quiz2): RISC-V assembly and C programming / [solution](https://hackmd.io/@sysprog/arch2023-quiz2-sol) - [Fixed-point Arithmetic](https://hackmd.io/@maromaSamsa/HkjefPbFs) - [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/) - [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) * Week 5 (Oct 3): Code Review + RISC-V Instruction Format + GNU Toolchain - Announcement * On October 10th, we will be conducting a makeup lesson for the Computer Architecture course. Please visit this website for online class information (recording included). * [Homework2: RISC-V Toolchain](https://hackmd.io/@sysprog/2023-arch-homework2) is out. - Code Review on [Homework1: RISC-V Assembly and Instruction Pipeline](https://hackmd.io/@sysprog/2023-arch-homework1) - [Lab2: RISC-V RV32I[MACF] emulator with ELF support](https://hackmd.io/@sysprog/SJAR5XMmi) - Assignment: [Homework2: RISC-V Toolchain](https://hackmd.io/@sysprog/2023-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 6 (Oct 10): National Day | make up a lesson on Oct 12 night via [YouTube](https://youtube.com/live/l7sKCIMo9AY) * Announcement: - Given the consistent progress of the lecture, we will schedule a makeup lesson for 19:30 on October 12th via [YouTube](https://youtube.com/live/l7sKCIMo9AY). - [Homework2: RISC-V Toolchain](https://hackmd.io/@sysprog/2023-arch-homework2) is out. (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) * [online tool for RISC-V Instruction Encoder/Decoder](https://luplab.gitlab.io/rvcodecjs/) / [source code](https://gitlab.com/luplab/rvcodecjs) - Further reading [FPGA design for Software Engineers](https://www.walknsqualk.com/post/014-tiny-fpga-bx/) * Week 7 (Oct 17): Digital Systems * Announcement: - Quiz 3 is scheduled for Oct 24 and will cover RISC-V assembly programming, software optimizations, instruction encoding, sequential logic, and combinational logic. - Code Review for [Homework 2](https://hackmd.io/@sysprog/2023-arch-homework2) is scheduled for Oct 24. * [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) - [2022-Quiz3](https://hackmd.io/@sysprog/arch2022-quiz3) / [solution](https://hackmd.io/@sysprog/arch2022-quiz3-sol) * Week 8 (Oct 24): Quiz + Datapath and Control - [Quiz3](https://hackmd.io/@sysprog/arch2023-quiz3): RISC-V programming and instruction encoding + Digital systems / [solution](https://hackmd.io/@sysprog/arch2023-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 (Oct 31): [online via YouTube](https://youtube.com/live/WUpGwSrsz8g); Datapath and Control + Pipeline - Announcement: + New quiz is scheduled on Nov 14. + Code Review for [Homework 2](https://hackmd.io/@sysprog/2023-arch-homework2) is scheduled on N14. - video: [Are Computers Still Getting Faster?](https://youtu.be/IuLxX07isNg) - video: [Circuits recap](https://youtu.be/N36wWh0DriA) - Constructing Hardware in a Scala Embedded Language ([Chisel](https://github.com/chipsalliance/chisel)) is an open-source hardware description language (HDL) used to describe digital electronics and circuits at the register-transfer level that facilitates advanced circuit generation and design reuse for both ASIC and FPGA digital logic designs. * [slides](https://docs.google.com/presentation/d/1gMtABxBEDFbCFXN_-dPyvycNAyFROZKwk-HMcnxfTnU/edit#slide=id.p) * [Finite impulse response](https://en.wikipedia.org/wiki/Finite_impulse_response) (FIR) * [Learn Chisel online!](https://mybinder.org/v2/gh/freechipsproject/chisel-bootcamp/master) + Please run the cell blocks by either pressing SHIFT+ENTER on your keyboard - [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 7): Pipelined Processors - Announcement: + [Homework3](https://hackmd.io/@sysprog/2023-arch-homework3) is out. + Next week, we will continue reviewing all the assignments. + Quiz4 is scheduled next week. - [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) - [2022 Quiz4](https://hackmd.io/@sysprog/arch2022-quiz4) / [solution](https://hackmd.io/@sysprog/arch2022-quiz4-sol) / [annotated](https://hackmd.io/@0SHE18LgRsqRjsgqxIFjVA/SJxvlqOds) - [rv32emu](https://github.com/sysprog21/rv32emu) development * commit [c1b8db0](https://github.com/sysprog21/rv32emu/commit/c1b8db0edec677cf654d19065b09db666bbd5b4f) successfully resolved a known issue that was preventing Doom from launching. * However, Quake renders incorrectly. ([#258](https://github.com/sysprog21/rv32emu/issues/258)) - [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: Construct a single-cycle CPU with Chisel](https://hackmd.io/@sysprog/r1mlr3I7p) - Assignment: [Homework3: Single-cycle CPU in Chisel](https://hackmd.io/@sysprog/2023-arch-homework3) (Due: Dec 1, 2023) * Week 11 (Nov 14): Quiz + Homework Review - [Quiz4](https://hackmd.io/@sysprog/arch2023-quiz4): RISC-V programming + datapath + control + pipelined processor / [solution](https://hackmd.io/@sysprog/arch2023-quiz4-sol) - [Homework1](https://hackmd.io/@sysprog/2023-arch-homework1), [Homework2](https://hackmd.io/@sysprog/2023-arch-homework2) - [Complex Pipelines, Out-of-Order Issue, Register Renaming](https://inst.eecs.berkeley.edu/~cs152/sp19/lectures/L10-ComplexPipes.pdf) * Week 12 (Nov 21): Cache + Virtual Memory * Announcement * Term projects will be listed on Nov 28 * [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) * Recall: [The golden age of ever-changing computer architecture](https://hackaday.com/2019/11/27/the-golden-age-of-ever-changing-computer-architecture/) * [The next big tech war front: RISC-V](https://asiatimes.com/2023/11/the-next-big-tech-war-front-risc-v/) * [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 28): Quiz + Virtual Memory + Operating System - 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 5): Synchronization - Announcement: * 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 12): Operating System, Multithreading - 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) * Week16 (Dec 19): Multithreading, Synchronization, I/O - [Quiz6](https://hackmd.io/@sysprog/arch2022-quiz6) / [solution](https://hackmd.io/@sysprog/arch2022-quiz6-sol) - [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 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 ``. - [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 - [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)