亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于管理虛擬圖形處理器單元的裝置和方法

文檔序號(hào):9756974閱讀:239來(lái)源:國(guó)知局
用于管理虛擬圖形處理器單元的裝置和方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明總體上涉及計(jì)算機(jī)處理器領(lǐng)域。更具體地,本發(fā)明涉及用于管理虛擬圖形 處理器單元(GPU)的方法和裝置。
【背景技術(shù)】
[0002] 因?yàn)樵坪蛿?shù)據(jù)中心在多個(gè)虛擬機(jī)(VM)之間共享圖形(GFX)硬件(例如,利用 VDI (虛擬桌面基礎(chǔ)架構(gòu))用例),所以圖形處理器單元(GPU)虛擬化變得日益重要。用于 GFX虛擬化的技術(shù)包括由NVidia?開(kāi)發(fā)的GRID ?平臺(tái)以及由Intel ?開(kāi)發(fā)的虛擬圖形技術(shù) (vGT)?平臺(tái)。圖形虛擬化在移動(dòng)設(shè)備中也變得重要,例如被實(shí)施在基于虛擬化的雙0S項(xiàng) 目中。
[0003] 通常存在兩種方法來(lái)支持有效的GFX虛擬化,被稱作"透?jìng)?和"間接透?jìng)?。透?jìng)?技術(shù)廣泛地與輸入/輸出存儲(chǔ)器管理單元(I0MMU)技術(shù)一起使用,例如,intel直接I/O虛 擬化技術(shù)(VT-d)和/或單根I/O虛擬化(SRI0V),其中,硬件能夠生成快速PCI (PCIe)功能 的多個(gè)實(shí)例,以使得每個(gè)客戶能夠直接訪問(wèn)運(yùn)行時(shí)硬件資源(例如,存儲(chǔ)器映射I〇(MMI〇) 和直接存儲(chǔ)器存?。―MA))。例如,I0MMU技術(shù)將客戶物理DMA地址重新映射到主機(jī)。然而, 支持SRI0V的GFX設(shè)備需要廣泛的硬件修改和/或電路預(yù)算,因此該技術(shù)的例子沒(méi)有出現(xiàn) 在任何重要設(shè)備或平臺(tái)中。
[0004] 間接透?jìng)魑⒄{(diào)了方案,通過(guò)使用軟件來(lái)仿真來(lái)自客戶的對(duì)較不關(guān)鍵性能資源(例 如,麗10寄存器)的訪問(wèn)但是透?jìng)麝P(guān)鍵性能資源訪問(wèn)(例如,窗孔(aperture)和渲染命 令)。例如,客戶窗孔訪問(wèn)可以直接到硬件,并且客戶渲染命令可以直接由GPU執(zhí)行。
【附圖說(shuō)明】
[0005] 根據(jù)以下結(jié)合后續(xù)附圖的詳細(xì)描述,可以獲得對(duì)本發(fā)明的更好的理解,在附圖 中:
[0006] 圖1是包括具有一個(gè)或多個(gè)處理器核和圖形處理器的處理器的計(jì)算機(jī)系統(tǒng)的實(shí) 施例的框圖;
[0007] 圖2是具有一個(gè)或多個(gè)處理器核、集成存儲(chǔ)器控制器以及集成圖形處理器的處理 器的一個(gè)實(shí)施例的框圖;
[0008] 圖3是圖形處理器的一個(gè)實(shí)施例的框圖,所述圖形處理器可以是離散的圖形處理 單元,或者可以是與多個(gè)處理核集成的圖形處理器;
[0009] 圖4是用于圖形處理器的圖形處理引擎的實(shí)施例的框圖;
[0010] 圖5是圖形處理器的另一實(shí)施例的框圖;
[0011] 圖6是包括一批處理元件的線程執(zhí)行邏輯的框圖;
[0012] 圖7示出了根據(jù)實(shí)施例的圖形處理器執(zhí)行單元指令格式;
[0013] 圖8是圖形處理器的另一實(shí)施例的框圖,所述圖形處理器包括圖形管線、介質(zhì)管 線、顯示引擎、線程執(zhí)行邏輯以及渲染輸出管線;
[0014] 圖9A是示出了根據(jù)實(shí)施例的圖形處理器命令格式的框圖;
[0015] 圖9B是示出了根據(jù)實(shí)施例的圖形處理器命令序列的框圖;
[0016] 圖10示出了根據(jù)實(shí)施例的針對(duì)數(shù)據(jù)處理系統(tǒng)的示例性圖形軟件架構(gòu);
[0017] 圖11A-B是根據(jù)實(shí)施例的圖形虛擬化環(huán)境的例子的框圖;
[0018] 圖12是根據(jù)實(shí)施例的地址氣球操作方案的例子的框圖;
[0019] 圖13是根據(jù)實(shí)施例的管理虛擬機(jī)的方法的例子的流程圖;
[0020] 圖14是根據(jù)實(shí)施例的具有硬件邊界檢查器的架構(gòu)的例子的框圖;
[0021] 圖15和圖16是根據(jù)實(shí)施例的每進(jìn)程圖形虛擬化方案的例子的框圖;
[0022] 圖17是根據(jù)實(shí)施例的邏輯架構(gòu)的例子的框圖;
[0023] 圖18是根據(jù)實(shí)施例的處理器的例子的框圖;
[0024] 圖19是根據(jù)實(shí)施例的系統(tǒng)的例子的框圖;
[0025] 圖20示出了包括動(dòng)態(tài)尋址模塊的架構(gòu)的一個(gè)實(shí)施例;
[0026] 圖21示出了將虛擬機(jī)所要求的地址空間映射到主機(jī)的匹配空閑地址空間的映 射;
[0027] 圖22示出了將虛擬機(jī)所要求的地址空間的部分映射到主機(jī)的非匹配空閑地址空 間的映射;
[0028] 圖23示出了將虛擬機(jī)所要求的地址空間的部分映射到主機(jī)的匹配空閑地址空間 的映射;以及
[0029] 圖24示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的方法。
【具體實(shí)施方式】
[0030] 在下面的描述中,出于解釋的目的,闡述了大量具體細(xì)節(jié)以便提供對(duì)下文描述的 本發(fā)明的實(shí)施例的透徹理解。然而,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō)將顯而易見(jiàn)的是,可以在沒(méi) 有這些具體細(xì)節(jié)中的一些的情況下實(shí)踐本發(fā)明的實(shí)施例。在其它實(shí)例中,以框圖形式顯示 已知的結(jié)構(gòu)和設(shè)備,是為了避免使本發(fā)明的實(shí)施例的潛在原理變得難以理解。
[0031] 示例性圖形處理器架構(gòu)和數(shù)據(jù)類型
[0032] 系統(tǒng)概沐
[0033] 圖1是根據(jù)實(shí)施例的數(shù)據(jù)處理系統(tǒng)100的框圖。數(shù)據(jù)處理系統(tǒng)100包括一個(gè)或多 個(gè)處理器102以及一個(gè)或多個(gè)圖形處理器108,并且數(shù)據(jù)處理系統(tǒng)100可以是單處理器桌面 系統(tǒng)、多處理器工作站系統(tǒng)或者具有大量處理器102或處理器核107的服務(wù)器系統(tǒng)。在一 個(gè)實(shí)施例中,數(shù)據(jù)處理系統(tǒng)100是在移動(dòng)、手持或嵌入式設(shè)備中使用的片上系統(tǒng)(SoC)集成 電路。
[0034] 數(shù)據(jù)處理系統(tǒng)100的實(shí)施例可以包括基于服務(wù)器的游戲平臺(tái)、游戲控制臺(tái)或合并 到基于服務(wù)器的游戲平臺(tái)、游戲控制臺(tái)中,游戲控制臺(tái)包括游戲和媒體控制臺(tái)、移動(dòng)游戲控 制臺(tái)、手持游戲控制臺(tái)或者在線游戲控制臺(tái)。在一些實(shí)施例中,數(shù)據(jù)處理系統(tǒng)100是移動(dòng)電 話、智能電話、平板計(jì)算設(shè)備或移動(dòng)互聯(lián)網(wǎng)設(shè)備。數(shù)據(jù)處理系統(tǒng)100還可以包括、與其耦合 或集成到可穿戴設(shè)備,例如,智能手表可穿戴設(shè)備、智能眼鏡設(shè)備、增強(qiáng)現(xiàn)實(shí)設(shè)備或虛擬現(xiàn) 實(shí)設(shè)備。在一些實(shí)施例中,數(shù)據(jù)處理系統(tǒng)100是具有一個(gè)或多個(gè)處理器102以及由一個(gè)或 多個(gè)圖形處理器108生成的圖形接口的電視機(jī)或機(jī)頂盒設(shè)備。
[0035] 在一些實(shí)施例中,一個(gè)或多個(gè)處理器102中的每個(gè)包括一個(gè)或多個(gè)處理器核107 以處理指令,當(dāng)所述指令被執(zhí)行時(shí)以執(zhí)行用于系統(tǒng)和用戶軟件的操作。在一些實(shí)施例中,一 個(gè)或多個(gè)處理器核107中的每一個(gè)被配置為處理專用指令集109。在一些實(shí)施例中,指令集 109可以促進(jìn)復(fù)雜指令集計(jì)算(CISC)、精簡(jiǎn)指令集計(jì)算(RISC)或者經(jīng)由超長(zhǎng)指令字(VLIW) 的計(jì)算。多個(gè)處理器核107中的每個(gè)可以處理不同的指令集109,其可以包括用于促進(jìn)對(duì) 其它指令集的仿真的指令。處理器核107還可以包括其它處理設(shè)備,例如,數(shù)字信號(hào)處理器 (DSP)〇
[0036] 在一些實(shí)施例中,處理器102包括高速緩存存儲(chǔ)器104。取決于架構(gòu),處理器102 可以具有單個(gè)內(nèi)部高速緩存或多級(jí)內(nèi)部高速緩存。在一些實(shí)施例中,高速緩存存儲(chǔ)器在處 理器102的各個(gè)部件之間共享。在一些實(shí)施例中,處理器102還使用外部高速緩存(例如, 級(jí)別3(L3)高速緩存或最后一級(jí)高速緩存(LLC))(未示出),其可以利用已知的高速緩存一 致性技術(shù)來(lái)在處理器核107之間共享。另外地,寄存器文件106包括在處理器102中,其可 以包括用于存儲(chǔ)不同類型數(shù)據(jù)的不同類型的寄存器(例如,整數(shù)寄存器、浮點(diǎn)數(shù)寄存器、狀 態(tài)寄存器以及指令指針寄存器)。一些寄存器可以是通用寄存器,而其它寄存器可以是專用 于處理器102的設(shè)計(jì)。
[0037] 在一些實(shí)施例中,處理器102耦合到處理器總線110,以在處理器102和系統(tǒng)100 的其它部件之間傳輸數(shù)據(jù)信號(hào)。系統(tǒng)100使用示例性"中心"系統(tǒng)架構(gòu),包括存儲(chǔ)器控制器 中心116和輸入輸出(I/O)控制器中心130。存儲(chǔ)器控制器中心116促進(jìn)存儲(chǔ)器設(shè)備和系 統(tǒng)100的其它部件之間的通信,而I/O控制中心(ICH) 130提供經(jīng)由本地I/O總線到I/O設(shè) 備的連接。
[0038] 存儲(chǔ)器設(shè)備120可以是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)設(shè)備、靜態(tài)隨機(jī)存取存儲(chǔ)器 (SRAM)設(shè)備、閃速存儲(chǔ)器設(shè)備、或者具有適當(dāng)?shù)男阅芤猿洚?dāng)過(guò)程存儲(chǔ)器的一些其它存儲(chǔ)器 設(shè)備。存儲(chǔ)器120可以存儲(chǔ)數(shù)據(jù)122和指令121,以供在處理器102執(zhí)行過(guò)程時(shí)使用。存儲(chǔ) 器控制器中心116還與可選的外部圖形處理器112耦合,所述外部圖形處理器112可以與 處理器102中的一個(gè)或多個(gè)圖形處理器108通信,以執(zhí)行圖形和媒體操作。
[0039] 在一些實(shí)施例中,ICH 130使得外圍設(shè)備能夠經(jīng)由高速I(mǎi)/O總線連接到存儲(chǔ)器120 和處理器102。I/O外圍設(shè)備包括音頻控制器146、固件接口 128、無(wú)線收發(fā)機(jī)126 (例如, Wi-Fi、藍(lán)牙)、數(shù)據(jù)存儲(chǔ)設(shè)備124(例如,硬盤(pán)驅(qū)動(dòng)、閃速存儲(chǔ)器等)以及用于將傳統(tǒng)(例如, 個(gè)人系統(tǒng)2(PS/2))設(shè)備耦合到系統(tǒng)的傳統(tǒng)I/O控制器。一個(gè)或多個(gè)通用串行總線(USB) 控制器142連接輸入設(shè)備,諸如鍵盤(pán)和鼠標(biāo)144組合。網(wǎng)絡(luò)控制器134還可以耦合到ICH 130。在一些實(shí)施例中,高性能網(wǎng)絡(luò)控制器(未示出)耦合到處理器總線110。
[0040] 圖2是具有一個(gè)或多個(gè)處理器核202A-N、集成存儲(chǔ)器控制器214以及集成圖形處 理器208的處理器200的實(shí)施例的框圖。圖2中的那些具有與本文的任意其它圖中的元件 相同的附圖標(biāo)記(或名稱)的元件可以以類似于在本文他處描述的方式但不限于那些方式 的任意方式來(lái)操作或運(yùn)行。處理器200可以包括額外的核,直到且包括由虛線框表示的額 外核202N。核202A-N中的每個(gè)包括一個(gè)或多個(gè)內(nèi)部高速緩存單元204A-N。在一些實(shí)施例 中,每個(gè)核還可以訪問(wèn)一個(gè)或多個(gè)共享的高速緩存單元206。
[0041] 內(nèi)部高速緩存單元204A-N和共享高速緩存單元206代表處理器200內(nèi)的高速緩 存存儲(chǔ)器層級(jí)。高速緩存存儲(chǔ)器層級(jí)可以在每個(gè)核中包括至少一級(jí)指令和數(shù)據(jù)高速緩存以 及一級(jí)或多級(jí)共享的中間級(jí)別高速緩存,例如級(jí)別2 (L2)、級(jí)別3 (L3)、級(jí)別4 (L4)或其它級(jí) 別的高速緩存,其中,在外部存儲(chǔ)器之前的最高級(jí)別的高速緩存被分類為L(zhǎng)LC。在一些實(shí)施 例中,高速緩存一致性邏輯維護(hù)了各個(gè)高速緩存單元206和204A-N之間的一致性。
[0042] 在一些實(shí)施例中,處理器200還可以包括一組一個(gè)或多個(gè)總線控制器單元216和 系統(tǒng)代理210。一個(gè)或多個(gè)總線控制器單元管理一組外圍總線,例如一個(gè)或多個(gè)外圍部件互 連總線(例如,PCI、快速PCI)。系統(tǒng)代理210為各個(gè)處理器部件提供管理功能。在一些實(shí) 施例中,系統(tǒng)代理210包括一個(gè)或多個(gè)集成存儲(chǔ)器控制器214,以管理對(duì)各個(gè)外部存儲(chǔ)器設(shè) 備(未示出)的訪問(wèn)。
[0043] 在一些實(shí)施例中,核202A-N中的一個(gè)或多個(gè)包括對(duì)同時(shí)的多個(gè)線程的支持。在這 種實(shí)施例中,系統(tǒng)代理210包括用于在多線程處理期間協(xié)調(diào)和操作核202A-N的部件。系 統(tǒng)代理210可以額外地包括功率控制單元(P⑶),其包括用于調(diào)整核202A-N和圖形處理器 208的功率狀態(tài)的邏輯和部件。
[0044] 在一些實(shí)施例中,處理器200額外地包括圖形處理器208,以執(zhí)行圖形處理操作。 在一些實(shí)施例中,圖形處理器208與所述一組共享高速緩存單元206以及系統(tǒng)代理單元210 耦合,所述系統(tǒng)代理單元210包括一個(gè)或多個(gè)集成存儲(chǔ)器控制器214。在一些實(shí)施例中, 顯示控制器211與圖形處理器208耦合,以驅(qū)動(dòng)圖形處理器輸出到一個(gè)或多個(gè)耦合的顯示 器。在一些實(shí)施例中,顯示控制器211可以是經(jīng)由至少一個(gè)互連與圖形處理器耦合的單獨(dú) 模塊,或者可以集成到圖形處理器208或系統(tǒng)代理210內(nèi)。
[0045] 在一些實(shí)施例中,基于環(huán)形的互連單元212用于耦合處理器200的內(nèi)部部件。然 而,可以使用替代的互連單元,諸如點(diǎn)對(duì)點(diǎn)互連、交換互連或者其它技術(shù),包括本領(lǐng)域已知 的技術(shù)。在一些實(shí)施例中,圖形處理器208經(jīng)由I/O鏈路213與環(huán)形互連212耦合。
[0046] 示例性I/O鏈路213表示I/O互連的多個(gè)變型中的至少一個(gè),包括封裝上I/O互 連,其促進(jìn)各個(gè)處理器部件和高性能嵌入式存儲(chǔ)器模塊218 (例如,eDRAM模塊)之間的通 信。在一些實(shí)施例中,核202A-N中的每個(gè)和圖形處理器208使用嵌入式存儲(chǔ)器模塊218作 為共早的最后一級(jí)尚速緩存。
[0047] 在一些實(shí)施例中,核202A-N是執(zhí)行相同指令集架構(gòu)的同構(gòu)的核。在另一實(shí)施例 中,核202A-N在指令集架構(gòu)(ISA)方面是異構(gòu)的,其中,核202A-N中的一個(gè)或多個(gè)執(zhí)行第 一指令集,而其它核中的至少一個(gè)執(zhí)行第一指令集的子集或不同指令集。
[0048] 在一些實(shí)施例中,處理器200是一個(gè)或多個(gè)基板的一部分或者被實(shí)現(xiàn)在一個(gè)或多 個(gè)基板上,所述一個(gè)或多個(gè)基板利用多種處理技術(shù)中的任一種,例如,互補(bǔ)金屬氧化物半導(dǎo) 體(CMOS)、雙極/互補(bǔ)金屬氧化物半導(dǎo)體(BiCMOS)或N型金屬氧化物半導(dǎo)體邏輯(NM0S)。 另外,除了其它部件之外,處理器200可以被實(shí)施在一個(gè)或多個(gè)芯片上或者作為具有圖示 部件的SoC集成電路。
[0049] 圖3是圖形處理器300的框圖,其可以是離散的圖形處理單元或者可以是與多個(gè) 處理核集成的圖形處理器。在一些實(shí)施例中,圖形處理器經(jīng)由到圖形處理器上的寄存器的 存儲(chǔ)器映射I/O接口并利用放置到處理器存儲(chǔ)器中的命令進(jìn)行通信。在一些實(shí)施例中,圖 形處理器300包括存儲(chǔ)器接口 314以訪問(wèn)存儲(chǔ)器。存儲(chǔ)器接口 314可以是到本地存儲(chǔ)器、 一個(gè)或多個(gè)內(nèi)部高速緩存、一個(gè)或多個(gè)共享外部高速緩存和/或到系統(tǒng)存儲(chǔ)器的接口。
[0050] 在一些實(shí)施例中,圖形處理器300還包括顯示控制器302,以驅(qū)動(dòng)顯示輸出數(shù)據(jù)到 顯示設(shè)備320。顯示控制器302包括針對(duì)用于顯示和多個(gè)視頻層的合成的一個(gè)或多個(gè)疊 加平面的硬件或用戶接口元件。在一些實(shí)施例中,圖形處理器300包括視頻編碼解碼引擎 306,以用于對(duì)去往、來(lái)自或在一個(gè)或多個(gè)媒體編碼格式之間的媒體進(jìn)行編碼、解碼或轉(zhuǎn)換 代碼,所述格式包括但不限于,動(dòng)態(tài)圖像專家組(MPEG)格式(諸如MPEG-2)、高級(jí)視頻編碼 (AVC)格式(諸如H. 264/MPEG-4AVC)、以及電影和電視工程師協(xié)會(huì)(SMPTE)421M/VC-1和聯(lián) 合圖像專家組(JPEG)格式(諸如JPEG)以及運(yùn)動(dòng)JPEG(MJPEG)格式。
[0051] 在一些實(shí)施例中,圖形處理器300包括塊圖像轉(zhuǎn)換(BLIT)引擎304,以用于執(zhí)行二 維(2D)光柵化操作,包括例如位邊界塊轉(zhuǎn)換(bit-boundary block transfer)。然而,在一 個(gè)實(shí)施例中,利用圖形處理引擎(GPE) 310的一個(gè)或多個(gè)部件執(zhí)行2D圖形操作。在一些實(shí) 施例中,圖形處理引擎310是用于執(zhí)行圖形操作的計(jì)算引擎,所述圖形操作包括三維(3D) 圖形操作和媒體操作。
[0052] 在一些實(shí)施例中,GPE 310包括3D管線312以用于執(zhí)行3D操作,例如,利用施于 3D基元(primitive)形狀(例如,矩形、三角形等)上的處理函數(shù)來(lái)植染三維圖像和場(chǎng)景。 3D管線312包括可編程和固定功能元件,其在元件中執(zhí)行各種任務(wù)和/或產(chǎn)生執(zhí)行線程到 3D/媒體子系統(tǒng)315。當(dāng)3D管線312用于執(zhí)行媒體操作時(shí),GPE 310的實(shí)施例還包括媒體 管線316,其專用于執(zhí)行媒體操作,例如視頻后期處理和圖像增強(qiáng)。
[0053] 在一些實(shí)施例中,媒體管線316包括固定功能或可編程邏輯單元,以代替或代表 視頻編碼解碼引擎306執(zhí)行一個(gè)或多個(gè)專用媒體操作,例如,視頻編解碼加速、視頻去交錯(cuò) 以及視頻編碼加速。在一些實(shí)施例中,媒體管線316額外地包括線程產(chǎn)生單元,來(lái)產(chǎn)生線程 以在3D/媒體子系統(tǒng)315上執(zhí)行。所產(chǎn)生的線程在包括在3D/媒體子系統(tǒng)315中的一個(gè)或 多個(gè)圖形執(zhí)行單元上執(zhí)行針對(duì)媒體操作的計(jì)算。
[0054] 在一些實(shí)
當(dāng)前第1頁(yè)1 2 3 4 5 6 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1