国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      允許一種架構(gòu)的代碼模塊使用另一種架構(gòu)的庫模塊的架構(gòu)間兼容模塊的制作方法

      文檔序號:9235274閱讀:200來源:國知局
      允許一種架構(gòu)的代碼模塊使用另一種架構(gòu)的庫模塊的架構(gòu)間兼容模塊的制作方法
      【專利說明】允許一種架構(gòu)的代碼模塊使用另一種架構(gòu)的庫模塊的架構(gòu) 間兼容模塊 【背景技術(shù)】 技術(shù)領(lǐng)域
      [0001] 此處所描述的各實(shí)施例一般設(shè)及代碼在電子設(shè)備上的執(zhí)行。具體而言,此處所描 述的各實(shí)施例一般設(shè)及不同架構(gòu)的代碼在電子設(shè)備上的執(zhí)行。
      [0002] 背景信息
      [0003] 直到目前,大多數(shù)智能電話、蜂窩電話、平板電腦等等都基于32位架構(gòu)。它們具有 32位架構(gòu)處理器和32位操作系統(tǒng)。為該些32位架構(gòu)編寫了各種32位代碼。例如,為該些 設(shè)備編寫了很多移動(dòng)應(yīng)用。此外,還為該些32位架構(gòu)編寫了32位庫。
      [0004] 最近,有帶有64位架構(gòu)的智能電話可用。該些64位架構(gòu)基于64位架構(gòu)處理器和 64位操作系統(tǒng)。例如,蘋果公司最近提供了 iPhone 5S。iPhoneSS包括帶有64位架構(gòu)的 A7處理器巧片和被稱為iOS 7的64位操作系統(tǒng)。還宣告了其他64位架構(gòu)智能電話和/或 它們處于開發(fā)之中。
      [0005] 至少在該些64位架構(gòu)智能電話的部署的初始階段,可能希望能夠提供向后兼容 性,W便已經(jīng)開發(fā)的32位代碼能夠在該些智能電話上運(yùn)行。該將允許各種現(xiàn)有的32位移 動(dòng)應(yīng)用及其他32位代碼繼續(xù)被使用。
      [0006]iPhone5S和iOS7提供該樣的向后兼容性。它們能夠執(zhí)行32位代碼W及64位 代碼。此外,32位代碼還能夠使用32位庫。 【附圖說明】
      [0007] 可通過參考W下描述W及用于示出實(shí)施例的附圖最佳地理解本發(fā)明。在附圖中: [000引圖1是其中可W實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)系統(tǒng)的第一實(shí)施例的框圖。
      [0009] 圖2是其中可W實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)系統(tǒng)的第二實(shí)施例的框圖。
      [0010] 圖3是其中可W實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)系統(tǒng)的第S實(shí)施例的框圖。
      [0011] 圖4是其中可W實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)系統(tǒng)的第四實(shí)施例的框圖。
      [0012] 圖5是架構(gòu)之間的兼容性模塊的實(shí)施例的框圖。
      [0013] 圖6是具有包裝器庫的架構(gòu)之間的兼容性模塊的實(shí)施例的框圖。
      [0014] 圖7是使用功能相互定位來利用架構(gòu)之間的兼容性模塊的包裝器庫來截取控制 流程轉(zhuǎn)移的方法的實(shí)施例的方框流程圖。
      [0015] 圖8是可操作W使用動(dòng)態(tài)加載器模塊的運(yùn)行時(shí)結(jié)構(gòu)來確定何時(shí)更改兼容性模式 的架構(gòu)之間的兼容性模塊的框圖。
      [0016] 圖9A是示出了有序流水線的實(shí)施例和寄存器重命名無序發(fā)布/執(zhí)行流水線的實(shí) 施例的框圖。
      [0017] 圖9B是示出了處理器核的實(shí)施例的框圖,包括禪合到執(zhí)行引擎單元的前端單元, 兩者都禪合到存儲器單元。
      [001引圖lOA是單一處理器核的實(shí)施例的框圖,化及其與管巧上的互連網(wǎng)絡(luò)的連接化及 其第2級(L2)緩存的本地子集。
      [0019] 圖10B是圖10A的處理器核的一部分的展開圖的實(shí)施例的框圖。
      [0020] 圖11是可W具有一個(gè)W上的核、可W具有集成的存儲器控制器,并可W具有集成 的圖形的處理器的實(shí)施例的框圖。
      [0021] 圖12是計(jì)算機(jī)架構(gòu)的第一實(shí)施例的框圖。
      [0022] 圖13是計(jì)算機(jī)架構(gòu)的第二實(shí)施例的框圖。
      [0023] 圖14是計(jì)算機(jī)架構(gòu)的第S實(shí)施例的框圖。
      [0024] 圖15是片上系統(tǒng)架構(gòu)的實(shí)施例的框圖。
      [0025] 圖16是根據(jù)本發(fā)明的各實(shí)施例的使用軟件指令轉(zhuǎn)換器來將源指令集中的二進(jìn)制 指令轉(zhuǎn)換為目標(biāo)指令集中的二進(jìn)制指令的框圖。 【具體實(shí)施方式】
      [0026] 如在背景部分所討論的,i化one 5S和iOS 7提供向后兼容性。32位代碼和64位 代碼兩者都能夠在iPhone 5S上執(zhí)行。32位代碼使用一組32位庫。同樣,64位代碼使用 一組64位庫。然而,該種用于提供向后兼容性的方法的一個(gè)缺點(diǎn)是,iPhone 5S需要包括 該些庫的32位和64位版本兩者。具體而言,包括了一組32位庫,其鏈接到32位代碼,并 被32位代碼使用。包括了另一組64位庫,其鏈接到64位代碼,并被64位代碼使用。存儲 32位庫和64位庫兩者消耗比存儲單一庫所需的更多存儲空間。
      [0027] 此處公開了允許給定架構(gòu)的代碼(例如,32位代碼、舊式代碼等等)使用不同的架 構(gòu)(例如,64位代碼、較新的架構(gòu)等等)的庫的架構(gòu)之間的兼容性模塊。在下面的描述中, 闡述了很多具體細(xì)節(jié)(例如,特定架構(gòu)處理器和操作系統(tǒng)、新的和舊式架構(gòu)之間的差異、架 構(gòu)之間的兼容性模塊、處理器配置、操作序列等等的示例)。然而,在沒有該些具體細(xì)節(jié)的情 況下,也可實(shí)踐實(shí)施例。在其他實(shí)例中,未詳細(xì)示出公知電路、結(jié)構(gòu)和技術(shù),W避免混淆對本 描述的理解。
      [002引圖1是其中可W實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)系統(tǒng)100的第一實(shí)施例的框圖。 在各實(shí)施例中,計(jì)算機(jī)系統(tǒng)可W包括智能電話、蜂窩電話、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、 便攜式媒體播放器、手持式設(shè)備、平板電腦、pad計(jì)算機(jī)、膝上型計(jì)算機(jī)、臺式計(jì)算機(jī)、工作 站、視頻游戲控制臺、機(jī)頂盒、服務(wù)器、網(wǎng)絡(luò)設(shè)備,或其他已知的電子設(shè)備。在某些實(shí)施例中, 計(jì)算機(jī)系統(tǒng)可W表示具有有限的存儲器資源的小手持式計(jì)算機(jī)系統(tǒng),諸如,例如,智能電 話、蜂窩電話、PDA、平板電腦,或手持式設(shè)備,雖然本發(fā)明的范圍不受限制。
      [0029] 計(jì)算機(jī)系統(tǒng)包括處理器102的實(shí)施例和存儲器110的實(shí)施例。處理器和存儲器可 W通過常規(guī)禪合機(jī)制108 (例如,通過一個(gè)或多個(gè)總線、中樞、存儲器控制器、巧片組組件等 等),禪合在一起,或W別的方式彼此進(jìn)行通信。本領(lǐng)域中已知的各種不同的禪合機(jī)制都是 合適的。存儲器可W包括一個(gè)或多個(gè)存儲器設(shè)備和/或一個(gè)或多個(gè)不同類型的存儲器,如 通常在該樣的計(jì)算機(jī)系統(tǒng)中所使用的。
      [0030] 在所示實(shí)施例中,處理器是64位架構(gòu)處理器,但是本發(fā)明的范圍不僅限于此。在 某些實(shí)施例中,處理器可W是通用處理器。替換地,處理器可W是專用處理器。合適的專用 的處理器的示例包括,但不僅限于,通信處理器、圖形處理器、網(wǎng)絡(luò)處理器、密碼處理器、協(xié) 處理器、嵌入式處理器、數(shù)字信號處理器值SP) W及控制器(例如,微控制器),僅舉幾個(gè)例 子而已。處理器可W是各種復(fù)雜指令集計(jì)算(CISC)處理器、各種精簡指令集計(jì)算化ISC) 處理器、各種超長指令字(VLIW)處理器中的任何一種,其各種混合型,或具有該樣的不同 的處理器的組合(例如,在不同的核中)。
      [0031] 如圖所示,在某些實(shí)施例中,64位架構(gòu)處理器可W具有對32位架構(gòu)處理器不可用 的64位架構(gòu)資源104。例如,64位架構(gòu)資源可W包括在32位處理器中不存在的高級架構(gòu) 資源和/或性能增強(qiáng)特征。例如,64位處理器可W具有額外的架構(gòu)寄存器,增強(qiáng)應(yīng)用二進(jìn)制 接口(ABU、用于過程調(diào)用的改善的參數(shù)傳遞邏輯,等等。例如,與IA 32架構(gòu)相比,Intel飯 64架構(gòu)具有較大數(shù)量的寄存器、額外的浮點(diǎn)單指令、多數(shù)據(jù)(SIMD)功能、允許通過寄存器 而并非通過堆找訪問來進(jìn)行參數(shù)傳遞的64位ABI。該些高級架構(gòu)資源和/或性能增強(qiáng)特征 可W幫助改善軟件的性能。該些資源或特征是向64位計(jì)算的增長的趨勢的理由之一。
      [0032] 再次參考圖1,存儲器110包括各種不同類型的軟件模塊。在所示實(shí)施例中,軟件 模塊包括64位操作系統(tǒng)模塊112。64位操作系統(tǒng)模塊可W包括與處理器的64位ABI兼容 的系統(tǒng)級別的軟件。64位操作系統(tǒng)模塊一般被設(shè)計(jì)為能夠使用64位處理器的某些或全部 64位架構(gòu)資源104。
      [0033] 存儲器還包括一個(gè)或多個(gè)32位代碼模塊116,可任選地,W及一個(gè)或多個(gè)64位代 碼模塊114。在某些實(shí)施例中,該些可W包括編譯的和/或二進(jìn)制代碼。該樣的32位和64 位代碼模塊的示例包括,但不僅限于,應(yīng)用模塊。在智能電話或其他移動(dòng)設(shè)備的特定情況 下,應(yīng)用模塊可W表示移動(dòng)應(yīng)用或APP。一方面,32位代碼模塊可W表示W(wǎng)前為前輩32位 架構(gòu)編寫的舊式或現(xiàn)有的代碼模塊,雖然本發(fā)明的范圍不受限制。在另一方面,32位代碼模 塊可W是新編寫的32位代碼模塊。32位代碼模塊可能為32位架構(gòu)處理器編譯。
      [0034] 存儲器還包括64位庫模塊118。在某些實(shí)施例中,如虛線所示,存儲器和/或計(jì)算 機(jī)系統(tǒng)可W可任選地包括32位庫模塊120。可另選地,在其他實(shí)施例中,如32位庫模塊中 的"X"所示,存儲器和/或計(jì)算機(jī)系統(tǒng)可W可任選地省略該樣的32位庫模塊,甚至在32位 代碼模塊被存儲在存儲器中并且能夠在64位處理器上運(yùn)行的情況下。32位和64位庫模塊 的示例包括,但不僅限于,C標(biāo)準(zhǔn)庫、數(shù)學(xué)庫、系統(tǒng)庫等等的那些。
      [0035] 在操作過程中,32位代碼和64位代碼兩者都可W在64位處理器上運(yùn)行。例如,64 位操作系統(tǒng)模塊、32位代碼模塊W及64位庫模塊的指令或代碼可W在64位處理器上執(zhí)行 或運(yùn)行。通過允許舊式32位應(yīng)用在較新的64位處理器上運(yùn)行,該可W潛在地用于提供向 后兼容性。在某些實(shí)施例中,32位和64位代碼兩者都可W在同一個(gè)線程內(nèi)運(yùn)行。在某些實(shí) 施例中,64位處理器可W具有可選32位或64位代碼執(zhí)行模式106, W指出64位代碼還是 32位代碼(在某些實(shí)施例中,32位代碼W及64位代碼)當(dāng)前正在由處理器執(zhí)行。例如,在 一個(gè)實(shí)施例中,模式106可W表示允許64位代碼但不允許32位代碼在64位處理器上執(zhí)行 的第一 64位模式,W及允許32位代碼在64位處理器上執(zhí)行的第二32位模式。一方面,32 位模式還可W允許64位代碼在64位處理器上執(zhí)行。在另一方面,32位模式可能不允許64 位代碼在64位處理器上執(zhí)行。64位處理器可W可任選地默認(rèn)地在64位模式下操作,直到 使模式更改進(jìn)入32位模式,雖然該不是必需的。其他處理器不必一定具有用W執(zhí)行不同類 型代碼的不同模式(例如,可W具有32位/64位混合模式)。
      [0036] 如上文所討論的,i化one5S還通過允許32位代碼在64位架構(gòu)上運(yùn)行,來允許向 后兼容性。該通過具有庫的32位和64位版本兩者來實(shí)現(xiàn)。包括了第一組32位庫,其鏈接 到32位代碼(例如,32位舊式移動(dòng)應(yīng)用),并被它使用。包括了第二組64位庫,其鏈接到 64位代碼,并被64位代碼使用。32位代碼只能夠使用32位庫模塊。然而,該種方法一個(gè) 可能的缺點(diǎn)是需要繼續(xù)提供32位庫,供32位代碼使用。一則,需要另外的存儲空間W存儲 32位庫。特別是對于智能電話、平板電腦及其他小電子設(shè)備,存儲空間的量一般傾向于有 限。此外,容納32位庫所需的另外的存儲空間可能傾向于增加設(shè)備的總制造成本。
      [0037] 該種方法的另一可能的缺點(diǎn)是,32位代碼只能夠使用32位庫,但不能使用64位 庫。該可能傾向于限制性能,因?yàn)?2位庫一般不被設(shè)計(jì)為能夠使用64位架構(gòu)資源104(例 如,高級架構(gòu)和/或性能增強(qiáng)資源)。該些資源一般不對32位庫計(jì)劃在其上面運(yùn)行的對等 (例如,前輩)32位架構(gòu)處理器可用。32位庫未被設(shè)計(jì)為使用,并且不能使用全部該些64 位架構(gòu)資源。因此,由于可W通過64位庫實(shí)現(xiàn)的64位架構(gòu)資源,32位庫一般不能夠?qū)崿F(xiàn)性 貪良白勺f是胃。
      [003引再次參考圖1,計(jì)算機(jī)系統(tǒng)包括32位至和/或來自64位(32位/64位)兼容性 模塊122的實(shí)施例。32位/64位兼容性模塊是32位和64位架構(gòu)的架構(gòu)之間的兼容性模 塊的一個(gè)示例,雖然在其他實(shí)施例中,可W使用其他架構(gòu)。在某些實(shí)施例中,32位/64位兼 容性模塊可W被配置為或可操作W允許32位模塊116連接到并使用64位庫模塊118 (例 如,C標(biāo)準(zhǔn)庫、數(shù)學(xué)庫、glibc、系統(tǒng)庫等等)。在某些實(shí)施例中,兼容性模塊可W允許32位 代碼在其地址空間(例如,與只是特殊模塊的有限的集合相反,諸如WoW64. dl 1、WoW64Win. dll、Wow64Cpu. dll,或化dll. dll)使用任何任意64位庫模塊。32位/64位兼容性模塊可 W被配置為或可操作,W作出適合于允許32位代碼模塊使用64位庫模塊的各種兼容性更 改。例如,該些更改可W包括考慮32位代碼模塊和64位庫模塊的ABI之間的差異的更改。 在某些實(shí)施例中,32位/64位兼容性模塊可W包括二進(jìn)制轉(zhuǎn)換模塊。在某些實(shí)施例中,32 位/64位兼容性模塊可W被配置為或可操作W作出代碼類型執(zhí)行模式更改(例如,在32位 和64位代碼執(zhí)行模式之間改變)。在各實(shí)施例中,32位/64位兼容性模塊可硬件(例 如,集成電路、晶體管或其他電路元件,等等),固件(例如,R0M、EPROM、閃存,或其他持久性 或非易失性存儲器和微代碼、微指令,或存儲在其中的其他較低級別的指令),軟件(例如, 存儲在存儲器中的較高級別的指令),或其組合來實(shí)現(xiàn)。
      [0039] 有利地,兼容性模塊可W幫助提供向后兼容性并允許32位代碼模塊在具有64位 操作系統(tǒng)模塊的系統(tǒng)中的64位處理器上執(zhí)行或運(yùn)行。由于32位代碼模塊能夠使用64位 庫模塊,并且不是使用32位庫模塊所必需的,因此,在某些實(shí)施例中,可W可任選地省略32 位庫模塊。目P,在某些實(shí)施例中,存儲器和/或計(jì)算機(jī)系統(tǒng)可W沒有32位庫模塊。有利地, 省略32位庫模塊可W幫助騰出否則存儲它們所需的存儲空間,和/或可W通過需要提供較 小的總的存儲空間量,幫助降低制造系統(tǒng)的成本。特別是對于智能電話、平板電腦及其他相 對較小的電子設(shè)備,避免存儲32位庫模塊的必要性可W提供優(yōu)點(diǎn)??闪磉x地,在其他實(shí)施 例中,如果需要,可W包括32位庫模塊。在某些實(shí)施例中,至少一個(gè)32位代碼模塊能夠借 助于兼容性模塊,使用至少一個(gè)64位庫模塊,即使其他32位代碼模塊使用32位庫模塊。
      [0040] 有利地,允許32位代碼模塊使用64位庫模塊還可W幫助改善性能。例如,與32位庫模塊相比,64位庫模塊可W更好地能夠使用64位處理器的64位架構(gòu)資源104(例如, 高級架構(gòu)和/或性能增強(qiáng)資源)。例如,64位庫模塊能夠使用比對32位庫模塊可用的更多 的寄存器,64位庫模塊能夠通過寄存器而并非堆找來傳遞參數(shù),與32位庫模塊等等的情況 相同。結(jié)果,如果32位代碼模塊能
      當(dāng)前第1頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1