安腾处理器中多级分支预测机制
9月全国计算机三级考试《网络技术》笔试真题

9月全国计算机三级考试《网络技术》笔试真题2008年9月全国计算机三级考试《网络技术》笔试真题一、选择题(每小题1分,共60分)1、2008年北京奥运会实现了绿色奥运、人文奥运、科技奥运。
以下关于绿色奥运的描述中,错误的是( )A.以可持续发展理念为指导B.旨在创造良好生态环境的奥运C.抓好节能减排、净化空气D.信息科技是没有污染的绿色科技2、关于计算机机型描述中,错误的是( )A.服务器具有很高的安全性和可靠性B.服务器的性能不及大型机、超过小型机C.工作站具有很好的图形处理能力D.工作站的显示器分辨率比较高3、关于奔腾处理器体系结构的描述中,正确的是( )A.超标量技术的特点是设置多条流水线同时执行多个处理童B.超流水线的技术特点是进行分支预测C.哈佛结构是把指令和数据进行混合存储D.局部总线采用VESA标准4、关于安腾处理器的描述中,错误的是( )A.安腾是IA-64的体系结构B.它用于高端服务器与工作站C.采用了复杂指令系统CISCD.实现了简明并行指令计算EPIC5、关于主板的描述中。
正确的是( )A.按CPU芯片分类有SCSI主板、EDO主板B.按主板的规格分类有AT主版、ATX主板C.按CPU插座分类有奔腾主板、AMD主板D.按数据端口分类有Slot主板、Socket主板6、关于软件开发的描述中,错误的是( )A.软件生命周期包括计划、开发、运行三个阶段B.开发初期进行需求分析、总体设计、详细设计C.开发后期进行编码乖测试D.文档是软件运行和使用中形成的资料7、关于计算机网络的描述中.错误的是( )A.计算机资源指计算机硬件、软件与数据B.计算机之间有明确的主从关系C.互连的计算机是分布在不同地理位置的自治计算机D.网络用户可以使用本地资源和远程资源8、2.5×1012bps的数据传输速率可表示为( )A.2.5 kbpsB.2.5 MbpsC.2.5 GbpsD.2.5 Tbps9、网络中数据传输差错的出现具有( )A.随机性B.确定性C.指数特性D.线性特性10、关于OSI参考模型层次划分原则的描述中,正确的是( )A.不同结点的同等层具有相同的功能B.网中各结点都需要采用相同的操作系统C.高层需要知道底层功能是如何实现的D.同一结点内相邻层之间通过对等协议遗信11、TCP/IP参考模型的互连层与OSI参考模型的哪一层(或几层)相对应( )A.物理层B.物理层与数据链路层C.网络层D.网络层与传输层12、关于MPLS技术特点的描述中,错误的是( )A.实现IP分组的快速交换B.MPLS的核心是标记交换C.标记由边界标记交换路由器添加D.标记是可变长度的转发标识符13、支持IP多播通信的协议是( )A.ICMPB.IGMPC.RIPD.OSPF14、关于Ad hoc网络的描述中,错误的是( )A.没有固定的路由器B.需要基站支持C.具有动态搜索能力D.适用于紧急救援等场合15、传输层的主要任务是完成( )A.进程通信服务B.网络连接服务C.路径选择服务D.子网一子网连接服务16、机群系统按照应用目标可以分为高可用性机群与( )A.高性能机群B.工作站机群C.同构机群D.异构机群17、共享介质方式的局域网必须解决的问题是( )A.网络拥塞控制B.介质访问控制C.网络路由控制D.物理连接控制18、以下哪个是正确的Ethernet物理地址( )A.00-60-08B.00-60-08-00-A6-38C.00-60-08-00D.00-60-08-00-A6-38-0019、10 Gbps Ethernet采用的标准是IEEE( )A.802.3aB.802.3abC.802.3aeD.802.3u20、一种Ethernet交换机具有24个10/100 Mbps的全双工端口与2个1000 Mbps的全双工端口,其总带宽最大可以达到( )A.0.44 GbpsB.4.40 GbpsC.0.88 Gbps、D.8.80 Gbps21、采用直接交换方式的Ethernet中,承担出错检测任务的是( )A.结点主机B.交换机C.路由器D.结点主机与交换机22、虚拟局域网可以将网络结点按工作性质与需要划分为若干个( )A.物理网络B.逻辑工作纽C.端口映射表D.端口号/套接字映射表23、下面哪种不是红外局域网采用的数据传输技术( )A.定向光束红外传输B.全方位红外传输C.漫反射红外传输D.绕射红外传输24、直接序列扩频通信是将发送数据与发送端产生的一个伪随机码进行( )A.模二加B.二进制指数和C.平均值计算D.校验和计算25、关于建筑物综合布线系统的描述中,错误的是( )A.采用模块化结构B.具有良好的可扩展性C.传输介质采用屏蔽双绞线D.可以连接建筑物中的各种网络设备26、关于Windows的描述中,错误的是( )A.启运进程的函数是CreateProcessB.通过GDI调用作图函数C.可使用多种文件系统管理磁盘文件D.内存管理不需要虚拟内存管理程序27、关于网络操作系统的描述中,正确的是( )A.早期大型机时代IBM提供了通用的网络环境B.不同的网络硬件需要不同的网络操作系统C.非对等结构把共享硬盘空间分为许多虚拟盘体D.对等结构中服务器端和客户端的软件都可以互换28、关于Windows 2000 Server基本服务的描述中,错误的是( )A.活动目录存储有关网络对象的'信息B.活动目录服务把域划分为组织单元C.域控制器不区分主域控制器和备份域控制器D.用户组分为全局组和本地组29、关于NetWare文件系统的描述中,正确的是( )A.不支持无盘工作站B.通过多路硬盘处理和高速缓冲技术提高硬盘访问速度C.不需要单独的文件服务器D.工作站的资源可以直接共享30、关于Linux的描述中,错误的是( )A.是一种开源操作系统B.源代码最先公布在瑞典的FTP站点C.提供了良好的应用开发环境D.可支持非Intel硬件平台31、关于Unix的描述中,正确的是( )A.是多用户操作系统B.用汇编语言写成C.其文件系统是网状结构D.其标准化进行得顺利32、关于因特网的描述中,错误的是( )A.采用OSI标准B.是一个信息资源网C.运行TCP/IP协议D.是一种互联网33、关于IP数据报投递的描述中。
处理器分支预测研究的历史和现状

