多核处理器cache存储层技术_第1页
多核处理器cache存储层技术_第2页
多核处理器cache存储层技术_第3页
多核处理器cache存储层技术_第4页
多核处理器cache存储层技术_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京理工大学计算机学院北京理工大学计算机学院多核处理器多核处理器cachecache存储层技术存储层技术张张 瑞瑞2012.12.06北京理工大学计算机学院北京理工大学计算机学院目目 录录 Cache 结构与工作方式结构与工作方式分布式分布式 Cache 数据前瞻技术数据前瞻技术 北京理工大学计算机学院北京理工大学计算机学院Cache Cache 结构与工作方式结构与工作方式(1 1)v 因为存储器工作频率与因为存储器工作频率与 CPU CPU 处理频率存在巨大差距,现处理频率存在巨大差距,现代计算机都采取多级化的存储系统结构。代计算机都采取多级化的存储系统结构。v CPU CPU 访问寄存器

2、中的数据要比访问内存中的数据快几个数访问寄存器中的数据要比访问内存中的数据快几个数量级,在大量数据运算时,量级,在大量数据运算时,CPU CPU 的处理速度会受限于访存的处理速度会受限于访存速度,为了平滑他们之间的速度差异,根据程序的局部性速度,为了平滑他们之间的速度差异,根据程序的局部性原理引入了原理引入了CacheCache。v Cache Cache 对于提高整个计算机系统的性能有重要的意义,是对于提高整个计算机系统的性能有重要的意义,是一个不可缺少的部件。一个不可缺少的部件。北京理工大学计算机学院北京理工大学计算机学院Cache Cache 结构与工作方式结构与工作方式(2 2)v C

3、ache Cache 与内存之间交换数据是以与内存之间交换数据是以“数据行数据行”(LineLine)或者)或者“块块”为单位,大小一般是为单位,大小一般是 2 2 的幂数量的字节,比如的幂数量的字节,比如 64 64 字节。字节。v 而而 CPU CPU 与数据与数据 Cache Cache 之间的数据交换则以字为单位,为之间的数据交换则以字为单位,为获得较大的指令吞吐率与指令获得较大的指令吞吐率与指令Cache Cache 之间的数据交换则以之间的数据交换则以数个字为单位,常见的是数个字为单位,常见的是 128bit128bit。 北京理工大学计算机学院北京理工大学计算机学院v一般来说,主

4、存容量远大于一般来说,主存容量远大于 Cache Cache 的容量。因的容量。因此,当要把一个块从主存调入此,当要把一个块从主存调入 Cache Cache 时,就涉时,就涉及到如何放置的问题,这个问题的解决方式就是及到如何放置的问题,这个问题的解决方式就是映射规则。映射规则。v根据根据Cache Cache 的相联方式的不同,的相联方式的不同,Cache Cache 的映射规的映射规则可以分为则可以分为 3 3 类:直接相联、全相联和组相联。类:直接相联、全相联和组相联。Cache Cache 结构与工作方式结构与工作方式(3 3)北京理工大学计算机学院北京理工大学计算机学院Cache C

5、ache 的映射规则的映射规则(1 1)直接相联:如图直接相联:如图 3.2(a)3.2(a)所示,对于主存的第所示,对于主存的第 i i 块(即块地址为块(即块地址为 i i ),设它映射到),设它映射到 Cache Cache 的第的第 j j 块,则块,则 j = i mod(M ) j = i mod(M ) 其中其中 M M 为为 Cache Cache 的块数。设的块数。设 M = 2M = 2m m,则当表示为二进制数,则当表示为二进制数时,时,j j 实际上就是实际上就是 i i 的低的低 m m 位位, ,因此,可以直接用主存块地址因此,可以直接用主存块地址的低的低 m m

