当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统和方法技术方案

技术编号:19127181 阅读:44 留言:0更新日期:2018-10-10 08:30
提供了用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统和方法。该方法包括提供多个表示状态,每个表示状态提供来自客户架构的状态的至少一个条目在主机架构中的表示。然后从多个表示状态中确定当前表示状态,并且根据当前表示状态将客户指令转换为至少一个主机指令。通过使用多个表示状态,已经发现,可以显著增加代码转换的效率,从而实现性能和能耗益处。

【技术实现步骤摘要】
【国外来华专利技术】用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统和方法
本技术涉及用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统和方法。
技术介绍
已知提供具有主机架构并且被布置为执行指令序列的主机数据处理系统以便执行数据处理操作。通常,将定义主机指令集架构,并且使用该主机指令集架构的指令构建的程序然后可以在主机系统上直接执行。然而,提供使用与将在主机数据处理系统上执行的客户架构相关联的客户指令来编写代码的能力也是有用的。具体地,已知提供代码转换技术(通常被称为二进制转换技术)来将客户架构的指令转换为主机架构的指令,以便当主机指令的结果序列在主机架构上执行时,它们将实现原始客户指令所要求的功能。可能会出现可能不利地影响这类代码转换的效率的许多问题,例如,导致实现原始客户指令的功能所需的主机指令的数量的显著增加。例如,可能是以下情况,与客户架构相关联的一些状态与主机架构的状态不同,和/或客户架构中的一些指令以与主机架构中的等同指令不同的方式来更新状态。为了确保正确地使用状态数据和/或根据需要来更新状态数据,可能需要构建相当复杂的主机指令序列以便表示一些客户指令。因此,将期望提供用于将客户架构的指令转换为主机架构的至少一个主机指令的更高效的机制。
技术实现思路
根据一个示例配置,提供了一种将客户架构的客户指令转换为主机架构的至少一个主机指令的计算机实现的方法,包括:提供多个表示状态,每个表示状态提供来自客户架构的状态的至少一个条目的在主机架构中的表示;确定当前表示状态,当前表示状态是该多个表示状态中的一个表示状态;以及根据当前表示状态将客户指令转换为所述至少一个主机指令。根据另一示例配置,提供了一种包括计算机程序的非暂态计算机程序产品,当在计算机上执行时,该计算机程序执行根据上述示例配置的将客户架构的客户指令转换为主机架构的至少一个主机指令的计算机实现的方法。在又一示例配置中,提供了一种用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统,包括:存储装置,该存储装置标识来自多个表示状态的当前表示状态,每个表示状态提供来自客户架构的状态的至少一个条目的在主机架构中的表示;以及转换电路,该转换电路根据当前表示状态将客户指令转换为所述至少一个主机指令。在又一示例配置中,提供了一种用于执行包括客户架构的客户指令的客户程序的数据处理装置,该数据处理装置具有主机架构并且包括根据上述示例配置的用于将客户架构的客户指令转换为主机架构的主机指令的系统。在又一示例配置中,提供了一种用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统,包括:用于标识来自多个表示状态的当前表示状态的装置,每个表示状态提供来自客户架构的状态的至少一个条目的在主机架构中的表示;以及用于根据当前表示状态将客户指令转换为所述至少一个主机指令的装置。附图说明将参考如在附图中示出的实施例通过仅示例的方法来进一步描述本技术,在附图中:图1A是在其中可以采用所述实施例的技术的主机数据处理系统的框图;图1B示意性地示出了根据一个实施例的用于在图1A的主机系统的主机架构上执行的客户程序的转换;图2是提供根据一个实施例的二进制转换过程的总体概述的流程图;图3是更详细地示出根据一个实施例的二进制转换的操作的流程图;图4A示出了根据一个实施例的用于示例客户架构和主机架构的寄存器术语;图4B示意性地示出了根据一个实施例的一些客户指令到等同主机指令的转换;图4C提供了若未使用所述实施例的方法则可以如何将客户架构的ANDS指令转换为等同主机指令的代表性图示;图5A示出了可以根据一个实施例来提供以表示条件码标志的两个表示状态;图5B示出了根据一个实施例的可以如何使用图5A的两个表示状态来简化一些客户指令到等同主机指令的转换;图6是示出根据一个实施例的可被合并在较早描述的图3的二进制转换方法中的一些可选的额外步骤的流程图;图7示出了根据一个实施例的可用于表示客户架构的字节顺序以便辅助从客户架构到主机架构的指令的二进制转换的两个表示状态;图8示出了根据一个实施例的在客户架构中如何使用扩展寄存器组中的寄存器以及在主机架构中如何使用这些寄存器之间可能存在的差异;图9示出了根据一个实施例的使用两个表示状态来提供主机架构的扩展寄存器组中的矢量寄存器的不同映射,以及如何使用这些表示状态来提高转换的效率;以及图10示意性地示出了可用于实现本技术的类型的通用计算机。具体实施方式在参考附图讨论实施例之前,提供实施例的以下描述。在一个实施例中,提供了一种将客户架构的客户指令转换为主机架构的至少一个主机指令的计算机实现的方法。该方法包括:提供多个表示状态,其中,每个表示状态提供来自客户架构的状态的至少一个条目的在主机架构中的表示。然后从多个表示状态中的确定当前表示状态,并且根据当前表示状态将客户指令转换为至少一个主机指令。通过提供可用在主机架构中来表示来自客户架构的状态的一个或多个条目的多个表示状态,已经发现这可以在转换过程中实现一些显著的效率提升,例如,通过实现用于表示一系列客户指令的主机指令的显著减少的数目。存在在上述方法的执行期间可以改变表示状态的许多方式。在一个实施例中,用于转换客户指令的代码转换元件在客户指令的转换期间选择性地改变当前表示状态。因此,在这类实施例中,为了提高转换效率,存在对于转换机制本身的选项来引起当前表示状态的改变。在其他实施例中,取决于来自表示状态所表示的客户架构的状态的一个或多个条目,转换机制本身可以仅利用当前表示状态,并且系统中的其他元件可以更改表示状态例如以反映客户架构中的状态的相应的(一个或多个)条目的变化。在其中转换机制本身可以改变当前表示状态的一个示例实施例中,该方法还可包括从第一转换机制和第二转换机制中选择转换机制,这取决于第一转换机制和第二转换机制中的哪个转换机制将产生更高效的转换,第一转换机制转换客户指令同时保持当前表示状态并且第二转换机制转换客户指令同时改变当前表示状态。客户指令的转换然后采用所选择的转换机制。取决于实施例以及表示状态所标识的状态的(一个或多个)条目,第二转换机制可以在转换客户指令之前改变当前表示状态,或可以在已经执行转换之后改变当前表示状态。存在可以选择所选转换机制的许多方式,但在一个实施例中,所选择的转换机制是第一转换机制和第二转换机制中的产生最少数目的主机指令来实现客户指令的功能的一个转换机制。因此,选择转换机制以便提高主机指令的结果序列中的代码密度,从而产生用于实现相关联的(一个或多个)客户指令所要求的功能的更高效的转换。在一个实施例中,该方法还包括将生成的至少一个主机指令存储在转换存储装置中以供后续执行。然后,可稍后参考该转换存储装置以便移除对要再次转换的一些后续客户指令的需要。具体地,在一个实施例中,该方法还包括确定当前表示状态的客户指令的转换何时已经存在于转换存储装置中,并且根据该确定来输出对现有转换的参考而不是转换客户指令。尽管在一个实施例中,若客户指令的转换尚未存在于当前表示状态的转换存储装置中则该方法可被布置为转换该客户指令,但在替代实施例中,即使转换尚未存在于当前表示状态的转换存储装置中,仍可以避免客户指令的转换。具体地,在一个实施例中,该方法还包括确定客户指令的转换何时本文档来自技高网...
用于将客户架构的客户指令转换为主机架构的至少一个主机指令的系统和方法

