- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 先行控制方式的原理 采用二次重叠执行方式,必须解决两个问题: 有独立的取指令部件、指令分析部件和指令执行部件 独立的控制器:存储控制器、指令控制器、运算控制器 要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问存储器 解决访存冲突的方法: 采用低位交叉存取方式: 这种方法不能根本解决冲突问题。 * 先行控制方式的原理(续) 两个独立的存储器:独立的指令存储器和数据存储器。 如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,那么,取指令、分析指令和执行指令就可以同时进行。 在许多高性能处理机中,有独立的指令Cache和数据Cache。 这种结构被称为哈佛结构(Harvard architecture)。 * 先行控制方式的原理(续) 采用先行控制技术。 先行控制技术的关键是缓冲技术和预处理技术。 缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作。 在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。 * (a)重叠方式 分析k+1 分析k 执行k 执行k+1 分析k+2 执行k+2 分析部件空闲 执行部件空闲 分析k+1 分析k 执行k 分析k+2 (b)先行控制 执行k+1 执行k+2 * 结果:解决了分析与执行时间不等长问题。 与重叠区别:分析和执行部件可同时处理两条不相邻指令。 采用技术:缓冲技术+预处理技术 硬件要求 增设指令缓冲栈,消除取指过程; 增设数据缓冲栈,保证不同指令的读、写操作并行; 增设先行操作栈,保证执行部件能连续执行。 * 工作原理 主 存 存 控 指令分析器 指令 缓冲栈 读数据 缓冲区 写数据 缓冲区 执行 部件 先行操作栈 数据缓冲栈 栈的深度要求:D指缓≥D操作≥ D读栈≥ D写栈 并行串行 并行流水 L3结果通用寄存器号 L1 L2两个操作数通用寄存器号 运算器的B和C寄存器 L1(k+1)=L3(k)表示是同一个通用寄存器号 前一条指令运算完,除写进存放结果的通用寄存器外,还直接经专用通路送到运算器的B,C寄存器,为k+1条指令准备好 计算机系统结构 第五章 流水和指令级高度并行的超级机 * Serial processing Fetch Analyze Execute An Instruction’s 3 steps k Component Analyze Fetch Execute Time k k K+1 K+1 K+1 K+2 K+2 K+2 3 instructions: K, K+1, K+2 * Pipelining Processing k K+1 k k K+1 K+1 K+2 K+2 K+2 Component Time Analyze Fetch Execute * Parallel processing k Component Time k k K+1 K+1 K+1 K+2 K+2 K+2 Analyze Fetch Execute Analyze Fetch Execute K+4 K+4 K+4 Parallel + Pipelining Parallel + Serial * 加速机器语言解释的两种方式 通过选用更高速的器件,采用更好的运算方法、提高指令内各微操作的并行程度,减少解释过程所需要的拍数,以加快每条指令的解释。 通过控制机构采用同时解释两条、多条以至整段程序的控制方式,加快整个机器语言程序的解释。 重叠、流水。 * What Is Pipelining Laundry(洗衣) Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes “Folder” takes 20 minutes A B C D * What Is Pipelining Sequential laundry takes 6 hours for 4 loads If they learned pipelining, how long would laundry take? A B C D 30 40 20 30 40 20 30 40 20 30 40 20 6 PM 7 8 9 10 11 Midnight T a s k O r d e r Time * What Is Pipelining Pipelined laundry takes 3.5 hours for 4 loads
文档评论(0)