处理器分支预测研究的历史和现状冯子军肖俊华章隆兵摘要 在过去十几年中,分支预测技术一直是提高处理器性能的重要方法,工业界和学术界对之进行了大量研究。
分支预测的本质是克服指令控制相关,提高指令并行度。
随着研究的不断深入,当前学术界认为分支预测是一个指令学习的过程,这就使得对分支预测的研究出现了新的趋势。
本文对分支预测技术的历史和研究现状进行了归纳,以便从总体上了解分支预测技术的发展过程。
1 引言过去的十几年里,分支预测技术一直是提高通用处理器性能的重要方法。
分支预测的本质是克服指令控制相关,提高指令并行度,从而使得处理器的性能得到提高。
在这方面学术界和工业界都进行了大量的研究和实践,分支预测的重要性体现在以下几个方面:首先,现在的通用处理器大多采用深度流水线和宽发射机制,分支预测是两者的关键支撑技术。
虽然前两年英特尔(Intel)的奔腾4(Pentium4)靠深度流水提高主频一直为人所诟病,但是同时应该注意到没有一定深度的流水,处理器频率就不可能太高,也就不会有很高的性能。
目前x86处理器一般都有20-30级的流水线。
此外展望新世纪体系结构时候,耶鲁.帕特(Yale.Patt)预测宽发射将成为单芯片集成10亿晶体管主要解决方案之一[1],而且宽发射也是提高单片处理器性能的重要手段之一,最近英特尔的新处理器Conroe就从原先奔腾的三发射提高到四发射,使得处理器性能提高30%也是例证[2]。
简单的分析表明:在当前流行的深流水线宽发射体系结构中,分支预测率会严重影响取指带宽的利用率。
在5发射10级流水线条件下,预测准确率为90%时,带宽会浪费47%;而如果准确率提高到96%则带宽浪费可降低到26%(一般处理器设计为2到8发射,此处为了计算方便假定5发射)。
另外,分支预测技术不仅在高性能通用处理器中采用,而且在嵌入式处理器也广泛采用,所以作为一个处理器设计者,我们应该知道当前存在的分支预测的各种算法及其优缺点,这样才能对功耗和性能进行权衡。
计算机三级考试选择题及答案

