摘要

在多级流水架构中,当跳转指令进入译码阶段,跳转地址在译码阶段结束后才能获得,下一条指令在取指阶段并不能及时获得跳转地址,引发控制冒险。针对现有分支预测方法处理控制冒险问题时所需硬件资源较多的情况,提出一种简洁的微架构设计方案。微架构首先以管道重组的方式,将所有包含PC的指令前推到译码阶段完成执行。再通过增加寄存器文件写回端口和优化写回逻辑的方式,解决此类指令前推所带来的写回值错乱问题。同时以停顿的方式处理此类指令存在的数据冒险。最后实验表明,微架构能够解决所有控制冒险问题,特别对于无数据相关性的控制冒险问题更是做到零停顿地解决,在硬件资源消耗上低于现有文献提供的同类架构。