CS 152/252A 计算机体系结构与工程(2023春季)
欢迎来到 CS 152/252A 计算机体系结构与工程课程!这门课程将带你深入探讨计算机体系结构设计中的各种核心原则和概念,以及如何利用这些基础原则构建现代复杂的处理器。
课程概述
在本课程中,我们将讨论“计算机体系结构”,这个术语在不同背景下可能有不同的解读。在我们的定义中,计算机体系结构涵盖了从应用程序到物理层的所有内容,涉及硬件和软件之间的多层抽象。这些抽象层使得我们能够更好地管理计算系统的复杂性,并设计出高效的计算系统。
你将学习如何将各种计算需求转化为硬件实现的方法,以及理解计算机架构设计中的核心技能和关键组成部分。在课程中,我们会深入探讨指令集架构(ISA)、微架构和实现层。这三层架构分别对应计算机系统的指令集、硬件组织结构以及具体的实现技术。
主要内容
-
指令集架构(ISA): 这部分内容涉及计算机架构中最核心的部分——指令集。我们将讨论各种ISA的实现方式,特别是RISC-V指令集,它将在本学期贯穿始终。
-
微架构: 微架构涉及计算机系统中不同模块和组件的组织方式。你将学习如何通过不同的微架构设计(例如乱序执行)提升计算机性能。
-
实现层: 在这里,你将学习如何使用硬件描述语言(如Verilog)实现你所设计的计算机架构。我们将讨论如何将抽象的架构理念转化为实际的硬件实现,并进行评估。
课程特点
-
历史视角: 我们将回顾计算机架构的历史,探讨硬件设计中的直觉和创新。这部分内容将展示过去一百年中计算机架构的演变和发展。
-
创新与趋势: 你将了解当前计算机架构领域的最新趋势和挑战,为什么在当今技术世界中成为一名计算机架构师是如此令人兴奋。
-
多层抽象: 课程将特别强调多层抽象的概念,帮助你理解从应用层到硬件层的完整计算栈。
先修课程
本课程建议修过CS 61C,虽然CS 151/251A并不是本课程的强制先修课,但若已修过,将会为本课程的学习打下良好的基础。
总之,CS 152/252A 将为你提供一个全面的计算机体系结构设计的学习体验,从基础原理到实际应用,让你成为一名出色的计算机架构师。期待与你共同度过一个充实而有趣的学期!
Part | 英文标题 | 中文标题 |
---|---|---|
P1 | Early Machines | 早期计算机 |
P2 | Simple Machine Implementations, Microcoding | 简单机器实现,微码编程 |
P3 | Microcoding | 微码编程 |
P4 | Pipelining I | 流水线 I |
P5 | Pipelining II | 流水线 II |
P6 | Memory | 内存 |
P7 | Memory II | 内存 II |
P8 | Address Translation | 地址转换 |
P9 | Virtual Memory | 虚拟内存 |
P10 | Complex Pipelines | 复杂流水线 |
P11 | Out-Of-Order execution I | 无序执行 I |
P12 | Out-Of-Order execution II | 无序执行 II |
P13 | VLIW | 超长指令字(VLIW) |
P14 | Multithreading | 多线程 |
P15 | Vectors | 向量 |
P16 | GPUs | 图形处理单元(GPU) |
P17 | RISC-V Vectors | RISC-V 向量 |
P18 | Turing Award Lecture | 图灵奖讲座 |
P19 | Cache Coherence | 缓存一致性 |
P20 | Memory Consistency | 内存一致性 |
P21 | Synchronization | 同步 |
P22 | Finale | 终结篇 |
P23 | Discussion 1: Microcoding, Lab 1 Overview | 讨论 1:微码编程,实验1概述 |
P24 | Discussion 2: Pipelining | 讨论 2:流水线 |
P25 | Discussion 3: Memory Hierarchy | 讨论 3:内存层次结构 |
P26 | Discussion 4: Address Translation and Lab 2 Overview | 讨论 4:地址转换及实验2概述 |
P27 | Discussion 5: Midterm 1 Review | 讨论 5:期中考试1复习 |
P28 | Discussion 6: Out-of-order Execution | 讨论 6:无序执行 |
P29 | Discussion 7: Branch Predictions and VLIW | 讨论 7:分支预测与VLIW |
P30 | Discussion 8: Multithreading | 讨论 8:多线程 |
P31 | Discussion 9: Vectors | 讨论 9:向量 |
P32 | Discussion 10: Midterm 2 | 讨论 10:期中考试2 |
P33 | Discussion 11: Cache Coherence | 讨论 11:缓存一致性 |