【技术实现步骤摘要】
用于支持推测的访客返回地址栈仿真的方法和装置本专利技术专利申请是国际申请号为PCT/US2014/026252,国际申请日为2014年3月13日,进入中国国家阶段的申请号为201480021703.0,名称为“用于支持推测的访客返回地址栈仿真的方法和装置”的专利技术专利申请的分案申请。
根据本专利技术的实施例一般地涉及微处理器体系架构,并且更具体地,涉及用于乱序(OOO)微处理器的仿真体系架构。
技术介绍
很多类型的数字计算机系统利用代码变换/转译或仿真来实现基于软件的功能。通常,转译和仿真两者都涉及对软件程序指令进行检查并且实施由软件指令指定的功能和动作,即使指令对于计算机系统并非是“本地”(native)的。例如,在仿真体系架构中,非本地的(或访客)指令可以映射为本地指令的形式,其被设计为在计算机的硬件上执行。如关于2012年1月27日提交的名为“GUESTINSTRUCTIONTONATIVEINSTRUCTIONRANGEBASEDMAPPINGUSINGACONERSIONLOOKASIDEBUFFEROFAPROCESSOR”的、律师案号为SMII-0030的、MohammadAbdallah的美国专利申请No.13/359,767(以下称为“申请No.13/359,767”)详细描述的,访客指令块在仿真体系架构中被转换或者映射为本地转换块。如申请No.13/359,767中所述,仿真体系架构中的访客指令可以来自若干不同的访客指令体系架构(例如,Java,x86,MIPS等)并且多个访客指令块可以被转换为一个或多个对应的本地转换块。该转换在每指 ...
【技术保护点】
1.一种用于推测性地维护乱序微处理器管线中的访客返回地址栈的微处理器实现的方法,所述方法包括:响应于函数调用,将当前条目入栈到访客返回地址栈GRAS中,其中所述访客返回地址栈GRAS在所述管线的取回段处维护,并且其中所述当前条目包括关于与所述函数调用相关联的访客目标返回地址和对应的本地目标返回地址两者的信息;响应于处理返回指令,将所述当前条目从所述访客返回地址栈GRAS出栈;将所述当前条目与从返回地址栈RAS出栈的条目进行比较以验证所述当前条目,其中所述返回地址栈RAS在所述管线的相对于所述管线的所述取回段的较后的段处维护;以及基于所述比较的结果取回指令。
【技术特征摘要】
2013.03.15 US 61/793,1741.一种用于推测性地维护乱序微处理器管线中的访客返回地址栈的微处理器实现的方法,所述方法包括:响应于函数调用,将当前条目入栈到访客返回地址栈GRAS中,其中所述访客返回地址栈GRAS在所述管线的取回段处维护,并且其中所述当前条目包括关于与所述函数调用相关联的访客目标返回地址和对应的本地目标返回地址两者的信息;响应于处理返回指令,将所述当前条目从所述访客返回地址栈GRAS出栈;将所述当前条目与从返回地址栈RAS出栈的条目进行比较以验证所述当前条目,其中所述返回地址栈RAS在所述管线的相对于所述管线的所述取回段的较后的段处维护;以及基于所述比较的结果取回指令。2.根据权利要求1所述的方法,其中如果所述比较的结果是匹配,则所述取回从自所述访客返回地址栈GRAS出栈的所述当前条目的所述本地目标返回地址取回指令,并且其中如果所述比较的结果是不匹配,则所述取回从自所述返回地址栈RAS出栈的所述条目的本地目标返回地址取回指令。3.根据权利要求1所述的方法,其中所述当前条目依附于所述返回指令并且与所述返回指令一起通过所述管线发送到所述管线的所述较后的段。4.根据权利要求1所述的方法,其中所述访客返回地址栈GRAS是硬件栈并且所述返回地址栈RAS是软件栈。5.根据权利要求1所述的方法,其中所述访客返回地址栈GRAS是循环缓冲器,并且其中所述循环缓冲器维护:全局下一指针值,其中所述全局下一指针值指示所述访客返回地址栈GRAS中下一个可用条目的位置;以及用于所述访客返回地址栈GRAS中的每个条目的先前指针值,其中所述先前指针值指向所述访客返回地址栈GRAS中的在前条目。6.根据权利要求5所述的方法,其中所述入栈进一步包括:增量全局栈顶TOS值,其中所述全局栈顶值指示所述访客返回地址栈GRAS的栈顶位置;增量所述全局下一指针值以指向所述访客返回地址栈GRAS中的下一个可用条目;以及在所述入栈之前用栈顶TOS值更新用于所述当前条目的先前指针。7.根据权利要求6所述的方法,其中所述出栈进一步包括:减量所述全局栈顶TOS值;以及在所述出栈之前用栈顶TOS值更新用于所述当前条目的先前指针。8.一种配置为实施用于推测性地维护乱序微处理器管线中的访客返回地址栈的方法的处理器单元,所述方法包括:响应于函数调用,将当前条目入栈到访客返回地址栈GRAS中,其中所述访客返回地址栈GRAS在所述管线的取回段处维护,并且其中所述当前条目包括关于与所述函数调用相关联的访客目标返回地址和对应的本地目标返回地址两者的信息;响应于处理返回指令,将所述当前条目从所述访客返回地址栈GRAS出栈;将所述当前条目与从返回地址栈RAS出栈的条目进行比较以验证所述当前条目,其中所述返回地址栈RAS在所述管线的相对于所述管线的所述取回段的较后的段处维护;以及基于所述比较的结果取回指令。9.根据权利要求8所述的处理器单元,其中如果所述比较的结果是匹配,则所述取回从自所述访客返回地址栈GRAS出栈的所述当前条目的所述本地目标返回地址取回指令,并且其中如果所述比较的结果是不匹配,则所述取回从自所述返回地址栈RAS出栈的所述条目的本地目标返回地址取回指令。10.根据权利要求8所述的处理器单元,其中所述当前条目依附于所述返回指令并且与所述返回指令一起通过所述管线发送到所述管线的所述较后的段。11.根据权利要求8所述的处理器单元,其中所述访客返回地址栈GRAS是硬件栈并且所述返回地址栈RAS是软件...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。