6、位去选择直接映射位去选择直接映射 CacheCache中的相应块。中的相应块。 北京理工大学计算机学院北京理工大学计算机学院v 直接映像直接映像主存与Cache的划分:将主存根据Cache的大小分成若干分区,Cache也分成若干个相等的块,主存的每个分区也分成与Cache相等的块。v 主存与Cache的映像:主存中的每一个分区由于大小相同,可以与整个Cache相像,其中的每一块正好配对。编号不一致的块是不能相互映像的。v 优点:地址变换简单。缺点:每块相互对应,不够灵活。v 主存与Cache的地址组成:v 主存:区号+块号+块内地址v Cache:块号+块内地址北京理工大学计算机学院北京理工大

7、学计算机学院v 在实际应用中,直接相联的行冲突率比较高,命中率会比在实际应用中,直接相联的行冲突率比较高,命中率会比较低。比如某段时间内,较低。比如某段时间内,CPU CPU 要不断的交叉访问要不断的交叉访问 2 2 个映个映射到相同射到相同 CacheCache行的数据块,那么尽管行的数据块,那么尽管 Cache Cache 尚有空间,尚有空间,可是可是 CPU CPU 却必须不停地来回填充却必须不停地来回填充 CacheCache。直接相联的优。直接相联的优点在于结构简单、成本低。点在于结构简单、成本低。北京理工大学计算机学院北京理工大学计算机学院Cache Cache 的映射规则(的映射

8、规则(2 2)v 全相联:如图全相联:如图 3.2(b)3.2(b)所示,主存中的任意块可以被放置到所示,主存中的任意块可以被放置到 Cache Cache 中的任意一个位置行,不要索引而直接匹配。缓存数据时,有空占空,中的任意一个位置行,不要索引而直接匹配。缓存数据时,有空占空,当所有行被占有时,新的行则根据替换算法换掉其中一行。当所有行被占有时,新的行则根据替换算法换掉其中一行。v 因此其能充分利用因此其能充分利用 Cache Cache 的存储空间,行冲突率会比较低,命中率的存储空间,行冲突率会比较低,命中率高,但是实现起来硬件电路复杂,价格昂贵,一般用在对性能要求苛高,但是实现起来硬件

9、电路复杂,价格昂贵,一般用在对性能要求苛刻的场合中。刻的场合中。北京理工大学计算机学院北京理工大学计算机学院v 全相联映像全相联映像主存与Cache的划分:v 将主存与Cache划分成若干个大小相等的块。v 主存与Cache的映像:主存中每一块都可以调到Cache中的每一块。v 优点:访问灵活,冲突率低,只有Cache满时才会出现在冲突。v 缺点:地址变换比较复杂,速度相对慢。v 主存与Cache的地址组成:v 主存:块号+块内地址v Cache:块号+块内地址北京理工大学计算机学院北京理工大学计算机学院组相联:如图组相联:如图 3.2(c)3.2(c)所示,主存中的每一块可以被放置所示,主存

10、中的每一块可以被放置到到 Cache Cache 中唯一的一个组(中唯一的一个组(setset)中的任何一个位置,)中的任何一个位置,Cache Cache 被等分为若干个组,每组由若干个块构成。被等分为若干个组,每组由若干个块构成。Cache Cache 的映射规则(的映射规则(3 3)北京理工大学计算机学院北京理工大学计算机学院v 组相联是直接映射和全相联的一种折衷:一个主存块首组相联是直接映射和全相联的一种折衷:一个主存块首先是映射到唯一的一个组上先是映射到唯一的一个组上( (直接映射的特征直接映射的特征) ),然后这个,然后这个块可以被放入这个组中的任何一个位置(全相联的特征)。块可以

11、被放入这个组中的任何一个位置(全相联的特征)。 v 组的选择常采用位选择算法,即:若主存第组的选择常采用位选择算法,即:若主存第i i块映射到块映射到 Cache Cache 的第的第k k组,则组,则 k = i mod(G ) k = i mod(G ) 其中其中 G G 为为CacheCache的组数。设的组数。设 G = 2G = 2g g,则当表示为二进制,则当表示为二进制数时,数时,k k实际上就是实际上就是i i的低的低g g位,因此,可以直接用主存块位,因此,可以直接用主存块地址的低地址的低g g位去选择组相联位去选择组相联 Cache Cache 中的相应组。这里的低中的相应

12、组。这里的低g g位以及上述直接映射中的低位以及上述直接映射中的低m m位通常称为索引。位通常称为索引。Cache Cache 的映射规则(的映射规则(3 3)北京理工大学计算机学院北京理工大学计算机学院v如果每组中有如果每组中有n n个块个块(n(nM/G)M/G),则称该映射规则为,则称该映射规则为n n路组相联。路组相联。n n的不同取值构成了一系列不相同相的不同取值构成了一系列不相同相联度的组相联。直接映射和全相联是组相联的两联度的组相联。直接映射和全相联是组相联的两种极端情况。表种极端情况。表3.1 3.1 中列出了各种情况下,路数中列出了各种情况下,路数n n 和组数和组数G G的

13、取值。表中的取值。表中M M为为CacheCache的块数。的块数。北京理工大学计算机学院北京理工大学计算机学院v 组相连主存与Cache的划分:v 主存:主存根据Cache大小划分成若干个区,每个区内划分成若干个组,每个组再划分成若干个块。v Cache:划分成若干个组,每个组划分成若干个块。v 主存与Cache的映像:主存的每个分区与Cache采用直接映像,主存的每个组之内采用全相联映像。v 特点:融合了直接映像与全相联映像两种映像方式,结合了两者的优据点。具体实现容易,命中率与全相联映像接近。v 主存与Cache的地址组成:v 主存:区号+组号+块号+块内地址v Cache:组号+块号+

14、块内地址北京理工大学计算机学院北京理工大学计算机学院v 实例分析:实例分析:v 1.容量为64块的Cache采用组相联方式映像,字块大小为128字节,每4块为一组,若主容量为4096块,且以字编址,那么主存地址为(_)位,主存区号为(_)位。v 解解:v 组相联的地址构成为:区号+组号+块号+块内地址。v 主存的每个分区大小与整个Cache大小相等,故此主存需要分的区数为:4096/64=64,因为2664,因此需要6位来表示区号。v 每4块为一组,故共有组数 64/4 = 16 ,因为2416,因此需要4位表示组号。v 每组4块,故表示块号需要2位。v 块内地址共128字节,27128,所以

15、块内地需要7位表示。v 所以:主存地址的位数6+4+2+7 19v 主存区号的位数6北京理工大学计算机学院北京理工大学计算机学院v 2.某 32 位计算机的 cache 容量为 16KB,cache 块的大小为 16B,若主存与 cache 的地址映射采用直接映射方式,则主存地址为 1234E8F8(十六进制)的单元装入的 cache 地址为_。 A. 00 0100 0100 1101 (二进制)B. 01 0010 0011 0100 (二进制)C. 10 1000 1111 1000 (二进制)D. 11 0100 1110 1000 (二进制)v 解解:Cache大小为16KB,块大小

16、为16B,所以Cache被分成16KB/16B=1024块,因2101024故需要10位来表示块数。2416故块内地址需要4位来表示。所以Cache的地址线位置为14位。由于采用直接映像的方式,所以主存的后14位就是要装入的到Cache中的位置。故选 C.北京理工大学计算机学院北京理工大学计算机学院v 块冲突是指一个主存块要进入已被占用的块冲突是指一个主存块要进入已被占用的 Cache Cache 块位置,相联度块位置,相联度越高即越高即 n n 的值越大,的值越大,Cache Cache 空间的利用率就越高,块冲突概率就空间的利用率就越高,块冲突概率就越低,因而越低,因而CacheCache

17、的失效率就越低。的失效率就越低。v 显然,全相联的失效率最低,直接映射的失效率最高。显然,全相联的失效率最低,直接映射的失效率最高。v 虽然从降低失效率的角度来看,虽然从降低失效率的角度来看, n n 的值越大越好,但在实际上增大的值越大越好,但在实际上增大 n n 值并不一定能使整个系统的性能提高,而且还会使值并不一定能使整个系统的性能提高,而且还会使 Cache Cache 的实的实现复杂度和代价增大。所以目前基本上所有的计算机系统包括处理器现复杂度和代价增大。所以目前基本上所有的计算机系统包括处理器片内片内 Cache Cache 都采用组相联结构。都采用组相联结构。Cache Cach

18、e 结构与工作方式结构与工作方式(5 5)北京理工大学计算机学院北京理工大学计算机学院v K K 路组相联路组相联 Cache Cache 的通常工作方式是:先进行组索引,然后根据相的通常工作方式是:先进行组索引,然后根据相应的地址映射机制通过旁路转换缓冲应的地址映射机制通过旁路转换缓冲 TLBTLB(Translation lookaside Translation lookaside bufferbuffer)即页表缓冲将物理地址)即页表缓冲将物理地址 PAPA(Physical AddressPhysical Address)转换为虚)转换为虚拟地址拟地址 VAVA(Virtual Ad

19、dressVirtual Address)或者组内地址与组内)或者组内地址与组内 K K 行的行的 Tag Tag 域域同时匹配。其工作过程如图同时匹配。其工作过程如图 3.3 3.3 所示。所示。北京理工大学计算机学院北京理工大学计算机学院Cache Cache 的读的读/ /写策略写策略v 在在 Cache Cache 的读的读/ /写策略中,由于写策略中,由于“读读”最容易提高速度且不改变数据最容易提高速度且不改变数据的一致性,所以经常讨论的是的一致性,所以经常讨论的是“写写”的策略。的策略。v 按照存储层次的要求,按照存储层次的要求, CacheCache内容应是主存部分内容的一个副本