xx年计算机三级考试选择题及答案(1) 对计算机开展阶段的描述中,比拟正确的描述是A) 计算机经过四代开展,即电子管、晶体管、集成电路和VLSI等阶段B) 计算机经过四型开展,即大型机、中型机、小型机和微型机C) 计算机经过三步开展、即大型机、微型机和网络机D) 计算机经过五代开展,即大型主机、小型机、微型机、客户机/效劳器和互联网正确答案: D(2) 以下说法中,正确的选项是A) 效劳器只能用大型的主机、小型机构成B) 效劳器只能用安腾处理器组成C) 效劳器不能用个人计算机构成D) 效劳器可以用奔腾、安腾处理器组成正确答案: D(3) 主机板有许多分类方法,按其本身的规格可分为A) Slot 1主板、Socket 7主板B) AT主板、Baby?AT主板、ATX主板C) SCSI主板、EDO主板、AGP主板D) TX主板、LX主板、BX主板正确答案: B(4) 以下说法中,正确的选项是A) 奔腾I机奔腾II是16位的,奔腾III和奔腾IV是32位的B) 奔腾I机奔腾II是32位的,奔腾III和奔腾IV是64位的C) 奔腾是32位的,安腾是64位的D) 奔腾是64位的,安腾是64位的正确答案: C(5) 在有关软件开发过程中,下述说法哪一个是不完整的?A) 软件生命周期分为方案、开发和运行三个阶段B) 在开发前期要进展总体设计、详细设计C) 在开发后期要进展编写代码、软件测试D) 运行阶段主要是进展软件维护正确答案: B(6) 以下关于奔腾芯片技术的表达中,正确的选项是A) 技术的特点是提高主频、细化流水B) 超流水技术的特点是内置多条流水线C) 哈佛构造是把指令与数据混合存储D) 分支预测能动态预测程序分支的转移正确答案: D(7) 下述关于安腾芯片的表达中,不正确的选项是A) 安腾是从32位向64位过渡的芯片,但它仍是32位芯片B) 安腾主要用于效劳器和工作站C) 安腾的创新技术是简明并行指令计算D) 安腾能使电子商务平衡地运行正确答案: A(8) 文件系统的主要目的是A) 实现对文件的按名存取B) 虚拟存储C) 提高外存的读写速度D) 用于存储系统文件正确答案: A(9) 以下关于网络根本任务表述不完备的是A) 屏蔽本地资源与网络资源的差异性B) 为用户提供各种通信效劳功能C) 完成网络共享系统资源的管理D) 提供网络系统的完全性效劳正确答案: B(10) 关于网络操作系统提供的打印效劳,以下说法错误的选项是A)不必存在专门的打印效劳器,可由工作站或文件效劳器担任B) 网络用户可以远程共享使用局域网中的打印机C) 网络打印效劳本着分时共享的宗旨将多用户所要打印文件排队管理D) 打印效劳可以实现打印请求承受、格式说明、打印机配置等管理功能正确答案: C(11) 以下关于Windows 2000操作系统说法不正确的选项是A) 它是以Windows NT Server 4.0为根底开发而成B) 是效劳器端的多用途网络操作系统C) 是MicroSoft公司第一个真正的32位操作系统D) 可为部门级工作组或中小型企业用户提供各种网络效劳正确答案: C(12) 以下哪一个是Windows 2000 Server重要的新功能?A) 可恢复性文件系统NT File SystemB) 活动目录效劳C) 自动硬件配置检测D) 主域控制器正确答案: B(13) 以下哪项效劳,NetWare操作系统的文件效劳器内核无法完成?A) 系统容错管理B) 内核进程管理C) 数据库操作系统D) 文件系统管理正确答案: C(14) 以下哪种不属于NetWare中的网络操作员?A) 队列操作员B) 文件备份操作员C) FCONSOLE操作员D) 控制台操作员正确答案: B(15) 以下哪项不属于NetWare操作系统的三种容错技术?A) UPS监控B) 文件效劳器监控C) 事物跟踪系统D) 三级容错机制正确答案: B(16) UNIX是最普遍使用的操作系统之一,以下说法正确的选项是A) UNIX系统的用户进程数目在逻辑上不受任何限制,有较高运行效率B) UNIX系统大局部采用编写,易读易修改,但速度不如汇编系统,所以现在主流操作系统都采用汇编语言书写C) 提供了精心挑选的系统调用,系统地实现紧凑,简洁而优美D) 提供了多种通信机制如管道通信,软中断通信,消息共享存储器通信等正确答案: B(17) Inter 2初始运行速率可到达A) 2MbpsB) 10MbpsC) 10GbpsD) 100Gbps正确答案: D(18) 广域网WAN所覆盖的地理范围可达A) 数公里B) 数十公里C) 数百公里D) 数千公里正确答案: D(19) 计算机网络拓扑构造中的总线型、环型、无线电通信型与卫星通信型属于什么拓扑构造?A) 点-点线路通信子网B) 播送信道通信子网。
Itanium安腾

