开始
今天开始我们一起学习 CS 61C。
CS 61C 是加州大学伯克利分校(UC Berkeley)提供的一门课程,全称为“Great Ideas in Computer Architecture”(计算机体系结构中的伟大思想),通常也被称为“Machine Structures”(机器结构)。这门课程主要关注于计算机硬件和软件的接口,强调理解计算机是如何工作的,尤其是从底层硅芯片到高层编程语言的整个流程。
主要教学内容
- 计算机体系结构的基本概念:包括数据路径、控制、流水线、缓存、虚拟内存和存储系统等。
- 硬件与软件的交互:深入探讨编程语言如C语言是如何与硬件直接交互的,以及这种交互对性能的影响。
- 并行计算:介绍并行计算的不同形式,包括指令级并行(ILP)、数据级并行(DLP)和线程级并行(TLP)。
- 实用项目和实验:通过实际的CPU设计、逻辑门等硬件组件的教学,帮助学生理解理论知识如何在实际中应用。
教学方法和课程设计
- 互动和实践:CS 61C 强调通过实践和项目来学习,课程设计包括大量的实验室和项目作业,鼓励学生通过实际操作来深化对课程材料的理解。
- 理论与实践的结合:课程旨在帮助学生理解理论知识与实际应用之间的桥梁,如何将理论应用于解决实际问题。
- 资源丰富:除了面授课程,伯克利大学还提供了丰富的在线资源和录制的课程讲座,便于学生复习和自学。
CS 61C 不仅是一门深入探讨计算机硬件的课程,也是介绍软件开发和系统设计基本概念的课程。通过这门课程,学生可以获得坚实的计算机系统结构基础,为更高级的计算机科学课程和职业生涯做好准备。
更多关于这门课程的信息可以通过加州大学伯克利分校的官方网站查询,或者通过各种教育平台访问相关课程内容和资源。
我们的学习使用的是CS 61C Fall 2022版本,在B站有对应的视频。
该翻译补充笔记由 LzzsG 基于 CS 61C / Garcia, Yan 的作品创作,采用的是 CC BY-NC-SA 许可。
Part | 标题 | 中文 |
---|---|---|
P1 | Lecture 1: Intro | 讲座1:介绍 |
P2 | Lecture 2: Number Representation | 讲座2:数字表示 |
P3 | Lecture 3: C Intro - Basics | 讲座3:C 介绍 - 基础 |
P4 | Discussion 1: Number Representation | 讨论1:数字表示 |
P5 | Lecture 4: C Intro - Pointers, Arrays, Strings | 讲座4:C 介绍 - 指针,数组,字符串 |
P6 | Lecture 5: Memory(Mis)Management | 讲座5:内存(误)管理 |
P7 | Discussion 2: C | 讨论2:C |
P8 | Lecture 6: Floating Point | 讲座6:浮点数 |
P9 | Lecture 7: Intro to Assembly Language RISC-V | 讲座7:RISC-V 汇编语言介绍 |
P10 | Lecture 8: RISC-V DataTransfer | 讲座8:RISC-V 数据传输 |
P11 | Discussion 3: Floating Point | 讨论3:浮点数 |
P12 | Lecture 9: RISC-V Decision Making Logic Ops | 讲座9:RISC-V 决策逻辑操作 |
P13 | Lecture 10: RISC-V Procedures | 讲座10:RISC-V 程序 |
P14 | Lecture 11: RISC-V Instruction Formats I | 讲座11:RISC-V 指令格式I |
P15 | Discussion 4: RISC-V Intro, Control Flow | 讨论4:RISC-V 介绍,控制流 |
P16 | Lecture 12: RISC-V Instruction Formats II | 讲座12:RISC-V 指令格式II |
P17 | Lecture 13: Compiler, Assembler, Linker, Loader | 讲座13:编译器,汇编器,链接器,加载器 |
P18 | Lecture 14: Intro to Synchronous Digital Systems | 讲座14:同步数字系统介绍 |
P19 | Discussion 5: RISC-V Procedures, ISA, CALL | 讨论5:RISC-V 程序,ISA,CALL |
P20 | Lecture 15: Combinational Logic | 讲座15:组合逻辑 |
P21 | Lecture 16: SDS State, FSMs | 讲座16:SDS 状态,有限状态机 |
P22 | Lecture 17: Combinational Logic Blocks | 讲座17:组合逻辑模块 |
P23 | Discussion 6: SDS, Logic FSM | 讨论6:SDS,逻辑有限状态机 |
P24 | Lecture 18: RISC-V Single Cycle Datapath I | 讲座18:RISC-V 单周期数据通路I |
P25 | Lecture 19: RISC-V Single Cycle Datapath II | 讲座19:RISC-V 单周期数据通路II |
P26 | Lecture 20: RISC-V Single-Cycle Control | 讲座20:RISC-V 单周期控制 |
P27 | Discussion 7: Single-Cycle Datapath | 讨论7:单周期数据通路 |
P28 | Lecture 21: RISC-V 5-Stage Pipeline I | 讲座21:RISC-V 五级流水线I |
P29 | Lecture 22: RISC-V 5-Stage Pipeline II, Hazards | 讲座22:RISC-V 五级流水线II,冒险 |
P30 | Lecture 23: RISC-V 5-Stage Pipeline III, Hazards | 讲座23:RISC-V 五级流水线III,冒险 |
P31 | Discussion 8: Pipelining, Hazards | 讨论8:流水线,冒险 |
P32 | Lecture 24: Caches - Direct Mapped I | 讲座24:缓存 - 直接映射I |
P33 | Lecture 25: Caches - Direct Mapped II | 讲座25:缓存 - 直接映射II |
P34 | Lecture 26: Caches - MultiLevel | 讲座26:缓存 - 多级 |
P35 | Discussion 9: Caches | 讨论9:缓存 |
P36 | Lecture 27: Caches - Set-Associative, Performance with Caches | 讲座27:缓存 - 组关联,缓存性能 |
P37 | Lecture 28: Flynn Taxonomy, SIMD | 讲座28:Flynn 分类法,SIMD |
P38 | Lecture 29: Parallelism I: Thread-level Parallelism | 讲座29:并行I:线程级并行 |
P39 | Discussion 10: Multi-Level Caches, AMAT | 讨论10:多级缓存,AMAT |
P40 | Lecture 30: Parallelism II: OpenMP, Sharing Issues | 讲座30:并行II:OpenMP,共享问题 |
P41 | Lecture 31: Parallelism III: Cache Coherence, Performance | 讲座31:并行III:缓存一致性,性能 |
P42 | Lecture 32: VM I: Intro | 讲座32:虚拟机I:介绍 |
P43 | Discussion 11: Parallelism, Coherency, and Atomic | 讨论11:并行性,一致性,和原子性 |
P44 | Lecture 33: VM II: Page Faults, Multilevel, Interrupts/Exceptions | 讲座33:虚拟机II:页面错误,多级,中断/异常 |
P45 | Lecture 34: VM III: TLB | 讲座34:虚拟机III:TLB |
P46 | Lecture 35: VM Performance, I/O | 讲座35:虚拟机性能,输入输出 |
P47 | Lecture 36: MapReduce, Spark, Amdahl’s Law, Data-level Parallelism | 讲座36:MapReduce,Spark,阿姆达尔定律,数据级并行 |
P48 | Lecture 37: Dependability, Parity, ECC, RAID | 讲座37:可靠性,奇偶校验,ECC,RAID |
P49 | Lecture 38: Data Centers, Warehouse Scale Computing | 讲座38:数据中心,仓库级计算 |
P50 | Lecture 39: Guest Lecture with James Percy from Apple | 讲座39:Apple 的 James Percy 的客座讲座 |
P51 | Lecture 40: Summary, What’s Next? | 讲座40:总结,接下来是什么? |