论文部分内容阅读
多核处理器也称为片上多处理器(Chip Multi-processor,简称CMP)或单芯片多处理器。受限于芯片功耗和设计复杂度等因素,传统的超标量结构处理器已经无法有效利用不断增长的晶体管资源。目前,越来越多的处理器朝着单片多处理器的方向发展。多核处理器将多个核心集成在同一个芯片内,整个芯片作为一个统一的结构对外提供服务,输出性能。多核结构简单、易于设计的特点推动了多核的迅速发展。多核处理器结构不仅有性能潜力大、集成度高、并行度高、结构简单和设计验证方便等诸多优势,而且它还能继承传统单处理器研究中的某些成果,例如同时多线程、宽发射指令等。但多核处理器毕竟是一种新的结构,在多核结构设计和应用开发中出现了以前未曾遇到的新问题,这些问题给多核处理器的未来提出了挑战。 目前CMP的L1Cache属于处理器核私有,但处理器核会共享L2或更高层次的Cache。由于同时运行的多个线程访存行为存在差异,因此会竞争使用L2Cache或更高层次的Cache资源,可能会引起性能抖动、性能不可预测乃至性能降低的现象。基于片上多核中并发执行的程序之间存在相互干扰,因此片上多核中的L2Cache的划分方式显得尤为重要。 本文提出了基于路适应算法的片上多核处理器低功耗的一种新的动态划分机制,该机制主要由路分配模块和动态功耗控制模块组成。路分配模块在程序运行过程中根据处理器核所运行线程的工作集的大小调整处理器核所分配的Cache路。动态功耗控制模块利用程序运行的局部性原理,将处理器核所运行线程的工作空间控制在少数Cache路。关闭剩余的Cache路,从而达到降低Cache功耗的目的。本文使用基于Simics全系统模拟平台模拟多核处理器,并使用SpecOMP测试集测试系统的性能和功耗,与传统的Cache(Conventional L2Cache,C-L2)相比IPC提高了9.27%,功耗降低了10.95%。