【技术保护点】
1.一种将客户架构的客户指令转换为主机架构的至少一个主机指令的计算机实现的方法,包括:提供多个表示状态,每个表示状态提供来自所述客户架构的状态的至少一个条目在所述主机架构中的表示;确定当前表示状态,所述当前表示状态是所述多个表示状态中的一个;以及根据所述当前表示状态将所述客户指令转换为所述至少一个主机指令。

【技术特征摘要】
【国外来华专利技术】2015.05.01 GB 1507536.91.一种将客户架构的客户指令转换为主机架构的至少一个主机指令的计算机实现的方法,包括:提供多个表示状态,每个表示状态提供来自所述客户架构的状态的至少一个条目在所述主机架构中的表示;确定当前表示状态,所述当前表示状态是所述多个表示状态中的一个;以及根据所述当前表示状态将所述客户指令转换为所述至少一个主机指令。2.如权利要求1所述的计算机实现的方法,其中,用于转换所述客户指令的代码转换元件在所述客户指令的转换期间有选择地改变所述当前表示状态。3.如权利要求1或2所述的计算机实现的方法,还包括:根据第一转换机制和第二转换机制中的哪一个将产生更高效的转换来从所述第一转换机制和所述第二转换机制中选择转换机制,所述第一转换机制转换所述客户指令同时维持所述当前表示状态,并且所述第二转换机制转换所述客户指令同时改变所述当前表示状态;所述客户指令的所述转换采用所选择的转换机制。4.如权利要求3所述的计算机实现的方法,其中,所述所选择的转换机制是所述第一转换机制和所述第二转换机制中产生最少数目的主机指令来实现所述客户指令的功能的一个转换机制。5.如前述权利要求中的任一项所述的计算机实现的方法,还包括将生成的至少一个主机指令存储在转换存储装置中以供后续执行。6.如权利要求5所述的计算机实现的方法,还包括:确定所述当前表示状态的所述客户指令的转换何时已经存在于所述存储装置中,并且根据这样的确定来输出对现有转换的参考而不是转换所述客户指令。7.如权利要求5或6所述的计算机实现的方法,还包括:针对不是所述当前表示状态的不同表示状态确定所述客户指令的转换何时已经存在于所述转换存储装置中;根据这样的确定,应用预定标准以确定是否将所述当前表示状态改变为所述不同表示状态;当确定改变所述当前表示状态时,激活预定机制以实现所述当前表示状态到所述不同表示状态的改变,并且输出对现有转换的参考以用于存储在所述转换存储装置中而不是转换所述客户指令。8.如权利要求6或7所述的计算机实现的方法,其中,所述输出参考包括向所述转换存储装置添加分支指令。9.如前述权利要求中的任一项所述的计算机实现的方法,其中:所述多个表示状态包括至少两个表示状态,所述至少两个表示状态提供来自所述客户架构的状态的所述至少一个条目在所述主机架构中的不同表示。10.如权利要求9所述的计算机实现的方法,其中,状态的所述至少一个条目包括多个条件标志值。11.如权利要求10所述的计算机实现的方法,其中,在第一表示状态中,所述多个条件码标志被存储在所述主机架构中提供的条件标志寄存器中,并且在第二表示状态中,所述多个条件码标志的第一子集被存储在所述主机架构中提供的所述条件标志寄存器中并且所述条件码标志的第二子集被存储在另外的寄存器中。12.如权利要求11所述的计算机实现的方法,其中,当所述客户指令是预定客户指令时,用于转换所述客户指令的代码转换元件在所述客户指令的转换期间将所述当前表示状态从所述第一表示状态改变为所述第二表示状态。13.如前述权利要求中的任一项所述的计算机实现的方法,其中,所述多个表示状态在所述客户架构使用第一字节顺序数据格式时包括第一字节顺序表示状态集,并且在所述客户架构使用第二字节顺序数据格式时包括第二字节顺序表示状态集,所述客户指令的转换取决于所述第一字节顺序表示状态和所述第二字节顺序表示状态中的哪一个是所述当前表示状态。14.如前述权利要求中的任一项所述的计算机实现的方法,其中,所述多个表示状态至少包括第一控制存储装置表示状态和第二控制存储装置表示状态,所述第一控制存储装置表示状态指示来自所述客户架构的第一状态被表示在所述主机架构的预定控制存储装置中...

【专利技术属性】
技术研发人员:艾德蒙·托马斯·格里姆利埃文斯
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1