计算机体系结构期末复习

文章目录

  • 计算机体系结构期末复习
    • 5 流水线技术
      • 5.1 知识点
      • 5.2 大题
  • (完)

5 流水线技术

5.1 知识点

计算机体系结构在向着多核并行的趋势发展,包括数据级并行(DLP),指令级并行(ILP),线程级并行(TLP),请求级并行(RLP)。本章主要讲解ILP。ILP实现有三种方式,第一种是superpipelining,流水线或超流水线处理机;第二种是super-scalar,多操作部件或超标量处理机;第三种是VLIWVery Long Instruction Word,超长指令字处理机,还在进一步研究。因此本章涉及到的知识点有先行控制技术、流水线原理与性能分析、非线性流水线的调度方法、局部相关与全局相关、最后是超标量处理机和超流水线处理机。考试重点如下:

  1. 要实现流水线,处理机的结构必须采用先行控制方式。先行控制技术的关键是缓冲技术和预处理技术。缓冲技术指的是在工作速度不固定的两个功能之间设置缓冲栈(比如对于功能部件IF-ID-EX-MEM-WB要设置4个缓冲栈缓冲),预处理技术指的是进入ALU的指令都采用RR型指令(这要求采用哈佛结构,以及增添lwsw指令将存储器操作数转化为寄存器数)。因此我们增添了3+4,3个独立的控制器:指令控制器,运算控制器,存储控制器,4个缓冲栈:先行指令缓冲栈,先行读数栈,先行操作栈,后行写数栈。因此采用先行控制方式,理想的执行n条指令时间为:T先行≈∑i=1nt执行iT_{先行}\approx\sum_{i=1}^{n}t_{执行i}T先行​≈∑i=1n​t执行i​。
  • (记忆位置,了解功能)先行指令缓冲栈用于IF,先行读数栈用和先行操作栈用于ID-EX,主要功能为预处理(将RI或RX转化为RR指令),后行写数栈。
  1. 流水线技术。包括superpipeliningsuper-scalar,分别运用了时间并行性(分时使用同一个部件不同部分)和空间并行性(设置多个独立操作部件)。流水线分为线性流水线和非线性流水线,非线性流水线有前馈回路和反馈回路,由流水线连接图和流水线预约表二者唯一确定一条流水线。对于线性流水线,用时空图表示,时间-空间,横轴时间为指令条数或深度,纵轴空间为功能段个数。一条指令的流水步随着历经的时间和功能段逐步向右上移动,注意数据相关。流水线也分为静态流水线和动态流水线。静态流水线指流水线各个功能段在同一时间只能实现一种功能,指令全部排空后,才可实现下一步功能。流水线的性能分析,吞吐率:TP=n/TkTP=n/T_{k}TP=n/Tk​,加速比:S=T0/TkS=T_{0}/T_{k}S=T0​/Tk​,效率:E=T0/(k∗Tk)E=T_{0}/(k*T_{k})E=T0​/(k∗Tk​)。其中,TPmax=1/Δt(Δt为流水线横轴的单位时间)TP_{max}=1/\Delta{t}(\Delta{t}为流水线横轴的单位时间)TPmax​=1/Δt(Δt为流水线横轴的单位时间),Smax=kS_{max}=kSmax​=k,Emax=1E_{max}=1Emax​=1。
  2. 非线性流水线的预约表。因为一个指令可能在多个功能段重复多次,因此要寻找延迟输入新任务使之不冲突的最小启动循环。我们通过一组二进制数(如001100)记录当前流水线的冲突状态,称为冲突向量(1为冲突位),代表着若流水线右移的步数为冲突向量二进制位为1所在的下标(如001100的3和4),则发生冲突。这个冲突向量可以进行右移或运算,对当前状态的冲突向量A右移m步(m只可为二进制位0的索引下标)并进行或操作,或的另一个对象自然是当前冲突向量A本身,可以产生该流水段的新冲突向量。若有两次右移(m,n)使冲突向量A可以回到原点。称(m,n)为不冲突的启动循环。通常已知预约表,求状态图。因此完成状态图的目标就是要得到全部的冲突向量以及全部的(m,n)。这里遍历即可:对初始冲突向量S,进行右移或操作,产生冲突向量;对每个新的冲突向量S进行右移或操作,直至遍历完成。
  3. 非线性流水线的优化调度方法。由定理,最小平均启动距离的下限是预约表中一行X最多的个数N。此行/功能段被称为瓶颈流水段。优化调度的目标是将N作为流水线的最小启动距离,使得瓶颈流水功能段始终处于忙碌状态,此时性能达到峰值。因此预约表中对于每隔N的流水步,若产生冲突,要相应向后移位。若后面的流水步需要前面流水步的结果,前面流水步移位,也要跟着移位。由此完成优化调度后的预约表。
  4. 相关性分析。包括数据相关(在执行本条指令用到的变量是前面指令的执行结果)和控制相关(由条件分支指令、无条件/一般条件/符合条件转移指令、中断等引起的相关),二者前后也被称为局部相关和全局相关。解决数据相关的方法:推后处理和设置专用路径。解决控制相关的方法:1.延迟转移技术和指令取消技术(由编译器调度无关指令),2.静态/动态分支预测技术(软件:通过编译器降低转移Y的概率,硬件:增加指令分析器提前取PC1,再增加一个先行目标缓冲栈;动态:在指令cache中设置转移的历史信息(设置转移历史表字段)/设置转移目标地址缓冲栈),3.提前形成条件码。条件分支对流水线性能的影响:TK−IF=(n+k−1)Δt+npq(k−1)ΔtT_{K-IF}=(n+k-1)\Delta{t}+npq(k-1)\Delta{t}TK−IF​=(n+k−1)Δt+npq(k−1)Δt,npqnpqnpq为n条指令中转移成功的指令条数。则流水线吞吐率下降的百分比为D=(TPMAX−TPMAX−IF)/(TPMAX)=pq(k−1)/(1+pq(k−1))D=(TP_{MAX}-TP_{MAX-IF})/(TP_{MAX})=pq(k-1)/(1+pq(k-1))D=(TPMAX​−TPMAX−IF​)/(TPMAX​)=pq(k−1)/(1+pq(k−1))。
  5. 动态调度技术。流水线有顺序和乱序三种调度方式:顺序发射顺序完成,顺序发射乱序完成,乱序发射乱序完成。值得警醒的是,在乱序流动中,可能发生3种数据相关。WR相关(写读相关),RW相关,WW相关。变量换名可以消除RW相关和WW相关,其规则是一个变量只允许定值一次。然而对于WR相关,无法换名,只能推后处理或设置专用路径。
  6. 超标量处理机(1<ILP<m1<ILP<m1<ILP<m)。首先引入单发射与多发射处理机这一概念,单发射处理机每个周期内只进行一次IF/ID/EX/WB。多发射处理机每个周期内可同时进行多个IF/ID/EX/WB。因此,超标量处理机的概念是,有两条或两条以上能同时工作的指令流水线。实现,先行指令窗口,从指令cache中预测多条指令,并分析是否存在相关和部件资源冲突。对于资源冲突,假定每周期发射m条指令,部件延迟时间k个周期,如果操作部件不采用流水线结构,使用同一部件的两条指令应至少相差m*k,若采用k段流水线结构,只需差m以上即可。总结一下,超标量处理机,不同于普通标量处理机,希望相同操作不要连续出现。性能:T(m,1)=(k+N−mm)ΔtT(m,1)=(k +\frac{N-m}{m})\Delta{t}T(m,1)=(k+mN−m​)Δt,最大加速比为m。
  7. 超流水线处理机(1<ILP<n1<ILP<n1<ILP<n)。超流水线处理机,在一个周期内分时发射多条指令的处理机。性能:T(1,n)=(k+N−1n)ΔtT(1,n)=(k+\frac{N-1}{n})\Delta{t}T(1,n)=(k+nN−1​)Δt,最大加速比为n。
  8. 超标量超流水线处理机(1<ILP<mn1<ILP<mn1<ILP<mn)。一个时钟周期发射m次,每次发射n条指令。性能:T(m,n)=(k+N−mmn)ΔtT(m,n)=(k+\frac{N-m}{mn})\Delta{t}T(m,n)=(k+mnN−m​)Δt,最大加速比为m*n。经比较,我们得到结论。超标量处理机的相对性能最高,其次是超标量超流水线处理机,超流水线处理机的相对性能最低。条件转移等操作造成的损失,超流水线处理机要比超标量处理机大,由于超流水线处理机采用深度流水线结构,对条件转移等操作比超标量处理机敏感。超流水线处理机的启动延迟通常要比超标量处理机大。超标量处理机在每个时钟周期的一开始就同时发射多条指令。

5.2 大题

  1. 已知一条线性静态流水线k个功能段,以及各个操作所使用的功能段。求流水线的时空图,实际吞吐率,加速比,效率等

    1. 考点:时空图,静态,数据相关
    2. 题目:
    3. 解答:
  2. 已知一条k个功能段的非线性流水线预约表。求调度流水线状态图,最小启动循环与最小平均启动距离。插入一个非计算延迟功能段后,求该流水线的最佳启动循环及最小平均启动距离,预约表,状态图。最大吞吐率与实际吞吐率。

    1. 考点:预约表,状态图,优化调度方法

    2. 题:

    3. 解答:

(完)

计算机体系结构期末复习相关推荐

  1. 计算机组成与系统结构名词解释,北京邮电大学 计算机系统结构(体系结构) 期末复习 术语解释...

    北邮 体系结构 期末复习 简答题(名词解释) 1. 计算机系统结构:机器语言程序员所看到的传统机器级所具有的属性,它包括概念性结构和功能特性两个方面. 2. 计算机组成:指的是计算机系统结构的逻辑实现 ...

  2. 计算机组成原理 北理,北京理工大学计算机组成原理期末复习.pdf

    计算机组成原理 期末复习 北京理工大学管理与经济学院 关磊 博士 提纲 内容回顾 练习题 2014年6月 北京理工大学管理与经济学院关磊博士 内容回顾 第1章引言 第2章数据表示 方法与数字逻辑 第3 ...

  3. 软件体系结构期末复习

    软件体系结构期末复习 标签(空格分隔): 未分类 回顾课本和TTP课件 内容总概 章节回顾 第1章.软件体系结构概论 0.软件体系结构的发展过程经历了四个阶段: (1)无体系结构阶段.(2)萌芽阶段. ...

  4. 广东电大计算机绘图试题,电大计算机绘图期末复习试题及答案参考小抄.doc

    电大计算机绘图期末复习试题及答案参考小抄 一.填空题(每小题1.5分,共30分) 1.CAD的常用图形输入设备有???鼠标??.数字化仪.图形输入板.光笔.??键盘 等.2.CAD的软件可分为系统软件 ...

  5. 计算机组成原理考试知识点总结,最新2018计算机组成原理期末复习考试知识点复习考点归纳总结总结...

    电大计算机组成原理期末复习考试考点 归纳总结 科学研究和工程技术计算是计算机最早的领域. 信息处理是计算机应用的最广泛的领域. 计算机系统分为硬件和软件两大部分.硬件是实体部件,是看得见摸得着的.软件 ...

  6. 计算机英语复习,计算机英语期末复习

    计算机英语期末复习 Unit 1data processing system 数据处理系统 digital computer数字计算机Integrated Circuit 集成电路 Very Larg ...

  7. 长春工业大学计算机组成原理考试开卷考吗,计算机组成原理期末复习资料

    长春工业大学人文信息学院 计算机星系工程系 计算机组成原理 期末复习资料 计算机组成原理 一.缩写词解释 CPU:中央处理器 ALU:算术逻辑单元 I/O:输入输出接口 RAM:随机存储器 SRAM: ...

  8. 2017计算机绘图试题及答案,2017年度__电大(精编新版)计算机绘图期末复习试题及答案参考小抄.doc...

    2017年度__电大(精编新版)计算机绘图期末复习试题及答案参考小抄 电大计算机绘图期末复习试题及答案参考小抄 一.填空题(每小题1.5分,共30分) 1.CAD的常用图形输入设备有???鼠标??.数 ...

  9. 某微型计算机指令格式如图,计算机组成原理期末复习试题2套不含答案

    计算机组成原理期末复习试题2套不含答案 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 附录C:<计算机组成原理>期末试卷样 ...

