超标量技术

超标量技术:核心,为了最大化指令的吞吐率,必须减少分支指令,ALU指令,load/store指令的开销。

超标量处理器可以是只并行化EX段的流水段。

可以具体细分为:1)指令流;    2)寄存器数据流;     3)存储器数据流;

指令流:一般用在超标量流水线的前端,即取指段和译码段。流水线机器只有在流水模式下才能达到最大的吞吐率,

对于无条件分支指令,分支地址确定后,下一条指令就能取出;

对于条件分支,只有在分支部件执行结束,条件和分支地址都确定后,取指段才能读取下一条指令。

可以具体细分为:生成目标地址的开销和条件判断引起的开销。超标量处理器的总开销等于停顿周期数和流水线宽度的乘积。

生成目标地址的开销还取决于分支指令的寻址模式,

分支预测技术:对分支指令的目标地址和判定条件进行推测,任意一种推测机制都必须能够验证分支预测的结果,并且在预测失败时恢复正确的执行方式。

分支目标地址的推测通过设置分支目标缓冲BTB(Branch target Buffer)来实现,BTB用来保存前几次分支执行时的目标地址。包括两个域:

分支指令地址和分支目标地址

使用分支指令的地址访问BTB以及检索分支目标地址的工作都是在取指段执行的,若预测分支结果为跳转,则目标地址在下一个周期就被取指段使用。

虽然有了分支预测部件,分支指令还是要取出并送往流水线进行执行,以便确定预测是否正确,如果预测失败,恢复执行,需要更新BTB表中BTA的内容。

分支方向的预测中,最简单的方法是,总是预测为不跳转。对for循环不友好。

编译器优化,对不同的指令,设置静态的软件预测技术。不尽合理。

基于分支目标地址偏移的预测,相对偏移为正值,预测不跳转,相对偏移为负值,预测跳转。

普遍采用的是基于历史信息的分支预测技术

采用基于历史信息的分支预测策略对分支方向进行预测时,跳转还是不跳转取决于先前已经发生的分支方向。BTB在每条记录中增加一个历史信息位。

历史信息位作为FSM的状态变量,FSM的输出逻辑即分支预测方向。

预测算法有很多,如只要最近分支有一次以上的跳转,就执行跳转,除非最近两次都没有跳转,才不跳转。这些的设计策略都需要进行评估。

分支预测失败的恢复:

分支验证在分支指令执行完毕,正确方向已经确定后进行,前端预测结果的正确与否在此时判定。

如果结果证明预测正确,释放推测标识,所有的相关指令都变为非推测的,继续执行。

如果预测失败,结束当前指令流并从新的地址取指。指令流的改变通过修改PC来实现。

先进的分支预测技术

更精确的分支预测算法应该考虑其他关联分支指令的历史行为,从而动态的调整分支策略。之前的预测仅仅是静态方法。

Yeh和Patt提出的两级自适应分支预测技术,分支地址索引一个分支历史信息集合,称为模式历史信息表(PHT)。

然后通过预测算法FSM,来输出预测结果。以及之后的关联分支预测器。

对于那些没有很强的倾向性的分支和分支序列,预测是十分困难的。

寄存器数据流技术:

寄存器数据流主要是指ALU指令的执行,涉及到的问题主要是数据相关性,正相关,反相关,输出相关。

数据的相关性主要是由于寄存器重用引起的,静态的寄存器重用是一种编译器的优化,

编译主要是代码生成和寄存器分配。代码生成,值机器代码的生成,寄存器分配,尽可能的保证中间数据驻留在寄存器中,

同时避免存储器和寄存器之间频繁的数据移动。

在超标量机器中,由于指令是可以乱序执行的,所以寄存器的读写操作,并不按照程序的原始顺序,为了保证语义的正确性,

所有的反相关和输出相关必须被检测并消除。

寄存器重命名,同一体系结构寄存器中的多个定义动态分配不同的名字,寄存器重命名需要硬件的支持,在执行时可以撤销寄存器重用,来恢复

所有当前命令的值与寄存器之间的一一对应的关系。

主要作用是可以用来消除假相关,使得本来可以假相关的指令可以并行的执行了。

时间: 2024-10-25 11:53:36

超标量技术的相关文章

计算机三级网络技术备考复习资料zhuan

