# ETH Zurich：Digital Design and Computer Architecture

## 课程简介

- 所属大学：ETH Zurich
- 先修要求：CS50 或同阶课程，最好有 C 语言基础。
- 编程语言：C，Verilog，MIPS 汇编，LC3 汇编
- 课程难度：🌟🌟🌟
- 预计学时：100 小时

体系结构领域的大牛 Onur Mutlu 来教你数字电路和计算机体系结构。课程完全从计算机设计的角度出发，从晶体管、逻辑门开始，一直讲解到微架构、缓存和虚拟内存，还会介绍
很多体系结构领域最新的研究进展。课程共有 9 个 lab，使用 Basys 3 FPGA 开发板（可自行购买）和 Xilinx 公司的  [Vivado 软件](https://china.xilinx.com/products/design-tools/vivado.html)（可在官网免费下载使用）进行电路设计，从组合电路
和时序电路开始，一直到最后部署一个完整的 CPU。课程资料除了 lab 答案和当期考试答案之外全部开源，学完之后你可以掌握计算机相关的数字电路，Verilog 硬件描述语言，MIPS 与 C 之间的转换关系，MIPS 单周期多周期流水线 CPU 的设计和性能分析，缓存，虚拟内存等重要概念。

## 课程资源

- 课程网站：[2020](https://safari.ethz.ch/digitaltechnik/spring2020/),[2023](https://safari.ethz.ch/digitaltechnik/spring2023/)
- 课程视频：[youtube](https://www.youtube.com/playlist?list=PL5Q2soXY2Zi_FRrloMa2fUYWPGiZUBQo2), [B站2020年版本搬运](https://www.bilibili.com/video/BV1MA411s7qq/?vd_source=77d47fcb2bac41ab4ad02f265b3273cf)
- 课程教材1：Patt and Patel, Introduction to Computing Systems
- 课程教材2：Harris and Harris, Digital Design and Computer Architecture (MIPS Edition)
中文译本为《数字设计和计算机体系结构(原书第2版)》
- 课程实验：9 个实验从零开始设计 MIPS CPU，详见课程网站
