发明名称 管理重命名寄存器的寄存器重命名系统和方法
摘要 本发明涉及管理重命名寄存器的寄存器重命名系统和方法。具体地,本发明提供了一种采用多个重命名寄存器队列管理重命名寄存器的寄存器重命名系统,所述系统包括:物理寄存器组;寄存器别名表RAT;体系结构寄存器映射表ARMT;重命名寄存器队列选择指针;译码器;逻辑寄存器重命名装置;RAT修改装置和重命名寄存器队列更新装置。此外,本发明还提供了一种采用多个重命名寄存器队列管理重命名寄存器的方法。根据本发明的技术方案,可以在同一周期内同时进行多个寄存器重命名操作,实现方法简单,时间开销小,适用于有较高发射宽度的超标量微处理器。
申请公布号 CN102566976B 申请公布日期 2014.10.15
申请号 CN201010607221.7 申请日期 2010.12.27
申请人 北京国睿中数科技股份有限公司 发明人 杨思博
分类号 G06F9/38(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 中国专利代理(香港)有限公司 72001 代理人 王小衡;卢江
主权项 一种采用多个重命名寄存器队列管理重命名寄存器的寄存器重命名系统,所述系统包括:物理寄存器组,包括在微处理器运行时被动态地映射为用于保存已提交的指令的结果的体系结构寄存器和用于保存提交前指令结果的重命名寄存器,所述重命名寄存器被分成所述多个重命名寄存器队列,每个重命名寄存器队列包括多项,每项又包括寄存器空闲/使用标识、物理寄存器地址和使用这个物理寄存器的指令所在的基本块编号;寄存器别名表RAT,所述RAT保存最新的逻辑寄存器与物理寄存器之间的映射关系,准备进行重命名的指令的源操作数寄存器以寄存器别名表的内容作为重命名的依据;体系结构寄存器映射表ARMT,指示在当前状态下哪些物理寄存器是被当作体系结构寄存器使用,也即保存已经被确认的逻辑寄存器与物理寄存器的映射关系;重命名寄存器队列选择指针,用于指示当前被用于重命名操作的物理寄存器来自所述多个重命名寄存器队列中的哪个重命名寄存器队列;译码器,用于提供需要进行重命名操作的一个或多个逻辑寄存器地址;寄存器重命名装置,用于对所述一个或多个逻辑寄存器进行重命名操作;RAT修改装置,用于根据重命名操作的结果修改RAT;重命名寄存器队列更新装置,用于对重命名寄存器队列进行更新操作,以及体系结构寄存器映射表ARMT更新指针,用于对体系结构寄存器映射表ARMT进行更新操作;其中所述寄存器重命名装置通过以下操作对所述一个或多个逻辑寄存器进行重命名操作:(i)并行查找所述多个重命名寄存器队列,从每个队列找出一个空闲的物理寄存器的物理寄存器地址;(ii)根据重命名寄存器队列选择指针,将从该指针所指定的重命名寄存器队列中查到的空闲物理寄存器地址赋给需要做重命名操作的第一个逻辑寄存器;(iii)将用于重命名的物理寄存器的空闲/使用标识设为使用,以及(iv)将用于重命名的物理寄存器在重命名寄存器队列中的基本块编号设为等于使用这个物理寄存器的指令所属的基本块编号,(v)如果有多个逻辑寄存器需要进行重命名操作,则将寄存器队列选择指针加1,并重复步骤(i)‑(iv)的操作;其中所述重命名寄存器队列更新装置通过以下步骤对重命名寄存器队列进行更新操作:(a)根据重排序缓冲器ROB要提交的指令的目标寄存器逻辑地址在体系结构寄存器映射表ARMT中查找到的与该目标寄存器逻辑地址对应的物理寄存器地址;(b)根据重排序缓冲器ROB要提交的指令的目标寄存器物理地址在各个重命名寄存器队列中查找到保存这个目标寄存器物理地址的项;(c)将重命名寄存器队列中保存所述目标寄存器物理地址的项的物理寄存器地址改为从体系结构寄存器映射表ARMT中查到的物理寄存器地址;(d)将重命名寄存器队列中保存所述目标寄存器物理地址的项的空闲/使用标识改为空闲,以及(e)如果重命名寄存器队列中有多个项需要更新,则重复步骤(a)‑(d)的操作;其中所述体系结构寄存器映射表ARMT更新指针通过将在体系结构寄存器映射表ARMT中查找到的与根据重排序缓冲器ROB要提交的所述指令的目标寄存器逻辑地址所对应的物理寄存器地址替换为重排序缓冲器ROB要提交的指令的目标寄存器物理地址来完成对ARMT的更新操作。
地址 100088 北京市海淀区北太平庄路18号城建大厦A座8层