多核处理器cache存储层技术.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多核处理器cache存储层技术

多核处理器cache存储层技术 张 瑞 2012.12.06 目 录 Cache 结构与工作方式(1) 因为存储器工作频率与 CPU 处理频率存在巨大差距,现代计算机都采取多级化的存储系统结构。 CPU 访问寄存器中的数据要比访问内存中的数据快几个数量级,在大量数据运算时,CPU 的处理速度会受限于访存速度,为了平滑他们之间的速度差异,根据程序的局部性原理引入了Cache。 Cache 对于提高整个计算机系统的性能有重要的意义,是一个不可缺少的部件。 Cache 结构与工作方式(2) Cache 与内存之间交换数据是以“数据行”(Line)或者“块”为单位,大小一般是 2 的幂数量的字节,比如 64 字节。 而 CPU 与数据 Cache 之间的数据交换则以字为单位,为获得较大的指令吞吐率与指令Cache 之间的数据交换则以数个字为单位,常见的是 128bit。 一般来说,主存容量远大于 Cache 的容量。因此,当要把一个块从主存调入 Cache 时,就涉及到如何放置的问题,这个问题的解决方式就是映射规则。 根据Cache 的相联方式的不同,Cache 的映射规则可以分为 3 类:直接相联、全相联和组相联。 ①直接相联:如图 3.2(a)所示,对于主存的第 i 块(即块地址为 i ),设它映射到 Cache 的第 j 块,则 j = i mod(M ) 其中 M 为 Cache 的块数。设 M = 2m,则当表示为二进制数时,j 实际上就是 i 的低 m 位,因此,可以直接用主存块地址的低 m 位去选择直接映射 Cache中的相应块。 直接映像主存与Cache的划分:将主存根据Cache的大小分成若干分区,Cache也分成若干个相等的块,主存的每个分区也分成与Cache相等的块。 主存与Cache的映像:主存中的每一个分区由于大小相同,可以与整个Cache相像,其中的每一块正好配对。编号不一致的块是不能相互映像的。 优点:地址变换简单。缺点:每块相互对应,不够灵活。 主存与Cache的地址组成: 主存:区号+块号+块内地址 Cache:块号+块内地址 在实际应用中,直接相联的行冲突率比较高,命中率会比较低。比如某段时间内,CPU 要不断的交叉访问 2 个映射到相同 Cache行的数据块,那么尽管 Cache 尚有空间,可是 CPU 却必须不停地来回填充 Cache。直接相联的优点在于结构简单、成本低。 Cache 的映射规则(2) ②全相联:如图 3.2(b)所示,主存中的任意块可以被放置到 Cache 中的任意一个位置行,不要索引而直接匹配。缓存数据时,有空占空,当所有行被占有时,新的行则根据替换算法换掉其中一行。 因此其能充分利用 Cache 的存储空间,行冲突率会比较低,命中率高,但是实现起来硬件电路复杂,价格昂贵,一般用在对性能要求苛刻的场合中。 全相联映像主存与Cache的划分: 将主存与Cache划分成若干个大小相等的块。 主存与Cache的映像:主存中每一块都可以调到Cache中的每一块。 优点:访问灵活,冲突率低,只有Cache满时才会出现在冲突。 缺点:地址变换比较复杂,速度相对慢。 主存与Cache的地址组成: 主存:块号+块内地址 Cache:块号+块内地址 ③组相联:如图 3.2(c)所示,主存中的每一块可以被放置到 Cache 中唯一的一个组(set)中的任何一个位置,Cache 被等分为若干个组,每组由若干个块构成。 组相联是直接映射和全相联的一种折衷:一个主存块首先是映射到唯一的一个组上(直接映射的特征),然后这个块可以被放入这个组中的任何一个位置(全相联的特征)。 组的选择常采用位选择算法,即:若主存第i块映射到 Cache 的第k组,则 k = i mod(G ) 其中 G 为Cache的组数。设 G = 2g,则当表示为二进制数时,k实际上就是i的低g位,因此,可以直接用主存块地址的低g位去选择组相联 Cache 中的相应组。这里的低g位以及上述直接映射中的低m位通常称为索引。 如果每组中有n个块(n=M/G),则称该映射规则为n路组相联。n的不同取值构成了一系列不相同相联度的组相联。直接映射和全相联是组相联的两种极端情况。表3.1 中列出了各种情况下,路数n 和组数G的取值。表中M为Cache的块数。 组相连主存与Cache的划分: 主存:主存根据C

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档