国产精品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>

      信息處理裝置、進(jìn)程控制方法及其計(jì)算機(jī)程序的制作方法

      文檔序號(hào):6559682閱讀:196來(lái)源:國(guó)知局
      專利名稱:信息處理裝置、進(jìn)程控制方法及其計(jì)算機(jī)程序的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息處理裝置、進(jìn)程控制(process control)方法和計(jì)算機(jī)程序,具體地說(shuō)本發(fā)明涉及這樣的信息處理裝置、進(jìn)程控制方法和計(jì)算機(jī)程序,通過它們來(lái)改善對(duì)于在下述結(jié)構(gòu)中的邏輯處理器的資源的可訪問性,在所述結(jié)構(gòu)中,以多個(gè)邏輯處理器共享在信息處理裝置中可用的資源的方式來(lái)執(zhí)行各種數(shù)據(jù)處理。
      背景技術(shù)
      在具有運(yùn)行在單個(gè)系統(tǒng)中的多個(gè)操作系統(tǒng)(OS)的多OS系統(tǒng)中,可通過相應(yīng)的OS來(lái)執(zhí)行不同的進(jìn)程,其中,通過依時(shí)間順序地轉(zhuǎn)換對(duì)于系統(tǒng)公用的硬件——諸如CPU和存儲(chǔ)器等——的使用來(lái)進(jìn)行處理。
      例如通過分區(qū)管理軟件來(lái)執(zhí)行要由多個(gè)OS分別執(zhí)行的進(jìn)程(任務(wù))的調(diào)度。例如,如果存在在系統(tǒng)中共存的兩個(gè)操作系統(tǒng)OS(α)和OS(β),并且OS(α)的進(jìn)程被設(shè)置為分區(qū)A以及OS(β)的進(jìn)程被設(shè)置為分區(qū)B,則所述分區(qū)管理軟件確定分區(qū)A和分區(qū)B的執(zhí)行調(diào)度,并且通過按照所確定的調(diào)度分配硬件資源而執(zhí)行所述OS的進(jìn)程。
      在下面的現(xiàn)有技術(shù)列表中的參考文獻(xiàn)(1)介紹了一種涉及在多OS系統(tǒng)中的任務(wù)管理的公知技術(shù)。參考文獻(xiàn)(1)公開了一種任務(wù)調(diào)度技術(shù),用于在多個(gè)OS的每個(gè)所執(zhí)行的任務(wù)管理中優(yōu)先地執(zhí)行具有較高的緊急性的進(jìn)程。
      如上所述,各種數(shù)據(jù)處理的主體被設(shè)置為分區(qū)。具體地說(shuō)是將邏輯分區(qū)設(shè)置為接收在系統(tǒng)內(nèi)的資源的分配的主體,并且向所述邏輯分區(qū)分配各種資源,包括物理處理器單元的可使用時(shí)間、虛擬地址空間和存儲(chǔ)器空間,以便可以執(zhí)行使用所分配的資源的進(jìn)程。對(duì)于每個(gè)邏輯分區(qū),設(shè)置對(duì)應(yīng)于任何物理處理器的邏輯處理器,并且執(zhí)行對(duì)應(yīng)于所述邏輯處理器的數(shù)據(jù)處理。應(yīng)當(dāng)注意,在邏輯處理器和物理處理器之間不總是一一對(duì)應(yīng)的;可能存在多個(gè)物理處理器與單個(gè)邏輯處理器相關(guān)聯(lián)或單個(gè)物理處理器與多個(gè)邏輯處理器相關(guān)聯(lián)的情況。
      當(dāng)并行地執(zhí)行使用邏輯處理器的多個(gè)處理時(shí),按照一調(diào)度由所述多個(gè)邏輯處理器使用物理處理器。即,多個(gè)邏輯處理器通過時(shí)間共享來(lái)使用物理處理器。
      現(xiàn)在讓我們考慮包括一主處理器和多個(gè)子處理器的系統(tǒng)。
      例如,讓我們考慮當(dāng)向圖1中所示的單個(gè)物理子處理器分配單個(gè)邏輯子處理器時(shí)的訪問處理,或具體地說(shuō),當(dāng)邏輯子處理器A專用地使用物理子處理器1并且邏輯子處理器B專用地使用物理子處理器2時(shí)對(duì)于邏輯子處理器A的訪問處理。
      例如,讓我們假定與一已經(jīng)被設(shè)置的邏輯子處理器A的邏輯分區(qū)相關(guān)聯(lián)的OS試圖訪問邏輯子處理器A。由邏輯子處理器A占用的物理處理器1保存的MMIO(存儲(chǔ)器映射的輸入/輸出)寄存器信息、本地存儲(chǔ)區(qū)域等被映射到與邏輯子處理器A相關(guān)聯(lián)的邏輯分區(qū)的地址空間。這樣被映射的區(qū)域與專用的物理子處理器1相關(guān)聯(lián)。因此與邏輯分區(qū)相關(guān)聯(lián)的OS可以總是訪問邏輯子處理器A。通過獲得對(duì)于邏輯子處理器A的訪問,有可能獲得對(duì)應(yīng)于邏輯子處理器A的各種信息,諸如邏輯存儲(chǔ)信息。
      注意MIMO(存儲(chǔ)器映射的輸入/輸出)是用于通過存儲(chǔ)器映射而控制硬件的輸入/輸出控制機(jī)構(gòu),它通過使用特定的存儲(chǔ)器位置經(jīng)由寫入處理或讀取處理而完成硬件控制。
      另一方面,讓我們假定例如通過與被分配到如圖2中所示的單個(gè)物理子處理器的多個(gè)邏輯子處理器的時(shí)間共享來(lái)執(zhí)行處理。然后,和在圖2中的訪問A一樣在邏輯子處理器A使用物理子處理器1時(shí),與邏輯分區(qū)相關(guān)聯(lián)的OS可以以與上述的處理相同的方式來(lái)訪問邏輯子處理器A。但是,當(dāng)邏輯子處理器A與在圖2中的訪問B一樣不使用邏輯子處理器1時(shí),不可能執(zhí)行對(duì)于邏輯子處理器A的訪問,因?yàn)榇藭r(shí)邏輯子處理器A不使用任何物理子處理器,因此在與邏輯子處理器A相關(guān)聯(lián)的邏輯分區(qū)的地址空間中不映射物理子處理器的MMIO(存儲(chǔ)器映射的輸入/輸出)寄存器信息、邏輯存儲(chǔ)區(qū)域等。在這種情況下,需要邏輯子處理器A保持等待,直到按照時(shí)間共享而使用物理子處理器的時(shí)間到達(dá),因此導(dǎo)致了延遲數(shù)據(jù)處理的問題。
      現(xiàn)有技術(shù)列表(1)日本專利申請(qǐng)公開NO.2003-345612。

      發(fā)明內(nèi)容
      本發(fā)明解決了上述問題,其總的目的是提供一種信息處理裝置、進(jìn)程控制方法和計(jì)算機(jī)程序,用于改善在使用共享在信息處理裝置中的資源的多個(gè)邏輯處理器來(lái)執(zhí)行各種數(shù)據(jù)處理結(jié)構(gòu)中的邏輯處理器對(duì)資源的訪問性來(lái)實(shí)現(xiàn)有效的數(shù)據(jù)處理。
      本發(fā)明的一個(gè)實(shí)施例涉及信息處理裝置。這種裝置包括控制OS執(zhí)行單元,所述控制OS執(zhí)行將多個(gè)邏輯處理器通過時(shí)間共享而與物理處理器相關(guān)聯(lián)的處理;以及,客戶OS執(zhí)行單元,所述客戶OS與用作邏輯處理器的邏輯分區(qū)相關(guān)聯(lián),并且是使用邏輯處理器的主體,其中,所述客戶OS執(zhí)行單元被配置來(lái)執(zhí)行數(shù)據(jù)處理以便在其中物理處理器被分配到對(duì)應(yīng)于所述客戶OS的邏輯處理器的活動(dòng)狀態(tài)中使用存儲(chǔ)器映射的輸入/輸出(MMIO)寄存器,以及其中,所述控制OS執(zhí)行單元被配置來(lái)在其中物理處理器被分配到所述邏輯處理器的活動(dòng)狀態(tài)中和在其中沒有物理處理器被分配到所述邏輯處理器的非活動(dòng)狀態(tài)中在存儲(chǔ)器中存儲(chǔ)對(duì)應(yīng)于與所述客戶OS對(duì)應(yīng)的所述邏輯處理器的MMIO寄存器的拷貝信息。
      所述控制OS執(zhí)行單元可以被配置來(lái)在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝,其中,所述物理處理器不重寫所述MMIO寄存器信息。
      所述控制OS執(zhí)行單元可以被配置來(lái)在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝,其中,所述物理處理器不重寫所述MMIO寄存器信息,并且所述控制OS執(zhí)行單元也被配置來(lái)在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝,其中,所述控制OS能夠檢測(cè)已經(jīng)被重寫的MMIO寄存器信息。
      當(dāng)通過所述物理處理器執(zhí)行MMIO寄存器信息的重寫時(shí),所述控制OS執(zhí)行單元可以被配置來(lái)按照MMIO寄存器信息而更新在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息。
      所述客戶OS執(zhí)行單元可以被配置來(lái)經(jīng)由所述控制OS設(shè)置的客戶OS編程接口(GOI)訪問在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息。
      所述客戶OS執(zhí)行單元可以被配置來(lái)在有訪問在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息的請(qǐng)求時(shí)執(zhí)行對(duì)于所述控制OS的系統(tǒng)呼叫,以及其中所述控制OS執(zhí)行單元可以被配置來(lái)將客戶OS編程接口(GOI)設(shè)置到所述客戶OS的活動(dòng)狀態(tài)。
      本發(fā)明的另一個(gè)實(shí)施例涉及一種進(jìn)程控制方法,該方法是一種用于控制在信息處理裝置中的處理的方法,所述信息處理裝置通過將多個(gè)邏輯處理器經(jīng)由時(shí)間共享而與物理處理器相關(guān)聯(lián)來(lái)執(zhí)行數(shù)據(jù)處理,所述方法包括通過控制OS的執(zhí)行來(lái)執(zhí)行將對(duì)應(yīng)于作為使用邏輯處理器的主體的客戶OS的邏輯處理器通過時(shí)間共享而與物理處理器相關(guān)聯(lián)的處理;執(zhí)行數(shù)據(jù)處理,以便在其中將物理處理器分配到對(duì)應(yīng)于客戶OS的邏輯處理器的活動(dòng)狀態(tài)中在客戶OS中使用存儲(chǔ)器映射的輸入/輸出(MMIO)寄存器;以及通過所述控制OS的執(zhí)行來(lái)執(zhí)行處理,以便在其中將物理處理器分配到所述邏輯處理器的活動(dòng)狀態(tài)中和在其中沒有物理處理器被分配到所述邏輯處理器的非活動(dòng)狀態(tài)中在存儲(chǔ)器中存儲(chǔ)對(duì)應(yīng)于與所述客戶OS對(duì)應(yīng)的所述邏輯處理器的所述MMIO寄存器的拷貝信息。
      上述的構(gòu)成元件的任意組合和以方法、裝置、系統(tǒng)、程序、記錄介質(zhì)等的形式實(shí)施本發(fā)明的方式也可以有效地作為本發(fā)明的實(shí)施例或被本發(fā)明的實(shí)施例包含。
      通過下面結(jié)合附圖詳細(xì)說(shuō)明,將容易理解本發(fā)明的上述和其他特征和優(yōu)點(diǎn)。


      現(xiàn)在結(jié)合附圖來(lái)僅僅通過示例說(shuō)明實(shí)施例,所述附圖是例證性的,而不是限定性的,并且其中,在幾個(gè)附圖中,相同的元件被標(biāo)注相同的標(biāo)號(hào),其中圖1圖解了當(dāng)邏輯處理器專用一個(gè)物理處理器時(shí)對(duì)于所述邏輯處理器的訪問處理。
      圖2圖解了用于將邏輯處理器通過時(shí)間共享而與物理處理器相關(guān)聯(lián)的另一個(gè)處理。
      圖3圖解了按照本發(fā)明的一個(gè)實(shí)施例的信息處理裝置的結(jié)構(gòu)的示例。
      圖4圖解了處理器模塊的結(jié)構(gòu)的一個(gè)示例。
      圖5圖解了按照本發(fā)明的一個(gè)實(shí)施例的在信息處理裝置中的操作系統(tǒng)的結(jié)構(gòu)。
      圖6圖解了如何將邏輯處理器與物理處理器相關(guān)聯(lián)。
      圖7圖解了由客戶OS進(jìn)行的MMIO訪問處理。
      圖8圖解了可以由客戶OS引用的區(qū)域和設(shè)置上下文表格的示例。
      圖9圖解了與客戶OS相關(guān)聯(lián)的邏輯分區(qū)地址空間和可以被引用到客戶OS的信息。
      圖10圖解了由客戶OS和控制OS執(zhí)行的處理。
      圖11圖解了客戶OS的狀態(tài)過渡(transition)和MMIO訪問處理。
      圖12圖解了由客戶OS進(jìn)行的MMIO訪問處理。
      圖13圖解了由客戶OS通過客戶OS編程接口(GOI)而進(jìn)行的MMIO訪問處理。
      圖14圖解了客戶OS的狀態(tài)過渡和通過客戶OS編程接口(GOI)的MMIO訪問處理。
      圖15圖解了在存儲(chǔ)器中設(shè)置陰影的情況下客戶OS的狀態(tài)過渡和通過客戶OS編程接口(GOI)的MMIO訪問處理。
      圖16示出了用于在存儲(chǔ)在中設(shè)置陰影的情況和不設(shè)置陰影的情況之間比較的MMIO訪問處理時(shí)間。
      具體實(shí)施例方式
      現(xiàn)在結(jié)合優(yōu)選實(shí)施例來(lái)說(shuō)明本發(fā)明。這不意欲限制本發(fā)明的范圍,而是例示本發(fā)明。
      結(jié)合附圖,以下詳細(xì)說(shuō)明按照本發(fā)明的實(shí)施例的信息處理裝置、進(jìn)程控制方法和計(jì)算機(jī)程序。
      結(jié)合圖3,現(xiàn)在說(shuō)明關(guān)于按照本發(fā)明的一個(gè)實(shí)施例的信息處理裝置的硬件的示例。處理器模塊101是由多個(gè)處理單元組成的模塊,并且通過遵循來(lái)自在ROM(只讀存儲(chǔ)器)104、HDD 123等中存儲(chǔ)的程序的指令而按照各種類型程序來(lái)執(zhí)行數(shù)據(jù)處理,所述程序包括OS(操作系統(tǒng))和與OS兼容的應(yīng)用程序。后面將參照?qǐng)D4對(duì)處理器模塊101詳細(xì)說(shuō)明。
      圖形引擎102產(chǎn)生要被輸出到構(gòu)成輸出單元122的顯示器的數(shù)據(jù),在所述顯示器顯示所述數(shù)據(jù)。圖形引擎102執(zhí)行例如三維繪制(3-D rendering)處理。諸如DRAM之類的主存儲(chǔ)器103存儲(chǔ)要在處理器模塊101上執(zhí)行的程序、在其執(zhí)行中適當(dāng)?shù)馗淖兊膮?shù)等。這些組件經(jīng)由主機(jī)總線(host bus)111而相互連接,所述主機(jī)總線111由CPU總線等構(gòu)成。
      主機(jī)總線111經(jīng)由橋105連接到外部總線112,諸如PCI(外設(shè)部件互連/接口)總線。橋105執(zhí)行在主機(jī)總線111、外部總線112、控制器106、存儲(chǔ)卡107和其他器件之間的數(shù)據(jù)輸入和輸出的控制。
      輸入單元121輸入來(lái)自由用戶操作的、諸如鍵盤和指示器件之類的輸入器件的輸入信息。輸出單元122包括圖像輸出單元和音頻輸出單元,所述圖像輸出單元諸如LCD(液晶顯示器)和CRT(陰極射線管),所述音頻輸出單元諸如揚(yáng)聲器。
      HDD(硬盤驅(qū)動(dòng)器)123具有內(nèi)置的硬盤,驅(qū)動(dòng)該硬盤并且記錄或再現(xiàn)由處理器模塊101執(zhí)行的程序或信息。
      驅(qū)動(dòng)器124讀出在所安裝的可移動(dòng)記錄介質(zhì)127中記錄的數(shù)據(jù)或程序,所述可移動(dòng)記錄介質(zhì)127諸如磁盤、光盤、磁光盤或半導(dǎo)體存儲(chǔ)器。并且驅(qū)動(dòng)器124向經(jīng)由接口113、外部總線112、橋105和主機(jī)總線111而連接的主存儲(chǔ)器(DRAM)103提供數(shù)據(jù)或程序。
      連接端口125是連接外部連接器件128的端口,并且具有諸如USB和IEEE 1394之類的連接器。連接端口125經(jīng)由接口113、外部總線112、橋105和主機(jī)總線111而與處理器模塊101等連接。連接到網(wǎng)絡(luò)的通信單元126發(fā)送從處理器模塊101、HDD 123等提供的數(shù)據(jù),并且接收外部提供的數(shù)據(jù)。
      接著,將結(jié)合圖4來(lái)說(shuō)明處理器模塊的結(jié)構(gòu)的示例。如圖4中所示,處理器模塊200包括主處理器組201,所述主處理器組201由多個(gè)主處理器和多個(gè)子處理器組202a到202n組成,所述多個(gè)子處理器組202a到202n每個(gè)由多個(gè)子處理器組成。所述主處理器組的每個(gè)裝備有存儲(chǔ)器控制器和輔助高速緩沖存儲(chǔ)器,并且所述子處理器組的每個(gè)也裝備有存儲(chǔ)器控制器和輔助高速緩沖存儲(chǔ)器。每個(gè)處理器組201和202a到202n具有例如8個(gè)處理器單元,并且那些處理器單元通過交叉架構(gòu)或分組交換網(wǎng)絡(luò)來(lái)連接。根據(jù)來(lái)自主處理器組201的主處理器的指令來(lái)選擇所述子處理器202a到202n的一個(gè)或多個(gè),以便執(zhí)行預(yù)定的程序。
      按照本發(fā)明的一個(gè)實(shí)施例的一種裝置具有多個(gè)物理子處理器,并且所述軟件通過時(shí)間共享來(lái)復(fù)用所述物理子處理器,以便提供具有一邏輯處理器或多個(gè)邏輯處理器的OS。用于控制子處理器的一個(gè)控制OS在主處理器工作。注意,即使當(dāng)一個(gè)裝置沒有任何可以從主處理器和子處理器之間發(fā)現(xiàn)的主從關(guān)系、并且特別是它可以被應(yīng)用到在處理器之間沒有主從關(guān)系的多處理器機(jī)器時(shí),在本發(fā)明中實(shí)現(xiàn)的方法也可被投入實(shí)際使用。也應(yīng)注意,與“客戶OS”相反,控制OS經(jīng)常被稱為“主機(jī)OS”,因此將在本專利說(shuō)明書中可互換地使用控制OS和主機(jī)OS。
      位于每個(gè)處理器組中的存儲(chǔ)器流控制器執(zhí)行對(duì)圖3中所示的主存儲(chǔ)器103的數(shù)據(jù)輸入和從圖3中所示的主存儲(chǔ)器103的數(shù)據(jù)輸出的控制。所述輔助高速緩沖存儲(chǔ)器被用作對(duì)于要在每個(gè)處理器組中處理的數(shù)據(jù)的存儲(chǔ)區(qū)域。
      現(xiàn)在結(jié)合圖5來(lái)說(shuō)明按照本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中的操作系統(tǒng)(OS)的結(jié)構(gòu)。按照本實(shí)施例的信息處理裝置是多OS結(jié)構(gòu),因此多個(gè)操作系統(tǒng)(OS)共存。如圖5中所示,所述信息處理裝置具有多個(gè)操作系統(tǒng)(OS),它們具有邏輯分層結(jié)構(gòu)。
      結(jié)合圖5,在下層中提供控制OS 301,并且在上層中設(shè)置多個(gè)客戶OS 302和303和系統(tǒng)控制OS 304。所述控制OS 301與系統(tǒng)控制OS 304一起實(shí)現(xiàn)邏輯分區(qū),所述邏輯分區(qū)作為要在結(jié)合圖3和圖4中所述的處理器模塊中執(zhí)行的每個(gè)進(jìn)程的可執(zhí)行單元,并且所述控制OS 301執(zhí)行向每個(gè)邏輯分區(qū)分配硬件資源(主處理器、子處理器、存儲(chǔ)器、器件等)的處理。
      客戶OS 302和303可以是各種類型的OS,諸如游戲OS、Windows(注冊(cè)商標(biāo))和Linux(注冊(cè)商標(biāo)),并且客戶OS 302和303在控制OS 301的控制下工作。雖然在圖5中示出了兩個(gè)客戶OS、即客戶OS 302和303,但是可以任意地設(shè)置客戶OS的數(shù)量。
      客戶OS 302和303工作在由控制OS 301和系統(tǒng)控制OS 304設(shè)置的相應(yīng)的邏輯分區(qū)中,并且使用被分配到相應(yīng)的邏輯分區(qū)的、諸如主處理器、子處理器、存儲(chǔ)器和其他器件的硬件資源來(lái)執(zhí)行各種類型的數(shù)據(jù)處理。
      例如,客戶OS A 302通過使用被分配到由控制OS 301和系統(tǒng)控制OS 304設(shè)置的邏輯分區(qū)2的、諸如主處理器、子處理器、存儲(chǔ)器和其他器件的硬件資源來(lái)執(zhí)行與客戶OS A 302兼容的應(yīng)用程序305。客戶OS B 303通過使用被分配到邏輯分區(qū)n的、諸如主處理器、子處理器、存儲(chǔ)器和其他器件的硬件資源來(lái)執(zhí)行與客戶OS B 303兼容的應(yīng)用程序306??刂芆S 301提供客戶OS編程接口來(lái)作為用于執(zhí)行客戶OS所需要的接口。
      系統(tǒng)控制OS 304激活包含邏輯分區(qū)管理信息的系統(tǒng)控制程序307,并且它與控制OS 301一起根據(jù)系統(tǒng)控制程序307來(lái)執(zhí)行操作系統(tǒng)的控制。所述系統(tǒng)控制程序307是通過使用系統(tǒng)控制編程接口來(lái)控制系統(tǒng)的策略的程序。從控制OS 301向系統(tǒng)控制OS 304提供所述系統(tǒng)控制編程接口。系統(tǒng)控制程序307扮演提供通過程序的靈活定制所需要的部件的角色。例如,所述角色包括在資源的分配中設(shè)置上限值。
      系統(tǒng)控制程序307可以通過使用系統(tǒng)控制編程接口來(lái)控制系統(tǒng)的行為。例如,可以新建立一邏輯分區(qū),然后可以在這個(gè)邏輯分區(qū)中啟動(dòng)新的客戶OS。在多個(gè)OS運(yùn)行的系統(tǒng)中,這樣的客戶OS將以在系統(tǒng)控制程序中預(yù)先編程它們的順序而被啟動(dòng)。而且,對(duì)于從客戶OS遞交的資源分配的請(qǐng)求可以在它被控制OS 301接收到之前被檢查,或者它可以按照系統(tǒng)的策略而被校正或簡(jiǎn)單地被拒絕。結(jié)果,可以消除由特定的客戶OS來(lái)占用資源的情況。因此,所述系統(tǒng)控制程序是將系統(tǒng)的策略作為程序?qū)崿F(xiàn)的一種系統(tǒng)控制程序。
      控制OS 301分配對(duì)于系統(tǒng)控制OS 304專用的邏輯分區(qū)(在圖5中的邏輯分區(qū)1)??刂芆S 301工作在管理程序(hypervisor)模式??蛻鬙S工作在監(jiān)督程序(supervisor)模式中。所述系統(tǒng)控制OS和應(yīng)用程序工作在問題模式(用戶模式)中。注意,管理程序是位于所述邏輯分區(qū)和硬件之間的特權(quán)層。
      邏輯分區(qū)是接收在系統(tǒng)中的資源的分配的主體。例如,主存儲(chǔ)器103(結(jié)合圖3)被劃分為多個(gè)區(qū)域,并且使用每個(gè)區(qū)域的權(quán)利被適當(dāng)?shù)靥峁┑竭壿嫹謪^(qū)。被分配到邏輯分區(qū)的資源的類型如下a)物理處理器單元操作時(shí)間b)虛擬地址空間c)可以由運(yùn)行在邏輯分區(qū)中的程序訪問的存儲(chǔ)器d)由控制OS管理邏輯分區(qū)所使用的存儲(chǔ)器e)事件端口f)器件的使用權(quán)g)高速緩沖存儲(chǔ)器分區(qū)h)總線的使用權(quán)如上所述,客戶OS運(yùn)行在一邏輯分區(qū)中??蛻鬙S通過壟斷被分配到邏輯分區(qū)的資源來(lái)執(zhí)行各種數(shù)據(jù)處理。在許多情況下,單個(gè)邏輯分區(qū)被準(zhǔn)備用于在系統(tǒng)上運(yùn)行的每個(gè)獨(dú)立的客戶OS。并且,向每個(gè)邏輯分區(qū)提供唯一的標(biāo)識(shí)符。系統(tǒng)控制OS 304通過將一個(gè)標(biāo)識(shí)符與作為邏輯分區(qū)管理信息產(chǎn)生的系統(tǒng)控制程序相關(guān)聯(lián)來(lái)執(zhí)行其管理。
      通過控制OS 301和系統(tǒng)控制OS 304來(lái)產(chǎn)生邏輯分區(qū)。邏輯分區(qū)在其剛剛被產(chǎn)生后沒有資源和沒有對(duì)于可使用資源的限制的設(shè)置。邏輯分區(qū)具有兩種狀態(tài),即活動(dòng)狀態(tài)和終止?fàn)顟B(tài)。邏輯分區(qū)在其剛剛被產(chǎn)生后處于活動(dòng)狀態(tài)。通過來(lái)自運(yùn)行在邏輯分區(qū)內(nèi)的客戶OS的請(qǐng)求提示,所述邏輯分區(qū)轉(zhuǎn)換到終止?fàn)顟B(tài)中,因此被分配到所述邏輯分區(qū)的所有的邏輯處理器停止。
      所述邏輯處理器是被分配到一邏輯分區(qū)的邏輯處理器,并且與作為在圖4中所示的處理器組中的一處理器的物理處理器相關(guān)聯(lián)。注意,不總是在邏輯處理器和物理處理器之間存在一一對(duì)應(yīng)關(guān)系;可能有多個(gè)物理處理器與單個(gè)邏輯處理器相關(guān)聯(lián)的情況或單個(gè)物理處理器與多個(gè)邏輯處理器相關(guān)聯(lián)的情況??刂芆S 301確定在邏輯處理器和物理處理器之間的關(guān)聯(lián)性。
      控制OS 301裝備有用于限制要由相應(yīng)的邏輯分區(qū)使用的資源的數(shù)量的功能。有可能在客戶OS 302或303不與系統(tǒng)控制OS 304通信的情況下限制可以被分配/釋放的資源的使用的數(shù)量。
      每個(gè)邏輯分區(qū)裝備有控制信號(hào)端口。該端口接收在邏輯處理器之間的數(shù)據(jù)交換/共享所需要的各種控制信號(hào)。下面列出了控制信號(hào)的一些示例a)對(duì)于在邏輯分區(qū)之間的事件端口的連接的請(qǐng)求b)對(duì)于在邏輯分區(qū)之間的消息通道的連接的請(qǐng)求c)對(duì)于共享的存儲(chǔ)區(qū)域的連接的請(qǐng)求到達(dá)每個(gè)邏輯分區(qū)的控制信號(hào)在所述控制信號(hào)端口排隊(duì)。只要存儲(chǔ)器資源允許,排隊(duì)的深度沒有限制。由已經(jīng)發(fā)送控制信號(hào)的邏輯分區(qū)來(lái)保證排隊(duì)所需要的存儲(chǔ)器資源。為了從這個(gè)端口檢索控制信號(hào),調(diào)用客戶OS編程接口。當(dāng)控制信號(hào)已經(jīng)到達(dá)了空的控制信號(hào)端口時(shí),有可能向任意的事件端口發(fā)送事件??梢酝ㄟ^調(diào)用客戶OS編程接口來(lái)指定事件端口。
      控制OS向邏輯分區(qū)提供作為資源(計(jì)算機(jī)資源)的邏輯子處理器,它們是物理子處理器的抽象(abstraction)。如上所述,在物理子處理器和邏輯子處理器之間不存在一一對(duì)應(yīng)關(guān)系,而且,它們不必是數(shù)量上相等。為了實(shí)現(xiàn)這樣的配置,控制OS能夠當(dāng)需要時(shí)將單個(gè)物理處理器與多個(gè)邏輯處理器相關(guān)聯(lián)。
      當(dāng)邏輯子處理器的數(shù)量大于物理子處理器的數(shù)量時(shí),控制OS通過時(shí)間共享來(lái)處理物理子處理器。因此,有可能邏輯子處理器隨著時(shí)間的過去而重復(fù)操作的暫停和恢復(fù)。并且客戶OS可以監(jiān)控這些條件變化。
      現(xiàn)在結(jié)合圖6來(lái)說(shuō)明在物理處理器和邏輯處理器之間的對(duì)應(yīng)性。圖6不僅示出了主處理器401和物理子處理器411-414的物理處理器結(jié)構(gòu),而且示出了由作為物理子處理器2和物理子處理器4的兩個(gè)物理子處理器的時(shí)間共享處理操作的邏輯子處理器的時(shí)間順序。
      在圖6的示例中,通過所述時(shí)間共享向物理子處理器2分配下面的每個(gè)邏輯子處理器,其中時(shí)間ta0到ta1邏輯子處理器A,時(shí)間ta1到ta2邏輯子處理器B,時(shí)間ta2到ta3邏輯子處理器C,時(shí)間ta3到-邏輯子處理器A。并且,對(duì)于如上所述分配的每個(gè)持續(xù)時(shí)間,每個(gè)邏輯子處理器使用物理子處理器2來(lái)執(zhí)行處理。
      而且,通過所述時(shí)間共享向物理子處理器4分配下面的每個(gè)邏輯子處理器,其中時(shí)間tb0到tb1邏輯子處理器B,時(shí)間tb1到tb2邏輯子處理器C,時(shí)間tb2到tb3邏輯子處理器A,時(shí)間tb3到-邏輯子處理器B。并且,對(duì)于如上所述分配的每個(gè)持續(xù)時(shí)間,每個(gè)邏輯子處理器使用物理子處理器4來(lái)執(zhí)行處理。
      如果每個(gè)邏輯子處理器要通過時(shí)間共享使用物理子處理器執(zhí)行處理并且在下一個(gè)所分配的持續(xù)時(shí)間中使用物理子處理器而恢復(fù)數(shù)據(jù)處理,則有必要保留在數(shù)據(jù)處理中斷時(shí)時(shí)關(guān)于硬件狀態(tài)等的狀態(tài)信息。所述狀態(tài)信息包括與在圖6中所示的物理子處理器相關(guān)聯(lián)的本地存儲(chǔ)信息和MMIO(存儲(chǔ)器映射輸入/輸出)寄存器信息。MMIO(存儲(chǔ)器映射的輸入/輸出)是用于通過存儲(chǔ)器映射而控制硬件的輸入/輸出控制機(jī)制,它使用特定的存儲(chǔ)器位置通過寫入處理或讀取處理來(lái)實(shí)現(xiàn)硬件控制。
      在當(dāng)向物理子處理器分配邏輯子處理器期間,在對(duì)應(yīng)于所述邏輯子處理器的邏輯分區(qū)地址空間中的區(qū)域中映射反應(yīng)邏輯子處理器的狀態(tài)的物理子處理器的MMIO區(qū)域和本地存儲(chǔ)區(qū)域。在此期間,客戶OS可以通過直接地訪問在所述邏輯分區(qū)地址空間中映射的MMIO寄存器和本地存儲(chǔ)器來(lái)操作邏輯子處理器。
      現(xiàn)在使用對(duì)應(yīng)于相應(yīng)物理處理器的MMIO寄存器來(lái)說(shuō)明客戶OS——對(duì)于它設(shè)置了邏輯分區(qū)——的訪問處理的示例。如圖7中所示,客戶OS 451——對(duì)于它設(shè)置了邏輯分區(qū)——通過結(jié)合對(duì)應(yīng)于物理處理器461-464的MMIO(存儲(chǔ)器映射的輸入/輸出)寄存器信息471到474經(jīng)由相應(yīng)的物理處理器461-464執(zhí)行存儲(chǔ)器映射,并且使用特定的存儲(chǔ)器位置通過寫入處理或讀取處理來(lái)實(shí)現(xiàn)對(duì)于硬件的訪問。
      盡管如此,在當(dāng)邏輯子處理器不被分配到物理子處理器的期間,在對(duì)應(yīng)于邏輯子處理器的邏輯分區(qū)地址空間中的區(qū)域中不映射作為反映邏輯子處理器的狀態(tài)的物理子處理器的輸入/輸出端口的區(qū)域的一部分的MMIO寄存器和本地存儲(chǔ)區(qū)域,因此如上結(jié)合圖2所述,一般不能進(jìn)行訪問。但是,按照本發(fā)明的配置,在當(dāng)邏輯處理器不使用物理處理器期間實(shí)現(xiàn)對(duì)于邏輯處理器的訪問,包括MMIO寄存器區(qū)域和邏輯存儲(chǔ)區(qū)域的上下文表被保存,以便它可以被其他處理器引用。而且,如下所述,不論在邏輯處理器使用物理處理器期間還是在邏輯處理器不使用物理處理器期間,都有可能在主存儲(chǔ)器中存儲(chǔ)作為MMIO寄存器信息的拷貝信息的“陰影”,以有效地實(shí)現(xiàn)對(duì)于MMIO寄存器的訪問。
      下面說(shuō)明上下文存儲(chǔ)配置。其中,通過被分配到客戶OS的邏輯分區(qū)來(lái)執(zhí)行使用邏輯子處理器的數(shù)據(jù)處理,結(jié)合圖5描述。由控制OS執(zhí)行通過時(shí)間共享向?qū)?yīng)于邏輯分區(qū)的邏輯子處理器分配物理處理器。
      所述邏輯子處理器具有由客戶OS控制的活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)以及由控制OS控制的運(yùn)行狀態(tài)和可運(yùn)行狀態(tài)。因此,根據(jù)其組合存在邏輯子處理器的下面三種狀態(tài)a)活動(dòng)狀態(tài)和可運(yùn)行狀態(tài)b)活動(dòng)狀態(tài)和運(yùn)行狀態(tài)c)非活動(dòng)狀態(tài)活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間的差別在于是否邏輯子處理器是控制OS的時(shí)間共享的對(duì)象,即物理子處理器的分配的對(duì)象?;顒?dòng)狀態(tài)是其中邏輯子處理器是時(shí)間共享的對(duì)象、即物理子處理器的分配的對(duì)象的狀態(tài)。當(dāng)邏輯子處理器在活動(dòng)狀態(tài)中時(shí),控制OS在適當(dāng)時(shí)向子處理器分配時(shí)間共享的物理子處理器。
      非活動(dòng)狀態(tài)是其中邏輯子處理器不是時(shí)間共享的對(duì)象的狀態(tài)。當(dāng)邏輯子處理器在非活動(dòng)狀態(tài)中時(shí),控制OS不向邏輯子處理器分配任何時(shí)間共享的物理子處理器。但是,在這種情況下,在上下文表中保存邏輯子處理器的上下文。由控制OS在邏輯分區(qū)地址空間中的這種上下文的映射使得其他處理器有可能訪問在非活動(dòng)狀態(tài)中的邏輯處理器。在此注意,客戶OS可以控制邏輯子處理器的活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)。
      在運(yùn)行狀態(tài)和可運(yùn)行狀態(tài)之間的差別在于是否在活動(dòng)狀態(tài)中的邏輯子處理器實(shí)際上正在被物理子處理器執(zhí)行。當(dāng)子處理器的數(shù)量大于物理處理器的數(shù)量時(shí),通過時(shí)間共享的物理子處理器來(lái)實(shí)現(xiàn)邏輯子處理器,結(jié)合圖2描述。因此,當(dāng)存在比物理子處理器更多的邏輯子處理器時(shí),不總是通過物理子處理器來(lái)執(zhí)行邏輯子處理器的情況。運(yùn)行狀態(tài)是當(dāng)邏輯子處理器實(shí)際上正在被物理子處理器執(zhí)行時(shí)的狀態(tài)。
      另一方面,可運(yùn)行狀態(tài)是當(dāng)邏輯子處理器是物理處理器的分配對(duì)象(活動(dòng)狀態(tài))、但不是實(shí)際上正在被物理子處理器執(zhí)行時(shí)的狀態(tài)。
      通過由控制OS導(dǎo)通的邏輯子處理器的上下文轉(zhuǎn)換來(lái)實(shí)現(xiàn)在這些狀態(tài)之間的過渡、即在運(yùn)行狀態(tài)和可運(yùn)行狀態(tài)之間的過渡。在此注意客戶OS可以檢測(cè)邏輯子處理器的運(yùn)行狀態(tài)和可運(yùn)行狀態(tài)。
      當(dāng)邏輯子處理器在活動(dòng)狀態(tài)和在運(yùn)行狀態(tài)中時(shí),在邏輯分區(qū)地址空間中的區(qū)域中映射MMIO寄存器信息和反映邏輯子處理器的狀態(tài)的物理子處理器的本地存儲(chǔ)區(qū)域信息。在這種狀態(tài)中,有可能進(jìn)行對(duì)于邏輯子處理器的訪問。
      當(dāng)邏輯子處理器轉(zhuǎn)換到非活動(dòng)狀態(tài)中時(shí),控制OS將邏輯子處理器的上下文存儲(chǔ)為關(guān)于邏輯子處理器的信息,并且映射對(duì)應(yīng)于邏輯子處理器的客戶OS的邏輯分區(qū)地址空間中的區(qū)域中的上下文表。作為這種處理的結(jié)果,客戶OS可以從其本身的邏輯分區(qū)地址空間引用在非活動(dòng)狀態(tài)中的邏輯子處理器的上下文表的資源信息,以便它可以現(xiàn)在執(zhí)行諸如讀取、寫入和更新資源信息之類的處理。
      而且,上下文表被構(gòu)造使得不僅存儲(chǔ)寄存器的內(nèi)容,而且存儲(chǔ)在傳統(tǒng)上下文表中不包括的作為本地存儲(chǔ)器的內(nèi)容和MMIO寄存器信息的信息。因此,客戶OS現(xiàn)在能夠根據(jù)與在其中不使用物理處理器的非活動(dòng)狀態(tài)中設(shè)置的邏輯處理器相關(guān)的各種狀態(tài)信息通過資源訪問來(lái)執(zhí)行數(shù)據(jù)處理,并且這種結(jié)構(gòu)增強(qiáng)了數(shù)據(jù)處理的效率。
      通過結(jié)合圖8,說(shuō)明客戶OS如何訪問與邏輯子處理器相關(guān)聯(lián)的資源。對(duì)于客戶OS設(shè)置邏輯分區(qū),并且所述邏輯分區(qū)與邏輯子處理器相關(guān)聯(lián)。將資源劃分為客戶OS不可訪問的資源501和客戶OS可以訪問的資源502。
      當(dāng)與對(duì)應(yīng)于客戶OS的邏輯分區(qū)相關(guān)聯(lián)的邏輯子處理器在活動(dòng)狀態(tài)中并且也在運(yùn)行狀態(tài)中時(shí),執(zhí)行通過物理子處理器510的數(shù)據(jù)處理。在這種狀態(tài)中,通過使用通用寄存器521、輸入/輸出端口522的一部分、MMIO寄存器523、本地存儲(chǔ)器524和主存儲(chǔ)器525來(lái)執(zhí)行數(shù)據(jù)處理,所述通用寄存器521、輸入/輸出端口522的一部分被包括在客戶OS不可訪問的資源501中,所述MMIO寄存器523、本地存儲(chǔ)器524和主存儲(chǔ)器525被包括在客戶OS可以訪問的資源502中。
      當(dāng)物理子處理器執(zhí)行數(shù)據(jù)處理時(shí),在客戶OS的邏輯分區(qū)地址空間中映射MMIO寄存器區(qū)域523、本地存儲(chǔ)區(qū)域524等,以便客戶OS可以訪問這些資源。
      另一方面,當(dāng)邏輯子處理器在非活動(dòng)狀態(tài)中時(shí),即當(dāng)它不再是物理子處理器的分配對(duì)象時(shí),在邏輯子處理器的主存儲(chǔ)器525中的上下文表531中存儲(chǔ)上下文。
      在對(duì)應(yīng)于邏輯子處理器的客戶OS的邏輯分區(qū)地址空間中的區(qū)域中映射要在主存儲(chǔ)器525中存儲(chǔ)的邏輯子處理器的上下文表531,以便它可以被客戶OS訪問。
      通過結(jié)合圖9,說(shuō)明在對(duì)應(yīng)于邏輯子處理器的客戶OS的邏輯分區(qū)地址空間和物理地址空間之間的對(duì)應(yīng)性。
      圖9示出了對(duì)應(yīng)于邏輯子處理器的客戶OS的邏輯分區(qū)地址空間560和物理地址空間570。物理地址空間570是包括存儲(chǔ)器、MMIO寄存器和物理子處理器的本地存儲(chǔ)器的物理空間。控制OS當(dāng)必要時(shí)在邏輯分區(qū)地址空間中映射物理地址空間570的一部分??蛻鬙S可以僅僅訪問在邏輯分區(qū)地址空間中映射的物理地址空間。
      當(dāng)與對(duì)應(yīng)于客戶OS的邏輯分區(qū)相關(guān)聯(lián)的邏輯子處理器在活動(dòng)狀態(tài)中并且也在運(yùn)行狀態(tài)中時(shí),即當(dāng)正在通過物理子處理器來(lái)執(zhí)行數(shù)據(jù)處理時(shí),在客戶OS的邏輯分區(qū)地址空間560中映射MMIO寄存器的一部分和本地存儲(chǔ)區(qū)域561,以便客戶OS可以訪問這些資源。
      另一方面,當(dāng)與對(duì)應(yīng)于客戶OS的邏輯分區(qū)相關(guān)聯(lián)的邏輯子處理器在非活動(dòng)狀態(tài)中時(shí),即當(dāng)它不再是物理子處理器的分配對(duì)象時(shí),在客戶OS的邏輯分區(qū)地址空間560中映射包括MMIO寄存器的一部分、本地存儲(chǔ)區(qū)域等的上下文表562,以便客戶OS可以訪問這些資源。
      結(jié)合圖10,詳細(xì)說(shuō)明上下文保存處理。圖10圖解了執(zhí)行上下文保存處理的控制OS 610和客戶OS 620,在客戶OS 620中,設(shè)置了用于通過使用與要存儲(chǔ)的上下文相關(guān)聯(lián)的邏輯處理器而執(zhí)行數(shù)據(jù)處理的邏輯分區(qū)。
      如上結(jié)合圖9所述,將上下文存儲(chǔ)在可以被客戶OS引用的狀態(tài)中等同于當(dāng)將邏輯子處理器設(shè)置到非活動(dòng)狀態(tài)中的情況。換句話說(shuō),這是當(dāng)邏輯子處理器不再是物理子處理器的分配對(duì)象的情況。
      結(jié)合圖10,客戶OS 620向控制OS 610的系統(tǒng)呼叫處理單元611輸出系統(tǒng)呼叫,用于請(qǐng)求保存處理,通過它,將上下文從客戶OS存儲(chǔ)到可以被客戶OS引用的位置。當(dāng)控制OS 610的系統(tǒng)呼叫處理單元611從客戶OS 620接收到系統(tǒng)呼叫時(shí),系統(tǒng)呼叫處理單元611向邏輯子處理器調(diào)度處理單元612輸出改變邏輯子處理器的調(diào)度的請(qǐng)求,并且請(qǐng)求上下文管理單元613存儲(chǔ)對(duì)應(yīng)于邏輯處理器的上下文。
      在其請(qǐng)求下,系統(tǒng)呼叫處理單元611將邏輯子處理器的狀態(tài)從活動(dòng)狀態(tài)轉(zhuǎn)換到非活動(dòng)狀態(tài)。即,與在客戶OS 620中設(shè)置的邏輯分區(qū)相關(guān)聯(lián)的邏輯子處理器從物理子處理器的分配對(duì)象中被取消。通過執(zhí)行這個(gè)處理,將邏輯子處理器設(shè)置到非活動(dòng)狀態(tài)。
      然后,邏輯子處理器調(diào)度處理單元612請(qǐng)求上下文管理單元613執(zhí)行存儲(chǔ)對(duì)應(yīng)于已經(jīng)轉(zhuǎn)換到非活動(dòng)狀態(tài)的邏輯子處理器的上下文的處理。當(dāng)邏輯子處理器調(diào)度處理單元612進(jìn)行存儲(chǔ)/恢復(fù)邏輯子處理器的上下文的請(qǐng)求時(shí),上下文管理單元613執(zhí)行存儲(chǔ)/恢復(fù)所述上下文。當(dāng)確認(rèn)這個(gè)邏輯子處理器已經(jīng)被設(shè)置到非活動(dòng)狀態(tài)時(shí),向主存儲(chǔ)器管理單元614發(fā)出將存儲(chǔ)上下文的上下文表映射到邏輯分區(qū)地址空間的請(qǐng)求。要存儲(chǔ)的上下文包括在邏輯處理器中的本地存儲(chǔ)器的內(nèi)容、MMIO的內(nèi)容和寄存器的內(nèi)容。
      主存儲(chǔ)器管理單元614確定在客戶OS 620的邏輯分區(qū)地址空間中的用于上下文訪問的地址。主存儲(chǔ)器管理單元614在客戶OS 620的邏輯分區(qū)地址空間區(qū)域中映射在作為物理地址空間的主存儲(chǔ)器中存儲(chǔ)的上下文,并且將其設(shè)置到可以被客戶OS 620引用的狀態(tài)。
      客戶OS可以按照被通告的地址來(lái)引用上下文,以便可以獲得基于上下文的資源,即MMIO寄存器或關(guān)于本地存儲(chǔ)區(qū)域的信息。因此,可以進(jìn)行關(guān)于這些資源的信息的讀取和寫入。
      結(jié)合圖11,將說(shuō)明當(dāng)為其設(shè)置邏輯分區(qū)的客戶OS從活動(dòng)狀態(tài)向非活動(dòng)狀態(tài)/從非活動(dòng)狀態(tài)向活動(dòng)狀態(tài)轉(zhuǎn)換時(shí)通過使用MMIO寄存器來(lái)進(jìn)行訪問處理中的過渡。在圖11中,客戶OS(GOS)701的狀態(tài)通過控制OS根據(jù)來(lái)自客戶OS的請(qǐng)求的控制而在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間改變。在圖11中,水平軸表示時(shí)間軸,時(shí)間(t)從左向右過去。在圖11中的S101到S105表示客戶OS的狀態(tài);即,狀態(tài)S101是非活動(dòng)狀態(tài),狀態(tài)S102是活動(dòng)狀態(tài),狀態(tài)S103是非活動(dòng)狀態(tài),狀態(tài)S104是活動(dòng)狀態(tài),和狀態(tài)S105是非活動(dòng)狀態(tài)。
      當(dāng)通過獲取MMIO寄存器信息而對(duì)于硬件等執(zhí)行訪問處理時(shí),客戶OS701在客戶OS 701在非活動(dòng)狀態(tài)中期間通過使用在主存儲(chǔ)器702中記錄的上下文表、即MMIO寄存器的拷貝信息來(lái)進(jìn)行訪問(S101,S103和S105)。另一方面,當(dāng)客戶OS 701在活動(dòng)狀態(tài)中時(shí)(S102和S104),客戶OS 701執(zhí)行訪問處理,其中,直接地使用與對(duì)應(yīng)于客戶OS的邏輯分區(qū)的物理子處理器703相關(guān)聯(lián)的MMIO寄存器信息。
      當(dāng)客戶OS 701的狀態(tài)從非活動(dòng)狀態(tài)改變到活動(dòng)狀態(tài)時(shí),如上所述執(zhí)行恢復(fù)上下文的處理。當(dāng)客戶OS 701的狀態(tài)從活動(dòng)狀態(tài)改變到非活動(dòng)狀態(tài)時(shí),如上所述執(zhí)行存儲(chǔ)上下文的處理。MMIO寄存器信息被包含在上下文中。
      以這種方式,與客戶OS相關(guān)聯(lián)的邏輯子處理器可以當(dāng)客戶OS在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)中時(shí)引用MMIO寄存器信息。因此。邏輯子處理器可以執(zhí)行讀取、寫入和更新資源信息等的處理。
      但是,仍然有關(guān)于允許每個(gè)客戶OS可以結(jié)合所有的MIMO寄存器的要考慮問題。例如,最好是控制OS僅僅可以設(shè)置和改變寄存器,通過它將存儲(chǔ)器區(qū)域設(shè)置為可以從與每個(gè)客戶OS相關(guān)聯(lián)的邏輯處理器訪問。并且不期望這樣的寄存器被客戶OS訪問和改變,因此,必須防止這樣的訪問。而且,對(duì)于通過其設(shè)置諸如單板(on-board)存儲(chǔ)器信息的系統(tǒng)信息的寄存器,需要防止通過客戶OS的訪問或改變。
      因此,需要一種結(jié)構(gòu),其中,當(dāng)客戶OS在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)時(shí)并且同時(shí)不允許可能影響控制OS或其他客戶OS的處理的對(duì)于MMIO寄存器的訪問的同時(shí),使能對(duì)于MMIO寄存器的訪問。
      作為對(duì)于MMIO寄存器的訪問的控制,下面兩種方式(a)和(b)的訪問控制是可能的。
      a)每頁(yè)(例如4K字節(jié))的訪問控制b)每個(gè)比特的訪問控制結(jié)合圖12和13來(lái)說(shuō)明每個(gè)訪問的控制配置。
      圖12圖解了MMIO寄存器的每頁(yè)的訪問控制配置??蛻鬙S 751訪問MMIO寄存器755。操作客戶OS 751的物理處理器753確定是否允許來(lái)自客戶OS 751的訪問的請(qǐng)求。僅僅當(dāng)被允許時(shí)才執(zhí)行對(duì)于MMIO寄存器755的訪問。
      物理處理器753具有表信息存儲(chǔ)緩沖器754(以下稱為TLB 754,它表示表后備緩沖器),它已經(jīng)以頁(yè)為單位(例如4K字節(jié))寄存了關(guān)于是否允許訪問的信息,所述頁(yè)由MMIO寄存器755的劃分區(qū)域表示。通過結(jié)合這個(gè)TLB 754,物理處理器753確定是否允許來(lái)自客戶OS 751請(qǐng)求訪問的頁(yè)的位置,并且只有所請(qǐng)求的頁(yè)是允許訪問的頁(yè)時(shí),它才允許所述訪問。
      關(guān)于還沒有在TLB 754中登記的信息,物理處理器753向工作在管理程序模式中的控制OS 752查詢關(guān)于是否允許訪問,并且從控制OS 752獲取關(guān)于是否允許訪問的信息。并且物理處理器753確定是否從客戶OS 751請(qǐng)求訪問的頁(yè)的位置是允許訪問的頁(yè)。然后在TLB 754中登記所獲得的信息,關(guān)于在TLB 754中登記的頁(yè)的位置,可以僅僅使用引用TLB 754的處理來(lái)確定是否允許訪問,而沒有查詢控制OS 752的麻煩,使得可以實(shí)現(xiàn)快速的處理。
      通過結(jié)合圖13,現(xiàn)在說(shuō)明對(duì)于MMIO寄存器的以比特為單位的訪問控制設(shè)置。通過使用客戶OS編程接口(GOI)761來(lái)執(zhí)行以比特為單位的訪問控制。如上結(jié)合圖5所述,工作在管理程序模式中的控制OS 752提供客戶OS編程接口來(lái)作為由客戶OS 751執(zhí)行各種處理所需要的接口。有可能通過使用客戶OS編程接口(GOI)761來(lái)執(zhí)行對(duì)于MMIO寄存器755的訪問控制。
      在僅僅允許使用客戶OS編程接口(GOI)761的MMIO寄存器訪問的結(jié)構(gòu)中,物理處理器753將向控制OS 752查詢是否允許訪問,即使不通過GOI 761而執(zhí)行了對(duì)于物理處理器753的訪問請(qǐng)求,但是控制OS 752也不允許訪問,因?yàn)樗鼪]有通過GOI 761而作出。
      當(dāng)客戶OS 751通過GOI 761而進(jìn)行訪問請(qǐng)求時(shí),工作在管理程序模式的控制OS 752根據(jù)由控制OS 752保存的信息來(lái)確定以比特為單位對(duì)于MMIO寄存器755的可訪問性和不可訪問性,并且允許客戶OS 751訪問僅僅在該允許訪問位置的MMIO寄存器信息。這種使用GOI的訪問控制具有提供以比特為單位的訪問控制的可能和因此通過控制OS來(lái)監(jiān)控的優(yōu)點(diǎn),但是它具有增加了在控制OS上的負(fù)載的問題。
      通過結(jié)合圖14,說(shuō)明在用于使用客戶OS編程接口(GOI)來(lái)執(zhí)行對(duì)于MMIO寄存器的訪問控制的設(shè)置中的上下文轉(zhuǎn)換順序。
      類似于圖11,在圖14中,時(shí)間(t)從左向右過去,并且邏輯子處理器S201到S205在控制OS的控制下在來(lái)自客戶OS的請(qǐng)求下從非活動(dòng)狀態(tài)向活動(dòng)狀態(tài)/從活動(dòng)狀態(tài)向非活動(dòng)狀態(tài)轉(zhuǎn)換。在圖14中的S201到S205表示客戶OS 801的狀態(tài);即狀態(tài)S201是非活動(dòng)狀態(tài),狀態(tài)S202是活動(dòng)狀態(tài),狀態(tài)S203是非活動(dòng)狀態(tài),狀態(tài)S204是活動(dòng)狀態(tài)和狀態(tài)S205是非活動(dòng)狀態(tài)。
      客戶OS 801使用客戶OS編程接口(GOI)來(lái)訪問MMIO寄存器,結(jié)合圖13描述。換句話說(shuō),對(duì)于MMIO寄存器的訪問使用由工作在管理程序模式的控制OS 802提供的客戶OS編程接口(GOI)。
      例如,在步驟S251,非活動(dòng)狀態(tài)的客戶OS 801通過由控制OS 802提供的客戶OS編程接口(GOI)根據(jù)在主存儲(chǔ)器803中存儲(chǔ)的上下文表來(lái)執(zhí)行MMIO寄存器訪問。即,通過存儲(chǔ)器訪問來(lái)實(shí)現(xiàn)MIMO訪問。
      在步驟S252,取代訪問主存儲(chǔ)器803,在活動(dòng)狀態(tài)中的客戶OS 801通過由控制OS 802提供的客戶OS編程接口(GOI)、通過使用與對(duì)應(yīng)于在活動(dòng)狀態(tài)中的客戶OS 801的邏輯分區(qū)相關(guān)聯(lián)的物理處理器804直接地訪問MMIO寄存器。
      而且在步驟S253和S255,通過由控制OS 802提供的客戶OS編程接口(GOI)、由對(duì)主存儲(chǔ)器803的訪問來(lái)實(shí)現(xiàn)由在非活動(dòng)狀態(tài)中的客戶OS 801進(jìn)行的MMIO寄存器訪問。并且在步驟S254,通過使用與對(duì)應(yīng)于在活動(dòng)狀態(tài)中的客戶OS 801的邏輯分區(qū)相關(guān)聯(lián)的物理處理器804來(lái)執(zhí)行對(duì)于MMIO寄存器的直接訪問。
      但是,對(duì)于對(duì)應(yīng)于物理處理器的MMIO寄存器的訪問處理比簡(jiǎn)單的存取訪問處理需要更多的時(shí)間。換句話說(shuō),對(duì)于對(duì)應(yīng)于物理處理器的MMIO的訪問時(shí)間(V)比存儲(chǔ)器訪問時(shí)間(W)大得多(即V>>W(wǎng)),并且有可能MMIO訪問的執(zhí)行導(dǎo)致數(shù)據(jù)處理的延遲。
      在圖14中所示的處理順序中,當(dāng)客戶OS 801在非活動(dòng)狀態(tài)時(shí)高速地完成MMIO寄存器訪問,而當(dāng)客戶OS 801在活動(dòng)狀態(tài)時(shí),MMIO寄存器訪問需要更長(zhǎng)的時(shí)間,因?yàn)樗荒芡ㄟ^對(duì)于主存儲(chǔ)器803的訪問而被完成。
      因此,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,不僅當(dāng)客戶OS 801在非活動(dòng)狀態(tài)而且當(dāng)它在活動(dòng)狀態(tài)中時(shí)在主存儲(chǔ)器803中存儲(chǔ)MMIO寄存器信息的拷貝信息。下面通過結(jié)合圖15來(lái)說(shuō)明按照此實(shí)施例的設(shè)置和處理。
      類似于圖14,在圖15中,時(shí)間(t)從左向右過去,并且邏輯子處理器S301到S305在控制OS的控制下在來(lái)自客戶OS的請(qǐng)求下從非活動(dòng)狀態(tài)向活動(dòng)狀態(tài)/從活動(dòng)狀態(tài)向非活動(dòng)狀態(tài)轉(zhuǎn)換。在圖15中,狀態(tài)S301是非活動(dòng)狀態(tài),狀態(tài)S302是活動(dòng)狀態(tài),狀態(tài)S303是非活動(dòng)狀態(tài),狀態(tài)S304是活動(dòng)狀態(tài)和狀態(tài)S305是非活動(dòng)狀態(tài)。
      客戶OS 801使用客戶OS編程接口(GOI)來(lái)訪問MMIO寄存器。換句話說(shuō),對(duì)于MMIO寄存器的訪問使用由工作在管理程序模式中的控制OS 802提供的客戶OS編程接口(GOI)。
      在圖15中所示的處理設(shè)置中,“陰影”作為不僅當(dāng)客戶OS 801在非活動(dòng)狀態(tài)而且當(dāng)它在活動(dòng)狀態(tài)時(shí)在主存儲(chǔ)器803中存儲(chǔ)MMIO寄存器信息的拷貝信息。因此,客戶OS 801可以總是如對(duì)于主存儲(chǔ)器803的訪問那樣執(zhí)行對(duì)于MMIO寄存器的訪問。
      例如,在步驟S351,在非活動(dòng)狀態(tài)的客戶OS 801通過由控制OS 802提供的客戶OS編程接口(GOI)來(lái)訪問在主存儲(chǔ)器803中作為陰影851而存儲(chǔ)的MMIO寄存器信息。即,通過存儲(chǔ)器訪問來(lái)完成MMIO訪問。
      在步驟S352,在活動(dòng)狀態(tài)的客戶OS 801通過由控制OS 802提供的客戶OS編程接口(GOI)來(lái)訪問在主存儲(chǔ)器803中被作為陰影852存儲(chǔ)的MMIO寄存器信息,即通過存儲(chǔ)器訪問來(lái)完成MMIO訪問。
      而且在步驟S353、S354和S355中,通過經(jīng)由控制OS 802提供的客戶OS編程接口(GOI)對(duì)于主存儲(chǔ)器803的訪問由相應(yīng)的陰影853到855的訪問來(lái)實(shí)現(xiàn)由在非活動(dòng)狀態(tài)或活動(dòng)狀態(tài)的客戶OS 801的MMIO寄存器訪問。
      注意在此處理設(shè)置中,當(dāng)客戶OS 801在活動(dòng)狀態(tài)并且正在執(zhí)行由與對(duì)應(yīng)于客戶OS 801的邏輯處理器相關(guān)聯(lián)的物理處理器進(jìn)行的處理時(shí),通過所述物理處理器來(lái)執(zhí)行使用MMIO寄存器的數(shù)據(jù)處理,并且通過所述數(shù)據(jù)處理來(lái)執(zhí)行由所述物理處理器對(duì)于MMIO寄存器的讀取和寫入。在主存儲(chǔ)器803中存儲(chǔ)的陰影被設(shè)置為MMIO寄存器的拷貝,因此不期望在實(shí)際MMIO寄存器和陰影之間產(chǎn)生任何差別。
      因此,當(dāng)客戶OS 801在活動(dòng)狀態(tài)時(shí),工作在管理程序模式中的控制OS802按照更新的MMIO寄存器信息來(lái)執(zhí)行陰影的更新。通過這種陰影的更新處理,在主存儲(chǔ)器803中設(shè)置的陰影保持為與MMIO寄存器的內(nèi)容一致的信息。
      應(yīng)當(dāng)注意,要在主存儲(chǔ)器中設(shè)置的陰影可能限于由物理處理器未進(jìn)行任何重寫的信息。或者,它可以被設(shè)置使得要在主存儲(chǔ)器中設(shè)置的陰影除了未由所述物理處理器進(jìn)行任何重寫的信息之外還可以限于允許工作在管理程序模式的控制OS 802檢測(cè)由所述物理處理器進(jìn)行的任何重寫,如果發(fā)生的話。在諸如此類的設(shè)置中,如果客戶OS要獲得在主存儲(chǔ)器中設(shè)置的陰影中不包括的MMIO寄存器信息,則要求客戶OS經(jīng)由所述物理處理器直接地訪問MMIO寄存器。
      通過結(jié)合圖16,下面說(shuō)明可以通過將陰影設(shè)置為在存儲(chǔ)器中的MMIO寄存器的拷貝信息而實(shí)現(xiàn)降低處理時(shí)間。
      圖16示出了當(dāng)不使用“陰影”((P1)到(P3))時(shí)和當(dāng)使用陰影((Q1)到(Q3))時(shí)的處理時(shí)間(由垂直軸表示)。更詳細(xì)地說(shuō),(P1)在沒有陰影的結(jié)構(gòu)中的通過GOI的MMIO寫入處理。
      (P2)在沒有陰影的結(jié)構(gòu)中的通過GOI的MMIO讀取處理。
      (P3)在沒有陰影的結(jié)構(gòu)中的MMIO寫入和讀取處理。
      (Q1)在有陰影的結(jié)構(gòu)中的通過GOI的MMIO寫入處理。
      (Q2)在有陰影的結(jié)構(gòu)中的通過GOI的MMIO讀取處理。
      (Q3)在有陰影的結(jié)構(gòu)中的MMIO寫入和讀取處理。
      在作為“在沒有陰影的結(jié)構(gòu)中的通過GOI的MMIO寫入處理”的(P1)中,由控制OS提供的客戶OS編程接口(GOI)的呼叫處理時(shí)間和MMIO寄存器寫入處理時(shí)間的總和是客戶OS的處理時(shí)間。在客戶OS編程接口(GOI)的呼叫處理中,客戶OS執(zhí)行對(duì)于控制OS的系統(tǒng)呼叫。響應(yīng)于這種系統(tǒng)呼叫,控制OS執(zhí)行處理來(lái)識(shí)別對(duì)應(yīng)于客戶OS的邏輯子處理器,并且以適用于所述客戶OS的方式來(lái)設(shè)置對(duì)應(yīng)于所述邏輯子處理器的客戶OS編程接口(GOI)。
      在作為“在沒有陰影的結(jié)構(gòu)中的通過GOI的MMIO讀取處理”的(P2)中,由控制OS提供的客戶OS編程接口(GOI)的呼叫處理時(shí)間和MMIO寄存器讀取處理時(shí)間的總和是客戶OS的處理時(shí)間。
      在作為“在沒有陰影的結(jié)構(gòu)中的MMIO寫入和讀取處理”的(P3)中,例如在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間轉(zhuǎn)換時(shí)執(zhí)行的上下文轉(zhuǎn)換處理中執(zhí)行所述處理。在這種處理中,客戶OS被分配了一物理處理器并且因此直接地執(zhí)行MMIO寄存器信息的寫入和讀取處理,因此處理時(shí)間是MMIO寄存器讀取處理時(shí)間、MMIO寄存器寫入處理時(shí)間和用于讀取和寫入在存儲(chǔ)器中存儲(chǔ)的上下文表的處理時(shí)間的總和。在此應(yīng)當(dāng)注意,如上所述,對(duì)與物理處理器的MMIO對(duì)應(yīng)的訪問時(shí)間(V)比存儲(chǔ)器訪問時(shí)間(W)大得多(即,V>>W(wǎng)),結(jié)果,在上下文表的讀取和寫入中花費(fèi)的存儲(chǔ)器訪問時(shí)間比MMIO讀取和寫入處理時(shí)間短得多。
      (Q1)到(Q3)是在結(jié)合圖15所述那樣設(shè)置陰影的設(shè)置中的處理時(shí)間,即當(dāng)執(zhí)行與(P1)到(P3)類似的處理時(shí)的處理時(shí)間。
      在作為“在有陰影的結(jié)構(gòu)中的通過GOI的MMIO寫入處理”的(Q1)中,由控制OS提供的客戶OS編程接口(GOI)的呼叫處理時(shí)間、MMIO寄存器寫入處理時(shí)間和通過存儲(chǔ)器訪問的陰影寫入處理時(shí)間的總和是客戶OS的處理時(shí)間。
      在作為“在有陰影的結(jié)構(gòu)中的通過GOI的MMIO讀取處理”的(Q2)中,將MMIO寄存器的拷貝信息作為陰影存儲(chǔ)在主存儲(chǔ)器中,以便客戶OS執(zhí)行在存儲(chǔ)器中設(shè)置的陰影的讀取而不是執(zhí)行MMIO寄存器的讀取。因此,由控制OS提供的客戶OS編程接口(GOI)的呼叫處理時(shí)間和通過存儲(chǔ)器訪問的陰影讀取處理時(shí)間的總和是處理時(shí)間。
      在作為“在有陰影的結(jié)構(gòu)中的MMIO寫入和讀取處理”的(Q3)中,類似于上述的處理(P3),例如在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)之間轉(zhuǎn)換時(shí)執(zhí)行的上下文轉(zhuǎn)換處理中執(zhí)行所述處理。在這種處理中,將MMIO寄存器的拷貝信息作為陰影存儲(chǔ)在主存儲(chǔ)器中,因此客戶OS執(zhí)行讀取在存儲(chǔ)器中設(shè)置的陰影而不是執(zhí)行讀取MMIO寄存器。因此,存儲(chǔ)器訪問時(shí)間和MMIO寄存器寫入處理時(shí)間的總和是處理時(shí)間。
      將如圖16中所示的無(wú)陰影處理(P1)到(P3)和有陰影的處理(Q1)到(Q3)相對(duì)于它們的處理時(shí)間而彼此相比較,并且獲得下面的結(jié)果。
      P1≈Q1P2>>Q2P3>>Q3從如上獲得的處理時(shí)間的差別,可以發(fā)現(xiàn)具有陰影的結(jié)構(gòu)實(shí)現(xiàn)了比沒有陰影的結(jié)構(gòu)更少的總處理時(shí)間,因此可以實(shí)現(xiàn)有效的數(shù)據(jù)處理。
      已經(jīng)結(jié)合特定實(shí)施例而詳細(xì)說(shuō)明了本發(fā)明。但是,對(duì)于本領(lǐng)域內(nèi)的技術(shù)人員顯然有可能在本發(fā)明的范圍內(nèi)進(jìn)行對(duì)于實(shí)施例的各種修改和替換。即,這些實(shí)施例僅僅是例示性的,不應(yīng)當(dāng)以限定的方式來(lái)解釋。因此,這些和其他對(duì)于所公開的實(shí)施例的改變意欲由本發(fā)明涵蓋,本發(fā)明僅僅被權(quán)利要求限定。
      可以以多種形式和結(jié)構(gòu),諸如通過僅僅硬件、僅僅軟件或其組合來(lái)實(shí)現(xiàn)在專利說(shuō)明書中所述的系列處理。在通過軟件的處理的情況下,可以以在計(jì)算機(jī)內(nèi)的專用硬件中嵌入的存儲(chǔ)器中安裝程序或在能夠執(zhí)行各種處理的通用計(jì)算機(jī)中安裝所述程序的方式來(lái)執(zhí)行已經(jīng)記錄了處理序列的所述程序。
      例如,可以預(yù)先在作為記錄介質(zhì)的硬盤或ROM(只讀存儲(chǔ)器)中記錄所述程序。或者可以在諸如軟盤、CD-ROM(致密盤只讀存儲(chǔ)器)、MO(磁光)盤、DVD(數(shù)字通用盤)、磁盤或半導(dǎo)體存儲(chǔ)器之類的可移動(dòng)記錄介質(zhì)中暫時(shí)或永久地存儲(chǔ)或記錄所述程序。這樣的可移動(dòng)記錄介質(zhì)可以被提供作為所謂的封裝軟件。
      注意,所述程序可以不僅從如上所述的可移動(dòng)記錄介質(zhì)被安裝在計(jì)算機(jī)中,而且還可以從下載站點(diǎn)被無(wú)線地傳送到計(jì)算機(jī)或可以使用諸如局域網(wǎng)(LAN)或因特網(wǎng)之類的網(wǎng)絡(luò)通過線路而被傳送到計(jì)算機(jī),以便所述計(jì)算機(jī)可以接收所述程序,并且將其安裝在諸如硬盤之類的內(nèi)置記錄介質(zhì)中。
      注意,在本專利申請(qǐng)中所述的各種處理不僅按照說(shuō)明的時(shí)間順序而被執(zhí)行,而且可以按照處理執(zhí)行單元的處理容量或按照需要來(lái)并行地或獨(dú)立地被執(zhí)行。而且,在本專利說(shuō)明書中的系統(tǒng)是多個(gè)單元的邏輯集合,并且不限于位于單個(gè)外殼(housing)中的構(gòu)成單元。
      如上所述,按照本發(fā)明的實(shí)施例,通過將多個(gè)邏輯處理器通過時(shí)間共享而與物理處理器相關(guān)聯(lián)來(lái)執(zhí)行數(shù)據(jù)處理。在這種設(shè)置中,控制OS被配置使得在存儲(chǔ)器中保存作為對(duì)應(yīng)于在活動(dòng)狀態(tài)或非活動(dòng)狀態(tài)中的邏輯處理器的MMIO寄存器的拷貝信息的“陰影”,在所述活動(dòng)狀態(tài)中,將一物理處理器分配到對(duì)應(yīng)于客戶OS的一邏輯處理器,在非活動(dòng)狀態(tài)中,不將一物理處理器分配到一邏輯處理器。因此,客戶OS可以總是通過存儲(chǔ)器訪問來(lái)自陰影的MMIO寄存器,因此實(shí)現(xiàn)比直接訪問MMIO寄存器更短的時(shí)間的訪問。因此,本發(fā)明的實(shí)施例實(shí)現(xiàn)了有效的數(shù)據(jù)處理。
      雖然已經(jīng)使用特定的術(shù)語(yǔ)說(shuō)明了本發(fā)明的優(yōu)選實(shí)施例,但是這樣的說(shuō)明僅僅是說(shuō)明性的,應(yīng)當(dāng)明白,可以在不脫離權(quán)利要求的精神和范圍的情況下可以進(jìn)一步進(jìn)行改變和變化。
      權(quán)利要求
      1.一種信息處理裝置,包括控制OS執(zhí)行單元,所述控制OS執(zhí)行將多個(gè)邏輯處理器通過時(shí)間共享而與一物理處理器相關(guān)聯(lián)的處理;以及,客戶OS執(zhí)行單元,所述客戶OS與作為邏輯處理器的邏輯分區(qū)相關(guān)聯(lián),并且是使用邏輯處理器的主體,其中,所述客戶OS執(zhí)行單元被配置來(lái)執(zhí)行數(shù)據(jù)處理,以便在其中一物理處理器被分配到對(duì)應(yīng)于所述客戶OS的邏輯處理器的活動(dòng)狀態(tài)中使用存儲(chǔ)器映射的輸入/輸出(MMIO)寄存器,并且其中,所述控制OS執(zhí)行單元被配置來(lái)在其中一物理處理器被分配到所述邏輯處理器的活動(dòng)狀態(tài)中和在其中沒有物理處理器分配到所述邏輯處理器的非活動(dòng)狀態(tài)中在存儲(chǔ)器中存儲(chǔ)對(duì)應(yīng)于與所述客戶OS對(duì)應(yīng)的所述邏輯處理器的MMIO寄存器的拷貝信息。
      2.按照權(quán)利要求1的信息處理裝置,其中所述控制OS執(zhí)行單元被配置來(lái)在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝,所述物理處理器不重寫所述MMIO寄存器信息。
      3.按照權(quán)利要求1的信息處理裝置,其中所述控制OS執(zhí)行單元被配置來(lái)在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝,所述物理處理器不重寫所述MMIO寄存器信息,并且執(zhí)行在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝的處理,所述控制OS能夠檢測(cè)已經(jīng)重寫的MMIO寄存器信息。
      4.按照權(quán)利要求1的信息處理裝置,其中所述控制OS執(zhí)行單元被配置來(lái)當(dāng)通過所述物理處理器而執(zhí)行MMIO寄存器信息的重寫時(shí),按照MMIO寄存器信息來(lái)更新在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息。
      5.按照權(quán)利要求1的信息處理裝置,其中所述客戶OS執(zhí)行單元被配置來(lái)經(jīng)由所述控制OS設(shè)置的客戶OS編程接口(GOI)訪問在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息。
      6.按照權(quán)利要求1的信息處理裝置,其中,所述客戶OS執(zhí)行單元被配置來(lái)在有訪問在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息的請(qǐng)求時(shí)執(zhí)行對(duì)于所述控制OS的系統(tǒng)呼叫,以及其中,所述控制OS執(zhí)行單元被配置來(lái)將客戶OS編程接口(GOI)設(shè)置為所述客戶OS的活動(dòng)狀態(tài)。
      7.一種用于在信息處理裝置中控制進(jìn)程的方法,所述信息處理裝置通過將多個(gè)邏輯處理器經(jīng)由時(shí)間共享而與一物理處理器相關(guān)聯(lián)來(lái)執(zhí)行數(shù)據(jù)處理,所述方法包括通過控制OS的執(zhí)行來(lái)執(zhí)行將對(duì)應(yīng)于作為使用邏輯處理器的主體的客戶OS的邏輯處理器通過時(shí)間共享而與物理處理器相關(guān)聯(lián)的處理;執(zhí)行數(shù)據(jù)處理,以便在其中將物理處理器分配到對(duì)應(yīng)于客戶OS的邏輯處理器的活動(dòng)狀態(tài)中在客戶OS中使用存儲(chǔ)器映射的輸入/輸出(MMIO)寄存器;以及通過所述控制OS的執(zhí)行來(lái)執(zhí)行處理,以便在其中將物理處理器分配到所述邏輯處理器的活動(dòng)狀態(tài)中和在其中沒有物理處理器分配到所述邏輯處理器的非活動(dòng)狀態(tài)中在存儲(chǔ)器中存儲(chǔ)對(duì)應(yīng)于與客戶OS對(duì)應(yīng)的所述邏輯處理器的所述MMIO寄存器的拷貝信息。
      8.按照權(quán)利要求7的進(jìn)程控制方法,其中通過控制OS來(lái)執(zhí)行在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝的處理,所述物理處理器不重寫所述MMIO寄存器信息。
      9.按照權(quán)利要求7的進(jìn)程控制方法,其中通過控制OS來(lái)執(zhí)行在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝的處理,所述物理處理器不重寫所述MMIO寄存器信息,并且通過控制OS來(lái)執(zhí)行在存儲(chǔ)器中存儲(chǔ)MMIO寄存器信息的拷貝的處理,所述控制OS能夠檢測(cè)已經(jīng)重寫的MMIO寄存器信息。
      10.按照權(quán)利要求7的進(jìn)程控制方法,其中當(dāng)通過所述物理處理器而執(zhí)行MMIO寄存器信息的重寫時(shí),通過控制OS來(lái)執(zhí)行按照MMIO寄存器信息更新在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息的處理。
      11.按照權(quán)利要求7的進(jìn)程控制方法,其中通過客戶OS經(jīng)由所述控制OS設(shè)置的客戶OS編程接口(GOI)執(zhí)行對(duì)在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息的訪問。
      12.按照權(quán)利要求7的進(jìn)程控制方法,其中,所述客戶OS在請(qǐng)求對(duì)在存儲(chǔ)器中存儲(chǔ)的MMIO寄存器的拷貝信息的訪問時(shí)執(zhí)行對(duì)于所述控制OS的系統(tǒng)呼叫,以及其中所述控制OS執(zhí)行將客戶OS編程接口(GOI)設(shè)置為所述客戶OS的活動(dòng)狀態(tài)的處理。
      13.一種計(jì)算機(jī)程序產(chǎn)品,用于信息處理裝置,所述信息處理裝置通過將多個(gè)邏輯處理器經(jīng)由時(shí)間共享而與物理處理器相關(guān)聯(lián)來(lái)執(zhí)行數(shù)據(jù)處理,所述計(jì)算機(jī)程序產(chǎn)品包括程序代碼模塊,用于通過控制OS的執(zhí)行來(lái)執(zhí)行將對(duì)應(yīng)于作為使用邏輯處理器的主體的客戶OS的邏輯處理器通過時(shí)間共享而與物理處理器相關(guān)聯(lián)的處理;程序代碼模塊,用于執(zhí)行數(shù)據(jù)處理,以便在其中將物理處理器分配到對(duì)應(yīng)于客戶OS的邏輯處理器的活動(dòng)狀態(tài)中在客戶OS中使用存儲(chǔ)器映射的輸入/輸出(MMIO)寄存器;以及,程序代碼模塊,用于通過所述控制OS的執(zhí)行來(lái)執(zhí)行處理,以便在其中將物理處理器分配到所述邏輯處理器的活動(dòng)狀態(tài)中和在其中沒有物理處理器分配到所述邏輯處理器的非活動(dòng)狀態(tài)中在存儲(chǔ)器中存儲(chǔ)對(duì)應(yīng)于與客戶OS對(duì)應(yīng)的所述邏輯處理器的所述MMIO寄存器的拷貝信息。
      全文摘要
      本發(fā)明提供了一種用于存儲(chǔ)存儲(chǔ)器映射的輸入/輸出(MMIO)寄存器的拷貝的方法和裝置,用于提高數(shù)據(jù)處理效率。在其中通過經(jīng)由時(shí)間共享將多個(gè)邏輯處理器與一物理處理器相關(guān)聯(lián)的結(jié)構(gòu)中,主機(jī)OS在活動(dòng)狀態(tài)和非活動(dòng)狀態(tài)中在存儲(chǔ)器中存儲(chǔ)對(duì)應(yīng)于一邏輯處理器的MMIO寄存器的拷貝信息、即陰影,在所述活動(dòng)狀態(tài)中,將一物理處理器分配到對(duì)應(yīng)于客戶OS的一邏輯處理器,在非活動(dòng)狀態(tài)中,沒有物理處理器分配到邏輯處理器。這種結(jié)構(gòu)使得客戶OS能夠經(jīng)由存儲(chǔ)器訪問通過陰影來(lái)獲得對(duì)于MMIO寄存器的更快的訪問,而不是直接地訪問MMIO寄存器,以便實(shí)現(xiàn)有效的數(shù)據(jù)處理。
      文檔編號(hào)G06F9/46GK1881183SQ200610093659
      公開日2006年12月20日 申請(qǐng)日期2006年6月14日 優(yōu)先權(quán)日2005年6月14日
      發(fā)明者橫田大輔 申請(qǐng)人:索尼計(jì)算機(jī)娛樂公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1