计算机组成与实现 课件 高小鹏 第6--9章- 流水线----集成MIPS微系统 .pptx

计算机组成与实现 课件 高小鹏 第6--9章- 流水线----集成MIPS微系统 .pptx

  1. 1、本文档共429页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算机组成;目录;如何计算电路的最大时钟频率;关键路径;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模型对比;;目录;存储墙;二级存储器

可执行程序(word.exe)、数据文件(电影)

主存储器

程序的指令、数据;问题:这个结构执行程序的性能如何?

;C代码的功能?1/2;C代码的功能?2/2;汇编代码1/3;汇编代码2/3;汇编代码3/3;延迟:读/写1个字节需要的时间

CPU寄存器:0.5个时钟周期

主存储器:100个时钟周期;处理1个字符:104个时钟周期!

指令1:涉及访问主存,需要100个时钟周期

指令2~5:仅与寄存器相关,共需要4个时钟周期;处理1个字符:104个时钟周期!

指令1:涉及访问主存,需要100个时钟周期

指令2~5:仅与寄存器相关,共需要4个时钟周期;局部性原理;计算机的存储层次1/2;计算机的存储层次2/2;目录;Cache系统下的主存与Cache模型;Cache同样被视为二维数组

Index:cache块号,即数组的行号

Offset:块内“偏移地址”,即数组的列号

与主存块的偏移地址含义相同

Tag:用于记录当前cache块装载了哪个主存块

体现了如何cache块与主存块间的“一对多”关系

Valid:用于表示这个cache块是否装入了有效的主存块

示例cache

总共16B/4B=4块,则index为2位

每块4B,则offset为2位;直接映射采用固定的1对多对应关系

;低2位:同样被称为index

与cache的index位数相同

决定主存块与cache块的对应关系

高2位:同样被称为tag

剩余位数

用于与cache块中的tag进行比较,判断到底哪个主存块在c

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档