537 字
3 分钟
处理器原理(0·1) 处理器指令集的组成
WARNING这是《深入理解计算机系统》(CS
)的笔记,彼时还未上CO,OS等计算机系统基础课,存在理解不到位与错误之处.
处理器体系结构的内容都记录地非常简略…
一个指令集描述了处理器的程序员可见状态,这个“程序员”可以是编写机器代码的人,也可以是生成机器代码的编译器。
程序员可见状态有:指令、指令编码、条件码、状态码、内存(可以理解为一个巨大的字节数组)、程序计数器PC
一、指令
处理器中所有的机器指令。它依照某些原则分类:一整类的族—这个族中不同的后缀,不同的操作数······
早期的两种流派:CISC,不断为新任务添加复杂指令,即使很多时候编译器都无法自动使用这些指令。RISC,用最简单的指令完成所有任务,以达到设计高效流水的目的。如今当然是两者结合。
《深入理解计算机系统》的第四章“处理器体系结构”中定义了教学用的Y86指令集。
二、指令编码
规定所有指令对应的二进制编码。常见的结构如下:
确定族类 | 确定后缀的fn | 寄存器编码1 | 寄存器编码2 | 目标/源内存地址、立即数 | ······ |
---|
不同的指令集有不同的格式。
寄存器也有属于自己的编码,用于在寄存器文件中寻找所需的寄存器,比如16个寄存器就0~f···一般还会有个额外的东西表示不引用任何寄存器,为空。
三、条件码
和之前说的一样。
四、状态码stat
一般与异常处理有关,比如正常执行、遇见了非法指令、非法访问了内存、用了强制中断系统指令,都会设置各自的状态码。
五、内存 程序计数器PC
略。
PC也是CPU的时序。PC内存放着下一条指令的代码地址。
处理器原理(0·1) 处理器指令集的组成
https://namisntimpot.github.io/posts/computersystem/处理器体系结构/0_1处理器指令集的组成/