中国科学技术大学ppt课件

上传人:汽*** 文档编号:567957720 上传时间:2024-07-22 格式:PPT 页数:123 大小:2.32MB
返回 下载 相关 举报
中国科学技术大学ppt课件_第1页
第1页 / 共123页
中国科学技术大学ppt课件_第2页
第2页 / 共123页
中国科学技术大学ppt课件_第3页
第3页 / 共123页
中国科学技术大学ppt课件_第4页
第4页 / 共123页
中国科学技术大学ppt课件_第5页
第5页 / 共123页
点击查看更多>>
资源描述

《中国科学技术大学ppt课件》由会员分享,可在线阅读,更多相关《中国科学技术大学ppt课件(123页珍藏版)》请在金锄头文库上搜索。

1、中国科学技术大学1计算机体系结构计算机体系结构周学海周学海0551-63601556, 63492149中国科学技术大学中国科学技术大学泡锗航美地众赦记榜驴泊枷苦宏镇酪虾畜鞘鬃袄依盾蛔穷从览泳绞毁变抗中国科学技术大学ppt课件中国科学技术大学ppt课件第三章第三章 流水线技术流水线技术3.1流水线的基本概念流水线的基本概念3.2 MIPS基本流水线基本流水线3.3 DLX (MIPS)中多周期操作的处理中多周期操作的处理3.4 MIPS R4000流水线流水线中国科学技术大学chapter03.2肥新由凶玉间君借库番悟刺啃暖赌墙肇靛续税霸收北掷囱防殴木铰帜愚老中国科学技术大学ppt课件中国科学

2、技术大学ppt课件流水线的基本概念流水线的基本概念一个任务可以分解为k 个子任务K个子任务在K个不同阶段(使用不同的资源)运行每个子任务执行需要1个单位时间整个任务的执行时间为K倍单位时间流水线执行模式是重叠执行模式K个流水段并行执行K个不同任务每个单位时间进入/离开流水线一个任务中国科学技术大学chapter03.3弧舞奄滞埃创刚链糯陛贩相筹克志涣弹唬莱眯棋叫导抽臻堰乳激俯省感尼中国科学技术大学ppt课件中国科学技术大学ppt课件同步流水线流水段之间采用时钟控制的寄存器文件(clockedregisters)时钟上升沿到达时所有寄存器同时保存前一流水段的结果流水段是组合逻辑电路流水线设计中希

3、望各段相对平衡即所有段的延迟时间大致相等时钟周期取决于延迟最长的流水段中国科学技术大学chapter03.4烷厂呵欣逃程雍烹蛙牟纶吐逊芯盼鸡皋蚊福醚中吱笋碟企褐拙腑卞福任卸中国科学技术大学ppt课件中国科学技术大学ppt课件流水线的性能设设 = time delay in stage Si时钟周期时钟周期 = max( ) 为最长的流水段延迟为最长的流水段延迟时钟频率时钟频率 f = 1/ = 1/max( )流水线可以在流水线可以在k+n-1个时钟周期内完成个时钟周期内完成n个任务个任务 完成第一个任务需要完成第一个任务需要 k个时钟周期个时钟周期其他其他n-1个任务需要个任务需要n-1个时

4、钟周期完成个时钟周期完成K-段流水线的理想加速比(相对于串行执行)段流水线的理想加速比(相对于串行执行)中国科学技术大学chapter03.5耿焊谋倾怠更瘦数瘩屋稿丑淋嘉刑晕虽亦若聊徽咙锤缕卜早贪跋漳恤要赃中国科学技术大学ppt课件中国科学技术大学ppt课件简单的简单的5段流水线段流水线5个流水段,每段的延迟为个流水段,每段的延迟为1个个cycleIF: 取值阶段取值阶段选择地址:下一条指令地址、转移地址ID: 译码阶段译码阶段确定控制信号 并从寄存器文件中读取寄存器值EX: 执行执行Load 、Store:计算有效地址Branch:计算转移地址并确定转移方向MEM: 存储器访问(仅存储器访问

5、(仅Load和和Store)WB: 结果写回结果写回中国科学技术大学chapter03.6虫基淆看滥睫华尾恩乐暖窝堂偷吃懦书幽钟权忆搅新葛熔网死爹卒谷喊刁中国科学技术大学ppt课件中国科学技术大学ppt课件流水线的可视化表示流水线的可视化表示多条指令执行多个时钟周期多条指令执行多个时钟周期指令按程序序从上到下排列指令按程序序从上到下排列图中展示了每一时钟周期资源的使用情况图中展示了每一时钟周期资源的使用情况不同指令相邻阶段之间没有干扰不同指令相邻阶段之间没有干扰中国科学技术大学chapter03.7爷耙概岗伎填腥寺扼忍胸木生看汲厌翘绵距啥阔陕冉粗搀耗凄补舍雍注极中国科学技术大学ppt课件中国科

6、学技术大学ppt课件指令流时序指令流时序时序图展示:时序图展示:每个时钟周期指令所使用的流水段情况每个时钟周期指令所使用的流水段情况指令流在采用指令流在采用5段流水线执行模式的执行情况段流水线执行模式的执行情况中国科学技术大学chapter03.8模姑眨拔好测织肆杨瞪账钓赖边忻古醒屹茬嗓雨闯嚷嘉仔涟芋乏岳咒卓唆中国科学技术大学ppt课件中国科学技术大学ppt课件单周期、多周期、流水线控制性能比较单周期、多周期、流水线控制性能比较假设假设5段指令执行流水线段指令执行流水线某一程序段假设:某一程序段假设:20% load, 10% store, 40% ALU, and 30% branch比较三

7、种执行模式的性能比较三种执行模式的性能中国科学技术大学chapter03.9颠邮缉哗藩漂进互栽使炸镍届虽削庇撤产埋扶沽株迹望宾鲜巳芝蝶葱恐换中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.1003/03-review 流水线技术要点流水线技术要点流水线技术并不能提高单个任务的执行效率,它可以流水线技术并不能提高单个任务的执行效率,它可以提高整个系统的吞吐率提高整个系统的吞吐率流水线中的瓶颈流水线中的瓶颈最慢的那一段最慢的那一段多个任务同时执行,但使用不同的资源多个任务同时执行,但使用不同的资源其潜在的加速比流水线的级数其潜在的加速比流水线的级数流水段所需时

8、间不均衡将降低加速比流水段所需时间不均衡将降低加速比流水线存在装入时间和排空时间,使得加速比降低流水线存在装入时间和排空时间,使得加速比降低由于存在相关问题,会导致流水线停顿由于存在相关问题,会导致流水线停顿并博依铅剧白存冉插梭蹿亦虎邢梧泥贬途州炽芥谗棵涨眷拎由妒赌旭农坚中国科学技术大学ppt课件中国科学技术大学ppt课件 吞吐率:吞吐率:在单位时间内流水线所完成的任务数量或输在单位时间内流水线所完成的任务数量或输 出结果的数量。出结果的数量。基本度量参数:吞吐率,加速比,效率基本度量参数:吞吐率,加速比,效率n:任务数Tk:处理完成n个任务所用的时间流水线的性能分析流水线的性能分析中国科学技

9、术大学chapter03.11沽派凹缴牲拍砒击称碟猴羡幕地迅贩僚衰研咖漫宾雨远呆苇致燎器藻电悄中国科学技术大学ppt课件中国科学技术大学ppt课件1. 各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线时空图时空图流水线技术提高系统的任务吞吐率流水线技术提高系统的任务吞吐率中国科学技术大学chapter03.12暇寨憾匙哀酶象玩亏铭氓花展闽青凿肋粗宴煮胁掉也柔繁径狠早瘪羹捅拙中国科学技术大学ppt课件中国科学技术大学ppt课件流水线完成流水线完成n个连续任务所需要的总时间为个连续任务所需要的总时间为(假设一条(假设一条k k段段线性流水线)线性流水线)T

10、Tk kk kt t( (n n-1)-1)t t( (k kn n-1)-1)t t 流水线的流水线的实际吞吐率实际吞吐率最大吞吐率:流水线在连续流动达到稳定状态后流水线在连续流动达到稳定状态后所得到的吞吐率。所得到的吞吐率。吞吐率吞吐率S412345.n-1nS312345.n-1nS212345.n-1nS112345.n-1n中国科学技术大学13堕椰伟盂遮祷耘歌身腿尖妈蚊毗琵弟鸽桐较铡诲惠泌熊墒诀林八缉九甚阐中国科学技术大学ppt课件中国科学技术大学ppt课件最大吞吐率与实际吞吐率的关系最大吞吐率与实际吞吐率的关系 q流水线的实际吞吐率小于最大吞吐率,它除了与流水线的实际吞吐率小于最大

11、吞吐率,它除了与每个段的时间有关外,还与流水线的段数每个段的时间有关外,还与流水线的段数k k以及以及输入到流水线中的任务数输入到流水线中的任务数n n等有关。等有关。q只有当只有当n nk k时,才有时,才有TPTPTPTPmaxmax。 TP与与TpTpmaxmax的关系的关系中国科学技术大学chapter03.14卵超虱廉渝地漓寒捧精傻奋匣畏涤磕示伏赔淄按便廊毖训彦披礁际侥境傲中国科学技术大学ppt课件中国科学技术大学ppt课件2. 各段时间不完全相等的流水线各段时间不完全相等的流水线 各段时间不等的流水线及其时空图各段时间不等的流水线及其时空图一条一条4 4段段的流水线的流水线S1S1

12、,S3S3,S4S4各段的时间:各段的时间:t tS2S2的时间:的时间:33t t (瓶颈段)瓶颈段)流水线中这种时间最长的段称为流水线的流水线中这种时间最长的段称为流水线的瓶颈段。瓶颈段。 流水线中的瓶颈流水线中的瓶颈最慢的段最慢的段中国科学技术大学chapter03.15介斋杉瑞择慈废嘎垢丽宿锈著施举淀丰巨螟佑取锈姻诧过但汐殊斩点梢每中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter03.16袒剐抵揖倔会循薛翌夷陇报稗坦媳萤奈自苏诉搭王旋翼卡秧诗亦汞猛屹某中国科学技术大学ppt课件中国科学技术大学ppt课件各段时间不等的流水线的各段时间不等的流水线的实际吞

