snurisc5
and snurisc6
). It will be a closed-book exam. Please note that the 1-page cheat sheet will not be allowed for the final exam.
(Posted Dec 8, 2020)
(Posted Nov 30, 2020)
(Posted Nov 25, 2020)
The following schedule is tentative and subject to change without notice.
Day | Topic | Reading |
---|---|---|
9/2 | Course Overview (Online) | |
9/7 | Introduction to Computer Architecture (Online) | Chap. 1 (except 1.6, 1.9) |
9/9 | Integers (Online) | Chap. 2.4, 3.1-3.4, 3.6 |
9/10 | Lab. session #1 @ 7:00pm (Online) | |
9/14 | ||
9/16 | ||
9/21 | Floating Points (Online) | Chap. 2.3, 2.9, 3.5, 3.9-3.10 |
9/23 | ||
9/28 | ||
9/28 | Lab. session #2 @ 7:00pm (Online) | |
9/30 | National Holiday | |
10/5 | RISC-V Architecture I (Online) | Chap. 2.1-2.3, 2.6 |
10/7 | ||
10/12 | RISC-V Architecture II (Online) | Chap. 2.7-2.8, 2.10, 2.13-2.14 |
10/14 | ||
10/19 | Midterm Exam (Offline) | |
10/21 | ||
10/26 | Machine-level Representation of Programs (Online) | Chap. 2.5, 2.12, 2.16-2.20 |
10/26 | Lab. session #3 @ 7:00pm (Online) | |
10/28 | Sequential Processor (Updated on Nov. 9) (Online) | Chap. 4.1-4.4 |
11/2 | ||
11/4 | ||
11/9 | Pipelining (Online) | Chap. 4.5 |
11/11 | Pipeline Hazards (Online) | Chap. 4.6-4.9 |
11/16 | ||
11/18 | ||
11/20 | Invited Talk @ 2:00pm: The Behind Story, Present, and Future of RISC-V from a RISC-V Co-Inventor (Yunsup Lee, SiFive, Inc.) (Online) | |
11/23 | Memory Hierarchy (Online) | Chap. 5.1-5.2 |
11/25 | Cache (Online) | Chap. 5.3 |
Lab. session #4 @ 7:00pm (Online) | ||
11/26 | Performance (Supplementary Class @ 7:00pm) (Online) | Chap. 1.6, 1.9, 2.13 |
11/30 | Cache Optimization (Online) | Chap. 5.4 |
12/2 | ||
12/4 | Advanced Processor Architecture (Supplementary Class @ 7:00pm)(Online) | Chap. 4.10-4.11, 4.14-4.15 |
12/7 | Virtual Memory (Online) | Chap. 5.7-5.8, 5.13, 5.16-5.17 |
12/9 | ||
12/14 | Final Exam (Offline) |
Credit: Most of slides for this lecture are based on materials provided by the textbook publisher.
For project submission and automatic grading, we are running a dedicated server at http://sys.snu.ac.kr. If you want to access the sys server outside of the SNU campus, please send a mail to the TAs at snucsl.ta AT gmail.
The goal of this project is to understand how a pipelined processor works. You need to build a 6-stage pipelined RISC-V simulator called snurisc6
in Python that supports the most of RV32I base instruction set.
The goal of this project is to give you an opportunity to practice RISC-V assembly programming. In addition, this project introduces various RISC-V tools that help you compile and run your RISC-V programs.
The goal of this project is to get familiar with the IEEE 754 floating-point standard by implementing a 12-bit floating-point representation (fp12 for short).
This project demonstrates how we can compress data using a simplified Huffman coding. The purpose of this project is to make you familiar with the binary representations of strings/integers and the logical operations supported in the C programming language. Another goal is to make your Linux or MacOS development environment ready and to get familiar with our project submission server.
When | 11:00 - 12:15 (Monday / Wednesday) |
Where | Online lecture using zoom |
Instructor | Jin-Soo Kim Professor, Dept. of Computer Science and Engineering, SNU |
Language | English |
Course Description | This course introduces the main components of a modern computer system including the instruction set, the processor, and the memory hierarchy. We cover techniques such as pipelining, caching, and virtual memory. In addition, this course gives a historical perspective on the evolution of computer systems and an overview of performance evaluation methodologies. |
Textbook | David A. Patterson and John L. Hennessy, Computer Organization and Design: RISC-V Edition, First Edition, Morgan Kaufmann, 2017. |
Reference | Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer’s Perspective, 3rd Edition, Pearson Education Limited, 2016. |
Prerequisites | 4190.103A Programming Practice M1522.000700 Logic Design Basic knowledge of C & Python programming on Linux |
Grading | Exams: 60% (Midterm 25%, Final 35%) Projects: 40% (PA#1 5%, PA#2 8%, PA#3 13%, PA#4 14%) * Grading policy is subject to change |
Teaching Assistant | Sunmin Jeong (sunnyday0208@snu) Injae Kang (abcinje@gmail) |