一種可執行x86指令集架構(ISA)機器語言程序以及高級精簡指令集機器(ARM)ISA機器語言程序的微處理器。該微處理器包含一指令模式,指示該微處理器擷取一x86ISA或一(ARM)ISA機器語言程序指令,該微處理器更包含復數個特定模型寄存器,控制該微處理器操作面向。當該指令模式指示該微處理器擷取x86ISA機器語言程序指令時,每一特定模型寄存器可經由一x86ISA?RDMSR/WRMSR指令而存取,且該x86ISA?MRRC/MCRR指令是特定該特定模型寄存器的地址。當該指令模式指示該微處理器擷取ARM?ISA機器語言程序指令時,每一特定模型寄存器可經由一ARM?ISA?MRRC/MCRR指令而存取,且該ARM?ISA?MRRC/MCRR指令是特定該特定模型寄存器的地址。
【技術實現步驟摘要】
本專利技術關于微處理器的
,特別是關于控制寄存器對應于異質指令集架構的微處理器。
技術介紹
由 Intel Corporation of Santa Clara, California 開發出來的 x86 處理器架構以及由ARM Ltd. of Cambridge, UK開發出來的高級精簡指令集機器(advanced risemachines, ARM)架構是計算機領域中兩種廣為人知的處理器架構。許多使用ARM或x86處理器的計算機系統已經出現,并且,對于此計算機系統的需求正在快速成長。現今,ARM架構處理核心為主宰低功耗、低價段的計算機市場的需求,例如手機、手持式電子產品、平板計算機、網絡路由器與集線器、機頂盒等。舉例來說,蘋果iPhone與iPad主要的處理能力即是由ARM架構的處理核心提供。另一方面,x86架構處理器則是主宰需要高效能的高價段市場的需求,例如膝上計算機、桌上型計算機與服務器等。然而,隨著ARM核心效能的提升,以及某些x86處理器在功耗與成本的改善,前述低價段與高價段市場的界線逐漸模糊。在行動運算市場,如智能型手機,這兩種架構已經開始激烈競爭。在膝上計算機、桌上型計算機與服務器市場,可以預期這兩種架構將會有更頻繁的競爭。前述競爭態勢使得計算機裝置制造業者與消費者陷如兩難,而無從判斷哪一個架構將會主宰市場。更精確來說,哪一種架構的軟件開發商將會開發更多軟件。舉例來說,一些每月或每年會定期購買大量計算機系統的消費個體,基于成本效率的考量,例如大量采購的價格優惠與系統維修的簡化等,會傾向于購買具有相同系統配置設定的計算機系統。然而,這些大型消費個體中的使用者群體,對于這些具有相同系統配置設定的計算機系統,往往有各種各樣的運算需求。具體來說,部分使用者的需求是希望能夠在ARM架構的處理器上執行程序,其他部分使用者的需求是希望能夠在x86架構的處理器上執行程序,甚至有部分使用者希望能夠同時在兩種架構上執行程序。此外,新的、預期外的運算需求也可能出現而需要使用另一種架構。在這些情況下,這些大型個體所投入的部分資金就變成浪費。在另一個例子中,使用者具有一個重要的應用程序,只能在x86架構上執行,因而他購買了x86架構的計算機系統。不過,這個應用程序的后續版本改為針對ARM架構開發,并且優于原本的x86版本。使用者會希望轉換架構來執行新版本的應用程序,但不幸地,他已經對于不傾向使用的架構投入相當成本,反之亦然。同樣地,使用者原本投資于只能在ARM架構上執行的應用程序,但是后來也希望能夠使用針對x86架構開發而未見于ARM架構的應用程序或是優于以ARM架構開發的應用程序,亦會遭遇這樣的問題,反之亦然。值得注意的是,雖然小實體或是個人投入的金額較小,然而投資損失比例可能更高。其他類似的投資損失的例子可能出現在各種不同的運算市場中,例如由x86架構轉換至ARM架構或是由ARM架構轉換至x86架構的情況。最后,投資大量資源來開發新產品的運算裝置制造業者,例如OEM廠商,也會陷入此架構選擇的困境。若是制造業者基于x86或ARM架構研發制造大量產品,而使用者的需求突然改變,則會導致許多有價值的研發資源的浪費。對于運算裝置的制造業者與消費者,能夠保有其投資免于受到二種架構中何者勝出的影響是有幫助的,因而有必要提出一種解決方法讓系統制造業者發展出可讓使用者同時執行x86架構與ARM架構的程序的運算裝置。使系統能夠執行多個指令集程序的需求由來已久,這些需求主要是因為消費者會投入相當成本在舊硬件上執行的軟件程序,而其指令集往往不相容于新硬件。舉例來說,IBM 360系統Model 30即具有相容于IBM 1401系統的特征來緩和使用者由1401系統轉換至較高效能與改良特征的360系統的痛苦。Model 30具有360系統與1401系統的只讀儲存控制(Read Only Storage, ROS)),使其在輔助儲存空間預先存入所需信息的情況下能夠使用于1401系統。此外,在軟件程序以高階語言開發的情況下,新的硬件開發商幾乎沒有辦法控制為舊硬件所編譯的軟件程序,軟件開發商也欠缺動力為新硬件重新編譯(re-compile)源碼,此情形尤其發生在軟件開發商與硬件開發商是不同個體的情況。請參照 Siberman 與 Ebcioglu 于 Computer, June 1993, No. 6 提出的文章 “An ArchitecturalFramework for Supporting Heterogeneous Instruction-Set Architectures,,。Silberman與Ebcioglu提出的系統內含有執行原生碼的原生引擎(native engine)與執行目的碼的遷移引擎(migrant engine),可依據轉譯軟件將目的碼(object bode)轉譯為原生碼(native code)的轉譯效果,在這兩種編碼間視需要進行轉換,以使既存復雜指令集(CISC)架構(下稱基礎架構,例如IBMS/390)的軟件程序執行于精簡指令集(RISC)、超純量架構(superscalar)與超長指令字(VLIW)架構(下稱原生架構)系統,藉以改善軟件程序的效能。請參照2006年5月16日公告的美國專利第7,047,394號專利案,VanDyke et al.揭露一處理器,具有用以執行原生精簡指令集(Tapestry)的程序指令的執行管線,并利用硬件轉譯與軟件轉譯的結合,將x86程序指令轉譯為原生精簡指令集的指令。Nakada et al.提出具有ARM架構的前端管線與Fujitsu FR-V(超長指令字)架構的前端管線的異質多線程處理器(heterogeneous SMT processor)。ARM架構前端管線系用于非規則軟件程序(如作業系統),Fujitsu FR-V(超長指令字)架構的前端管線系用于多介質應用程序以將一增加的超長指令字隊列匯入FR-V超長指令字之后端管線以維持來自前端管線的指令。請參照 Buchty 與 Weib, eds, Universitatsverlag Karlsruhe 于 2008 年11 月在 First International Workshop on New Frontiers in High-performance andHardware-aware Computing(HipHaC,08), Lake Como, Italy,(配合 MICRO-41)發表之論文集(ISBN 978-3-86644-298-6)的文章 “0R0CHI :A Multiple Instruction Set SMTProcessor^文中提出的方法用以降低整個系統在異質系統單芯片(SOC)裝置,如德州儀器OMAP應用處理器,內所占據的空間。此異質系統單芯片裝置具有一個ARM處理器核心加上一個或多個協處理器(co-processors)(例如TMS320、多種數字信號處理器、或是多種圖形處理單元(GPUs))。這些協處理器并不分享指令執行資源,而只是整合于同一芯片上的不同處理核心。軟件轉譯器(softwaretranslator)、或稱軟件模擬器(software e本文檔來自技高網...
【技術保護點】
一種微處理器,可執行x86指令集架構ISA機器語言程序以及高級精簡指令集機器ARM?ISA機器語言程序,該微處理器包含:一指令模式,指示該微處理器擷取一x86ISA或一ARM?ISA機器語言程序指令;以及復數個特定模型寄存器MSRs,控制該微處理器的操作面向;其中,當該指令模式指示該微處理器擷取x86ISA機器語言程序指令時,每一特定模型寄存器可經由一x86ISA?RDMSR/WRMSR指令而存取,且該x86ISAMRRC/MCRR指令是特定該特定模型寄存器的地址;其中,當該指令模式指示該微處理器擷取ARM?ISA機器語言程序指令時,每一特定模型寄存器可經由一ARM?ISA?MRRC/MCRR指令而存取,且該ARM?ISA?MRRC/MCRR指令是特定該特定模型寄存器的地址。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:G葛蘭亨利,泰瑞派克斯,羅德尼E虎克,
申請(專利權)人:威盛電子股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。