论文部分内容阅读
随着集成电路的发展和电子产品的日新月异,微处理器的性能要求在不断的提升。当前单核微处理器体系结构研究主要通过挖掘指令间的并行度来提高微处理器的性能。流水线、乱序多发射、动态指令调度等先进技术的发展使得处理器指令级并行程度越来越高,取指阶段必须提供足够的指令,才能保证后续流水级的指令并行处理能力得到充分的发挥。取指部件位于流水线的最前端,其取指带宽成为流水线指令执行带宽的上限,因此前端取指部件的设计和实现是一个重要的课题。 本文基于北京大学微处理器研发中心正在研发的UniCore-3超标量处理器,完成了其前端取指部件的设计与实现,并就其对处理器的性能影响进行了性能评测与结构优化。主要工作包括: 1.调研了主流处理器中前端取指部件的组成结构以及关键组成部件ICache和转移预测单元的研究现状。结合UniCore-3处理器的设计目标,将前端取指部件划分为ICache和取指单元两个组成部分,取指单元中包含实现G-share方向预测器和BTB、RAS结构的转移预测单元。 2.完成了前端取指部件的总体结构设计,然后分别对取指单元和ICache进行了详细的功能设计和低功耗设计。根据设计方案完成了RTL代码实现,对代码进行了时序评估和关键路径调整,使代码满足1G Hz的频率要求。 3.完成前端取指部件的功能验证。对取指单元和ICache分别制定了模块级功能覆盖大纲,编写定向测试文件在模块级验证平台完成了模块级验证,修正代码错误25个。从指令访存和分支指令带来的控制相关两个方面制定了汇编验证大纲,构造汇编场景在模拟环境和FPGA原型验证环境中完成了汇编验证,修正代码错误16个。 4.对前端取指部件的取指带宽以及影响取指带宽的三类因素在FPGA原型环境中进行了数据评测。根据评测结果提出并实现了针对转移预测单元的优化方案,将前端取指部件的取指带宽提升了4%。 根据性能评测结果,前端取指部件达到了为流水线提供充足指令的设计目标,未来工作将主要集中于前端取指部件低功耗机制的性能评估。