0. 课程视角:从门电路到系统软件¶
章节导引
本页从《计算机系统基础讲义》拆分而来,保留原章节锚点,方便从旧总览页和旧链接跳转。
学习目标¶
建立从硬件到软件的层次化视角,知道本课程每一部分在系统链路中的位置。
前置知识¶
能理解二进制、程序、硬件和操作系统这些基本概念即可。
建议用时¶
建议 1–2 小时:重点看抽象层次和课程主线图。
练习建议¶
用自己的话画一遍从物理信号到运行程序的链路,并标出最容易混淆的两个接口。
参考资料与引用边界¶
- 整理者:Lumner。
- 课程来源:根据
SYS/目录下的课件整理;本章对应课件:SYS/Lec00_Introduction.pptx。 - 原始讲义文件:
note/SYS_计算机系统基础讲义.md。 - 引用边界:这是公开学习笔记,不替代课程正式教材、教师课件或考试要求;外部引用时请注明来自本网站整理版。
计算机系统可以看成一组层次化抽象。越往下越接近物理实现,越往上越接近程序员和用户看到的行为。系统课程的核心价值,是把这些层次之间的接口讲清楚。
图像说明:计算机系统课程分层
原课件包含 ./sys_notes_assets/system_overview.jpg。公开仓库当前不附带这张图片;本节保留文字化说明,阅读时可把它理解为“计算机系统课程分层”的结构示意。
0.1 抽象层次¶
典型计算机系统从上到下可以分为:
| 层次 | 主要内容 | 本讲义中的对应章节 |
|---|---|---|
| 应用程序 | 用户可见的软件功能 | 作为背景 |
| 编译器、库、运行时 | 把高级语言程序翻译成机器可执行形式 | 7.6、7.7 |
| 操作系统 | 进程、内存、文件、设备、中断、系统调用 | 与后续系统课程衔接 |
| ISA | 软件和硬件之间的契约,定义指令、寄存器、地址空间、异常等 | 6、7 |
| 微体系结构 | CPU 如何实现 ISA,如单周期、流水线、乱序等 | 本课程略作铺垫 |
| RTL | 寄存器传输级:寄存器、总线、ALU、控制信号 | 4、5 |
| 数字逻辑电路 | 门电路、组合逻辑、时序逻辑 | 2、3、5 |
| 器件技术 | 晶体管、电压、电容、延迟、功耗 | 2.3 |
0.2 本课程主线¶
本课程不是单独学习“逻辑门”或“汇编语言”,而是建立一条连贯链路:
flowchart LR
A["物理信号"] --> B["0/1 二值抽象"]
B --> C["布尔函数与逻辑门"]
C --> D["组合逻辑功能块"]
D --> E["ALU、寄存器、计数器"]
E --> F["数据通路与控制"]
F --> G["ISA 指令"]
G --> H["汇编程序"]
H --> I["目标文件、链接、装载"]
I --> J["运行中的程序"]
理解这条链路后,许多系统问题会变得自然:为什么整数会溢出,为什么浮点加法不满足结合律,为什么 RISC-V 指令字段要固定位置,为什么函数调用要保存寄存器,为什么链接器要重定位符号。