[發明專利]精簡指令集計算機處理器裝置及其數據處理方法有效
| 申請號: | 200810056665.9 | 申請日: | 2008-01-23 |
| 公開(公告)號: | CN101221496A | 公開(公告)日: | 2008-07-16 |
| 發明(設計)人: | 蔡嵩松;李曉鈺 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F9/318;G06F9/30 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 | 代理人: | 梁揮;陳振 |
| 地址: | 100080北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 精簡 指令 計算機 處理器 裝置 及其 數據處理 方法 | ||
技術領域
本發明涉及計算機處理器技術領域,特別是涉及一種精簡指令集計算機(RISC)處理器裝置及其數據處理方法。
背景技術
虛擬機是20世紀60年代IBM公司提出的概念,并且付諸實現。當時主流計算機是大型機,通過把大型機分割成多個虛擬機,利用虛擬機監視器(Virtual?Machine?Monitor,VMM)的分隔,多種不同應用或者多個用戶可以共享這一稀缺資源。
但是,隨著硬件成本降低和計算能力的增強,以及多任務操作系統(OS)的出現,虛擬機監視器慢慢退出歷史舞臺,微型計算機和個人計算機(PC)大行其道。
然而,由于虛擬機的強大和成功在于用戶可以訪問和利用僅僅通過指令集的組合就可以形成的功能和設備,最近幾年,虛擬機監視器重新成為學術界和工業界的焦點。虛擬機監視器為現代計算機系統的真實限制提供一種虛擬解決方案,其變成一個強大的工具,這一工具會大大擴展現代計算機系統的能力。
當今X86架構在很多的應用中占據了主導的地位,很多大型的服務器類的應用都是X86架構。精簡指令集計算機(Reduced?Instruction?Set?Computing,RISC)架構的微處理器為了能夠廣泛地運行服務類的應用,實現與X86架構的兼容就成為了必要的任務。另外,現有X86架構的計算機中,應用程序更加多樣化,很多商業軟件都是基于X86架構的,所以RISC微處理器要想更為廣泛地運行多樣化的應用,也非常需要實現對X86的兼容。
MIPS作為RISC很大的一個分支,目前有很多開源的虛擬機平臺,可以實現MIPS到X86平臺的異構支持。
在MIPS架構上用虛擬機兼容X86架構需要考慮很多方面,其中一方面就是X86架構中對標志寄存器(EFLAGS)標志位的使用。
X86定點運算指令支持共6比特(Bit)的EFLAGS標志位運算,即很多運算指令除了產生數據值以外,還要產生標志位,轉移指令把標志位作為轉移條件,實現指令運算。
X86中標志寄存器(EFLAGS)主要包括以下三部分內容:
一、狀態標志(Status?Flags),包括CF(進位標志)、PF(奇偶位)、AF(輔助進位)、ZF(零標志)、SF(非負標志)和OF(溢出)共六位;
二、DF(方向標志)標志,用來控制串操作指令的方向;
三、其他系統標志和I/O特權域(IOPL域),這些標志包括單步模式標志、中斷使能、I/O優先級等,用戶程序不能修改這些標志。
關于標志寄存器的第二和第三部分的內容,MIPS64中已經有相應的硬件可以實現,但對于第一部分的內容沒有相應的實現。
X86中還有一個16位的浮點標志寄存器,其中每兩位組成一個標志(TAG),共8個標志(TAG)。每個標志(TAG)對應一個浮點寄存器的狀態,00表示valid,01表示zero,10表示special,11表示empty。由于X86中的浮點寄存器以棧的方式組織,浮點標志寄存器主要用于檢測浮點訪問時會不會發生棧溢出例外。
現有技術中,標志寄存器第一部分的內容,即狀態標志(Status?Flags)和浮點標志寄存器的MIPS到X86的異構實現,都沒有硬件實現,而軟件層次的虛擬機異構實現會產生很大的開銷,對性能造成很大的影響。
發明內容
本發明所要解決的問題在于提供一種精簡指令集計算機(RISC)處理器裝置及其數據處理方法。其擴大虛擬機的優化空間,達到提高虛擬機性能的目的。
為實現本發明而提供的一種RISC處理器裝置,包括譯碼器,物理寄存器堆和運算部件,以及譯碼器,物理寄存器堆和運算部件之間連接的數據通路,所述物理寄存器堆中的每個物理寄存器擴展為72位,整個數據通路統一擴充為72位;
所述運算部件,包括擴展運算模塊,用于當處理器處于X86虛擬機工作模式下時,在指令運算中,對物理寄存器堆中的72位寄存器的標志位進行修改,并根據修改的標志位進行新的指令運算。
所述72位的物理寄存器,包括64位的數據位部分和8位的標志位部分。
所述物理寄存器堆,包括通用寄存器和浮點寄存器。
所述擴展后的通用寄存器的第64到69位共6個標志位,由低到高分別表示CF位、PF位、AF位、ZF位、SF位和OF位。
所述擴展后的浮點寄存器的第64位作為該浮點寄存器的TAG標志位,表示該浮點寄存器的狀態,用于檢測浮點訪問時會不會發生棧溢出例外。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810056665.9/2.html,轉載請聲明來源鉆瓜專利網。





