TW200937292A - Audio subsystem sharing in a virtualized environment - Google Patents

Audio subsystem sharing in a virtualized environment Download PDF

Info

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
Application number
TW097147804A
Other languages
English (en)
Other versions
TWI403955B (zh
Inventor
Abhishek Singhal
Kumar K Chinnaswamy
Devon Worrell
Nitin V Sarangdhar
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200937292A publication Critical patent/TW200937292A/zh
Application granted granted Critical
Publication of TWI403955B publication Critical patent/TWI403955B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/162Interface 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)

  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
TW097147804A 2007-12-27 2008-12-09 用於在虛擬化環境中共享音訊子系統的裝置、方法與系統 TWI403955B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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