高性能计算机体系结构
QingerBig
这个作者很懒,什么都没留下…
展开
-
计算机体系结构--基于硬件的动态预测
基于硬件的动态预测在解析控件依赖关系之前,继续动态发出并执行在动态预测的分支方向上传递条件分支的指令。这克服了基本块大小的ILP限制。在运行时创建动态推测的指令,不支持编译器方式。如果一个分支被错误预测,必须防止所有这些动态推测的指令改变机器的状态(寄存器,存储器)。增加提交(退出或重新排序)阶段,并强制指令按照代码中的顺序提交(即将结果写入寄存器或存储器)。精确的异常是可能的,因为指令必须按顺序提交。算法的四个阶段:发射: 从FP Op队列获取指令。 如果一个预留站和一个重新排序缓原创 2020-12-27 14:24:32 · 433 阅读 · 0 评论 -
计算机体系结构--多指令发射
多条指令发射为了使流水线的CPI更好(更小)于1,并更好地利用指令级并行性(ILP),必须在同一流水线周期中发出多个独立的指令。两种类型:超标量:在同一周期内发出多条指令(2-8条),由编译器静态调度或动态调度(Tomasulo)。超长指令字:固定数量的指令(3-6)被格式化为一个长指令字或包(由编译器静态调度)。静态调度超标量流水线每个周期可以发出两条指令(two-issue超标量)。其中一个指令是integer(包括load/store,branch)。另一条指令是浮点运算。超长指令原创 2020-12-27 14:22:53 · 2121 阅读 · 0 评论 -
计算机体系结构--条件分支预测
静态条件分支预测支路预测方案可分为静态方案和动态方案。静态方法通常由编译器执行。它们是静态的,因为预测在程序执行之前就已经知道了。一些静态预测方案包括:预测所有要采取的分支。这利用了大多数分支被取走的观察结果。这种原始的机制产生60%到70%的精确度。使用分支的方向来进行预测。预测要采取的向后分支(减少PC的分支)和不采取的向前分支(增加PC的分支)。在一些商用处理器中可以发现这种机制作为一种次要机制。分析也可以用来预测分支的结果。如果给定的分支可能被采取或不采取,则程序的先前运行用于收集信息,并原创 2020-12-27 14:18:13 · 2603 阅读 · 0 评论 -
计算机体系结构--Tomasulo算法
起源由IBM开发,并于1966年在IBMS360/91大型机中首次实现,大约是在CDC6600中记分板首次亮相之后的3年。动态调度硬件中的流水线,减少停顿。结构Tomasulo与记分牌提起Tomasulo算法一个经常与他进行对比的算法就是记分牌算法,有关记分牌的有关概念可以去看一下这篇博文文章传送门它们的主要区别如下:Tomasulo:控制与buffer分布在功能单元中。功能单元缓冲器被称为保留站,其具有未决指令和操作数以及其它指令状态信息。保留站有时被称为物理寄存器或重命名寄存器原创 2020-12-25 17:32:22 · 5510 阅读 · 1 评论 -
计算机体系结构--记分牌算法
记分牌记分板是一种硬件机制,它通过在操作数可用且没有危险条件阻止的情况下立即执行指令来维持每周期一条指令的执行速率。它用四个阶段:ID1,ID2,EX,WB代替ID,EX,WB每个指令都要经过记分板,在记分板上构建数据依赖关系的记录(对应于指令发布)。假设具有记分板的系统具有多个功能单元,其状态信息报告给记分板。如果记分板确定一条指令不能立即执行,它将执行另一条等待指令,并继续监视硬件单元的状态,并决定该指令何时可以继续执行。记分板还决定指令何时可以将其结果写入寄存器(危险检测和解决集中在记分原创 2020-12-25 16:32:12 · 4078 阅读 · 1 评论