文档详情

计算机组成与实现 课件 第6章-流水线CPU.pptx

发布:2025-04-20约1.34千字共107页下载文档
文本预览下载声明

计算机组成;目录;如何计算电路的最大时钟频率;关键路径;Add指令执行延迟分析;单周期性能;示例:简单的流水线电路;流水线工作过程的形式表示;回顾:MIPS数据通路的5个阶段;单周期及多周期的特点;流水线架构模型;流水线执行特点;流水线性能;流水线性能;指令级并行;流水线的基本特性;指令集对流水线设计的影响;目录;MIPS-C0指令集;;方法1:采用相邻两级名字组合的方式

优点:各级寄存器的位置非常清晰

缺点:当需要标记位于各级寄存器的指令某些信息时,名字会非常的长;方法2:用各级功能的某个字母命名

优点:当需要标记位于各级寄存器的指令某些信息时,名字非常简洁;;时钟驱动的流水线时空图;目录;;;;;;目录;;;;;;;;CLK;结论:多条指令同时读写同一个寄存器时,会产生一致性问题;修改RF设计;目录;;;目录;目录;;控制信号的额外含义;目录;概述;目录;后继指令需要的资源被前序指令占用,导致资源冲突

第3个?后/第4个?前:PC驱动IM以读指令;M级lw驱动DM以读数据

如果IM与DM不分离(即只有一个存储器),则必然导致资源冲突

为此,流水线要求数据和指令必须分离存储

这种结构实际上对应了分离的一级指令cache和一级数据cache(相关内容参见后续存储系统);后继指令需要的资源被前序指令占用,导致资源冲突

第4个?后/第5个?前:D级or驱动RF要读数据;W级lw驱动RF要写数据

RF设计:读端口与写端口分离(当前的设计方案)

结论:RF不会成为瓶颈;目录;基于寄存器的数据相关;流水线带来的数据一致性问题;;事实1:计算结果在回写前已经产生了;事实2:功能部件是寄存器值的最终使用者;从计算结果产生角度观察1/3;从功能部件使用寄存器值角度观察2/3;从功能部件使用寄存器值角度观察3/3;数据冒险解决策略—转发1/2;数据冒险解决策略—转发2/2;Load导致的数据冒险;Load导致的数据冒险;Load导致的数据冒险;Load导致的数据冒险;Load导致的数据冒险;Load导致的数据冒险;详细的转发电路及其控制;冒险控制器;数据冒险的检测与控制;数据冒险的检测与控制:暂停(以RS为例)1/10;数据冒险的检测与控制:暂停(以RS为例)2/10;数据冒险的检测与控制:暂停(以RS为例)3/10;数据冒险的检测与控制:暂停(以RS为例)4/10;数据冒险的检测与控制:暂停(以RS为例)5/10;数据冒险的检测与控制:暂停(以RS为例)6/10;数据冒险的检测与控制:暂停(以RS为例)7/10;数据冒险的检测与控制:暂停(以RS为例)8/10;数据冒险的检测与控制:暂停(以RS为例)9/10;数据冒险的检测与控制:暂停(以RS为例)10/10;编译优化;编译优化;目录;控制冒险;B指令冒险造成的停顿代价;B指令冒险造成的停顿代价;方案1:假定分支不发生;;;方案2:缩短分支延迟1/3;方案2:缩短分支延迟2/3;方案2:缩短分支延迟3/3;深入思考;方案3:分支延迟槽1/3;方案3:分支延迟槽2/3;方案3:分支延迟槽3/3;目录;流水线冒险小结;目录;流水线CPI;流水线CPI;目录;2种CPU模型对比;2种CPU模型对比

显示全部
相似文档