第1章绪论
1.1研究背景
从40年代第一台i}一算机ENIAC(GoldstineH,1996)诞生之口的每秒钟3_5条指令到现在高性能计算机的每秒钟上万亿次操作(Top500,2009,过去60年内计算机的性能提升了上万亿倍。这样巨大的进步一方面来自十工艺的进步,提供了更多更快的晶体管资源,然Ifn更重要的另一方面,则在十各种体系结构和编译技术的提出,从}fn有效地将这些晶体管资源转化成用户可见的高性能,进}fn反映在应用的加速中。因此,对十体系结构研究者们来说,所提出的体系结构方案是否有意义,取决十是否能有效地利用工艺发展的潜力,换来等比例的应用加速。这既依赖十底层工艺所带来的硬件资源和限制,同时也取决十应用中可以发掘的并行性的特征和数量。从工艺角度来说,根据摩尔定律(Hamilton,1999,集成电路上可容纳的晶体管数目,每隔约18个月便会增加一倍。广义的摩尔定律还包括:每18个月,晶体管的特征尺寸缩小30070,开关速度增加一倍,Ifn处理器的性能则每年能提高_50%到60070。对十前面的几条规律,业界普遍认为在近十年内将仍然有效;Ifn最后一条却受到质疑。近几年来,随着特征尺寸的缩小,晶体管开关延迟已不再是处理器时钟周期的决定性因素,增大的连线延迟反}fn占据了主导地位,因此凭借原有的体系结构,仅靠晶体管数目的增加和开关速度的进步,已不能换来同等的处理器性能的提升(Agarwal,2000,Burger,2004,Edenfeld,2004)0从应用角度来说,根据并行性特征的不同,学术界普遍将其分成二大类CSankaralingam,2006:指令级并行(ILP,InstructionLevelParallelism),数据级并行(DLP,DataLevelParallelism不II线程级并行(TLP,ThreadLevelParallelism。
顾名思义,指令级并行在十重叠不同指令的执行,获得较高的吞吐量,一般以每周期能够处理的指令数目(IPC}InstructionsPerCycle)来衡量,并行粒度较细,如:通用桌面型应用,由十其中具有在指令层次上紧祸合的数据依赖和控制依赖,对性能的提升主要体现在发掘指令级并行性上;数据级并行体现为对大量数据处理的重叠,如:多媒体和科学计算等应用程序中存在对大量数据的统一操作,因此具有大量的数据级并行性;Ifn线程级并行则在十重叠不同指令段的执行,可以看作是一种粗粒度的指令级并行。本文的研究方向是探讨在目前的工艺发展趋势下,如何进一步地发掘应用中的指令级并行性。由十分片式处理器体系结构能够较好的适应未来工艺发展中线延迟的增长,Ifn非均匀一致的Cache也正是为了解决同样的线延迟问题Ifn诞生,因此本文对两者的结合加以设计和研究,分别探讨了非均匀一致Cache在分片式处理器体系结构一级和二级Cache上的应用和优化。
1.1.1片上线延迟对提高指令级并行性的影响在过去的几十年中,发掘指令级并行度的技术主要分为两种。一种是通过提高工艺和加深流水线来提高时钟频率;另一种则是提高指令的吞吐量,即增大每周期能够处理的指令数目(IPC}InstructionsPerCycle。传统的提高IPC的技术分为超标量CSuperScalar不II超长指令字(VLIW,VeryLongInstructionWord)两种。前者依靠复杂的硬件机制发掘指令间的依赖,动态调度指令,提高指令执行的并行度;Ifn后者将指令调度交付编译器静态完成,虽然可以避免前者需要的复杂的硬件结构,但由十无法精确的判断指令间的依赖情况,必须遵循保守策略,会牺牲掉很多性能。因}fn在工业界中,超标量技术一直胜过超长指令字技术}fn处十主导地位,并在过去的几十年里大大提升了处理器的性能。然Ifn,近几年来随着工艺的进步,特征尺寸的缩小,导致晶体管开关延迟已不再是处理器时钟周期的决定性因素,增大的连线延迟反}fn占据了主导地位。
有研究(Agarwal,2004,Ho,2001)表明,在3_5nmI艺下,采用激进的13.SGHz主频,在400mm2的芯片上,一周期内信号传输仅能覆盖10%的芯片面积,Ifn对十64KB大小的数据Cache的访问将需要7个周期。因此,当一周期内大部分的延迟用十连线传输,Ifn非逻辑门开关时,传统的通过提高逻辑门开关速度}fn提高时钟频率的做法已不再可行,流水线的深度已经到达极限(Agarwal,2000。与此同时,许多超标量技术(如:动态指令调度,多发射,以及推断执行)多采用复杂的全局结构,当全局信号无法在一周期内传输到达时,这些全局结构同样也面临着随线延迟Ifn扩展的挑战。
1.1.2分片式处理器体系结构的提出针对上一小节中片上线延迟对ILP的影响,目前学术界提出了分片式处理器体系结构(TPA,TiledProcessorArchitecture)。该结构的核心思想在十:将传统的复杂的全局结构分拆成许多简单的重复的单兀模块(称作Tile,Bank,UnitGrid等),Ifn相对独立的各模块分布式地完成各自的局部操作(Nagarajan,2001,Burger,2004)。在分片式体系结构的设想中,大量的通信局限在简单模块内部,使得全局通信量减少,从Ifn肖d弱线延迟的影响;同时可以通过模块的复制,充分利用片上口益增多的晶体管资源,达到性能扩展的目的。因此,该结构的设想较好地适应了工艺的发展。然Ifn,分片式结构也存在着设计上的难点,主要在十以下二个方面。
参考文献
[1]Agarwal V, Hrishikesh M S, Keckler S W, et al. 2000. Clock Rate versus IPC: The End of theRoad for Conventional Microarchitectures [C]. ISCA'00: Proceedings of the 27thInternational Symposium on
[2]Burger D, Goodman J R. 2004. Billion-transistor architectures: there and back again [J].Computer, 37(3), 22-28.
[3]Burger D, Keckler S W, McKinley K S, et al. 2004. Scaling to the End of Silicon with EDGEArchitectures [J]. Computer, 37(7), 44-55
[4]Chishti Z, Powell M D, Vijaykumar T N. 2003. Distance associativity for high-performanceenergy-efficient non-uniform cache architectures [C]. MICRO 36: Proceedings of the 36thannual IEEE/ACM
摘要 4-5
ABSTRACT 5-6
第1章 绪论 15-20
1.1 研究背景 15-18
1.1.1 片上线延迟对提高指令级并行性的影响 16
1.1.2 分片式处理器体系结构的提出 16-17
1.1.3 非均匀一致高速缓存的提出 17-18
1.2 TPA 与NUCA 结合的研究意义 18
1.3 论文主要工作 18-19
1.4 论文结构 19-20
第2章 相关工作 20-35
2.1 分片式处理器体系结构 20-22
2.1.1 数据依赖显式编码的指令集 20
2.1.2 静态放置动态发射方式 20-21
2.1.3 以超级块为原子的执行模型 21-22
2.2 分片式处理器微体系结构 22-28
2.2.1 分布式的控制协议 23-24
2.2.2 分布式的一级Cache 24-28
2.2.2.1 分布式的Load / Store 队列 25-26
2.2.2.2 分布式的访存依赖预测器 26-28
2.3 非均匀一致CACHE 结构 28-31
2.3.1 静态NUCA 结构 29
2.3.2 动态NUCA 结构 29-31
2.3.2.1 Bank Set 方案 30
2.3.2.2 NuRapid 方案 30-31
2.4 非均匀一致CACHE 结构的应用 31-33
2.4.1 片上多处理器的二级Cache 结构 31-33
2.4.1.1 共享度方案 32-33
...............................................................
第3章 非均匀一致二级缓存的设计 35-54
3.1 总体结构 35-36
3.2 静态数据映射方式 36-37
3.3 片上网络互连 37-43
3.3.1 路由器设计 38-40
3.3.1.1 虚通道 38-39
3.3.1.2 路由交换 39-40
3.3.1.3 流控 40
3.3.1.4 竞争仲裁机制 40
3.3.2 网络地址转换 40-42
.....................................................