TW200937292A - Audio subsystem sharing in a virtualized environment - Google Patents
Audio subsystem sharing in a virtualized environment Download PDFInfo
- Publication number
- TW200937292A TW200937292A TW097147804A TW97147804A TW200937292A TW 200937292 A TW200937292 A TW 200937292A TW 097147804 A TW097147804 A TW 097147804A TW 97147804 A TW97147804 A TW 97147804A TW 200937292 A TW200937292 A TW 200937292A
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual
- audio codec
- command
- codec
- physical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Bus Control (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Pinball Game Machines (AREA)
Description
200937292 六、發明說明: 【發明所屬技術領域】 發明領域 5 10 15 Ο 20 [0001] 本發明與一電腦系統中的音訊子系統在該電腦 系統上執行的多個虛擬機器之間的共享有關。 t先前技術3 發明背景 [0002] 虛擬化是一種用以在存在於一電腦系統中的多 個虛擬機器(VM)之間共享在該電腦中可得的一些/全部資 源/性能的機制。VM是執行程式之機器(電腦)(如真實機器) 的軟體實施。 [0003] 在許多實施虛擬化的電腦系統中,諸如微軟視窗 (Microsoft® Windows®)的通用作業系統(〇S)可在該系統中 之一分區上的一VM中執行。一通用〇s(下文稱為能力〇S), COS是能夠獨立管理電腦系統上的所有資源以及將所有服 務提供給應用程式和較低階軟體的作業系統。電腦系統中 的某些功能對於保持操作而言是至關重要的,即使是在能 力OS(COS)當機的情況下。應能夠抵擋c〇s當機的一應用程 式是網路電話(VoIP)應用程式。VoIP應用程式將受益於此, 用以即使是在COS當機的情況下也允許電話會話繼續。這 將需要VoIP應用程式在該能力〇s分區的外部執行。 [0004] 隨著不同語音和音訊應用程式在電腦系統上之 多個VM/分區中的執行變得更加的常見,音訊周邊設備之 使用的競爭在任何特定系統中都可能發生。在許多情況下 3 200937292 存在多個VM與在每一VM上執行的應用程式,其需要透過 離散音訊編碼解碼器存取音訊周邊設備。此外,在這些系 統的許多系統中一離散高解析度(_音訊編碼解碼晶片、 與-音訊㈣H晶片協同操作以管理音訊㈣設備在該系 統中的使用。 【^'明内穷】 依據本發明之一實施例,係特地提出-種裝置,其包 含:直接存取-實體音訊編碼解碼器的一第一虛擬機器; 10 15 以及由該第-虛擬機器管理的—虛擬音訊編碼解碼器用 以為-個或多個額外的虛擬機器,提供針對該實體音訊編 碼解碼器的一訂製介面。 依據本發明之另一實施例,係特地提出一種法,其包 含以下步驟:直接麵—實體音訊編碼解碼器,其中該存 :由-第-虛擬機器執行;以及為一個或多個額外的虛擬 機器,提供針對該實體音訊編碼解碼器的-訂製介面。 依據2 =之又—實施例,料地提出—種系統,其 m-虛擬機器,其制以:直
編碼解碼器、及為太兮够^ Λ ^ a -TL 糸°"第—虛擬機器上執行的—服務作業 ==其中該服務作業系統管理-虛擬音訊編碼 解碼器’該虛擬音訊編碼解碼器為_ 該實體音訊一的-訂 器的存取,提供器把對該虛擬音訊編碼解瑪 少-個虛擬機器上個或多個額外虛擬機器中的至 上執仃的至少—個能力作業系統管理的一 20 200937292 個或多個軟體應用程式。 圖式簡單說明 [0005]本發明透過舉例來說明,但是不受該等圖式的限 制,其中相似的參考數字指示相似的元件,其中: 5 10 15 ❹ 20 [〇〇06]第1圖描述能夠針對在該祕上執行的多個虛擬 機器’將-6了製介面提供給—實體音訊編碼解碼器的一電 腦系統實施例; [0007] 第2圖描述-虛擬音訊編碼解碼器實施例; [0008] 第3圖更詳細地描述—命令輸出環緩衝區 以及回 應輸入環緩衝區處理邏輯元件實施例; [0009] 第4圖是透過-單_虛擬機器限制直接存取一實 體音訊編碼解碼ϋ而同時為料—個❹個其他虛擬機器 的實體音訊編碼解碼器提供_訂製虛擬介面之一流程實施 例的一流程圖。
【實施方式;J 較佳實施例之詳細說明 [〇_ 一種於虛擬化環境中共享音訊子系統的方法、裝 置與系統的實施例被描述。在以下描述中,許多特定的細 節被提出。然而,可理解的是,實施例可在沒有這歧特定 細節的情況下實施。在其他情況下,熟知的元件、規格以 及協定沒有被詳細地討論,以避免混淆本發明。 [〇〇11]第1圖描述能夠針對在該系統上執行的多個虛擬 機器,將—訂製介面提· 1料職碼解碼器的一電 腦系統實施例。在第1圖中所顯示的電腦系統僅是許多可能 5 200937292 電腦系統其中之一的一說明性例子。其可包括以下在第卜4 圖中所述的許多實施例。該圖不應被看作是限制性的,即 用這些以此方式配置的特定元件來限制電腦系統的一個戋 多個實施例。現在我們來看第丨圖,該電腦系統包括一處理 5器100。在不同實施例中,該處理器可包括一個或多個處理 器核心。在一些微處理器實施例中,存在耦接在—起的多 個處理器晶粒,每一晶粒包括各自晶粒的一個或多個核心 (多個晶粒上的處理器核心的架構沒有顯示在第丨圖中)。在 不同實施例中,該處理器1〇〇可以是設計用於任何形式的個 10人電腦、手持裝置、伺服器、工作站或如今可得的其他計 算裝置之任何類型的中央處理單元(CPU)。 [0012]在許多實施例中,該處理器耦接到系統記憶體 102。一記憶體控制器控制存取系統記憶體1〇2。在一些實 施例中,該記憶體控制器受整合到該處理器1〇〇中。在其他 15 實施例中,該記憶體控制器受設置在該系統中的一離散積 體電路中。該§己憶體控制器沒有顯示在第1圖中。在不同實 施例中,系統記憶體102可由諸如雙倍資料速率(DDR)同步 DRAM的特定類型的動態隨機存取記憶體(DRAM)組成。在 其他實施例中,系統記憶體102可由其他記憶體類型的裝置 20 組成。 [0013]該處理器1〇〇也可耦接到1/〇(輸入/輸出)複合體 104。在許多實施例中’ I/O複合體包括一個或多個整合j/ 〇主機控制器。每一I/O主機控制器可控制一個或多個1/0連 接(即互連、匯流排)。每一連接可將該1/〇複合體耦接到一 200937292 個或多個I/O裴置、外部控制器、編碼解碼器等。一個這樣 的主機控制器是I/O主機控制器106。在一些實施例中,I/O 主機控制器106是一PCI快速(PCI Express®)主機控制器。在 其他實施例中’ I/O主機控制器106可利用一備選協定。在 許多實施例中’ 一離散實體音訊編碼解碼器(PAC)晶片108 麵接到該主機控制器106,以控制該電腦系統中的音訊子系 統’包括諸如音訊周邊設備110、Π2及114的附接到該電腦 系統的任何音訊周邊設備。 10 15
[0014] 在許多實施例中,在第丨圖中所述的電腦系統具 有多個虛擬硬體分區。在許多實施例中,一虛擬化引擎116 幫助管理不同的硬體分區。在許多實施例中,虛擬化引擎 116受整合到I/O主機控制器1〇6中。在其他實施例中,虛擬 化引擎116受整合到I/O複合體104中的其他地方(圖未示)。 在又一些其他實施例中,虛擬化引擎116遭設置在該電腦系 統中的其他地方,諸如設置在一額外的離散積體電路中(圖 未示)。 [0015] 在某些其他實施例中,該等硬體分區透過在該系 統記憶體或韌體(圖未示)中執行的軟體來管理,因此不需要 虛擬化引擎。 20 [0016]在系統具有多個硬體分區的實施例中,每一分區 在存在於系統記憶體102中的一虛擬機器(VM)上執行。例 如,在一兩分區系統中,VMA(118)和VMB(120)兩者都可 存在於系統記憶體1〇2中。在這個範例中’系統記憶體102 的一分區遭分配用於VM A ’以及系統記憶體102的一獨立 7 200937292 分區遭分配用於VM B。記憶體的這兩個分區僅被他們各自 的VM利用,因此這些分區在這兩個VM之間是不被共享 的。此外,一虛擬機器管理器(VMM)122也可以存在於系統 記憶體中以管理這些配置和這兩個VM。
5 [00Π]在許多實施例中,存在於這兩個VM之每一VM 的記憶體空間中執行的一獨立作業系統(OS),諸如在VM A 中執行的OS 124以及在VMB中執行的OS 126。在許多實施 例中,這兩個0S其中之一(諸如〇s 124)是一能力 OS(COS)。COS 可被認為是諸如 Microsoft® Windows 或 ❹ 10 Linux的全功能標準〇S。因此,COS是能夠獨立管理電腦系 統上的所有資源以及為應用程式和較低階軟體提供所有服 務的作業系統。此外,在許多實施例中,另一〇s ,這裡的 - 0S 126是一服務OS(SOS)。在許多實施例中,s〇S是具有一 - 非常特定用途(或多個用途)的一有限功能〇S。例如,在一 15 些實施例中,s〇s可執行一網路電話(ν〇ΙΡ)引擎。這將允許 VoIP引擎使該電腦系統的一重要部分計算時間,而不管 cos的狀態。在其他實施例中,s〇s可以是專門用於一個或 ◎ 多個特定功能而不是用作一通用作業系統的c〇s。 [0018] 在許多實施例中,該SOS執行也存在於VM 120 20 中的一軟體編碼解碼器模擬器128(SCE)。該SCL· 128是由管 理硬體編碼解碼器之SOS執行的軟體。 [0019] —虛擬音訊編碼解碼器13〇(VAC)也存在於該系 統中。該VA C 13 0可以致能音訊周邊設備和音訊功能在多個 VM之間共享。這使單一PAC 1〇8連接在多個競爭pAC時間 8 200937292 5 ❹ 10 15 ❷ 20 的VM中最小化或者消除。特別地,該VAC 13〇虛擬化該等 音訊周邊設備,因此試圖利用任一該音訊周邊設備的每一 VM(或在母一 VM中執行的每一〇s)將獲得該等周邊設備的 一唯一虛擬複本。額外的VAC 130邏輯元件在〇s之間仲 裁,以給予每一OS某—用以利用每一該周邊設備的時間部 分。一種在OS之間仲裁時間部分的方法是利用分時多工。 [0020] 在許多實施例中,該VAC 13〇用硬體實施。在不 同硬體實施中,該VAC 130可受整合到I/O主機控制器106、 虛擬化引擎116中或該電腦系統的其他地方,作為另一晶片 中的整合邏輯元件或作為其自己晶片中的離散邏輯元件。 在其他實施例中,該VAC 130的全部或一些部分用軟體實施 (圖未示)。例如,在一些VAC 13〇軟體實施中,VA(: 13〇可 在其自己的獨立VM中實施。在又一些其他實施例中,VAC 130的一些部分用硬體實施,而該VAC 13〇的其他部分用軟 體實施。 [0021] 在許多實施例中’該vac 130由保持該PAC 108 中的該組組態暫存器之複本的一組暫存器和致能與B 互動的一決策引擎組成。該VAC 130可僅受VM B規劃。因 此,VM A及系統上的任何其他vm對VAC 130不具有可見 性。該VAC 130在下文中相關第2圖更加詳細地描述。 [0022] 在許多實施例中,一主機音訊控制器132受整合 到I/O主機控制器106中。在其他實施例中,該音訊控制器 132與該主機控制器相分離以及/或者整合到該電腦系統中 的另一晶片中。例如,該音訊控制器132可以是用於一高解 9 200937292 析度基於音訊子系統的一控制器。 [0023]在許多實施例中,在該系統中可能存在多於兩個 ‘ V Μ和兩個O S (存在兩個以上的V Μ的實施例沒有顯示在第1 圖中)。 5 [0024]第2圖描述一虛擬音訊編碼解碼器(VAC)實施 . 例。該VAC 130被顯示為大虛線方塊。虛擬功能零200(VF0) 和虛擬功能一 202(VF1)也被顯示為虛線。在第2圖中,VF0 200被COMVMA(118)利用,以及VF1 202被SOS VMB(120) 利用。每一虛擬功能(VF)包括該音訊控制器(第1圖中的132) © 10 之專門用於這兩個0S其中之每一 0S的部分。例如,在許多
實施例中,該音訊控制器總共具有八個dma(直接記憶體存 取)引擎,其中六個專門用於存在於VMA中的COS,以及其 中兩個專門用於存在於VM B中的SOS。專門用於這兩個OS 其中之每一OS的DMA引擎的數目之間的差異與每一〇s之 15 相關聯功能的記憶體存取需求相關聯。如上所述,該SOS 專門用於一有限數目的功能,而該COS是全功能OS。因此, 該cos可具有其他編碼解碼器,諸如除該需要受管理之音 ® 訊編碼解瑪器外的一 HDMI編碼解踢器和一調變解調器編 碼解碼器及其他。這些額外的編碼解碼器也需要記憶體可 2〇 存取的DMA引擎。在一些實施例中,DMA引擎將根據通常 由COS對SOS傳送之資料的相對數量來拆分數目。 [0025]在許多實施例中,vAC 13〇中的邏輯元件包括捕 集邏輯元件210、命令解譯器216、VAC暫存器218、VAC直 接記憶體存取(DMA)引擎222以及交換器226和232。這些邏 10 200937292 輯裝置在下文中更加詳細地描述。 [0026]VF0 200和VF1 202各自具有該等音訊控制器暫 存器的一複本以及PCI組態暫存器的一複本。在一些實施例 中,該音訊控制器受設置在一PCI快速連接上。在一些實施 5 例中,DMA引擎將根據通常由COS對SOS傳送之資料的相 對數量來拆分數目。例如,在第2圖中所示的實施例中,COS 在VF0 200中受分配六個音訊控制器DMA引擎,以及SOS 在VF1 202中受分配兩個音訊控制器DMA引擎。 ❹ [0027]被稱為命令輸出環緩衝區204(CORB)和回應輸 10 入環緩衝區206(RIRB)之額外的DMA引擎也被顯示在第2圖 中。該等CORB和RIRB引擎在COS及SOS記憶體空間與存在 於該系統中的該組實體編碼解碼器之間提供直接存取。因 - 此,發送至PAC 108及其他編碼解碼器208的命令實際上由 該C0RB引擎204發送,以及從該PAC 108及其他編碼解碼器 15 208接收的回應實際上由該RIRB引擎206接收。 [0028] 在許多實施例中,VAC 130具有為COS呈現一組 胃 虛擬音訊編碼解碼器暫存器的能力。因此,當COS試圖存 取該PAC 108時,該COS查看該等暫存器的一虛擬複本而不 是獲得直接存取該PAC 108。在I/O主機控制器(第1圖中的 20 106)上存在邏輯元件,該邏輯元件捕集至PAC 108的COS請 求以及對COS提供一較簡單VAC 130觀點。COS對平台上的 PAC 108硬體不具有可見性。 [0029] VAC 130具有捕集邏輯元件210,該捕集邏輯元 件210窺探命令路徑214上自COS記憶體空間212發送的命 11 200937292 7在正常系統操作過程中,cos將把許多命令發送至諸 如曰訊編碼解碼器、HDMI編碼解碼器、調變解調器編碼解 · 碼器等的多個編碼解碼器。該VAc 僅處理與⑽特 別相關的命令和回應。與非音訊編碼解碼器有關的命令和 5回應透過該捕集邏輯元件210遭傳遞到C0RB DMA引擎 204° sCOS特別地以一命令對準該pAC 1〇8時,該捕集邏輯 兀件2戦集該命令以及將其發送至—命令解料216。騎 * 令解譯器216將查看該命令是否試圖存取該pAC 1〇8,以及 該命令解譯器將根據該命令是什麼命令而相應地回應。 ◎ 1〇 [〇030]該命令解譯器216具有-組VAC暫存器218。該組 暫存器包括用於正常情況下將與該PAC 1〇8連接之該等〇s 其中之每一OS的所有相關PAC 1〇8暫存器的複本。若來自 該COS的命令遭寫入到一PAC 1〇8暫存器,則該命令解譯器 216將執行對與該PAC 1〇8暫存器的c〇s版本相對應的各自 15的VAC暫存器的寫入。若所發生的暫存器寫入需要修改PAC 108中的組態,則該命令解譯器216透過經由一VACDMA引 擎222發送命令到SOS記憶體空間220通知該s〇S。例如,一 © 格式命令或一進/出致能命令將需要修改該PAC 1〇8的組 態。在許多實施例中,該VAC DMA引擎222利用指向在該 2〇 SOS記憶體空間220中對其傳送COS命令之位置的一暫存器 (圖未示)’其中該等COS命令透過該命令解譯器216來傳遞 且需要SOS干預。 [0031]在許多實施例中,若C〇s試圖修改該c〇RB寫入 指標暫存器(根據英特爾(Intel®)高解析度音訊規格偏移 12 200937292 48h),其將指示一個或多個PAC 1〇8 c〇RB進口需要被更 新,該命令解譯器216將需要將該請求發送至該S0S,因此 該S0S可相應地回應以及在需要之時修改該PAC 108的組 態。在許多實施例中,對CORB控制暫存器(根據Intei®高解 • 5 析度音訊規格偏移4Ch)的寫入存取也將由該命令解譯器 , 216監控,以決定該CORB DMA執行位元何時遭設定。 [0032]當該PAC 108的組態需要修改時,一旦s〇s覺察 到來自該命令解譯器216的請求,則該SOS可橫跨命令路徑 1 224發送對準該PAC 108的一特定命令。交換器226接收該命 10 令以及決定何時將該命令發送至PAC 108。耦接到交換器 226的仲裁器228決定發送至該PAC 108之命令的順序。如上 所述,特別發送至該PAC 108的命令以及發送至其他編碼解 碼器的命令透過該C0RB引擎204來發送。在一些實施例 中’仲裁器228是一 Fal早循環仲裁器。在其他實施例中,一 15 種不同類型的仲裁器被利用。交換器226橫跨命令路徑224 接收來自SOS記憶體空間220的對準該PAC ι〇8的命令,以 1 及自捕集邏輯元件210接收對準該系統中之任何其他編碼 解碼器的命令(即捕集邏輯元件21〇僅允許非音訊編碼解碼 器命令從該COS直接傳遞到交換器226)。 2〇 [0033]若從COS開始到PAC 108暫存器存在讀存取命 令,則該捕集邏輯元件210再次窺探源於c〇S記憶體空間 212的該讀命令。該捕集邏輯元件將PAC對準讀命令發送至 該命令解譯器216。然後該命令解譯器216存取在該VAC暫 存器218中的該PAC 108暫存器的COS版本以及將虛擬回應 13 200937292 (即所擷取的虛擬暫存器資料)橫跨回應路徑230發送至交換 器232。交換器232也從該PAC 108接收回應。 [0034] 交換器232使用仲裁器228中的額外仲裁邏輯元 件在入站PAC 108響應與入站命令解譯器216虛擬回應之間 5 切換。仲裁器228中的該仲裁邏輯元件決定操作哪些響應。 此外,仲裁器228也基於從該等回應接收的定址資訊幫助交 換器232對準正確的記憶體空間(COS或SOS)。仲裁器228也 可以知曉來自該SOS和COS的透過交換器226發送的請求序 列,以及可能使用請求資訊決定回應路徑。該等PAC 108 10 回應透過該RIRB引擎206自PAC 108接收。交換器232將從 該RIRB引擎206接收的回應定路線到回應路徑234上的COS 記憶體空間212或回應路徑236上的SOS記憶體空間220。目 的地記憶體空間取決於所接收的回應。所有非PAC 108回應 都遭發送至COS記憶體空間212,而PAC 108回應根據該回 15 應的類型遭定路線到COS或SOS記憶體空間。 [0035] 特別地,對於PAC響應,若該響應是來自實體 PAC 108,則該響應遭定路線到SOS記憶體空間220。若該 回應是從命令解譯器216接收的虛擬回應,則虛擬PAC回應 遭定路線到COS記憶體空間212。 2〇 [0036]根據某些始於COS且對準PAC 108的命令,該命 令解譯器216將對SOS產生一中斷。在許多實施例中,由該 命令解譯器216所產生的中斷可橫跨中斷路徑238遭發送至 存在於SOS VM B中的一軟體編碼解碼器模擬器 (SCE)128。然後該SCE 128將把一更新發送至VF1音訊控制 200937292 器暫存器244以反映該等暫存器中的中斷。在許多實施例 中,該VF1音訊控制器暫存器244受設置到該音訊控制器(第 1圖中的132)中。此外,在許多實施例中,一基本輸入/輪出 系統(BIOS)可規劃一中斷高級可規劃中斷控制器(APIe), 5 ❹ 10 15 20 以對上述所產生的中斷設定合適的位址鏡像(圖未顯示 APIC)。 [0037] VAC 130是動態可規劃的’其允許訂製能力根據 VM暴露。例如,一第一VM僅可查看連接到編瑪解碼器的 揚聲器,而一第二VM僅可查看連接到該編碼解碼器的頭戴 耳機。為了保持對VAC 130的嚴格控制,僅SOS VM B可規 劃該VAC 130。對VAC 130的規劃可透過在該SOS中執行的 一功能驅動程式246來完成。在許多實施例中,當該音訊控 制器(第1圖中的138)位於PCI快速匯流排介面上時,一pci 匯流排驅動程式248可結合也在VM B上執行的SOS功能驅 動程式246來使用,以將資訊發送至在該I/O主機控制器(第上 圖中的106)中的VF1音訊控制器暫存器244、VF1 PCI快速組 態暫存器250(以及自其接收資訊),以及到根據設置於SOS 記憶體空間220中的V Μ可訂製組態的va C 13 0。在其他實施 例中,一獨立智慧驅動程式可遭實施以在用於該VAC 130之 特定用途規劃的VMB上執行(該智慧驅動程式沒有顯示)。 [0038] 使用相同的驅動程式功能,COS透過VM A對 VF0音訊控制器以及主機控制器具有可見性。在許多實施例 中,在VM A上執行的通用音訊架構(UAA)驅動程式252可 結合PCI匯流排驅動程式254使用,以將資訊發送至VF0音訊 15 200937292 控制器暫存器256和/或VFO PCI快速組態暫存器258(以及自 其接收資訊)。然而’ COS對VAC 130的組態不具有可見性。 [0039] 在一些實施例中,一旦VMB受組配作為一主要 VM’則VMB以及在其上執行的SOS對PAC 108的實體硬體 5 具有直接存取’所有其他VM(以及各自的0S)查看一虛擬組 . 音訊編碼解碼器暫存器的獨立複本。在其他實施例中,每 一VM具有其自己的虛擬編碼解碼器實施以及基本硬體或 軟體(諸如VMM 122)管理VM之間的仲裁。 [0040] 第3圖更加詳細地描述一 CORB/RIRB處理邏輯 © 10 元件實施例。為了最佳地說明該CORB/RIRB處理邏輯元 件’每一可能請求及回應的預排在下文中被討論。許多實 施例中,CORB和RIRB DMA引擎兩者都具有用於操作的已 分配的記憶體空間以及暫存器。該等記憶體空間和暫存器是 虛擬化的’因此該COS和約SOS兩者都具有其自己的複本。 15 [0041]當一請求命令從SOS遭發送至PAC 108時,該命 令在SOS CORB記憶體空間300中開始。在許多實施例尹, 一個或多個SOS C0RB暫存器302被修改,以提供與該命令 © 有關的資訊。該命令到達交換器220,該交換器226利用仲 裁器228中的仲裁邏輯元件來決定哪一命令是下一個要發 20 送至C〇RB引擎204的命令。交換器226的其他輸入是源於 COS之非音afl編碼解碼器命令(這些命令在下文中將更加詳 細地討論)的命令路徑。在一些實施例中,仲裁器228中的 仲裁邏輯元件利用用於仲裁是SOS命令還是c〇S命令接下 來要發送的一循環方案。一旦該命令被該仲裁邏輯元件授 16 200937292 5 ❹ 10 15 ❹ 20 權輪到其,則其遭發送至該CORB引擎204。該CORB引擎 204接收該命令以及也從S0S c〇RB暫存器302接收諸如傳 輸參數(例如寫入指標)的資訊。接下來,該C〇RB引擎204 將該命令發送至訊框傳輸(Τχ)邏輯元件3〇4,以及然後該命 令遭傳送至PAC 108。 [0042] 選擇性地’當一請求命令從c〇s c〇RB記憶體空 間306遭發送時,一不同程式被用來決定是否發送該命令到 PAC 108。若始於COS的命令對準一非音訊編碼解碼器,則 該命令被允許通過。否則,若始於COS的命令對準PAC 108,則該命令不遭發送至PAC 108,而是一獨立流程被利 用。該COS CORB記憶體空間306是該較大c〇s記憶體空間 (第2圖中的212)的某一部分。從該COS CORB記憶體空間 306發送的命令到達一決策引擎308,該決策引擎決定該命 令是否對準PAC 108。在許多實施例中,決策引擎308受設 置在捕集邏輯元件(第2圖中的210)的内部。若該命令不對準 PAC 108 ’則該命令遭傳遞到交換器226。交換器226利用仲 裁器228中的仲裁邏輯元件決定哪一命令是接下來要發送 至CORB引擎204。一旦該仲裁邏輯元件授權輪到該命令, 則該命令遭發送至CORB引擎204。該CORB引擎204接收該 命令以及也從COS CORB暫存器326接收諸如傳輸參數(例 如寫入指標)的資訊。接下來,CORB引擎204將該命令發送 至訊框傳輸(Τχ)邏輯元件304,以及然後該命令遭傳送至 PAC 108。 [0043] 若該COS CORB記憶體空間3〇6命令對準pac 17 200937292 108,則決策引擎308將該命令發送至VAC命令解譯器216。 該命令解譯器216(其功能以上已相關第2圖被描述)修改該 命令從對準PAC 108的命令到對準VAC的命令,然後將該命 令發送至VAC回應緩衝器310。該VAC回應緩衝器310允許 5 緩衝命令同時等待在交換器312被授權循環。交換器312將 最終把該命令從該回應緩衝器310發送至RIRB引擎206。該 RIRB引擎200接收該命令以及也從COS RIRB暫存器314接 收資訊並且利用該資訊以將該命令發送至COS RIRB記憶 體空間316。COS RIRB記憶體空間316是該較大COS記憶體 10 空間(第2圖中的212)的一部分。 [0044]當一響應命令透過訊框接收(Rx)邏輯元件318遭 接收時,該命令到達解多工器312。在許多實施例中,該命 令也到達決策引擎320,該決策引擎320決定該命令是否是 來自該PAC 108的回應。若該命令不是來自該PAC 108的回 15 應,則該命令不被允許通過該解多工器312,在這種情況 下,來自VAC回應緩衝器310的命令被允許通過。若該命令 是來自該PAC 108的回應,則決策引擎320允許該回應通過 解多工器312到達RIRB引擎206。該RIRB引擎206利用COS RIRB暫存器314的資訊將該回應命令發送至COS RIRB記 20 憶體空間316或利用來自SOS RIRB暫存器322的資訊將該 回應命令發送至SOS RIRB記憶體324,以找出記憶體空間 中的正確位置。決定該回應命令是發送至COS還是SOS的決 定基於用於回應傳送的目的地編碼解碼器。 [0045]如上所述,對CORB控制暫存器的寫入存取將由 200937292 5 Ο 10 命令解譯器216監控,以決定CORB DMA執行位元何時遭設 定。該執行位元致能該C0RB引擎2〇4。由於COS軟體中的 限制,在COS軟體發送一命令到PAC 108(該命令由SOS解譯) 的時間與S O S根據該命令規劃該PA C 10 8的時間之間可能 存在延遲。在一些實施例中,等待的時間量可相應地由BIOS 預定和規劃。在一些實施例中,等待時間可達到1〇毫秒。 因此,在許多實施例中’除了該執行位元外,COS VF0和 SOS VF1中的DMA引擎將在一特定暫存器中具有與其相關 聯的一 “等待”位元。該位元將預設為‘‘〇,,(這意味著不等 待)。根據COS VF0對暫存器的寫入(這將在c〇s發出請求時 期發生),該位元將變為實施等待的“丨,,。當位元遭設定為“Γ, 時,對該暫存器之任何額外的寫入都將遭丟棄。一旦s〇s 服務該寫入事件,則該位元將由該s〇s重新設定為“〇„。 15 [0046]第4圖是透過一單一虛擬機器限制直接存取一實 體音訊編碼解碼器關時為驗—個❹個其他虛擬機器
程透過處理從存在於該系統中的⑽補集—命令的邏輯元 件開始(處理找侧)。該命令遭發送至在該㈣之音訊控 20 制器中的C0RB引擎, 因此該命令對準存在於該系統中的一
統中的另一編碼解碼器, 王乃現4υ2)。若該命令對準該系 則處理邏輯元件允許該命令透過 19 200937292 CORB引擎直接傳遞到非PAC編碼解碼器(處理方塊綱)。 [0047] 遭發送至編碼解碼器之命令中的—些(但*是全 , 部)打算禁止來自該編碼解碼器的響應。因此,處理邏輯元 件將檢查來自非PAC編碼解碼器的響應(處理方塊4〇6)。若 5沒有回應是必要的,則該流程將在該特定命令結束否則 若-回應確實從該非PAC編碼解碼器返回,則處理邏輯元 . 件將該非PAC編碼解碼器回應發送至c〇s(處理方塊4〇8)。 - [0048] 現返回到處理方塊4〇2,若該命令特別對準 PAC,則該處理邏輯元件解譯該命令以決定該回應需要彳 〇 10麼(處理方塊410)。然後處理邏輯元件將在需要的情況下修 改任何VAC暫存器(處理方塊412)。處理邏輯元件也將在需 要的情況下修改SOS記憶體空間中的PAC組態(處理方塊 414)。處理邏輯元件也將在需要的情況下透過s〇s存取pAC 直接修改PAC暫存器(處理方塊416)。 15 [0049]之後對PAC和VAC暫存器及SOS記憶體空間做 出任何必要修改(這些步驟以上已相關第2圖及第3圖詳細 討論),處理邏輯元件將對COS構建一虛擬回應(處理方塊 〇 418)。最後,處理邏輯元件將把該虛擬回應發送至該c〇s(處 理方塊420),然後該流程結束。因此,該流程將透過一單 20 一虛擬機器(使用VAC中之處理邏輯元件的SOS以及SOS本 身)限制直接存取PAC而同時為用於一個或多個其他虛擬機 器的PAC提供一訂製虛擬介面(即COS),然而需要與PAC互 動的一個或多個額外的COS也可以被提供其自己的訂製介 面,如以上所討論。 20 200937292 [0〇5〇]此外,在一些實施例中,^^^並行處理許多命 令。在並行處理實施例中,一旦處理遜輯元件在處理方塊 410解譯該命令,則處理方塊412到420中的兩個或多個處理 方塊可對不同的命令平行作業。此外’在這些並行處理實 5 施例中’處理方塊412到420不必要以如在第4圖中所顯示的 特定順序執行。 [〇〇51]因此,一種於虛擬化環境中典享音訊子系統的方 法、裝置與系統的實施例被描述。這呰實施例已參考其特 定的示範性實施例描述。對於具有本揭露之利益的通常知 10 識者顯而易見的是,在不脫離於此所述之實施例的廣泛精 神與範圍的前提下,可對這些實施例實現各種修改與改 變。因此’該說明書與圖式被視為是以説明性意義而非限 制性意義。 【阐式簡單說明】 15
第1圖描述能夠針對在該系統上執行的多個虛擬機 器,將一訂製介面提供給—實體音訊編碼解碼器的一電腦 系統實施例; 第2圖描述一虛擬音訊編碼解碼器實施例; 第3圖更詳細地描述—命令輸出環緩衝區以及回應輸 2〇 入環緩衝區處理邏輯元件實施例; 第4圖是透過-單一虛擬機器限制直接存取一實體音 訊編碼解碼器而同時為用於一個或多個其他虛擬機器的實 體音訊編碼解碼器提供一訂製虛擬介面之一流程實施例的 一流程圖。 21 200937292 【主要元件符號說明】 實體音訊編碼解碼器 220…SOS記憶體空間 虛擬機器管理器 228...仲裁器 100…處理器 102…系統記憶體 104…I/O複合體 106·.. I/O主機控制器 108·· 110、112、114…周邊設備 116…虛擬化引擎 118···虛擬機器A 120…虛擬機器B 122- 124、126...作業系統 128…軟體編碼解碼蕤模擬器 130…虛擬音訊編碼解碼器 132···音訊控制器 200…虛擬功能零(VF0) 202…虛擬功能一 204…命令輸出環緩衝區 (CX3RB)引擎 206…回應輸入環緩衝區 (RIRB)引擎 208…編碼解碼器 21〇···捕集邏輯元件 212…COS記憶體空間 214、224…命令路徑 216·· ·命令解譯器 218···虛擬音訊編碼解碼器 (VAC)暫存器 222…虛擬音訊編碼解碼器 (VAC)直接記憶體存取 (DMA)引擎 226、232…交換器 230、234、236.··回應路徑 238…中斷路徑 244…VF1音訊控制器暫存器 246…SOS功能驅動程式 248、254…PCI匯流排驅動程 式 250···νΗ PCI快速組態暫存器 252…通用音訊架構(UAA)驅 動程式 256·· · VF0音訊控制器暫存器 258…VFO PCI快速組態暫存器 300…SOS命令輸出環緩衝區 (C0RB)記憶體空間
22 200937292
302"‘SOS命令輸出環緩衝區 (CORB)暫存器 304…訊框傳輸(Tx)邏輯元件 306-COS命令輸出環緩衝區 (CORB)記憶體空間 308、320…決策引擎 310…虛擬音訊編碼解喝器 (VAC)回應緩衝器 314.·. COS回應輸入壤緩衝區 (RIRB)暫存器 316.. .COS回應輸入環緩衝區 (RIRB)記憶體空間 318…訊框接收(Rx)邏輯元件 322.. . SOS回應輸入環緩衝區 (RIRB)暫存器 324…SOS回應輸入環緩衝區 (RIRB)記憶體 326· · - COS命令輸出環緩衝區 (CORB)暫存器 400〜420…流程步驟
23
Claims (1)
- 200937292 七、申請專利範® ·· 1.—種裝置,其包含: 10 15 20 器;以及㈣音訊編碼解碼器的—第-虛_ 由該第一虛擬機器管理 器,用以為一個或多個額外的考 擬θ訊編碼解碼 體音訊編碼解碼器的—訂製擬機15 ’提供針對該實 2·如申請專職圍第丨項所述^裝置 碼解碼器進一步包含: 虛擬音訊蝙 琴的用該實體音訊編碼解碼器之-組組態暫存 盗的-複本的-組虛擬音訊編碼解碼器暫存器;以及子 用以促進與該第-虛擬機器之互動的— 3.如申請專利範圍第2項所述之裝置 擬1擎。 碼解碼i隹—牛叮姐& T这虛擬音机編 解碼器進纟可操作以捕集從該一個或多個 機器中的至少-個虛擬機器發 解碼器的一個或多個命令。 -實體曰訊編碼 如申請專利朗第3項所述之裝置,其進 命令出站環緩衝區暫存器和-回應入站環緩: 存器,以檢測由該-個或多個額外虛擬機器中的至 ^個虛擬機器對該實體音訊編碼解碼器所作之 或多個存取的邏輯元件。 w I如申請專職述之裝置,其中軸策引擎進 ^包含可操作以將該-個或多個受捕集命令轉譯成 k組虛擬音訊編碼解碼器暫存器之_個或多個存取 1接仔取一4.24 200937292 , 的一命令解譯器。 6.如申請專利範圍第5項所述之裝置,其進一步包含用以 將該一個或多個存取從該組虛擬音訊編碼解碼器暫存 器發送至一系統記憶體中保留用於該第一虛擬機器之 5 一位置的直接記憶體存取邏輯元件。 . 7.如申請專利範圍第6項所述之裝置,其中該決策引擎進 一步包含一編碼解碼器模擬器,該編碼解碼器模擬器係 用以: ® 接收對該組虛擬音訊編碼解碼器暫存器的該一個 10 或多個存取;以及 透過回應該等所接收存取來管理該實體音訊編碼 解碼器的操作。 8.如申請專利範圍第2項所述之裝置,其中該決策引擎進 一步包含一仲裁器,該仲裁器係用以: 15 解決來自該等額外虛擬機器中的一個或多個虛擬機 器的所請求存取之間的實體音訊編碼解碼器操作衝突; 管理影響該實體音訊編碼解碼器的任何中斷;以及 管理來自該實體音訊編碼解碼器的非請求回應。 9. 如申請專利範圍第1項所述之裝置,其中該第一虛擬機器 20 進一步包含可操作以執行以下操作的一服務作業系統: 管理該實體音訊編碼解碼器的組態;以及 管理該虛擬音訊編碼解碼器的組態。 10. 如申請專利範圍第3項所述之裝置,其中該一個或多個 額外虛擬機器中的至少一個虛擬機器包括可操作以執 25 200937292 行以下操作的一能力作業系統: 將對該虛擬音訊編碼解碼器的存取提供給在該能 力作業系統上執行的一個或多個軟體應用程式,其中該 存取透過發送至該實體音訊編碼解碼器以及受該虛擬 5 音訊編碼解碼器捕集的一個或多個命令來提供。 11. 一種方法,其包含以下步驟: 直接存取一實體音訊編碼解碼器,其中該存取由一 第一虛擬機器執行;以及 為一個或多個額外的虛擬機器,提供針對該實體音 10 訊編碼解碼器的一訂製介面。 12. 如申請專利範圍第11項所述之方法,其進一步包含以下 步驟: 在一組虛擬組態暫存器中保持該實體音訊編碼解 碼器的一第二組組態暫存器。 15 13.如申請專利範圍第12項所述之方法,其進一步包含以下 步驟: 在從該一個或多個額外虛擬機器中的至少一個虛 擬機器發送至該實體音訊編碼解碼器的一個或多個命 令到達該實體音訊編碼解碼器前,捕集該一個或多個命 20 令。 14.如申請專利範圍第13項所述之方法,其進一步包含以下 步驟: 監控一命令出站環緩衝區暫存器和一回應入站環 緩衝區暫存器,以檢測由該一個或多個額外虛擬機器中 200937292 的至少一個虛擬機器對該實體音訊編碼解碼器所作的 一個或多個存取。 15. 如申請專利範圍第14項所述之方法,其進一步包含以下 步驟: 5 將該一個或多個受捕集命令轉譯成對該組虛擬音 訊編碼解碼器暫存器的一個或多個存取;以及 透過回應該等已轉譯命令管理該實體音訊編碼解 碼器的操作。 16. —種系統,其包含: 10 一第一虛擬機器,其係用以: 直接存取一實體音訊編碼解碼器; 為在該第一虛擬機器上執行的一服務作業系統 提供資源,其中該服務作業系統管理一虛擬音訊編 碼解碼器; 15 該虛擬音訊編碼解碼器為一個或多個額外的虛擬機 器,提供針對該實體音訊編碼解碼器的一訂製介面;以 及 該一個或多個額外的虛擬機器把對該虛擬音訊編 碼解碼器的存取,提供給受在該一個或多個額外虛擬機 20 器中的至少一個虛擬機器上執行的至少一個能力作業 系統管理的一個或多個軟體應用程式。 17. 如申請專利範圍第16項所述之系統,其中該虛擬音訊編 碼解碼器進一步包含: 用以保持該實體音訊編碼解碼器之一第二組組態 27 200937292 暫存器的一組虛擬音訊編碼解碼器暫存器;以及 用以促進與該第一虛擬機器之互動的一決策引擎。 18. 如申請專利範圍第17項所述之系統,其中該虛擬音訊編 碼解碼器進一步可操作以在從該一個或多個額外虛擬 5 機器中的至少一個虛擬機器發送至該實體音訊編碼解 碼器的一個或多個命令到達該實體音訊編碼解碼器 前,捕集該一個或多個命令。 19. 如申請專利範圍第18項所述之系統,其進一步包含用以 監控一命令出站環緩衝區暫存器和一回應入站環緩衝 10 區暫存器,以檢測由該一個或多個額外虛擬機器中的至 少一個虛擬機器對該實體音訊編碼解碼器之一個或多 個存取的邏輯元件。 20. 如申請專利範圍第18項所述之系統,其中該決策引擎進 一步包含可操作以將該一個或多個受捕集命令轉譯成 15 對該組虛擬音訊編碼解碼器暫存器之一個或多個存取 的一命令解譯器。 21. 如申請專利範圍第20項所述之系統,其進一步包含用以 將該一個或多個存取從該組虛擬音訊編碼解碼器暫存 器發送至一系統記憶體中保留用於該第一虛擬機器之 20 一位置的直接記憶體存取邏輯元件。 2 2.如申請專利範圍第21項所述之系統,其中該決策引擎進 一步包含一編碼解碼器模擬器,該編碼解碼器模擬器係 用以: 在保留用於該第一虛擬機器之系統記憶體中的該 28 200937292 =::=擬音訊編碼解碼器暫存器的該-個 解二所接收存取來管理該實體音訊編碼 —1叫:利範圍第17項所述之系統,其中該決策引擎進 步包含-仲哉器’該仲裁器係用以:Q 來自該等額外虛擬機器中的一個或多個虛擬機 &睛求存取之間的實體音訊編碼解碼器操作衝突; 官理影響崎體音tfi編贿碼器的任何巾斷;以及 ^里來自°亥實體音訊編碼解碼器的非請求回應。 4.如:請專利範圍第16項所述之系統,其中該第-虛擬機器 進一 t包含可操作以執行以下操作的_服務作業系統: 官理該實體音訊編碼解碼器的組態;以及 皆理該虛擬音訊編碼解碼器的組態。 25·如申請專利範圍第24項所述之系統,其中該服務作業系 統進一步可操作以: 官理一網路電話(ν〇ΙΡ)引擎,該VoIP引擎透過該服 務作業系統來利用該實體音訊編竭解瑪器。 29
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/965,595 US8250573B2 (en) | 2007-12-27 | 2007-12-27 | Audio subsystem sharing in a virtualized environment |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200937292A true TW200937292A (en) | 2009-09-01 |
TWI403955B TWI403955B (zh) | 2013-08-01 |
Family
ID=40352312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097147804A TWI403955B (zh) | 2007-12-27 | 2008-12-09 | 用於在虛擬化環境中共享音訊子系統的裝置、方法與系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8250573B2 (zh) |
EP (1) | EP2075688A1 (zh) |
CN (1) | CN101470596B (zh) |
TW (1) | TWI403955B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972984B2 (en) * | 2011-05-20 | 2015-03-03 | Citrix Systems, Inc. | Methods and systems for virtualizing audio hardware for one or more virtual machines |
WO2013086701A1 (zh) * | 2011-12-14 | 2013-06-20 | 华为技术有限公司 | 虚拟化环境下的音频处理方法和设备 |
US9236064B2 (en) | 2012-02-15 | 2016-01-12 | Microsoft Technology Licensing, Llc | Sample rate converter with automatic anti-aliasing filter |
WO2015003312A1 (en) | 2013-07-09 | 2015-01-15 | Hua Zhong University Of Science Technology | Data communication on a virtual machine |
US9396015B2 (en) * | 2014-10-27 | 2016-07-19 | Ayla Networks, Inc. | Flexible device templates for connected consumer devices |
US10168985B2 (en) * | 2015-12-21 | 2019-01-01 | Intel Corporation | Dynamic audio codec enumeration |
US10846123B2 (en) * | 2018-09-25 | 2020-11-24 | Microsoft Technology Licensing, Llc | Audio rendering from virtual machine |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07146679A (ja) * | 1992-11-13 | 1995-06-06 | Internatl Business Mach Corp <Ibm> | 音声データを変換する方法及びシステム |
UA55489C2 (uk) * | 1997-10-07 | 2003-04-15 | Каналь+ Сосьєте Анонім | Пристрій для багатопотокової обробки даних (варіанти) |
US6823418B2 (en) * | 2001-06-29 | 2004-11-23 | Intel Corporation | Virtual PCI device apparatus and method |
US7036122B2 (en) * | 2002-04-01 | 2006-04-25 | Intel Corporation | Device virtualization and assignment of interconnect devices |
US7735081B2 (en) | 2004-12-17 | 2010-06-08 | Intel Corporation | Method, apparatus and system for transparent unification of virtual machines |
US7752436B2 (en) | 2005-08-09 | 2010-07-06 | Intel Corporation | Exclusive access for secure audio program |
US7814496B2 (en) * | 2005-08-19 | 2010-10-12 | Intel Corporation | Method and system for replicating schedules with regard to a host controller for virtualization |
DE102005041312A1 (de) * | 2005-08-31 | 2007-03-15 | Advanced Micro Devices, Inc., Sunnyvale | Speicherzugriff auf virtuelles Targetgerät |
US20070121953A1 (en) * | 2005-11-28 | 2007-05-31 | Mediatek Inc. | Audio decoding system and method |
US20070255432A1 (en) * | 2006-04-27 | 2007-11-01 | Creative Technology Ltd | High definition audio architecture |
US7613847B2 (en) * | 2006-05-16 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Partially virtualizing an I/O device for use by virtual machines |
US7725305B2 (en) | 2006-06-08 | 2010-05-25 | Microsoft Corporation | Partial virtualization on computing device |
-
2007
- 2007-12-27 US US11/965,595 patent/US8250573B2/en active Active
-
2008
- 2008-12-09 TW TW097147804A patent/TWI403955B/zh not_active IP Right Cessation
- 2008-12-26 CN CN200810189864.7A patent/CN101470596B/zh not_active Expired - Fee Related
- 2008-12-29 EP EP08254171A patent/EP2075688A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN101470596A (zh) | 2009-07-01 |
US20090171677A1 (en) | 2009-07-02 |
TWI403955B (zh) | 2013-08-01 |
CN101470596B (zh) | 2013-06-12 |
US8250573B2 (en) | 2012-08-21 |
EP2075688A1 (en) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7220163B2 (ja) | ハードウェア仮想化のための方法及び装置 | |
TW200937292A (en) | Audio subsystem sharing in a virtualized environment | |
EP3206124B1 (en) | Method, apparatus and system for accessing storage device | |
US9141571B2 (en) | PCI express switch with logical device capability | |
US20100131681A1 (en) | Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System | |
US11113089B2 (en) | Sharing data via virtual machine to host device bridging | |
US20110320670A1 (en) | Connected input/output hub management | |
JP2008503015A (ja) | 複数クライアントによる単一物理デバイスの共有 | |
CN106560791B (zh) | 高效虚拟i/o地址转换 | |
TW201720123A (zh) | 用於透過乙太式網路遠端存取記憶體及輸入/輸出之特快非揮發性記憶體控制器 | |
EP2711845A2 (en) | PCI express switch with logical device capability | |
JP2006085400A (ja) | データ処理システム | |
JP7217770B2 (ja) | バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法 | |
JP2005222543A (ja) | バスシステム | |
US20090006702A1 (en) | Sharing universal serial bus isochronous bandwidth between multiple virtual machines | |
US8996734B2 (en) | I/O virtualization and switching system | |
KR20220141678A (ko) | PCIe 펑션 및 그 동작 방법 | |
US8972624B2 (en) | USB virtualization | |
JP6094575B2 (ja) | I/oデバイス共有システムおよびi/oデバイス共有方法 | |
JP2002041449A (ja) | バスシステム及びその実行順序の調整方法 | |
KR20130007792A (ko) | 다중 프로세서를 지원하는 인터럽트 발생을 위한 장치 및 방법 | |
WO2016041453A1 (zh) | 远程资源访问方法和交换设备 | |
US7930445B2 (en) | Computer system using remote I/O and I/O data transfer method | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
CN114172695B (zh) | 串行防火墙报文转发方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |