多核处理器缓存结构技术综述

多核处理器缓存结构技术综述

ID:21714482

大小:56.00 KB

页数:6页

时间:2018-10-24

多核处理器缓存结构技术综述_第1页
多核处理器缓存结构技术综述_第2页
多核处理器缓存结构技术综述_第3页
多核处理器缓存结构技术综述_第4页
多核处理器缓存结构技术综述_第5页
资源描述:

《多核处理器缓存结构技术综述》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、多核处理器缓存结构技术综述随着半导体制造工艺的发展,晶体管集成度迅速提高。多核心,片上内存管理,动态功耗等技术已经大量的出现在各种处理器上。强大的计算能力背后,更需要强大的缓存系统支持。因此,为适应多核心高速数据共享,高效的数据预取和写回,片上存储系统的规模也越来越大,结构越来越多样。近几年,从缓存结构和数据存储策略的角度思考缓存效率逐渐成为热点。  关键词多核;缓存效率;缓存结构;算法优化  TP39A1674-6708(2011)54-0174-04  0引言  随着半导体工艺的进步,单片处理器上的晶体管集成度迅速提高。这为制造具有更大容量的片上缓存提供了技术基础。同

2、时,由于多核处理器的普及,随之而来的是对缓存效率、数据一致性以及功耗方面的全新考虑。就目前的处理器设计来看,一味的追求缓存容量,并不能得到很好的性能提升,反而对芯片面积和功耗提出了考验。  1对称缓存结构  目前,多核处理器使用的对称缓存结构主要有两种基本的片上存储系统模型,即StreamingMemory和CoherentCache。    图1CMPCache分类[1]  1.1CoherentCache  所有片上存储资源都用于构成处理器内核的私有Cache和内核间的共享Cache,并通过硬件保证数据的一致性。处理器内核隐式地从Cache中读写数据,Cache控制器

3、根据内核的访存要求以“块”(block)为单位从片下存储器(内存)中读取和替换Cache中的数据。Cache的数据存取、访问同步、数据一致都由硬件实现,程序员无法干预,程序可以直接寻址的存储资源是片下存储器。  1.2StreamingMemory  部分片上存储资源被组织成独立的可被程序寻址的存储结构(localstorage),与片下存储结构的数据交换需要程序控制和DMA操作。在这个模型下,处理器内核从localstorage中读写数据,localstorage通过DMA操作与片下存储器(或更低层次的共享Cache)交换数据,localStorage中的数据存放位置、

4、存取粒度和替换策略都可以由应用程序控制。  1.3性能比较  JacobLeverich等对两种模型进行了性能比较[1],结论如下:  1)对于存在大量复用数据的并行应用程序,两种模型的性能接近。对于某些benchmark,StreamingMemory比采用写分配策略的CoherentCache性能高10%~25%,但采用非写分配策略的CoherentCache会削弱这个优势;  2)对于不存在复用数据的应用程序,随着处理器内核数目和计算能力的提高,StreamingMemory的优势越来越明显。采用硬件预取技术可缩小CoherentCache与StreamingMem

5、ory的性能差距。在某些需要数据冗余复制的应用中,CoherentCache甚至比StreamingMemory的性能要好。  纯粹的StreamingMemory(即没有经过软件优化)不存在显著的性能优势;但StreamingMemory对于软件设计影响很大,特别是当内核数目很大时,对软件进行合理优化会显著提高性能。  2非一致的缓存结构  非一致缓存结构最初是2002年由ChangkyuKim等人在  JaehyukHuh等人通过实验证明,当共享度为4的时候,系统的性能最高,各方面参数都能达到一个平衡。  2)MappingAlgorithm  单核的NUCA中采用s

6、taticmapping和DynamicMapping两种策略,其中DynamicMapping可以弥补staticmapping的某些不足。但多核的NUCA给Dynamicmapping也带来了一些问题,比如当多个核心都访问相同数据时可能导致数据迁移冲突,即数据可能在两个核心间来回不断移动;另外,传统的centraltag也不适用于多核处理器,因为tag阵列无法距离每个内核都很近。  3)移动策略  单核的NUCA中数据只允许沿一个坐标方向移动,因为数据只要沿一个方向移动就可以控制其与处理器的距离。但在多核环境下,数据要根据处理器的请求在多个坐标方向上移动,因此多核的N

7、UCA应支持这种移动。    图12移动策略  5CooperativeCache结构  JichuanChang等在文献[6]中提出CooperativeCache(CC)结构。CC基于私有的二级缓存结构,但是允许每个处理器访问片上的任意处理器的私有二级缓存,这样把常用的数据放在本地的私有缓存中,当本地私有缓存的大小不能满足任务对于命中率的要求时,也可以把自己的数据放在其他处理器的二级Cache中,这样既可以保证常用数据具有较低的命中延迟,也可以通过使用其他处理器的本地Cache来达到相对满意的命中率,从而避免了从主存中取数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。