论文部分内容阅读
如何有效解决主存性能与微处理器性能之间不断增大的差距带来的“存储墙问题”,是微处理器发展中不断探索的问题。通过设置高速缓存(Cache),采用层次化的存储结构是现代微处理器普遍采用的技术之一。虚实地址转换一般处于Cache访问的关键路径上。现代微处理器都会采用内存管理单元(Memory Management Unit)硬件实现页式存储管理,采用旁路转换缓冲(Translation Lookaside Buffer)来提高虚实地址代换的速度;因此,内存管理单元的优化设计对微处理器整体性能的提高具有至关重要的作用。随着应用程序规模越来越大,微处理器需要的页表空间也随之增大。多级页表的使用有效缓解了页表空间问题,但同时也增加了未命中TLB时的处理开销,该开销会占用大量的处理器运行时间,降低处理器性能。分析影响性能因素,通过选择合适的参数,并根据不同微处理器的微结构选择合适的内存管理单元缓冲(MMU Cache),是能减少TLB未命中硬件处理开销的有效办法。因此,设计合理的内存管理单元缓冲对微处理器也是必不可少的。本论文以申威处理器新一代服务器处理器为研究对象,设计合适的页表结构缓冲,结合该页表结构缓冲优化设计MMU的管理,同时提出并实现一种采用基于状态机控制的硬件自动查询页表并主动装填TLB的方法。本论文先通过对内存管理单元和MMU Cache的结构、工作原理和性能影响因素等方面的深入研究,重点分析其各项参数对设计的影响;通过对应用环境、成本和功耗等因素的考虑,使用模拟器进行实验测试,根据数据分析确定页表结构缓冲的设计参数,确定页表结构缓冲和MMU的优化方法和电路设计;通过RTL代码的具体实现,然后进行RTL级功能仿真验证设计模块的正确性和初步的性能评估;最后通过硬件开销评估确定设计在芯片实现的可行性。根据实验结果表明,本文采用两级页表结构缓冲,分别采用4条目PGDCache和32条目PMD Cache,采用LRU替换算法,实现了 97.55%和99.53%的较高命中率和较小的硬件开销。通过仿真验证证明了该电路设计的功能正确性和可行性,相比上一代申威处理器性能上有所提升。