预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

多核加速串行程序技术综述侯锐摘要:随着片上多核处理器(CMPChipMultiprocessing或on-chipmultiprocessor)时代的到来,如何利用多核加速串行程序成为迫切需要解决的问题。本文综述了该领域的主要研究工作,介绍了我们目前在该领域的研究情况,总结了该领域的发展规律。1片上多核处理器时代的到来回顾微处理器的发展历史,从1940年开始大约每十年就会提出新一代处理器结构[1]。半导体工艺的发展和人们对性能的无止境的追求是驱动微处理器设计发展的重要因素。更有意思的是,处理器的体系结构经历了一个否定之否定的发展过程。处理器结构经历了简单复杂简单复杂的螺旋式发展过程:由于当时器件工艺的限制,20世纪四五十年代的处理器结构非常简单;六七十年代出现了流水线,向量机以及访存层次等技术,这些技术使处理器结构变得复杂起来;八十年代,RISC体系结构的提出大大简化了处理器的复杂性;随后,为了提高性能,人们把超标量、乱序执行以及更复杂的存储层次技术引入到RISCReducedInstructionSetComputing,精简指令集计算机体系结构中,再次使处理器的结构变得越来越复杂。基于以下四方面的原因,我们认为处理器结构现在面临着新的变革机会,会从复杂回归到简单[1,31]。首先,半导体工艺的持续发展在很大程度上影响了处理器的微体系结构设计。半导体工艺的发展提供了越来越多和运行速度越来越快的晶体管资源,这给体系结构研究者提出了非常大的挑战,其中包括控制时钟延迟、降低功耗、控制设计和验证的复杂度,以及缩短生产周期等。随着工艺的发展,线延迟取代晶体管的翻转速度成为影响处理器时钟频率的决定因素。在深亚微米工艺的设计背景下,信号从芯片的一端传输到另一端需要好几个时钟周期[2]。Alpha21264以及PentiumIV已经开始用专门的流水级传输信号。传统的处理器设计方法受到了前所未有的挑战。另外一个不容忽视的问题就是控制设计的复杂度。尽管EDA厂商不断推出更好的EDA工具,处理器的设计队伍还是不得不随着芯片的晶体管数目和频率的增加而增加,需要越来越多的工程师验证越来越复杂的设计。其次,依靠提高流水线频率和复杂的结构设计来改善性能的方法现在面临非常大的障碍。工艺的发展可以提高流水线频率,并且使得复杂的设计有实现的可能性。然而,诸如超流水和超标量等挖掘指令级并行的技术使得处理器核的设计变得越来越复杂,以致于设计过程越来越难以控制。可以预见,这类复杂的设计方法(增加发射宽度以及切分流水线)提高性能的空间会越来越小。摩尔定律关于处理器主频方面的预测会逐渐失效。原因之一是巨大的能量消耗,第二是线延迟的影响,另外的原因包括难以进一步细分流水线。第三,功耗问题在处理器设计中变得越来越重要。目前商用处理器耗能超过100瓦特,这给封装和散热技术提出了非常大的挑战。人们对处理器的评价指标正在发生变化,从成本—单位价格可购得的性能(performanceperdollar),到速度—单位时间能完成的动作(performancepersecond),现在逐渐变成能耗效率—单位功耗达到的性能(performanceperwatt)[1]。最后,新的应用对体系结构提出了新的要求,包括实时响应能力、流数据处理、进程或线程级的并行性、I/O带宽以及功耗等。这些要求直接促进了新的体系结构的出现。实际上,关于未来处理器体系结构发展方向的争论是现在体系结构研究领域非常热门的话题之一。毫无疑问,处理器结构现在面临着新的变革机会,会从复杂而简单。未来将充满前所未有的挑战和机遇。目前的体系结构技术主要通过挖掘三种并行性来提高性能,即指令级并行性,数据级并行性以及线程级并行性。本文分别分析这三种并行性以及相关典型结构,探索未来体系结构的可能的发展方向。指令级并行性(ILPInstructionLevelParallelism)—程序代码本质上是偏序的,这意味着可以同时发射执行多条不相关的指令,这种指令间的可重叠性或无关性就是指令级并行性。挖掘指令级并行性有两大类方法,一类是通过硬件动态的发现和利用指令间的并行性,比如超标量和超流水技术;另一类是通过软件来静态识别指令级并行性,比如EPICExplicitlyParallelInstructionComputing-显式并行指令计算和VLIWVery-LongInstructionWord超长指令字技术。超标量和超流水技术在20世纪90年代广泛用于商用处理器上。为了同时执行更多的指令,研究人员提出许多微体系结构的技术,包括乱序执行、多层次的存储层次以及片上缓存(cache)、各种激进的推测执行技术(比如分支预测、值预测等)。这些技术在提高性能的同时,大大地增加了整个结构的复杂程度。更重要的是,研究表明,ILP能够