亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

轉變位結構體系中的指令的方法、系統(tǒng)、程序和數據結構的制作方法

文檔序號:6336865閱讀:289來源:國知局
專利名稱:轉變位結構體系中的指令的方法、系統(tǒng)、程序和數據結構的制作方法
優(yōu)選實施例提供用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令的方法、系統(tǒng)、程序和數據結構。
對于計算機編寫的很多應用程序都是使用32位結構體系。但是,大規(guī)模處理系統(tǒng)開始使用64位結構體系。64位計算結構體系本質上提高了可使用的地址空間、寄存器容量和數據結構大小。而且,64位計算提供比32位快得多的處理和數據傳送。例如一個64位指令可處理另外占用幾個32位指令加上“清除”碼的操作。64位系統(tǒng)可直接訪問多個存儲器而不使用索引和寄存器尋址方案。當前的64位計算機包括太陽微系統(tǒng)公司(Sun Microsystems Corporation)的Solaris7操作環(huán)境、康柏計算機公司的AlphaStation 200以及使用由數字設備公司研制的64位處理器和因特爾公司的Merced與Itanium處理器的其它康柏公司產品,它們是基于IA-64結構體系的,這個體系是由因特爾公司創(chuàng)立的64位結構體系。
盡管64位計算有好處,很多程序仍然使用32位指令來編寫。因此,編輯程序開發(fā)商必須繼續(xù)支持32位程序,即使工業(yè)上已經發(fā)展到64位結構體系計算機。為維持與現(xiàn)有結構體系和編輯程序的兼容性(即隱藏編程器的復雜性),編輯程序開發(fā)商必須設置就何時何地使用64位性能這一點作有效報導。從而,技術上需要開發(fā)能夠處理32位和64位計算的編輯程序來支持32位與64位結構體系之間的轉換。
為克服上述已有技術的限制,優(yōu)選實施例公開用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令的方法、系統(tǒng)、程序和數據結構。代碼變換來自具有操作碼和至少一個操作數的第一位結構體系中的指令。訪問一個包括用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令的信息的變換表。如果變換表包括指示修改第一位結構體系中的指令的信息,則第一位結構體系中的指令被變換為第二位結構體系中的相應的指令。變換是基于修改第一位結構體系中的指令來產生第二位結構體系中的指令的變換操作的。
第一位結構體系可以是32位結構體系,第二位結構體系可以是64位結構體系。
在又一實施例中,變換表包括用于每個操作碼的一個入口。如果要執(zhí)行變換,用于每個操作碼的入口可包括指向操作數表的指針。如果用于每個操作碼的入口不包括指向一個操作數表的指針,不執(zhí)行變換。
操作數表包括一個入口,用于操作數位結構體系類型的每個可能的組合。操作數表中的每一入口代表至少一個變換操作。在這種情況下,變換指令包括確定操作數表中的一個入口,該操作數表具有操作數位結構體系類型,該結構類型與第一位結構體系中的指令中的每個操作數的位結構體系類型相匹配。之后執(zhí)行至少一個變換操作來把第一位結構體系中的指令變換為第二位結構體系。
優(yōu)選的實施例提供一種技術,用于把來自一個結構體系的指令變換成另一個,如32位到64位。對優(yōu)選的實施例技術,變換代碼,如中間代碼為32位指令的編輯程序不一定被修改。而是,使用不同的表來處理結果得到的32位指令,這些表為每一個操作碼類型提供變換操作。優(yōu)選的實施例尤其用于需要支持32位和64位結構體系的機器,以允許源程序使用32位指令和數據來編寫,并且仍能在該機器上操作。
現(xiàn)在參考附圖,其中相同的參考序號從頭到尾都表示相應的部件

