论文部分内容阅读
处理器性能一直是处理器设计的主要目标。如何充分开发和利用指令间的并行是提升单核处理器性能的关键。超标量技术是现代处理器设计中广泛使用的技术,它通过多发射、动态调度等技术开发指令间的并行。指令动态调度技术属于指令调度技术的一种,不同于静态调度,其利用运行时的动态信息来帮助发现可并发成分。动态调度技术通过寄存器重命名、乱序发射等多种机制发现可并行的指令并让其更早地得到执行,从而达到提升处理器性能的目的。 本文基于北京大学微处理器研发中心正在研发的UniCore-3处理器,通过调研和分析,设计实现UniCore-3处理器的指令动态调度机制,并完成功能验证。在此基础上,通过性能评测分析瓶颈并进行优化。本文完成的主要工作如下: 1.调研超标量处理器设计技术及指令调度相关技术。分析超标量处理器中的指令序关系。以寄存器堆的组织形式和重命名映射表结构的选择两个维度描述重命名机制的设计空间。比较了数据捕获及非数据捕获两种指令调度窗口。调研分析主流处理器相关功能的设计实现。根据UniCore-3处理器的需求分析确定实现方案及各结构规格; 2.根据需求分析,确定实现使用混合式寄存器堆,随机访问存储结构重命名映射表的重命名机制,以及使用转移发射队列、通用发射队列和浮点发射队列和保留站结合的两级数据捕获指令调度窗口。完成硬件描述编码,从模块级及汇编级两个层次完成对设计的功能验证,编写或生成测试向量131510个,各模块的功能覆盖率达到100%,同时代码的各项覆盖率也都达到100%; 3.基于现场可编程门阵列原型(FPGA)环境,利用Dhrystone程序及SPECCPU2000测试集展开对指令动态调度机制的性能评测,分析影响性能的瓶颈,提出两个性能优化方案,分别编码实现并通过回归测试。在优化方案上的性能评测证明提出的优化方案对处理器性能有2%左右的提高。