cache一致性问题和解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cache一致性问题和解决方法
作者
工程技术大学
摘要高速缓冲存储器一致性问题是指高速缓冲存储器中的数据必须与存中的数据保持同步(一致) 。多核处理器将一个以上的计算核集成在一个处理器中,通过多个核心的并行计算技术,增强处理器计算性能。单片多处理器结构(CMP—ChipMultiprocessor)又是该领域中备受关注的问题。本文简要论述了CMP的多级Cache存储结构,多级结构引起了Cache一致性问题,一致性协议的选取对CMP系统的性能有重要影响。使用何种Cache一致性模型以及它的设计方案是本文重点研究的容。
关键词:CMP;Cache一致性;存储器;协议;替换策略
Cache consistency problem and solving method Abstract Cache consistency refers to the data in the cache memory must be synchronized with the data in memory (the same).Multi·core processor was the integration of multiple computing cores on a single processoL which improved processor computing ability through the parallelcomputing Technology of multi-coreprocessors.Single chip multi-processorarchitecture(CMP-ChipMulfiprocessor)was hot spots in this area.The CMPmulti-level Cache storage structure was briefly discussed in this paper,which led to Cache coherence problem,the selection of consistency protocol had a major impact on the performance of the CMP system.The selection of model of theCache Coherence and methods of its design will have a significant impact ofoverall design and development of CMP
Key words:CMP Cache; consistency; memory; protocol; replacement strategy
1引言
在过去的二十年中,计算机处理器设计工艺和处理器体系结构发展迅速,计算机也能够完成所赋予它的大部分任务。因此,在各种领域得到迅速和广泛的应用。同时,广泛的应用也带来了对高性能和低功耗处理器的强劲需求。而以往通过在单核处理器中集成更多的晶体管,提升处理器频率的方法,随着摩尔定律和处理器功耗的畸形不对称,使得高频处理器将会带来以往无法预计的功耗问题。多核处理器技术的出现解决了上述问题。
2 国外发展现状
2.1 CMP体系结构研究现状
近年来,很多大学以及研究机构在从事CMP的研究,一些著名大学及研究机构已经有相当深入的工作,其中比较有影响的有国外的Standford大学、MIT等,国的清华大学、国防科技大学在CMP研究方面也取得了一定的研究成果。Standford大学研究的Hydra片上多处理器集成了4个MIPSR 3000处理器核心,每个微处理器核心具有私有的指令Cache和一级数据Cache,所有的处理器核心共享一个片上二级Cache进行通信和共享数据。Hydra CMP还支持线程级猜测执行,可以将程序段并行化,让多个线程来执行这段程序。Hydra综合了共享Cache多处理器系统结构、革新性的同步机制、高级集成电路技术和并行编译技术,即使在执行顺序应用程序时,Hydra CMP能够获得比宽发射超标量微处理器更好的性能。MIT的M.Machine片上集成了三个微处理器核心,它们通过交叉开关进行快速的寄存器级间的通信。程序在M.Machine上通过寄存器间的快速通信以及同步机制来确保程序的细粒度并行,并且以一种极细粒度的机制来实现线程的并行性。清华大学微处理器和SoC研究中心从2003年开始着手进行CMP的调研工作,于2005年年初基本完成了Thump CMP模拟器的设计工作。ThumpCMP采用了清华大学自主研制的支持MIPS指令集的32位微处理器Thumpl07作为处理器核心,目前的Thump CMP模拟器集成了两个Thumpl07核,每个核具有独立的一级Cache,两个核共享一个二级Cache。国防科技大学提出一种单芯片多处理器体系结构模型——珙享多端口数据Cache结构模型,片上集成P个处理器核,每个处理器核有私有的指令Cache,所有的处理器核通过交叉开关共享一个具有q个访问端口的一级数据。除了上述一些大学和研究机构,商业应用中各大厂商都在陆续推出各自的片多处理器产品。2006年,IBM公司公布了Power 6处理器的部分结构设计与性能参数。Power 6处理器包含两个处理器核,每个处理器核支持两个线程。Power6处理器的每个核有一个私有的8路组相联,64KB的一级数据Cache,一个4MB的二级Cache。Power 6中的私有二级缓存之间可通过高速链路进行数据交换,而无需通过速度相对较慢的三级缓存交换。Power 6采用65nm的SOl工艺,10层金属板,芯片面积为344砌《。SUN公司在2005年推出的UltraSPARC T1(开发代号“Niagara”)处理器,主要定位于大规模网络应用服务器市场。Niagara包含8个处理器核,每个处理器核支持4个线程。2007年Sun公司推出了二代CMP处理器UltraSPARC T2(开发代号“Niagara 2”1,Niagara 2由8个UltraSPARC 核构成,每个UltraSPARC核可支持8路多线程,UltraSPARC核在每个线程的一级指令Cache后设立了指令缓冲区,还增加了一个新的流水级,专门用来选择就绪执行线程。