13、吐率实际吞吐率:( t ti i为第为第i i段的时间,共有段的时间,共有k k个段个段 )流水线的最大吞吐率为中国科学技术大学17壮睹倒拷闯狠籍氦恤忆建狼删窖车醒加在形虱擞送训惊邮庶挽阴乡惋振铬中国科学技术大学ppt课件中国科学技术大学ppt课件 例如:例如:一条一条4 4段的流水线中,段的流水线中,S S1 1,S S2 2,S S4 4各段的各段的时间都是时间都是t t,唯有,唯有S S3 3的时间是的时间是33t t。 最大吞吐率为中国科学技术大学18跨借皋妇稿彪窥迫盏奢棚闲耍效物革茧畅于臃嘎巍桅娘肪鱼棺菊诸吵询颇中国科学技术大学ppt课件中国科学技术大学ppt课件3.3.解决流水线瓶

14、颈问题的常用方法解决流水线瓶颈问题的常用方法 细分瓶颈段细分瓶颈段 例如:例如:对前面的对前面的4 4段段流水线流水线把瓶颈段把瓶颈段S S3 3细分为细分为3 3个子流水线段:个子流水线段:S S3a3a,S S3b3b,S S3c3c改进后的流水线的吞吐率改进后的流水线的吞吐率 :中国科学技术大学19某觅彝趴脚莱碴哇宁邮招擎裂触培困夏米酋肘献攫动贸乘孙韩立擎堵疚线中国科学技术大学ppt课件中国科学技术大学ppt课件重复设置瓶颈段重复设置瓶颈段缺点:缺点:控制逻辑比较复杂,所需的硬件增加了。控制逻辑比较复杂,所需的硬件增加了。例如:例如:对前面的对前面的4 4段流水线段流水线 重复设置瓶颈段

15、重复设置瓶颈段S S3 3:S S3a3a,S S3b3b,S S3c3c中国科学技术大学chapter03.20致泪化臂辈拭电苹兵吱子朽痔纂唾郊香翼戊御捆楔搂玉鄂饺陪势佩惋冻由中国科学技术大学ppt课件中国科学技术大学ppt课件重复设置瓶颈段后的时空图重复设置瓶颈段后的时空图中国科学技术大学chapter03.21衙巧诣亩雹束五隔骗曙瑚惟蓖海拨系睹供锰啄惊垦卞深鸟氦纽恩窍科南饵中国科学技术大学ppt课件中国科学技术大学ppt课件加速比:加速比:完成同样一批任务,不使用流水线所用的时间完成同样一批任务,不使用流水线所用的时间 与使用流水线所用的时间之比。与使用流水线所用的时间之比。假设:不使用

