csapp第四章读书笔记 part3

29 篇文章 0 订阅
28 篇文章 0 订阅

csapp 第四章读书笔记 part3

Pipeline Control Logic

Desired Handling of Special Control Cases

ret 使用了3个bubble, ret 在write-back 阶段后确定下一条指令。
在这里插入图片描述
对于jump指令,需要到execute 阶段后,才能确认是否存在mispredicted branch问题。control logic通过插入bubble来取消错误的brach, 同时获取正确的brach。

在这里插入图片描述
an instruction causing an exception is followed by one that would change the condition codes.

Detecting Special Control Conditions

在这里插入图片描述
条件判断

Pipeline Control Mechanisms

在这里插入图片描述

在这里插入图片描述

Combinations of Control Conditions

在这里插入图片描述
load/use 要求exe阶段的指令从内存中读取一个值到一个寄存器中,并且decode阶段的指令使用这个寄存器作为源操作数。

根据这些图表,可以看到大部分的控制条件是相互排斥的。例如,不可能同时出现load/use和 mispredict,因为一个需要在执行阶段执行加载指令(如mrmovq或popq),而另一个需要跳转指令。类似地,第二和第三种ret组合也不可能与load/use或mispredict分支同时发生。只有两个由箭头指示的组合可以同时出现。

combination A涉及在exe阶段中有一个not taken jmp指令和一个decode阶段中有一个ret指令。设置这种组合需要ret指令位于一个not taken分支的目标位置。pipeline control logic检测到分支预测错误,取消ret指令。
在这里插入图片描述

combination B涉及到一个load/use,其中load指令设置寄存器%rsp,然后ret指令使用这个寄存器作为源操作数,因为它必须从堆栈中弹出返回地址。pipeline control logic应该在decode阶段阻止ret指令。
在这里插入图片描述

Control Logic Implementation

在这里插入图片描述
Pipeline register F
在这里插入图片描述
Pipeline register D
在这里插入图片描述

Performance Analysis

在这里插入图片描述
b 是bubble, i 是instructions。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
The sum of the three penalties is 0.27, giving a CPI of 1.27.

采用的五阶段流水线设计,吞吐量都现在最多一个时钟周期执行一条指令,CPI测量值不可能小于1.0。较新的处理器支持超标量(Superscalar)操作,能够在取值、译码和执行阶段并行处理多条指令,使得CPI测量值小于1.0,通常会使用IPC(每个周期执行的指令数)来测量性能。更新的处理器会支持乱序(Out-of-order)技术,对指令执行顺序进行打乱来并行执行多条指令。

Unfinished Business

PIPE lacks several key features that would be required in an actual microprocessor design.

Multicycle Instructions

当一条指令进入decode阶段时,可以将其发给特殊单元进行处理。在该单元执行操作的同时,流水线可以继续处理其他指令。通常,浮点运算单元本身也是流水线化的,因此主流水线和不同单元中可以同时执行多个操作。
硬件设计会更复杂。

Interfacing with the Memory System

这个具体看下一章节吧。

links

https://zhuanlan.zhihu.com/p/107760564

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值