欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

客戶虛擬機內(nèi)的虛擬輸入/輸出存儲器管理單元的制作方法_3

文檔序號:8367454閱讀:來源:國知局
隊列。
[0037]在一個示例中,當被啟用時,1MMU 210攔截自下游設備到達的請求(可使用例如HyperTransportTM鏈接或基于PCI的通信對其進行傳送)、執(zhí)行權限檢查和關于請求的地址轉換以及經(jīng)由HyperTransportTM鏈接將上游轉換版本發(fā)送到存儲器220空間??刹蛔兊貍鬟f其它請求。
[0038]1MMU 210可從存儲器220中的表讀取以執(zhí)行其權限檢查、中斷再映射和地址轉換。為了保證無死鎖操作,1MMU 210對設備表228、I/O頁表252和中斷再映射表226的存儲器訪問可使用等時虛擬通道并且可僅引用存儲器220中的地址。通過1MMU 210創(chuàng)立的到命令緩沖區(qū)232、事件日志條目234和可選請求隊列條目(未示出)的其它存儲器讀取可使用正常虛擬通道。
[0039]如果1MMU 210為其處理的每個設備請求執(zhí)行完整的表查找進程,則系統(tǒng)性能可被大幅度地減小。因此,1MMU 210的實施被期望為1MMU 210的存儲器中的表的內(nèi)容維持內(nèi)部高速緩存。在操作期間,1MMU 210可使用系統(tǒng)軟件,以便當其更新由1MMU 210高速緩存的表條目時發(fā)送合適的無效命令。
[0040]在一個示例中,1MMU 210以使用正常虛擬通道的能力寫入存儲器220中的事件日志234。1MMU 210可以可選擇地寫入存儲器220中的外圍頁服務請求隊列236。到存儲器中的外圍頁服務請求隊列236的寫入還可使用正常虛擬通道。
[0041]在一個示例中,當系統(tǒng)處理器CPU使用故障機制時,10MMU210在存儲器中提供請求隊列以服務外圍頁請求。任何I/O設備可從10MMU210請求轉換,并且1MMU 210可響應有成功的轉換或頁錯誤。
[0042]主機OS還可為I/O設備啟動的訪問執(zhí)行轉換。當1MMU 210轉換通過I/O設備訪問的存儲器地址時,主機OS可通過構造指定所需轉換的I/O頁表來建立其自己的頁表。主機OS可在指向最新構造的I/O頁表的設備表中創(chuàng)建條目,并且可通知1MMU最新更新的設備條目。此時,可將(例如,來自顯卡或其他I/O設備的)相應1MMU I/O表和主機OSI/O表映射到相同的表。
[0043]可在處理器I/O頁表和存儲器I/O頁表中更新主機OS關于頁保護或轉換執(zhí)行的任何改變。
[0044]在一個示例中,1MMU 210經(jīng)配置執(zhí)行傳統(tǒng)上由示例性超級監(jiān)督者執(zhí)行的I/O任務。該布置減少保護、隔離、中斷再映射和地址轉換的超級監(jiān)督者干涉的需要。然而,當發(fā)生通過1MMU 210不可處理的頁錯誤時,1MMU 210可請求通過超級監(jiān)督者的干涉,以進行解決。然而,一旦解決了沖突,1MMU 210可繼續(xù)最初的任務,而再次沒有超級監(jiān)督者干涉。
[0045]超級監(jiān)督者可使用嵌套轉換層以分離和隔離客戶VMl和VM2。I/O設備可被直接分配到任何并發(fā)運行的客戶VM,以使I/O設備被容納到各自VM中的任一個的存儲器空間。進一步地,I/O設備22不能夠損壞或查看屬于超級監(jiān)督者或者另一個VM的存儲器或其它I/O設備。在客戶VM內(nèi),存在內(nèi)核地址空間和若干進程(用戶)地址空間??墒褂们短邹D換信息而無需使用客戶轉換層授予I/O設備內(nèi)核特權,以使其具有到客戶VM存儲器的整個內(nèi)容的相對自由訪問。
[0046]為了實現(xiàn)用戶層次(進程)I/O和高級計算模型,可實施客戶轉換層以用于客戶進程和I/O的分離和隔離。在1MMU 210中使用客戶轉換,可將任何I/O設備直接分配到客戶VM中的進程,或者I/O設備可在與用戶進程相同的地址空間中運行計算。進程地址空間可被識別到1MMU 210,以便將使用恰當?shù)霓D換表。即,每個存儲器事務可被標記有進程地址空間ID(PASID)。更具體地,示例PASID可用于識別x86標準客戶VM內(nèi)的應用地址空間??稍贗/O設備上使用PASID以隔離存在于共享的本地存儲器中的并存環(huán)境。
[0047]可通過1MMU 210使用設備ID以為地址轉換或中斷再映射操作選擇嵌套映射表。同時,PASID和設備ID用于唯一地識別應用地址空間。
[0048]如上所指出,出于穩(wěn)定性和安全性原因,期望將I/O設備22的訪問限制為僅已被授權給該I/O設備22的那部分存儲器。該普遍的需求在虛擬化環(huán)境中同樣適用。在虛擬化環(huán)境中,超級監(jiān)督者位于軟件棧的底部(即,鄰近硬件),并且是超級監(jiān)督者控制實際的物理硬件。通過其對實際物理硬件的控制,超級監(jiān)督者從而為超級監(jiān)督者上面的每個軟件塊創(chuàng)建專用硬件塊的假象,即使硬件可實際上不存在。因此,憑借超級監(jiān)督者,每個操作系統(tǒng)似乎具有其自己到所要求硬件的所需訪問,并且因此每個操作系統(tǒng)正常地操作。除了滿足每個操作系統(tǒng)的硬件需求,超級監(jiān)督者還可保持某些硬件部分為隱秘的,并從每個操作系統(tǒng)隱藏。因此,超級監(jiān)督者能夠為這些操作系統(tǒng)中的每個維護非重疊視圖。
[0049]也被稱為客戶操作系統(tǒng)的操作系統(tǒng)具有相同的(即,安全性和穩(wěn)定性)設備驅動器訪問相關問題,但具有一個重要的區(qū)別。該區(qū)別在于客戶操作系統(tǒng)不具有直接硬件訪問或控制。相反,如上所指出,超級監(jiān)督者具有在1MMU 210中進行主機硬件轉換的責任。換句話說,主機硬件轉換信息對超級監(jiān)督者可用,但該種信息對客戶操作系統(tǒng)不可用。因此,在虛擬化環(huán)境中,客戶操作系統(tǒng)不可在I/O設備和I/O設備驅動器周圍構建防火墻,以便確保將硬件訪問限制到所授權的域。
[0050]在虛擬化環(huán)境中為I/O設備構造防火墻的一種方法為使用虛擬化技術,以創(chuàng)建1MMU 210的軟件版本。然而,由于該種軟件實施的相當大的開銷,該種方法將導致不可接受的緩慢解決方案。進一步增加防火墻的軟件實施的不可接受性的是存在軟件根本不可干涉的某些事件。例如,對于設備驅動器正確地運行而設備本身發(fā)生故障或被病毒等等損壞的情境,軟件不可干涉。具體地,由于軟件根本不具有控制機制以構建該種保護機制,因此軟件不可隔離結果硬件訪問。
[0051]繼續(xù)參考圖1并再次參考圖1,在一些實施方案中,客戶OS 104提供有用于客戶VM 100內(nèi)虛擬1MMU的硬件支持。該硬件方法允許客戶VM 100在I/O設備22周圍建立所需防火墻,以使I/o設備22可僅讀取和寫入到其授權存儲器,并從而不可損壞任何其它存儲器。超級監(jiān)督者106通常使用嵌套轉換層以分離并隔離客戶VM 100被直接分配到客戶VM 100的I/O設備22被限制到該虛擬機的存儲器空間。I/O設備22不能夠損壞或查看屬于超級監(jiān)督者或者另一個虛擬機的存儲器或外圍設備。在客戶虛擬機內(nèi),存在內(nèi)核地址空間和若干進程(用戶)地址空間。通常使用嵌套轉換信息授予I/O設備22內(nèi)核特權,以使其具有到客戶虛擬機存儲器的整個內(nèi)容的相對自由訪問。為了實現(xiàn)用戶層次(進程)I/O和高級計算模型,引入客戶轉換層以用于客戶進程和I/O的分離和隔離。在虛擬1MMU中使用客戶轉換,可將I/O設備22直接分配到客戶虛擬機中的進程,或者GPU可在與用戶進程相同的地址空間中運行計算。
[0052]在一些實施方案中,虛擬1MMU使用包括客戶頁表254、主機頁表256和GCR3表242的數(shù)據(jù)結構。虛擬1MMU接收來自I/O設備22的存儲器請求。該種存儲器請求包括與I/O設備22關聯(lián)的客戶虛擬地址。通過使用客戶頁表254將客戶虛擬地址轉換為客戶物理地址??蛻鬙S 104維護客戶頁表254。通過主機頁表256將客戶物理地址轉換為系統(tǒng)物理地址。超級監(jiān)督者106維護主機頁表256。
[0053]因此,客戶頁表254強制實施或驗證通過I/O設備22在其存儲器請求中正確客戶虛擬地址的使用。具體地,客戶頁表254確??蛻籼摂M地址在通過與I/O設備22關聯(lián)的客戶OS 104授權的地址的有效范圍內(nèi)。如果客戶虛擬地址沒有落入通過與I/O設備22關聯(lián)的客戶OS 104授權的地址的有效范圍內(nèi),那么將阻止存儲器請求通過客戶頁表254訪問錯誤的客戶虛擬地址。
[0054]客戶頁表254在硬件中實施以便支持虛擬1MMU的速度需求,并且客戶頁表254在硬件中提供防火墻的強制實施。使用存儲在設備表228中的虛擬設備ID參數(shù)對GCR3表242索引。虛擬設備ID參數(shù)與I/O設備22關聯(lián)?;谔摂M1MMU中GCR3表242中的索引條目訪問客戶頁表254。
[0055]在一些實施方案中,客戶頁表254和主機頁表256的格式完全相同,并且設備表228中的控制位用于在虛擬1MMU中的不同的客戶頁表254用途之間進行區(qū)分。
[0056]在虛擬1MMU的該實施方案中,使用硬件和軟件兩種方法實現(xiàn)組成部分的虛擬化。如所指出,使用硬件實現(xiàn)客戶頁表254,以確保在滿意的時間表上執(zhí)行地址轉換。使用傳統(tǒng)的軟件方法完成虛擬1MMU中其它組成部分的虛擬化(例如,主機頁表256、設備表228、控制、配置和錯誤報告寄存器204、206、208、212、214、216、218、日志202、222、234、236和中斷再映射表226)。這些特定的元素不是特別地性能敏感,并且因此軟件虛擬化的使用中隱含的開銷不呈現(xiàn)實施虛擬1MMU的任何困難。
[0057]關于GCR3表242的修改,該表被重新運用為虛擬GCR3表。在其傳統(tǒng)配置中,GCR3表242經(jīng)設計支持GPGPU(即,圖形處理單元上的通用計算)計算。在該傳統(tǒng)配置中,由PASID (進程地址空間ID)索引GCR3表
當前第3頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
喀什市| 翁牛特旗| 洛南县| 西藏| 团风县| 宁南县| 翁源县| 福建省| 凤山市| 六盘水市| 庄河市| 旬阳县| 崇州市| 陇西县| 怀安县| 阿坝县| 金沙县| 石景山区| 无锡市| 会泽县| 靖州| 新巴尔虎左旗| 长顺县| 马鞍山市| 和顺县| 葫芦岛市| 辽中县| 宜丰县| 化隆| 榆树市| 崇阳县| 东丽区| 南康市| 额济纳旗| 全南县| 嵩明县| 镇康县| 恩施市| 吉隆县| 嫩江县| 隆尧县|