專利名稱:基于嵌入式加速核心的獨立顯卡架構的制作方法
技術領域:
本發(fā)明涉及計算機技術領域,更具體地說,本發(fā)明涉及一種基于嵌入式加速核心的獨立顯卡架構。
背景技術:
隨著IT技術和互聯(lián)網的發(fā)展,家庭娛樂和消費類應用需求不斷擴大,在計算機系統(tǒng)中扮演著越來越重要的角色。家庭娛樂和消費類應用以顯示和多媒體需求為主要特點,為了滿足其不斷增長的應用需求,計算機系統(tǒng)中集成圖形處理器(GPU,GraphicsProcessing Unit)專門對其進行處理,并在此基礎上構建板級“顯卡”加速設備。目前,顯示與多媒體應用需求橫跨消費類電子、個人PC機和服務器等計算機各領域,市場前景廣闊。
根據實現(xiàn)特點,業(yè)界將顯卡主要劃分為兩類集成顯卡和獨立顯卡。無論是“集成”還是“獨立”,兩者主要針對GPU是否與CPU共享主存儲器而言。集成顯卡主要特點為集成GPU,但未對應獨立的顯示存儲器,其訪問的存儲空間位于主存儲器中,即與CPU共享主存儲器。集成顯卡一般不作為獨立板級設備存在,主要集成在主板內;相反,獨立顯卡除集成GPU外,還對應獨立顯示存儲器,GPU內集成存儲控制器實現(xiàn)對顯示存儲器的訪問。獨立顯卡一般作為獨立板級設備存在,通過標準系統(tǒng)接口與主板和CPU連接。早期計算機系統(tǒng)中,存儲器控制器位于主板北橋芯片內,CPU通過標準系統(tǒng)接口與北橋芯片連接,訪問主存儲器;GPU亦與北橋芯片連接,實現(xiàn)與CPU交互。對于集成顯卡而言,GPU通過標準系統(tǒng)接口訪問主存儲器,與主CPU共享訪存帶寬,其延遲尚可接受,可滿足一般應用需求。但隨著計算機技術和工藝水平的發(fā)展,主存儲控制器逐漸由北橋芯片內轉移至CPU內。在此架構下,對GPU而言,其共享訪問主存儲器延遲變得更長,越來越難以接收。典型集成顯卡如Intel GMA系列,主要滿足低端和中低端應用需求。為了避免與CPU競爭主存儲器,獨立顯卡板集成顯示存儲器,GPU內集成存儲控制器對其進行訪問,同時通過標準系統(tǒng)接口與CPU和主存儲器交互,支持直接存儲訪問(DMA, Direct Memory Access)等高效操作。GPU可直接低延遲訪問獨立的顯示存儲器,有效提高其對應用的加速性能。獨立顯卡技術復雜、研制門檻高,關鍵技術主要掌握在個別廠商手中,且技術封閉性強,其驅動具有不開源特性。使得軟件上無法與非x86指令集CPU相匹配。除上述集成顯卡和獨立顯卡架構外,近年隨著工藝水平提高,還出現(xiàn)新型集成SoC(片上系統(tǒng))架構實現(xiàn)顯卡功能。此類集成SoC架構特點是將GPU核心與CPU核心等集成在同一芯片內,兩者通過共享總線或其他互連接口與存儲控制器相連,實現(xiàn)對主存儲器的共享訪問。從某種意義上而言,集成SoC架構可視為集成顯卡架構延伸和改進,由于位于同一芯片內,CPU與GPU核心通信效率提高。國內具備顯示與多媒體處理能力、典型集成SoC架構芯片例如北大眾志,主要面向嵌入式和工業(yè)控制等領域應用,難以滿足PC機(個人計算機)、服務器等系統(tǒng)需求。
發(fā)明內容
本發(fā)明所要解決的技術問題是針對現(xiàn)有技術中存在上述缺陷,提供一種獨立顯卡構架,其能夠滿足PC機和服務器等各種系統(tǒng)對顯卡的需求。根據本發(fā)明,提供了一種基于嵌入式加速核心的獨立顯卡架構,其包括加速部件、互連總線和傳輸部件;其中,所述加速部件包括顯示控制器、圖形處理器和視頻加速器等;所述互連總線包括IO配置總線以及數據傳輸總線;所述傳輸部件包括接口轉換器、直接存儲訪問控制器、存儲控制器、第一路由部件和第二路由部件等。優(yōu)選地,所述顯示控制器用于將顯示存儲器中像素數據輸出至顯示裝置;所述圖形處理器用于對圖形類任務進行加速;所述視頻加速器用于對視頻和圖像數據進行編解碼操作。優(yōu)選地,所述IO配置總線用于轉發(fā)外部訪問各部件的IO請求,以及對顯示存儲器 數據的直接訪問;所述數據傳輸總線用于轉發(fā)各部件對主存儲器數據的直接訪問請求。優(yōu)選地,所述接口轉換器用于實現(xiàn)獨立顯卡內總線協(xié)議與獨立顯卡外系統(tǒng)接口的協(xié)議轉換;所述直接存儲訪問控制器用于實現(xiàn)主存儲器和顯示存儲器之間數據批量傳輸;所述存儲控制器用于管理各部件對顯示存儲器數據的訪問;所述第一路由部件和所述第二路由部件分別用于將數據訪問請求路由至所述顯示存儲器和所述主存儲器。優(yōu)選地,所述獨立顯卡架構中的各部件通過軟件驅動、管理和協(xié)作。優(yōu)選地,所述存儲控制器支持與IO配置總線相連的第一端口、與顯示控制器相連的第二端口、與圖形處理器相連的第三端口、與視頻加速器相連的第四端口、與直接存儲訪問控制器相連的第五端口的并發(fā)訪問。優(yōu)選地,所述路由部件包括地址基準寄存器以及地址比較邏輯單元;其中,所述地址基準寄存器通過所述IO配置總線獲取配置值,地址比較邏輯單元以從所述地址基準寄存器傳遞過來的地址數據作為劃分界限確定訪問所述主存儲器、訪問所述顯示存儲器。優(yōu)選地,所述路由部件支持CPU通過所述IO配置總線動態(tài)修改地址基準寄存器。優(yōu)選地,所述顯示控制器支持單路、雙路甚至更多路顯示輸出。優(yōu)選地,所述圖形處理器和所述視頻加速器具有直接訪問主存儲器的數據的能力。本發(fā)明基于嵌入式加速核心構建功能完整的獨立顯卡,可滿足PC機和服務器等領域對顯示與多媒體處理能力需求。其中,各加速核心彼此獨立,可通過驅動軟件統(tǒng)一管理協(xié)作,方便獨立升級;而且,通過增強單個加速核心能力或集成多個相同類型加速核心,可快速提升加速能力,具有很強的擴展性;集成專門視頻加速器,支持各種常見視頻格式編解碼,與主流商業(yè)顯卡相比,支持格式種類更加豐富、處理能力也大幅加強。
結合附圖,并通過參考下面的詳細描述,將會更容易地對本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點和特征,其中圖I示意性地示出了現(xiàn)有嵌入式技術中加速核心的組成示意圖。圖2示意性地示出了根據本發(fā)明實施例的獨立顯卡架構示意圖。圖3示意性地示出了根據本發(fā)明實施例的獨立顯卡架構中路由部件的結構框圖。
需要說明的是,附圖用于說明本發(fā)明,而非限制本發(fā)明。注意,表示結構的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標有相同或者類似的標號。
具體實施例方式為了使本發(fā)明的內容更加清楚和易懂,下面結合具體實施例和附圖對本發(fā)明的內容進行詳細描述。本發(fā)明基于嵌入式領域多種不同類型的顯示與多媒體加速核心構建可擴展獨立顯卡架構,實現(xiàn)完整功能的獨立顯卡裝置,從而滿足PC機和服務器等系統(tǒng)中對獨立顯卡需求。在描述本發(fā)明的優(yōu)選實施例之前,先簡要描述現(xiàn)有嵌入式技術中加速核心,以便于理解本發(fā)明與現(xiàn)有技術的區(qū)別。圖I示意性地示出了現(xiàn)有嵌入式技術中加速核心的組成示意圖。如圖I所示,現(xiàn)有嵌入式技術中加速核心包括10 (輸入輸出)接口 I、數據接口 2和功能核心3。在集成SoC架構芯片中,IO接口 I主要與IO配置總線4互連,接收CPU核 心對加速核心的配置命令從而啟動任務加速;數據接口 2主要與訪存數據總線5互連,從存儲器中獲取數據;功能核心3部分則為任務執(zhí)行部件。對單個加速核心而言,IO接口 I和數據接口 2 —般具有唯一性。與上述現(xiàn)有技術不同的是,在本發(fā)明實施例中,顯卡加速芯片通過標準系統(tǒng)接口與CPU連接,片內集成存儲控制器管理板上顯示存儲器,通過顯示接口與顯示器互連。在芯片內部,加速核心仍舊通過IO配置總線和數據傳輸總線互連,但不再與CPU核心共享總線,而是通過接口轉換部件將片內總線協(xié)議轉換為標準系統(tǒng)接口協(xié)議后與CPU或主板連接,從而獨立于CPU或主板實現(xiàn)。與傳統(tǒng)獨立顯卡實現(xiàn)相比,本發(fā)明實施例中各加速核心彼此相對獨立,主要由驅動軟件進行管理和協(xié)作;且在顯存和主存之間支持各種粒度數據的高效傳輸,支持加速核心直接訪問主存。下面將具體描述本發(fā)明的優(yōu)選實施例。圖2示意性地示出了根據本發(fā)明實施例的獨立顯卡架構示意圖。如圖2所示,根據本發(fā)明實施例的獨立顯卡架構主要組成可分為三大部分加速部件、互連總線和傳輸部件等。優(yōu)選地,所述獨立顯卡架構中的各主要部件通過軟件驅動、管理和協(xié)作。其中加速部件為功能執(zhí)行部件,其包括顯示控制器301、圖形處理器302和視頻加速器303。互連總線包括10配置總線L2、以及數據傳輸總線LI。傳輸部件為輔助部件,其包括接口轉換器31、直接存儲訪問控制器304、存儲控制器32和路由部件(第一路由部件ROUl和第二路由部件R0U2)等。更具體地說,各組成部分的主要功能和特點如下a)嵌入式加速核心顯示控制器301 :將顯示存儲器50中像素數據輸出至顯示裝置。例如將顯示存儲器50中幀緩沖像素數據輸出至顯示器40。顯示控制器301通過IO接口接收外部對其分辨率等參數配置命令。根據性能不同,顯示控制器301可支持單路和/或雙路顯示輸出,并且可支持不同的顯示分辨率等。
圖形處理器302:對圖形類任務進行加速。圖形類應用可分為2D (二維)/3D (三維)類型,相應地,圖形處理器302可支持2D和/或3D加速。視頻加速器303 :對各種視頻和圖像數據進行編解碼操作。常見視頻和圖像格式包括Η· 264、MPEG-4, MPGE-2、AVS、RV、DivX、MJPEG 和 JPEG 等。部分圖形類應用和視頻類應用訪問數據具有一定隨意性,因此,優(yōu)選地,要求圖形處理器302/視頻加速器303核心具有直接訪問主存儲器數據的能力,即圖形處理器302/視頻加速器303能夠直接訪問主存儲器中的數據。b)互連總線IO配置總線L2 :轉發(fā)外部訪問各部件的IO請求,以及對顯示存儲器50數據的直接訪問。數據傳輸總線LI :轉發(fā)各部件對主存儲器20數據的直接訪問請求。 典型片內總線包括AMBA總線、Wishbone總線等。其中AMAB總線又可細分為AHB總線、AXI高速總線等。c)傳輸部件接口轉換器31 :實現(xiàn)獨立顯卡內總線協(xié)議與獨立顯卡外系統(tǒng)接口 11的協(xié)議轉換。為與主流商業(yè)獨立顯卡保持接口兼容,本發(fā)明實施例顯卡可采用PCI、PCI Express等標準接口與CPU或主板連接。更具體地說,例如,如圖2所示,接口轉換器31可分別通過IO配置接口 311和數據傳輸接口 312連接至IO配置總線L2和數據傳輸總線LI。直接存儲訪問控制器304 :實現(xiàn)主存儲器20和顯示存儲器50之間數據批量高效傳輸。CPU 10在啟動加速核心運行前,需將原始數據由主存加載至顯存。采用直接存儲訪問方式,直接存儲訪問控制器304可有效提高傳輸效率,減輕CPU 10負擔;同時,在加速核心執(zhí)行某個任務時,直接存儲訪問控制器304可同時進行數據傳輸,為下個加速任務作準備,從而掩蓋數據搬遷延遲。存儲控制器32 :管理各部件對顯示存儲器數據的訪問;優(yōu)選地,存儲控制器32支持多端口(與IO配置總線L2相連的第一端口 PO、與顯示控制器301相連的第二端口 P1、與圖形處理器302相連的第三端口 P2、與視頻加速器303相連的第四端口 P3、與直接存儲訪問控制器304相連的第五端口 P4)并發(fā)訪問。存儲控制器32除支持各部件通過數據接口(Pf P4)訪問顯示存儲器50外,還支持CPU 10通過IO配置總線L2 (PO)直接訪問顯示存儲器50數據(主要用于CPU 10對顯示存儲器50小規(guī)模數據操作)。路由部件ROU (第一路由部件ROUl和第二路由部件R0U2):實現(xiàn)加速核心唯一數據接口的拆分,將數據訪問請求路由至顯示存儲器50和主存儲器20。優(yōu)選地,第一路由部件ROUl和第二路由部件R0U2支持CPU 10通過IO配置總線L2動態(tài)修改地址基準寄存器。雖然圖2示出了第一路由部件ROUl和第二路由部件R0U2分離的結構,但是實際上第一路由部件ROUl和第二路由部件R0U2可集成為單個路由單元。在圖2所示的構架中,獨立顯卡雖然與CPU相分離,但兩者存在大量數據交換需求。由此提供多條數據通路用于顯示存儲器50和主存儲器20的數據交換,支持各種不同粒度和規(guī)模下的數據高效傳輸。對于小規(guī)模數據,CPU可選擇直接通過IO配置總線L2訪問顯存數據;對于大批量數據,可通過直接存儲訪問控制器304實現(xiàn)高效遷移。本發(fā)明實施例利用包括第一路由部件ROUl和第二路由部件R0U2的路由部件的設計來有效擴展加速核心訪存對象。具體地說,在現(xiàn)有技術的嵌入式集成SoC架構中,主存與顯存為共享方式,加速核心僅需訪問此唯一空間;但在獨立顯卡架構中,顯存和主存彼此獨立,加速核心除訪問顯存數據外,還需訪問主存數據。圖3示意性地示出了根據本發(fā)明實施例的路由部件的結構框圖。如圖3所示,根據本發(fā)明實施例的路由部件包括地址基準寄存器Rl以及地址比較邏輯單元R2。其中,地址基準寄存器Rl通過IO配置總線L2獲取配置值,地址比較邏輯單元R2以從地址基準寄存器Rl傳遞過來的地址數據作為劃分界限確定訪存請求A3訪問主存Al (訪問主存儲器20)、訪問顯存A2 (訪問顯示存儲器50)。此外,路由部件所包含的IO接口可支持CPU通過IO配置總線L2動態(tài)修改地址基準寄存器,增強獨立顯卡靈活性。 本發(fā)明實施例僅包含兩個路由方向,因此僅需一個地址基準寄存器Rl作為路由表項即可。支持CPU在提交單個任務至加速核心前修改地址基準寄存器配置。本發(fā)明實施例路由部件的提供能夠有效規(guī)避嵌入式加速核心僅支持唯一數據接口缺陷,支持其對主存數據直接訪問,有效迎合顯示與多媒體類應用數據訪問具有一定隨意性要求。本發(fā)明實施例基于嵌入式加速核心構建功能完整的獨立顯卡,可滿足PC機和服務器等領域對顯示與多媒體處理能力需求。其中,各加速核心彼此獨立,可通過驅動軟件統(tǒng)一管理協(xié)作,方便獨立升級;而且,通過增強單個加速核心能力或集成多個相同類型加速核心,可快速提升加速能力,具有很強的擴展性;集成專門視頻加速器,支持各種常見視頻格式編解碼,與主流商業(yè)顯卡僅支持H. 264/MPEG-4格式相比,支持格式種類更加豐富、處理能力也大幅加強??梢岳斫獾氖?,雖然本發(fā)明已以較佳實施例披露如上,然而上述實施例并非用以限定本發(fā)明。對于任何熟悉本領域的技術人員而言,在不脫離本發(fā)明技術方案范圍情況下,都可利用上述揭示的技術內容對本發(fā)明技術方案作出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發(fā)明技術方案的內容,依據本發(fā)明的技術實質對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術方案保護的范圍內。
權利要求
1.一種基于嵌入式加速核心的獨立顯卡架構,其特征在于包括加速部件、互連總線和傳輸部件; 其中,所述加速部件包括顯示控制器、圖形處理器和視頻加速器;所述互連總線包括IO配置總線以及數據傳輸總線;所述傳輸部件包括接口轉換器、直接存儲訪問控制器、存儲控制器、第一路由部件和第二路由部件。
2.根據權利要求I所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述顯示控制器用于將顯示存儲器中像素數據輸出至顯示裝置;所述圖形處理器用于對圖形類任務進行加速;所述視頻加速器用于對視頻和圖像數據進行編解碼操作。
3.根據權利要求I或2所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述IO配置總線用于轉發(fā)外部訪問各部件的IO請求,以及對顯示存儲器數據的直接訪問;所述數據傳輸總線用于轉發(fā)各部件對主存儲器數據的直接訪問請求。
4.根據權利要求I至3之一所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述接口轉換器用于實現(xiàn)獨立顯卡內總線協(xié)議與獨立顯卡外系統(tǒng)接口的協(xié)議轉換;所述直接存儲訪問控制器用于實現(xiàn)主存儲器和顯示存儲器之間數據批量傳輸;所述存儲控制器用于管理各部件對顯示存儲器數據的訪問;所述第一路由部件和所述第二路由部件分別用于將數據訪問請求路由至所述顯示存儲器和所述主存儲器。
5.根據權利要求I至4之一所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述獨立顯卡架構中的各部件通過軟件驅動、管理和協(xié)作。
6.根據權利要求I至5之一所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述存儲控制器支持與IO配置總線相連的第一端口、與顯示控制器相連的第二端口、與圖形處理器相連的第三端口、與視頻加速器相連的第四端口、與直接存儲訪問控制器相連的第五端口的并發(fā)訪問。
7.根據權利要求I至6之一所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述路由部件包括地址基準寄存器以及地址比較邏輯單元;其中,所述地址基準寄存器通過所述IO配置總線獲取配置值,地址比較邏輯單元以從所述地址基準寄存器傳遞過來的地址數據作為劃分界限確定訪問所述主存儲器、訪問所述顯示存儲器。
8.根據權利要求I至7之一所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述路由部件支持CPU通過所述IO配置總線動態(tài)修改地址基準寄存器。
9.根據權利要求I或2所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述顯示控制器支持單路、雙路甚至更多路顯示輸出。
10.根據權利要求I或2所述的基于嵌入式加速核心的獨立顯卡架構,其特征在于,所述圖形處理器和所述視頻加速器具有直接訪問主存儲器數據的能力。
全文摘要
一種基于嵌入式加速核心的獨立顯卡架構包括加速部件、互連總線和傳輸部件。顯示控制器用于將顯示存儲器中像素數據輸出至顯示裝置;圖形處理器用于對圖形類任務進行加速;視頻加速器用于對視頻和圖像數據進行編解碼操作。IO配置總線用于轉發(fā)外部訪問各部件的IO請求,以及對顯示存儲器數據的直接訪問;數據傳輸總線用于轉發(fā)各部件對主存儲器數據的直接訪問請求。接口轉換器用于實現(xiàn)獨立顯卡內總線協(xié)議與獨立顯卡外系統(tǒng)接口的協(xié)議轉換;直接存儲訪問控制器用于實現(xiàn)主存儲器和顯示存儲器之間數據批量傳輸;存儲控制器用于管理各部件對顯示存儲器數據的訪問;路由部件分別用于將數據訪問請求路由至所述顯示存儲器和所述主存儲器。
文檔編號G06F13/28GK102880587SQ201210380598
公開日2013年1月16日 申請日期2012年10月9日 優(yōu)先權日2012年10月9日
發(fā)明者劉杰, 唐勇, 蔡亮, 畢小建, 陳薇, 葉維, 童磊 申請人:無錫江南計算技術研究所