计算机三级网络技术备考复习资料   第一章  计算机基础 分析:考试形式:选择题和填空题,6个的选择题和2个填空题共10分,都是基本概念 1.计算机的四特点:有信息处理的特性,有广泛适应的特性,有灵活选择的特性.有正确应用的特性.(此条不需要知道) 2.计算机的发展阶段:经历了以下5个阶段(它们是并行关系):大型机阶段(46年ENIAC.58年103.59年104机).小型机阶段.微型机阶段(2005年5月1日联想完成了收购美国IBM公司的全球PC业务).客户机/服务器阶段(对等网络与非对等网络

名校计算机科学与技术专业培养方案

PS:清华大学计算机科学与技术专业本科生培养方案 计算机科学与技术(0812) 一.研究方向 1.通信软件工程 2.网络技术与应用 3.分布计算理论与技术 4.信息安全与多媒体技术 二.课程设置 类别 课程编号 课程名称 学时 学分 学期 学位课 公共必修课 512.8*704 自然辩证法概论 54 2 秋 521.8*300 科学社会主义理论与实践 36 1 春 534.8*445 英语 144 4 秋/春 基础理论课(至少选1门) 813.8*279 近世代数及其应用 54 3 秋 513.

7.3 超标量流水线

计算机组成 7 流水线处理器 7.3 超标量流水线 超标量流水线在现代的处理器当中得到了广泛的应用,也就是这种技术给我们带来了出色的处理器性能.那究竟什么才是超标量流水线,它又是如何工作的呢?我们这一节将一起探讨这个问题. 这个是我们之前已经构建好的一条流水线,但是如果我们觉得它的吞吐率还不够高.其中一个改进的方向就是加深流水线,而与之相对另一个改进的方向就是拓宽流水线.而拓宽流水线的这个方案我们就称为超标量.在现在通常来说超标量的结构是只有两条或者有两条以上可以并行工作的流水线,那好就这个厨房

处理器架构——从RISC与CISC到x86、ARM、MIPS

1.CISC(Complex Instruction SetComputer,复杂指令集计算机) 复杂指令集(CISC,Complex Instruction Set Computer)是一种微处理器指令集架构(ISA),每个指令可执行若干低阶操作,诸如从内存读取.储存.和计算操作,全部集于单一指令之中. CISC特点: 1.指令系统庞大,指令功能复杂,指令格式.寻址方式多: 2.绝大多数指令需多个机器周期完成: 3.各种指令都可访问存储器: 4.采用微程序控制: 5.有专用寄存器,少量: 6.

我对risc及cisc机器的认识

说起CISC和RISC机器的,一个称之为复杂指令计算机,另外一个称之为精简指令计算机.复杂指令计算机方面主要代表有大名鼎鼎的X86架构,8位cisc嵌入式代表主要有因特尔的8051,16位的有80196,32位的有瑞萨的CISC架构,具体啥名字忘记了,相对比较非主流.精简指令计算机代表有arm,mips,sparc,powerpc,以及一些非主流的cpu. risc方面我只用过arm和mips,感觉这两家公司其实在技术方面,早期mips是完全领先于arm,体系架构设计也比arm要简单实用,并且中

CPU GPU设计工作原理《转》

我知道这很长,但是,我坚持看完了.希望有幸看到这文章并对图形方面有兴趣的朋友,也能坚持看完.一定大有收获.毕竟知道它们到底是怎么"私下勾搭"的.会有利于我们用程序来指挥它们....(这是我加上去的) 原文从这里开始: 要说到设计的复杂程度,那还是CPU了!这个不用讨论,很简单的道理你看看显卡芯片的更新速度和CPU的更新速度就可见一斑了.还是简单说说他们的设计原理吧. CPU: 但是,现在我要问一句:"什么是CPU?"我相信大多数人并不知道什么是CPU.当然,你可以回

计算机组成原理基础知识

1.存储区由存储单元构成,每个存储单元由很多个存储元构成.一个存储单元内部的存储元个数即为存储的字长.也为机器的字长. 第三章:系统总线1.片内总线:指芯片内部的总线.例如在CPU芯片内部,寄存器与寄存器,寄存器与算逻单元ALU之间的连接.2.系统总线由数据总线.地址总线与控制总线构成.数据总线:双向传输.地址总线:由cpu传出地址向存储单元,从对应的地址处读取数据,单向传输.地址线的位数与存储单元的个数有关,地址线位数即为存储单元的个数.控制总线:可以认为是双向的传输.既能从CPU向各个设备或

arm指令系统(RISC|CISC)

一: CISC(Complex Instruction Set Computer)复杂指令计算机 CISC是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路.指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算.CISC是一种执行整套计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器.这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS).因为计算机执行每个指令类型都需要额外的晶体管

计算范式

本文由giantpoplar发表于csdn,未经允许不得转载. 引言 从大一进入软件工程专业以来,到现在大三,陆续听说了很多关于"计算"的词语,比如并行计算,分布式计算,网格计算,云计算,串行计算,异构计算等等,这些名词大多给我一种不明觉厉的感觉,一直想着了解一下这些概念,恰好在读<云计算与分布式系统--从并行处理到物联网>一书时,看到第一章第一节里提到集中式计算.并行计算.分布式计算.云计算这四种计算范式的区别,书中使用了"计算范式"这个词,感觉这个词