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

重定向物理設(shè)備控制器的中斷而提供多個虛擬設(shè)備控制器的制作方法

文檔序號:6583409閱讀:212來源:國知局
專利名稱:重定向物理設(shè)備控制器的中斷而提供多個虛擬設(shè)備控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種裝置,包括 處理器; 物理設(shè)備控制器;以及 虛擬化邏輯,用于接收來自所述物理設(shè)備控制器的第一中斷,并作為響應(yīng),將來自多個虛擬設(shè)備控制器之一 的第二中斷發(fā)送至所述處理器。


附圖中舉例而非限制性地示出本發(fā)明。
圖1示出根據(jù)本發(fā)明一個實施例用于重定向中斷的設(shè)備。
圖2示出根據(jù)本發(fā)明一個實施例用于重定向中斷的方法。 圖3示出根據(jù)本發(fā)明一個實施例存儲用于重定向中斷的信息的條目。
具體實施例方式
如下所述,本發(fā)明能以用于重定向中斷的裝置或方法的形式實施。在本描述中,闡述了諸如組件和系統(tǒng)配置的眾多具體細節(jié),以便可以更全面地理解本發(fā)明。但是,本領(lǐng)域技術(shù)人員將明白,沒有這些具體細節(jié)也可實現(xiàn)本發(fā)明。另外,沒有詳細示出一些熟知的結(jié)構(gòu)、電路等,以免不必要地使本發(fā)明的描述晦澀難懂。 希望多個虛擬機可共享單個物理設(shè)備控制器,而無需VMM攔截涉及該設(shè)備控制器的所有事務(wù),或無需將設(shè)備控制器重新設(shè)計成支持虛擬化。因此,本發(fā)明的實施例可用于重定向來自單個物理設(shè)備控制器的中斷,以使得物理設(shè)備控制器看起來就像是多個虛擬設(shè)備控制器一樣。 本發(fā)明的實施例的元件能以硬件、軟件、固件、或硬件、軟件或固件的任何組合的形式實現(xiàn)。術(shù)語"硬件"一般是指具有物理結(jié)構(gòu)的元件,如電子、電磁、光、光電、機械、機電零件等。術(shù)語"軟件"一般是指邏輯結(jié)構(gòu)、方法、過程、程序、例行程序、進程、算法、公式、表達式等。術(shù)語"固件"一般是指在硬件結(jié)構(gòu)(如閃存或只讀存儲器)中實現(xiàn)或?qū)嵤┑倪壿嫿Y(jié)構(gòu)、方法、過程、程序、例行程序、進程、算法、公式或表達式。固件的實例有微代碼、可寫控制存儲和微編程結(jié)構(gòu)。 圖1示出根據(jù)本發(fā)明一個實施例可在其中重定向中斷的信息處理系統(tǒng)100。信息處理系統(tǒng)100包括裸平臺硬件110,它可以是能夠執(zhí)行任何0S、 V匪或其它軟件的任何裝置。例如,裸平臺硬件110可以是個人計算機、大型計算機、便攜式計算機、手持設(shè)備、機頂盒、服務(wù)器或任何其它計算系統(tǒng)的硬件。在此實施例中,裸平臺硬件110包括處理器120、芯片集130、系統(tǒng)存儲器140和設(shè)備控制器150。 處理器120可以是具有一個或多個執(zhí)行核的任何組件,其中每個執(zhí)行核可基于各種不同類型的處理器中的任何處理器,這些不同類型的處理器包括通用微處理器,例如
Intel Pentium 處理器系列、Itanium 處理器系列、Intel 公司的其它處理器系列中的處理器或另一公司的另一處理器;或數(shù)字信號處理器或微控制器。盡管圖1只示出一個
這樣的處理器120,但裸處理硬件110可包括任何數(shù)量的處理器,包括任何數(shù)量的多核處
理器,每個多核處理器具有任何數(shù)量的執(zhí)行核;以及任何數(shù)量的多線程處理器,每個多線程處理器具有任何數(shù)量的線程。 芯片集130可以是支持存儲器操作、輸入/輸出操作、配置、控制、內(nèi)部或外部接口、連接、或通信功能(例如,"膠合"邏輯和總線橋)和/或處理器120和/或系統(tǒng)100的任何類似功能的任何電路和邏輯組。芯片集130的各個元件可集合在單個芯片上、一對芯片上、散布在多個芯片中,和/或部分地、全部地、冗余地、或根據(jù)分布式方法集成到包括處理器120在內(nèi)的一個或多個處理器中。在此實施例中,芯片集130包括如下所述的根據(jù)本發(fā)明一個實施例用于重定向中斷的虛擬化邏輯132。在其它實施例中,虛擬化邏輯132可包含在系統(tǒng)100的其它地方。 系統(tǒng)存儲器140可包括其上可存儲諸如數(shù)據(jù)和/或指令的信息的任何介質(zhì),例如
靜態(tài)或動態(tài)隨機存取存儲器、基于半導(dǎo)體的只讀存儲器或閃速存儲器、磁或光盤存儲器、或
可由處理器120讀取的任何其它類型的介質(zhì)、或這些介質(zhì)的任何組合。 設(shè)備控制器150可表示任何類型的1/0、外圍設(shè)備或可作為中斷請求的來源的其
它設(shè)備的控制器,例如硬盤控制器、音頻控制器、網(wǎng)絡(luò)接口控制器、外圍總線控制器等。設(shè)備
控制器150可在離散組件中實施,或可包含在具有任何其它設(shè)備控制器的集成組件中。在
一個實施例中,設(shè)備控制器150可表示多功能1/0、外圍設(shè)備或其它設(shè)備控制器中的功能。設(shè)備控制器150可包括用于存儲配置信息的配置存儲設(shè)備152。 處理器120、芯片集130、系統(tǒng)存儲器140和設(shè)備控制器150可根據(jù)任何已知方法彼此耦合或相互通信,這些已知方法可以是例如直接法、或通過一種或多種并行、順序、流水線、異步、同步、有線、無線或其它總線或點對點連接或通信方式的間接法。例如,在此實施例中,芯片集130包括接口 131,接口 131用于通過任何這樣的連接或其它通信方式從設(shè)備控制器150接收信號、消息和/或諸如中斷請求的事務(wù),或?qū)⑿盘?、消息?或事務(wù)傳送至設(shè)備控制器150和/或系統(tǒng)100中的任何其它代理或組件。類似地,設(shè)備控制器150包括接口 151,接口 151用于向和/或從芯片集130和/或系統(tǒng)100中的任何其它代理或組件傳送和/或接收信號、消息和/或事務(wù)。系統(tǒng)100還可包括任何數(shù)量的額外代理、組件或連接。 系統(tǒng)100還包括V匪160與VM 162和164。 V匪160可以是經(jīng)安裝而可在裸平臺硬件110上運行或可供裸平臺硬件110訪問以向訪客呈現(xiàn)VM( S卩,裸平臺硬件110的抽象)或以其它方式創(chuàng)建VM、管理VM并在系統(tǒng)100內(nèi)實現(xiàn)虛擬化策略的任何軟件、固件或硬件主機。在其它實施例中,主機可以是能夠控制裸平臺硬件110的任何V匪、管理程序、OS、或其它軟件、固件或硬件。訪客可以是任何OS、包括V匪160的另一實例在內(nèi)的任何V匪、任何管理程序、或任何應(yīng)用或其它軟件。 根據(jù)VM中呈現(xiàn)的處理器和平臺的體系結(jié)構(gòu),每個訪客預(yù)期能訪問裸平臺硬件110或由V匪160虛擬化的平臺的資源,例如處理器和平臺寄存器、存儲器和輸入/輸出設(shè)備。圖1示出兩個VM 162和164,可在每個VM上安裝訪客0S和任何數(shù)量的訪客應(yīng)用。盡管圖1示出兩個VM,但在本發(fā)明的范圍內(nèi),可創(chuàng)建任何數(shù)量的VM,并且可以安裝任何數(shù)量的訪客OS和訪客應(yīng)用以在每個VM上運行。 返回到芯片集130,虛擬化邏輯132可包括用于重定向來自物理設(shè)備控制器(如物理設(shè)備控制器150)的中斷的任何電路、邏輯或其它結(jié)構(gòu),如固件。芯片集130還包括如上所述的接口 131、配置存儲設(shè)備134和數(shù)據(jù)存儲設(shè)備136。配置存儲設(shè)備134和數(shù)據(jù)存儲設(shè)備136可包括其上可存儲信息的任何介質(zhì);例如,配置存儲設(shè)備134可包括可編程寄存器,而數(shù)據(jù)存儲設(shè)備136可包括靜態(tài)隨機存取存儲器。虛擬化邏輯132可從配置存儲設(shè)備134和/或數(shù)據(jù)存儲設(shè)備136讀取信息以及將信息寫入到配置存儲設(shè)備134和/或數(shù)據(jù)存儲設(shè)備136,以確定要捕獲哪些物理設(shè)備控制器的中斷、每個共享的物理設(shè)備控制器當前分配給哪個VM、要將所捕獲的每個VM的中斷重定向到哪里等等,以及維持這樣的狀態(tài)。配置存儲設(shè)備134和數(shù)據(jù)存儲設(shè)備136可映射到處理器110的地址空間,以便可以利用它們來在虛擬化邏輯132與VM 162和164之間交換信息。 芯片集130可通過接口 131從設(shè)備控制器150接收中斷請求。在一個實施例中,可根據(jù)任何已知的信令協(xié)議通過輸入端子作為諸如水平或邊緣觸發(fā)中斷信號的信號接收中斷請求("管腳中斷")。在另一實施例中,可根據(jù)任何已知的消息、事務(wù)或其它通信協(xié)議作為諸如總線消息或點對點事務(wù)的消息接收中斷請求。例如,在設(shè)備控制器150通過外圍組件互連E鄧ress( "PCI-E鄧ress")總線耦合到芯片集130的實施例中,總線協(xié)議可包括消息信號中斷("MSI"),其中中斷消息可包括32位地址字段和32位數(shù)據(jù)字段。包括利用基于信號和消息的中斷請求的實施例在內(nèi)的其它實施例也是可能的。 系統(tǒng)100可包括用于將中斷請求按優(yōu)先級排序并將它們遞送給處理器120和/或
5系統(tǒng)100中的任何其它代理的一個或多個中斷控制器。在一個實施例中,處理器120包括本地中斷控制器122,芯片集130包括I/O中斷控制器138。 可將中斷請求引至處理器120以執(zhí)行與設(shè)備控制器150相關(guān)聯(lián)的中斷處理程序。目標(intended)中斷處理程序可由中斷請求所傳達的信息(例如,MSI中的地址和/或數(shù)據(jù)字段的內(nèi)容)指示,或?qū)τ诠苣_中斷,預(yù)期的中斷處理程序可由輸入端子、管腳或信號路徑的身份(identity)指示。但是,為了支持設(shè)備控制器150的虛擬化,虛擬化邏輯132可捕獲中斷請求,即,虛擬化邏輯132攔截并修改要到處理器120的中斷消息或信號。
圖2示出根據(jù)本發(fā)明一個實施例可重定向中斷的方法200。在對圖2的方法實施例的描述中,可參照圖1中的系統(tǒng)實施例的元件,但是,本發(fā)明的方法實施例在這方面不受限制。 在方法200的方框210中,配置信息處理系統(tǒng)(如系統(tǒng)100),使得將可以作為中斷請求的來源的每個物理設(shè)備控制器(如設(shè)備控制器150)與中斷處理程序相關(guān)聯(lián)??蓪⑴渲眯畔⒋鎯υ谂渲么鎯υO(shè)備152中,配置存儲設(shè)備152可以是例如MSI寄存器。
在包括MSI的實施例中,可通過例如虛擬化邏輯132來配置物理設(shè)備控制器150以利用它的MSI的地址字段中的第一地址值和數(shù)據(jù)字段中的第一數(shù)據(jù)值。根據(jù)由V匪160維持的系統(tǒng)存儲器的視圖,第一地址值可以是與本地中斷控制器122相關(guān)聯(lián)的地址。根據(jù)由VMM 160維持的系統(tǒng)存儲器的視圖,第一數(shù)據(jù)值可以是與設(shè)備控制器150的中斷處理程序相關(guān)聯(lián)的地址。 在包括管腳中斷的實施例中,可通過以下方法來配置物理設(shè)備控制器150 :硬接線或軟接線要由I/O中斷控制器138接收的該物理設(shè)備控制器150的中斷請求輸出,使得該中斷請求輸出可由虛擬化邏輯132攔截。例如,可將中斷請求輸出多路傳送至I/O中斷控制器134或虛擬化邏輯132。 I/O中斷控制器138可編程為使設(shè)備控制器150的中斷處理程序與來自設(shè)備控制器150的中斷請求輸出所連接到的輸入相關(guān)聯(lián)。
在方框212,將虛擬化邏輯132配置成捕獲來自設(shè)備控制器150的中斷請求。
在包括MSI的實施例中,虛擬化邏輯132可包括配置存儲設(shè)備134中的多個位置(location),這些位置可用在芯片集130和設(shè)備控制器150之間的總線上捕獲的MSI事務(wù)的地址和數(shù)據(jù)值編程。例如,圖3示出配置存儲設(shè)備134中的條目300,條目300包括物理MSI地址字段310、物理MSI數(shù)據(jù)字段320、虛擬MSI地址字段330和虛擬MSI數(shù)據(jù)字段340。在此實施例中,可將第一地址值和第一數(shù)據(jù)值分別編程到物理MSI地址字段310和物理MSI數(shù)據(jù)字段320中。然后,如下文進一步描述的,可使用條目300來將虛擬設(shè)備控制器與物理設(shè)備控制器150相關(guān)聯(lián)。也可用第一地址和第一數(shù)據(jù)值來編程以條目300格式的額外條目,以將額外虛擬設(shè)備控制器與物理設(shè)備控制器150相關(guān)聯(lián)。 在包括管腳中斷的實施例中,可將中斷請求信號從可由本地中斷控制器138接收切換為可由虛擬化邏輯132接收。 在方框214,可將虛擬化邏輯132配置成使表示物理設(shè)備控制器150的虛擬設(shè)備控制器中的一個或多個虛擬設(shè)備控制器與一個或多個VM相關(guān)聯(lián)。 在利用MSI的實施例中,可用所捕獲的MSI事務(wù)的地址和數(shù)據(jù)值編程的配置存儲設(shè)備134中的位置可包括可用與VM相關(guān)聯(lián)的地址和數(shù)據(jù)值編程的額外的對應(yīng)位置(例如,虛擬MSI地址字段330和虛擬MSI數(shù)據(jù)字段340)。例如,VM 152可能不能訪問所有系統(tǒng)存 儲器140;因此,VM 152的系統(tǒng)存儲器140視圖可能不同于V匪150的視圖。根據(jù)VM 152 的系統(tǒng)存儲器140視圖,與本地中斷控制器122相關(guān)聯(lián)的地址可能不是結(jié)合方框212描述 的第一地址值,而可能是第二地址,并且與設(shè)備控制器150的中斷處理程序相關(guān)聯(lián)的地址 可能不是第一數(shù)據(jù)值,而可能是第二數(shù)據(jù)值。因此,可用第二地址值編程虛擬MSI地址字段 330,并用第二數(shù)據(jù)值編程虛擬MSI數(shù)據(jù)字段340。 在利用管腳中斷的實施例中,虛擬化邏輯132可配置成代表對應(yīng)于物理設(shè)備控制 器150的虛擬設(shè)備控制器將中斷請求發(fā)送至I/O中斷控制器138。配置存儲設(shè)備134或數(shù) 據(jù)存儲設(shè)備136可包括用于存儲來自物理設(shè)備控制器的中斷請求輸入與去往I/O中斷控制 器138的中斷請求輸出之間的映射的位置。 在方框220,物理設(shè)備控制器150通過例如發(fā)出MSI事務(wù)或通過斷言中斷信號而 做出第一中斷請求。在方框222,虛擬化邏輯132捕獲中斷請求。在方框224,虛擬化邏輯 132基于例如存儲在數(shù)據(jù)存儲設(shè)備136中的信息和/或通過輪詢物理設(shè)備控制器150來確 定要將第一中斷請求給哪個VM。在方框226,虛擬化邏輯132在數(shù)據(jù)存儲設(shè)備136的隊列、 緩沖器或其它位置中輸入第一中斷請求,使得VM可找到該請求以與虛擬化邏輯132交換信 息。 在方框230,虛擬化邏輯132將對應(yīng)于但不同于方框220中的第一中斷請求的第 二中斷請求發(fā)送給處理器120。在一個實施例中,直到處理器120的控制權(quán)轉(zhuǎn)移到第一中 斷請求要到的那個VM時才發(fā)送第二中斷請求。該第二中斷請求可以是消息或信號的形式。 在它是消息的實施例中,消息中所包含的地址、數(shù)據(jù)和/或任何其它信息可以是對應(yīng)于虛 擬設(shè)備控制器而非物理設(shè)備控制器的信息。例如,可在處理器120和芯片集130之間的總 線上發(fā)送MSI,其中地址字段中的虛擬MSI地址字段330是第二地址值,而數(shù)據(jù)字段中的虛 擬MSI數(shù)據(jù)字段340是第二數(shù)據(jù)值。在第二中斷請求是信號的實施例中,可將信號從虛擬 化邏輯132發(fā)送到I/O中斷控制器138,然后可將信號從I/O中斷控制器138發(fā)送至處理器 120。基于在方框214的描述中所論述的映射,從虛擬化邏輯132發(fā)送的信號可以是對應(yīng)于 虛擬設(shè)備控制器而非物理設(shè)備控制器150的信號。在任一實施例中,V匪160都可以不知道 信息對應(yīng)的是虛擬設(shè)備控制器而非物理設(shè)備控制器,因為虛擬化是通過虛擬化邏輯132而 非V匪160執(zhí)行的。 在方框240,處理器120接收第二中斷請求,獲取至中斷處理程序的向量,并開始 在目標VM中執(zhí)行中斷處理程序。在方框242, VM可通過數(shù)據(jù)存儲設(shè)備136與虛擬化邏輯 132交換信息。 在本發(fā)明的范圍內(nèi),可在省略所示方框、增加額外方框、或重排、省略或添加額外 方框的組合的情況下執(zhí)行方法200。諸如226和230的一些方框可并行執(zhí)行。
可在從創(chuàng)建到模擬到制作的各種階段中設(shè)計根據(jù)本發(fā)明實施例設(shè)計的任何組件 或組件的部分。表示設(shè)計的數(shù)據(jù)可用多種方式來表示該設(shè)計。首先,如同在模擬中有用一 樣,可利用硬件描述語言或另一功能描述語言來表示硬件。另外或作為替代,可在設(shè)計過程 的某些階段制作具有邏輯和/或晶體管門的電路級模型。此外,在某個階段,大多數(shù)設(shè)計達 到可用表示各種設(shè)備的物理布局的數(shù)據(jù)來對其建模的程度。在利用常規(guī)半導(dǎo)體制造技術(shù)的 情況下,表示設(shè)備布局模型的數(shù)據(jù)可以是指定用于制造集成電路的掩膜的不同掩膜層上各種特征存在與否的數(shù)據(jù)。 在設(shè)計的任何表示中,可將數(shù)據(jù)存儲在任何形式的機器可讀介質(zhì)中。經(jīng)調(diào)制或以 其它方式生成以傳送這樣的信息的光或電波、存儲器、或諸如盤的磁或光存儲介質(zhì)都可作 為機器可讀介質(zhì)。任何這些介質(zhì)都可"攜帶"或"指示"本發(fā)明的實施例中所用的設(shè)計或其 它信息。當傳送指示或攜帶這些信息的電載波時,在執(zhí)行電信號的復(fù)制、緩沖或再傳送的程 度,進行新的復(fù)制。因此,通信提供商或網(wǎng)絡(luò)提供商的這些動作可構(gòu)成對實施本發(fā)明技術(shù)的 諸如載波的制品進行復(fù)制。 因此,公開了用于重定向中斷的裝置、方法和系統(tǒng)。盡管描述并在附圖中示出了某 些實施例,但應(yīng)理解,這些實施例只是說明而非限制廣泛的發(fā)明,并且本發(fā)明不限于所示和 所描述的特定構(gòu)造和布置,在研讀本公開后,本領(lǐng)域技術(shù)人員可聯(lián)想到各種其它修改。在諸 如此類的技術(shù)領(lǐng)域中,發(fā)展迅速且不易預(yù)知進一步的進展,在不背離本公開的原理或隨附 權(quán)利要求的范圍的情況下,在賦予技術(shù)發(fā)展的促進下,所公開的實施例可容易在布置和細 節(jié)方面做出修改。
8
權(quán)利要求
一種裝置,包括處理器;物理設(shè)備控制器;以及虛擬化邏輯,用于接收來自所述物理設(shè)備控制器的第一中斷,并作為響應(yīng),將來自多個虛擬設(shè)備控制器之一的第二中斷發(fā)送至所述處理器。
全文摘要
本發(fā)明公開通過重定向來自物理設(shè)備控制器的中斷而提供多個虛擬設(shè)備控制器的裝置、方法和系統(tǒng)的實施例。在一個實施例中,裝置包括處理器、物理設(shè)備控制器和虛擬化邏輯。虛擬化邏輯用于接收來自物理設(shè)備控制器的第一中斷,并作為響應(yīng),將來自多個虛擬設(shè)備控制器之一的第二中斷發(fā)送至處理器。
文檔編號G06F9/455GK101777005SQ200910217299
公開日2010年7月14日 申請日期2009年12月25日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者M·塔貝特, R·納拉瓦迪, S·卡利納海利, Z·博金 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
自治县| 隆回县| 广元市| 婺源县| 康马县| 潢川县| 万山特区| 津市市| 阳原县| 陵水| 建瓯市| 永安市| 类乌齐县| 正安县| 射洪县| 荥经县| 天气| 江都市| 山东| 额敏县| 乐至县| 汝城县| 营山县| 宿迁市| 房产| 广昌县| 阜宁县| 丰台区| 广饶县| 万全县| 公安县| 财经| 凤冈县| 丹寨县| 昭通市| 洛阳市| 瑞安市| 姚安县| 竹溪县| 旬邑县| 龙口市|