20、。内容应是主存部分内容的一个副本。但是但是“写写”访问却有可能导致它们内容的不一致。为了保证主存与访问却有可能导致它们内容的不一致。为了保证主存与cachecache内容的一致,主存也要更新,写策略所要解决的问题正是何时内容的一致,主存也要更新,写策略所要解决的问题正是何时更新。更新。v 写策略是区分不同写策略是区分不同Cache Cache 设计方案的一个重要标志。设计方案的一个重要标志。北京理工大学计算机学院北京理工大学计算机学院常用的常用的2 2种写策略种写策略v 1. 1. 写直达法(写直达法(Write -throughWrite -through):也称为存直达法。它是指在执行):

21、也称为存直达法。它是指在执行“写写”操作时,不仅把信息写入操作时,不仅把信息写入 Cache Cache 中相应的块,而且也写入中相应的块,而且也写入下一级存储器中相应的块;下一级存储器中相应的块;v 2. 2. 写回法写回法(Write-back)(Write-back):也称为拷回法。它只把信息写入:也称为拷回法。它只把信息写入 Cache Cache 中相应的块。该块只有在被替换时,才被写回主存。中相应的块。该块只有在被替换时,才被写回主存。 为了减少在替换时块的写回,常采用污染位标志。即为为了减少在替换时块的写回,常采用污染位标志。即为 Cache Cache 中的每一块设置中的每一块

