论文部分内容阅读
访存性能一直是现代处理器中的性能瓶颈。访存部件(Load Store Unit,LSU)是超标量处理器中专门用于处理与访存相关一类指令执行的功能部件。由于访存指令的执行效率直接影响到存储系统的性能,从而影响到整个处理器的性能,所以对于LSU的设计工作来说,其设计难点是在保证模块功能正确性的基础上,需尽量提升访存指令的执行效率。同时,在多核超标量处理器中,LSU还需处理缓存(Cache)一致性问题。此外,在设计完成后,如何高效、全面的对LSU进行验证,也是整个ISU开发过程中的难点之一。
本文旨在针对上述问题,通过分析与调研,以北大众志UniCore-3多核超标量处理器为平台,设计并实现了一款LSU,并采用基于VMM(Verification Methodology Manual)验证方法学对其进行了模块级验证。主要内容包括:
1.完成LSU在设计过程中若干关键技术问题的分析与调研。具体包括对指令的流水执行、读指令(Load指令)的优先执行、非阻塞访存和对多核结构的支持等技术的分析,并在此基础上,调研lO款可参考的商业处理器,总结这些参考处理器中LSU关键的设计特性,并分析这些特性对UniCom-3 LSU设计的指导意义。
2.完成UniCore-3 LSU模块设计工作。包括对LSU的模块划分,子模块功能、接口以及时序定义,子模块状态机和数据通路设计等工作,使其能够在单核和多核情况下均能正确、高效地执行各种访存指令与操作。
3.采用Synopsys公司提供的基于System Verilog的VMM验证方法学,搭建了UniCore-3 LSU模块级验证平台,并基于该平台完成了LSU的模块级定向验证工作。到本文定稿时,在该验证平台上共编写1072个测试向量,发现51个Bug,整个LSU代码行覆盖率达到了97.73%。