圖1圖示出編輯程序的組成部分;圖2圖示出根據本發(fā)明的優(yōu)選實施例的編輯程序的代碼發(fā)生器部分的組成部分;圖3圖示在代碼發(fā)生器中執(zhí)行的邏輯線路,用于根據本發(fā)明的優(yōu)選實施例把32位指令變換為64位指令;圖4提供各目的一些示例,用于根據本發(fā)明的優(yōu)選實施例把“存儲”命令從32位變換為64位格式。
在下面的描述中,以附圖為參考,這些附圖構成描述的一部分,并且圖示出本發(fā)明的幾個實施例。應理解可使用其它實施例,并且在不背離本發(fā)明的范圍的情況下,可進行結構和操作變化。
圖1圖示出編輯程序2的一般組成部分。編輯程序2接收以高級源語言編寫的源程序4作為輸入。前端處理6通過掃描、分析和編譯源程序4為具體的中間表示8把源程序4轉換為中間代碼8,從而在中間代碼8中出現(xiàn)的名稱值以目標機器可直接控制的量來表示,例如位、整數、實數、指針等。代碼發(fā)生器10接收中間代碼8作為輸入,并產生目標程序12作為輸出,該目標程序可包括絕對機器語言、可再定位的機器語言或匯編語言。
打算在目標計算機14上執(zhí)行目標程序12。在優(yōu)選的實施例中,目標計算機14能夠處理32位和64位指令。例如,目標計算機可實施Intel IA-64結構體系,其支持32位和64位指令設置。Intel IA-64處理器可在支持32位應用程序的執(zhí)行的64位操作系統(tǒng)上運行32位應用程序。Intel IA-64結構體系還能夠執(zhí)行混合的32和64位代碼。Intel IA-64結構體系的具體細節(jié)在順序號No.245188-011(1999年3月Intel公司版權)的Intel的出版物“IA-64應用程序開發(fā)商結構體系指南”中具體說明,在這里引入該出版物,將其整個作為參考。
圖2圖示代碼發(fā)生器10的組成部分,根據優(yōu)選實施例把32位指令變換為64位指令。語句處理器模塊20接收中間代碼8作為輸入,并產生32位指令22。32位指令被輸入到變換器24,其隨后應用編輯程序目錄28、指令變換表30、變換操作數表32以及替代表34將32位指令轉換為64位指令26。這些表28、30、32和34提供變換變換器24需要的信息,以執(zhí)行32向64位的變換。編輯程序目錄28從32位指令來組裝并包括該指令上的信息,這些信息包括操作數的性能和用于指令的數據字段。例如通常的指令形式為op操作數1,操作數2這里“op”是操作代碼,表示操作類型,操作數1和操作數2是經受操作(op)的數據。例如,操作數1可以是進行操作的源數據,操作數2是包括操作結果的目標。操作數1和操作數2是可尋址的位置,如存儲器中的寄存器。編輯程序目錄28包括關于源程序4中限定和使用的所有數據的性能的信息,包括特定寄存器中的數據(操作數)是32位還是64位、數據字段的大小等。
指令變換表30包括用于每個操作類型的入口,即各個op代碼??商峁┧饕齺戆烟囟ú僮鞔a映射到指令變換表30中的入口。在優(yōu)選的實施例中,指令變換表30包括包含0或一個地址的指針列。如果指令不被變換,那么指令變換表30中相應的入口將被設置為0。否則,如果要變換指令,那么指令變換表30中的入口將包括對一個變換操作數表32的地址。在優(yōu)選的實施例中,對于指令變換表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,其提供關于如何執(zhí)行對于特定操作數結構體系組合的變換的信息。例如,對于上述的STORE指令的操作數結構體系類型的4種可能組合的每一個,可執(zhí)行不同的變換。每個替代表34將包括指令變換器24如何實施變換,即變換操作的字段。在優(yōu)選的實施例中,替代表34將包括一個字段,代表新的變換op代碼或指令,以用在進行變換的指令op代碼情況中,還包括一個標記,代表是更新寄存器狀態(tài)表以表示寄存器有32位還是64位數據,還是保持寄存器狀態(tài)不變。這個寄存器狀態(tài)表可以是編輯程序控制結構的一部分或被維持在編輯程序目錄28中。也可提供其它標記來表示要執(zhí)行的進一步的變換步驟,以完成輸入32位指令22從32位到64位的變換。
變換的一部分可包括改變op代碼的名稱。例如,32位指令可具有助記的格式,如用于存儲的ST和用于裝載的L,64位指令可稍微變化,如用于存儲的STG和用于裝載的LG?!癎”助記代表指令具有至少一個64位操作數。在另一個實施例中,其它助記可被用于區(qū)分32和64位指令。
圖3圖示出在代碼發(fā)生器10的變換器24組成部分中實施的邏輯線路,以使用表28、30、32和34來把32位指令變換為64位指令??刂崎_始于組塊100,用變換器24接收從語句處理器模塊20產生的32位指令。變換器24查找(在組塊102)指令變換表30中的用于接收的指令的op代碼的入口。如所討論的那樣,這個查找操作可包括使用索引來定位相應于特定op代碼的入口。如果在查找的入口處的值是0(在組塊104),那么變換處理結束(在塊106),因為0代表不執(zhí)行對特定的op代碼的變換處理。否則,入口中的值是一個指向變換操作數表32的指針。變換器24訪問(在組塊108)由入口中的指針尋址的變換操作數表32。變換器24還確定(組塊110)從編輯程序目錄28接收到的指令的操作數的性能,如各個操作數是32位還是64位。
變換器24然后將經變換操作數表32中的入口循環(huán)(在組塊112)以定位具有與接收到的指令的操作數的性能匹配的操作數性能的入口。例如,如果接收到的指令的操作數分別是32位和64位,那么將選擇對于這些操作數位結構體系值指定的變換操作數表32中的入口,在用于上面的STORE指令的入口的例子中,其包括上面列出的第三入口。變換器24然后將訪問(在組塊114)在變換操作數表32中定位的入口中列出的替代表34。然后,變換器24將以在替代表34中列出的一個或多個替代op代碼來替代(在組塊116)接收到的指令的op代碼,從而把32位指令變換為64位指令26。在組塊118,作為替代表34中指示的變換的結果,變換器24更新寄存器狀態(tài)表以表示新的32位或64位狀態(tài)。例如,被變換的接收到的32位指令中的任何操作數將在變換后具有64位值。在這種情況下,用于原來的32位操作數的寄存器狀態(tài)將被更新來反映它現(xiàn)在是64位操作數。
圖4有一個表150,表示對于STORE指令如何發(fā)生替代。表150中的每一入口將形成變換操作數表32中的用于STORE指令的入口。一找到具有與32位指令22的操作數值匹配的操作數1和2的操作數值的入口,表150列出替代操作,包括新的指令和是否寄存器狀態(tài)表被更新。從而表150組合替代表并對于每個可能操作數值的組合變換操作數表的入口。由于在變換前操作數1是32位值,在表150中的第三和第四入口表示寄存器1狀態(tài)標記被更新。新的指令中的“G”助記表示指令是64位指令。而且,在表150中,具有一個32位操作數1的32位STORE指令被變換為兩個64位指令。
同樣,對于每個其它的32位指令將有一個變換操作數表和替代入口或表。在優(yōu)選的實施例中,對于很多指令,如ADD、SUBSTRACT、MULTIPLY、DIVIDE、COMPARE、AND、OR和EXCLUSIVE OR,只要一個操作數是64位,替代表34將包括變換操作,以指令變換器24來把其它操作數變換為64位。但是,如果寄存器被用戶表明為32位,則不指令變換器24把這種寄存器變換為64位。對變換器24的關于如何把32位指令變換為64位的另外的指令將被編碼到替代表34中。
優(yōu)選的實施例提供把32位指令變換為64位的方法、系統(tǒng)和程序。優(yōu)選的實施例技術的一個優(yōu)點是從中間代碼產生32位指令的實際語句處理器模塊20不一定被改變來完成變換。反而,增加獨立的表28、30、32和34以及變換器24來執(zhí)行把32位指令變換為64位指令的附加步驟。以這種方式,用于語句處理器模塊20的編輯程序代碼不必要被修改,并且初始32位指令使用當前編輯程序來產生。編輯程序開發(fā)商僅需要增加表和變換器24邏輯線路來執(zhí)行最終的變換,而不需要修改或干擾把中間代碼變換為32位指令的代碼發(fā)生器部分。從而優(yōu)選的實施例提供一種方法來把32位指令變換為用于目標計算機的64位,該計算機僅以64位指令操作,或者把32位指令變換為用于多個計算機的64位,這些計算機諸如是使用Intel IA-64結構體系的系統(tǒng),可處理32位和64位指令。
這對本發(fā)明的優(yōu)選實施例的描述得出結論。下面描述一些完成本發(fā)明的另外的實施例。
優(yōu)選的實施例可以作為一個方法、裝置或使用標準編程和/或工程技術制造軟件、固件、硬件或它們的任何組合的制造物件來實施。這里使用的術語“制造物件”(或“計算機程序產品”)意在包括可從一個或多個計算機可讀設備、載體、或媒體如磁性存儲媒體“軟盤”、CD-ROM光盤、全息單元、易失性或非易失性電存儲器文件服務器訪問的一個或多個計算機程序和/或數據文件,該文件服務器經網絡傳輸線路、無線傳輸媒體、空間傳播的信號等提供對程序的訪問。當然,熟悉本領域的技術人員將認識到在不背離本發(fā)明的范圍的情況下可對這種配置進行很多修改。
關于把32位變換為64位指令描述了優(yōu)選實施例。但是,優(yōu)選實施例的表和變換方法可應用于除32和64位之外的任何指令格式和位結構體系,如8到16,16到32,或者用于尚未開發(fā)出來的結構體系的變換。這是可能的,因為優(yōu)選實施例技術使用當前編輯技術把初始指令編輯成第一位格式結構體系,然后使用表和變換器來把第一位結構體系中的指令變換為第二位格式結構體系。而且,可執(zhí)行從更大位結構體系如64位到更小位結構體系如32位的變換。
優(yōu)選實施例描述了編輯程序目錄、指令變換表、變換操作數表和替代表為分開的表。但是,在另外的實施例中,描述的分開的表中的數據可被組合到一個或多個表中。
總之,本發(fā)明提供把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令的方法、系統(tǒng)、程序和數據結構。代碼變換自具有操作代碼和至少一個操作數的第一位結構體系中的指令。訪問一個包括用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系的信息的變換表。如果變換表包括代表修改第一位結構體系中的指令的信息,則第一位結構體系中的指令被變換為第二位結構體系中的相應的指令。變換是基于修改第一位結構體系中的指令來產生第二位結構體系中的指令的變換操作的。
本發(fā)明的優(yōu)選實施例的前面的描述是為了圖示和描述的目的提供的,它并非意在完全或限制本發(fā)明于所公開的精確形式。在上述教導的提示下,可能進行很多修改和變化。本發(fā)明的范圍不是由這個具體的描述限定而是由后附的權利要求限定。上述的說明、舉例和數據提供本發(fā)明組成的制造和應用的完整的描述。由于在不背離本發(fā)明的精神和范圍的情況下,可作出本發(fā)明的很多實施例,本發(fā)明歸于后附的權利要求。
* *Solaris是太陽微系統(tǒng)公司的商標;Itanium是因特公司的商標,Merced和IA-64是因特公司的代碼名稱。
權利要求
1.用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令的方法,包括把代碼變換為具有操作碼和至少一個操作數的第一位結構體系中的指令;訪問一個包括用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系的信息的變換表;如果變換表包括代表修改第一位結構體系中的指令的信息,則把第一位結構體系中的指令變換為第二位結構體系中的相應的指令,其中變換是基于修改第一位結構體系中的指令來產生第二位結構體系中的指令的變換操作的。
2.根據權利要求1的方法,其中變換表包括用于每個操作碼的一個入口,其中如果要執(zhí)行變換,用于每個操作碼的入口能夠包括指向操作數表的指針;其中如果用于該操作碼的入口不包括指向一個操作數表的指針,不執(zhí)行變換。
3.根據權利要求2的方法,其中操作數表包括一個入口,用于操作數位結構體系類型的每個可能的組合,其中操作數表中的每一入口代表至少一個變換操作,其中變換指令包括確定操作數表中的一個入口,該操作數表具有操作數位結構體系類型,該結構類型與第一位結構體系中的指令中的每個操作數的位結構體系類型相匹配;及執(zhí)行至少一個變換操作來把第一位結構體系中的指令變換為第二位結構體系。
4.根據權利要求3的方法,其中確定第一位結構體系中的指令的各個操作數的位結構體系類型包括處理一個目錄,該目錄包括關于第一位結構體系中的各個指令的性能的信息。
5.根據權利要求3的方法,其中執(zhí)行至少一個變換操作包括改變操作碼的名稱來表示操作碼處于第二位結構體系。
6.根據權利要求3的方法,其中執(zhí)行至少一個變換操作包括更新包括關于各個寄存器的信息的寄存器狀態(tài)表,該寄存器包括操作數來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系。
7.根據權利要求6的方法,其中在進行變換的指令中的一個操作數處于第一位結構體系并且經受變換的指令中的另一個操作數處于第二位結構體系時,寄存器狀態(tài)表被更新來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系。
8.根據權利要求3的方法,其中操作數表中的每一入口包括一個指向替代表的指針,該替代表包括至少一個變換操作以把第一位結構體系中的指令變換為第二位結構體系。
9.根據權利要求1的方法,其中第一位結構體系中的指令能具有第一位結構體系和第二位結構體系中的操作數。
10.根據權利要求1的方法,其中第一位結構體系是32位結構體系而第二位結構體系是64位結構體系。
11.用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令的系統(tǒng),包括把代碼變換為具有操作碼和至少一個操作數的第一位結構體系中的指令的裝置;訪問一個包括用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系的信息的變換表的裝置;如果變換表包括代表修改第一位結構體系中的指令的信息,則把第一位結構體系中的指令變換為第二位結構體系中的相應的指令的裝置,其中變換是基于修改第一位結構體系中的指令來產生第二位結構體系中的指令的變換操作的。
12.根據權利要求11的系統(tǒng),其中變換表包括用于每個操作碼的一個入口,其中如果要執(zhí)行變換,用于每個操作碼的入口能夠包括指向操作數表的指針;其中如果用于該操作碼的入口不包括指向一個操作數表的指針,不執(zhí)行變換。
13.根據權利要求12的系統(tǒng),其中操作數表包括一個入口,用于操作數位結構體系類型的每個可能的組合,其中操作數表中的每一入口代表至少一個變換操作,其中變換指令的裝置包括確定操作數表中的一個入口的裝置,該操作數表具有操作數位結構體系類型,該結構類型與第一位結構體系中的指令中的每個操作數的位結構體系類型相匹配;及執(zhí)行至少一個變換操作來把第一位結構體系中的指令變換為第二位結構體系的裝置。
14.根據權利要求13的系統(tǒng),其中確定第一位結構體系中的指令的各個操作數的位結構體系類型的裝置包括處理一個目錄,該目錄包括關于第一位結構體系中的各個指令的性能的信息。
15.根據權利要求13的系統(tǒng),其中執(zhí)行至少一個變換操作的裝置包括改變操作碼的名稱來表示操作碼處于第二位結構體系。
16.根據權利要求13的系統(tǒng),其中執(zhí)行至少一個變換操作的裝置包括更新包括關于各個寄存器的信息的寄存器狀態(tài)表,該寄存器包括操作數來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系。
17.根據權利要求16的系統(tǒng),其中在進行變換的指令中的一個操作數處于第一位結構體系并且經受變換的指令中的另一個操作數處于第二位結構體系時,寄存器狀態(tài)表被更新來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系。
18.根據權利要求13的系統(tǒng),其中操作數表中的每一入口包括一個指向替代表的指針,該替代表包括至少一個變換操作以把第一位結構體系中的指令變換為第二位結構體系。
19.根據權利要求13的系統(tǒng),其中第一位結構體系中的指令能具有第一位結構體系和第二位結構體系中的操作數。
20.根據權利要求13的系統(tǒng),其中第一位結構體系是32位結構體系,第二位結構體系是64位結構體系。
21.一種制造物件,用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令,該制造物件包括計算機使用的媒體,該媒體包括嵌入其中的至少一個計算機程序,該程序能夠引起計算機執(zhí)行把代碼變換為具有操作碼和至少一個操作數的第一位結構體系中的指令;訪問一個包括用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系的信息的變換表;如果變換表包括代表修改第一位結構體系中的指令的信息,則把第一位結構體系中的指令變換為第二位結構體系中的相應的指令,其中變換是基于修改第一位結構體系中的指令來產生第二位結構體系中的指令的變換操作的。
22.根據權利要求21的制造物件,其中變換表包括用于每個操作碼的一個入口,其中如果要執(zhí)行變換,用于每個操作碼的入口可包括指向操作數表的指針;其中如果用于該操作碼的入口不包括指向一個操作數表的指針,不執(zhí)行變換。
23.根據權利要求22的制造物件,其中操作數表包括一個入口,用于操作數位結構體系類型的每個可能的組合,其中操作數表中的每一入口代表至少一個變換操作,其中變換指令包括確定操作數表中的一個入口,該操作數表具有操作數位結構體系類型,該結構類型與第一位結構體系中的指令的每個操作數的位結構體系類型相匹配;及執(zhí)行至少一個變換操作來把第一位結構體系中的指令變換為第二位結構體系。
24.根據權利要求23的制造物件,其中確定第一位結構體系中的指令的各個操作數的位結構體系類型包括處理一個目錄,該目錄包括關于第一位結構體系中的各個指令的性能的信息。
25.根據權利要求23的制造物件,其中執(zhí)行至少一個變換操作包括改變操作碼的名稱來表示操作碼處于第二位結構體系。
26.根據權利要求23的制造物件,其中執(zhí)行至少一個變換操作包括更新包括關于各個寄存器的信息的寄存器狀態(tài)表,該寄存器包括操作數來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系。
27.根據權利要求26的制造物件,其中在經受變換的指令中的一個操作數處于第一位結構體系并且進行變換的指令中的另一個操作數處于第二位結構體系時,寄存器狀態(tài)表被更新來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系。
28.根據權利要求23的制造物件,其中操作數表中的每一入口包括一個指向替代表的指針,該替代表包括至少一個變換操作以把第一位結構體系中的指令變換為第二位結構體系。
29.根據權利要求21的制造物件,其中第一位結構體系中的指令能具有第一位結構體系和第二位結構體系中的操作數。
30.根據權利要求21的制造物件,其中第一位結構體系是32位結構體系,第二位結構體系是64位結構體系。
31.一種計算機可讀數據傳輸媒體,包含至少一個數據結構,用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系中的指令,包括至少一個包括信息的變換表,該信息用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系,其中如果變換表包括代表修改第一位結構體系中的指令的信息,則把第一位結構體系中的指令變換為第二位結構體系中的相應的指令;以及變換操作代表執(zhí)行修改第一位結構體系中的指令以產生第二位結構體系中的指令的操作。
32.根據權利要求31的計算機可讀數據傳輸媒體,還包括至少一個操作數表,其中變換表包括用于每個操作碼的一個入口,其中如果要執(zhí)行變換,用于每個操作碼的入口能包括指向操作數表的指針;其中如果用于每個操作碼的入口不包括指向一個操作數表的指針,不執(zhí)行變換。
33.根據權利要求32的計算機可讀數據傳輸媒體,其中操作數表包括一個入口,用于操作數位結構體系類型的每個可能的組合,其中操作數表中的每一入口代表至少一個變換操作,其中該操作數表包括具有操作數位結構體系類型的一個入口,該結構類型與第一位結構體系中的指令的每個操作數的位結構體系類型相匹配,其中執(zhí)行至少一個變換操作來把第一位結構體系中的指令變換為第二位結構體系。
34.根據權利要求33的計算機可讀數據傳輸媒體,還包括一個目錄,該目錄包括關于第一位結構體系中的各個指令的性能的信息,其中確定第一位結構體系中的指令的各個操作數的位結構體系類型包括處理該目錄來確定各個指令的性能。
35.根據權利要求33的計算機可讀數據傳輸媒體,還包括一個包括關于各個寄存器的信息的寄存器狀態(tài)表,該寄存器包括操作數來表示包括經受變換的指令中的一個操作數的寄存器處于第二位結構體系,其中寄存器狀態(tài)表在執(zhí)行至少一個變換操作時被更新。
36.根據權利要求33的計算機可讀數據傳輸媒體,其中操作數表中的每一入口包括一個指向替代表的指針,該替代表包括至少一個變換操作以把第一位結構體系中的指令變換為第二位結構體系。
全文摘要
公開用于把第一位結構體系例如32位中的指令轉變?yōu)榈诙唤Y構體系例如64位中的指令的方法、系統(tǒng)、程序和數據結構。代碼變換自具有操作碼和至少一個操作數的第一位結構體系中的指令。訪問一個包括用于把第一位結構體系中的指令轉變?yōu)榈诙唤Y構體系的信息的變換表。如果變換表包括代表修改第一位結構體系中的指令的信息,則第一位結構體系中的指令被變換為第二位結構體系中的相應的指令。變換是基于修改第一位結構體系中的指令來產生第二位結構體系中的指令的變換操作的。
文檔編號G06F9/45GK1306245SQ00129488
公開日2001年8月1日 申請日期2000年12月29日 優(yōu)先權日2000年1月14日
發(fā)明者A·O·杰克遜 申請人:國際商業(yè)機器公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1