CN1127688C - 转变位结构体系中的指令的方法、系统 - Google Patents
转变位结构体系中的指令的方法、系统 Download PDFInfo
- Publication number
- CN1127688C CN1127688C CN00129488A CN00129488A CN1127688C CN 1127688 C CN1127688 C CN 1127688C CN 00129488 A CN00129488 A CN 00129488A CN 00129488 A CN00129488 A CN 00129488A CN 1127688 C CN1127688 C CN 1127688C
- Authority
- CN
- China
- Prior art keywords
- bit architecture
- instruction
- architecture system
- operand
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 title claims description 50
- 230000009466 transformation Effects 0.000 claims abstract description 8
- 238000006467 substitution reaction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 abstract 2
- 230000006870 function Effects 0.000 description 29
- 238000005516 engineering process Methods 0.000 description 5
- 239000004615 ingredient Substances 0.000 description 5
- 230000001343 mnemonic effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
公开用于把第一位结构体系例如32位中的指令转变为第二位结构体系例如64位中的指令的方法、系统、程序和数据结构。代码变换自具有操作码和至少一个操作数的第一位结构体系中的指令。访问一个包括用于把第一位结构体系中的指令转变为第二位结构体系的信息的变换表。如果变换表包括代表修改第一位结构体系中的指令的信息,则第一位结构体系中的指令被变换为第二位结构体系中的相应的指令。变换是基于修改第一位结构体系中的指令来产生第二位结构体系中的指令的变换操作的。
Description
技术领域
优选实施例提供用于把第一位结构体系中的指令转变为第二位结构体系中的指令的方法、系统、程序和数据结构。
背景技术
对于计算机编写的很多应用程序都是使用32位结构体系。但是,大规模处理系统开始使用64位结构体系。64位计算结构体系本质上提高了可使用的地址空间、寄存器容量和数据结构大小。而且,64位计算提供比32位快得多的处理和数据传送。例如一个64位指令可处理另外占用几个32位指令加上“清除”码的操作。64位系统可直接访问多个存储器而不使用索引和寄存器寻址方案。当前的64位计算机包括太阳微系统公司(Sun Microsystems Corporation)的Solaris 7操作环境、康柏计算机公司的AlphaStation 200以及使用由数字设备公司研制的64位处理器和因特尔公司的Merced与Itanium处理器的其它康柏公司产品,它们是基于IA-64结构体系的,这个体系是由因特尔公司创立的64位结构体系。
尽管64位计算有好处,很多程序仍然使用32位指令来编写。因此,编辑程序开发商必须继续支持32位程序,即使工业上已经发展到6 4位结构体系计算机。为维持与现有结构体系和编辑程序的兼容性(即隐藏编程器的复杂性),编辑程序开发商必须设置就何时何地使用64位性能这一点作有效报导。从而,技术上需要开发能够处理32位和64位计算的编辑程序来支持32位与64位结构体系之间的转换。
发明内容
为克服上述已有技术的限制,优选实施例公开用于把第一位结构体系中的指令转变为第二位结构体系中的指令的方法、系统。代码变换来自具有操作码和至少一个操作数的第一位结构体系中的指令。访问一个包括用于把第一位结构体系中的指令转变为第二位结构体系中的指令的信息的变换表。如果变换表包括指示修改第一位结构体系中的指令的信息,则第一位结构体系中的指令被变换为第二位结构体系中的相应的指令。变换是基于修改第一位结构体系中的指令来产生第二位结构体系中的指令的变换操作的。
第一位结构体系可以是32位结构体系,第二位结构体系可以是64位结构体系。
在又一实施例中,变换表包括用于每个操作码的一个入口。如果要执行变换,用于每个操作码的入口可包括指向操作数表的指针。如果用于每个操作码的入口不包括指向一个操作数表的指针,不执行变换。
操作数表包括一个入口,用于操作数位结构体系类型的每个可能的组合。操作数表中的每一入口代表至少一个变换操作。在这种情况下,变换指令包括确定操作数表中的一个入口,该操作数表具有操作数位结构体系类型,该结构类型与第一位结构体系中的指令中的每个操作数的位结构体系类型相匹配。之后执行至少一个变换操作来把第一位结构体系中的指令变换为第二位结构体系。
在又一实施例中,确定第一位结构体系中的指令的各个操作数的位结构体系类型包括处理一个目录,该目录包括关于第一位结构体系中的各个指令的性能的信息。
在又一实施例中,执行至少一个变换操作包括改变操作码的名称来表示操作码处于第二位结构体系。
在又一实施例中,执行至少一个变换操作包括更新包括关于各个寄存器的信息的寄存器状态表,该寄存器包括操作数来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
在又一实施例中,在进行变换的指令中的一个操作数处于第一位结构体系并且经受变换的指令中的另一个操作数处于第二位结构体系时,寄存器状态表被更新来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
在又一实施例中,操作数表中的每一入口包括一个指向替代表的指针,该替代表包括至少一个变换操作以把第一位结构体系中的指令变换为第二位结构体系。
在又一实施例中,第一位结构体系中的指令能具有第一位结构体系和第二位结构体系中的操作数。
优选的实施例提供一种技术,用于把来自一个结构体系的指令变换成另一个,如32位到64位。对优选的实施例技术,变换代码,如中间代码为32位指令的编辑程序不一定被修改。而是,使用不同的表来处理结果得到的32位指令,这些表为每一个操作码类型提供变换操作。优选的实施例尤其用于需要支持32位和64位结构体系的机器,以允许源程序使用32位指令和数据来编写,并且仍能在该机器上操作。
根据本发明的另一个方面,提供用于把第一位结构体系中的指令转变为第二位结构体系中的指令的系统,包括:
把代码变换为具有操作码和至少一个操作数的第一位结构体系中的指令的装置;
访问一个包括用于把第一位结构体系中的指令转变为第二位结构体系的信息的变换表的装置;
如果变换表包括代表修改第一位结构体系中的指令的信息,则把第一位结构体系中的指令变换为第二位结构体系中的相应的指令的装置,其中变换是基于修改第一位结构体系中的指令来产生第二位结构体系中的指令的变换操作的。
本发明的系统中,变换指令的装置包括:
确定操作数表中的一个入口的装置,该操作数表具有操作数位结构体系类型,该结构类型与第一位结构体系中的指令中的每个操作数的位结构体系类型相匹配;及
执行至少一个变换操作来把第一位结构体系中的指令变换为第二位结构体系中的指令的装置。
本发明的系统中,确定第一位结构体系中的指令的各个操作数的位结构体系类型的装置包括处理一个目录,该目录包括关于第一位结构体系中的各个指令的性能的信息。
本发明的系统中,执行至少一个变换操作的装置包括改变操作码的名称来表示操作码处于第二位结构体系。
本发明的系统中,执行至少一个变换操作的装置包括更新包括关于各个寄存器的信息的寄存器状态表,该寄存器包括操作数来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
附图说明
现在参考附图,其中相同的参考序号从头到尾都表示相应的部件:
图1图示出编辑程序的组成部分;
图2图示出根据本发明的优选实施例的编辑程序的代码发生器部分的组成部分;
图3图示在代码发生器中执行的逻辑线路,用于根据本发明的优选实施例把32位指令变换为64位指令;
图4提供各目的一些示例,用于根据本发明的优选实施例把“存储”命令从32位变换为64位格式。
具体实施方式
*在下面的描述中,以附图为参考,这些附图构成描述的一部分,并且图示出本发明的几个实施例。应理解可使用其它实施例,并且在不背离本发明的范围的情况下,可进行结构和操作变化。
图1图示出编辑程序2的一般组成部分。编辑程序2接收以高级源语言编写的源程序4作为输入。前端处理6通过扫描、分析和编译源程序4为具体的中间表示8把源程序4转换为中间代码8,从而在中间代码8中出现的名称值以目标机器可直接控制的量来表示,例如位、整数、实数、指针等。代码发生器10接收中间代码8作为输入,并产生目标程序12作为输出,该目标程序可包括绝对机器语言、可再定位的机器语言或汇编语言。
打算在目标计算机14上执行目标程序12。在优选的实施例中,目标计算机14能够处理32位和64位指令。例如,目标计算机可实施Intel IA-64结构体系,其支持32位和64位指令设置。Intel IA-64处理器可在支持32位应用程序的执行的64位操作系统上运行32位应用程序。Intel IA-64结构体系还能够执行混合的32和64位代码。Intel IA-64结构体系的具体细节在顺序号No.245188-011(1999年3月Intel公司版权)的Intel的出版物“IA-64应用程序开发商结构体系指南”中具体说明,在这里引入该出版物,将其整个作为参考。
图2图示代码发生器10的组成部分,根据优选实施例把32位指令变换为64位指令。语句处理器模块20接收中间代码8作为输入,并产生32位指令22。32位指令被输入到变换器24,其随后应用编辑程序目录28、指令变换表30、变换操作数表32以及替代表34将32位指令转换为64位指令26。这些表28、30、32和34提供变换变换器24需要的信息,以执行32向64位的变换。编辑程序目录28从32位指令来组装并包括该指令上的信息,这些信息包括操作数的性能和用于指令的数据字段。例如通常的指令形式为:
op 操作数1,操作数2
这里“ op”是操作代码,表示操作类型,操作数1和操作数2是经受操作(op)的数据。例如,操作数1可以是进行操作的源数据,操作数2是包括操作结果的目标。操作数1和操作数2是可寻址的位置,如存储器中的寄存器。编辑程序目录28包括关于源程序4中限定和使用的所有数据的性能的信息,包括特定寄存器中的数据(操作数)是32位还是64位、数据字段的大小等。
指令变换表30包括用于每个操作类型的入口,即各个op代码。可提供索引来把特定操作代码映射到指令变换表30中的入口。在优选的实施例中,指令变换表30包括包含0或一个地址的指针列。如果指令不被变换,那么指令变换表30中相应的入口将被设置为0。否则,如果要变换指令,那么指令变换表30中的入口将包括对一个变换操作数表32的地址。在优选的实施例中,对于指令变换表30中的具有非零值的每一入口,即对于经受变换的每一个操作都有一个变换操作数表32。
变换操作数表32对于用于指令类型的操作数值的每个不同的可能组合包括一个入口。例如,用于STORE指令的变换操作数表32可允许各个操作数,操作数1和2是32位或64位,该STORE指令是把数据从寄存器传送到存储器。在这种情况下,用于STORE指令的变换操作数表32将具有4个入口,用于操作数的结构体系类型的各个可能组合:
1.操作数1=32位值
操作数2=32位值
2.操作数1=64位值
操作数2=64位值
3.操作数1=32位值
操作数2=64位值
4.操作数1=64位值
操作数2=32位值
对于变换操作数表32中的每一入口,即操作数值的每个可能组合,有一个替代表34,其提供关于如何执行对于特定操作数结构体系组合的变换的信息。例如,对于上述的STORE指令的操作数结构体系类型的4种可能组合的每一个,可执行不同的变换。每个替代表34将包括指令变换器24如何实施变换,即变换操作的字段。在优选的实施例中,替代表34将包括一个字段,代表新的变换op代码或指令,以用在进行变换的指令op代码情况中,还包括一个标记,代表是更新寄存器状态表以表示寄存器有32位还是64位数据,还是保持寄存器状态不变。这个寄存器状态表可以是编辑程序控制结构的一部分或被维持在编辑程序目录28中。也可提供其它标记来表示要执行的进一步的变换步骤,以完成输入32位指令22从32位到64位的变换。
变换的一部分可包括改变op代码的名称。例如,32位指令可具有助记的格式,如用于存储的ST和用于装载的L,64位指令可稍微变化,如用于存储的STG和用于装载的LG。“G”助记代表指令具有至少一个64位操作数。在另一个实施例中,其它助记可被用于区分3 2和64位指令。
图3图示出在代码发生器10的变换器24组成部分中实施的逻辑线路,以使用表28、30、32和34来把32位指令变换为64位指令。控制开始于组块100,用变换器24接收从语句处理器模块20产生的32位指令。变换器24查找(在组块102)指令变换表30中的用于接收的指令的op代码的入口。如所讨论的那样,这个查找操作可包括使用索引来定位相应于特定op代码的入口。如果在查找的入口处的值是0(在组块104),那么变换处理结束(在块106),因为0代表不执行对特定的op代码的变换处理。否则,入口中的值是一个指向变换操作数表32的指针。变换器24访问(在组块108)由入口中的指针寻址的变换操作数表32。变换器24还确定(组块110)从编辑程序目录28接收到的指令的操作数的性能,如各个操作数是32位还是64位。
变换器24然后将经变换操作数表32中的入口循环(在组块112)以定位具有与接收到的指令的操作数的性能匹配的操作数性能的入口。例如,如果接收到的指令的操作数分别是32位和64位,那么将选择对于这些操作数位结构体系值指定的变换操作数表32中的入口,在用于上面的STORE指令的入口的例子中,其包括上面列出的第三入口。变换器24然后将访问(在组块114)在变换操作数表32中定位的入口中列出的替代表34。然后,变换器24将以在替代表34中列出的一个或多个替代op代码来替代(在组块116)接收到的指令的op代码,从而把32位指令变换为64位指令26。在组块118,作为替代表34中指示的变换的结果,变换器24更新寄存器状态表以表示新的32位或64位状态。例如,被变换的接收到的32位指令中的任何操作数将在变换后具有64位值。在这种情况下,用于原来的32位操作数的寄存器状态将被更新来反映它现在是64位操作数。
图4有一个表150,表示对于STORE指令如何发生替代。表150中的每一入口将形成变换操作数表32中的用于STORE指令的入口。一找到具有与32位指令22的操作数值匹配的操作数1和2的操作数值的入口,表150列出替代操作,包括新的指令和是否寄存器状态表被更新。从而表150组合替代表并对于每个可能操作数值的组合变换操作数表的入口。由于在变换前操作数1是32位值,在表150中的第三和第四入口表示寄存器1状态标记被更新。新的指令中的“G”助记表示指令是64位指令。而且,在表150中,具有一个32位操作数1的32位STORE指令被变换为两个64位指令。
同样,对于每个其它的32位指令将有一个变换操作数表和替代入口或表。在优选的实施例中,对于很多指令,如ADD、SUBSTRACT、MULTIPLY、DIVIDE、COMPARE、AND、OR和EXCLUSIVE OR,只要一个操作数是64位,替代表34将包括变换操作,以指令变换器24来把其它操作数变换为64位。但是,如果寄存器被用户表明为32位,则不指令变换器24把这种寄存器变换为64位。对变换器24的关于如何把32位指令变换为64位的另外的指令将被编码到替代表34中。
优选的实施例提供把3 2位指令变换为64位的方法、系统和程序。优选的实施例技术的一个优点是从中间代码产生32位指令的实际语句处理器模块20不一定被改变来完成变换。反而,增加独立的表28、30、32和34以及变换器24来执行把32位指令变换为64位指令的附加步骤。以这种方式,用于语句处理器模块20的编辑程序代码不必要被修改,并且初始32位指令使用当前编辑程序来产生。编辑程序开发商仅需要增加表和变换器24逻辑线路来执行最终的变换,而不需要修改或干扰把中间代码变换为32位指令的代码发生器部分。从而优选的实施例提供一种方法来把32位指令变换为用于目标计算机的64位,该计算机仅以64位指令操作,或者把32位指令变换为用于多个计算机的64位,这些计算机诸如是使用Intel IA-64结构体系的系统,可处理32位和64位指令。
这对本发明的优选实施例的描述得出结论。下面描述一些完成本发明的另外的实施例。
优选的实施例可以作为一个方法、装置或使用标准编程和/或工程技术制造软件、固件、硬件或它们的任何组合的制造物件来实施。这里使用的术语“制造物件”(或“计算机程序产品”)意在包括可从一个或多个计算机可读设备、载体、或媒体如磁性存储媒体“软盘”、CD-ROM光盘、全息单元、易失性或非易失性电存储器文件服务器访问的一个或多个计算机程序和/或数据文件,该文件服务器经网络传输线路、无线传输媒体、空间传播的信号等提供对程序的访问。当然,熟悉本领域的技术人员将认识到在不背离本发明的范围的情况下可对这种配置进行很多修改。
关于把32位变换为64位指令描述了优选实施例。但是,优选实施例的表和变换方法可应用于除32和64位之外的任何指令格式和位结构体系,如8到16,16到32,或者用于尚未开发出来的结构体系的变换。这是可能的,因为优选实施例技术使用当前编辑技术把初始指令编辑成第一位格式结构体系,然后使用表和变换器来把第一位结构体系中的指令变换为第二位格式结构体系。而且,可执行从更大位结构体系如64位到更小位结构体系如32位的变换。
优选实施例描述了编辑程序目录、指令变换表、变换操作数表和替代表为分开的表。但是,在另外的实施例中,描述的分开的表中的数据可被组合到一个或多个表中。
总之,本发明提供把第一位结构体系中的指令转变为第二位结构体系中的指令的方法、系统、程序和数据结构。代码变换自具有操作代码和至少一个操作数的第一位结构体系中的指令。访问一个包括用于把第一位结构体系中的指令转变为第二位结构体系的信息的变换表。如果变换表包括代表修改第一位结构体系中的指令的信息,则第一位结构体系中的指令被变换为第二位结构体系中的相应的指令。变换是基于修改第一位结构体系中的指令来产生第二位结构体系中的指令的变换操作的。
本发明的优选实施例的前面的描述是为了图示和描述的目的提供的,它并非意在完全或限制本发明于所公开的精确形式。在上述教导的提示下,可能进行很多修改和变化。本发明的范围不是由这个具体的描述限定而是由后附的权利要求限定。上述的说明、举例和数据提供本发明组成的制造和应用的完整的描述。由于在不背离本发明的精神和范围的情况下,可作出本发明的很多实施例,本发明归于后附的权利要求。
* *Solaris是太阳微系统公司的商标;Itanium是因特公司的商标,Merced和IA-64是因特公司的代码名称。
Claims (20)
1.用于把第一位结构体系中的指令转变为第二位结构体系中的指令的方法,包括:
把代码变换为具有操作码和至少一个操作数的第一位结构体系中的指令;
访问一个包括用于把第一位结构体系中的指令转变为第二位结构体系的信息的变换表;
如果变换表包括代表修改第一位结构体系中的指令的信息,则把第一位结构体系中的指令变换为第二位结构体系中的相应的指令,其中变换是基于修改第一位结构体系中的指令来产生第二位结构体系中的指令的变换操作的。
2.根据权利要求1的方法,其中变换表包括用于每个操作码的一个入口,其中如果要执行变换,用于每个操作码的入口包括指向操作数表的指针;其中如果用于该操作码的入口不包括指向一个操作数表的指针,不执行变换。
3.根据权利要求2的方法,其中操作数表包括一个对应操作数位结构体系类型的每个可能组合的入口,其中操作数表中的每一入口代表至少一个变换操作,其中变换指令包括:
确定操作数表中的一个入口,该操作数表具有操作数位结构体系类型,该结构类型与第一位结构体系中的指令中的每个操作数的位结构体系类型相匹配;及
执行至少一个变换操作来把第一位结构体系中的指令变换为第二位结构体系中的指令。
4.根据权利要求3的方法,其中确定第一位结构体系中的指令的各个操作数的位结构体系类型包括应用一个目录,该目录包括关于第一位结构体系中的各个指令的性能的信息。
5.根据权利要求3的方法,其中执行至少一个变换操作包括改变操作码的名称来表示操作码处于第二位结构体系。
6.根据权利要求3的方法,其中执行至少一个变换操作包括更新包括关于各个寄存器的信息的寄存器状态表,该寄存器包括操作数来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
7.根据权利要求6的方法,其中在进行变换的指令中的一个操作数处于第一位结构体系并且经受变换的指令中的另一个操作数处于第二位结构体系时,寄存器状态表被更新来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
8.根据权利要求3的方法,其中操作数表中的每一入口包括一个指向替代表的指针,该替代表包括至少一个变换操作以把第一位结构体系中的指令变换为第二位结构体系的指令。
9.根据权利要求1的方法,其中第一位结构体系中的指令能具有第一位结构体系和第二位结构体系中的操作数。
10.根据权利要求1的方法,其中第一位结构体系是32位结构体系而第二位结构体系是64位结构体系。
11.用于把第一位结构体系中的指令转变为第二位结构体系中的指令的系统,包括:
把代码变换为具有操作码和至少一个操作数的第一位结构体系中的指令的装置;
访问一个包括用于把第一位结构体系中的指令转变为第二位结构体系的信息的变换表的装置;
如果变换表包括代表修改第一位结构体系中的指令的信息,则把第一位结构体系中的指令变换为第二位结构体系中的相应的指令的装置,其中变换是基于修改第一位结构体系中的指令来产生第二位结构体系中的指令的变换操作的。
12.根据权利要求11的系统,其中变换表包括用于每个操作码的一个入口,其中如果要执行变换,用于每个操作码的入口包括指向操作数表的指针;其中如果用于该操作码的入口不包括指向一个操作数表的指针,不执行变换。
13.根据权利要求12的系统,其中操作数表包括一个入口,用于操作数位结构体系类型的每个可能的组合,其中操作数表中的每一入口代表至少一个变换操作,其中变换指令的装置包括:
确定操作数表中的一个入口的装置,该操作数表具有操作数位结构体系类型,该结构类型与第一位结构体系中的指令中的每个操作数的位结构体系类型相匹配;及
执行至少一个变换操作来把第一位结构体系中的指令变换为第二位结构体系中的指令的装置。
14.根据权利要求13的系统,其中确定第一位结构体系中的指令的各个操作数的位结构体系类型的装置包括应用一个目录,该目录包括关于第一位结构体系中的各个指令的性能的信息。
15.根据权利要求13的系统,其中执行至少一个变换操作的装置包括改变操作码的名称来表示操作码处于第二位结构体系。
16.根据权利要求13的系统,其中执行至少一个变换操作的装置包括更新包括关于各个寄存器的信息的寄存器状态表,该寄存器包括操作数来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
17.根据权利要求16的系统,其中在进行变换的指令中的一个操作数处于第一位结构体系并且经受变换的指令中的另一个操作数处于第二位结构体系时,寄存器状态表被更新来表示包括经受变换的指令中的一个操作数的寄存器处于第二位结构体系。
18.根据权利要求13的系统,其中操作数表中的每一入口包括一个指向替代表的指针,该替代表包括至少一个变换操作以把第一位结构体系中的指令变换为第二位结构体系。
19.根据权利要求13的系统,其中第一位结构体系中的指令能具有第一位结构体系和第二位结构体系中的操作数。
20.根据权利要求13的系统,其中第一位结构体系是32位结构体系,第二位结构体系是64位结构体系。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/483203 | 2000-01-14 | ||
US09/483,203 | 2000-01-14 | ||
US09/483,203 US6662361B1 (en) | 2000-01-14 | 2000-01-14 | Method, system, program, and data structures for transforming an instruction in a first bit architecture to an instruction in a second bit architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1306245A CN1306245A (zh) | 2001-08-01 |
CN1127688C true CN1127688C (zh) | 2003-11-12 |
Family
ID=23919104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00129488A Expired - Fee Related CN1127688C (zh) | 2000-01-14 | 2000-12-29 | 转变位结构体系中的指令的方法、系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6662361B1 (zh) |
EP (1) | EP1118933A3 (zh) |
JP (1) | JP3606561B2 (zh) |
KR (1) | KR20010086328A (zh) |
CN (1) | CN1127688C (zh) |
SG (1) | SG99328A1 (zh) |
TW (1) | TW494361B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100350379C (zh) * | 2004-07-08 | 2007-11-21 | 国际商业机器公司 | 用于在32位aix内核中自动更新64位的域的方法和系统 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024666B1 (en) * | 2002-01-28 | 2006-04-04 | Roy-G-Biv Corporation | Motion control systems and methods |
US20010032278A1 (en) | 1997-10-07 | 2001-10-18 | Brown Stephen J. | Remote generation and distribution of command programs for programmable devices |
US8032605B2 (en) | 1999-10-27 | 2011-10-04 | Roy-G-Biv Corporation | Generation and distribution of motion commands over a distributed network |
US6880069B1 (en) * | 2000-06-30 | 2005-04-12 | Intel Corporation | Replay instruction morphing |
US7904194B2 (en) | 2001-02-09 | 2011-03-08 | Roy-G-Biv Corporation | Event management systems and methods for motion control systems |
US6819270B1 (en) * | 2003-06-30 | 2004-11-16 | American Express Travel Related Services Company, Inc. | Method and system for universal conversion of MCC, SIC or other codes |
US20060064503A1 (en) | 2003-09-25 | 2006-03-23 | Brown David W | Data routing systems and methods |
US8027349B2 (en) | 2003-09-25 | 2011-09-27 | Roy-G-Biv Corporation | Database event driven motion systems |
CN100345136C (zh) * | 2004-06-30 | 2007-10-24 | 中国科学院计算技术研究所 | 使64位处理器兼容32位桥接芯片的系统及转换装置 |
CN100388195C (zh) * | 2006-02-22 | 2008-05-14 | 北京金山软件有限公司 | 一种64位视窗操作系统下获取函数参数的方法及系统 |
US9652210B2 (en) * | 2007-08-28 | 2017-05-16 | Red Hat, Inc. | Provisioning a device with multiple bit-size versions of a software component |
US8832679B2 (en) * | 2007-08-28 | 2014-09-09 | Red Hat, Inc. | Registration process for determining compatibility with 32-bit or 64-bit software |
US10120663B2 (en) | 2014-03-28 | 2018-11-06 | Intel Corporation | Inter-architecture compatability module to allow code module of one architecture to use library module of another architecture |
EP3427148B1 (en) * | 2016-03-11 | 2022-01-12 | LZLabs GmbH | Load module compiler |
CN107423084B (zh) * | 2017-04-24 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 程序修改方法及装置 |
CN109491659B (zh) * | 2017-09-11 | 2022-06-21 | 龙芯中科技术股份有限公司 | 指令转换方法和装置 |
JP2019095952A (ja) * | 2017-11-21 | 2019-06-20 | ソニーセミコンダクタソリューションズ株式会社 | プロセッサ、情報処理装置および処理方法 |
US20220374236A1 (en) * | 2021-05-20 | 2022-11-24 | Huawei Technologies Co., Ltd. | Method and system for optimizing address calculations |
CN117916710A (zh) * | 2022-08-17 | 2024-04-19 | 芯原微电子(上海)股份有限公司 | 一种交叉链接方法、装置,电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1990001738A1 (en) * | 1988-07-29 | 1990-02-22 | Hunter Systems Software, Inc. | Machine process for translating programs in binary machine language into another binary machine language |
EP0871108B1 (en) | 1991-03-11 | 2000-09-13 | MIPS Technologies, Inc. | Backward-compatible computer architecture with extended word size and address space |
DE69429061T2 (de) | 1993-10-29 | 2002-07-18 | Advanced Micro Devices, Inc. | Superskalarmikroprozessoren |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US5577231A (en) * | 1994-12-06 | 1996-11-19 | International Business Machines Corporation | Storage access authorization controls in a computer system using dynamic translation of large addresses |
US5826089A (en) | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
US5842017A (en) * | 1996-01-29 | 1998-11-24 | Digital Equipment Corporation | Method and apparatus for forming a translation unit |
US5819067A (en) | 1996-02-23 | 1998-10-06 | Advanced Micro Devices, Inc. | Computer system configured to translate a computer program into a second computer program prior to executing the computer program |
US5875318A (en) | 1996-04-12 | 1999-02-23 | International Business Machines Corporation | Apparatus and method of minimizing performance degradation of an instruction set translator due to self-modifying code |
US5710731A (en) * | 1996-05-07 | 1998-01-20 | International Business Machines Corporation | Combined adder and decoder digital circuit |
US5774694A (en) * | 1996-09-25 | 1998-06-30 | Intel Corporation | Method and apparatus for emulating status flag |
US5875336A (en) | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US6009261A (en) * | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6199202B1 (en) * | 1998-01-06 | 2001-03-06 | Hewlett-Packard Company | Method and apparatus for the inter-operation of differing architectural and run time conventions |
US6018799A (en) * | 1998-07-22 | 2000-01-25 | Sun Microsystems, Inc. | Method, apparatus and computer program product for optimizing registers in a stack using a register allocator |
-
2000
- 2000-01-14 US US09/483,203 patent/US6662361B1/en not_active Expired - Fee Related
- 2000-10-13 TW TW089121467A patent/TW494361B/zh not_active IP Right Cessation
- 2000-12-13 EP EP00311086A patent/EP1118933A3/en not_active Withdrawn
- 2000-12-29 CN CN00129488A patent/CN1127688C/zh not_active Expired - Fee Related
-
2001
- 2001-01-05 SG SG200100114A patent/SG99328A1/en unknown
- 2001-01-11 JP JP2001003173A patent/JP3606561B2/ja not_active Expired - Fee Related
- 2001-01-12 KR KR1020010001884A patent/KR20010086328A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100350379C (zh) * | 2004-07-08 | 2007-11-21 | 国际商业机器公司 | 用于在32位aix内核中自动更新64位的域的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
SG99328A1 (en) | 2003-10-27 |
JP2001216169A (ja) | 2001-08-10 |
CN1306245A (zh) | 2001-08-01 |
KR20010086328A (ko) | 2001-09-10 |
JP3606561B2 (ja) | 2005-01-05 |
EP1118933A2 (en) | 2001-07-25 |
US6662361B1 (en) | 2003-12-09 |
EP1118933A3 (en) | 2004-04-07 |
TW494361B (en) | 2002-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1127688C (zh) | 转变位结构体系中的指令的方法、系统 | |
CN1577268A (zh) | 共享库系统及构建该系统的方法 | |
AU773319B2 (en) | Instruction selection in a multi-platform environment | |
CN101652746B (zh) | 浮点操作的改善以及相关的改善 | |
CN101169718A (zh) | 用于实例化抽象类的系统和方法 | |
CN1672150A (zh) | 用于软件原子化的视图 | |
CN102103481B (zh) | 字节序转换工具 | |
CN1677398A (zh) | 带有嵌套表格的无模式数据映射系统和方法 | |
MXPA04002730A (es) | Puentes de tipo. | |
US20070271553A1 (en) | Method and system for translating assembler code to a target language | |
CN100514294C (zh) | 避免数据处理设备中的数据不一致性的方法和装置 | |
CN1613054A (zh) | 控制指令集体系结构之间的二进制编码翻译的兼容水平 | |
CN1504881A (zh) | 爪哇执行设备和爪哇执行方法 | |
CN1826586A (zh) | 软件原子化 | |
CN102200905A (zh) | 具有紧凑指令集架构的微处理器 | |
CN101051269A (zh) | 智能平台管理接口韧体架构及其建立方法 | |
CN1806225A (zh) | 在具有多指令集的数据处理设备内的指令编码 | |
US6314564B1 (en) | Method for resolving arbitrarily complex expressions at link-time | |
CN1809811A (zh) | 用于借助中心xml配置文件生成分布式java应用的方法和装置 | |
CN112328258A (zh) | 一种编程语言的转换方法及系统 | |
CN108090034B (zh) | 基于集群的单证代码统一编码生成方法和系统 | |
CN100468347C (zh) | 一种在应用模块与com组件之间传递参数的方法及装置 | |
CN116414396A (zh) | 一种llvm的目标定义文件生成方法、装置和电子设备 | |
Rifaieh et al. | SWAMI: integrating biological databases and analysis tools within user friendly environment | |
JP2000347875A (ja) | ファイル移植技術 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031112 Termination date: 20100129 |