Introduction to Computer Architecture

College of Computer Science and Technology, Zhejiang University, Fall 2023
Monday 10:00 - 11:35/12:25, Cao Guangbiao Building West Wing
Room 201 Lecture, Room 301 Lab

Instructor

Kai Bu Email: kaibu@zju.edu.cn
Office: Room 503 Zetong Building     Office Hour: by appointment    
Thank you for studying Computer Architecture with me.
You are strongly encouraged to read Operating Systems: Three Easy Pieces as well.
Hope we could enjoy this course in more of that way.

Teaching Assistant

Yunjie Chu     Email: yj_chu@zju.edu.cn
Office: Room 503 Zetong Building     Office Hour: by appointment 

Course Objective

This course systematically introduces the fundamentals of computer architecture from the perspective of the whole computer system. The main content of this course consists of fundamentals of computer design, instruction set principles, pipelining implementation, memory hierarchy design, and exploitation of parallelism at instruction-, data-, and thread-level. Students are also expected to practice and master hardware design toolkits through lab sessions. The course objective is that students not only understand the fundamental concepts but also implement a pipelined CPU supporting RISC-V instructions in Xilinx Vivado environment using Verilog and verify its correctness on FPGA boards.

Textbook

Computer Architecture: A Quantitative Approach, Sixth Edition, John L. Hennessy and David A. Patterson. Morgan Kaufmann, 2017.

Prerequisites

Computer Organization, Digital Logic, Assembly Language

Grading (tentative)

4%     Class participation & performance
16%     Assignment
32%     Lab OR Research
8%     Quiz
40%     Final exam: 08:00 - 10:00, January 13, 2024.

Resources

6.823 Computer System Architecture, by Prof. Daniel Sanchez and Prof. Joel Emer, MIT
Computer Architecture, by Prof. Onur Mutlu, CMU
Introduction to Computer Systems, by Prof. Randal Bryant and Prof. David O'Hallaron, CMU
Hardware/Software Interface, by Prof. Gaetano Borriello and Prof. Luis Ceze, University of Washington
CS 6290: High Performance Computer Architecture, by Prof. Milos Prvulovic, Georgia Institute of Technology
CS 152: Computer Architecture and Engineering, by Prof. Krste Asanović, UC Berkeley
Computer Architecture, by Prof. David Wentzlaff, Princeton University
Computer Architecture, by Prof. David Brooks, Harvard University
Computer Architecture, by Prof. Christopher Batten, Cornell University
Computer Architecture, by Prof. Wenzhi Chen, Zhejiang University