论文部分内容阅读
近年来,随着集成电路工艺的不断发展,处理器与主存之间的速度差距日益增大;同时,随着超标量流水线、乱序发射执行等先进技术的引入,处理器的计算能力得到了大幅度的提升,从而对存储子系统提供与保存操作数的速度提出了更高的需求;此外,多核缓存一致性(Cache Coherence)等问题也使得访存行为和访存机制愈发复杂,这也进一步提升了对访存性能的需求。访存效率问题已成为现代处理器性能的瓶颈所在,作为处理器中访存指令的执行单元,Load/Store执行部件(Load/Store Unit,LSU)的设计对访存指令的执行效率乃至处理器的整体性能至关重要。 本文针对上述问题,基于北京大学微处理器研究开发中心正在研发的UniCore-3超标量多核微处理器,通过对商业微处理器的调研及对LSU设计要素的分析,设计并实现了UniCore-3处理器中的LSU部件,并对其进行了性能评测和优化。主要内容包括: 1.分析了访存指令的执行顺序、Cache命中时访存指令的执行时间、失效损失、多核缓存一致性等LSU设计的关键要素,涉及访存指令的调度、执行、多核支持等多个方面。每个要素都结合商业处理器的设计对常见的设计技术进行了分析和探讨,并结合UniCore-3的设计需求,确定了LSU在各个要素上的设计取舍,进而形成了UniCore-3 LSU设计规范。 2.以UniCore-3 LSU设计规范为基础,分析LSU各设计特性的具体实现方式,包括访存流水线、非阻塞访存、多核支持等多个方面。在此基础上,整理并总结出了LSU整体的模块结构及子模块的具体功能,进而得到了UniCore-3 LSU的完整RTL设计。 3.从流水线阻塞情况、与下一级存储的交互情况、与UniCore-2访存单元之间的性能对比等多个方面,对UniCore-3 LSU进行了性能评测,检验了所完成的RTL设计及所采用的设计技术的有效性,并对评测巾发现的设计问题进行了优化改进。