




已阅读5页,还剩131页未读, 继续免费阅读
(计算机系统结构专业论文)前瞻性多线程体系结构的研究原理和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 4 t 十多年来,微处理器的性能有了巨大的提高,但由于新应用的产生,人 们对微处理器性能的要求也越来越高。目前微处理器基本上都是以超标量技术 为基础进行设计,但这一技术已经很难进一步大幅度地提高性能。据估计,下 个世纪初,微处理器将完成结构换型。因此研究新的适合于微处理器的体系结 构技术迫在眉睫,是国际上研究的热点,也具有极大的科研、经济和社会意义。 提高微处理器性能的一个主要途径是尽量开发程序中的指令级并行性 ( i l p ) 。本文全面深入地研究了迄今为止国际上提出的各种主要指令级并行性 技术,总结分析了它们的优缺点,并在此基础上提出了一种新的体系结构一前 瞻性多线程体系结构( s p e c u l a t i v e m u l t i t h r e a d e da r c h i t e c t u r e ) ,简称s m a l 。 s m a 结合了前瞻性执行机制和多线程执行机制,以整个线程为步长进行前 瞻性执行,多个线程并行执行,并且共享处理器硬件资源。这样,处理器既通 过组合每个线程的指令窗口形成一个大的动态指令窗口,开发出程序中更太的 i l p ;又利用多线程执行机制屏蔽各种长延迟操作,达到较高的资源利用率。夕 本文详细地描述了s m a 的原理,分析了其可行性、特点和对各种程序结构 的适应性。对s m a 的性能分析建立在对s m a 指令级模拟器和模型模拟器的充 分模拟分析之上,分析结果表明s m a 结构在开发通用程序的i l p 方面具有很 好的性能,并且具有较好的规模可伸缩性。 本文设汁了s m a 处理器的一个完整实现。给出了实现的方案,深入研究了 其中的关键技术。这些关键技术包括:线程调度机制、指令调度机制、分布式 寄存器重命名、访存控制器和编译。本文对这些关键技术都进行了深入的原理 说明,并且对部分技术还进行了性能分析和设计权衡。对s m a 处理器实现的 研究充分展示了其可实现性。 、, 乞总的来说,s m a 体系结构适合于开发通用程序中的指令级并行性,而且实 现简单,勰模可伸缩性好,是一种有希望并值得进一步深入研究的处理器体系 结构技术。丫 关键词:超标量、多线程、前瞻性执行、寄存器重命名、数据前瞻 本课题的研究得到“九五”嗣防预研项目“b s 0 1 矿及湖南省院士基金的资助 第r 页 国防科学技术大学研究生院学位论文 a b s t r a c t i nt w e n t yy e a r s ,t h ep e r f o r m a n c eo fm i c r o p r o c e s s o rh a sr e a c h e dv e r yh i g h ,b u t n e wa p p l i c a t i o n sn e e dm o r ea n dm o r ec o m p u t i n gp o w e r n o w a d a y s a l lo ft h e m i c r o p r o c e s s o rd e s i g n s a r eb a s e do nt h es u p e r s c a l a rt e c h n o l o g y , w h i c hh a sl i t t l er o o m f o ri m p r o v i n gp e r f o r m a n c em o r e i n 也en e a rf u t u r e t h ea r c h i t e c t u r ea n d o r g a n i z a t i o n o f m i c r o p r o c e s s o rw i l lc h a n g eg r e a t l y i t s t h et i m et or e s e a r c hn e wa r c h i t e c t u r ef o r m i c r o p r o c e s s o rd e s i g n n l i s k i n d o f r e s e a r c h i n gw 0 r k i sv e r yh o ta n d i m p o r t a n t am a i nm e t h o dt or e a c hh i g hp e r f o r m a n c ei s g e r i n gm o r ei n s t r u c t i o nl e v e l p a r a l l e l i s mo l p ) o u t o ft h ep r o g r a m t h i sp a p e rc o m p a r e dm o s to ft h ec u r r e n ti l p t e c h n o l o g i e s i nd e t a i l 。a n d p u t f o r w a r dan e wi l p a r c h i t e c t u r e s p e c u l a t i v e m u l t i t h r e a d e d a r c h i t e c t u r e , s h o r t l ys m a s m ac o m b i n e st h e s p e c u l a t i v e e x e c u t i o na n dm u l t i t h r e a d i n g e v e r y t i m e ,a w h o l et h r e a di s p r e d i c t e da n ds p e c u l a t i v e l ye x e c u t e d m u l t i p l et h r e a d se x e c u t ei n p a r a l l e la n ds h a r et h ep r o c e s s o rr e s o u r c e s b yt h i sw a y , m o r ei l pc a nb ee x p l o i t e d a n dt h eu t i l i z a t i o no ft h ef u n c t i o nu n i t si nt h ep r o c e s s o ri n c r e a s e s h i g hp e r f o r m a n c e c a nb e e x p e c t e di ns v i a t h i s p a p e r i l l u s t r a t e dt h e p r i n c i p l e o f s m a ,a n a l y s i si t sf e a t u r e sa n da d a p t a t i o n t o d i f f e r e n tp r o g r a ms t r u c t u r e s w eu s e di n s t r u c t i o ns i m u l a t o ra n dm o d e lt oe v a l u a t ei t s p e r f o r m a n c e t h er e s u l tp r o v e dt h a ts m a c a nr e a c hh i g ha n ds c a l a b l ep e r f o r m a n c e f o rg e n e r a lp r o g r a m t h i sp a p e rd i s c u s s e dac o m p l e t er e a l i z a t i o no fs m a w e g a v et h es c h e m e t h e r e s e a r c h e dk e y t e c h n o l o g i e s i n c l u d et h r e a d s c h e d u l i n g ,i n s t r u c t i o ns c h e d u l i n g , d i s t r i b u t e dr e g i s t e rr e n a m i n g ,m e m o r yc o n t r o l l e ra n d c o m p i l e r s m ai ss u i t a b l ef o rg e th i g hi l pf r o mg e n e r a lp r o g r a m ,c a nb er e a l i z e d e a s i l y a n ds c a l a b l e i ti sa p r o m i s i n gt e c h n o l o g y k e yw o r d s :s u p e r s c a l a r , m u l t i t h r e a d i n g ,s p e c u l a t i v ee x e c u t i o n ,r e g i s t e rr e n a m i n g , d a t as p e c u l a t i o n 第页 :一= := :一:垦堕坠茎i ! i :耋耋望耋圭矍兰堡墼圣 第一章绪论 二十多年来,微处理器的性能飞速地发展,平均每年增长3 0 。现今a l p h a 2 1 2 6 4 - 6 6 7 处理器的性能指标可以高选“s p e c i n t 9 5 ,6 6 s p e c f p 9 5 ,芯片面积 3 0 2 m m 2 ,片上集成1 5 2 1 0 6 个晶体管。图1 l 是现今六种主要的高性能微处理 器的s p e c 9 5 性能指标值。 s p e c i n t 9 5 s p e c f p 9 5 图1 1 六种主耍高性能微处理器的s p e c 9 5 性能值 但是,人们对计算陛能的追求是永无止境的。尤其是随着多媒体、网络、 大型数据库、高性能计算、人工智能等应用的普及和进一步发展,对计算性能 的要求势必越来越高,对微处理器性能提高的追求热情不减。人们一方面努力 提高工艺水平,另一方面不断寻找新的结构技术,以满足日益紧迫的性能压力。 从处理器结构设计的角度来说,提高系统性能的一个主要技术思路就是并 行处理。抽象地洗,在冯诺伊曼结构下,一个程序的执行由一组受程序控制 结构制约的计算操作和值的通讯构成。并行处理的基本观点就是采用冗余的硬 件资源并行地处理多个计算操作和值的通讯过程,从而减少总的执行时间。在 这个抽象模型中。程序的执行时间同程序的计算与通讯总量、处理器周期、平 均每周期处理的计算量和通讯量都有密切的关系。 程序中的并行性可以有很多种分类方法:,规则的和不规则的;粗粒度与细 粒度;数据并行与指令并行等等。不同的程序类型具有不同的并行性,不同的 体系结构侧重于开发不同的并行性。指令缀并行( i n s t r u c t i o nl e v e lp a r “l e l i s m , 简称i l p ) 是一种营通存在子各类程序中的细粒度并行性。正是由于这种通用 眭,现今的微处理器基本上都是以开发i l p 作为其主要性能提高手段。另一方 面,i l p 同各种粗粒度的并行性是互补的,未来的高性能处理机都将是由多个i l p 处理器构成的复合系统。出此看来,对i l p 的研究十分重要和必要。本文正是 探索i l p 开发中的问题,并提出一种新的开发i l l : 的体系结构。 第l 页 如 蚰 如 o 国防科学技术大学研究生院学位论文 1 1i l p 的潜力 i l p 技术是指一套处理器设计和编译技术,这些技术通过并行地执行独立的 机器操作( 指令) ,如存储器读写、整数加、浮点乘等来加速程序的执行。i l p 的大小可以采用每周期平均执行的指令数( i p c ) 来衡量,或者采用整个程序的 每条指令平均执行的周期数( c p i ,c p i - 1 ,i p c ) 来衡量。 对i l p 的开发受到三方面条件的制约: 程序中固有的i l p ; 处理器硬件可支持的i l p ; 处理器体系结构和实现的组织结构可以开发出的i l p : 处理器最终得到的i l p 将等于上面三者中最小的一个。 1 1 1 程序中的i l p 潜力 要研究程序中的i l p 潜力,必须建立理想的处理器模型,常用的理想处理 器模型有两个: o r a c l e 模型:假定完全正确的分支预测,分支开销为0 ,分支不影响代 码正确执行; b y p a s s i n g 模型:程序沿着分支的两条路径同时执行下去,即旁路了分 支,分支开销也是0 ,同样不影响代码正确执行。 对理想处理器模型的研究表明,程序中存在着大量的i l p ( 表1 1 ) m 。b m 】 “。1 椭喇8 “”小“1 。这些实验研究的对象包括数值计算程序和非数值计 算程序,数值计算程序中的i l p 是十分巨大的,即使在非数值计算程序中,i l p 的潜力也很大。 表1 1理想模型的i l p 研究b e n c h m a r k 类型平均i p c 备注 r i s e m a n 通用程序 2 5 6 5 n i c o l a u 科学计算 1 2 1 3 v l l w 模型 k u n i a f 科学计算 5 0 0 3 5 0 0 f o r t r a n 程序 b u t l c rs p e c m a r k s7 3 1 7 5 78 2 a u s t i n$ p e c m a r k s6 6 3 7 6 8 6 8 5 35 0 l a ms p e c m a r k s1 s 8 2 6 包括一些非s p e c 代码 值得注意的是,i l p 的大小实际上是一个与编译( 变换) 技术、机器结构、 程序特性和数据结构都有密切关系的量。所以,我们得到的i l p 的理想极限值 应理解为在理想状态下至少可测得的最大并行度。 第2 页 曼堕型兰茎查奎堂竺茎兰堕兰堡笙苎 1 1 2 处理器工艺水平 半导体( 尤其是v l s i ) 工艺水平的提高仍是处理器性能提高的基本推动力 之一。虽然半导体工艺存在理论上的物理极限,但目前还远没有达到这个极限, 而且由于加工工艺的突飞猛进,在今后l o 年内,v l s i 的工艺水平将有巨大的 提高。 表1 2 是美国半导体工业联合会( s e m i c o n d u c t o ri n d u s t r ya s s o c i a t i o n ) 1 9 9 6 年预测的到2 0 1 0 年半导体工艺水平的发展g e p * r t 9 “。 表1 2半导体工艺水平发展 d r a m m i c r o p r o c e s s o r 年度线宽面积 晶体臂 面积晶体管 主撷 布线层 i ,0 ( ) ( r a m 2 )m i l l i o n )( r a m 2 ) ( 百7 c m 2 ) 1 9 9 50 3 5 1 9 00 0 6 42 5 04 3 0 0 4 5 9 0 0 1 9 9 802 52 8 002 5 63 0 074 5 051 3 5 0 2 0 0 10 1 84 2 0l3 6 01 36 0 05 62 0 0 0 2 0 0 40 1 36 4 0 4 4 3 02 58 0 062 6 0 0 2 0 0 70 1 0 9 6 01 6 5 2 0 5 01 0 0 06 7 3 6 0 0 2 0 1 00 0 71 4 0 0 6 4 6 2 09 01 1 0 07 - 84 8 0 0 从表1 2 可见,2 0 1 0 年d r a m 的集成度可达每片6 4 0 亿个晶体管,微处理 器的集成度可达5 5 8 亿个晶体管,主频1 1 g h z ,布线层次8 层,i o 引脚4 8 0 0 个。 当然,随着v l s i 的特征线宽逐渐进入深亚微米水平,v l s i 工艺特性正在 发生巨大变化,这些变化无疑会对未来处理器的设计产生深刻影响。例如集成 度的极大提高使得在单个芯片内可以容纳更多的资源,但同时芯片内长线延迟 的影响越来越大,布线和封装的困难以及功耗的增加会进一步加大处理器主存 瓶颈。但总的来说,未来处理器硬件有能力支持大量的i l p 开发。 1 1 3 目前工业界可达到的i l p 虽然程序中存在大量的i l p ,v l s i 也可以充分支持大量i l p 的开发,但目 前工业上可实现的i l p 却不大。 图1 2 是实测的p e n t i u m 处理器( 2 发射超标量c i s c ) 运行s p e c 9 2 程序得 到的c p i 值“。”。 第3 页 国防科学技术大学研究生院学位论文 b e n c h m a r k p e n t i u ms p e c 9 2 测试c p i 值 造成实际中i l p 小的原因是多方面的,但i l p 开发中的困难是基本的因素。 1 2i l p 开发中的技术问题 开发程序( 尤其是非数值计算程序) 中的i l p 存在一些困难和需解决的问 题,概括地说,当前微处理器开发i l p 主要需要解决以下三个方面的问题: 首先,何时提取i l p ? 一种方式是在编译时提取,另一种方式是在运行时 动态地提取。两种方法都各有其优缺点,并独立地发展出多项技术,例如静态 提取i l p 的v l l w 技术和动态提取i l p 的超标量技术。当前的许多技术都是独 立地运用静态i l p 技术或动态i l p 技术,实际效果并不理想,因此我们认为完 全依赖任何一种方式都不是最佳的,必须将二者有机地结合起来( 第二章中我 们将对此进行深入分析) 。这样一来,如何将二者有机地结合就成为了一个关键 的河题,这也是当前i l p 技术研究的一个热点。 其次,在什么范围内提取儿p ? 研究表明,由于串行程序中分支指令的影 响,少数几个顺序的基本块内存在的i l p 很小,但在大量基本块中i l p 却很大, 这就要求处理器建立一个巨大的指令窗口。但由于程序中控制相关性的大量存 在和程序控制流向的不确定性,建立一个大的指令窗口并不容易。更进步, 指令窗口中的指令应有较大的概率被执行才能真正提高性能,我们称这样的窗 口为高效的窗口。研究表明,单个指令流中很难建立高效的窗口,这就要求处 理器能从多条指令流中建立一个复杂的窗口来提高窗口的效率,此项工作更加 困难,也是人们研究的重点之一。 最后,采用什么控制机制提取i l p ? 提取i l p 的控制机制的关键是要克服 机制实现时造成的控制和数据通路的复杂度。由于随着v l s i 规模的扩大,v l s i 工艺特性发生变化,降低芯片内线延迟变得越来越重要,因此过于复杂的控制 机制事实上无法高效实现,反而会降低主频,也就没有实际应用意义。例如传 统的集中控制方式的指令调度机制就很难大规模高效地实现。因此研究适合未 来v l s i 特性,具有规模可伸缩性的控制机制十分重要。 在第二章,我们将对现今各种i l p 技术的发展及优缺点进行深入分析。 第4 页 国防科学技术大学研究生院学位论文 1 3 本文的工作 为了克服i l p 开发中的困难,提高处理器的性能,本文以一种新的思路, 提出一个新的开发i l p 的体系结构一前瞻性多线程体系结构( s p e c u l a t i v e m u l t i t h r e a d e da r c h i t e c t u r e ,简称s m a ) ,并对其中的关键技术进行深入研究。 s m a 是在前瞻性执行超标量技术和多线程技术的基础上结合了二者的优点 而发展起来的。在s m a 中,编译器把普通的串行程序分成一组可以并行的( 且 具有相关性的) 线程。线程作为处理器前瞻性调度的基本单位。线程内部指令 的执行由分配的相应处理器现场控制。所有线程共享物理处理器的功能单元阵 列,互相屏蔽长延迟操作。多个前瞻性线程可以并行地执行,共同提供总的i l p 。 同传统的i l p 技术相比,s m a 在i l p 开发方面具有明显的优势: s m a 有机地结合了静态编译技术和动态调度技术,编译器可以充分发 挥它擅长的全局i l p 优化,将并行性信息( 通过线程的划分和线程内、 线程间指令调度) 尽可能地传递给硬件,硬件再发挥它的动态调度优势, 动态地调度线程和指令执行,完成局部i l p 执行优化: s m a 通过组合每个线程的指令窗口形成一个大的动态指令窗口,由于 每个线程都是一个独立的指令流,它们可以并行执行,所以s m a 实现 了从多条指令流中建立一个高效的指令窗口,可以开发出程序中更大的 i l p : s m a 的多线程执行机制则可以起到屏蔽各种长延迟操作的效果并能 达到较高的资源利用率,而且对访存延迟的容忍充分减小了“处理器 主存瓶颈”对性能的影响; s m a 在指令调度之上又引入了线程级调度,这种两级调度机制实现了 处理器控制机制的分布化,从而可以适应未来v l s i 的工艺特性,具有 较好的规模可伸缩性。 我们对s m a 进行了深入的研究,性能分析表明s m a 在开发i l p 方面具有 很高的性能潜力,s m a 处理器的实现研究也表明其充分的可行性。概括地说, 我们的研究主要集中在以下四个方面: 全面深入地研究了迄今为止国际上提出的各种主要i l p 技术,总结分析 了它们的优缺点。 提出了s m a 体系结构,给出了s m a 结构的执行机制,研究了它对各 种主要程序结构的适应性和性能优化特性,并比较分析了它的特点。 采用在现有单线程处理器( m i p sr 1 0 0 0 0 ) 的基础上扩充s m a 执行机 制的技术途径,研究设计了s m a 处理器的一种完整的实现,并围绕这 个实现全面地研究了s m a 处理器中的各项关键技术。这些关键技术主 要包括五项内容:线程调度,研究了s m a 特有的线程前瞻性调度的 预测、启动、执行和恢复算法;指令调度,研究了s m a 特有的线程 间取指调度( 包括指令c a c h e 设计) 和指令发射调度,讨论了调度性能 和死锁避免机制,并且讨论了精确中断和多分支预测机制的实现;寄 存器重命名,研究了高效支持s m a 执行机制的分布式寄存器重命名技 第5 页 国防科学技术大学研究生院学位论文 术,分析了性能和相应的物理寄存器文件组织技术;访存控制,研究 了采用带预测的数据前瞻机制的访存控制器的原理和设计及预测算法, 并进行了性能特性分析;编译,给出了一个基本的s m a 编译器工作 流程和线程生成算法。 对s m a 结构进行了充分的性能评价。性能评价采用了两种方法同时进 行:一种方法是使用s m a 指令级模拟器s m a - d l x s i m 这是一个基 本d l x 模拟器的s m a 扩展版本,它完全实现了s m a 处理器的所有机 制:另一种方法是使用一个抽象地描述s m a 执行机制的数学模型模拟 器进行模拟分析。这两种方法的性能分析都表明了s m a 结构在i l p 开 发方面的巨大性能潜力和可伸缩性。我们还通过性能分析对s m a 处理 器的设计取得了一些指导数据。 1 4 本文的结构 本文是对我们的研究工作的总结,全文分为十二章。 第二章讨论i l p 技术的现状和发展,深入分析了现今的主流i l p 技术中超 标量技术的局限性,并比较了几种改进技术和改革技术的优缺点。 第三章提出新型s m a 体系结构,介绍其原理,描述其基本执行机制,并用 几个不同类型的例子进行说明。这一章还将s m a 同其他几个相关的体系结构 进行了比较分析。 第四、五章对s m a 进行性能评价。其中第四章是采用模拟方法进行性能分 析,介绍了我们设计的s m a 指令级模拟器:s m a - d l x s i m ,并给出了实验结 果和分析;第五章则是采用数学分析的方法对s m a 建立了一个数学模型,然 后利用它对一组测试程序进行性能分析实验。两种方法的分析结果都显示出了 s m a 巨大的性能潜力。 第六到十一章设计了s m a 的一个可能的实现结构方案_ s m a 处理器。其 中第六章介绍了s m a 处理器的总体结构。第七章我们深入研究了s m a 的线程 调度机制,设计了线程控制单元和每个线程的现场单元的结构,然后讨论了线 程预测、调度执行、预测错误恢复的机制和算法。第八章研究了s m a 中的指 令调度问题。由于s m a 中前瞻多线程的引入,指令的发射、执行以及提交都 表现出许多新的特点,需要专门的机制支持,本章对此一一作了说明。第九章 研究s m a 处理器的另一个核心技术一寄存器重命名技术和寄存器组织结构技 术。我们提出了一种分布式寄存器重命名技术来解决s m a 处理器中复杂的线 程闯寄存器重命名问题。这一章还对s m a 的寄存器重命名技术及其实现的性 能特点进行了深入分析。第十章研究s m a 处理器中的访存技术。本章提出了 种带预测能力的数据前瞻机制,并设计了相应的访存控制器。本章还对数据 c a c h e 的设计进行了讨论。最后,第十一章讨论s m a 的编译问题。本章讨论了 基本的线程生成过程,并指出了可能的优化方向。 第十二章总结全文,并提出我们下一步的工作方向。 本文的最后列出了参考文献,并附录s m a d l x s m 【模拟器的使用手册。 第6 页 里堕登主堇查盔主堑壅生堕兰垡丝苎 第二章i l p 技术的现状及发展 人们对i l p 的研究已经有数十年的历史,并且派生出许多独立的技术。当 前i l p 处理器结构的主流技术是超标量技术,但超标量技术本身具有局限性, 使得其性能的进一步提高十分困难。本章通过深入的分析指出超标量技术的局 限性,讨论并比较了几种主要的对超标量的改进技术和其他i l p 处理器体系结 构的优缺点。 2 1 超标量技术分析 超标量技术是一种通过并行( 并发) 执行多条标量指令来提高处理器性能 的计算机实现技术1 “1 。虽然超标量中某些技术可以追朔到c d c6 6 0 0 ”“1 和m3 6 0 9 1 “。“”,但真正商用的超标量微处理器到8 0 年代末才 出现“。现今,超标量技术无论从理论上还是从实践上都已经发展得十 分完善,正处在完全成熟和应用阶段。 超标量处理器组织结构图 图2 1 是一个典型的超标量处理器组织结构图“1 。一般地,超标量处理 器同时从指令流中取出多条指令,并同时译码。条件分支指令的执行作为取指 过程的一部分,并且通常事先预测,以保证能提供连续的指令流。取出的指令 第7 页 国防科学技术大学研究生院学位论文 在进行数据相关性( d a t ad e p e n d e n c e s ) 分析后,按指令类型分配到各个功能单 元并行执行。如果指令执行的启动主要基于操作数的可用性( a v a i l a b i l i t y ) ,而 不是程序的原始顺序,则这一过程称为动态指令调度。执行结束后,指令结果 重新排序以便按正确( 原始) 的程序顺序语义更改处理器状态,同时保证精确 中断。 在指令发射时,若只能按程序顺序发射指令,则称为顺序发射( i n - o r d e r i s s u e ) 超标量结构,又称静态超标量:若允许不按程序顺序,只按操作数可用 性发射指令,则称为乱序发射( o u “o o r d e ri s s u e ) 超标量结构,又称动态超标 量:若更进一步,允许跨越多个基本块( 即多个分支语句) 的指令乱序地发射, 则称为前瞻性执行( s p e c u l a t i v ee x e c u t i o n ) 的乱序发射超标量结构,又称动态 前瞻性执行超标量。 从严格意义上说,超标量技术是一种组织结构( o r g a n i z a t i o n ) 技术,而不 是体系结构( a r c h i t e c t u r e ) 技术,所以它既可以应用于r i s c 体系结构中也可 以应用于c i s c 体系结构中,这构成了现今超标量处理器两个主要分支:一支 是纯粹的r i s c 处理器,主要代表有m i p s 【“ 删【”“】、a j p h a 【鼬”“”、p a r i s c 。”8 9 。”o ”、s p a r c 【。“6 “y 9 “、p o w e r p c “9 6 li r m n o n 9 9 4 。另一支是以x 8 6 系列为代表的c i s c 处理器。这一分支又分为两类,一类是直接在c t s c 基础上 引入超标量技术,称为原始执行( n a d v ee x e c u t i o n ) ,主要代表有h t e l 的p e n t i u m 伸“o ”,c y r i x 的m 1 、m 2 ”;另一类是把c i s c 指令转化为类r i s c 的微操作( r o p s ) ,再按超标量的方式执行微操作。其代表为a m d 的k 5 c h r s t i 。“、 k 6 ,i n t e l 的p e n t i u mp r o 【p 婶“蚓。表2 1 列出了当今主要高性能微处理器的主 要特性参数。 表2 1主要高性能微处理器的主要特性 特性a 峪h & p o w e r p c s p a r c 珏p m i 肺 p e 玎“m 2 1 2 6 4p o w e r3u i t r a p a 一8 5 0 0 r 1 0 0 0 0i i x e o n 主l 奚( m h z ) 6 6 72 0 03 6 04 4 02 7 5 4 5 0 c a c h e ( k b ) 6 4 6 43 2 ,6 41 6 t 1 6l m ,o 5 m 3 2 3 21 6 ,1 6 指令发射 4 6444 3 宽度( i ,c ) 流水线( 缀) 7 t 7 1 1 05 7 5 7 ?9 t 9 97 95 t 6 ,7 9 功能单元 6 l o95 7 字长 6 46 46 46 46 4 “3 2 工作电压 22 52 53 - 3 3 _ 32 0 工艺( _ ,l ) o 3 5 60 2 5 50 3 5 50 2 5 50 - 3 5 ,4 0 2 5 面积( r a m 2 ) 3 0 22 7 01 5 6 , 2 9 81 3 1 晶体管 1 5 25 41 4 0 6 8 7 5 f m j l l l 功耗( w ) 7 2 4 0 3 0 2 3 3 s p e c 9 5 ( i f )4 4 6 61 3 2 ,3 0 11 5 2 1 9 93 2 1 5 2 1 2 b 2 4l8 9 ,1 4 7 总的来说,当前所有的高性能微处理器都采用超标量结构,它们的差别只 是在实现参数的权衡上,例如: 时钟周期和设计复杂度的权衡。p o w e r p cp o w e r 3 处理器是一个极端, 时钟周期最低,而指令发射宽度最大,每周期工作量最大。a l p h a 处理 器是另一个极端,主频达到了6 6 7 m h z ,每周期性能却是最差的。这种 第8 页 国防科学技术大学研究生院学位论文 权衡实质上是超标量技术中设计复杂度和时钟周期的权衡。 c a c h e 策略。c a c h e 策略对超标量处理器的性髓影响很大。l i pp a 8 5 0 0 是一个极端,其o 5 m b 指令c a c h e 、1 m b 数据c a c h e 是当今最大的片上 c a c h e ,p e n t i u mi ix e o n 是另一个极端,p e n t i u mi l lx e o n 的一级c a c h e ( 1 6 k _ b 的指令c a c h e 、1 6 k b 的数据c a c h e ) 是最小的片上c a c h e 。 其它。如功能单元数、流水线级数等都是对性能有影响的权衡。 2 1 2 超标量技术的局限性分析 但是,超标量技术的进一步发展很困难,估计纯粹的超标量技术的性能潜 力将在下一代微处理嚣中耗尽。一般认为8 发射( 左右) 超标量是超标量技术 的实际极限阳。“】。这是因为超标量技术本身的局限性造成的。总的来说, 超标量技术中存在的问题主要表现在以下四个方面: a 、超标量技术难以开发出程序中更大的i l p 超标量处理器是依靠在程序执行过程中动态地建立指令窗口,并动态地调 度窗口中的指令并行执行来开发i l p 。对应用程序特性的分析已经表明通常程 序中含有大量的分支指令( 约占总指令数的2 0 ) ,这使得程序的基本块很小 ( 平均为4 6 条指令) 。而程序中的数据相关性又使得一个基本块内的i l p 更 小。衰2 2 是几个s p e c 测试程序的平均基本块大小和平均顺序运行长度“i 。 超标量处理器要想开发出较大的i l p ,就必须在一个指令周期内处理多个连续 的基本块以构成一个大的动态指令窗口。但是,程序中( 由于分支指令造成的) 大量的控制相关性和超标萤技术中处理分支的本质的顺序性( 即:只有处理了 第一个分支指令,才能知道第二个分支指令是哪一条指令,因此多分支的处理 本质上是顺序的) ,使得按超标置技术构造一个巨大的指令窗口十分困难。 表2 2 几个s p e c 程序的基本块及顺序运行长度之间的关系 b e a c h r a a r k 平均基本块大小平均顺序运行长发 e q n t o t t 4 2 04 8 7 e s p r e s s o 4 2 46 6 5 x l i s ! a4 3 46 7 0 g e e 4 6 56 8 8 s c4 7 l6 7 1 c o r t l ! a r e s $5 3 98 8 5 而且,即使解决了上述问题,超标量处理器构造出的动态指令窗口也是一 个低效的指令窗口,即这样的指令窗口中所含的真正有用的皿p 仍很小。个 简单的推理就可以说明这个问题:假设分支预测的正确率为9 0 ,并在一个指 令周期内依次预测1 0 个分支,第十个分支的预测正确率就只有3 5 ,也就是 说,第十个基本块中的指令被执行的概率只有3 5 ,或者说,第十个基本块中 指令提前执行贡献出的i l p 只有3 5 是有用的,这样构造出来的指令窗口中将 有大量指令是无用的( 无用指令的执行还会浪费处理器资源,产生负作用) ,所 以这样的指令窗口是一个低效率的指令窗口。 综上所述,超标量技术无法建立一个大的高效指令窗口,也就不可能开发 第9 页 国防科学技术大学研究生院学位论文 出更大的i l p 。这是当前超标量处理器指令窗口、发射带宽都不很大的原因之 一,也是其性能进一步提高的根本限制。表2 3 阳“1 列出了几个对超标量模 型进行实验分析所得的i l p 大小( m e 值) 。这些实验证实了超标量处理器实际 可得到的i l p 是很小的。 表2 3超标量模型的i l p 研究 i p c 模型细节 b u t l e rl ,2 5 8 发射超标量、实际的分支预测、乱序和前瞻性 执行、3 2 项指令调度窗口 w a l l5 8 3 2 发射超标量、3 2 项指令调度窗口、理想的分 支预测、理想的存储系统、指令单位延迟 s m i t h 2 6 4 发射超标量、实际的分支预测、理想的寄存器 重命名 t h e o b a l d3 6 乱序和前瞻性执行、实际的分支预测、6 4 项指 令窗口、无限的发射带宽、指令单位延迟 b 、超标量技术的实现复杂度随着规模( 发射带宽等) 的增加增长很快”“蝴 超标量技术的实现复杂度的一个主要来源是控制结构的复杂度,这是因为 处理器要对指令窗口中的所有指令进行“交叉检查”以确定指令间的相关性, 而且前瞻性执行使指令执行过程的控制更加复杂。这种复杂度的增加是超标量 的集中式控制方式所固有的。另一个复杂度的主要来源是数据前传( d a t a f o r w o r d i n g ) 通路,即为了提高指令执行性能,直接将一条指令的执行结果传递 给等待其结果的指令的数据通路。完全的数据前传通路的延迟是与其规模成平 方关系增长,这个延迟的根源则在于布线延迟的飞速增长( 相对于处理器周期 时间而言) 。虽然复杂度的增加导致的晶体管数和芯片面积的增加仍在未来的 v l s i 工艺允许范围内,但复杂度的增加必将加长处理器的指令周期时间。在未 来的v l s i 工艺特性下,这些影响反而更加严重,从而影响整体性能。超标量 处理器实现的复杂度限制了超标量技术随v l s i 工艺的可伸缩性,现实中难以 靠继续增大超标量处理器的规模( 如发射宽度、指令窗口大小等) 来提高性能。 c 、超标量处理器中资源利用率极低 根据测试,超标量处理器中资源利用率只有2 0 ,实际情况也基本相符 “。图2 2 是铡出的各种因素引起的资源浪费占总资源百分比情况,其中 引起浪费的因素包括:指令c a c h e 未命中( i n s t r u c t i o nc a c h em i s s ) 、指令t l b 未 命中( i n s t r u c t i o nt l bm i s s ) 、数据c a c h e 未命中( d a t ac a c h em i s s ) 、数据t l b 未命中( d a t at l bm i s s ) 、分支预测错误( b r a n c hm i s p r e d i c t i o n ) 、资源冲突( c o n t r o l h a z a r d ) 、l o a d 指令延迟( l o a d d e l a y sa t f i s r t - l e v e lc a c h eh i t s ) 、整数指令延迟( s h o r t i n t e r g e rd e l a y ) 、短浮点指令延迟( s h o r tf l o a t i n gp o i n td e l a y ) 、长整数指令和浮 点指令延迟( l o n gi n t e r g e r f pd e l a y ) 、存储冲突( m e m o r yc o n f l i c t ) 。 资源利用率低与可动态开发出的i l p 小,程序中的数据相关、控制相关引 起流水线互锁等等都有密切关系。资源利用率低一方面是对硬件资源的浪费, 另一方面也是对性能提高的一大限制。超标量技术本身是无法解决这一问题的。 人们提出了许多补救措旅,如采用更加精细的c a c h e 技术减少存储系统引起的 阻塞,采用更好的分支预测技术、前瞻性执行技术减少分支指令的影响等等。 但从图2 2 可以看出一个十分重要的基本特性:在各种导致资源浪费的因素中, 第1 0 页 国防科学技术大学研究生院学位论文 不存在种主导因素。消除任何一种因素都不会从根本上彻底改变现状,而且 各种因素相互交错、相互影响,不可能完全把它们分离开来。这必然导致一个 结论:需要一种通用的技术来提高资源利用率。 却d i 馄陆 图2 2 超标量中各种资源浪费因素分布 d 、不断增长的处理器和主存性能差对超标量处理器的性能影响很大 现今的超标量技术都采用了片上c a c h e 技术( 甚至多级c a c h e ) 来缓和这一 矛盾ac a c h e 技术适用需要两个条件:数据具有良好的局部性和c a c h e 足够大能 第u 页 国防科学技术大学研究生院学位论文 装下所需的数据不至于产生过度的抖动。但是,由于多媒体、网络及大型数据 库和面向对象程序设计技术的广泛应用,使得应用程序的数据局部性大大下降 了,而且对这些数据密集型应用,再大的c a c h e 容量都显得太小。再者,过大 的c a c h e 设计又会带来c a c h e 访问延迟加长、功耗增加等问题。总之,c a c h e 只 是一种缓和技术,不能从根本上解决访存矛盾。 由于超标量技术不能很好解决主存瓶颈问题,未来相对更慢的主存会进一 步增加访存开销,从而使处理器更多的时间被阻塞,而处于空闲状态,性能进 一步下降。 从以上的分析表明。超标量技术的局限性使得性能很难有大的提高。但在 其上还可以进行许多改进,而且这些改进对未来的结构也有参考价值,同时, 人们也提出了许多替代结构和技术以进一步提高性能。以下我们就对这些技术 进行分析。 2 2 对超标量技术的改进 2 2 1 深度的前瞻性执行( d e e p l ys p e c u l a t i v ee x e c u t i o n ) 前瞻性执行是指将指令的执行提前到它控制相关的分支指令执行之前进 行,从而实现同时从多个基本块中提取i l p 【“。”。前瞻性执行可以分为四类: 非法的前瞻性执行、不安全的前瞻性执行、非法且不安全的前瞻性执行、安全 合法的前瞻性执行。非法的前瞻性执行指可能引起数据相关性问题的前瞻性执 行( 如图2 3 a ,1 2 指令的前瞻性执行将导致同1 3 指令的数据相关性冲突,1 2 指 令的前瞻性执行就是一个非法的前瞻性执行) ;不安全的前瞻性执行指可能导致 一个处理器异常的前瞻性执行( 如图2 3 b ,1 2 指令的浮点操作可能导致一个浮 点操作异常,如果把1 2 指令前瞻性执行,这就是一个不安全的前瞻性执行) 。 非法的和不安全的前瞻性执行不是指这些指令不能前瞻性执行,而是具有这样 特性的前瞻性执行指令需要特殊的处理,事实上,只要提供足够的硬件缓冲资 源存储前瞻性操作的执行结果及其副作用,并对前瞻性操作实旖相应管理功能, 就可以保证任何一种前瞻性执行的正确进行。当然,当前瞻深度( 即:前瞻性 执行跨越的基本块数目) 增加时,这样的硬件开销是十分巨大的。 第1 2 页 国防科学技术大学研究生院学位论文 ( a ) 图2 , 3非法的和不安全的前瞻性执行 按实现方法分类,前瞻性执行可以分为动态前瞻性执行、静态前瞻性执行 和混合前瞻性执行。动态前瞻性执行完全由硬件来实现前瞻性执行;静态前瞻 性执行完全由编译来实现前瞻性执行;混合前瞻性执行结合编译和硬件共
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经营单位安全管理制度编制纲要
- 2021年教师节颁奖典礼动态
- 颅脑损伤护理查房
- 恩派雅(N.Paia)品牌分析与二次增长战略报告
- 儿童电除颤教学课件
- 创意美术字教学课件
- 新解读《GB-T 36780 - 2018辣椒轻斑驳病毒检疫鉴定方法》
- 用电申请业务知识培训课件
- 贵州省黔西南州2024-2025学年高二下学期期末学业质量监测 化学试卷
- 急性乳突炎切开引流护理查房
- 失语症及治疗方法讲课件
- 热射病病人的急救护理
- 客运站安检设备管理制度
- U9-SCM-库存-Unit9-内部交易-V2
- 肠外营养个案护理
- CJ/T 94-2005饮用净水水质标准
- 2025-2030系统级芯片(SoC)测试机产业市场深度调研及前景趋势与投资研究报告
- 《化工和危化品生产经营单位重大生产安全事故隐患判定标准(细化版)》知识培训
- 2025年汉防己甲素项目市场调查研究报告
- 驿站快递合同协议书
- 《新型主动脉夹层护理策略》课件
评论
0/150
提交评论