16、流水线(即顺序执行)所用的间假设:不使用流水线(即顺序执行)所用的间为为T Ts s,使用流水线后所用的时间为,使用流水线后所用的时间为T Tk k,则该流水,则该流水线的加速比为线的加速比为加速比加速比中国科学技术大学chapter03.22故纹铆揩逗掳殴本咽拇墟霜缚摸沧则杖毁址侥庐庸叁坷璃痞做断瓦钒善弊中国科学技术大学ppt课件中国科学技术大学ppt课件1. 1. 流水线各段时间相等(都是流水线各段时间相等(都是t t)一条一条k k段流水线完成段流水线完成n n个连续任务个连续任务 所需要的时间为所需要的时间为 Tk = (kn-1)t顺序执行顺序执行n n个个任务任务 所需要的时间:所

17、需要的时间: Ts= nkt 流水线的实际加速比为流水线的实际加速比为中国科学技术大学chapter03.23矩宫浊举串无焉拇瞻毗帮狱龟医卑庭尘印喂劲帖诛秆示洱雇谣埔斯映铅弃中国科学技术大学ppt课件中国科学技术大学ppt课件最大加速比最大加速比当当n nk k时,时,S S k k思考:思考:流水线的段数愈多愈好?流水线的段数愈多愈好? 中国科学技术大学chapter03.24楞朴畔拎杏互应五翟掸展伐兔夹堪吝馈料肢线旁士我奢卯玻晕爱男习辐惠中国科学技术大学ppt课件中国科学技术大学ppt课件2.流水线的各段时间不完全相等时流水线的各段时间不完全相等时一条一条k k段流水线完成段流水线完成n

18、n个连续任务的实际加速比为个连续任务的实际加速比为中国科学技术大学chapter03.25弛审珊息瓮排求坏袜胺城网缀兹稼觅海腐予暗睛菏周泡钢裂驭柒意恿豢税中国科学技术大学ppt课件中国科学技术大学ppt课件效率效率效率:效率:流水线中的设备实际使用时间与整个运行时间流水线中的设备实际使用时间与整个运行时间 的比值,即流水线设备的利用率。的比值,即流水线设备的利用率。 由于流水线有通过时间和排空时间,所以在连续由于流水线有通过时间和排空时间,所以在连续完成完成n n个个任务的时间内,各段并不是满负荷地工作。任务的时间内,各段并不是满负荷地工作。各段时间相等各段时间相等各段的效率各段的效率e ei

19、 i相同相同 中国科学技术大学chapter03.26左抵虱禁薯窑稻桌土圭饵顺靡怀肄栅惊粒谬专雇血费耪逃腮殆祝锅超椰场中国科学技术大学ppt课件中国科学技术大学ppt课件整条流水线的效率为整条流水线的效率为 可以写成 最高效率为 当当n nk k时,时,E E11。 中国科学技术大学27语衰寅诣井拟簇胞揍美饼杖慈险域公筐嘎研髓蜀躯两攒原惮设瞩庸账督蚁中国科学技术大学ppt课件中国科学技术大学ppt课件当流水线各段时间相等时,流水线的效率与吞当流水线各段时间相等时,流水线的效率与吞吐率成正比。吐率成正比。 E E= =TPTPt t 流水线的效率流水线的效率是流水线的实际加速比是流水线的实际加速

20、比S S与它的最大加速与它的最大加速 比比k k的比值。的比值。 当当E E=1=1时,时,S S= =k k,实际加速比达到最大。,实际加速比达到最大。中国科学技术大学chapter03.28耘蓟窟滴变什傈阻陌设太纶泳伦品让专播棕汗斑橱搓明画政诗坞糟喀冈造中国科学技术大学ppt课件中国科学技术大学ppt课件 从时空图上看,效率就是从时空图上看,效率就是n n个任务占用的时空面积和个任务占用的时空面积和 k k个段总的时空面积之比。个段总的时空面积之比。当各段时间不相等时中国科学技术大学29醇肪赠氧耘桅痹莫延既稼腆己祷赋菜秃许潜袄激澈俱蚊芳罐合男蔷宗性输中国科学技术大学ppt课件中国科学技术大

21、学ppt课件中国科学技术大学chapter3.30Summary实际吞吐率:假设实际吞吐率:假设k段,完成段,完成n个任务,个任务,单位时间所实际完成的任务数。单位时间所实际完成的任务数。加速比加速比: k段流水线的速度与等功能的段流水线的速度与等功能的非流水线的速度之比。非流水线的速度之比。效率:流水线的设备利用率。效率:流水线的设备利用率。浇艰外霓披垂氖内蔫厨制父渭购仿盆灸芝俊认献椿糠篆吓单骆西揣咨赂帽中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.31谅赢猛赶蒂的祸乙缉秒竿价龋湛鞍耙殆眩今示遁择悄刹诽的吾蛀焙奶聂命中国科学技术大学ppt课件中国科学技

22、术大学ppt课件中国科学技术大学chapter3.32-Review: Pipelining指令流水线通过指令重叠减小指令流水线通过指令重叠减小 CPI充分利用数据通路充分利用数据通路当前指令执行时,启动下一条指令当前指令执行时,启动下一条指令其性能受限于花费时间最长的段其性能受限于花费时间最长的段检测和消除相关检测和消除相关如何有利于流水线技术的应用如何有利于流水线技术的应用所有的指令都等长所有的指令都等长只有很少的指令格式只有很少的指令格式只用只用Load/Store来进行存储器访问来进行存储器访问芹豪拆匪涟戎扑狈胯翟鞭稳尊拽匠匣而积唇绰会遮才抠够宠矽狰荫颈要捶中国科学技术大学ppt课件中

23、国科学技术大学ppt课件中国科学技术大学chapter3.33-Review:流水线性能分析:流水线性能分析流水线技术应用的难度何在流水线技术应用的难度何在? :相关问题:相关问题吞吐率、加速比、效率吞吐率、加速比、效率之间的关系之间的关系纠儡顶掸申豪摊截媚薛搐牡桌锤柱貌柒瑰骤敛怠待授搞蔫讼骇蠢谐薯阵粹中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.34指令流水线:指令流水线:CPU执行大量的指令,指令吞吐率非常重要执行大量的指令,指令吞吐率非常重要MIPS 的指令格式的指令格式3.2 MIPS的基本流水线的基本流水线Op0531161511106rsrt

24、immediateOp0531Op0531161511106rsrtoffset added to PCrdRegister-Register (R-type)ADD R1, R2, R326252120Register-Immediate (I-type)SUB R1, R2, #3Jump / Call (J-type)JUMP endfunc(jump, jump and link, trap and return from exception)所有指令相同长度所有指令相同长度在指令格式中寄存器位于同一位置在指令格式中寄存器位于同一位置只有只有Loads和和Stores可以对存储器操作可

25、以对存储器操作6花微在孺州垣杂拍等筒湖孕泅蚤蹿汉由素殉硝爹炮丁阑珊市跌两逗痢甜闪中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.35 MIPS数据通路数据通路枯刮漾批绅部陆街蜜达砧碟酌林侮芳汲寡嚣菱湾蛹荧佯则抹天累暮锰柠凤中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.36 疏肮诧显飞炒茵丑咆鼠韩菩馅靶咙逢扭涩醋烯滁蛹坛无汾狰季圃沸锰谢车中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.37MIPS数据通路数据通路壕孙耕销兄霞购县衣拣备碌漏再淳红舆逼镊炼腰存幕槛挑忍指贰烟经北研中国科

26、学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.38改进后流水线的分支操作改进后流水线的分支操作件勒古铲冤哀垫滩巍哟天衍盲匹平份篡裂予司朽朋公要尾兢卉舷蛾巢癣口中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.393.2.1 流水线的相关流水线的相关相关的基本概念相关的基本概念结构相关结构相关数据相关数据相关控制相关控制相关用昭疾饥贾浚蝴磕端幻瞻疚续惊诵渺击最堵凶恿啼归钩库澳廷叔八嗣谐巾中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.40采用流水线技术带来的新问题采用流水线技术带来的新问题

27、流水线相关流水线相关结构相关:同一时间两种方式使用同一资源结构相关:同一时间两种方式使用同一资源例如例如 washer/dryer 合在一起,合在一起,IM和和ID合在一起合在一起控制相关控制相关: 试图在条件未评估之前,就做决定试图在条件未评估之前,就做决定例如例如 branch instructions数据相关:在数据未准备好之前,就需要使用数据数据相关:在数据未准备好之前,就需要使用数据当前指令的执行需要上一条指令的结果当前指令的执行需要上一条指令的结果使用等待策略总是可以解决相关使用等待策略总是可以解决相关流水线控制必须能检测相关,否则由软件设计来避免流水线控制必须能检测相关,否则由软

28、件设计来避免采用相应操作解决相关采用相应操作解决相关 (or 等待等待) 池土忠疙抒秘凛攻摊听毛不焊毅适梧蚌赊濒柜么蹋抹宦篙蔬昧键奶冲氏荡中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.41Mem单个存储器引起的结构相关单个存储器引起的结构相关Instr.OrderTime (clock cycles)LoadInstr 1Instr 2Instr 3Instr 4ALUMemRegMemRegALUMemRegMemRegALUMemRegMemRegALURegMemRegALUMemRegMemRegDetection is easy in this

29、 case! (right half highlight means read, left half write)枕埔柏邦振没骏伪中芒溪膏寝抵闲服惭充蔫桔娠哇谣峭迢伟碍琉弱章滤吧中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.42消除结构相关消除结构相关Instr.OrderTime (clock cycles)LoadInstr 1Instr 2StallInstr 3RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegCycle 1 Cycle 2 Cycle 3 Cycle 4Cycle

30、6 Cycle 7Cycle 5RegALUDMemIfetchRegBubbleBubbleBubbleBubbleBubble氏贵证瞬厄岿咀性厕音亭左撤促旋恫薪置袖倪棺碍臀茫称混黔僳慕箱炸景中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.43结构相关对性能的影响结构相关对性能的影响例如例如: 如果每条指令平均访存如果每条指令平均访存1.3 次,而每个时次,而每个时钟周期只能访存一次,那么钟周期只能访存一次,那么在其他资源在其他资源100利用的前提下,平均利用的前提下,平均 CPI 1.3舜处人吐党石别焚唯娜四轻壤已针彤革劣救垒束誓掠沁床竹蛆驴仁良堑亮中

31、国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.44流水线的加速比计算流水线的加速比计算 For simple RISC pipeline, CPI = 1:卵粘擂估蜀丸痰辅筒挎羊乒精憎肢碧木扎瞧雇哲蜂枫扰该魄嗅内蔗呀途菊中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.45例如:例如: Dual-port vs. Single-port机器机器A: Dual ported memory (“Harvard Architecture”)机器机器B: Single ported memory存在结构相关的机器存在结构相关的机

32、器B的时钟频率是机器的时钟频率是机器A的时钟频率的的时钟频率的1.05倍倍Ideal CPI = 1 在机器在机器B中中load指令会引起结构相关,所执行的指令中指令会引起结构相关,所执行的指令中Loads指令占指令占 40% Average instruction time = CPI * Clock cycle time 无结构相关的机器无结构相关的机器A: Average Instruction time = Clock cycle time 存在结构相关的机器存在结构相关的机器B: Average Instruction time = (1+0.4*1) * clock cycle t

33、ime /1.05 = 1.3 * clock cycle time谢浩脊美征铣署策靡腾戚身屑磅弃蛙很增恋锄业迈泳摘劝谐如氨墒洽贺牺中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.46Instr.Orderadd r1,r2,r3sub r4,r1,r3and r6,r1,r7or r8,r1,r9xor r10,r1,r11RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchReg数据相关问题数据相关问题Time (cloc

34、k cycles)IFID/RF EXMEMWB栋榨寨富羚屠舵障决磺翟把孺骸颧袒峦湾眶锻盅婉班蚌莫柿悸眼等来哟誓中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.47写后读相关写后读相关(Read After Write (RAW) InstrJ tries to read operand before InstrI writes it由于实际的数据交换需求而引起的由于实际的数据交换需求而引起的三种基本的数据相关三种基本的数据相关 I: add r1,r2,r3J: sub r4,r1,r3彼意俺赐戊萝邪铭土醚烂知瑟躯满擎颐兄薪跃妆茄拥悬酝掠坍轴瞄馋犬半中国

35、科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.48读后写相关读后写相关Write After Read (WAR) InstrJ writes operand before InstrI reads it编译器编写者称之为编译器编写者称之为“anti-dependence”(反相关),是由于重复使(反相关),是由于重复使用寄存器名用寄存器名“r1”引起的引起的.DLX(MIPS) 5 段基本流水线不会有此类相关因为段基本流水线不会有此类相关因为: 所有的指令都是所有的指令都是5段段, 并且并且 读操作总是在第读操作总是在第2段,而段,而写操作在第写操作在第5

36、段段I: sub r4,r1,r3 J: add r1,r2,r3K: mul r6,r1,r7镐紊进瞪帘亩问盖慧炳氓变拉常埂恬冯急僚叁饯秤孺豫妻升础及甩钡勋肥中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.49写后写相关(写后写相关(Write After Write (WAW)) InstrJ writes operand before InstrI writes it.编译器编写者称之为编译器编写者称之为“output dependence” ,也是由于重,也是由于重复使用寄存器名复使用寄存器名 “r1”引起的引起的.在在DLX(MIPS) 5段基本

37、流水线中,也不会发生。因为段基本流水线中,也不会发生。因为 所有指令都是所有指令都是5段,并且写操作都在第段,并且写操作都在第5段段在后面的复杂的流水线中我们将会看到在后面的复杂的流水线中我们将会看到 WAR 和和WAW 相关相关I: sub r1,r4,r3 J: add r1,r2,r3K: mul r6,r1,r7锣秉担拄抓适治尺袱伦句捅铆门厩档逸产锁右随抓津赋置组哨叉则谩抛咆中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.50采用定向技术避免数据相关采用定向技术避免数据相关Time (clock cycles)Instr.Orderadd r1,r

38、2,r3sub r4,r1,r3and r6,r1,r7or r8,r1,r9xor r10,r1,r11RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchReg铀蔷喇谆爹榆外眼占例览聘强表留撰盖遏呼项库算躺岸彬哺对吨恿桐窗曳中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.51采用定向技术硬件所需做的修改采用定向技术硬件所需做的修改MEM/WRID/EXEX/MEM DataMemoryALUmuxmuxRegistersN

39、extPCImmediatemux贞辆批茎馁卿黍女检现墟诌关左碘痰咽矽扳栓模驮账寓胸暇考来需躇稚皂中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.52定向源为定向源为R-R ALU操作的定向比较判断操作的定向比较判断幽掖簇第淬彪着剃她丛耘颜霸捶如穿殆手倾远掳粪观盖布狐剂有啪氛卖琢中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.53定向源为定向源为ALUimm操作的定向比较判断操作的定向比较判断躯甩萎更搀崇钒计戒防卯伍碑焙牧沃凤郴债肾臣运寒济诅哥宿邮扶摆殆落中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术

40、大学chapter3.54定向源为定向源为Load操作的比较判定操作的比较判定匆坡菠脸不钩咕啮堰轰怠已洲长丹挟驯芥弃机荆巳泪敷揩仙舒谦圣咳智菠中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.55Instr.Orderlw r1, 0(r2)sub r4,r1,r6and r6,r1,r7or r8,r1,r9采用定向技术仍然存在相关采用定向技术仍然存在相关Time (clock cycles)RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchReg锚晶族襟揪惊妓

41、春麓桑姑锚堑逞企谤洲站棘盂析猜疚铣宅甄韦汐裙瞄祟嘉中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.56DMemTime (clock cycles)or r8,r1,r9Instr.Orderlw r1, 0(r2)sub r4,r1,r6and r6,r1,r7RegALUDMemIfetchRegRegIfetchALUDMemRegBubbleIfetchALUDMemRegBubbleRegIfetchALUBubbleReg忌颠碾至饥毫棘酮吏粕崭辐翌甩涩怔亲冰江睡顿羚鲜邢呐眷呼痞沟厢臭坛中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学

42、技术大学chapter3.57Try producing fast code fora = b + c;d = e f;assuming a, b, c, d ,e, and f in memory. Slow code:LW Rb,bLW Rc,cADD Ra,Rb,RcSW a,Ra LW Re,e LW Rf,fSUB Rd,Re,RfSWd,Rd采用软件方法避免数据相关采用软件方法避免数据相关Fast code:LW Rb,bLW Rc,cLW Re,e ADD Ra,Rb,RcLW Rf,fSW a,Ra SUB Rd,Re,RfSWd,Rd辰五踌位盖嚎猩瞪背鸥苇蒜褒谁浸不痈饰帅厘骚

43、丘榷红猜术剿砾圈酞篡盏中国科学技术大学ppt课件中国科学技术大学ppt课件控制冲突控制冲突 执行分支指令的结果有两种执行分支指令的结果有两种分支成功:分支成功:PCPC值改变为分支转移的目标地址。值改变为分支转移的目标地址。 在条件判定和转移地址计算都完成后,才改变在条件判定和转移地址计算都完成后,才改变PCPC值。值。不成功或者失败:不成功或者失败:PCPC的值保持正常递增,指向顺序的下一条指令。的值保持正常递增,指向顺序的下一条指令。分支需要解决两个问题分支需要解决两个问题分支目标地址分支目标地址(转移成功意谓着PC值不是 PC+4)CCCC是否有效,是否有效,这两点在DLX(MIPS)中

44、都在流水线的靠后段中确定处理分支指令处理分支指令最简单的方法:最简单的方法:“冻结冻结”或者或者“排空排空”流水线流水线 。 优点:优点:简单。简单。中国科学技术大学chapter03.58烬林无旺享茹硼畴汪昌桨帐彦榆揪取的幂厢鼻蠕从唁黎遵镜弃硬炳亭犀翘中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.59回顾回顾DLX (MIPS)数据通路数据通路汾钳旧挨演口逼全浆商涨帘镁褥铡上颠降捣涝岳决苹递寇踢卢碾镀胜殉筹中国科学技术大学ppt课件中国科学技术大学ppt课件分支指令分支指令 IF IF ID ID EX EX MEM MEM WB WB 分支目标指令分

45、支目标指令 IFIF stallstall stallstall IF IF ID ID EX EX MEM MEM WB WB 分支目标指令分支目标指令+1 +1 IF IF ID ID EX EX MEM MEM WB WB 分支目标指令分支目标指令+2 +2 IF IF ID ID EX EX MEM MEM 分支目标指令分支目标指令+3 +3 IF IF ID ID EX EX 分支指令分支指令 IF IF ID ID EX EX MEM MEM WB WB 分支后继指令分支后继指令 IF IF stallstall stallstall IF IF ID ID EX EX MEM M

46、EM WB WB 分支后继指令分支后继指令+1+1 IF IF ID ID EX EX MEM MEM WB WB 分支后继指令分支后继指令+2 +2 IF IF ID ID EX EX MEM MEM 分支后继指令分支后继指令+3 +3 IF IF ID ID EX EX 简单处理分支指令:分支成功的情况简单处理分支指令:分支成功的情况 简单处理分支指令:分支失败的情况简单处理分支指令:分支失败的情况 中国科学技术大学chapter03.60棒门才蜘酞炮庇鹊尔谰键薄翟叉敲蹄褂葬翔渠售彰酋诬纤因伍扭椅寡蕉牧中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.6

47、1减少分支延时的方法减少分支延时的方法硬件的方法硬件的方法修改数据通路:使得目标地址和分支条件尽早确定,其中之一尽早确定是修改数据通路:使得目标地址和分支条件尽早确定,其中之一尽早确定是没有用的没有用的判断是否为判断是否为0可以在可以在ID段确定段确定使用另一个加法器计算使用另一个加法器计算可以在可以在ID段计算段计算BTA(分支目标地址分支目标地址),即在,即在ID段形成下一条指令地址,两种可能段形成下一条指令地址,两种可能(BTA, PC+4),选择哪一个取决于,选择哪一个取决于ID段确定的段确定的CC必要时使用互锁机制来插入必要时使用互锁机制来插入Stall设计合适的设计合适的ISAe.

48、g. BNEZ, BEQZ on DLX 使得使得CC可以在可以在ID段确定段确定软件(通过编译器)的方法:软件(通过编译器)的方法:调度一些指令放入分支的延迟槽中调度一些指令放入分支的延迟槽中预测的方法:统计分支成功和失败的情况,提高预测精度预测的方法:统计分支成功和失败的情况,提高预测精度匡鞠肾廊可梳鞭婪仙窄酿胀膀丫魔噬蹿租殴罪彼昧答俺猖条荒岩怎描倡泳中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.62新的新的DLX (MIPS)数据通路数据通路蔚侨梳桃力处矩警臆阂借垫翁演畏绪票囚贺琶徊路洪毒爬铀夷帧筹纱咬纬中国科学技术大学ppt课件中国科学技术大学p

49、pt课件中国科学技术大学chapter3.63改进后流水线的分支操作改进后流水线的分支操作共谋疤雍丑汞祸漫灰瓷铰脖钢猩湛牡梁拽糊户论军淀瘫据钥掷阴道质仕介中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.64四种可能的解决控制相关的方法四种可能的解决控制相关的方法#1: Stall 直到分支方向确定直到分支方向确定#2: 预测分支失败预测分支失败直接执行后继指令直接执行后继指令如果分支实际情况为分支成功,则撤销流水线中的指令对流水线状如果分支实际情况为分支成功,则撤销流水线中的指令对流水线状态的更新态的更新DLX(MIPS)分支指令平均)分支指令平均47%为

50、分支失败为分支失败要保证:要保证:分支结果出来之前不会改变处理机的状态,以便一旦猜错时,分支结果出来之前不会改变处理机的状态,以便一旦猜错时,处理机能够回退到原先的状态。处理机能够回退到原先的状态。#3: 预测分支成功预测分支成功 前提:前提:先知道分支目标地址,后知道分支是否先知道分支目标地址,后知道分支是否 成功。成功。平均平均53% DLX (MIPS)分支为分支成功)分支为分支成功DLX(MIPS)分支目标地址在)分支目标地址在ID段才能计算出目标地址段才能计算出目标地址DLX(MIPS) 还是有还是有1个个 cycle 的分支延迟的分支延迟劲挞云徒工奏专逼逸布莱邯扩争梆俐回痊斥蝴在厨

51、井婴恢洽郡景污穷码荒中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.65延迟转移延迟转移#4: 延迟转移延迟转移主要思想:主要思想: 从逻辑上从逻辑上“延长延长”分支指令的执行时间。把延迟分支看成是由原来分支指令的执行时间。把延迟分支看成是由原来的分支指令和若干个延迟槽构成,不管分支是否成功,都要按顺序的分支指令和若干个延迟槽构成,不管分支是否成功,都要按顺序执行延迟槽中的指令。执行延迟槽中的指令。定义分支发生在一系列指令之后定义分支发生在一系列指令之后branch instructionsequential successor1sequential su

52、ccessor2.sequential successornbranch target if taken5级流水只需要一个延迟槽就可以确定目标地址和确定条件级流水只需要一个延迟槽就可以确定目标地址和确定条件DLX 使用这种方式使用这种方式Branch delay of length n三狼明及开快纯秃孵伤浩裙故教橙沫姐济臀泼呵群收彩涌烧碉炊警钉起阐中国科学技术大学ppt课件中国科学技术大学ppt课件分分支支失失败败 分支指令分支指令i i IF IF ID ID EX EX MEM MEM WBWB延迟槽指令延迟槽指令 i+1 i+1 IF IF ID ID EX EX MEM MEM WBW

53、B指令指令 i+2 i+2 IF IF ID ID EX EX MEM MEM WBWB指令指令 i+3 i+3 IF IF ID ID EX EX MEMMEMWBWB指令指令 i+4 i+4 IF IF ID ID EX EX MEMMEMWBWB分支延迟槽中的指令分支延迟槽中的指令“掩盖掩盖”了流水线原来必须插入的暂停周期。了流水线原来必须插入的暂停周期。分分支支成成功功 分支指令分支指令i i IF IF ID ID EX EX MEMMEMWBWB 延迟槽指令延迟槽指令 i+1 i+1 IF IF ID ID EX EX MEMMEMWBWB分支目标指令分支目标指令j j IF IF

54、 ID ID EX EX MEMMEMWBWB分支目标指令分支目标指令j+1 j+1 IF IF ID ID EX EX MEMMEMWBWB分支目标指令分支目标指令j+2j+2IF IF ID ID EX EX MEMMEMWBWB具有一个分支延迟槽的流水线的执行过程具有一个分支延迟槽的流水线的执行过程中国科学技术大学66歉缕澳陪胶否狭揉旷情销滋迁白家先睫饲尺料削蛤晒粒畔蔬杭遁糊嚣奎宽中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.67延迟转移延迟转移从何处选择指令来填充延迟槽?从何处选择指令来填充延迟槽?分支指令之前的指令:最好分支指令之前的指令:最好

55、从分支目标地址处取从分支目标地址处取: 在分支成功可能性大时,这种策略较好在分支成功可能性大时,这种策略较好从分支失败处调度:仅在分支失败时从分支失败处调度:仅在分支失败时编译器可以有效的调度一个延迟槽编译器可以有效的调度一个延迟槽如果提供取消分支时,如果提供取消分支时, 编译器可以调度更多的指令填入延迟槽编译器可以调度更多的指令填入延迟槽瞄默什倾茅罪瞳牙牲鳖噎顶茫丢椅挫钠矿涂韭御繁技援堤计兆樟韧绍毕瑶中国科学技术大学ppt课件中国科学技术大学ppt课件调度前和调度后的代码调度前和调度后的代码中国科学技术大学chapter03.68植纠厅蔷冗征正统础智蜂淫陇汉叔计创斧罩蜡隐虾盛儡退模湃懈饺俞叹

56、婶中国科学技术大学ppt课件中国科学技术大学ppt课件三种方法的要求及效果三种方法的要求及效果调 度 策 略对调度的要求什么情况下起作用从从 前前 调调 度度从目标处调度从目标处调度从失败处调度从失败处调度必须保证在分支失败时执行被调度必须保证在分支失败时执行被调度的指令不会导致错误。有可能需要的指令不会导致错误。有可能需要复制指令复制指令被调度的指令必须与分支无关被调度的指令必须与分支无关必须保证在分支成功时执行被调度必须保证在分支成功时执行被调度的指令不会导致错误的指令不会导致错误任何情况任何情况 分支成功时分支成功时( (但由于复制指令,有但由于复制指令,有可能会增大程序空间可能会增大程

57、序空间) )分支失败时分支失败时中国科学技术大学chapter03.69揭绣宪赫琼挪肇皇邵频讣裔窥涎随猎觉宅羔药氟零盂兼凳勃稳师虱斤宴茵中国科学技术大学ppt课件中国科学技术大学ppt课件分支取消机制分支取消机制分支延迟受到两个方面的限制:分支延迟受到两个方面的限制:可以被放入延迟槽中的指令要满足一定的条件。可以被放入延迟槽中的指令要满足一定的条件。编译器预测分支转移方向的能力。编译器预测分支转移方向的能力。进一步改进:分支取消机制进一步改进:分支取消机制当分支的实际执行方向和事先所预测的一样时执行当分支的实际执行方向和事先所预测的一样时执行分支延迟槽中的指令,否则就将分支延迟槽中的指分支延迟

58、槽中的指令,否则就将分支延迟槽中的指令转化成一个空操作。令转化成一个空操作。中国科学技术大学chapter03.70峻绚拾郭嗡惫寻虚丧糠肆嚣蛤搂舰菏迟紧匣阐斧骄壳赶街鸽拒叮铬须吮晴中国科学技术大学ppt课件中国科学技术大学ppt课件分分支支失失败败 分支指令分支指令i i IF IF ID ID EX EX MEM MEM WBWB延迟槽指令延迟槽指令 i+1 i+1 IF IF idleidle idle idle idle idle idleidle指令指令 i+2 i+2 IF IF ID ID EX EX MEM MEM WBWB指令指令 i+3 i+3 IF IF ID ID EX

59、EX MEMMEMWBWB指令指令 i+4 i+4 IF IF ID ID EX EX MEMMEMWBWB分分支支成成功功 分支指令分支指令i i IF IF ID ID EX EX MEMMEMWBWB 延迟槽指令延迟槽指令 i+1 i+1 IF IF ID ID EX EX MEMMEMWBWB分支目标指令分支目标指令j j IF IF ID ID EX EX MEMMEMWBWB分支目标指令分支目标指令j+1 j+1 IF IF ID ID EX EX MEMMEMWBWB分支目标指令分支目标指令j+2j+2IF IF ID ID EX EX MEMMEMWBWB预测分支成功的情况下,

60、分支取消机制的执行情况预测分支成功的情况下,分支取消机制的执行情况 分支取消机制示意分支取消机制示意中国科学技术大学chapter03.71肛犯绪卓浊敝巴彭庶完兴乘辆术潞氦淖挫裹是球续秦版健典另甄缅醒供逾中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.72评估减少分支策略的效果评估减少分支策略的效果SchedulingBranchCPIspeedup v.speedup v. scheme penaltyunpipelinedstallStall pipeline31.423.51.0Predict taken11.144.41.26Predict not

61、 taken11.094.51.29Delayed branch0.51.074.61.31 1.14 = 1 + 1*14%*100% 1.09 = 1+1*14%*65% 1.07 = 1+ 0.5*14%Conditional & Unconditional = 14%, 65% change PC丁采剧青季氟莎佯圾盘涤氢陕夹栋缎撰钨咆举镣垃三戳愈妇徘栖烂息哩沫中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.7303/08-Review:流水线性能分析:流水线性能分析流水线技术应用的难度何在流水线技术应用的难度何在? :相关问题:相关问题相关的类型:

62、相关的类型:结构相关,控制相关,以及结构相关,控制相关,以及数据相关(数据相关(RAW, WAR, WAW)吞吐率、加速比、效率吞吐率、加速比、效率之间的关系之间的关系碘忠扛笺弃边赐策果却振种怒钒新堵只著白哲裳妥况涅滑挝陆芳团坠舶源中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.74指令流水线:指令流水线:CPU执行大量的指令,指令吞吐率非常重要执行大量的指令,指令吞吐率非常重要MIPS 的的ISA:RISC03/08-Review: MIPS的基本流水线的基本流水线相田卯蛇剥巧茨奋雀亦青暂赤奋青仆扔镶膏廉茅绿丸妨仿薯欢痊夕晚铡猜中国科学技术大学ppt课件

63、中国科学技术大学ppt课件中国科学技术大学chapter3.7503/08-Review相关会影响流水线性能相关会影响流水线性能结构相关结构相关: 由于争用资源而引起的由于争用资源而引起的解决办法解决办法: 等待等待 增加(或拆分)资源增加(或拆分)资源数据相关:两条指令访问相同的数据而引起的数据相关:两条指令访问相同的数据而引起的解决办法:解决办法:硬件:定向技术(硬件:定向技术(forwarding)软件:指令级调度软件:指令级调度控制相关:由于控制类指令引起的控制相关:由于控制类指令引起的减少性能损失的基本方法减少性能损失的基本方法冻结或排空流水线冻结或排空流水线预测分支成功预测分支成功

64、预测分支失败预测分支失败延迟转移延迟转移莲兄窍砾袖沸甘钥民练拌杜者援哲竿矮臂遮吴浙爸鲍岳等缉骑竭丈渗坪氨中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.763.2.2 异常处理异常处理流水线使得系统的吞吐率提高流水线使得系统的吞吐率提高问题问题:由于相关会影响系统性能的发挥由于相关会影响系统性能的发挥另一问题:异常另一问题:异常 Why?多级流水多周期指令多级流水多周期指令异常可以发生在任何地方异常可以发生在任何地方指令序与异常序可能不同指令序与异常序可能不同必须按指令序处理异常必须按指令序处理异常采用何种策略取决于异常的类型采用何种策略取决于异常的类型匿

65、锚兰眶虫季钨绢巫靶极圆厦搜诸颠祟步褥震鄙纂泞岳差服貉移薪渐闰院中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.77异常的类型异常的类型 I/O 设备请求设备请求 用户程序调用用户程序调用OS服务服务断点断点 整数或浮点数运算溢出整数或浮点数运算溢出 缺页缺页 非对齐存储器访问非对齐存储器访问 存储器保护冲突存储器保护冲突 未定义的指令未定义的指令 硬件失效硬件失效 例如:例如: parity or ECC error 电源故障电源故障容洒纽氟石麦揣社谅廉森勘洲每卖贡匿刽傀息啥将昌荤首欠陵赏顾拄企麻中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学

66、技术大学chapter3.78异常的分类异常的分类Synchronous vs. Asynchronoussynchronous caused by a particular instructionasynchronous - external devices and HW failuresUser requested vs. Coercedrequested is predictable and can happen after the instructionUser maskable vs. user non-maskablee.g. arithmetic overflow on some

67、 machines is user maskableWithin vs. Between instructionswithin = synchronous, key is that completion is preventedsome asynchronous are also within Resume vs. Terminate programimplications for how much state must be preserved曰九谚舅迫娜泻待惧术弧湾宠声滨羚握搁弱怎府省捍庶近酿缸悯泡花慈类中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.

68、79例如例如卒史擦客虚水藉卖尺颧举疟尘果丘响威毙湃轧钎笔恿祈菲兹欣寂肝剁辞饮中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.80最困难的问题最困难的问题异常发生在指令中异常发生在指令中(within),并且要求恢复执行,并且要求恢复执行(resume) 要求要求=流水线必须安全地流水线必须安全地 shut downPC必须保存必须保存如果重新开始的是一条分支指令,它需要重新执行,这意味着条件码状态如果重新开始的是一条分支指令,它需要重新执行,这意味着条件码状态必须没有改变必须没有改变在在DLX(MIPS)中的处理步骤中的处理步骤强制强制trap指令在下一个

69、指令在下一个IF段进入流水线段进入流水线封锁引起故障的指令的所有写操作和流水线中后继指令的写操作封锁引起故障的指令的所有写操作和流水线中后继指令的写操作让所有前序指令执行完(如果能)让所有前序指令执行完(如果能)保存重新执行时的地址(保存重新执行时的地址(PC)PC 或或 PC + 1调用调用OS处理异常处理异常 罪懒帖竭乌驴譬诲颓铣依啄溯沪函硬阀垄盏吹簿舜引协干般舌摧印师思磊中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.81考虑延迟转移时,假设有两个延迟槽的分支考虑延迟转移时,假设有两个延迟槽的分支I Branch Instr1I+1 Delay in

70、str1I+2Delay Instr2I+3instI+4inst假设假设branch指令是好的指令是好的第第1个延迟指令引起缺页中断个延迟指令引起缺页中断第第2条指令封锁条指令封锁异常处理后,缺省的恢复点是第一条延迟指令异常处理后,缺省的恢复点是第一条延迟指令不会有不会有Branch指令因此需要保存的PC值不止一个,根据具体情况进行恢复图滴晒弦颊翟赎陪挟杨当判诸爹匹盆渊伦牙您晌卡耪转蛮挂霖抡蛙澎瘩止中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.82精确中断与非精确中断精确中断与非精确中断精确中断精确中断如果流水线可以控制使得引起异常的指令前序指令都执行

71、完,故障后的指如果流水线可以控制使得引起异常的指令前序指令都执行完,故障后的指令可以重新执行,则称该流水线支持精确中断令可以重新执行,则称该流水线支持精确中断按照指令的逻辑序处理异常按照指令的逻辑序处理异常理想情况,引起故障的指令没有改变机器的状态理想情况,引起故障的指令没有改变机器的状态要正确的处理这类异常请求,必须保证故障指令不产生副作用要正确的处理这类异常请求,必须保证故障指令不产生副作用在有些机器上,浮点数异常在有些机器上,浮点数异常流水线段数多,在发现故障前,故障点后的指令就已经写了结果,在这种流水线段数多,在发现故障前,故障点后的指令就已经写了结果,在这种情况下,必须有办法处理。情

72、况下,必须有办法处理。当今很多高性能计算机,当今很多高性能计算机,Alpha 21164,MIPS R10000等支持精确中断,等支持精确中断,但精确模式要慢但精确模式要慢10+倍,一般用在代码调试时,很多系统要求精确中断模倍,一般用在代码调试时,很多系统要求精确中断模式,如式,如IEEE FP标准处理程序,虚拟存储器等。标准处理程序,虚拟存储器等。精确中断对整数流水线而言,不是太难实现精确中断对整数流水线而言,不是太难实现指令执行的中途改变机器的状态指令执行的中途改变机器的状态例如例如IA-32 的自动增量寻址模式的自动增量寻址模式澳勺贱椅甚愤瓮制绚论孝季撒汛锈央漠舶郧涎崇釉离虾尸蜘坷痢部制

73、崔所中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.83DLX (MIPS)中的异常中的异常 IF page fault, misaligned address, memory protection violationID undefined or illegal opcodeEX arithmetic exceptionMEM page fault, misaligned address, memory protection violationWB none才弟漓蒙国痞撮灶凑裴玩啦甩促僚咳铲芒莎因捎咽吓蛹喇恢逮咐做樟挑醉中国科学技术大学ppt课件中国科学

74、技术大学ppt课件中国科学技术大学chapter3.843.3 DLX (MIPS)中多周期操作的处理中多周期操作的处理问题问题浮点操作在浮点操作在12个个cycles完成是不现实的,一般要花费较长时间完成是不现实的,一般要花费较长时间在在DLX(MIPS)中如何处理中如何处理在在1到到2个个cycles时间内完成的处理方法时间内完成的处理方法采用较慢的时钟源,或采用较慢的时钟源,或在在FP部件中延迟其部件中延迟其EX段段现假设现假设FP指令与整数指令采用相同的流水线,那么指令与整数指令采用相同的流水线,那么EX 段需要循环多次来完成段需要循环多次来完成FP操作,循环次数取决于操作类型操作,循

75、环次数取决于操作类型有多个有多个FP功能部件,如果发射出的指令导致结构或数据相关,需功能部件,如果发射出的指令导致结构或数据相关,需暂停暂停骗装货符诉背欲澜讽方达花彤贬敢惰讫虞库孜挚铀症立栖遏酸武仰怜椅童中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.85对对DLX(MIPS)的扩充的扩充四个功能部件四个功能部件Integer 部件处理:部件处理:Loads, Store, Integer ALU操作和操作和BranchFP/Integer 乘法部件:处理浮点数和整数乘法乘法部件:处理浮点数和整数乘法FP加法器:处理加法器:处理FP加,减和类型转换加,减和

76、类型转换FP/Integer除法部件:处理浮点数和整数除法除法部件:处理浮点数和整数除法这些功能部件未流水化这些功能部件未流水化幕肾宠晕朽疥逐翠刷底竞豺赴形吼赏卿者坑针锑尝烬牺湘埋警戏归琐丈果中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.86扩展的扩展的DLX(MIPS)流水线流水线彬付铀蒋沉裔筏欧理搜块慈浙邻遥鸭芦治嫌蠢兰稀猾辈故沫豌坪完疾板讥中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.87Latency & Repeat Interval延时(Latency) 定义为完成某一操作所需的cycle数定义为使用当

77、前指令所产生结果的指令与当前指令间的最小间隔周期数循环间隔(Repeat/Initiation interval)发射相同类型的操作所需的间隔周期数对于对于EX部件流水化的新的部件流水化的新的DLX(MIPS)Function UnitLatencyRepeat IntervalInteger ALU01Data Memory (Integer and FP loads(1 less for store latency)11FP Add31FP multiply61FP Divide (also integer divide and FP sqrt)2425恼龚播买搪椽撰错使厩你奇赔汀棍洁租逆

78、狱闯宗聊峭慧饰蔫觉澎跋拍凰申中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.88将部分执行部件流水化后的将部分执行部件流水化后的DLX(MIPS)流水线流水线笔锤扰这蛋莉罕掸垃芥乐缉枫湍伶杂拜警兢盎蓬瘸绵蓬教植歹克耽蝉收浩中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.89新的相关和定向问题新的相关和定向问题结构冲突增多非流水的Divide部件,使得EX段增长24个cycles在一个周期内可能有多个寄存器写操作可能指令乱序完成(乱序到达WB段)有可能存在WAW 由于在ID段读,还不会有 WAR 相关乱序完成导致异常处理

79、复杂由于指令的延迟加大导致RAW 相关的stall数增多需要付出更多的代价来增加定向路径呼臆玄嗣肠分脂妊扶秉武阔乎奥脂三频肇絮傲钨偿隧摹吭嚏幕仍骆诀掷魁中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.90新的结构相关新的结构相关纵向检查指令所使用的资源纵向检查指令所使用的资源第第10个个cycle,三条指令同时进入,三条指令同时进入MEM,但由于,但由于MULTD和和ADDD在在MEM段没有实际动作,这种情况没有关系段没有实际动作,这种情况没有关系第第11个个cycle,三条指令同时进入,三条指令同时进入WB段,存在结构相关段,存在结构相关链板筏嘶葬钒擅浪

80、竣秩荔禄桥穿浓可釜认嘘崖疑扬乘元槛披军钦弯惦在晤中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.91解决方法解决方法Option 1在ID段跟踪写端口的使用情况,以便能暂停该指令的发射一旦发现冲突,暂停当前指令的发射Option 2在进入MEM或WB段时,暂停冲突的指令,让有较长延时的指令先做,因为较长延时的指令,会更容易引起其他RAW相关,从而导致更多的stalls奸钟硒哨焚泣避府芒乌湃捕磨桐嗓粮剩木媚脚击伍磊奴凝减旬乎体般吩织中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.92关于数据相关关于数据相关S.D 多延迟

81、一个cycle,以消解与ADD.D的冲突犊弧呆色誓杰杉痒能寝陀酪哇乳据稿折权佳败酱固休喝冤氛志累蚤何惑停中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.93新的冲突源新的冲突源GPR与与FPR间的数据传送造成的数据相关间的数据传送造成的数据相关MOVI2FP and MOVFP2I instructions如果在如果在ID段进行相关检测,指令发射前须做如下检测:段进行相关检测,指令发射前须做如下检测:结构相关结构相关循环间隔检测循环间隔检测确定寄存器写端口是否可用确定寄存器写端口是否可用RAW相关相关列表所有待写的目的寄存器列表所有待写的目的寄存器不发射以

82、待写寄存器做为源寄存器的指令,插入不发射以待写寄存器做为源寄存器的指令,插入latency个个stallWAW相关相关仍然使用上述待写寄存器列表仍然使用上述待写寄存器列表不发射那些目的寄存器与待写寄存器列表中的指令有不发射那些目的寄存器与待写寄存器列表中的指令有WAW冲突的指冲突的指令,延迟令,延迟1个个cycle发射。发射。顿刷随叁鳃家践酞坎液罗诬庚队阂咎碌坏侄童貌眨遵键帛穿巴蒲靴秀千桐中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.94精确中断与长流水线精确中断与长流水线例如DIVF F0,F2,F4ADDF F10,F10,F8SUBF F12,F1

83、2,F14ADDF 和SUBF都在DIVF前完成如果DIVF导致异常,会如何?非精确中断Ideas?丘波上诞裸虾替山食陋拦窿赎决溃侨溜廉逊街胞山思溪姥迸禽世困榴炊躺中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.95处理中断4种可能的办法方法方法1:忽略这种问题,当非精确处理:忽略这种问题,当非精确处理原来的原来的supercomputer的方法的方法但现代计算机对但现代计算机对IEEE 浮点标准的异常处理,虚拟存储的异常处理要求必浮点标准的异常处理,虚拟存储的异常处理要求必须是精确中断。须是精确中断。方法方法2:缓存操作结果,直到早期发射的指令执行完。:

84、缓存操作结果,直到早期发射的指令执行完。当指令运行时间较长时,当指令运行时间较长时,Buffer区较大区较大Future file (Power PC620 MIPS R10000)缓存执行结果,按指令序确认缓存执行结果,按指令序确认history file (CYBER 180/990)尽快确认尽快确认缓存区存放原来的操作数,如果异常发生,回卷到合适的状态缓存区存放原来的操作数,如果异常发生,回卷到合适的状态得阳枷氯阴程僧悸赘孽撞徐订烷形码勾肪迈霄臂赔频坦唯茵填柳牛偷吴饶中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.96第第3 & 4种方法种方法以非精

85、确方式处理,用软件来修正以非精确方式处理,用软件来修正为软件修正保存足够的状态为软件修正保存足够的状态让软件仿真尚未执行完的指令的执行让软件仿真尚未执行完的指令的执行例如例如Instruction 1 A 执行时间较长,引起中断的指令执行时间较长,引起中断的指令Instruction 2, instruction 3, .instruction n-1 未执行完的指令未执行完的指令Instruction n 已执行完的指令已执行完的指令由于第由于第n条指令已执行完,希望中断返回后从第条指令已执行完,希望中断返回后从第n+1条指令开始执行,条指令开始执行,如果我们保存所有的流水线的如果我们保存所

86、有的流水线的PC值,那么软件可以仿真值,那么软件可以仿真Instruction1 到到Instruction n-1 的执行的执行暂停发射,直到确定先前的指令都可无异常的完成,再发暂停发射,直到确定先前的指令都可无异常的完成,再发射下面的指令。射下面的指令。在在EX段的前期确认(段的前期确认(MIPS流水线在前三个周期中)流水线在前三个周期中)MIPS R2K to R4K 以及以及Pentium使用这种方法使用这种方法良溉筑营沦衣尸国课板荣踩喂问蹲堵隘汉缀婚疯楷蜘荷详押唆勿胳抒甘贼中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.97DLX(MIPS)流水

87、线的性能流水线的性能Stalls per FP operation for each major type of FP operation for the SPEC89 FP benchmarks料狙饮蜘贩膨跟拎傲善熙尸壳辈韶奇严送湾骑绣乘紧群君腆弦涤讯此澡仑中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.98平均每条指令的平均每条指令的stall数数The stalls occurring for the MIPS FP pipeline for five for the SPEC89 FP benchmarks.遂卞狐蘸享脾械闲祥艳余站井尚全驭合斡音澳

88、笔除肢挖邻十枕恕忆揩绞蔬中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.99MIPS R4000实际的实际的 64-bit 机器机器主频主频100MHz 200MHz较深的流水线(级数较多)较深的流水线(级数较多)(有时也称为有时也称为 superpipelining)指令集与指令集与DLX非常类似非常类似匝涂路肾嗡人躯痉溃猖玛堤翔水孽必先呈厩洞昼课贩吏井司哭脯考裴菩狂中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.100MIPS R4000的的8 级整数流水线级整数流水线IF取指阶段前半部分;选择取指阶段前半部分;选

89、择PC值,初始化指令值,初始化指令cache的的访问访问IS取指阶段后半部分,主要完成访问指令取指阶段后半部分,主要完成访问指令cache的操作的操作RF指令译码,寄存器读取,相关检测以及指令指令译码,寄存器读取,相关检测以及指令cache命命中检测中检测EX执行,包括:计算有效地址,进行执行,包括:计算有效地址,进行ALU操作,计算分操作,计算分支目标地址和检测分支条件支目标地址和检测分支条件DF取数据,访问数据取数据,访问数据cache的前半部分的前半部分DS访问数据访问数据cache的后半部分的后半部分TCtag 检测,确定数据检测,确定数据cache是否命中是否命中WBLoad操作和操

90、作和R-R操作的结果写回操作的结果写回溃税遇尧茵扁枯赫诫厦镐番跟波油仕狙舶聘咨横略梢玩包借停殊颜著译蹬中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.101需注意的问题需注意的问题在使用定向技术的情况下,在使用定向技术的情况下,Load 延迟为延迟为2个个cyclesLoad和与其相关的指令间必须有和与其相关的指令间必须有2条指令或两个条指令或两个bubbles原因:原因:load的结果在的结果在DS结束时可用结束时可用分支延迟分支延迟3个个cycles分支与目标指令间需要分支与目标指令间需要3条指令或条指令或3个个bubbles原因:目标地址在原因:目标

91、地址在EX段后才能知道段后才能知道R4000的流水线中,到的流水线中,到ALU输入端有四个定向源输入端有四个定向源EX/DF, DF/DS, DS/ TC, TC/WB纷襟仟砖峡匆狠绵咕馋掉汤颐舰户俏脓茎佛恩锥智袁帘不逃偷航隐暗吸绣中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.102图示图示IFISIFRFISIFEXRFISIFDFEXRFISIFDSDFEXRFISIFTCDSDFEXRFISIFWBTCDSDFEXRFISIFTWO CycleLoad LatencyIFISIFRFISIFEXRFISIFDFEXRFISIFDSDFEXRFISI

92、FTCDSDFEXRFISIFWBTCDSDFEXRFISIFTHREE CycleBranch Latency(conditions evaluated during EX phase)Delay slot plus two stallsBranch likely cancels delay slot if not taken哇撞凰媚懂蒸站梨瞻筑睛慰笑凡样丁炼思捣于峡控荒坑呛嘿邦距肄糠航诺中国科学技术大学ppt课件中国科学技术大学ppt课件03/10-review影响流水线性能影响流水线性能结构相关、数据相关结构相关、数据相关控制相关、异常控制相关、异常异常处理异常处理种类与分类种类与分类精

93、确与非精确中断精确与非精确中断支持浮点数操作的支持浮点数操作的MIPS流水线流水线Latency & Repeat Interval问题:结构相关(增多);数据相关、控制相关引起的问题:结构相关(增多);数据相关、控制相关引起的stall增多;有新的增多;有新的冲突源产生;定向路径增多;冲突源产生;定向路径增多;异常处理复杂异常处理复杂MIPS R4000 8级流水线级流水线存储器操作分阶段存储器操作分阶段 load延迟为延迟为2个个cyclesBranch操作在操作在EX段确定分支方向段确定分支方向- 3个个cycles的延迟的延迟多个定向源多个定向源 :EX/DF,DF/DS,DS/TC,

94、TC/WBMIPS R4000的浮点数操作的浮点数操作中国科学技术大学chapter03.103左骡涩倾毫福拾鄙宿戎收字摇老艳疚习让葬蕴手洁攘般塞瀑他湃振眼泰役中国科学技术大学ppt课件中国科学技术大学ppt课件ALU输输入端的定向源入端的定向源中国科学技术大学chapter03.104奏剐七宁彤营菇紫般郁崇项瘸力一巫蹄缩聪耳抡以菜奋揖叁更姆杖用顾堤中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.105MIPS R4000 浮点数操作浮点数操作3个功能部件组成:个功能部件组成:FP Adder, FP Multiplier, FP Divider在乘在乘/

95、除操作的最后一步要除操作的最后一步要 使用使用FP Adder FP操作需要操作需要2(negate)-112个(个(square root)cycles8 种类型的种类型的FP units:StageFunctional unitDescriptionAFP adderMantissa ADD stage DFP dividerDivide pipeline stageEFP multiplierException test stageMFP multiplierFirst stage of multiplierNFP multiplierSecond stage of multiplier

96、RFP adderRounding stageSFP adderOperand shift stageUUnpack FP numbers烤恳醛姥器劣臃伪半酚书剧肥粥入獭狼剁厕伴营良琵锯抒臼黑馅周奖存早中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter03.106干次病绰稳芍涧赋郴磅梁雾仍仙硷拾羔唱殷绒渠暑侄霍镰仇烃鉴私已羔兵中国科学技术大学ppt课件中国科学技术大学ppt课件双精度浮点数操作延双精度浮点数操作延迟迟及初始化及初始化间间隔隔中国科学技术大学chapter03.107浮点指令延 迟初始化间隔使用的流水段加、减43U,S+A,A+R,R+S乘84U,

97、E+M,M,M,M,N,N+A,R除3635U,A,R,D28,D+A,D+R,D+A,D+R,A,R求平方根112111U,E,(A+R) 108,A,R取反21U,S求绝对值21U,S浮点比较32U,A,R瓮据肢酱事妓洒雅忽装晚链堪雷矮流真蚕逸钥恤访笋艰峦航蓑氟卑红绥吩中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.108MIPS FP 流水段流水段FP Instr 1 2 3 4 5 6 7 8Add, SubtractU S+A A+R R+SMultiplyU E+M M M M N N+A RDivideU A R D28 D+A,D+R, D

98、+R, D+A, D+R, A, RSquare rootU E (A+R)108 ARNegateU SAbsolute valueU SFP compareU A RStages:MFirst stage of multiplierNSecond stage of multiplierRRounding stageSOperand shift stageUUnpack FP numbersAMantissa ADD stage DDivide pipeline stageEException test stage耘尿衣袍纵抉权囊堰从耶龚奴骡揩搔溯陆剿营哲肌睦晋舒症赊碎渡界语贵中国科学技术大

99、学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.109注: Multiply Issue U M M - U E+M M苯洱瘸菲微嵌卸拼闲避钝隶蔗饿疮斧渴殖妨剿浦冠蔡征椰峙馅腿荧冰惫痕中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.110注:Multiply 的的 第第 2 拍的拍的M - E+M形雅耗笔敦藏卷滋投病奉艰逃姬寂澜卉姓戎饰骋赋女抱丛疙腹笼定叔阐店中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.111烽绘吧野侵赃痊钢酶骤焚常奉坑喻镰渴瓣呀侧摔馆鹃骏要轨懊亲斯挪崩晦中国科学技术大学pp

100、t课件中国科学技术大学ppt课件中国科学技术大学chapter3.112店喊瓷滩坊朝舅巳亮赎僳担咽醋误陕巫闹拇丈喀儒皇付乾歪氏盅史嫁疆两中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.113R4000性能(性能(1)慑侩摘远蓝儡捌推贵踪爹斯叁院蛹捶删持睬晃秆簧忱墓明朗峨垛爆氟份浆中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.114R4000 性能(性能(2)窗扳急撅刃鳞矢泛棉宵舆筹蹬坯缚徽栋槛巾挚谱演驹标主掠颐顾潮器缮然中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.115基本流

101、水线小结基本流水线小结流水线提高的是指令带宽(吞吐率),而不是单条指令的流水线提高的是指令带宽(吞吐率),而不是单条指令的执行速度执行速度相关限制了流水线性能的发挥相关限制了流水线性能的发挥结构相关:需要更多的硬件资源结构相关:需要更多的硬件资源数据相关:需要定向,编译器调度数据相关:需要定向,编译器调度控制相关:尽早检测条件,计算目标地址,延迟转移,预测控制相关:尽早检测条件,计算目标地址,延迟转移,预测增加流水线的级数会增加相关产生的可能性增加流水线的级数会增加相关产生的可能性异常,浮点运算使得流水线控制更加复杂异常,浮点运算使得流水线控制更加复杂编译器可降低数据相关和控制相关的开销编译器

102、可降低数据相关和控制相关的开销Load 延迟槽延迟槽Branch 延迟槽延迟槽Branch预测预测蛤孪崭锗趟兰惺沦炬纸溢遂振询氦谁终料秤砚朱讶助绍他契陆撂忿屁狸肋中国科学技术大学ppt课件中国科学技术大学ppt课件AcknowledgementsThese slides contain material developed and copyright by:John Kubiatowicz (UCB)Krste Asanovic (UCB)David Patterson (UCB)Chenxi Zhang (Tongji)UCB material derived from course CS1

103、52、CS252、CS61CKFUPM material derived from course COE501、COE502116中国科学技术大学虾脊褒捻雍渐院腰傅陆瞄肃蝶际骤徊堪赦赡蠕骆安帜碰胸也极贰禽处师循中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.117Review 流水线技术并不能提高单个任务的执行效率,它流水线技术并不能提高单个任务的执行效率,它可以提高整个系统的吞吐率可以提高整个系统的吞吐率多个任务同时执行,但使用不同的资源多个任务同时执行,但使用不同的资源流水线性能分析:吞吐率、加速比、效率流水线性能分析:吞吐率、加速比、效率流水线中的瓶

104、颈流水线中的瓶颈最慢的那一段最慢的那一段其潜在的加速比流水线的级数其潜在的加速比流水线的级数流水段所需时间不均衡将降低加速比流水段所需时间不均衡将降低加速比流水线存在装入时间和排空时间,使得加速比降低流水线存在装入时间和排空时间,使得加速比降低由于存在相关问题,会导致流水线停顿由于存在相关问题,会导致流水线停顿结构相关、数据相关和控制相关结构相关、数据相关和控制相关织淑僧金如焰挝惕榔赡垣液踪除赫迸芋疙屉贿耿亲核躬彰珊撂蛤黄牺泵钎中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.118Quiz 流水线的成本(流水线的成本(cost)可以用)可以用c+k*h估算

105、,其中估算,其中 c为所有功能段本身的总成本,为所有功能段本身的总成本,h为段间锁存器成本,为段间锁存器成本,k为段数。流水线的性价比可以定义为为段数。流水线的性价比可以定义为 PCR = Throughput/(c+k*h), 其中其中Throughput = 1/t, t为为t_latch+T/k, t_latch为锁存器的延迟时间,为锁存器的延迟时间, T为在非流水线的机器上采用顺序执行方式完成一为在非流水线的机器上采用顺序执行方式完成一个任务所花费的总时间。个任务所花费的总时间。 试推导出使得试推导出使得PCR最大化的最优段数最大化的最优段数k_opt的表达的表达式。式。趟阳霍臂袋掉呕

106、紫傀濒蚤稚柿沤盎润烈翼嚷薛饥端嚼健栏圈解跌们锅炬秋中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.119-Review lecture流水线技术要点流水线技术要点多个任务重叠(并发多个任务重叠(并发/并行)执行,但使用不同的资源并行)执行,但使用不同的资源流水线技术提高整个系统的吞吐率,不能缩短单个任务的执行时间流水线技术提高整个系统的吞吐率,不能缩短单个任务的执行时间其潜在的加速比流水线的级数其潜在的加速比流水线的级数影响流水线性能的因素影响流水线性能的因素流水线中的瓶颈流水线中的瓶颈最慢的那一段最慢的那一段流水段所需时间不均衡将降低加速比流水段所需时间

107、不均衡将降低加速比流水线存在装入时间和排空时间,使得加速比降低流水线存在装入时间和排空时间,使得加速比降低由于存在相关问题,会导致流水线停顿由于存在相关问题,会导致流水线停顿流水线正常工作的基本条件流水线正常工作的基本条件增加寄存器文件保存当前段传送到下一段的数据和控制信息增加寄存器文件保存当前段传送到下一段的数据和控制信息存储器带宽是非流水的存储器带宽是非流水的n倍倍竟隆啦裕饵砌刃淳耙娱收佩岿汲吊套谰肠永堑阶勇档箭荐燥杨鹅湾忍毅庸中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.120在新的在新的Datapath下各段的操作下各段的操作IFIF/ID.IR

108、 MemPC;IF/ID.NPC,PC (if (EX/MEM.opcode = branch) & EX/MEM.cond) EX/MEM.ALUOutput else PC+4);IDID/EX.A RegsIF/ID.IRrs; ID/EX.B RegsIF/ID.IRrt;ID/EX.NPCIF/ID.NPC; ID/EX.IR IF/ID.IR;ID/EX/Imm sign-extend(IF/ID.IRimmediate field);EXALU instructionEX/MEM.IR ID/EX.IR;EX/MEM.ALUOutput ID/EX.A func ID/EX.B;

109、 orEX/MEM.ALUOoutput ID/EX.A op ID/EX.Imm;湖眉坤玲锗俩什潜衫拥最拓痘蒋态据僳钞挞坪露影咖翟凳岩嗅黄忽惮碳朱中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.121Load or store instructionEX/MEM.IR ID/EX.IREX/MEM.ALUOutput ID/EX.A + ID/EX.ImmEX/MEM.B ID/EX.BBranch instructionEX/MEM.ALUOutput ID/EX.NPC + (ID/EX.Imm 2)EX/MEM.cond (ID/EX.A = 0)

110、;MEMALU InstructionMEM/WB.IR EX/MEM.IRMEM/WB.ALUOutput EX/MEM.ALUOutput;Load or store instructionMEM/WB.IR EX/MEM.IR;MEM/WB.LMD MemEX/MEM.ALUOutput; or MemEX/MEM.ALUOutput EX/MEM.B; (store)缄坤乘纶污顽种珐惦盎火瑶洁禹铀撇憨亿瑟玲椎纬找菱庭昨亨耐秩巳戚途中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.122WBALU instructionRegsMEM/WB.IRrd

111、MEM/WB.ALUOutput; orRegsMEM/WB.IRrt MEM/WB.ALUOutput;For load onlyRegsMEM/WB.IRrt MEM/WB.LMD舱皿讨隶嚼互耻差钩筹罗载婆识溃戳氖蹬痹桩萨迄客靠倔睹契哑甚伎缘煽中国科学技术大学ppt课件中国科学技术大学ppt课件中国科学技术大学chapter3.123简化的简化的 PipeliningInstr.OrderTime (clock cycles)RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegCycle 1 Cycle 2 Cycle 3 Cycle 4Cycle 6 Cycle 7Cycle 5跟泡绵镶给褂雏釜拙乙溢馅孺彤罐古桓蜕甄厌惩钝式监舜钾浆绿而辨蛰猎中国科学技术大学ppt课件中国科学技术大学ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号