Itanium(官方中文名称为安腾),是 Intel Itanium 架构(通常称之为IA-64)的 64位处理器。
Intel 推出了两个 Itanium 的家族:其一是Itanium,另一个是Itanium 2。
在2007年11月1日,Itanium 2 的家族又再一次称为Itanium。
该处理器的市场定位是在于企业服务器与高性能运算系统。
该架构由 HP 创始,后来则是 HP 与 Intel 共同开发。
Itanium的微架构是彻底的不同于其他 Intel 处理器采用的x86(包含x86-64)架构。
这个架构是建基于显性的指令并发,由编译器来决定哪些指令并发处理。
这种方式允许处理器在每个周期最多可以运行 6 个指令。
与超标量架构的不同点,Itanium在并发处理中并没有复杂的线路来判断指令依赖性,所以编译器必须要在编译的时候就已经处理妥当。
在一系列的拖延开发进度后,第一款 Itanium 于 2001年推出,性能更强的 Itanium 处理器在之后则是有周期性的持续推出。
采用 Itanium 处理器的制造商之中,以 HP 的制造量最多。
在 2007年,Itanium 在企业界系统采用的架构之中是位于第四名,而前三名则是x86-64、IBM POWER与SPARC。
Intel 推出最新的 Itanium 处理器为 Montvale 核心,于 2007年 11月推出。
[1][编辑]历史搭载Itanium处理器的服务器销售预测表[2][3][编辑]开发:1989 至 2001在 1989 年,HP认为RISC架构将来会遇到每周期只能运行一个指令的瓶颈。
而 HP 的研究员在研究一个称之为显式并发指令运算(EPIC)的新架构,该架构允许处理器在一个周期内运行多条指令。
EPIC 是一种超长指令字(VLIW)架构,每个这种指令即包含多条小指令。
使用 EPIC 技术后,编译器就能决定让这些小指令同时运行于单一周期,因此处理器能够简单的运行这些指令而不需要很复杂的架构去决定哪些指令能够并发运行。
计算机组成原理 本科生期末试卷1~5选择填空答案

