- 1、本文档共100页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 CPU组成
3.12.2 性能评价标准 最初: 执行单项操作的时间,例如:加法操作时间 改进为: 平均指令执行时间= 进一步成为容易理解的: 每秒百万条指令(Million Instructions Per Second) 同时出现: MFLOPS(每秒百万浮点操作) 最终形成: 测试程序(Benchmarks) 〔例题〕 一台40MHz处理器执行标准测试程序 求:CPI,MIPS 指令类型 指令条数 时钟周期数 整数运算 数据传送 浮点运算 控制传送 45000 32000 15000 8000 1 2 2 2 例题解答 CPI=(45000×1+32000×2+15000×2+8000×2)÷(45000+32000+15000+8000) =1.55(时钟周期/指令) MIPS=f/(CPI×106)=40×106/(1.55×106) =23.81 (百万条指令/秒) 第3章教学要求 熟悉CPU的基本模型和主要寄存器的作用 理解指令周期、CPU周期(机器周期、总线周期)和时钟周期(T周期)的概念和区别 了解CLA、ADD、STA和JMP指令在CPU基本模型的执行过程 了解微命令、微操作、微指令和微程序的概念 熟悉并行性的概念和提高并行性的技术途径 掌握指令流水线的思想,理解流水CPU的时空图 掌握资源相关、数据相关和控制相关的概念 理解CPU性能公式以及CPI、MIPS的计算方法 第3章习题 1. 在CPU基本模型中,主要有哪些寄存器?作用分别是什么? 2. 区别如下两组概念 ⑴ 指令周期、CPU周期、时钟周期 ⑵ 微命令、微指令、指令 3. 什么是指令流水线技术,它有什么特点?主要有哪些问题影响流水线效率? 4. SIMD,MMX和SSE各表示什么含义? * * 空间上如何解决? 智能型计算机有时需要使用生成指令的方法。 * 空间上如何解决? 智能型计算机有时需要使用生成指令的方法。 * 空间上如何解决? 智能型计算机有时需要使用生成指令的方法。 * * 3. 控制相关 控制相关冲突由转移指令(分支指令)引起 执行转移指令时,依据转移条件的产生结果 可能为顺序取下条指令 也可能转移到新的目标地址取指令 地址不定,流水线需要暂停、发生断流 转移指令主要有: 无条件转移指令:跳转、过程调用和返回 条件分支指令 解决方法: 延迟转移法。“先执行再转移”,即发生转移时并不排空指令流水线,而是继续完成下几条指令。 转移预测法。用硬件来实现。依据指令过去的行为来预测将来的行为。 【例5】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关 ⑴ I1: ADD R1, R2, R3 ;R2+R3→R1 I2: SUB R4, R1, R5 ;R1-R5→R4 ⑵ I3: STA M(x), R3 ;R3→M(x) I4: ADD R3, R4, R5 ;R4+R5→R3 ⑶ I5: MUL R3, R1, R2 ;R1×R2→R3 I6: ADD R3, R4, R5 ;R4+R5→R3 RAW WAR WAW 指令动态调度策略 简单指令流水线技术的一个主要局限 指令顺序发射(in-order issue)=按序发射 指令顺序执行(in-order execution) 如果一条指令在流水线中,与之相关的指令及其后面的指令都不能进行处理 改进指令流水线,只要指令操作数就绪就执行, 指令乱序执行(out-of-order execution) MUL R0, R2, R4 ADD R6, R0, R8 SUB R7, R3, R1 多重指令启动技术-多发射流水线 进一步改进指令流水线,实现一个时钟周期发射(流出issue)多条指令 超标量(Superscalar)流水线:每个时钟周期发射多条指令(1~8) 超级流水线(Super pipelining):将每个功能部件进一步流水化,使得一个功能部件在一个时钟周期中可以处理多条指令(可以简单地理解为很长的流水线) 超长指令字(VLIW: Very Long Instruction Word):通过编译器调度无关的多条指令(4~16)形成一条长指令,每个时钟周期发射一条长指令 多重指令启动 0 1 2 3 4 5 6 7 T 正常流水线 超标量流水线 0 1 2 3 4 5 6 T 0 1 2 3 4 5 6 T 超长指令字流水线 3个操作 0 1 2 3 4 5 6 7 T 超级流水线 80486的整数指令流水线 5级指令流水线,每级1个时钟周期 ? PF??指令预取(prefetch) ? D1??指令译码1(decode stage 1) 对所有操作
文档评论(0)