论文部分内容阅读
随着集成电路技术的快速发展,片上可用的晶体管资源越来越多,如何充分的使用这些多余的晶体管资源,是体系结构界当前面临的基本问题。片上多核处理器的出现使得我们可以充分地利用日益增长的片上晶体管资源以提升处理器的性能。但是伴随着多核的出现,对有限的Cache,带宽等资源的竞争将进一步加大系统访存压力,寻找一种有效的Cache管理策略将有利于系统性能的提升。同时伴随着多核服务器应用存在多核软件的不足,影响多核系统的总体性能的进一步提升,并导致对多核硬件资源不能得到充分的利用,为此,提出虚拟化技术来提高硬件资源的利用率。由于虚拟化技术存在众多优点,使得虚拟化技术得到快速的发展,成为研究的热点。本文首先对当前的Cache技术进行简要的叙述,并重点就当前多核平台下典型的二级Cache管理策略进行研究,分析他们各自的优缺点。然后介绍虚拟化技术的相关概念,并重点就虚拟化的实现技术进行介绍。在此基础上设计实现一种虚拟机内的协作Cache结构,为此本文主要研究内容如下:(1)要研究面向虚拟机内的协作Cache结构技术,首先在本文的第一阶段我们的主要任务是寻找一个支持虚拟机(集中在CPU和内存虚拟化)的多核仿真环境。但是现有的支持虚拟化的仿真平台几乎全部都是全系统仿真平台,从而导致实现复杂,运行速度慢。本文实现了一个并行的用户级的仿真器PVMsim,该仿真器可以实现一个虚拟化的仿真环境,方便用户对虚拟化技术进行研究。(2)重点借鉴多核平台下协作Cache管理策略的优点,对其存在的一些缺点加以改进。在此基础上,首先设计虚拟机内的协作Cache硬件结构,然后借鉴多核上的协作Cache结构的设计策略,设计实现虚拟机内的协作Cache具体实现策略,并在最后介绍虚拟机内协作Cache的工作机制。(3)分别在共享二级Cache和协作Cache基础上,用典型的splash-2测试程序进行测试,通过结果显示虚拟机内的协作Cache设计是一个具有平均访存延迟小,Cache缺失率低,可扩展性的协作Cache结构。