本科生期末试卷(一)一、选择题(每小题1分,共15分)1 从器件角度看,计算机经历了五代变化。
但从系统结构看,至今绝大多数计算机仍属于(冯.诺依曼)计算机。
2 某机字长32位,其中1位表示符号位。
若用定点整数表示,则最小负整数为(-(231-1) )。
3 以下有关运算器的描述,(算术运算与逻辑运算)是正确的。
4 EEPROM是指(电擦除可编程只读存储器)。
5 常用的虚拟存储系统由(主存-辅存)两级存储器组成,其中辅存是大容量的磁表面存储器。
6 RISC访内指令中,操作数的物理位置一般安排在(两个通用寄存器)。
7 当前的CPU由(控制器、运算器、cache)组成。
8 流水CPU是由一系列叫做“段”的处理部件组成。
和具备m个并行部件的CPU相比,一个m段流水CPU的吞吐能力是(具备同等水平)。
9 在集中式总线仲裁中,(独立请求)方式响应时间最快。
10 CPU中跟踪指令后继地址的寄存器是(程序计数器)。
11 从信息流的传输速度来看,(单总线)系统工作效率最低。
12 单级中断系统中,CPU一旦响应中断,立即关闭(中断屏蔽)标志,以防止本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。
13 安腾处理机的典型指令格式为(41位)位。
14 下面操作中应该由特权指令完成的是(从用户模式切换到管理员模式)。
15 下列各项中,不属于安腾体系结构基本特征的是(超线程)。
二、填空题(每小题2分,共20分)1 字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(IRA )码。
2 按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。
其中阶码E的值等于指数的真值( e )加上一个固定的偏移值(127 )。
3 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。
4 虚拟存储器分为页式、(段)式、(段页)式三种。
计算机等级考试三级网络技术

【例5】以下说法哪一个是不正确的? A) 现在手持设备还都不能上网 B) 现在家用计算机和多媒体计算机几乎一样 C) 现在笔记本电脑与台式机性能相差不多 D) 现在高档微机与工作站几乎没有区别 【答案】A) 【解析】手持设备又称掌上电脑或亚笔记本电脑,如PDA、商务通等,目前大部分 新产品都具有上网的功能。 【例6】下列设备中,不属于手持设备的是 A) 笔记本电脑 B) 掌上电脑 C) PDA D) 第3代手机 【答案】A) 【解析】手持设备又称掌上电脑或称亚笔记本电脑,亚笔记本电脑比笔记本电脑更 小,更轻。常见的手持设备有PDA、商务通、快译通以及第二代、第三代手机等。
【例15】奔腾芯片的体系结构中,采用了许多新技术,下列叙述中错误的是 A) 超标量技术的特点是提高主频、细化流水 B) 分支预测能动态预测程序分支的转移 C) 超流水线技术的特点是提高主频、细化流水 D) 哈佛结构是把指令与数据分别进行存储 【答案】A) 【解析】超标量技术内置多条流水线来同时执行多个处理,其实质是以空间换取时间。 超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作, 其实质是以时间换取空间。
【例14】早期的IBM-PC使用的芯片是 A) Motorola公司的6800芯片 B) MOS Technologies公司的6502芯片 C) Intel公司的8088芯片 D) Intel公司的8086芯片 【答案】C) 【解析】Intel 8088是IBM公司首批节约成本的IBM-PC的芯片。
第 一 章 计 算 机 基 础
软件的基本概念 微机操作系统的发展简史 计算机软件 组成 应用软件的种类 程序、文档与软件开发 多媒体基本概念
多媒体的基 本概念
多媒体关键技术
超文本与超媒体的概念 多媒体的应用Leabharlann 【例1】因特网的前身是美国
可重构处理器中的分支预测算法设计

可重构处理器中的分支预测算法设计随着计算机技术的发展,各式各样的处理器不断涌现,可重构处理器便是其中之一。
可重构处理器可以根据不同的应用场景重新配置其功能,以优化处理器的性能和功耗,因此备受关注。
然而,可重构处理器中的分支预测算法是一个尚待解决的问题。
分支预测算法是处理器中的一个重要部分,其意义在于能够有效地缩短程序的执行时间、提高系统的吞吐量,从而提升处理器的性能和效率。
因此,本文旨在探讨可重构处理器中的分支预测算法设计。
一、可重构处理器中分支预测算法的作用和挑战面对现有处理器的局限性,研发者们致力于开发一种灵活、高效的可重构处理器,以适应不同应用场景。
可重构处理器的应用面非常广泛,一般用于网络交换机、无线通信、多媒体处理等领域。
在这些应用场景下,控制流图中的分支结构很多,而分支预测算法在这些场景下的作用就体现出来了。
可重构处理器中的分支预测算法面临的挑战主要来自硬件资源的限制和预测精度。
可重构处理器的资源有限,如何设计一种高效的分支预测算法,并且能够达到预测精度的要求是一个关键的问题。
二、可重构处理器中的分支预测算法设计主要分为两类,即基于硬件和基于软件的算法。
基于硬件的算法主要是利用处理器内部的数据通路和控制单元来实现分支预测,这种方法的优势在于预测速度快,但也存在着资源消耗大的问题。
基于软件的算法主要是利用软件进行预测,这种方法的优势在于能够有效地利用处理器内部的资源,但对于一些复杂的程序来说预测精度不够高。
在可重构处理器中,由于处理器的资源有限,如果采用基于硬件的算法,很容易出现资源不足的问题。
因此,我们需要采用一些高效的算法来解决这个问题。
下面,本文将介绍两种可重构处理器中的分支预测算法设计。
1. Bimodal算法Bimodal算法是一种基于硬件的算法,它通过一个二进制计数器记录过去的分支历史信息。
每次分支预测时,Bimodal算法会检查计数器的值,如果它大于等于预设的阈值,那么就预测分支方向为“1”,否则就预测分支方向为“0”。
Pentium的动态分支预测

Pentium的动态分支预测
条件转移指令是控制相关引起停顿的主要原因。
Pentium采用动态分支预测方法处理指令分支,大多数情况都预测发生分支,这样结合超标量结构可以大大提高了流水线性能。
Pentium维持一个分支目标缓冲器BTB(Branch Target Buffer),用它记录最近使用的转移指令的有关情况,并动态预测当前转移指令是否发生分支;在预测正确时就可以无延迟的执行,如果预测错误,则产生3~4个时钟的延迟。
问题:当Pentium处理器执行一条条件转移指令时,发现该指令的地址已经保存在其BTB中。
如果该BTB 项的2位“历史域”是10,则预测是顺序执行还是跳转执行?如果确是跳转执行,跳转到的地址可以从哪里快速获得、而不必等待该条件转移指令执行时才计算转移地址,同时这个历史域被更新为什么?如果实际上是顺序执行,则这个历史域被更新为什么?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安腾处理器中多级分支预测机制苏铭赵荣彩宋宗宇(解放军信息工程大学郑州 450002)E-mail: mingsu@摘要:分支预测技术可消除分支指令之后损失的周期,防止流水线断流。
高比率的分支预测精确度是高性能微处理器性能的保证。
本文详细分析了安腾处理器(Itanium)多级分支预测机制,并研究了每级预测器的具体实现。
关键词: 分支预测 安腾处理器中图分类号:TP311.11 文献标识码:①项目基金资助:河南杰出人才创新基金(基金编号:0521000200)Multi-level Branch Prediction Strategy inItanium ProcessorSu Ming Zhao rong cai Song zong yuThe Information and Engineering University Zheng Zhou 450002 Abstract: Multi-level prediction strategy enhance prediction precision and improveperformance. In this paper, we analyze multi-level branch prediction in the front endand study the implementation of each-level predictor on the basis of Itanium processorwhich is a commercial EPIC processor.key word:Branch prediction EPIC1.引言频繁的分支指令改变了程序的正常控制流,制约了指令并行性的开发,而且这种性能损失对于宽发射深流水结构的高性能处理器来说更为严重,所以必须采取一种有效的措施来解决上述瓶颈。
在EPIC体系结构中使用了判断执行技术来消除分支指令及其带来的影响,但判断执行技术不能去除全部的分支指令,只能去除部分分支指令——if分支指令。
针对无法消除的分支指令,为了减小对性能的影响,EPIC延用了传统体系结构中的处理方式,使用分支预测技术。
分支预测技术是指在分支条件计算出来之前对分支执行路径进行猜测的过程。
如果猜测结果正确将会减少处理器停顿、提高性能。
对于分支预测来说,目标就是提高预测率,尽可能地减少误预测及其开销。
本文以第一个商业可得的EPIC指令系统体系结构——IA-64为背景,以IA-64的第二代处理器芯片ItaniumⅡ为基础,详细分析了多级分支预测结构在提高预测率、减少误预测的开销方面的技术思路。
2.多级分支预测结构框架由于判断执行技术的引入,与传统的分支预测结构相比,安腾处理器增添了许多新的预测结构[1]。
图1给出了流水线前端的多级分支预测结构图。
从图上看出可分为4级预测结构,第一级预测结构采用了一个目标地址寄存器(TAR)表来保存分支的目标地址。
第二级预测结构中,除了采用传统的动态预测表(BPT)对单分支指令进行预测外,还建立了动态多分支预测表(MBPT)对多路分支给予支持,同时使用返回栈缓冲区(RSB)结构对调用和返回分支指令进行预测。
第三和第四级预测结构采用了分支地址计算(BAC1、BAC2)对无条件分支指令的预测进行支持,同时在第三级预测结构中针对循环指令最后一次循环退出时的误预测,使用了循环退出校正器结构(loop exit corrector)结构给予纠正,比较巧妙地实现了对循环结构的预测。
图1多级分支预测结构图由于使用多级预测结构,可能就会存在多个预测返回的结果同时修改当前IP的情况。
所以要想正确而有效的处理指令,就必须定义各级预测的优先级。
一般采用的原则是:不同时刻的同一指令按照图1自左向右的顺序优先级降低;对于同一时刻的不同指令,前面进入流水线的指令优先级要高于后面进入流水线的指令优先级。
图2给出了多级分支预测结构的优先原则。
图2多级分支预测结构优先原则前端的多级分支预测包括两个层次:动态预测和静态预测。
动态预测是使用预测硬件根据程序执行的历史来预测分支。
静态预测是使用编译器提供的提示信息来确定预测的方向。
图3给出了多级分支预测层次示意图。
图3多级分支预测层次示意图下面我们将从硬件机制对于多级分支动态预测的支持和软件提示对于静态预测的支持两个方面进行具体描述。
3.分支预测的硬件机制3.1单周期预测器单周期预测器用于多级预测结构的第一级预测,其使用的数据结构是目标地址寄存器(TAR)。
TAR包括四个寄存器,采用全相联的组织结构,能够提供对分支指令的快速预测。
TAR由当前指令束(bundle)地址和分支目标地址构成,使用指令束地址进行查找。
图4给出了TAR结构示意图。
图3-5TAR结构示意图其中TAR Data保存预测的分支目标地址,TAR Tag保存相应的指令束地址。
由于对TAR的访问是单周期的,且对TAR的读取和分支指令的发射是同时的,所以在这种情况下流水线没有气泡产生,是零延迟的。
当编译器在进行全局指令调度时,在分支指令前几个节拍插入分支预测指令(brp),然后由brp指令中的提示信息来修改TAR。
通过这种硬件和编译器结合的机制就实现了高预测率的单周期预测器。
3.2两级自适应的分支预测器和返回预测器两级自适应的分支预测器和返回预测器用于多级预测结构的第二级预测。
其硬件结构包括BPT、MBPT、目标地址缓存(TAC)和RSB,其中BPT、MBPT和TAC用于单分支和多分支类型的预测,而RSB用于调用返回分支类型的预测。
两级自适应的分支预测器不仅使用本条指令的执行信息,而且利用邻近分支指令的执行情况来更准确预测当前指令的执行结果。
其第一级历史被记录在一个或多个称为分支历史寄存器(BHR)的K位移位寄存器中。
其第二级历史被记录在一个或多个由2位饱和计数器组成的模式历史表(PHT)中。
用第一级表信息索引到第二级历史表,在根据所选择2位饱和计数器的指示做出方向预测。
在程序开始执行的时候,分支预测表为空,随着程序的执行分支预测表慢慢被填满,这时候就能够提供相应的分支预测信息。
由于分支预测是根据程序执行时候的动态信息进行,所以称这种预测算法为动态预测算法[2]。
返回预测器主要是针对调用返回分支指令的预测。
调用返回类型的分支有其自身的特点:调用时即可知道它的返回地址;调用和返回是成对出现的。
针对这些特点,我们提供了RSB的栈缓冲硬件机制对调用返回类型的分支预测给予支持。
3.3分支地址计算和修改预测器第三、第四级分支预测主要用于对先前的预测进行修正,减少流水线的排空时间。
分支地址计算和修改预测器包括两个计算和修改结构:BAC1和BAC2。
它们在流水线的第三阶段启动,其修正过程是先获得分支指令的操作码,然后从指令编码中抽取静态的预测信息和地址信息,利用这些信息进行目标地址的计算,根据计算结果修改前端的指令指针IP。
在第三级预测中除了BAC1外,针对循环指令最后一次循环退出时的误预测,使用了循环退出校正器结构对模块调度循环结束条件进行修正,从而保证循环退出预测永远不会失效。
这种保证机制需要硬件和软件结合。
在循环开始时需用寄存器记录模块调度循环的次数和循环排空的收尾段数,利用这些寄存器记录的值即可对模块调度循环结束条件进行修正。
4.分支的软件提示分支预测的实现除了需要一定的硬件机制外,也需要相应的软件方法给予支持。
软件方法是以编译器提供提示信息的方式实现。
在EPIC体系结构中,对于分支来说,编译器提供的软件提示包括:分支目标地址、分支方向的静态预测、以及何时使用动态预测。
这些提示与动态预测方法配合使用,对分支预测的硬件结构进行编程。
具体实现有三种方式:显式分支预测指令编码中的提示;分支指令编码中的提示;移入分支寄存器指令编码中的提示。
分支预测指令brp是一类特殊的指令,由编译器产生,执行产生随后分支指令的地址和分支目标地址,不影响程序的正确性。
分支指令的编码中也包含一定的提示信息,这些信息用来预测分支的方向、控制cache的行为。
在处理器中当动态预测失效的时候,就采用这些软件给出的编码提示信息进行静态预测。
移入分支寄存器指令的软件提示主要是对分支预测硬件进行更新。
5.结论处理器指令并行度的提高要求相应的提高分支预测精度类保证性能指标,而处理器指令并行度的提高本身也增加了分支预测设计的难度。
这样必然造成了高性能处理器分支预测的硬件开销大幅度增加,分支预测的设计更加复杂。
目前,大量工作正在围绕如何提高分支预测精确度和缓解预测延迟展开[3]。
总之,分支预测技术研究工作随着高性能处理器的发展更加深入地展开,而且越来越重要。
参考文献[1]Intel Corporation, Intel Itanium 2 Processor Hardware Developer’s Manual ,2002.[2] TY.Yeh and Y.N.Patt.Two-level Adaptive Branch Prediction. 24th ACM/IEEE InternationalSymposium on Microarchitecture,1991[3] 董建萍 高性能微处理器中的转移预测技术,高性能计算技术,2003.2作者简介苏铭, 1974,女,汉族,博士研究生,主要研究方向: 高性能编译技术;赵荣彩,1957,男,汉族,教授,博士生导师,主要研究方向为:高性能编译技术; Auther’s brief introduction:Su Ming, female, the doctor, working at high performance technology of compilation;Zhao Rong-cai, male, doctorial superviser, is engaged in high performance technology ofcompilation;联系方式:联系人:苏铭;电子邮件:mingsu@;联系地址:河南省郑州市经七路长城公寓2号楼2124(450002)。