TWI477967B - 用以實現gpu加速位址轉換之系統及方法以及圖形處理器 - Google Patents

用以實現gpu加速位址轉換之系統及方法以及圖形處理器 Download PDF

Info

Publication number
TWI477967B
TWI477967B TW101144471A TW101144471A TWI477967B TW I477967 B TWI477967 B TW I477967B TW 101144471 A TW101144471 A TW 101144471A TW 101144471 A TW101144471 A TW 101144471A TW I477967 B TWI477967 B TW I477967B
Authority
TW
Taiwan
Prior art keywords
graphics processor
graphics
processor unit
address
memory
Prior art date
Application number
TW101144471A
Other languages
English (en)
Other versions
TW201331753A (zh
Inventor
Yunbio Ben Lin
Jianghong Julie Du
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 TW201331753A publication Critical patent/TW201331753A/zh
Application granted granted Critical
Publication of TWI477967B publication Critical patent/TWI477967B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory

Description

用以實現GPU加速位址轉換之系統及方法以及圖形處理器 專利權注意事項
本專利文件之揭示內容的一部分包含接受版權保護之材料。該版權擁有人並不反對本專利文件或本專利揭示內容之任何人進行傳真複製,當其出現在專利商標局之專利檔案或紀錄中時,但除此之外其保留所有版權著作權。
發明領域
本文說明之標的一般係有關計算領域,而更特別是,有關執行用於圖形虛擬化之GPU(圖形處理單元)加速的位址轉換之系統與方法。
發明背景
該先前技術段落中討論之標的不應僅由於該先前技術段落中所提而假設為習知技術。同樣地,該先前技術段落中所提或與該先前技術段落中之標的相關聯的問題不應假設為在先前習知技術中已被辨識。該先前技術段落中之標的僅表示不同的方法,其本質上亦可與該要求標的之實施例一致。
一GPU或圖形處理單元可提供一種特別的電路,其設計以一種可加速意欲輸出至一顯示器之一圖訊緩衝區中的影像建立之方式來快速調處與改變記憶體。GPU可用於嵌式系統、行動電話、個人電腦、工作站、與遊戲機中,並且於調處電腦圖形時相當有效,而針對完成並列處理大的資料方塊之演算法,其高度並列結構使其比通用CPU更有效率。
虛擬化可提供多個作業系統以一安全與有效的方式來同時共享處理器資源的功能。執行虛擬化時,必須根據該客端機器之資源受虛擬化,將一虛擬客端機器(例如,一虛擬機器或一“VM”)之一客端實體位址間的位址轉換成該下方實體硬體之對應的機器實體位址。
例如,一作業系統(OS)於一虛擬機器中運作時,該作業系統通常不知道其存取之記憶體的對應機器實體位址。因為若該客端作業系統嘗試指示下方硬體來使用該虛擬機器之客端實體位址以執行一直接記憶體存取(DMA),則直接存取該電腦硬體會相當複雜,該下方硬體沒察覺該虛擬機器之客端實體位址與該機器實體位址間的對映或需要轉換時,該指示將容易損壞記憶體。管理該虛擬機器之一超管理器可防止該類損壞,但位址轉換的問題仍存在。
一輸入/輸出記憶體管理單元(IOMMU)可藉由根據用來將客端實體位址對映至機器實體位址之一轉換表來重新對映該下方硬體存取之位址以解決轉換問題。可取得該必要的電路與晶片組時,諸如VT-d之IOMMU技術或“指 引I/O之虛擬化技術”可用來提供代表該虛擬機器與該超管理器的必須轉換功能。VT-d為一種IOMMU類型可包括在伴隨一CPU之某些晶片組。
但不巧地,並非所有晶片組皆包括該IOMMU或VT-d技術。例如,某些原子式平台、平板電腦、手持式智慧型手機、與筆記型電腦會缺乏該必要的電路來提供一習知VT-d功能。
虛擬機器中之裝置驅動器在無DMA位址轉換時無法適當運作。用來執行DMA操作之位址轉換的軟體解決方案已被嘗試,例如,在一超管理器中被執行。然而,軟體式位址轉換的效能相當差。例如,3D效能已被測量為一自然VT-d類型解決方案的約40%。另外更差的是,一超管理器中的軟體被用來執行該位址轉換時,軟體式解決方案被測量會造成該整個負擔約90%。
該類無效的資源使用無法被今日致力於純計算處理馬力上之能源效益的行動計算裝置所接受。因此需要一更有效的解決方案。
因此目前的最新技術可從如本文所述之執行用於圖形虛擬化之GPU(圖形處理單元)加速的位址轉換之系統與方法中獲益。
依據本發明之一實施例,係特地提出一種系統,包括:一具有多個機器實體位址之主記憶體;一具有圖形記憶體之圖形處理器單元;一與該圖形處理器單元整合之 位址轉換服務;一用於管理一或更多客端機器之超管理器;其中該超管理器係用來組配該圖形處理器單元之該圖形記憶體中的一詢查表;及其中該圖形處理器單元之該位址轉換服務係用來將該一或更多客端機器的其中之一的一客端實體位址轉換成該主記憶體中之一對應的機器實體位址。
100、220、501‧‧‧圖形處理器單元
101‧‧‧替代示範架構
105‧‧‧圖形裝置之延伸
106‧‧‧圖形記憶體偏移移除
107‧‧‧具有內部功能之圖形記憶體與快取記憶體
108‧‧‧柵欄暫存器表面參數
109‧‧‧位址磚式邏輯
110A、110B、243、263‧‧‧轉換後備緩衝區
111‧‧‧邏輯記憶體對映元件
112‧‧‧磚式位址決定
113‧‧‧圖形虛擬化決定
114‧‧‧圖形虛擬化暫存器
115‧‧‧位址轉換服務單元
116、525‧‧‧圖形記憶體
117‧‧‧詢查表
118、504‧‧‧主記憶體
119‧‧‧總體轉換表
155‧‧‧共享圖形記憶體介面
156‧‧‧準備的詢查表
158、260、266‧‧‧客端實體幀序號
159、264‧‧‧機器幀序號
200‧‧‧互動
201‧‧‧客端實體位址轉換
202‧‧‧客端實體幀序號(GFN)至機器幀序號(MFN)之對映
205、390、524‧‧‧超管理器
206、207、208、210、211、212、213、405、410、415、420、425、430、435、440、445、450、455‧‧‧方塊
225‧‧‧組態
226‧‧‧成功訊息
228、230‧‧‧回應
229‧‧‧更新
240‧‧‧邏輯頁面數字
241、246、261、265‧‧‧4KB頁面之偏移量
242‧‧‧GTT/PPGTT
244‧‧‧36位元定址擴充
245‧‧‧實體頁面數字
300、600、800‧‧‧系統
315‧‧‧通訊匯流排
338‧‧‧客端機器
396‧‧‧中央處理器單元
400‧‧‧流程圖
500‧‧‧機器
502、610、615、770、780、870、880、1010、1215‧‧‧處理器
508‧‧‧網路介面卡
510‧‧‧使用者介面
512‧‧‧文數字輸入裝置
514‧‧‧游標控制裝置
516‧‧‧信號產生裝置
518‧‧‧次要記憶體
520‧‧‧網路
522‧‧‧軟體
526‧‧‧處理邏輯
527‧‧‧位址轉換
530‧‧‧匯流排
531‧‧‧非過渡機器可讀或電腦可讀儲存媒體
536、670、1082、1084‧‧‧周邊裝置
620‧‧‧圖形記憶體控制器集線器
640、732、734、832、834、1140‧‧‧記憶體
645‧‧‧顯示器
650‧‧‧輸入/輸出控制器集線器
660‧‧‧外部圖形裝置
695‧‧‧前側匯流排
700‧‧‧電腦系統
714、814、815‧‧‧I/O裝置
716‧‧‧第一匯流排
718‧‧‧匯流排橋接器
720‧‧‧第二匯流排
722‧‧‧鍵盤及/或滑鼠
724‧‧‧聲頻I/O
727‧‧‧通訊裝置
728‧‧‧儲存單元
730‧‧‧指令/編碼與資料
738‧‧‧高效能圖形電路
739‧‧‧高效能圖形介面
750、850、852、854‧‧‧點對點互連體
752、754、876、878、886、888、894、898‧‧‧點對點介面
772、782‧‧‧整合記憶體控制器單元
776、778、786、788、794、798‧‧‧匯流排控制器單元點對點介面
790、890‧‧‧晶片組
796‧‧‧介面
872、882‧‧‧I/O控制邏輯
901‧‧‧平板計算裝置
902‧‧‧手持式智慧型手機
903‧‧‧觸控介面
904‧‧‧整合處理器
1000‧‧‧方塊圖
1020‧‧‧聲頻子系統
1030‧‧‧顯示器子系統
1032‧‧‧顯示器介面
1040‧‧‧I/O控制器
1050‧‧‧電力管理
1060‧‧‧記憶體子系統
1070‧‧‧連接
1072‧‧‧蜂巢式連接
1074、1160‧‧‧無線連接
1080‧‧‧周邊連接
1110‧‧‧硬體或軟體模型
1120‧‧‧模擬軟體
1130‧‧‧儲存媒體
1150‧‧‧有線連接
1165‧‧‧製造設施
1205‧‧‧程式
1210‧‧‧模擬邏輯
1302‧‧‧高階語言
1304‧‧‧x86編譯器
1306‧‧‧x86二進制碼
1308‧‧‧替代指令集編譯器
1310‧‧‧替代指令集二進制碼
1312‧‧‧指令轉換器
1314‧‧‧不具有一x86指令集核心之處理器
1316‧‧‧具有至少一x86指令集核心之處理器
本案實施例係藉由範例、而非藉由限制來加以繪示,而參照下列詳細說明並結合該等圖形考量時可更完全了解該等實施例,其中:圖1A繪示一根據實施例可操作之圖形處理器單元(GPU)的示範架構;圖1B繪示一根據實施例可操作之替代示範架構;圖2A描繪根據該等揭示實施例,執行位址轉換服務之一超管理器與一GPU間的互動;圖2B描繪根據該等揭示實施例,邏輯記憶體位址與客端實體位址之轉換201;圖2C描繪根據該等揭示實施例,客端實體幀序號(GFN)至機器幀序號(MFN)之對映;圖3繪示一根據一實施例,執行位址轉換服務之一圖形處理器單元可整合、安裝、或組配的一示範系統;圖4為一根據該等說明實施例,繪示執行用於圖形虛擬化之GPU(圖形處理單元)加速的位址轉換之一方法 的流程圖;圖5繪示一根據一實施例,以一電腦系統為示範型式之一機器的圖形表示法;圖6描繪一根據一實施例之一系統的方塊圖;圖7為一根據一實施例之一電腦系統的方塊圖;圖8為一根據一實施例之一電腦系統的方塊圖;圖9描繪根據該等實施例,如上述每一具有一電路整合其中之一平板計算裝置與一手持式智慧型手機;圖10為一可使用觸控螢幕介面連接器之一平板計算裝置、一智慧型手機、或其他行動裝置的一範例之方塊圖;圖11為一根據一實施例之一IP核心開發系統的方塊圖;圖12繪示一根據一實施例之架構模擬系統;以及圖13繪示一根據一實施例之用於轉換指令的系統。
較佳實施例之詳細說明
本文說明執行用於圖形虛擬化之GPU(圖形處理單元)加速的位址轉換之系統與方法。於一實施例中,該類系統包括一具有多個機器實體位址之主記憶體;一具有圖形記憶體之圖形處理器單元;一與該圖形處理器單元整合之位址轉換服務;一用於管理一或更多客端機器之超管理器;其中該超管理器係用來組配該圖形處理器單元之圖形 記憶體中的一詢查表;而此外其中該圖形處理器單元之位址轉換服務係用來將該一或更多客端機器的其中之一的一客端實體位址轉換成該主記憶體中之一對應的機器實體位址。該類圖形處理器單元可與,例如,一矽積體電路中具體化之一系統分開執行。
該等揭示實施例之實作可提供一有效且有能力之硬體式機構來於無法取得一IOMMU晶片組,諸如一VT-d功能時執行需要的位址轉換。此外,該等揭示實施例之實作可產出改善結果時,即使可取得一IOMMU晶片組,諸如一VT-d功能時,仍可使用該等揭示實施例之實作。
例如,為顯著降低與一以軟體為中心的解決方案相關聯之位址轉換負擔,以及為潛在降低牽涉在一IOMMU晶片組/VT-d式解決方案中的負擔,該等揭示實施例可指導一GPU式位址轉換服務(ATS)從直接至該GPU之另一實體卸載位址轉換負擔。
改善的圖形效能可在虛擬機器中透過該等揭示實施例之實作來實現,其中GPU式位址轉換可用於一非VT-d式平台中的圖形直通技術,包括PCI裝置直通技術之一GPU式位址轉換服務,諸如GFN至MFN位址之DMA位址轉換(例如,客端實體位址至機器實體位址)。不同虛擬機器間之圖形共享可使用該等揭示實施例來額外執行。
使用一延伸該GPU可被賦能來於一虛擬模式中執行位址轉換,因此可允許該GPU硬體來執行轉換而不需依賴無效的軟體實施態樣且不需要該CPU中專屬的 IOMMU,諸如來自該CPU或晶片組之VT-d功能或其他的特別支援。例如,該VMM可規畫暫存器來告知該GPU使用一直通模式而該VMM之後可經由該GPU共享記憶體將一位址轉換表寫入該GPU。
當使用客端虛擬化變得更普遍時,該類虛擬化機器之執行將仍是一關鍵挑戰。雖然VT-d有助於將該所需CPU與晶片組具體化之系統效能,但諸如平板電腦、輕薄筆電、與手持式智慧型手機之較新行動計算裝置經常不併入VT-d功能,而仍使用虛擬機器。為符合一小形狀因數行動裝置的要求限制以及另外由於強調直接轉換來延長電池壽命之能量效率,該VT-d功能通常從設計中捨棄。
該等揭示實施例之實作可因此賦能諸如平板電腦與智慧型手機之有效的小形狀因數行動裝置,以便在缺乏VT-d功能並不需求助於無效的軟體解決方案時仍可支援GPU式位址轉換服務來提供一高效能解決方案。
再者,對該圖形驅動器堆疊而言,該等揭示實施例之實作不需特別的支援或修改並且相較於VT-d解決方案其可達到類似或較佳的效能。
下列定義提供了用於整個以下揭示內容之縮寫:GFN:客端實體幀序號。例如,該客端或虛擬機器認為之位址為客端頁面表所使用之硬體位址。
MFN:機器幀序號。例如,下列硬體中之該實際硬體位址。
VM:虛擬機器或客端機器。
VMM:一虛擬機器監視器或者VM或客端機器之超管理器。
GTT:虛擬記憶體之圖形轉換表。
GGTT:總體圖形轉換表。例如,所有程序使用之一單一共同轉換表。
PPGTT:每一程序圖形轉換表。
DMA:直接記憶體存取。例如,不由一主機作業系統促成之一記憶體位址。
GPU:圖形處理單元。
IOMMU:輸入/輸出記憶體管理單元。
VT-d:“針對指引I/O之虛擬技術”其為某些CPU中一IOMMU之一實施態樣。
TLB:轉換備緩衝區。
ATS:位址轉換服務。
下列說明中,其提出若干特定細節,諸如特定系統、語言、元件、等等之範例,以提供對各種不同實施例之一全面了解。然而,很明顯地對業界熟於此技者而言,該等特定細節不需被用來實作該等揭示實施例。其他實例中,著名的材料或方法不再詳述以避免對該等揭示實施例不必要的混淆。
除了圖形描繪與本文說明之各種不同的硬體元件外,實施例中更包括下述之各種不同操作。根據該類實施例說明之操作可由硬體元件來執行或者可於機器可執行指令中具體化,其可用來使一通用或專用處理器以該等指 令規劃來執行該等操作。或者,該等操作可由硬體與軟體,包括經由一計算平台之記憶體與一或更多處理器來執行本文所述之操作的軟體指令之一組合來執行。
該等實施例亦有關用以執行本文的操作之一系統或設備。該等揭示系統或設備可針對該所需目的來特別建構,或者其可包含由儲存於一電腦中之電腦程式來選擇性致動或重新組配的一通用電腦。該類電腦程式可儲存於一非過渡性電腦可讀儲存媒體中,諸如,但不侷限於任何類型的磁碟,包括軟碟、光碟、快取記憶體、NAND、固態驅動器(SSD)、CD-ROM、以及磁性光碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、EPROM、EEPROM、磁性或光學卡、或適合儲存非過渡性電子指令之任何的媒體類型,每一元件耦合至一電腦系統匯流排。於一實施例中,具有指令儲存其中之一非過渡性電腦可讀儲存媒體可使一系統中之一或更多處理器來執行本文說明之方法與操作。另一實施例中,用於執行該類方法與操作之指令可儲存於一非過渡性電腦可讀儲存媒體中以供之後執行。
本文呈現之演算法與顯示並非固有有關任何特定電腦或其他設備,亦非參照任何特定程式語言來說明之實施例。應體認可使用各種不同的程式語言來執行本文說明之實施例教示。
圖1A繪示一根據實施例可操作之圖形處理器單元(GPU)100的示範架構。
於一實施例中,該圖形處理器單元100可於一矽 積體電路中具體化。於一實施例中,該圖形處理器單元100包括一共享圖形記憶體介面155以便從一超管理器來接收一預備的詢查表156以及一圖形記憶體116來儲存該預備的詢查表156以作為一儲存的詢查表117。該類實施例中,該預備的詢查表156可提供客端實體幀序號(GFN)158至機器幀序號(MFN)159之一對映。
於一實施例中,該圖形處理器單元100更包括一位址轉換服務115單元來接收一客端實體幀序號以供轉換。於一實施例中,該圖形處理器單元100包括與使用一轉換後備緩衝區(TLB)110以便從該預備的詢查表156擷取對應該接收的客端實體幀序號之一機器幀序號以便履行該轉換。該位址轉換服務115可透過整合於該圖形處理器單元100中之轉換後備緩衝區(TLB)110B來擷取該GFN與MFN的對映。於一實施例中,該TLB提供代表該圖形處理器單元100之位址轉換服務115的一可索引快取記憶體。
於一實施例中,該圖形處理器單元100執行代表於一平板計算裝置或一智慧型手機中操作之一或更多客端機器的位址轉換服務115。
於一實施例中,該圖形處理器單元100更包括一或更多圖形虛擬化暫存器114。例如,該一或更多圖形虛擬化暫存器114可告知該圖形處理器單元100一客端機器已被一超管理器指派至該圖形處理器單元100。該一或更多圖形虛擬化暫存器114可進一步識別該預備的詢查表156儲存於該圖形記憶體116中之所在位置以作為一儲存的詢查表 117。例如,該一或更多圖形虛擬化暫存器114可針對一指派客端機器來識別該詢查表117之所在位置。
於一實施例中,該圖形處理器單元100更包括與其整合之一圖形虛擬化決定113元件。例如,該圖形虛擬化決定113元件可決定該圖形處理器單元100是否於代表一或更多客端機器的一虛擬化環境中操作。於一實施例中,該圖形處理器單元100於該圖形虛擬化決定113元件決定之虛擬化環境中操作時可進行該位址轉換服務115,否則,位址轉換服務115被略過。
圖1B繪示一實施例可操作之替代示範架構101。該新導入之GPU式位址轉換服務(ATS)可延伸該現存GPU之邏輯對實體對映以支援將一客端實體位址轉換成一對應的機器實體位址。
如上描述,可提供該圖形裝置之一延伸105,其饋送進入該圖形記憶體(GM)偏移移除106元件。如圖所示,該等圖形記憶體位址為零(“0”)式,此為其於零開始並行進至一最大配置區域或空間。具有內部功能之圖形記憶體與快取記憶體107可描述為通訊上介接於該GM範圍偏移移除106元件與該磚式位址決定112元件之間。柵欄暫存器表面參數108可饋送進入該磚式位址決定112元件,其依次通訊上介接至該邏輯記憶體對映元件111。中間介接為該位址磚式邏輯109。
圖形虛擬化暫存器114可饋送進入該圖形虛擬化決定113元件,其依次與上述該位址轉換服務(ATS)通訊上 介接。圖形虛擬化暫存器114可用來使該GPU知道該圖形配接器是否已被指派至一VM並通知其關於該詢查表所在位置。該圖形虛擬化決定113元件可用來決定該配接器是否於虛擬化環境中運作。若該配接器於虛擬化環境中運作,則其將呼叫位址轉換服務115來將該客端實體位址轉換成一機器實體位址。該位址轉換服務115可根據該客端實體位址從該詢查表來擷取該機器實體位址。
轉換後備緩衝區(TLB)110B可與該描繪架構101之該圖形記憶體116中的位址轉換服務115以及詢查表117通訊上介接。根據一實施例,該詢查表117可由與該GPU之架構101通訊上介接的一超管理器來組配,並可涵蓋客端記憶體空間之零至四十億位元組。該詢查表117可將GFN(客端實體幀序號)對映至MFN(機器幀序號)。
轉換後備緩衝區(TLB)110B可代表該位址轉換服務115執行一圖形記憶體存取。如圖描繪為110A與110B之一轉換後備緩衝區或TLB為用來改善虛擬位址轉換速度之一處理器快取記憶體。根據一實施例,TLB 110A與110B可作為內容可定址記憶體(CAM)來予以執行,其中該CAM搜尋鍵為該虛擬位址而該搜尋結果為一實體位址,因此產出該所需GFN至MFN位址轉換(例如,一客端實體位址至一機器實體位址)。
該要求位址呈現於該TLB 110A或110B時,該CAM搜尋可快速產出一匹配而該擷取之實體位址可用來存取記憶體,例如,該回復的機器實體位址之後可用來存取 下列硬體之一實體位址,而不管提供與一客端實體位址相關聯之一虛擬化位址的起初指令。或者,該位址轉換服務115可實施一需要的頁面走步或可執行時計算該位址。
一旦由該位址轉換服務115轉換後,一機器實體位址可被用來存取主記憶體118。主記憶體118可,例如,用以響應一PTE提取操作(例如,一頁面表項目提取操作),與依次與110A之TLB通訊上介接之總體轉換表(GTT)119通訊。
圖2A描繪根據該等揭示實施例,執行位址轉換服務之一超管理器205與一GPU 220間的互動。
圖中描繪圖形配接器直通技術,其中針對該圖形直通技術一GPU用來執行位址轉換。該類實施例之實作可提升一非支援VT-d平台中之虛擬機器的整體圖形效能。特別是,使用於該GPU中執行位址轉換之一詢查表可造成VT-d式解決方案上有較快效能,並且在軟體式解決方案上有廣泛較優的效能。
根據一實施例,該描繪的互動200顯示如何設定該圖形配接器中之詢查表。例如,一使用者希望將實體圖形配接器指派至一虛擬機器時,該超管理器205將發出一設定詢查表對話來將一完全4k對齊的客端對實體位址之對映轉移至該GPU 220。
於一IA32架構式機器中,1M*4記憶體空間(例如,4百萬位元組)大到足以涵蓋客端記憶體空間之一完整的4G(四十億位元組)。使用該詢查表117,該GPU 220可使 用下列公式來計算最後的機器位址:MFN=*((未指派整數*)(p實體圖形記憶體+(GFN<<2)))
從左手側該超管理器205開始,方塊206中的賦能虛擬化啟動,其將一組態225傳達至該GPU 220。方塊207中,該右手側之GPU 220可組配虛擬化暫存器(例如,通過該組態225以設定“vReg.enable=1”)而一成功226訊息用以響應而從GPU 220傳達至超管理器205。
方塊208中,該超管理器205之後可準備該詢查表。方塊210中該超管理器205可將該詢查表117轉移至該GPU 220。方塊211中該GPU 220可發出一DMA要求以提取該詢查表117並將該詢查表117儲存於圖形記憶體中。根據成功的完成訊息,該GPU 220可將一回應228傳達回超管理器205來指出完成。
許多超管理器可支援進階的記憶體管理機構。該等揭示實施例之實施態樣可提供支援一詢查表更新交易。藉由區分該詢查表117中之該等虛擬機器,亦可支援VM間之圖形共享。
方塊212中,(若有需要)該超管理器205可啟動一詢查表更新並將該更新229傳達至該GPU 220。方塊213中,(若有需要)該GPU 220可用以響應接收該更新229而執行該詢查表更新。該GPU 220之後可將一回應230傳達回該超管理器205來指出完成該詢查表更新。
圖2B描繪根據該等揭示實施例,邏輯記憶體位址與客端實體位址之轉換201。如上所述,一軟體式位址轉 換服務中之負擔已被發現是相當顯著(例如,約所有負擔的90%)且效能顯著受損(例如,一3D圖形呈現被發現約為一自然硬體解決方案的40%)。因此,該等揭示實施例之實作可將來自一軟體式解決方案之負擔卸載至執行位址轉換服務之一GPU。根據一實施例,位址轉換可使用兩種不同機構。
於一實施例中,一第一機構為邏輯記憶體位址轉換成客端實體位址。既有機構可用來達到此轉換。例如,若該GPU不位於一虛擬化環境中,則其可略過該GPU之位址轉換服務並使用MFN=GFN存取該主記憶體。然而,若該GPU於一虛擬化環境中操作,則根據下列公式該GPU之位址轉換服務可被呼叫來執行一位址轉換:MFN=*((未指派整數*)(p實體圖形記憶體+(GFN<<2)))
如圖描繪,一4KB頁面之偏移量241可在位元0至11中提供而一邏輯頁面數字240可在位元12至31中提供。該邏輯頁面數字240可傳達至與GTT/PPGTT 242(例如,總體轉換表及每一程序總體轉換表)介接之TLB 243。從TLB 243,該36位元定址擴充244可在位元32至35中形成而該實體頁面數字245可在位元12至31中形成以替代該邏輯頁面數字240。該4KB頁面之偏移量246可被取下替代位於位元0至11之一4KB頁面之偏移量241,而因此可完成該邏輯記憶體位址至客端實體位址轉換201。
額外的快取操作可額外用來加速該位址轉換操作。
應注意的是,缺少一虛擬化環境而否定需執行 GFN至MFN對映時,該GPU之位址轉換服務不需被進行。
圖2C描繪根據該等揭示實施例,客端實體幀序號(GFN)至機器幀序號(MFN)之對映202。例如,該GPU可於一虛擬化環境中操作。
如圖描繪,一GPU之圖形記憶體116可保有該詢查表117,其中該客端記憶體範圍從零(0)至一配置區之最大尺寸。在形成位元12至31之GFN 260時一客端實體幀序號266通過。一4KB頁面之偏移量261再次描繪於位元0至11。GFN 260通過至通訊上與該圖形記憶體116之詢查表117介接的TLB 263。如位元12至31所指出之後響應地設置MFN 264,而一4KB頁面之偏移量265被取下替代位於位元0至11之一4KB頁面之偏移量264,而因此完成該GFN對MFN對映202。
圖3繪示一根據一實施例,執行位址轉換服務115之一圖形處理器單元100可整合、安裝、或組配的一示範系統300。系統300包括一主記憶體118與一中央處理器單元396而無VT-d整合其中。系統300包括通訊匯流排315以轉移系統300中的資料以及一超管理器390以管理一或更多客端機器(VM)338。
分開描繪的是圖形處理器單元(GPU)100,其可與該系統300分開製造與販賣但之後與該類系統300一起組配與整合。根據一實施例,該類系統包括:具有多個機器實體位址之主記憶體118;具有圖形記憶體116之該圖形處理器單元100;一與該圖形處理器單元100整合之位址轉換 服務115;以及用於管理一或更多客端機器338之該超管理器390。該類實施例中,該超管理器390可組配該圖形處理器單元100之圖形記憶體116中的一詢查表117。該類實施例中,該圖形處理器單元100之位址轉換服務115可將該一或更多客端機器338的其中之一的一客端實體位址轉換成該系統之主記憶體118中的一對應機器實體位址。
於一實施例中,該類系統300更包括該GPU 100中之一或更多圖形虛擬化暫存器114,其中一或更多圖形虛擬化暫存器114可通知該圖形處理器單元100該等客端機器338其中之一已被該超管理器390指派至該圖形處理器單元100。該類系統300更包括一與該圖形處理器單元100整合之圖形虛擬化決定113元件以決定該圖形處理器單元100是否於代表該等客端機器338其中之一的一虛擬化環境中操作。於該虛擬化環境中操作時,該位址轉換服務115可如上述圖2C描繪客端實體幀序號(GFN)至機器幀序號(MFN)之對映202中所提出來進行。然而,不於該虛擬化環境中操作時,該系統300可執行邏輯記憶體位址至客端實體位址的轉換而不進行該圖形處理器單元100之位址轉換服務115,如上述圖2B描繪邏輯記憶體位址至客端實體位址的轉換201中所提出。
於一實施例中,該處理程序390可藉由組配一或更多圖形虛擬化暫存器114來通知該圖形處理器單元100該等客端機器338其中之一已被該超管理器390指派至該圖形處理器單元100來進行該圖形處理器單元100之位址轉換服 務115。該超管理器390可包括一虛擬機器管理者或經由其來執行,而該一或更多客端機器338可包括一或更多虛擬機器或經由其來執行。
於一實施例中,該超管理器390可將一客端實體幀序號(GFN)傳遞至該圖形處理器單元100來由該位址轉換服務115轉換至一機器幀序號(MFN)。該類實施例中,該GFN代表該一或更多客端機器338其中之一的客端實體位址,而該MFN代表該系統之主記憶體118中對應該客端實體位址的機器實體位址。於一實施例中,該位址轉換服務115可從該圖形記憶體116中之該詢查表117來擷取客端實體幀序號(GFN)至機器幀序號(MFN)之對映。
於一實施例中,該系統300包括一經由一系統匯流排315與該圖形處理器單元100通訊上介接之獨立且相異的中央處理器單元396。該類實施例中,該中央處理器單元缺乏專屬硬體電路來執行客端實體位址至機器實體位址之位址轉換,而因此如本文所述被強迫需依賴該GPU 100之位址轉換服務115或在無一GPU 100的情況下執行無效的軟體轉換。
於一實施例中,該系統300使用該圖形處理器單元100來作為一平板計算裝置或一智慧型手機中之一微處理器,或者與該平板計算裝置或該智慧型手機整合之多個微處理器的其中之一。例如,該類平板計算裝置或智慧型手機可包括缺乏一IOMMU或VT-d功能之該中央處理器單元396。
於一實施例中,該圖形記憶體116包括共享圖形記憶體116;而該處理程序390可藉由,例如,經由一共享圖形記憶體介面155將詢查表117直接寫入該圖形處理器單元100之共享圖形記憶體116來組配該圖形記憶體中的詢查表117。於一替代實施例中,該處理程序390可藉由指示該圖形處理器單元100來擷取與儲存該詢查表117以組配該圖形記憶體116中的詢查表117,而該圖形處理器單元100響應地發出一直接記憶體存取(DMA)要求以提取該詢查表117而之後行進至儲存該圖形記憶體116中的詢查表117。
於一實施例中,該處理程序390發出一詢查表更新至該圖形處理器單元100而該圖形處理器單元100響應地更新該圖形記憶體116中之詢查表117。
圖4為一根據該等說明實施例,繪示執行用於圖形虛擬化之GPU(圖形處理單元)加速的位址轉換之一方法的流程圖400。方法400可由包括硬體(例如,電路、專屬邏輯、可規劃邏輯、微碼、等等)、軟體(例如,於一處理裝置中運作以執行本文所述之方法與操作的指令)之處理邏輯來執行。根據某些實施例,方法400之某些方塊及/或操作為任選的。呈現的方塊編號係為了清晰解說而不意欲規定該等各種不同方塊必須出現之一操作順序。
方法400以處理邏輯管理一系統中之一或更多客端機器來開始(方塊405)。
方塊410中,處理邏輯可以該一或更多客端機器之客端實體位址至對應的機器實體位址之一對映來組配一 詢查表。
方塊415中,處理邏輯可藉由將一組態要求從該超管理器傳遞至該GPU以賦能該GPU中之虛擬化。
方塊420中,該超管理器內部之處理邏輯可準備該詢查表。
方塊425中,處理邏輯可藉由將該詢查表直接寫入該GPU之共享圖形記憶體中或者經由一DMA要求來指示該GPU擷取與儲存該準備的詢查表,以便將該準備的詢查表轉移至該GPU。
方塊430中,處理邏輯可從該等客端機器其中之一接收該系統之一主記憶體的一存取要求。
方塊435中,處理邏輯可藉由將該客端實體位址傳遞至該GPU來進行該GPU內部的一位址轉換服務。
方塊440中,處理邏輯可將一GFN從該超管理器傳遞至該GPU以要求轉換至一MFN。
方塊445中,處理邏輯可透過該GPU之一轉換後備緩衝區來擷取一GFN至MFN對映。
方塊450中,處理邏輯可將該客端實體位址轉換成一對應的機器實體位址(例如,該GPU執行該要求的GFN至MFN轉換)。
方塊455中,處理邏輯可發出一詢查表更新至該GPU使該GPU來更新該詢查表。
根據一實施例,一非過渡性電腦可讀儲存媒體可儲存由一計算系統中之處理器(例如,諸如一CPU以及一 GPU)執行的指令,該等指令可使該計算系統來執行該流程圖400中所提之操作的其中之一或更多。例如,指令可使該系統之處理器來執行包括下列步驟之操作:經由一超管理器來管理一系統中之一或更多客端機器;組配具有該一或更多客端機器之客端實體位址與對應的機器實體位址之一對映的一詢查表;將該詢查表轉移至一圖形處理器單元之一圖形記憶體;從該等客端機器其中之一接收該系統之一主記憶體的一存取要求。於一實施例中,該存取要求指定一客端實體位址;藉由將該客端實體位址傳遞至該圖形處理器單元來進行該圖形處理器單元內部的一位址轉換服務,以及經由該圖形處理器單元之位址轉換服務來將該客端實體位址轉換成一對應的機器實體位址。
圖5繪示一根據一實施例,以一電腦系統為示範型式之一機器500的圖形表示法,其中用於使該機器/電腦系統500來執行本文所述之方法的任何一個或更多之一組指令可被執行。於替代實施例中,該機器可連接(例如,網路連接)至一區域網路(LAN)、一內部網路、一外部網路、或網際網路之其他機器。該機器可在一客戶端-伺服器網路環境中之一伺服器或一客戶端機器的容量中操作,以作為一點對點(或分散)網路環境中的一同級機器、作為一隨選服務環境中之一伺服器或一系列伺服器。該機器之某些實施例可為一個人電腦(PC)、一平板PC、一智慧型手機、一轉頻器(STB)、一個人數位助理(PDA)、一行動電話、一網路設施、一伺服器、一網路路由器、交換器或橋接器、計算 系統、或能夠(連續或以其他方式)執行指定該機器採用的動作之一組指令的任何機器之型式。此外,其中僅繪示一單一機器,該術語“機器”應亦可採用來包括單獨或共同地執行一組(或多組)指令來執行本文所述之方法的任何一個或更多之任何機器(例如,電腦)集合。
該示範電腦系統500包括無VT-d功能之一處理器502、一主記憶體504(例如,唯讀記憶體(ROM)、快取記憶體、諸如同步DRAM(SDRAM)或Rambus公司DRAM(RDRAM)、等等之動態隨機存取記憶體(DRAM)、諸如快取記憶體、靜態隨機存取記憶體(SRAM)之靜態記憶體、依電性但高資料速率RAM、等等)、以及一次要記憶體518(例如,包括硬碟機之一永久儲存裝置),其經由一匯流排530來彼此通訊。主記憶體504包括一超管理器524來管理使用GPU 501與處理器502之虛擬機器。處理器502可結合該處理邏輯526來操作以執行本文所述之方法。於一實施例中,GPU 501可使用一圖形記憶體525與位址轉換527,每個皆位於GPU 501內部。
該電腦系統500可進一步包括一網路介面卡508。該電腦系統500亦可包括一使用者介面510(諸如一視訊顯示單元、一液晶顯示器(LCD)、或一陰極射線管(CRT))、一文數字輸入裝置512(例如、鍵盤)、一游標控制裝置514(例如,一滑鼠)、以及一信號產生裝置516(例如,一整合揚聲器)。該電腦系統500可進一步包括周邊536裝置(例如,無線或有線通訊裝置、記憶體裝置、儲存裝置、聲 頻處理裝置、視訊處理裝置、等等)
該次要記憶體518可包括儲存將本文所述之方法或功能的任何一個或更多具體化之一或更多組指令(例如,軟體522)的一非過渡機器可讀或電腦可讀儲存媒體531。該電腦系統500執行軟體期間,該軟體522亦可完全或至少部分長駐於該主記憶體504及/或無VT-d功能之該處理器502及/或GPU 501中。該軟體522可經由該網路介面卡508於一網路520上被進一步發送或接收。
圖6描繪一根據一實施例之一系統600的方塊圖。該系統600可包括耦合至該圖形記憶體控制器集線器620之一或更多處理器610、615。額外處理器615之任選本質於圖6以虛線表示。
每一處理器610、615可與該處理器502相同版本。然而,應注意整合圖形邏輯與整合記憶體控制單元不可能存在該等處理器610、615中。圖6繪示該GMCH 620可耦合至可為,例如,一動態隨機存取記憶體(DRAM)之一記憶體640。針對至少一實施例,該DRAM可與一非依電性快取記憶體相關聯。
該GMCH 620可為一晶片組、或一晶片組之一部分。該GMCH 620可與該(等)處理器610、615通訊並控制該(等)處理器610、615與記憶體640間之互動。該GMCH 620亦可作為該系統600之該(等)處理器610、615與其他元件間之一加速匯流排介面。針對至少一實施例,該GMCH 620可經由一多分支匯流排,諸如一前側匯流排(FSB)695與該 (等)處理器610、615通訊。
再者,GMCH 620可耦合至一顯示器645(諸如一扁平面或觸控螢幕顯示器)。GMCH 620可包括一整合圖形加速器。GMCH 620可進一步耦合至一輸入/輸出(I/O)控制器集線器(ICH)650,其可用來將各種不同的周邊裝置耦合至系統600。例如圖6之實施例中顯示的是一外部圖形裝置660,其可為耦合至ICH 650、以及另一周邊裝置670之一獨立的圖形裝置。
或者,額外或不同的處理器亦可出現在該系統600中。例如,額外的處理器615可包括與處理器610相同的額外處理器、與處理器610異質或非對稱的額外處理器、加速器(諸如,例如,圖形加速器或數位信號處理(DSP)單元)、現場可程式閘陣列、或任何其他處理器。就價值的度量範圍包括架構、微架構、溫度、功率消耗特性、等等而言,處理器610、615之實體資源間可有各種不同的差異。該等差異可有效證實該等處理器610、615之間其本身為不對稱性與異質性。針對至少一實施例中,該等各種不同處理器610、615可常駐於該相同晶粒封裝體中。
圖7為一根據一實施例之一電腦系統700的方塊圖。特別是,其根據多處理器系統700為一點對點互連系統、並包括經由一點對點互連體750耦合之一第一處理器770與一第二處理器780的一實施例來描繪一第二系統700之一方塊圖。處理器770與780之每一個可為GPU 501及/或處理器502或者該等處理器610、615其中之一或更多的某版 本。
雖然圖中顯示僅具有兩個處理器770、780,但應了解本揭示內容之範疇並不受限於此。其他實施例中,一或更多額外的處理器可出現在一給定的處理器中。
如圖示處理器770與780個別包括整合記憶體控制器單元772與782。處理器770亦包括其匯流排控制器單元點對點(P-P)介面776與778的一部分;同樣地,第二處理器780包括P-P介面786與788。處理器770、780可使用P-P介面電路778、788經由一點對點(P-P)介面750來交換資訊。如圖7所示,IMC 772與782可將該等處理器耦合至個別記憶體,亦即一記憶體732與一記憶體734,其可為局部附接於該等個別處理器之主記憶體的一部分。
處理器770、780之每一個可使用點對點介面電路776、794、786、798經由個別P-P介面752、754與一晶片組790交換資訊。晶片組790亦可經由一高效能圖形介面739與一高效能圖形電路738交換資訊。
一共享快取記憶體(未顯示)可包括於處理器中或兩個處理器外側,更經由P-P互連體與該等處理器連接,使得若一處理器放入一低功率模式時,每一或兩個處理器的局部快取資訊可儲存於該共享快取記憶體中。
晶片組790可經由一介面796耦合至一第一匯流排716。於一實施例中,第一匯流排716可為一週邊組件互連(PCI)匯流排、或諸如一PCI快速匯流排之一匯流排或者其他第三代I/O互連匯流排。
如圖7所示,各種不同I/O裝置714可耦合至第一匯流排716,以及將第一匯流排716耦合至一第二匯流排720之一匯流排橋接器718。於一實施例中,第二匯流排720可為一低接腳計數(LPC)匯流排。於一實施例中,各種不同裝置可耦合至第二匯流排720,包括,例如,一鍵盤及/或滑鼠722、通訊裝置727以及諸如一磁碟機或可包括指令/編碼集資料730之其他大量儲存裝置的一儲存單元728。此外,一聲頻I/O 724可耦合至第二匯流排720。應注意亦可有其他架構。例如,一系統可執行一多分支匯流排或其他該類架構,而不使用圖7之點對點架構。
圖8為一根據一實施例之一電腦系統的方塊圖。特別是,其根據處理器870、880可個別包括整合記憶體與I/O控制邏輯(“CL”)872與882,以及經由個別介於點對點(P-P)介面878與888間之點對點互連體850來彼此互相通訊的一實施例來描繪一系統800之一方塊圖。如圖所示,處理器870、880之每一個可經由點對點互連體852與854透過該等個別P-P介面876至894以及886至898與晶片組890通訊。針對至少一實施例,該CL 872、882可包括整合記憶體控制器單元。CL 872、882可包括I/O控制邏輯。如圖描繪,記憶體832、834耦合至CL 872、882而I/O裝置814亦耦合至該控制邏輯872、882。傳統I/O裝置815經由介面896耦合至該晶片組890。
圖9描繪根據該等實施例,如上述每一具有一電路整合其中之一平板計算裝置901與一手持式智慧型手機 902。如圖描繪,根據揭示實施例該等平板計算裝置901與手持式智慧型手機902的每一個可包括一觸控介面903與一或更多整合處理器904。
於一實施例中,該GPU 100為一平板計算裝置或一智慧型手機中之一圖形處理器單元類型的微處理器、或者該平板計算裝置901或一手持式智慧型手機902中之多個整合處理器904的其中之一。例如,一平板計算裝置901或一手持式智慧型手機902之該GPU 100式整合處理器904可如本文所述使用該GPU之圖形記憶體中的一詢查表來執行一GPU式位址轉換服務。
於一實施例中,平板計算裝置901或該手持式智慧型手機902包括通訊上與該平板計算裝置901或一手持式智慧型手機902中之該GPU 100介接的一獨立且相異之中央處理器單元。其中該中央處理單元缺乏專屬硬體電路來執行客端實體位址至機器實體位址之位址轉換,故因此必須依賴執行位址轉換服務之GPU 100。
圖10為一可使用觸控螢幕介面連接器之一平板計算裝置、一智慧型手機、或其他行動裝置的一範例之方塊圖1000。處理器1010可執行該主要處理操作。聲頻子系統1020代表與將聲頻功能提供至該計算裝置相關聯之硬體(例如,聲頻硬體與聲頻電路)與軟體(例如,驅動程式、編解碼器)元件。於一實施例中,一使用者可藉由提供由處理器1010接收與處理之聲頻命令來與該平板計算裝置或智慧型手機互動。
顯示器子系統1030代表可提供一使用者一視覺及/或觸覺顯示來與該平板計算裝置或智慧型手機互動之硬體(例如,顯示器裝置)與軟體(例如,驅動程式)元件。顯示器子系統1030包括顯示器介面1032,其包括用來提供一顯示器給一使用者之特定螢幕或硬體裝置。於一實施例中,顯示器子系統1030包括可提供輸出與輸入兩者至一使用者之一觸控螢幕裝置。
I/O控制器1040代表與一使用者互動相關之硬體裝置與軟體元件。I/O控制器1040可操作來管理聲頻子系統1020及/或顯示器子系統1030的一部分之硬體。此外,I/O控制器1040繪示透過一使用者可互動連接至該平板計算裝置或智慧型手機之額外裝置的一連接點。於一實施例中,I/O控制器1040可管理諸如加速計、相機、光感測器或其他環境感測器、或者可包括於該平板計算裝置或智慧型手機中之其他硬體的裝置。該輸入可為直接使用者互動的一部分、以及將環境輸入提供至該平板計算裝置或智慧型手機。
於一實施例中,該平板計算裝置或智慧型手機包括可管理電池電力的使用、該電池之充電、以及有關省電操作特徵的電力管理1050。記憶體子系統1060包括用於儲存該平板計算裝置或智慧型手機中之資訊的記憶體裝置。連接1070可包括至該平板計算裝置或智慧型手機之硬體裝置(例如,無線及/或有線連接器以及通訊硬體)與軟體元件(例如,驅動程式、協定堆疊)以便與外部裝置通訊。蜂巢式連接1072可包括,例如,諸如GSM(全球行動通信系統)、 CDMA(碼分多重存取)、TDM(時分多工)之無線載體、或其他蜂巢式服務標準。無線連接1074可包括,例如,非蜂巢式活動,諸如個人區域網路(例如,藍芽)、區域網路(例如,WiFi)、及/或廣域網路(例如,WiMAX)、或其他無線通訊。
周邊連接1080包括硬體介面與連接器、以及軟體元件(例如,驅動程式、協定堆疊)來使周邊連接成為一周邊裝置(“至”1082)至其他計算裝置,以及使周邊裝置(“從”1084)連接至該平板計算裝置或智慧型手機,包括,例如,與其他計算裝置連接之一“停靠”連接器。周邊連接1080包括共同或標準式連接器,諸如一通用串列匯流排(USB)連接器、包括迷你顯示埠(MDP)之顯示埠、高解析多媒體介面(HDMI)、火線、等等。
圖11為一根據一實施例之一IP核心開發系統的方塊圖。特別是,一方塊圖係根據儲存媒體1130包括模擬軟體1120及/或硬體或軟體模組1110的一實施例來繪示該IP核心之開發。於一實施例中,代表該IP核心設計之資料可經由記憶體1140(例如,硬碟)、有線連接(例如,網際網路)1150或無線連接1160來提供至該儲存媒體1130。該模擬工具與模型產生之IP核心資訊之後可發送至一製造設施1165,而其可由一第三協力廠商製造以根據至少一實施例來執行至少一指令。
某些實施例中,一或更多指令可對應一第一類型或架構(例如,x86)並可於一不同類型或架構(例如,ARM)之一處理器上轉換或仿真。根據一實施例,一指令因此可 於任何處理器或處理器類型上執行,包括ARM、x86、MIPS、一GPU、或者其他處理器類型或架構。
圖12繪示一根據一實施例之架構模擬系統。特別是,該架構模擬系統可根據程式1205包含可執行與根據一實施例之一指令相同或實質上相同功能的某些指令之一實施例,來繪示一第一類型之指令如何由一不同類型的處理器來模擬。然而,程式1205之指令可為與處理器1215不同或不相容之一類型及/或格式,其表示程式1205中該類型的指令可能無法由該處理器1215來自然執行。然而,由於模擬邏輯1210之協助,程式1205之指令可轉換成能夠被該處理器1215自然執行的指令。於一實施例中,該模擬邏輯可內嵌於硬體中。另一實施例中,該模擬邏輯可內嵌於包含軟體來將該程式1205中該類型的指令轉換成可被該處理器1215自然執行的類型之一可觸知、機器可讀的媒體中。其他實施例中,模擬邏輯為固定功能或可規劃的硬體以及儲存於一可觸知、機器可讀的媒體中的程式之一組合。於一實施例中,該處理器包含該模擬邏輯,而其他實施例中,該模擬邏輯可存在於該處理器外側並由一第三協力廠商提供。於一實施例中,該處理器能夠載入於一可觸知、機器可讀的媒體中具體化之模擬邏輯,其包含執行微碼之軟體或者包含於該處理器中或與其相關聯之韌體。
圖13繪示一根據一實施例之用於轉換指令的系統。特別是,其為根據一指令轉換器為一軟體指令轉換器的實施例,對比使用該軟體指令轉換器來將一來源指令集 中之二進制指令轉換成一目的指令集中之二進制指令的一方塊圖,然而該指令轉換器可替代地以軟體、韌體、硬體、或其各種不同組合來執行。一高階語言1302中的程式可使用一x86編譯器1304來編譯以產生可由具有至少一x86指令集核心之一處理器1316來自然執行的x86二進制碼1306。具有至少一x86指令集核心之處理器1316可代表任何處理器,其可藉由相容地執行或以其他方式處理(1)該英代爾x86指令集核心之指令集的一實質部分或者(2)以在具有至少一x86指令集核心之一英代爾處理器上運作為目標的應用程式或其他軟體之物件碼版本,來實質執行與具有至少一x86指令集核心之一英代爾處理器相同的功能,以實質上達到與具有至少一x86指令集核心之一英代爾處理器相同的結果。該x86編譯器1304代表一編譯器,其可操作來產生在具有至少一x86指令集核心之處理器1316上執行而不論是否具有額外的連桿處理之x86二進制碼1306(例如,物件碼)。同樣地,該高階語言1302中的程式可使用一替代指令集編譯器1308來編譯以產生可由不具有至少一x86指令集核心之一處理器1314(例如,具有執行該MIPS指令集及/或執行該ARM指令集之核心的一處理器)來自然執行的替代指令集二進制碼1310。該指令轉換器1312可用來將該x86二進制碼1306轉換成可由不具有一x86指令集核心之處理器1314來自然執行的編碼。該轉換碼不可能與該替代指令集二進制碼1310相同,因為具此功能之一指令轉換器很難製造;然而,該轉換碼可完成該一般操作且由來自該替代指令集 之指令所組成。因此,該指令轉換器1312代表軟體、韌體、硬體、或其一組合,其可透過仿真、模擬或任何其他程序來允許不具有一x86指令集處理器或核心之一處理器或其他電子裝置來執行該x86二進制碼1306。
本文揭示之標的已藉由範例來說明並且對該等特定實施例而言,應了解該等要求實施例並不侷限於該等揭示的明確列舉實施例。相反地,很明顯對業界熟於此技者而言,該揭示內容意欲涵蓋各種不同的修改與類似安排。於是,該等後附申請專利範圍之範疇應被授予最廣泛的解譯以便包含所有該類修改與類似安排。應了解上述說明意欲作為舉例解說、而非限制。根據對上述說明的讀取與了解,很明顯地對業界熟於此技者而言其可有許多其他實施例。該揭示標的之範疇因此可參照該等後附申請專利範圍、連同該類申請專利範圍授權之等效元件的完整範疇來決定。
100‧‧‧圖形處理器單元
110B‧‧‧轉換後備緩衝區
113‧‧‧圖形虛擬化決定
114‧‧‧圖形虛擬化暫存器
115‧‧‧位址轉換服務單元
116‧‧‧圖形記憶體
117‧‧‧詢查表
155‧‧‧共享圖形記憶體介面
156‧‧‧準備的詢查表
158‧‧‧客端實體幀序號
159‧‧‧機器幀序號

Claims (31)

  1. 一種用以實現GPU加速位址轉換之系統,該系統包括:一具有多個機器實體位址之主記憶體;一具有圖形記憶體於其中之圖形處理器單元;一與該圖形處理器單元整合在一起之位址轉換服務,使用於該圖型記憶體中之一詢查表,來針對一或更多客端機器中之一者的一客端實體位址轉換成於該主記憶體中之一對應的機器實體位址;一超管理器,其用以管理一或更多客端機器,及組配該圖形處理器單元之該圖形記憶體中的該詢查表。
  2. 如申請專利範圍第1項之系統,更包含:一或更多圖形虛擬化暫存器;其中該一或更多圖形虛擬化暫存器通知該圖形處理器單元該等客端機器中之一者已被該超管理器指派至該圖形處理器單元。
  3. 如申請專利範圍第2項之系統,其中該一或更多圖形虛擬化暫存器針對被指派的該客端機器來進一步識別該詢查表所在位置。
  4. 如申請專利範圍第1項之系統,更包含:一整合於該圖形處理器單元中之圖形虛擬化決定元件,用來決定該圖形處理器單元是否正於代表該等客端機器中之一者的一虛擬化環境中操作;其中該圖形處理器單元當於該虛擬化環境中操作 時進行該位址轉換服務;及其中當該圖形處理器單元不於該虛擬化環境中操作時,該系統在不進行該圖形處理器單元之該位址轉換服務的情況下,實施邏輯記憶體位址至客端實體位址的轉換。
  5. 如申請專利範圍第1項之系統,其中該超管理器藉由執行下列步驟來進行該圖形處理器單元之該位址轉換服務:組配一或更多圖形虛擬化暫存器以通知該圖形處理器單元該等客端機器中之一者已被該超管理器指派至該圖形處理器單元;以及將一客端實體幀序號(GFN)傳遞至該圖形處理器單元以由該位址轉換服務轉換至一機器幀序號(MFN),其中該GFN代表該一或更多客端機器其中之一的客端實體位址,而其中該MFN代表該主記憶體中對應該客端實體位址之該機器實體位址。
  6. 如申請專利範圍第1項之系統,其中:與該圖形處理器單元整合之該位址轉換服務從該圖形記憶體中之該詢查表來擷取客端實體幀序號(GFN)至機器幀序號(MFN)之對映。
  7. 如申請專利範圍第6項之系統,其中:該位址轉換服務透過整合於該圖形處理器單元中之一轉換後備緩衝區(TLB)來擷取該GFN至MFN之對映;及 其中該TLB提供代表該圖形處理器單元之該位址轉換服務的一可索引快取。
  8. 如申請專利範圍第1項之系統,其中該超管理器包含一虛擬機器管理器;及其中該一或更多客端機器包含一或更多虛擬機器。
  9. 如申請專利範圍第1項之系統,更包含:一經由一系統匯流排與該圖形處理器單元通訊地介接之獨立且相異的中央處理器單元;其中該中央處理單元缺乏專屬硬體電路來執行客端實體位址至機器實體位址之位址轉換。
  10. 如申請專利範圍第1項之系統,其中該圖形處理器單元包含一矽積體電路類型的圖形處理器單元。
  11. 如申請專利範圍第1項之系統,其中該圖形處理器單元包含一平板計算裝置或一智慧型手機中之一微處理器,或者整合於該平板計算裝置或該智慧型手機中之多個微處理器中之一者。
  12. 如申請專利範圍第11項之系統,其中該平板計算裝置或該智慧型手機包含與該平板計算裝置或該智慧型手機中之該圖形處理器單元通訊地介接的一獨立且相異之中央處理單元;及其中該中央處理單元缺乏專屬硬體電路來執行客端實體位址至機器實體位址之位址轉換。
  13. 如申請專利範圍第1項之系統,其中該圖形記憶體包含共享圖形記憶體;而 其中用來組配該圖形處理器單元之該圖形記憶體中的該詢查表之該超管理器包含用來將該詢查表寫入該圖形處理器單元之該共享圖形記憶體的該超管理器。
  14. 如申請專利範圍第1項之系統,其中用來組配該圖形處理器單元之該圖形記憶體中的該詢查表之該超管理器包含用來指示該圖形處理器單元擷取與儲存該詢查表之該超管理器;其中該圖形處理器單元用來發出一直接記憶體存取(DMA)要求以提取該詢查表;及其中該圖形處理器單元用來將該詢查表儲存在該圖形記憶體中。
  15. 如申請專利範圍第1項之系統,其中該超管理器用來發出一詢查表更新至該圖形處理器單元;且其中該圖形處理器單元用來響應地更新該圖形記憶體中之該詢查表。
  16. 一種用以實現GPU加速位址轉換之方法,包含下列步驟:經由一超管理器來管理一系統中之一或更多客端機器;組配具有用於該一或更多客端機器之客端實體位址與對應的機器實體位址之一對映的一詢查表;將該詢查表轉移至一圖形處理器單元之一圖形記憶體; 從該等客端機器中之一者接收對該系統之一主記憶體的一存取要求,其中該存取要求指定一客端實體位址;藉由將該客端實體位址傳遞至該圖形處理器單元來進行該圖形處理器單元內部的一位址轉換服務;以及經由該圖形處理器單元之該位址轉換服務來將該客端實體位址轉換成一對應的機器實體位址。
  17. 如申請專利範圍第16項之方法,其中該圖形處理器單元包含一或更多圖形虛擬化暫存器;其中該超管理器組配該一或更多圖形虛擬化暫存器以通知該圖形處理器單元該等客端機器其中之一已被該超管理器指派至該圖形處理器單元;及其中該一或更多圖形虛擬化暫存器針對被指派的該客端機器來進一步識別該詢查表所在位置。
  18. 如申請專利範圍第17項之方法,更包含下列步驟:將一客端實體幀序號(GFN)從該超管理器傳遞至該圖形處理器單元,其要求由該位址轉換服務將該GFN轉換至一機器幀序號(MFN),其中該GFN代表用於該一或更多客端機器其中之一的該客端實體位址,而其中該MFN代表該主記憶體中對應至由該存取要求指定之該客端實體位址的該機器實體位址。
  19. 如申請專利範圍第16項之方法,其中將該客端實體位址轉換成一對應的機器實體位址包含,該圖形處理器單元之該位址轉換服務根據來自該圖形記憶體中之該詢查 表的一客端實體幀序號(GFN)至機器幀序號(MFN)之對映來執行轉換。
  20. 如申請專利範圍第19項之方法,其中:該位址轉換服務透過整合於該圖形處理器單元中之一轉換後備緩衝區(TLB)來擷取該GFN與MFN之對映;及其中該TLB提供代表該圖形處理器單元之該位址轉換服務的一可索引快取。
  21. 如申請專利範圍第16項之方法,其中該圖形處理器單元包含一圖形虛擬化決定元件;經由該圖形虛擬化決定元件來決定該圖形處理器單元是否正於代表該等客端機器其中之一的一虛擬化環境中操作;進行與在該虛擬化環境中操作之該圖形處理器單元相關聯的客端實體位址之位址轉換服務;以及略過與在該虛擬化環境中操作之該圖形處理器單元無關的邏輯位址之位址轉換服務,其中該系統用於在不進行該圖形處理器單元之該位址轉換服務以轉換該等邏輯位址的情況下,實施邏輯記憶體位址至客端實體位址之轉換。
  22. 如申請專利範圍第16項之方法,更包含下列步驟:藉由將一組態要求從該超管理器傳遞至該圖形處理器單元以賦能該圖形處理器單元中之虛擬化;準備該超管理器內部之該詢查表;及 其中將該詢查表轉移至該圖形處理器單元之該圖形記憶體包含該超管理器將該準備之詢查表轉移至該圖形處理器單元。
  23. 如申請專利範圍第22項之方法,其中該超管理器將該準備之詢查表轉移至該圖形處理器單元包含該超管理器將該詢查表寫入該圖形處理器單元之共享圖形記憶體。
  24. 如申請專利範圍第22項之方法,其中該超管理器將該準備之詢查表轉移至該圖形處理器單元包含下列步驟:該超管理器指示該圖形處理器單元來擷取與儲存該準備之詢查表;該圖形處理器單元響應地發出一直接記憶體存取(DMA)要求以提取該準備之詢查表;以及該圖形處理器單元將該詢查表響應地儲存在該圖形處理器單元內部之圖形記憶體中。
  25. 如申請專利範圍第16項之方法,更包含下列步驟:該超管理器發出一詢查表更新至該圖形處理器單元;以及該圖形處理器單元響應地更新該圖形記憶體中之該詢查表。
  26. 如申請專利範圍第16項之方法,其中該圖形處理器單元包含一平板計算裝置或一智慧型手機中之一微處理器,或者整合於該平板計算裝置或該智慧型手機中之多個微處理器的其中之一。
  27. 一種圖形處理器,其實現於一矽積體電路內,該圖形處 理器包含:一從一超管理器接收一準備的詢查表之共享圖形記憶體介面;一用於儲存該準備的詢查表之圖形記憶體,其中該準備的詢查表用來儲存一客端實體幀序號(GFN)至機器幀序號(MFN)之對映;一用於接收一客端實體幀序號以供轉換之位址轉換服務單元;以及一用於從該準備的詢查表擷取對應該接收的客端實體幀序號之一機器幀序號以實現該轉換之轉換後備緩衝區(TLB)。
  28. 如申請專利範圍第27項之圖形處理器,其中該圖形處理器用來執行代表於一平板計算裝置或一智慧型手機中操作之一或更多客端機器的位址轉換服務;其中該平板計算裝置或該智慧型手機包含與該平板計算裝置或該智慧型手機中之該圖形處理器通訊地介接的一獨立且相異之中央處理單元;及其中該中央處理單元缺乏專屬硬體電路來執行客端實體位址至機器實體位址之位址轉換。
  29. 如申請專利範圍第27項之圖形處理器,更包含:一或更多圖形虛擬化暫存器;其中該一或更多圖形虛擬化暫存器通知該圖形處理器一客端機器已被該超管理器指派至該圖形處理器。
  30. 如申請專利範圍第29項之圖形處理器,其中該一或更多圖形虛擬化暫存器針對被指派的該客端機器來進一步識別該詢查表所在位置。
  31. 如申請專利範圍第27項之圖形處理器,更包含:一整合於該圖形處理器中之圖形虛擬化決定元件;其中該圖形虛擬化決定元件係用來決定該圖形處理器是否正於代表一或更多客端機器之一虛擬化環境中操作;及其中該圖形處理器於該虛擬化環境中操作時進行該位址轉換服務。
TW101144471A 2011-12-21 2012-11-28 用以實現gpu加速位址轉換之系統及方法以及圖形處理器 TWI477967B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084327 WO2013091185A1 (en) 2011-12-21 2011-12-21 Gpu accelerated address translation for graphics virtualization

Publications (2)

Publication Number Publication Date
TW201331753A TW201331753A (zh) 2013-08-01
TWI477967B true TWI477967B (zh) 2015-03-21

Family

ID=48667643

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101144471A TWI477967B (zh) 2011-12-21 2012-11-28 用以實現gpu加速位址轉換之系統及方法以及圖形處理器

Country Status (3)

Country Link
US (2) US9672583B2 (zh)
TW (1) TWI477967B (zh)
WO (1) WO2013091185A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI790615B (zh) * 2021-05-14 2023-01-21 宏碁股份有限公司 虛擬機的裝置直通方法及其伺服器
US11918892B2 (en) 2021-06-17 2024-03-05 Acer Incorporated Gaming system and operation method of gaming server thereof

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672583B2 (en) * 2011-12-21 2017-06-06 Intel Corporation GPU accelerated address translation for graphics virtualization
US8719374B1 (en) 2013-09-19 2014-05-06 Farelogix, Inc. Accessing large data stores over a communications network
US9478000B2 (en) 2013-09-27 2016-10-25 Intel Corporation Sharing non-page aligned memory
US10642501B1 (en) * 2014-01-10 2020-05-05 MIPS Tech, LLC Hardware virtualized input output memory management unit
US9569243B2 (en) 2014-12-05 2017-02-14 International Business Machines Corporation Offloading and parallelizing translation table operations
WO2016101172A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Hybrid on-demand graphics translation table shadowing
EP3056990B1 (en) * 2015-02-13 2019-01-30 Deutsche Telekom AG A mobile system and method thereof for secure multiplexing of gpu in an embedded system
US9766918B2 (en) 2015-02-23 2017-09-19 Red Hat Israel, Ltd. Virtual system device identification using GPU to host bridge mapping
CN107250980B (zh) * 2015-03-26 2021-02-09 英特尔公司 具有图形和系统存储器冲突检查的计算方法和设备
US10163180B2 (en) * 2015-04-29 2018-12-25 Qualcomm Incorporated Adaptive memory address scanning based on surface format for graphics processing
GB2545170B (en) * 2015-12-02 2020-01-08 Imagination Tech Ltd GPU virtualisation
WO2017107001A1 (en) * 2015-12-21 2017-06-29 Intel Corporation Apparatus and method for pattern-driven page table shadowing for graphics virtualization
EP3188013B1 (en) * 2015-12-29 2022-07-13 Dassault Systèmes Management of a plurality of graphic cards
EP3188014B1 (en) 2015-12-29 2022-07-13 Dassault Systèmes Management of a plurality of graphic cards
CN109690505B (zh) * 2016-09-26 2023-08-08 英特尔公司 用于针对虚拟化输入/输出实施方式的混合层地址映射的设备和方法
US10402355B2 (en) 2017-02-08 2019-09-03 Texas Instruments Incorporated Apparatus and mechanism to bypass PCIe address translation by using alternative routing
KR20180114667A (ko) * 2017-04-11 2018-10-19 한국전자통신연구원 고품질 그래픽의 처리를 지원하는 가상 데스크탑 서버 및 그것을 이용한 고품질 그래픽의 처리 방법
US10608892B2 (en) * 2018-07-27 2020-03-31 Vmware, Inc. Methods, systems and appratus for custom interface specification in a cloud management system
CN111221758B (zh) * 2019-09-30 2023-06-27 华为技术有限公司 处理远程直接内存访问请求的方法和计算机设备
JP2022143762A (ja) * 2021-03-18 2022-10-03 キオクシア株式会社 メモリシステム、制御方法およびメモリコントローラ

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW388846B (en) * 1997-06-26 2000-05-01 Nippon Electric Co A graphic processor and a graphic processing method
US20030200413A1 (en) * 1999-10-04 2003-10-23 Intel Corporation Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto
TW591603B (en) * 1998-04-15 2004-06-11 Hitachi Ltd Picture processing apparatus and picture processing method
US20060139360A1 (en) * 2004-12-29 2006-06-29 Panesar Kiran S System and method for one step address translation of graphics addresses in virtualization
US20110231630A1 (en) * 2010-03-16 2011-09-22 Advanced Micro Devices, Inc. Address mapping in virtualized processing system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070052715A1 (en) * 2005-09-07 2007-03-08 Konstantin Levit-Gurevich Device, system and method of graphics processing
US7656409B2 (en) * 2005-12-23 2010-02-02 Intel Corporation Graphics processing on a processor core
US8099541B2 (en) * 2008-01-22 2012-01-17 Globalfoundries Inc. Minivisor entry point in virtual machine monitor address space
US8612633B2 (en) * 2010-03-31 2013-12-17 Microsoft Corporation Virtual machine fast emulation assist
US9606936B2 (en) * 2010-12-16 2017-03-28 Advanced Micro Devices, Inc. Generalized control registers
EP3651042A1 (en) * 2011-03-22 2020-05-13 Telefonaktiebolaget LM Ericsson (publ) Method for switching between virtualized and non-virtualized system operation
US9672583B2 (en) * 2011-12-21 2017-06-06 Intel Corporation GPU accelerated address translation for graphics virtualization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW388846B (en) * 1997-06-26 2000-05-01 Nippon Electric Co A graphic processor and a graphic processing method
TW591603B (en) * 1998-04-15 2004-06-11 Hitachi Ltd Picture processing apparatus and picture processing method
US20030200413A1 (en) * 1999-10-04 2003-10-23 Intel Corporation Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto
US20060139360A1 (en) * 2004-12-29 2006-06-29 Panesar Kiran S System and method for one step address translation of graphics addresses in virtualization
US20110231630A1 (en) * 2010-03-16 2011-09-22 Advanced Micro Devices, Inc. Address mapping in virtualized processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI790615B (zh) * 2021-05-14 2023-01-21 宏碁股份有限公司 虛擬機的裝置直通方法及其伺服器
US11918892B2 (en) 2021-06-17 2024-03-05 Acer Incorporated Gaming system and operation method of gaming server thereof

Also Published As

Publication number Publication date
US9672583B2 (en) 2017-06-06
TW201331753A (zh) 2013-08-01
WO2013091185A1 (en) 2013-06-27
US20140354667A1 (en) 2014-12-04
US20180025465A1 (en) 2018-01-25

Similar Documents

Publication Publication Date Title
TWI477967B (zh) 用以實現gpu加速位址轉換之系統及方法以及圖形處理器
ES2878147T3 (es) Gestión de un procesamiento asociado con utilidades arquitectónicas seleccionadas
TWI578221B (zh) 確認虛擬位址轉譯
US10877793B2 (en) Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system
US20180011651A1 (en) Restricted address translation to protect against device-tlb vulnerabilities
CA2800632C (en) Enable/disable adapters of a computing environment
US20220276968A1 (en) Method and Apparatus for First Operating System to Access Resource of Second Operating System
RU2611018C2 (ru) Общий способ построения виртуального pci-устройства и виртуального mmio-устройства
JP2015503784A (ja) グラフィックス処理部における仮想マシン間の移行
TW201732607A (zh) 用於輸入/輸出裝置之可縮放虛擬化的位址轉譯
TW201702888A (zh) 用於虛擬化之細粒度位址重新映射
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
TWI526832B (zh) 用於減少執行硬體表搜尋(hwtw)所需的時間和計算資源量的方法和系統
US20180365425A1 (en) Systems and methods for securely booting a system on chip via a virtual collated internal memory pool
WO2015180598A1 (zh) 对存储设备的访问信息处理方法和装置、系统
CN104603761A (zh) 对于页漏失处理程序的并行控制
CN104583959A (zh) 允许处理器资源的虚拟化
JP2017091543A (ja) マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム、及び該システムの動作方法
KR20170013882A (ko) 플래시 메모리 기반 저장 디바이스의 멀티 호스트 전력 제어기(mhpc)
US20230281113A1 (en) Adaptive memory metadata allocation
US9852100B2 (en) Guest-programmable location of advanced configuration and power interface (ACPI) tables in virtualized systems
US10609177B2 (en) Consolidated cloud system for virtual machine
TWI696068B (zh) 用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法
US20160026567A1 (en) Direct memory access method, system and host module for virtual machine
EP4293502A1 (en) Processing unit, computing device and instruction processing method

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees