CSAPP阅读笔记-第四章
CSAPP 第四章 处理器体系结构
- Y86指令集体系结构
- 逻辑设计和硬件控制语言HCL
- Y86的顺序(sequential)实现
- 流水线通用原理
- Y86流水线实现
读前感:
好吧我只听说过想x86体系指令集,其他我都不知道。
读后感:
-
1.Y86指令集体系结构
原来是仿X86指令集自己定义的一个用来给读者讲解的指令集,基本上是X86的子集,所谓指令集就是定义了处理器能识别哪些指令,比如把两个寄存器的值相加减乘除,判断标志位如果大于或者小于就跳转,压栈出栈等等。
-
2.逻辑设计和硬件控制语言HCL
看完也没懂,这完全是逻辑电路的内容啊!
-
3.Y86的顺序(sequential)实现
更细化了,汇编代码是机器级编程语言的表示,就是CPU指令集的解释语言,感觉处理器的SEQ就是具体解释如何实现这些指令,显然处理器设计者设计了一个通用的框架来“适配”所有的指令,SEQ分为若干阶段:
- 取指 从存储器读PC地址所指向的指令,包括指令功能码和指令代码,还有当前指令长度,可以用来确定下一条指令的地址也就是接下来更新PC的值应该等于当前PC+当前指令长度
- 解码 读1里指定的寄存器的操作数。
- 执行 执行指令功能,比如移动栈指针,判断是否跳转,然后设置条件位,还有leal指令加载有效地址等。
- 访存 写或读存储器。
- 写回 将结果写回到寄存器。
- 更新PC,指向下一条指令。
下图以sub %edx,%ebx
为例说明上述步骤,假设当前指令是sub %edx,%ebx
,当前PC是0x00c,%edx里值9,%ebx值21。
- 4.流水线通用原理
-
5.Y86流水线实现
这两节偏硬件略多了吧,暂时表示看了没啥感觉,讲了好多关于流水线的设计相关的。