国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于在虛擬執(zhí)行環(huán)境中進(jìn)行高效的圖形處理的裝置和方法_2

      文檔序號(hào):9756863閱讀:來源:國(guó)知局
      圖形處理器300包括視頻編碼解碼引擎306以用于 編碼、解碼、或?qū)⒚襟w轉(zhuǎn)碼為一個(gè)或多個(gè)媒體編碼格式、從一個(gè)或多個(gè)媒體編碼格式轉(zhuǎn)碼、 或在一個(gè)或多個(gè)媒體編碼格式之間轉(zhuǎn)碼,其中一個(gè)或多個(gè)媒體編碼格式包括但不限于運(yùn)動(dòng) 圖像專家組(MPEG)格式(例如MPEG-2)、高級(jí)視頻編碼(AVC)格式(例如H. 264/MPEG-4 AVC)、和電影與電視工程師學(xué)會(huì)(SMPTE)421M/VC-1、以及聯(lián)合圖像專家組(JPEG)格式(例 如JPEG和動(dòng)態(tài)JPEG格式)。
      [0055] 在一個(gè)實(shí)施例中,圖形處理器300包括用于執(zhí)行包括例如位邊界塊傳輸?shù)亩S (2D)光柵化操作的塊圖像傳輸(BLIT)引擎304。然而,在一個(gè)實(shí)施例中,2D圖形操作是使 用圖形處理引擎(GPE)370的一個(gè)或多個(gè)組件來執(zhí)行的。圖形處理引擎310是用于執(zhí)行包 括三維(3D)圖形操作和媒體操作在內(nèi)的圖形操作的計(jì)算引擎。
      [0056] GPE 310包括用于執(zhí)行例如使用對(duì)3D圖元(primitive)形狀(例如,矩形、三角形 等)起作用的處理函數(shù)來渲染三維圖像和場(chǎng)景的3D操作的3D管線312。3D管線312包括 在元件內(nèi)執(zhí)行各種任務(wù)和/或向3D/媒體子系統(tǒng)315生成執(zhí)行線程的可編程和固定的功能 元件。盡管3D管線312可以用于執(zhí)行媒體操作,但是GPE 310的實(shí)施例也包括專用于執(zhí)行 媒體操作(例如視頻的后期處理和圖像增強(qiáng))的媒體管線316。
      [0057] 在一個(gè)實(shí)施例中,媒體管線316包括用于執(zhí)行一個(gè)或多個(gè)專門的媒體操作(例如, 代替或代表視頻編碼解碼引擎306進(jìn)行的視頻解碼加速、視頻去隔行、視頻編碼加速)的固 定功能的或可編程的邏輯單元。在一個(gè)實(shí)施例中,媒體管線316另外包括用于生成線程以 供在3D/媒體子系統(tǒng)315上執(zhí)行的線程生成單元。生成的線程執(zhí)行對(duì)在包括在3D/媒體子 系統(tǒng)中的一個(gè)或多個(gè)圖形執(zhí)行單元上的媒體操作的計(jì)算。
      [0058] 3D/媒體子系統(tǒng)315包括用于通過3D管線312和媒體管線316來執(zhí)行生成的線 程的邏輯。在一個(gè)實(shí)施例中,管線向3D/媒體子系統(tǒng)315發(fā)送線程執(zhí)行請(qǐng)求,其中3D/媒體 子系統(tǒng)315包括用于將多種請(qǐng)求仲裁并分派到可用的線程執(zhí)行資源的線程分派邏輯。執(zhí)行 資源包括用于處理3D和媒體線程的圖形執(zhí)行單元的陣列。在一個(gè)實(shí)施例中,3D/媒體子系 統(tǒng)315包括用于線程指令和數(shù)據(jù)的一個(gè)或多個(gè)內(nèi)部高速緩存。在一個(gè)實(shí)施例中,子系統(tǒng)也 包括共享的存儲(chǔ)器(包括寄存器和可尋址存儲(chǔ)器)以用于在線程間共享數(shù)據(jù)并且用于存儲(chǔ) 輸出數(shù)據(jù)。
      [0059] 3D/媒體處理-圖4
      [0060] 圖4是圖形處理器的圖形處理引擎410的實(shí)施例的方框圖。在一個(gè)實(shí)施例中,圖 形處理引擎(GPE)410是圖3中所示的GPE 310的一個(gè)版本。GPE 410包括3D管線412和 媒體管線416,其中的每個(gè)都可以不同于或相似于圖3的3D管線312和媒體管線316的實(shí) 施。
      [0061] 在一個(gè)實(shí)施例中,GPE 410與向GPE 3D和媒體管線412提供命令流的命令流式傳 輸器403耦合。命令流式傳輸器403耦合至可以是系統(tǒng)存儲(chǔ)器、一個(gè)或多個(gè)內(nèi)部高速緩存 存儲(chǔ)器和共享的高速緩存存儲(chǔ)器的存儲(chǔ)器。命令流式傳輸器403接收來自存儲(chǔ)器的命令, 并將命令發(fā)送至3D管線412和/或媒體管線416。3D和媒體管線通過經(jīng)由在各自的管線 內(nèi)的邏輯執(zhí)行操作或通過將一個(gè)或多個(gè)執(zhí)行線程分派至執(zhí)行單元陣列414來處理命令。在 一個(gè)實(shí)施例中,執(zhí)行單元陣列414是可擴(kuò)展的,使得所述陣列基于GPE 410的目標(biāo)功率和性 能等級(jí)而包括可變數(shù)量的執(zhí)行單元。
      [0062] 采樣引擎430與存儲(chǔ)器(例如,高速緩存存儲(chǔ)器或系統(tǒng)存儲(chǔ)器)和執(zhí)行單元陣列 414耦合。在一個(gè)實(shí)施例中,采樣引擎430為可擴(kuò)展執(zhí)行單元陣列414提供允許執(zhí)行陣列 414從存儲(chǔ)器中讀取圖形和媒體數(shù)據(jù)的存儲(chǔ)器訪問機(jī)制。在一個(gè)實(shí)施例中,采樣引擎430包 括用于執(zhí)行對(duì)媒體的專門的圖像采樣操作的邏輯。
      [0063] 采樣引擎430中的專門的媒體采樣邏輯包括去噪/去隔行模塊432、運(yùn)動(dòng)估計(jì)模塊 434、以及圖像縮放過濾模塊436。去噪/去隔行模塊432包括用于在解碼的視頻數(shù)據(jù)上執(zhí) 行去噪或去隔行算法中的一個(gè)或多個(gè)算法的邏輯。去隔行邏輯將隔行的視頻內(nèi)容的交變場(chǎng) 結(jié)合成視頻的單個(gè)幀。去噪邏輯從視頻和圖像數(shù)據(jù)中降低或移除數(shù)據(jù)噪聲。在一個(gè)實(shí)施例 中,去噪邏輯和去隔行邏輯是運(yùn)動(dòng)自適應(yīng)的,并基于在視頻數(shù)據(jù)中檢測(cè)到的運(yùn)動(dòng)量而使用 空間和時(shí)間過濾。在一個(gè)實(shí)施例中,去噪/去隔行模塊432包括專用的運(yùn)動(dòng)檢測(cè)邏輯(例 如,在運(yùn)動(dòng)估計(jì)引擎434內(nèi))。
      [0064] 運(yùn)動(dòng)估計(jì)引擎434通過執(zhí)行視頻加速功能(例如,對(duì)視頻數(shù)據(jù)的運(yùn)動(dòng)向量估計(jì)和 推測(cè))而為視頻操作提供硬件加速。運(yùn)動(dòng)估計(jì)引擎確定描述在連續(xù)的視頻幀之間的圖像數(shù) 據(jù)的變化的運(yùn)動(dòng)向量。在一個(gè)實(shí)施例中,圖形處理器媒體解碼編碼器使用視頻運(yùn)動(dòng)估計(jì)引 擎434以在宏塊級(jí)對(duì)視頻執(zhí)行操作,否則使用通用處理器來執(zhí)行該操作會(huì)是計(jì)算密集的。 在一個(gè)實(shí)施例中,運(yùn)動(dòng)估計(jì)引擎434通常對(duì)圖形處理器組件可用以協(xié)助視頻解碼和敏感或 適應(yīng)于視頻數(shù)據(jù)內(nèi)的運(yùn)動(dòng)的方向和幅度的處理功能。
      [0065]圖像縮放和過濾模塊436執(zhí)行圖像處理操作以增強(qiáng)生成的圖像和視頻的視覺質(zhì) 量。在一個(gè)實(shí)施例中,縮放和過濾模塊436在將數(shù)據(jù)提供給執(zhí)行單元陣列414之前,在采樣 操作的過程中處理圖像和視頻數(shù)據(jù)。
      [0066] 在一個(gè)實(shí)施例中,圖形處理器引擎410包括為圖形子系統(tǒng)提供訪問存儲(chǔ)器的額外 機(jī)制的數(shù)據(jù)端口 444。數(shù)據(jù)端口 444促成針對(duì)包括渲染目標(biāo)寫入、常量緩沖讀取、暫存存儲(chǔ) 器空間讀取/寫入、以及介質(zhì)表面存取在內(nèi)的操作的存儲(chǔ)器訪問。在一個(gè)實(shí)施例中,數(shù)據(jù)端 口 444包括用于緩存對(duì)存儲(chǔ)器的訪問的高速緩存存儲(chǔ)器空間。高速緩存存儲(chǔ)器可以是單個(gè) 數(shù)據(jù)高速緩存或是被分成多個(gè)子系統(tǒng)的多個(gè)高速緩存(例如,渲染緩沖高速緩存、常量緩 沖高速緩存等),其中這些子系統(tǒng)經(jīng)由數(shù)據(jù)端口訪問存儲(chǔ)器。在一個(gè)事實(shí)例中,通過經(jīng)由將 圖形處理引擎410的每個(gè)子系統(tǒng)耦合的數(shù)據(jù)分發(fā)互而連交換消息,在執(zhí)行單元陣列414中 的執(zhí)行單元上執(zhí)行的線程與數(shù)據(jù)接口進(jìn)行通信。
      [0067] 執(zhí)行單元-圖5-7
      [0068] 圖5是圖形處理器的另一個(gè)實(shí)施例的方框圖。在一個(gè)實(shí)施例中,圖形處理器包括 環(huán)形互連502、管線前端504、媒體引擎537、以及圖形核心580A-N。環(huán)形互連502將圖形處 理器耦合至包括其他圖形處理器或一個(gè)或多個(gè)通用處理器核心在內(nèi)的其他處理單元。在一 個(gè)實(shí)施例中,圖形處理器是集成在多核處理器系統(tǒng)內(nèi)的許多處理器中的一個(gè)。
      [0069] 圖形處理器經(jīng)由環(huán)形互連502接收批量的命令。傳入的命令由管線前段504中的 命令流式傳輸器503解釋。圖形處理器包括用于經(jīng)由圖形核心580A-N來執(zhí)行3D幾何處理 和媒體處理的可擴(kuò)展的執(zhí)行邏輯。對(duì)于3D幾何處理命令,命令流式傳輸器503將命令提供 給幾何管線536。對(duì)于至少一些媒體處理命令,命令流式傳輸器503將命令提供給與媒體引 擎537耦合的視頻前端534。媒體引擎537包括用于視頻和圖像后期處理的視頻質(zhì)量引擎 (VQE) 530,以及用于提供硬件加速的媒體數(shù)據(jù)編碼和解碼的多格式編碼/解碼(MFX) 533引 擎。幾何管線536和媒體引擎537每個(gè)都為由至少一個(gè)圖形核心580A提供的線程執(zhí)行資 源生成執(zhí)行線程。
      [0070] 圖形處理器包括以模塊化的核心580A-N為特征的可擴(kuò)展的線程執(zhí)行資源,其中 核心580A-N(有時(shí)被稱為核心片)中的每一個(gè)具有多個(gè)子核心550A-N、560A-N(有時(shí)被稱 為核心子片)。圖形處理器可以具有從580A到580N的任何數(shù)量的圖形核心。在一個(gè)實(shí)施 例中,圖形處理器包括至少具有第一子核心550A和第二核心子核心560A的圖形核心580A。 在另一個(gè)實(shí)施例中,圖形處理器是具有單個(gè)子核心(例如,550A)的低功率處理器。在一個(gè) 實(shí)施例中,圖形處理器包括多個(gè)圖形核心580A-N,其中每個(gè)圖形核心都包括一組第一子核 心550A-N和一組第二子核心560A-N。該組第一子核心550A-N中的每個(gè)子核心至少包括第 一組執(zhí)行單元552A-N和媒體/紋理采樣器554A-N。在該組第二子核心560A-N中的每個(gè)子 核心都至少包括第二組執(zhí)行單元562A-N和采樣器564A-N。在一個(gè)實(shí)施例中,每個(gè)子核心 550A-N、560A-N共享一組共享資源570A-N。在一個(gè)實(shí)施例中,共享資源包括共享的高速緩 存存儲(chǔ)器和像素操作邏輯。其他共享的資源也可以包括在圖形處理器的各自實(shí)施例中。
      [0071] 圖6示出了包括在圖形處理引擎的一個(gè)實(shí)施例中采用的處理元件的陣列的線程 執(zhí)行邏輯600。在一個(gè)實(shí)施例中,線程執(zhí)行邏輯600包括像素著色器602、線程分派器604、指 令高速緩存606、包括多個(gè)執(zhí)行單元608A-N的可擴(kuò)展執(zhí)行單元陣列、采樣器610、數(shù)據(jù)高速 緩存612、以及數(shù)據(jù)端口 614。在一個(gè)實(shí)施例中,所包括的組件經(jīng)由鏈接到每個(gè)組件的互連 結(jié)構(gòu)而互連。線程執(zhí)行邏輯600包括通過指令高速緩存606、數(shù)據(jù)端口 614、采樣器610、和 執(zhí)行單元陣列608A-N中的一個(gè)或多個(gè)到存儲(chǔ)器(例如,系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器)的 一個(gè)或多個(gè)連接。在一個(gè)實(shí)施例中,每個(gè)執(zhí)行單元(例如,608A)都是能夠執(zhí)行多個(gè)同時(shí)的 線程,并且能并行處理每個(gè)線程的多個(gè)數(shù)據(jù)元的單個(gè)的向量處理器。執(zhí)行單元陣列608A-N 包括任何數(shù)量的單個(gè)的執(zhí)行單元。
      [0072] 在一個(gè)實(shí)施例中,執(zhí)行單元陣列608A-N主要用于執(zhí)行"著色"程序。在一個(gè)實(shí)施 例中,陣列608A-N中的執(zhí)行單元執(zhí)行包括對(duì)許多標(biāo)準(zhǔn)3D圖形著色指令的本機(jī)支持的指令 集,使得以最小的轉(zhuǎn)換而執(zhí)行來自圖形庫(kù)(例如,Direct 3D和OpenGL)中的著色程序。執(zhí) 行單元支持頂點(diǎn)和幾何處理(例如,頂點(diǎn)程序、幾何程序、頂點(diǎn)著色器)、像素處理(例如,像 素著色器、片段著色器)和通用處理(例如,計(jì)算和媒體著色器)。
      [0073] 執(zhí)行單元陣列608A-N中的每個(gè)執(zhí)行單元都對(duì)數(shù)據(jù)元素的陣列進(jìn)行操作。數(shù)據(jù)元 的數(shù)量是"執(zhí)行大小"或是指令的通道數(shù)。執(zhí)行通道是對(duì)數(shù)據(jù)元訪問、掩碼、以及指令內(nèi)的 流控制的執(zhí)行的邏輯單元。通道的數(shù)量可以獨(dú)立于特定的圖形處理器的物理ALU或FPU的 數(shù)量。執(zhí)行單元608A-N支持整數(shù)和浮點(diǎn)數(shù)據(jù)類型。
      [0074] 執(zhí)行單元指令集包括單指令多數(shù)據(jù)(SMD)指令。可以將多種數(shù)據(jù)元作為打包的 數(shù)據(jù)類型存儲(chǔ)在寄存器中,并且執(zhí)行單元將基于元素的數(shù)據(jù)大小來處理各個(gè)元素。例如,當(dāng) 對(duì)256位寬向量進(jìn)行操作時(shí),向量的256位被存儲(chǔ)在寄存器中,并且執(zhí)行單元對(duì)作為4個(gè)分 立的64位打包數(shù)據(jù)元素(四字(QW)大小數(shù)據(jù)元素)、8個(gè)分立的32位打包數(shù)據(jù)元素(二 字(DW)大小數(shù)據(jù)元素)、16個(gè)分立的16位打包數(shù)據(jù)元素(字(W)大小數(shù)據(jù)元素)、或32個(gè) 分立的8位數(shù)據(jù)元素(字節(jié)(B)大小數(shù)據(jù)元素)的向量進(jìn)行操作。然而,不同的向量寬度 和寄存器大小是可能的。
      [0075] -個(gè)或多個(gè)內(nèi)部指令高速緩存(例如,606)被包括在線程執(zhí)行邏輯600中以緩存 執(zhí)行單元的線程指令。在一個(gè)實(shí)施例中,在線程執(zhí)行的過程中,一個(gè)或多個(gè)數(shù)據(jù)高速緩存 (例如,612)被包括在高速緩存線程數(shù)據(jù)中。包括了采樣器610以提供對(duì)3D操作的紋理采 樣以及對(duì)媒體操作的媒體采樣。在一個(gè)實(shí)施例中,采樣器610包括用于在將所采樣的數(shù)據(jù) 提供給執(zhí)行單元之前,在進(jìn)行采樣的過程中處理紋理或媒體數(shù)據(jù)的專門的紋理或媒體采樣 功能。
      [0076] 在執(zhí)行過程中,圖形和媒體管線將線程初始化請(qǐng)求經(jīng)由線程生成和分派邏輯發(fā) 送至線程執(zhí)行邏輯600。線程執(zhí)行邏輯600包括本地線程分派器604,該本地線程分派 器604仲裁來自圖形和媒體管線的線程初始化請(qǐng)求,并且在一個(gè)或多個(gè)執(zhí)行單元608A-N 上將請(qǐng)求的線程實(shí)例化。例如,幾何管線(例如,圖5的536)將頂點(diǎn)處理、曲面細(xì)分 (tessel lation)、或幾何處理器線程分派至線程執(zhí)行邏輯600。線程分派器604也可以處理 來自正在執(zhí)行的著色器程序的運(yùn)行時(shí)線程生成要求。
      [0077] -旦一分組的幾何物體被處理或光柵化為像素?cái)?shù)據(jù),就調(diào)用像素著色器602以進(jìn) 一步計(jì)算輸出信息并使得結(jié)果被寫入輸出表面(例如,色彩緩沖器、深度緩沖器、模板緩沖 器(stencil buffer)等)。在一個(gè)實(shí)施例中,像素著色器602計(jì)算跨光柵化物體被插值的 各個(gè)頂點(diǎn)屬性的值。然后,像素著色器602執(zhí)行API提供的像素著色器程序。為了執(zhí)行像 素著色器程序,像素著色器602將線程經(jīng)由線程分派器604分派至執(zhí)行單元(例如,608A)。 像素著色器602使用采樣器610中的紋理采樣邏輯以訪問存儲(chǔ)在存儲(chǔ)器中的紋理映射的紋 理數(shù)據(jù)。關(guān)于紋理數(shù)據(jù)和輸入幾何數(shù)據(jù)的算術(shù)操作計(jì)算每個(gè)幾何片段的像素顏色數(shù)據(jù),或 從進(jìn)一步的處理中丟棄一個(gè)或多個(gè)像素。
      [0078] 在一個(gè)實(shí)施例中,數(shù)據(jù)端口 614提供存儲(chǔ)器訪問機(jī)制以供線程執(zhí)行邏輯600將處 理的數(shù)據(jù)輸出至存儲(chǔ)器,以用于在圖形處理器輸出管線上進(jìn)行處理。在一個(gè)實(shí)施例中,數(shù)據(jù) 端口 614包括或耦合至一個(gè)或多個(gè)高速緩存存儲(chǔ)器(例如,數(shù)據(jù)高速緩存612),以經(jīng)由數(shù)據(jù) 端口來對(duì)存儲(chǔ)器的數(shù)據(jù)進(jìn)行緩存。
      [0079] 圖7是示出了根據(jù)實(shí)施例的圖形處理器執(zhí)行單元指令格式的方框圖。在一個(gè)實(shí)施 例中,圖形處理器執(zhí)行單元支持具有多個(gè)格式的指令的指令集。實(shí)線方框示出了通常包括 在執(zhí)行單元指令中的組成部分,而虛線方框包括可選的或只包括在指令的子集中的組成部 分。與一經(jīng)處理便從指令解碼而得到的微操作相反,由于是提供給執(zhí)行單元的指令,所以描 述并示出的指令格式是宏指令。
      [0080] 在一個(gè)實(shí)施例中,圖形處理器執(zhí)行單元本機(jī)地支持128位格式710中的指令?;?選擇的指令、指令選項(xiàng)、和操作數(shù)的數(shù)量,64位壓縮指令格式730對(duì)于一些指令是可用的, 盡管一些選項(xiàng)和操作被限制在64位格式730中,但本機(jī)的128位格式710提供對(duì)所有指令 選項(xiàng)的訪問。在64位格式730中可用的本機(jī)指令按照實(shí)施例而變化。在一個(gè)實(shí)施例中,使 用索引字段713中的一組索引值而將指令部分地壓縮。執(zhí)行單元硬件參考基于索引值的一 組壓縮表并使用該壓縮表進(jìn)行輸出以重構(gòu)128位格式710的本機(jī)指令。
      [0081] 對(duì)于每個(gè)格式,指令操作碼712定義執(zhí)行單元將執(zhí)行的操作。執(zhí)行單元跨每個(gè)操 作數(shù)的多個(gè)數(shù)據(jù)元素并行地執(zhí)行每個(gè)指令。例如,響應(yīng)于加法指令,執(zhí)行單元跨表示紋理元 素或圖片元素的每個(gè)顏色通道而執(zhí)行同時(shí)的加法操作。默認(rèn)情況下,執(zhí)行單元跨操作數(shù)的 所有數(shù)據(jù)通道而執(zhí)行每個(gè)指令。指令控制字段712使能對(duì)特定的執(zhí)行選項(xiàng)的控制,例如通 道選擇(例如,推測(cè))和數(shù)據(jù)通道次序(例如,攪拌(swizzle))。對(duì)于128位指令710,執(zhí) 行大小字段716限制將會(huì)被并行執(zhí)行的數(shù)據(jù)通道的數(shù)量。執(zhí)行大小字段716不可用于64 位壓縮指令格式730中。
      [0082] 一些執(zhí)行
      當(dāng)前第2頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1