• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 13
    • 下载费用:30 金币  

    重庆时时彩输死无数人: 在微处理器中访问和管理代码翻译.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201310116845.2

    申请日:

    2013.04.07

    公开号:

    CN103377066A

    公开日:

    2013.10.30

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/45申请日:20130407|||公开
    IPC分类号: G06F9/45 主分类号: G06F9/45
    申请人: 辉达公司
    发明人: 纳瑟·塔克; 罗斯·泽格尔肯
    地址: 美国加利福尼亚州
    优先权: 2012.04.11 US 13/444,673
    专利代理机构: 北京市磐华律师事务所 11336 代理人: 徐丁峰;魏宁
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310116845.2

    授权公告号:

    ||||||

    法律状态公告日:

    2017.04.12|||2013.11.27|||2013.10.30

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    在一个实施例中,微处理系统包括配置在处理器内核上的硬件结构。硬件结构包括多个条目,其中的每一个与代码的部分和可经执行以达到大体相当功能性的该代码的翻译相关联。硬件结构包括重定向阵列,其在被引用时使执行能够从代码的部分被重定向到其对应的翻译?;谟糜谑鼓苷庋闹囟ㄏ虻奶跄康氖褂眯畔?,在硬件结构内维持或从硬件结构中逐出条目。

    权利要求书

    权利要求书
    1.  一种包括微处理器和相关联的存储器系统的微处理系统,包括:
    所述微处理器的内核上的硬件结构;
    所述硬件结构中的多个条目,每个条目与相应代码部分的翻译相关联,所述翻译代替所述相应代码部分由所述微处理器可执行以达到大体相当的功能性;
    所述硬件结构中的重定向阵列,其针对每个条目包括可用来使得执行从所述相应代码部分重定向到用于该相应代码部分的所述翻译的重定向信息;以及
    所述硬件结构中的访问阵列,其包括响应于正用来重定向执行的所述条目而变化的使用信息,其中基于用于特定条目的所述使用信息在所述硬件结构内维持或从所述硬件结构中逐出那些条目。

    2.  根据权利要求1所述的微处理系统,进一步包括管理软件,其反复地取样所述访问阵列中的值并且基于特定条目用来重定向执行到翻译的频繁度来控制在所述硬件结构内维持或从所述硬件结构中逐出那些条目。

    3.  根据权利要求1所述的微处理系统,进一步包括管理软件,其反复地取样所述访问阵列中的值并且基于特定条目用来重定向执行到翻译的近期度来控制在所述硬件结构内维持或从所述硬件结构中逐出那些条目。

    4.  根据权利要求1所述的微处理系统,进一步包括管理软件,其反复地取样所述访问阵列中的值并且基于特定条目用来重定向执行到翻译的频繁度和近期度来控制在所述硬件结构内维持或从所述硬件结构中逐出那些条目。

    5.  根据权利要求1所述的微处理系统,进一步包括所述微处理器的所述内核上的硬件解码器,其中如果所选择的代码部分在所述硬件结构中不具有条目,那么由所述微处理器使用所述硬件解码器来执行该所选择的代码部分,以及其中如果所述所选择的代码部分在所述硬件结构中具有条目,那么由所述微处理器执行其相应的翻译而不使用所述硬件解码器。

    6.  根据权利要求1所述的微处理系统,其中所述访问阵列中的所述使用信息针对每个条目包括访问位,所述访问位是所述条目是否已用来重定向执行到翻译的二进制指示。

    7.  根据权利要求6所述的微处理系统,其中所述微处理系统可操作以 (1)当所述访问位的相应条目用来重定向执行到翻译时在所述访问阵列中设置所述访问位;以及(2)在已设置所述访问位的时间之间清除所述访问位。

    8.  根据权利要求7所述的微处理系统,进一步包括管理软件,其反复地取样和清除所述访问位以生成随时间推移的访问位值的历史,所述管理软件进一步可操作以基于与所选择的条目相关联的所述访问位的所述历史来控制在所述硬件结构内维持或从所述硬件结构中逐出该条目。

    9.  根据权利要求8所述的微处理系统,其中所述管理软件可操作以按照所述访问位的所述历史中所反映的,基于所述所选择的条目用来重定向执行到所述相关联的翻译的近期度和频繁度中的一个或多个,来控制在所述硬件结构内维持或从所述硬件结构中逐出所述条目。

    10.  根据权利要求1所述的微处理系统,其中所述访问阵列中的所述使用信息针对每个条目包括对所述条目已多少次用来重定向执行到翻译的计数。

    说明书

    说明书在微处理器中访问和管理代码翻译
    背景技术
    现代微处理器采用多种策略来改进处理和执行。一类改进包括翻译给定指令集架构(ISA)的指令。当由微处理器所执行时,ISA代码的经翻译版本可相对于未经翻译的ISA指令提供各种性能益处。在一些情况下,具有翻译的系统由于其提供访问经翻译代码的处理管线而是低效率的。例如,一些系统可能保持在其中有价值的、频繁执行的翻译比提供较少益处的翻译相对更难以访问的状态中。
    附图说明
    图1示出了根据本公开的实施例的微处理系统。
    图2示意性地描绘了微处理系统,其具有核上(on-core)硬件结构以及促进重定向从代码部分至达到大体相当的功能性的该代码部分相应翻译的执行的相关部件。该图进一步描绘了基于其使用来维持或逐出硬件结构中的重定向条目。
    图3示出了在处理管线中用于在翻译模式中或在硬件解码器模式中择一进行处理的方法的示范性过程流。
    图4示出了在处理管线中用于在翻译模式中或在硬件解码器模式中择一进行处理的方法的另一个示范性过程流。
    具体实施方式
    本公开提供了用于对检索和执行诸如目标ISA代码部分的相应代码部分的翻译进行高效管理的机制??捎啥品肫骼创χ梅氲闹悄苌杉捌溆呕?,该动态二进制翻译器可被包括作为在ISA和处理器内核之间提供接口的软件层的一部分。本公开进一步描述了多路复用的处理管线,其中微处理器使用核上硬件结构来高效检索和执行相应ISA代码的经翻译版本。本文也将硬件结构不同地称为“硬件重定向器”。
    当经由硬件重定向器而被访问时,翻译代替相应代码被执行并且提供 大体相当的功能性。一旦被检索到,则可在处理管线中执行这些翻译而不使用微处理器的硬件解码器。当本公开提到执行“不使用硬件解码器”时,该用语仍可包含当正在执行翻译时硬件解码器的较小或不重要的使用??商娲?,如果尚未创建翻译或翻译不可访问,则目标代码可被接收至硬件解码器中并由硬件解码器处理以生成本地于微处理器的执行逻辑/机制并且可由其执行的指令。本文将把所描述的不用硬件解码器执行翻译称为执行的“翻译模式”,对比于上述其中使用完整的硬件解码器功能性来将目标ISA指令解码为本地指令的“硬件解码器模式”。在许多情况下,绕过硬件解码器(即通过执行翻译)将改进执行速度、降低功耗以及提供各种其他益处。
    尽管本文描述了对“多路复用”处理管线的各种引用,但是应予以理解的是,该术语指的是配置为可替代地提供(例如多路复用)多个操作模式(例如翻译模式对比硬件解码器模式)的处理管线。因此,应予以进一步理解的是,管线可采用取代或补充多路复用逻辑的逻辑以提供本文所描述的特征。
    经过一段时间,频繁地和/或近期所请求的翻译由处理器内核上所提供的硬件重定向器加以索引并被包含至硬件重定向器中。硬件重定向器中的每个条目(entry)与翻译相关联,并且提供重定向信息,所述重定向信息使微处理器在针对所选择的代码部分的获取操作期间能够使得执行被重定向为远离该代码部分并到其相关联的翻译。如果代码部分具有硬件结构中的条目(“命中”),那么在翻译模式中(即不用硬件解码器)执行相关联的翻译。如果对硬件结构的引用“未命中”(即不存在针对代码部分的条目),那么在使用硬件解码器的硬件解码器模式中执行代码部分。
    经过一段时间,微处理系统可生成大量翻译。为了节省处理器裸片(die)面积以及提供快速查找,硬件重定向器的大小可能受限。因此所期望的是,用针对诸如更频繁和/或更近期所使用的翻译的最“有价值”的翻译提供重定向的条目对其加以填充?;痪浠八?,通常所期望的是,对硬件重定向器的引用具有尽可能高的命中率。
    为了最大化命中率以及对有价值的翻译提供高效和快速的访问,硬件重定向器包括与存在于结构中的条目相关联的使用信息。该使用信息响应于硬件结构中正用来重定向执行的条目而变化??赏ü诟檬褂眯畔⒋?硬件结构中逐出或维持条目来达到最大化命中率。
    取决于系统的整体设计,硬件重定向器上的未命中可能意味着(1)尚未针对特别代码部分生成翻译;或(2)已经生成翻译,但不可经由与硬件重定向器的互动而访问。场景(2)可导致例如翻译由于其比其他翻译更不经常使用和/或更少被最近使用而是“低可用性”的情况。在该示例中,以及如贯穿全文所描述的,动态地以及智能地控制硬件重定向器中的条目的填充以最大化硬件重定向器的命中率。
    图1示意性地描绘了微处理系统100,所述微处理系统100包括微处理器/内核102以及可结合本文所描述的系统和方法来加以采用的相关联的软件和存储器系统。特别地,可实现所描绘的系统以高效利用上文所描述的多路复用策略,并且将在下文中结合各种示例进一步对其加以描述。
    微处理器102在不同情况下包括和/或可与各种存储器和存储位置110通信,该存储器和存储位置110可包括处理器寄存器112、L1处理器高速缓存114、L2处理器高速缓存116、L3处理器高速缓存118、主存储器120(例如一个或多个DRAM芯片)、二级存储122(例如磁性和/或光学存储单元)和/或三级存储124(例如磁带群(tape farm))。这些位置的一些或全部可以是存储器映射的,尽管在一些实现方案中处理器寄存器可被不同于其他位置加以映射,或可实现为使得它们不是存储器映射的。虽然在许多情况下至少L1高速缓存将会在处理器内核上,但L1-L3高速缓存可以在或可以不在处理器裸片/内核上。应予以理解的是,上文以访问时间和容量递增的顺序列出存储器/存储部件,但可能存在例外。存储器控制器126可用来处置协议以及提供主存储器120所要求的信号接口,并且其通常用来调度存储器访问??稍诖砥髀闫匣蛟诜挚穆闫鲜迪执娲⑵骺刂破?。应予以理解的是,上文所阐述的位置是非限制性的并且可使用其他存储器/存储位置而不脱离本公开的范围。
    微处理器102配置为执行一般由本地于处理器的ISA所描述和定义的指令。在本说明书中,以两种不同的方式生成本地指令。第一种方式涉及接收目标ISA指令以及从那些目标ISA指令生成本地指令的硬件解码器。第二种方式是通常经由动态二进制翻译器(例如140处所示)生成目标ISA指令的经优化的本地翻译。这些翻译提供了大体相当的功能性,但其经优化并且无需硬件解码器而执行。
    无论特别的ISA如何,可采用所描述的多路复用机制来高效地检索和执行ISA代码部分或那些代码部分的相应翻译。微处理器102可配置为执行各种指令集架构,其可具有复杂指令集(CISC架构)、精简指令集(RISC架构)和/或VLIW架构的特性。此外,给定的指令集可具有与这些体制(regime)中的一个以上相关联的特性是可能的。另外,实际上可在微处理器102上以类RISC的方式执行一些被认为是CISC实现方案的指令集。例如,被广泛采用的x86架构,尽管被认为是CISC系统,但是仍经常以更与管线化的RISC实现方案相关联的方式所实现。此外,无论特别的ISA或其特性如何,本公开提供了高效利用ISA代码部分的翻译的方式。
    代码实例化为一系列处理器识别的指令(即ISA指令)可能必需编译操作系统、应用、驱动程序等等的代码以产生由微处理器102所执行的二进制代码。在编译或后处理操作期间,可采用VLIW类技术(例如在软件层中)以达成各种优化。在一些情况下,采用这些软件优化以便微处理器可以以程序顺序执行指令而无需存在于许多CISC和RISC执行管线中的复杂的冒险(hazard)检测和回避/缓解硬件。也就是说,在一些情况下,代替或补充VLIW技术,可采用软件和/或解码和执行硬件来实施动态优化和冒险回避。
    微处理器进一步包括处理管线,其通常包括获取逻辑128、解码逻辑130、执行逻辑132、mem逻辑134以及回写逻辑136?;袢÷呒?28从一个或多个位置110(但通常从由L2-L3高速缓存和主存储器所支持的统一或专用L1高速缓存)检索指令。
    解码逻辑130例如通过解析操作码、操作数以及寻址模式来解码指令。一旦经解析,指令就由执行逻辑132执行。如上文所述以及如下文将以更具体细节所描述的,处理器102可配置为当在翻译模式中时,经由执行逻辑132执行目标ISA指令的翻译,而不用首先利用诸如解码逻辑130的硬件解码器来解码这样的指令。
    对于产生初步结果的操作(例如与实施到执行程序中另一个位置的分支的那些操作相反),回写逻辑136将结果写到适当位置,诸如处理器寄存器。在加载/存储架构中,mem逻辑134实施加载和存储操作,诸如将操作数从主存储器加载到处理器寄存器中。
    应予以理解的是,上文的5个阶段某种程度上特定于并且被包括在典 型的RISC实现方案中。更一般地,微处理器可包括获取、解码以及执行逻辑,以及由执行逻辑所实行的mem和回写功能性。本公开同样适用于这些以及其他微处理器实现方案。
    在所描述的示例中,可一次一个地获取和执行指令,这可能要求多个时钟周期。在该时间期间,数据路径的大部分可能是未使用的。补充或取代单个的指令获取,可使用预取方法来改进性能以及避免与读取和存储操作(即指令的读取以及将这样的指令加载到处理器寄存器和/或执行队列中)相关联的延迟瓶颈。另外,示例性微处理器可管线化以开拓指令级并行性以及更好地利用数据路径,以便在执行的不同阶段中同时存在多个指令。更进一步地,获取逻辑128、解码逻辑130、执行逻辑132等等可单独地与多个逻辑阶段一起管线化以改进性能。
    存储位置110可包括在本地ISA指令执行期间可由微处理器102访问的安全/私有存储器分配。该存储器分配例如可用于软件层138(图1)的执行以及相关联数据的存储。对本论述特别相关的是已经从目标ISA代码的相应块所生成的翻译的库。这些翻译可在长度和其已优化所达到的程度方面加以变化。
    图2示出了用于经由处理管线202选择性地提供硬件解码器执行以及动态二进制翻译执行的系统200的实施例。处理管线以简化的形式示出,并且包括获取逻辑204、硬件解码器206以及执行逻辑208。系统200包括具有多个条目212的核上硬件重定向器210,所述条目中的每一个与相应代码部分的翻译相关联。在本示例中硬件重定向器包括N个条目,尽管应予以理解的是其可具有任何可行的大小。
    可执行由硬件重定向器所引用的每个翻译代替其相应的代码部分来达到大体相当的功能性。如前面所描述的,可经由基于软件的动态二进制翻译器(例如图1的动态二进制翻译器140)智能地生成所翻译的代码,并且可以以各种方式(例如使用寄存器重命名、环路变换、操作的重排序、指令和微操作的分组和合并等等)加以优化。这些是非限制性的示例—可以以多种其他方式实现代码翻译。
    硬件重定向器包括重定向阵列220,针对每个条目该重定向阵列220包括系统可用来将执行从所选择的代码部分重定向到其相应的翻译的重定向信息222。例如,这样的信息可在由获取逻辑204所实施的获取操作230 期间所使用。
    在所描绘的示例中,重定向信息实现为目标ISA代码部分的地址(232)与其相应翻译的地址(234)之间的地址映射。在获取操作期间,可在重定向阵列220上实施查找。如果正被获取的目标ISA地址存在于阵列中,那么获取操作使用翻译的地址继续进行。这使处理管线能够重定向到翻译,并且在执行逻辑中对其加以执行而不使用硬件解码器(即在执行的翻译模式中)??商娲?,如果用于目标ISA代码部分的地址不存在于阵列中,那么使用硬件解码器206在硬件解码器模式中执行代码部分。在使用地址映射的示例中,还可结合硬件重定向器中的条目来使用地址的散列形式。地址映射只是一个示例;本公开包含任何合适的用于使执行能够从翻译的相应代码部分被重定向到翻译的核上硬件机制。
    硬件重定向器210进一步包括访问阵列240,该访问阵列240包括响应于正用来将执行重定向到翻译的条目212而变化的使用信息。如下文以更多细节所描述的,所描绘的系统使用该使用信息来控制在硬件重定向器内维持或从硬件重定向器中逐出特定条目。使用信息可采用各种形式,尽管其在本示例中实现为每条目(per-entry)的访问位242。访问位是其在硬件重定向器中的相关联条目是否已用来将执行重定向到翻译的二进制指示。在其他示例中,使用信息可被编码以覆盖硬件重定向器中的多个条目,而不是针对单独的条目来编码信息。
    系统200进一步包括管理软件250,其与硬件重定向器以及使用历史数据结构252进行交互。此外,该交互的目的是动态地控制硬件重定向器中特定条目的填充。管理软件可反复地对访问阵列240中的使用信息进行取样,并且可使用那些样本来存储和分析与硬件重定向器中的条目相关的信息。实施分析以确定从硬件重定向器中逐出或维持特定条目。例如,这可基于那些条目已用来将执行重定向到翻译的近期度和/或频繁度而实施。
    关于所逐出的条目,除了当前活动的条目之外,通常将在使用历史数据结构252中保留历史信息。作为随后的分析(例如由所描绘的管理软件)的结果,所逐出的条目可在一些点重新插入到硬件重定向器中。
    实际上,图2示出了对用于不存在于硬件重定向器中的条目的历史信息的存储。历史数据结构252具有多于硬件重定向器的条目(N+X>N),其反映了典型的情况,其中系统已生成多于硬件重定向器中具有的槽的翻 译。翻译提供更快和/或更高效的操作,然而从大的查找结构中识别和检索给定的翻译可能抵消任何这样的益处。例如,在有大量翻译的情况下,使用目标指令指针来尝试查找和检索翻译可能相对缓慢。在硬件重定向器中从1到N和在结构252中从1到N+X进行编号不意图暗示任何顺序的或连续的排序。其仅仅指示可针对比硬件重定向器中具有的条目更大量的翻译来存储使用信息。
    现在返回使用访问位242的特定示例,无论何时使用特别条目来对执行进行重定向,均可设置用于该条目的访问位。在对其进行设置的时间之间,可由硬件或由管理软件250对位加以清除。在一个示例中,管理软件反复地取样和清除用于硬件定向器中的条目的位。这可以以规律的间隔发生,诸如每M个时钟周期(例如每1000个周期)或结合一些其他递归事件(例如计时器中断)。管理软件可随后创建随时间推移的访问位的值的历史并且将该历史存储在使用历史数据结构252中??伤婧笫褂枚嘀址椒ɡ捶治龈美芬栽黾佑布囟ㄏ蚱?10上的命中率。此外,由管理软件250所实施的分析将通常包括对条目已用来重定向执行的频繁度和/或近期度进行评估,其转而被用来控制在硬件重定向器中维持或从硬件重定向器中逐出特定条目。
    本文的系统可采用不同于访问位的使用信息。不论是编码在访问阵列240中还是以各种形式存储在使用历史数据结构252中,使用信息可包括对已使用了多少次条目来重定向执行的计数。例如,可在硬件重定向器210和/或使用历史数据结构中针对一个或多个条目采用计数器。使用信息可进一步包括条目何时已被用来重定向执行的时间的标识。
    在图2中,与处理管线202分开地描绘了管理软件。然而,该代码可在各个位置中执行和/或与图1和2中所描绘的各种部件相关联。在一个示例中,管理代码在处理管线202上运行,并且访问图2中所描绘的硬件重定向器以及使用历史数据结构。
    无论特别的配置如何,在硬件结构中提供重定向和使用信息可提供明显的益处。当处理器正沿着主执行路径获取代码时,对硬件重定向器的查询可发生在管线的前端。如果重定向替代地实现为软件结构,则需要调用子例程以实施查找而不是直接沿着主执行路径继续。硬件重定向器因此提供了用于对高值(high-value)翻译进行快速和容易的访问的机制。
    现在转到图3和4,图中示出了示范性方法和过程流,其中对重定向信息的硬件可访问的条目加以管理??衫萌魏魏鲜实娜砑?硬件来实现该方法,包括不同于在前述示例中所示出的那些的配置。然而在一些情况下,该过程流可引用已经被描述过的部件和过程。出于清楚和最小化重复的目的,可假定这些部件/过程与前面所描述的示例类似。
    图3描绘了在前面所描述的模式即硬件解码器模式或翻译模式中择一进行处理的示范性方法300。在302处,方法包括使用动态二进制翻译器或通过另一个合适的方法生成多个翻译。在304处,方法包括用多个所插入的条目来填充核上硬件结构。每个条目与步骤302处所生成的翻译之一相关联,并且包括使执行能够从未经翻译的代码部分被重定向到其经翻译的对应部分的重定向信息。如上文所论述的可采用地址映射,然而可采用其他方法来将执行重定向到翻译代替其相应的代码部分。
    在306处,方法包括将使用信息插入到硬件结构中。使用信息响应于正用来重定向执行的条目而变化。合适的使用信息的示例包括每条目的访问位;对条目被使用了多少次来重定向执行的计数;何时使用条目来重定向执行的时间的指示;等等。在一些示例中,从硬件结构中提取使用信息,并且存储在软件中以及经处理以控制304处所引用的条目的填充。
    实际上,在308处方法包括基于步骤306的不断变化的使用信息来从硬件结构中逐出或维持条目。如上文所描述的,这可包括基于条目用来重定向执行的频繁度和/或近期度而控制哪些条目存在于硬件结构中。
    在具有访问位的示例中,可反复地取样和清除那些位以生成随时间推移的访问位值的历史??伤婧蠓治龈美芬允凳┎街?08处所示出的维持/逐出。
    图3的流程图不意图暗示需要以特别的顺序来实施步骤,尽管在某些设定中可能期望特别的排序。一般而言,可以以不同于图中所示的那些的顺序来实施步骤,并且在许多情况下将并行地实施步骤。
    图4示出了用于在翻译模式或在硬件解码器模式中择一进行处理的另一个示范性方法400。该示范性方法具体包括使用如前面所描述的硬件重定向器中的访问位。在402处,方法400包括在硬件解码器模式中执行目标ISA指令。为了容易地在代码部分(即目标ISA部分和/或本地ISA部分)之间切换,可在分支指令处分离代码部分?;痪浠八?,第一代码部分 可在分支指令处结束以便分支指令的目标指向其他代码部分的开始。因此,402处的目标ISA指令的执行可继续直到到达这样的分支指令为止,并且随后继续到404??刹捎么攵蔚娜魏纹渌鲜实姆掷肜创娓檬纠械姆种?。
    在404处,方法包括评估是否在诸如图2的硬件重定向器210的硬件重定向器中发生命中。在一个示例中,可通过查找与分支目标相关联的地址来实现对硬件重定向器的查询。如果命中,方法400继续到406,在该处访问位与重定向条目相关联。
    在408处,方法包括执行相关联的翻译。翻译的执行继续直到:(1)到达本地分支410,在该点将执行另一个翻译,或(2)到达外部分支(即到目标ISA代码部分的分支),在该点处理返回404用于对硬件重定向器中的条目进一步查询。
    再次参考404,如果硬件重定向器中不存在与分支目标相对应的条目,那么可在412处记录未命中。未命中可与分支目标相关联以识别频繁未命中的目标或已未命中超过阈值次数的目标。具体地,在414处,方法400包括评估是否发生未命中触发条件??删扇魏问实钡?、使用补充或取代上文所提及的频率/阈值示例的多种不同标准的机制来确定这样的触发。步骤412和414可认为是跟踪硬件解码器的使用,因为分支目标未命中将导致硬件解码器模式执行。
    如果满足触发条件,那么如果存在翻译,则方法可包括在416处潜在地添加用于分支目标的条目到硬件重定向器中。在一个示例中,本地分支可随后用来继续到408处所示出的翻译模式执行。然而,如果翻译不存在,那么方法400可包括在418处潜在地生成翻译并且在硬件重定向器中添加用于该翻译的条目??商娲?,系统可记录翻译可能是所要求或所期望的,并且处理可返回到402处的硬件解码器模式执行而非立即创建翻译。
    就前面的流程图来说,应予以理解的是,可以以不同于图所暗示的顺序来实施许多情况下的各种步骤。例如,一旦在404处有未命中,通常硬件解码器模式执行就将立即开始,以便步骤412、414、416和418将随着未命中的分支目标的硬件解码器处理而并行地发生。
    在方法400中所描述的处理期间的任意点处,方法均可包括维持硬件重定向结构,如在420处所示。维持硬件重定向器可包括在422处读取访 问位以及在424处清除访问位。维持可进一步包括在426处基于使用信息更新硬件重定向器中的条目,如参考访问位的值所确定的。
    应予以理解的是,本文所描述的方法仅用于示例性的目的而被提供,并且不意图加以限制。因此,应予以理解的是,在一些实施例中本文所描述的方法可包括附加的或可替代的过程,而在一些实施例中本文所描述的方法可包括一些可被重排序或省略的过程而不脱离本公开的范围。进一步地,应予以理解的是,可使用包括本文所描述的特别示例的任何合适的软件和硬件来实施本文所描述的方法。
    本书面描述使用示例来公开包括最佳模式的本发明,并且还使相关领域的普通技术人员能够实践本发明,包括制造和使用任何设备或系统以及实施任何所包含的方法。本发明的可专利范围由权利要求所定义,并且可包括由本领域普通技术人员所理解的其他示例。这样的其他示例意图处于权利要求的范围内。

    关 键 词:
    微处理器 访问 管理 代码 翻译
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:在微处理器中访问和管理代码翻译.pdf
    链接地址://www.4mum.com.cn/p-5779361.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03