22、设置一个一个“污染位污染位”(dirty)(dirty),用于指出该块是,用于指出该块是“脏的脏的”(被修改过)还是(被修改过)还是“干净干净”的(没的(没被修改过)。替换时,若被替换的块是被修改过)。替换时,若被替换的块是“干净干净”的,则不必写回下一级存储器,因为的,则不必写回下一级存储器,因为这时下一级存储器中相应块的内容与这时下一级存储器中相应块的内容与 Cache Cache 中的一致。中的一致。 北京理工大学计算机学院北京理工大学计算机学院v 写回法和写直达法各有特色。写回法和写直达法各有特色。v 写回法的优点是速度快,写回法的优点是速度快,“写写”操作能以操作能以CacheCac

23、he存储器的速度进行,存储器的速度进行,而且对于同一单元的多个写最后只需一次写回下一级存储器。写回法而且对于同一单元的多个写最后只需一次写回下一级存储器。写回法对于多处理机很有吸引力。对于多处理机很有吸引力。v 写直达法的优点是易于实现,而且下一级存储器中的数据总是最新的。写直达法的优点是易于实现,而且下一级存储器中的数据总是最新的。 CPUCPU写等待:采用写直达法时,若在进行写等待:采用写直达法时,若在进行“写写”操作的过程中操作的过程中CPU CPU 必须等待,必须等待,直到直到“写写”操作结束,则称操作结束,则称CPUCPU写等待。写等待。 减少写等待:一种常用的优化技术是采用写缓冲器

