[发明专利]在分支预测失败时使用ROB恢复RAT内容的系统和方法有效
申请号: | 201010607215.1 | 申请日: | 2010-12-27 |
公开(公告)号: | CN102567137A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 杨思博 | 申请(专利权)人: | 北京国睿中数科技股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 王小衡;卢江 |
地址: | 100088 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分支 预测 失败 使用 rob 恢复 rat 内容 系统 方法 | ||
技术领域
本发明涉及微处理器体系结构技术领域,特别涉及一种在分支预测失败时使用重排序缓冲器(ReOrder Buffer, 简称为ROB)恢复寄存器别名表(Register Alias Table,简称为RAT)内容的系统。
背景技术
现代的微处理器体系结构,大多采用了超标量(Super Scale)技术,通过在一个周期同时执行多条指令的方法来提高程序执行性能。要想在一个周期内能执行多条指令,就需要解决指令间的相关性问题。指令的相关性分为控制相关和数据相关。其中数据相关又分为写后读(RAW)相关(又称真数据相关),读后写(WAR)相关(又称伪相关)和写后写(WAW)相关(又称结构相关)三种。寄存器重命名(Register Renaming)技术通过将同一个逻辑寄存器映射到多个物理寄存器的方式,解决了程序运行中的读后写(WAR)和写写(WAW)数据相关,大大提高了指令的并行性。
一般来说,为逻辑寄存器分配用于重命名的物理寄存器是通过寄存器别名表RAT(Register Alias Table)来实现。RAT中保留了当前时刻逻辑寄存器和物理寄存器的最新映射关系,RAT用逻辑寄存器地址来寻址,它存储的数据(即,RAT表项的内容)是逻辑寄存器对应的物理寄存器地址。就是说,在微处理器运行的任意时刻,都有一个逻辑寄存器到物理寄存器的映射关系,而RAT就是保存这个映射关系的模块。通过使用逻辑寄存器地址查找RAT就可以知道当前是哪个物理寄存器代表这个逻辑寄存器,使用这个逻辑寄存器为源操作数的指令就要从这个物理寄存器中读取数据;而使用这个逻辑寄存器为目标操作数的指令会获得一个空闲的物理寄存器用来保存这个目标操作数,同时要修改这个逻辑寄存器在RAT中的对应表项,将它对应的物理寄存器地址改为该指令获得的空闲物理寄存器地址,在该指令之后的指令如果要读取这个逻辑寄存器,就会从修改后的物理寄存器地址中读取。
为了保证微处理器可以进行精确的异常返回,采用乱序执行技术的微处理器使用重排序缓冲器ROB(ReOrder Buffer)按照指令执行的顺序保存正在执行的指令的信息,并对执行完成的指令按照指令执行的顺序进行提交。所谓的提交是表示确认指令和该指令之前的指令都已经执行完成,乱序执行的微处理器与顺序执行的编程模型的执行结果在提交阶段达成了一致。重排序缓冲器ROB是用于乱序执行后恢复指令原来顺序的一种硬件结构,以达到指令结果顺序提交的目的。可以把重排序缓冲器看作是一个包含头指针和尾指针的堆栈FIFO。每条指令进入流水线的时候,按照程序的最先顺序都在重排序缓冲器中依次占据了一列条目,等指令执行完毕,按照先入先出的顺序依次提交指令。当发生中断或者异常行为时,也能恢复原来的执行顺序。
寄存器重命名有两种主要的实现方式,一种是把物理寄存器分为体系结构寄存器和重命名寄存器两种。其中体系结构寄存器与逻辑寄存器是一一对应的,表示的是指令提交后逻辑寄存器的状态;重命名寄存器与逻辑寄存器可以是多对一的映射关系,在指令提交前临时保存指令的执行结果。指令的目标逻辑寄存器在寄存器重命名时被分配一个重命名寄存器,而执行完成后目标操作数会被从重命名寄存器中写回到体系结构寄存器中,而重命名寄存器会被释放。在这种方式下,每个逻辑寄存器和它所对应的RAT表项虽然可以对应多个重命名寄存器,但是只有一个体系结构寄存器与它对应,当微处理器复位时,各个RAT表项的内容就被复位成与其对应的体系结构寄存器的地址。另一种实现方式是不将物理寄存器固定地划分为体系结构寄存器和重命名寄存器,而在RAT之外再加入一个体系结构寄存器映射表保存物理寄存器与体系结构寄存器的映射关系。指令在寄存器重命名时被分配一个空闲的物理寄存器用来保存目标操作数,而在提交时这个物理寄存器地址会被写入体系结构寄存器映射表而被确认为体系结构寄存器。被认为是体系结构寄存器的物理寄存器不能用于寄存器重命名直到它被别的物理寄存器替换出体系结构寄存器映射表,此时该物理寄存器又成了一个空闲的重命名寄存器。在这种方式下,每个逻辑寄存器在微处理器运行时可以和任何一个物理寄存器建立对应关系,但是每个逻辑寄存器还是有一个对应的物理寄存器作为它的默认体系结构寄存器,当微处理器复位时,各个RAT表项的内容就被复位成与逻辑寄存器相对应的默认体系结构寄存器的地址。
这两种实现方式下文还会提到,为了表述简化,把上述第一种方式称为重命名实现方式A,而把上述第2种方式称为重命名实现方式B。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国睿中数科技股份有限公司,未经北京国睿中数科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010607215.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于FPGA的CT图像重建硬件加速方法
- 下一篇:一种光扩散膜及其制备方法