最新文章

  1. POJ 2828 Buy Tickets | 线段树的喵用
  2. 公益合种油松专车3天领证
  3. 利用jquery.form.js实现Ajax无刷新图片上传及预览功能
  4. 潘天佑博士2014微软学生夏令营演讲:如何培养领导力
  5. 关于 Repeater 控件嵌套的使用。在嵌套中添加 其它控件(如:按钮),并影响其它控件的方法,很重要哦,测试通过。...
  6. Java IO流之PrintStream分析
  7. bootstrap表格遍历_BootStrap实现带有增删改查功能的表格(DEMO详解)
  8. WIN10常用快捷键(打开资源管理器、显示桌面、截图)
  9. mysql问题_MySQL 各种问题解决方案(一)
  10. 常用plc编程软件阵营划分
  11. 自用工具 猴子都会用的unity视频播放器
  12. unity生涯的开始——太空飞船小游戏制作
  13. 关于HTML预处理器Pug的使用文档
  14. Linux驱动之DMA
  15. Python培训班多少钱
  16. NG-ALAIN的使用
  17. 小项目之数据库设计经验分享
  18. 提取mdx字典文件中的数据
  19. android手机扇区数据读写,磁盘、SD卡、移动磁盘物理扇区读写
  20. 从孙子兵法看企业价值观和企业文化

热门文章

  1. Linux_2 管道(任务间的通信)
  2. [遁去的一推荐]软件测试认识的几个误区(中国软件测试社区提供)
  3. C++生成csv文件
  4. 信息学奥赛_1000_ 入门测试题目
  5. OOO Execution May Not Be Cost-Effective on Processors Featuring SMT
  6. 菜鸟学习Node.js--express(一)
  7. 全国计算机一级学科点数量,最新数据:39所985高校一级学科博士点数量!
  8. 我也不知道问题出在哪
  9. OpenGL核心模式详细讲解[结合LearnOpenGL]
  10. Java动态代理invoke方法自动执行的原因