24、。减少写等待:一种常用的优化技术是采用写缓冲器。 CPU CPU 一旦把数据写一旦把数据写入该缓冲器,就可以继续执行,从而使下一级存储器的更新和入该缓冲器,就可以继续执行,从而使下一级存储器的更新和 CPU CPU 的执的执行重叠起来。行重叠起来。 北京理工大学计算机学院北京理工大学计算机学院目目 录录 Cache 结构与工作方式结构与工作方式分布式分布式 Cache 数据前瞻技术数据前瞻技术 北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v 多核处理器中的多核处理器中的 Cache Cache 常分为多级存在于不同的位置,常分为多级

25、存在于不同的位置,即分布式即分布式 CacheCache。v 分布式分布式 Cache Cache 的数据前瞻技术通过提前启动数据传输,的数据前瞻技术通过提前启动数据传输,将数据提前取入处理器内核的本地存储器中,能够减少处将数据提前取入处理器内核的本地存储器中,能够减少处理器内核的本地访存失效和访问时间,有效减少访存延迟。理器内核的本地访存失效和访问时间,有效减少访存延迟。v 通常,数据前瞻技术主要可分为数据预取(通常,数据前瞻技术主要可分为数据预取(pre-fetchpre-fetch)技术和数据定向(技术和数据定向(forwardforward)技术两类。)技术两类。北京理工大学计算机学院

26、北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v 它们的主要区别在于发起数据前瞻传输的主体不同。它们的主要区别在于发起数据前瞻传输的主体不同。v 在数据预取技术中,由在数据预取技术中,由“消费者消费者”处理器内核在使用数据之前通过硬处理器内核在使用数据之前通过硬件件/ /软件等方式将数据预取到片内存储器中。软件等方式将数据预取到片内存储器中。v 在数据定向技术中,由在数据定向技术中,由“生产者生产者”处理器内核在把数据写入其本地存处理器内核在把数据写入其本地存储器后,根据编译器指示或硬件产生的提示信息,将数据拷贝主动发储器后,根据编译器指示或硬件产生的提示

27、信息,将数据拷贝主动发送到一个或多个送到一个或多个“消费者消费者”处理器内核的局部存储器中。定向技术也处理器内核的局部存储器中。定向技术也可以看作是一种数据预送技术。可以看作是一种数据预送技术。北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v Mowry61Mowry61等设计了等设计了 DASH DASH 处理器中使用的软件可控预取处理器中使用的软件可控预取技术,研究结果表明,对于访存模式规则的程序,易于插技术,研究结果表明,对于访存模式规则的程序,易于插入预取指令,通过在程序中插入若干条新的指令代码,能入预取指令,通过在程序中插入

28、若干条新的指令代码,能够有效减少够有效减少 Cache Cache 失效,性能的提升可以达到失效,性能的提升可以达到 100150%100150%。v 但对于大量采用指针和链表结构的具有不规则访存模式的但对于大量采用指针和链表结构的具有不规则访存模式的程序,预取效果不太理想。程序,预取效果不太理想。北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v Todd62Todd62等提出了在密集矩阵运算代码中通过编译技术插入预取指令等提出了在密集矩阵运算代码中通过编译技术插入预取指令的算法,算法识别可能导致的算法,算法识别可能导致 Cache

29、Cache 失效的访问,消除了对已经位于失效的访问,消除了对已经位于 Cache Cache 内数据的预取,只发射可能引发内数据的预取,只发射可能引发 Cache Cache 失效的数据的预取。失效的数据的预取。该算法显著减少了程序执行时间,消除了许多不必要的预取。该算法显著减少了程序执行时间,消除了许多不必要的预取。v 软件预取有利于隐藏存储延迟,但实现预取有相应的指令开销,增加软件预取有利于隐藏存储延迟,但实现预取有相应的指令开销,增加了存储系统负载,所以需要保证增加的开销不大于收益。了存储系统负载,所以需要保证增加的开销不大于收益。v Tullsen63Tullsen63等研究了基于总线

30、的多处理器中编译指导的预取算法,等研究了基于总线的多处理器中编译指导的预取算法,结果表明该结构软件预取并不总能带来积极的收益。结果表明该结构软件预取并不总能带来积极的收益。 北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v Chen64Chen64等提出并评估了基于硬件的预取方案,其基本思想是使用一等提出并评估了基于硬件的预取方案,其基本思想是使用一个访问预测表跟踪过去数据访问的模式以预测将来的数据访问地址。个访问预测表跟踪过去数据访问的模式以预测将来的数据访问地址。测试表明所提方案可以有效降低数据访问开销,所需代价是增加一个测试表明

31、所提方案可以有效降低数据访问开销,所需代价是增加一个相当于相当于 4KB 4KB 数据数据 Cache Cache 的访问预测表。的访问预测表。v Fredrik65Fredrik65等利用数据访问的空间局部性,介绍了两种由硬件控制等利用数据访问的空间局部性,介绍了两种由硬件控制的预取技术。其中,固定顺序预取机制在处理器访问某个数据块时,的预取技术。其中,固定顺序预取机制在处理器访问某个数据块时,固定预取后面固定预取后面 K K 个连续的数据块,而自适应预取机制可以动态调整个连续的数据块,而自适应预取机制可以动态调整 K K 的大小。该自适应预取机制能够将读取阻塞时间减少的大小。该自适应预取机

32、制能够将读取阻塞时间减少 58%58%,总执行,总执行时间减少时间减少 25%25%。 北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v 先进的预取技术可以减少存储延迟,但过分激进的预取会耗费片外先进的预取技术可以减少存储延迟,但过分激进的预取会耗费片外带宽。带宽。v Jason66Jason66等提出了用于媒体和流处理应用的多级存储器预取方法,等提出了用于媒体和流处理应用的多级存储器预取方法,在片上使用保守预取,而片外使用激进预取,初步结果表明该方法在在片上使用保守预取,而片外使用激进预取,初步结果表明该方法在增加较小额外带宽的条件

33、下提供了比较有效的预取。增加较小额外带宽的条件下提供了比较有效的预取。v 在基于监听的多处理器系统中,可用的一致性带宽是系统扩展的瓶颈,在基于监听的多处理器系统中,可用的一致性带宽是系统扩展的瓶颈,预取在减小预取在减小 Cache Cache 失效的同时增加了一致性开销,失效的同时增加了一致性开销,Hagersten67Hagersten67等等提出了打包技术来减少预取开销,和顺序预取等方法结合可以降低提出了打包技术来减少预取开销,和顺序预取等方法结合可以降低 Cache Cache 失效率和监听带宽需求。失效率和监听带宽需求。北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cach

34、e Cache 数据前瞻技术数据前瞻技术v Burtscher68Burtscher68等提出了将来执行(等提出了将来执行(Future ExecutionFuture Execution)技术,使用)技术,使用多核处理器中的一个核为另一个核运行的线程预取数据,经测试运行多核处理器中的一个核为另一个核运行的线程预取数据,经测试运行 SPEC CPU2000SPEC CPU2000基准程序,该技术和激进的流预测器相比带来了基准程序,该技术和激进的流预测器相比带来了 10%10%的的几何平均加速。几何平均加速。 多核处理器中一个处理器内核通过预取提升了性能,但可能会导致带宽竞争,多核处理器中一个处

35、理器内核通过预取提升了性能,但可能会导致带宽竞争,反而会降低其它处理器核的性能,针对这一问题,反而会降低其它处理器核的性能,针对这一问题,Marius69Marius69提出了带宽感知预取方提出了带宽感知预取方法,通过预估将来的带宽占用情况来指导预取,该方法可以有效减少存储带宽占用,法,通过预估将来的带宽占用情况来指导预取,该方法可以有效减少存储带宽占用,提高处理器性能。提高处理器性能。北京理工大学计算机学院北京理工大学计算机学院分布式分布式 Cache Cache 数据前瞻技术数据前瞻技术v 另外自适应流检测技术引入基于流的预取,在片上存储控制器内设计另外自适应流检测技术引入基于流的预取,在

36、片上存储控制器内设计了流预测器,测试表明所提方法对于任何长度流的预取均有效。了流预测器,测试表明所提方法对于任何长度流的预取均有效。 带流预测器的带流预测器的Power5+Power5+运行运行 SPEC2006fp SPEC2006fp 基准程序使性能提高基准程序使性能提高 32.7%32.7%,对,对5 5个空个空间局部性较差的商用基准程序,采用流预测器也能带来平均间局部性较差的商用基准程序,采用流预测器也能带来平均 15.1%15.1%的性能改进。的性能改进。v 但是,数据预取技术在以下几种情况下则收效甚微但是,数据预取技术在以下几种情况下则收效甚微7070:发出预取的:发出预取的时间不

37、够确定,无法确保有足够的时间完成预取;预取地址不够精确,时间不够确定,无法确保有足够的时间完成预取;预取地址不够精确,无法保证预取有效,无效的预取容易造成带宽浪费和无法保证预取有效,无效的预取容易造成带宽浪费和 Cache Cache 污染,污染,增加功耗。增加功耗。 北京理工大学计算机学院北京理工大学计算机学院v 数据定向技术在消除多核处理器数据一致性相关失效方面比预取技术数据定向技术在消除多核处理器数据一致性相关失效方面比预取技术具有更高的性能,这主要基于以下原因具有更高的性能,这主要基于以下原因7171: 时间上,数据产生后可以立即传递给时间上,数据产生后可以立即传递给“消费者消费者”处

38、理器内核,处理器内核,能够最大限度的隐藏传输延迟;能够最大限度的隐藏传输延迟; 空间上,可以从空间上,可以从“生产者生产者”处理器内核直接将数据传输给处理器内核直接将数据传输给“消消费者费者”处理器内核,经过的跳步少,通信开销小;处理器内核,经过的跳步少,通信开销小; 通过支持一对多的数据广播操作通过支持一对多的数据广播操作“,生产者,生产者”处理器核使用一处理器核使用一条指令就可以将数据定向传输给多个条指令就可以将数据定向传输给多个“消费者消费者”处理器内核处理器内核北京理工大学计算机学院北京理工大学计算机学院v 斯坦福大学的斯坦福大学的 DASH DASH 处理器处理器7272利用利用 D

39、eliver Deliver 指令进行数据定向传指令进行数据定向传输,该指令通过位向量指定多个处理器簇,将数据发送给这些处理器输,该指令通过位向量指定多个处理器簇,将数据发送给这些处理器簇。簇。v Koufaty73Koufaty73等提出了用于数据定向的编译算法,使用地址踪迹评估等提出了用于数据定向的编译算法,使用地址踪迹评估支持不同级别数据定向的性能,其实验结果表明:对于小容量支持不同级别数据定向的性能,其实验结果表明:对于小容量 Cache Cache 使用数据定向技术可以获得使用数据定向技术可以获得 30%30%的性能提升;对于大容量的性能提升;对于大容量 CacheCache,则,则平均性能提升可以达到平均性能提升可以达到 50%50%,并且可以消除大部分共享读的失效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论