论文部分内容阅读
L2Cache(Level-2Cache,二级高速缓存)是计算机体系结构中连接L1Cache(Level-1Cache,一级高速缓存)和主存的缓存单元,负责实现L1Cache与主存的数据缓存及传输功能,是计算机系统的重要组成部分。随着多核技术的不断发展以及集成电路技术的提高,新的L2Cache的功能也日渐增强,不仅有基本的数据缓存及传输功能,还需要支持多核共享和非阻塞访存。本文着重介绍了面向北大众志UniCore-3微处理器的多核共享L2Cache。 本文在调研并分析了已有部分主流处理器L2Cache的功能特点和结构特性的基础上,结合UniCore-3微处理器的研发需求和多核处理器的特点,制定了面向UniCore-3微处理器的L2Cache设计规范。主要功能特点包括支持多核共享;支持非阻塞访存:采用AMBA(AdvancedMicrocontrollerBusArchitecture,高级微控制器总线架构)3.0AXI(AdvancedExtensibleInterface,高级可扩展接口)协议作为地址和数据总线端口的协议;支持WriteBack(写回)和WriteThrough(写穿透)两种写策略;采用PLRU(Pseudo-LRU,LRU是LeastRecentlyUsed的缩写,意为最近最少使用,Pseudo-LRU意为伪LRU)替换算法;支持ECC(ErrorCheckingandCorrecting,错误检查与纠正)校验功能;支持事件监测功能等。 在多核共享L2Cache的设计实现过程中,本文充分考虑了UniCore-3微处理器以及将来应用发展的需求,从多个方面对L2Cache的结构、性能等方面进行了处理。主要包括支持多核共享,为了支持非阻塞访存特性而增加的MissBuffer(失效缓冲器)和WriteBackBuffer(写回缓冲器),基于访存特性考虑的PLRU替换算法以提高L2Cache的访存性能等。 在L2Cache的验证方面,本文采取了多层次的验证方法,包括基于 VMM(VerificationMethodologyManual)环境的模块级模拟验证,系统级的汇编模拟验证等。验证过程中采用了多种验证手段,在保证设计的正确性和项目时间控制方面取得了较好的折衷。