4.1 指令集体系结构
ISA定义
指令集体系结构(Instruction Set Architecture, ISA)是处理器能够执行的指令集合的抽象定义。ISA 是软件与硬件之间的接口契约——它规定了处理器能识别和执行的所有机器指令的格式、编码和行为,但不规定硬件如何具体实现这些指令。只要遵循相同的 ISA,同一份机器代码就可以运行在微架构完全不同的处理器上。
Y86-64:教学ISA
Y86-64 是 CSAPP 作者设计的一个简化教学 ISA,作为学习处理器设计的载体。它从真实的 x86-64 指令集中提炼出核心概念,但大幅减少了指令数量和编码复杂性,使学生能够专注于指令流水线和处理器微架构的核心原理。
Y86-64 的特点:
- 指令数量少,格式规整
- 每条指令长度固定为 1-10 字节
- 拥有 16 个 64 位程序寄存器
- 支持条件码和条件跳转
CISC vs RISC
| 特性 | CISC | RISC |
|---|---|---|
| 指令数量 | 多而复杂 | 少而精简 |
| 指令长度 | 可变 | 固定 |
| 寻址模式 | 丰富 | 有限 |
| 寄存器数量 | 较少 | 较多 |
| 典型代表 | x86 | ARM, RISC-V |
Y86-64 在风格上偏向 CISC(源自 x86-64),但其教学目的使它具有 RISC 式的规整性。
现代CPU的折衷
现代 x86 处理器并非纯粹的 CISC 实现。它们内部采用微操作转换技术:先将 CISC 指令翻译为类似 RISC 的微操作(micro-ops),再用高性能的流水线内核执行这些微操作。这种”内核 RISC + 外围 CISC”的设计兼顾了兼容性与性能。
相关笔记
链接到
- 上一个知识点:无(本章第一个知识点)
- 下一个知识点:4.2 Y86-64指令集详解