CSAPP阅读笔记-第四章

CSAPP 第四章 处理器体系结构

  1. Y86指令集体系结构
  2. 逻辑设计和硬件控制语言HCL
  3. Y86的顺序(sequential)实现
  4. 流水线通用原理
  5. Y86流水线实现

读前感:

好吧我只听说过想x86体系指令集,其他我都不知道。

读后感:

  • 1.Y86指令集体系结构

    原来是仿X86指令集自己定义的一个用来给读者讲解的指令集,基本上是X86的子集,所谓指令集就是定义了处理器能识别哪些指令,比如把两个寄存器的值相加减乘除,判断标志位如果大于或者小于就跳转,压栈出栈等等。

  • 2.逻辑设计和硬件控制语言HCL

    看完也没懂,这完全是逻辑电路的内容啊!

  • 3.Y86的顺序(sequential)实现

    更细化了,汇编代码是机器级编程语言的表示,就是CPU指令集的解释语言,感觉处理器的SEQ就是具体解释如何实现这些指令,显然处理器设计者设计了一个通用的框架来“适配”所有的指令,SEQ分为若干阶段:

1. 取指 从存储器读PC地址所指向的指令,包括指令功能码和指令代码,还有当前指令长度,可以用来确定下一条指令的地址也就是接下来更新PC的值应该等于当前PC+当前指令长度
2. 解码 读1里指定的寄存器的操作数。
3. 执行 执行指令功能,比如移动栈指针,判断是否跳转,然后设置条件位,还有leal指令加载有效地址等。
4. 访存 写或读存储器。
5. 写回 将结果写回到寄存器。
6. 更新PC,指向下一条指令。

下图以sub %edx,%ebx为例说明上述步骤,假设当前指令是sub %edx,%ebx,当前PC是0x00c,%edx里值9,%ebx值21。

  • 4.流水线通用原理
  • 5.Y86流水线实现

    这两节偏硬件略多了吧,暂时表示看了没啥感觉,讲了好多关于流水线的设计相关的。