(Posted Dec 17, 2018)
(Posted Dec 11, 2018)
(Posted Dec 8, 2018)
The following schedule is tentative and subject to change without notice.
| Day | Topic | Reading |
|---|---|---|
| 9/4 | Course overview | Chap. 1 |
| 9/6 | Integers | Chap. 2.1-2.3 |
| 9/11 | ||
| 9/13 | Floating Points | Chap. 2.4 |
| 9/18 | ||
| 9/20 | Machine-level Representation of Programs | Chap. 3.1-3.3 |
| 9/25 | National holiday | |
| 9/27 | ||
| 10/2 | ||
| 10/4 | Assembly I: Basic Operations | Chap. 3.4-3.5 |
| 10/9 | National holiday | |
| 10/11 | ||
| 10/16 | Assembly II: Control Flow | Chap. 3.6 |
| 10/18 | Assembly III: Procedures | Chap. 3.7-3.10 |
| 10/23 | ||
| 10/25 | ||
| 10/30 | Y86-64 ISA | Chap. 4.1 |
| 11/1 | Midterm Exam | |
| 11/6 | ||
| 11/8 | Logic Design | Chap. 4.2 |
| 11/13 | No class | |
| 11/15 | No class | |
| 11/20 | Sequential Y86-64 Implementation | Chap. 4.3 |
| 11/22 | Pipelining | Chap. 4.4 |
| 11/27 | Basic Pipelined Y86-64 Implementation | Chap. 4.5 |
| 11/29 | Complete Pipelined Y86-64 Implementation | Chap. 4.5 |
| CPU Performance | Chap. 5.7 | |
| 11/29 | Supplementary Class I-A (6:30pm ~ 9:30pm, #301-203) | |
| 11/30 | Supplementary Class I-B (4:00pm ~ 7:00pm, #301-551) | |
| 12/4 | The Memory Hierarchy | Chap. 6.1-6.3 |
| 12/6 | Cache Memories | Chap. 6.4-6.6 |
| Virtual Memory | Chap. 9 | |
| 12/6 | Supplementary Class II-A (6:30pm ~ 9:30pm, #301-203) | |
| 12/7 | Supplementary Class II-B (4:00pm ~ 7:00pm, #301-551) | |
| 12/11 | Exceptions and Interrupts | Chap. 8.1 |
| 12/13 | Final Exam |
Credit: Some 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 instructor.
In this project, you will learn how to optimize the performance of a program on a pipelined Y86-64 processor.
In this project, you will learn about the design and implementation of a sequential Y86-64 processor by enhancing its ISA (Instruction Set Architecture).
In this project, you will implement a basic image processing technique called pixelization using the x86-64 assembly language.
The goal of this project is to make you get familiar with the floating-point representation by implementing a simplifed 8-bit floating-point representation.
The purpose of this project is to become more familiar with the binary representation of integers and to understand what happens during the arithmetic operations between two integers.
| When | 9:30 - 10:45 (Tuesday / Thursday) |
| Where | Lecture room #301-203, Engineering Building I |
| 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 | Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer’s Perspective, 3rd Edition, Pearson Education Limited, 2016. |
| Reference | David A. Patterson and John L. Hennessy, Computer Organization and Design: MIPS Edition, 5th Edition, Morgan Kaufmann, 2013. |
| Prerequisites | 4190.103A Programming Practice M1522.000700 Logic Design Basic knowledge of C programming on Linux |
| Grading | Exams: 60% (Midterm 25%, Final 35%) Projects: 40% (4 ~ 5 project assignments planned) * Grading policy is subject to change |
| Teaching Assistant | Joowon Lee (x7296, Room #301-517) |