顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法
【專利摘要】本發(fā)明涉及一種顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,步驟如下:步驟一,創(chuàng)建一個訪問內存的架構;在SOC總體框架內設置的訪問內存的架構包括:內存控制器、二維圖形處理器、數(shù)據(jù)緩存器、數(shù)據(jù)選擇器、數(shù)據(jù)選擇控制器、顯示控制器;步驟二,依據(jù)疊加混合的多層源圖像有無更新,訪問內存的架構給出數(shù)據(jù)的流入和流出:當有多層源圖像有更新時,數(shù)據(jù)選擇器將二維圖像處理器與顯示控制器連通;當無多層源圖像有更新時,數(shù)據(jù)選擇器將內存控制器與顯示控制器連通。本發(fā)明優(yōu)點如下:本發(fā)明針對現(xiàn)有的SOC系統(tǒng)中多層圖形圖像疊加混合時帶寬緊張的問題,達到了保證用戶體驗的同時,在所有應用場景中都能最小程度消耗系統(tǒng)帶寬和功耗。
【專利說明】顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法
【技術領域】
[0001]本發(fā)明涉及一種多層圖形圖像混合架構領域,尤其是涉及一種顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法。
【背景技術】
[0002]在現(xiàn)有安卓操作系統(tǒng)中,多層圖形圖像混合是系統(tǒng)顯示和圖形圖像處理過程中最重要的一步,多層圖像混合主要是讀取視頻、圖形或者桌面背景圖像,輸出具有各個圖層混合疊加效果的一幅圖像并傳輸給顯示設備的過程。這種圖層混合疊加及傳輸過程大致上有兩種:
第一種方法是使用二維圖形處理器進行多層圖形圖像混合。在這種方法中,首先由驅動系統(tǒng)將想要處理的圖層位置信息發(fā)送給二維圖形處理器,然后由二維圖形處理器按照操作系統(tǒng)發(fā)送的圖層位置信息將各個圖層依次讀入,按照讀入順序進行疊加處理,處理完畢以后再將具有圖層混合疊加效果的數(shù)據(jù)寫入到內部存儲器中,最后顯示控制器從內存中讀取二維圖形處理器的輸出結果,進行顯示。這種方法采用二維圖形處理器和顯示控制器分別通過各自的內存控制器訪問內部存儲器,雖然實現(xiàn)比較簡單,但是它需要二維圖形處理器將混合結果寫入內部存儲器,顯示控制器要重新從內部存儲器中讀取圖像混合的數(shù)據(jù)。一次內存的讀和寫要消耗很大的帶寬,以高清1080P視頻分辨率為例,一次讀寫消耗的帶寬為16兆字節(jié)。如果一秒鐘顯示設備的刷新率為60幀,那一秒鐘消耗的帶寬為960兆字節(jié),以3層圖形圖形疊加為例,多消耗960兆字節(jié)的帶寬相當于該系統(tǒng)浪費了 39%的帶寬。這樣巨大的帶寬消耗會增加系統(tǒng)的負擔和功耗,影響系統(tǒng)整體性能。系統(tǒng)在讀取數(shù)據(jù)的時候也要消耗功耗,浪費39%的帶寬也會使DDR系統(tǒng)多消耗39%的功耗。
[0003]第二種方法是使用顯示控制器進行多層圖形圖像混合疊加。這種顯示控制器具有圖像疊加的功能,主要通過疊加圖層的通道來完成。首先由驅動程序將需要疊加的源圖像信息配置給顯示控制器,顯示控制器通過疊加圖層通道將各個源圖像讀入,然后在內部對各個圖層的源數(shù)據(jù)進行疊加混合處理,各個圖層的疊加順序和疊加方式由驅動控制,最后將圖像混合疊加的結果在線輸出給顯示設備進行顯示。這種實現(xiàn)方案的軟件控制流程比較簡單,但是需要對輸出的每幀圖像進行混合疊加。當顯示的圖像變化不是很頻繁是,這種方法對系統(tǒng)帶寬消耗很大。以刷新率為60幀為例的高清視頻分辨率為例,如果后30幀的顯示圖像是不變的,而這30圖像都是由相同的3幅源圖像混合疊加而成,那每一幀多做一次疊加混合就要多消耗16兆字節(jié)的帶寬,那這種方案在一秒鐘就要多消耗480兆帶寬,多消耗480兆字節(jié)的帶寬相當于該系統(tǒng)浪費了 32%的帶寬。系統(tǒng)在讀取數(shù)據(jù)的時候也要消耗功耗,浪費32%的帶寬也會使DDR系統(tǒng)多消耗32%的功耗。顯示控制器由于架構和功能的限制,不能完成所有的多層圖形圖像疊加混合的功能,比如圖像旋轉、縮放,這種方法在功能使用上也存在局限性。
[0004]目前移動多媒體設備和家庭娛樂多媒體設備正向著高分辨率發(fā)展,在多媒體的硬件解決方案中,帶寬資源變得越來越緊張和珍貴,節(jié)省功耗是多媒體SOC的共同目標。如何在提高用戶視覺體驗的同時盡量減少系統(tǒng)帶寬和功耗的消耗,成為了多媒體SOC設計領域一個難點和重要課題。因此本發(fā)明一種以高性能低功耗完成多層圖像混合疊加又能節(jié)省系統(tǒng)帶寬消耗的架構設計,成為當前多媒體SOC設計領域的發(fā)展重點和主要方向。
【發(fā)明內容】
[0005]本發(fā)明的目的是針對現(xiàn)有技術不足之處而提供一種減少系統(tǒng)帶寬和功耗消耗的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法。
[0006]本發(fā)明的目的是通過以下措施來實現(xiàn):一種顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,步驟如下:
步驟一,創(chuàng)建一個訪問內存的架構;在300總體框架內設置的訪問內存的架構包括:內存控制器、二維圖形處理器、數(shù)據(jù)緩存器、數(shù)據(jù)選擇器、數(shù)據(jù)選擇控制器、顯示控制器;所述二維圖形處理器通過數(shù)據(jù)緩存器、數(shù)據(jù)選擇器與顯示控制器相連,數(shù)據(jù)選擇控制器與二維圖形處理器、數(shù)據(jù)選擇器、顯示控制器相連,內存控制器設有數(shù)據(jù)申請通道1、數(shù)據(jù)返回通道I和數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2 ;內存控制器的數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2與二維圖形處理器相連,內存控制器的數(shù)據(jù)申請通道I與顯示控制器相連,數(shù)據(jù)返回通道I通過數(shù)據(jù)選擇器與顯示控制器相連接,內存控制器通過總線與SOC總體框架的內部存儲器、多核CPU相連;
步驟二,依據(jù)疊加混合的多層源圖像有無更新,訪問內存的架構給出數(shù)據(jù)的流入和流出:當需要疊加混合的多層源圖像有更新時,多核CPU將數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2的打開/關閉信息配置給內存控制器,二維圖形處理器通過數(shù)據(jù)申請通道2發(fā)送內存控制器讀寫請求,內存控制器將讀寫請求傳送給多核CPU,然后將返回數(shù)據(jù)傳輸給二維圖形處理,二維圖形處理器內部的混合疊加處理器收集多層圖像的數(shù)據(jù),并將數(shù)據(jù)進行疊加混合處理,并將多層疊加混合的結果傳送至數(shù)據(jù)緩存器,同時數(shù)據(jù)選擇控制器打開數(shù)據(jù)選擇器,數(shù)據(jù)緩存器的疊加混合的結果輸出給顯示控制器;
當需要進行疊加混和的多層源圖像無更新時,多核CPU打開二維圖形處理器與內存控制器的通道,將多層疊加混合的結果寫入內部存儲器,多核CPU打開內存控制器的數(shù)據(jù)申請通道1,顯示控制器直接從內部存儲器中讀取多層圖像混合疊加的結果,如果多層源圖像沒有更新,可以一直讀取疊加混合的結果,直至多核CPU檢測到下一次源圖像更新。
[0007]所述步驟一中的內存控制器用于控制數(shù)據(jù)申請通道的選擇和數(shù)據(jù)返回通道的開關,內存控制器根據(jù)多核CPU的指令配置信息打開或關閉相應的通道,同時將所打開通道的數(shù)據(jù)申請信息通過總線發(fā)送給內部存儲器,當內部存儲器返回數(shù)據(jù)確認后,內存控制器再將數(shù)據(jù)輸送給相應的通道。
[0008]所述步驟一中的二維圖形處理器用于進行多層源圖像的疊加混合處理,依據(jù)多核CPU的指令通過數(shù)據(jù)申請通道2向內部存儲器發(fā)送讀寫請求,然后將返回數(shù)據(jù)進行疊加混合處理,并將疊加混合的結果傳送給內部數(shù)據(jù)緩存模塊或寫入內部存儲器。
[0009]所述步驟一中的數(shù)據(jù)緩存器用于調節(jié)二維圖形處理器和顯示控制器之間的數(shù)據(jù)傳輸速度。
[0010]所述步驟一中的數(shù)據(jù)選擇器用于連接返回數(shù)據(jù)的流向,或將二維圖形處理器與顯示控制器連接、或將內部存儲器與顯示控制器連。
[0011]所述步驟一中的數(shù)據(jù)選擇控制器用于打開數(shù)據(jù)選擇器的流向通道,并接受顯示控制器發(fā)送的時序信息、處理后將該時序信息發(fā)送給二維圖形處理器。
[0012]所述步驟一中的顯示控制器用于將收到的多層圖形疊加混合的結果按照顯示設備所需要的時序傳送給顯示設備,并將每一幀的同步信息發(fā)送給數(shù)據(jù)選擇控制器;依據(jù)多核CPU的指令通過數(shù)據(jù)申請通道I向內部存儲器發(fā)送讀寫請求,到內部存儲器讀取數(shù)據(jù)信肩、O
[0013]與現(xiàn)有技術相比,采用了本發(fā)明提出的一種顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法體式轉向節(jié),具有如下優(yōu)點:1)本發(fā)明針對現(xiàn)有的SOC系統(tǒng)中多層圖形圖像疊加混合時帶寬緊張的問題,達到了保證用戶體驗的同時,在所有應用場景中都能最小程度消耗系統(tǒng)帶寬和功耗。消除了傳統(tǒng)上兩種圖像混合架構中對帶寬和功耗的額外消耗。無論多層源圖像是實時更新還是保持不變,都能達到帶寬消耗最小。2)與傳統(tǒng)兩種圖像混合架構相比,當圖像實時更新時,比第一種架構每秒鐘節(jié)省960兆字節(jié),為系統(tǒng)節(jié)省39%的帶寬和39%的功耗,在這種情況下與第二種架構所消耗帶寬相同。當圖像保持不變時,與第一種架構所消耗帶寬相同,比第二種架構節(jié)省480兆字節(jié)的帶寬,為系統(tǒng)節(jié)省32%的帶寬和32%的功耗,同時解決了第二種架構中旋轉和縮放不能支持的問題。換言之,優(yōu)化了兩種傳統(tǒng)架構中具有額外帶寬消耗的情況,一直保持帶寬消耗最小的工作模式。3)本發(fā)明針對現(xiàn)有移動多媒體設備和家庭多媒體設備的SOC系統(tǒng),很好地考慮了現(xiàn)在系統(tǒng)中各個子模塊的協(xié)同工作關系,具有架構清晰,分工明確,易實現(xiàn),軟件控制流程簡單等優(yōu)點。
【專利附圖】
【附圖說明】
[0014]圖1是本發(fā)明提出的一個實施例結構示意圖。
[0015]圖2是圖1實施例的流程圖。
【具體實施方式】
[0016]下面結合附圖對【具體實施方式】作詳細說明:
圖1?圖2示出了本發(fā)明的一個實施例。一種顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,步驟如下:
步驟一,創(chuàng)建一個訪問內存的架構,如圖1所示;在SOC總體框架內設置的訪問內存的架構包括:內存控制器、二維圖形處理器、數(shù)據(jù)緩存器、數(shù)據(jù)選擇器、數(shù)據(jù)選擇控制器、顯示控制器;所述二維圖形處理器通過數(shù)據(jù)緩存器、數(shù)據(jù)選擇器與顯示控制器相連,數(shù)據(jù)選擇控制器與二維圖形處理器、數(shù)據(jù)選擇器、顯示控制器相連,內存控制器設有數(shù)據(jù)申請通道1、數(shù)據(jù)返回通道I和數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2 ;內存控制器的數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2與二維圖形處理器相連,內存控制器的數(shù)據(jù)申請通道I與顯示控制器相連,數(shù)據(jù)返回通道I通過數(shù)據(jù)選擇器與顯示控制器相連接,內存控制器通過總線與SOC總體框架的內部存儲器、多核CPU相連。
[0017]本結構中的內存控制器用于控制數(shù)據(jù)申請通道的選擇和數(shù)據(jù)返回通道的開關,內存控制器根據(jù)SOC總體框架的多核CPU的指令配置信息打開或關閉相應的通道,同時將所打開通道的數(shù)據(jù)申請信息通過總線發(fā)送給內部存儲器,當內部存儲器返回數(shù)據(jù)確認后,內存控制器再將數(shù)據(jù)輸送給與二維圖形處理器或顯示控制器相連接的通道。
[0018]本結構中的二維圖形處理器用于進行多層源圖像的疊加混合處理,依據(jù)多核CPU的指令通過數(shù)據(jù)申請通道2向內部存儲器發(fā)送讀寫請求,然后將返回的多層源圖像的數(shù)據(jù)進行疊加混合處理,并將疊加混合的結果傳送給內部數(shù)據(jù)緩存模塊或寫入內部存儲器。
[0019]本結構中的數(shù)據(jù)緩存器用于調節(jié)二維圖形處理器和顯示控制器之間的數(shù)據(jù)傳輸速度。二維圖形處理器和顯示控制器是在不同的時鐘頻率下工作,所以數(shù)據(jù)讀寫速度會有所不同,為了保證顯示控制器能夠實時獲取到它需要的數(shù)據(jù),二維圖形處理器會提前將一部分數(shù)據(jù)寫入數(shù)據(jù)緩存中以保證數(shù)據(jù)傳輸速度。
[0020]本結構中的數(shù)據(jù)選擇器用于連接返回數(shù)據(jù)的流向,或將二維圖形處理器與顯示控制器連接、或將內部存儲器與顯示控制器連。當有多層源圖像有更新時,數(shù)據(jù)選擇器將二維圖像處理器與顯示控制器連通;當無多層源圖像有更新時,數(shù)據(jù)選擇器將內存控制器與顯示控制器連通。
[0021]本結構中的數(shù)據(jù)選擇控制器用于打開數(shù)據(jù)選擇器的流向通道,并接受顯示控制器發(fā)送的時序信息、處理后將該時序信息發(fā)送給二維圖形處理器。
[0022]本結構中的顯示控制器用于將收到的多層圖形疊加混合的結果按照顯示設備所需要的時序傳送給顯示設備,并將每一幀的同步信息發(fā)送給數(shù)據(jù)選擇控制器;依據(jù)多核CPU的指令通過數(shù)據(jù)申請通道I向內部存儲器發(fā)送讀寫請求,到內部存儲器讀取二維圖形處理器寫回內部存儲器的疊加混合結果圖像。
[0023]步驟二,依據(jù)疊加混合的多層源圖像有無更新,訪問內存的架構給出數(shù)據(jù)的流入和流出,圖2所示:
當需要疊加混合的多層源圖像有更新時,多核CPU將數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2的打開/關閉信息配置給內存控制器,二維圖形處理器通過數(shù)據(jù)申請通道2發(fā)送內存控制器讀寫請求,內存控制器將讀寫請求傳送給多核CPU,然后將返回數(shù)據(jù)傳輸給二維圖形處理,二維圖形處理器內部的混合疊加處理器收集多層圖像的數(shù)據(jù),并將數(shù)據(jù)進行疊加混合處理,并將多層疊加混合的結果傳送至數(shù)據(jù)緩存器,同時數(shù)據(jù)選擇控制器打開數(shù)據(jù)選擇器,數(shù)據(jù)緩存器的疊加混合的結果輸出給顯示控制器。在該數(shù)據(jù)流向中,二維圖形處理器處理的多層圖像疊加混合的結果不需要寫回到內部存儲器,顯示控制器也不需要再去內部存儲器中讀取數(shù)據(jù),從而達到節(jié)省系統(tǒng)帶寬的目的。以高清視頻分辨率為例,一次讀寫消耗的帶寬為16兆字節(jié)。如果一秒鐘顯示設備的刷新率為60幀,本架構一秒鐘節(jié)省的帶寬為960兆字節(jié)。同時也節(jié)省了因為對內部存儲器讀寫而消耗的功耗。
[0024]當需要進行疊加混和的多層源圖像無更新時,多核CPU打開二維圖形處理器與內存控制器的通道,將多層疊加混合的結果寫入內部存儲器,多核CPU打開內存控制器的數(shù)據(jù)申請通道1,顯示控制器直接從內部存儲器中讀取多層圖像混合疊加的結果,如果多層源圖像沒有更新,可以一直讀取疊加混合的結果,直至多核CPU檢測到下一次源圖像更新。在該數(shù)據(jù)流向中,如果多層源圖像沒有更新,可以一直讀取疊加混合的結果,直至驅動檢測到下一次源圖像更新。以刷新率為60幀為例的高清視頻分辨率為例,如果后30幀的顯示圖像是不變的,而這30圖像都是由相同的3幅源圖像混合疊加而成,那每一幀多做一次疊加混合就要多消耗16兆字節(jié)的帶寬,那這種方案在一秒鐘就會節(jié)省480兆字節(jié)的帶寬。同時也節(jié)省了因為對內部存儲器讀寫而消耗的功耗。
[0025]上面給出的實施例并不構成對本發(fā)明的限制,本領域內熟練的技術人員在所附權利要求的范圍內做出各種變形或修改均在保護范圍內。
【權利要求】
1.一種顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,步驟如下: 步驟一,創(chuàng)建一個訪問內存的架構;在300總體框架內設置的訪問內存的架構包括:內存控制器、二維圖形處理器、數(shù)據(jù)緩存器、數(shù)據(jù)選擇器、數(shù)據(jù)選擇控制器、顯示控制器;所述二維圖形處理器通過數(shù)據(jù)緩存器、數(shù)據(jù)選擇器與顯示控制器相連,數(shù)據(jù)選擇控制器與二維圖形處理器、數(shù)據(jù)選擇器、顯示控制器相連,內存控制器設有數(shù)據(jù)申請通道1、數(shù)據(jù)返回通道I和數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2 ;內存控制器的數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2與二維圖形處理器相連,內存控制器的數(shù)據(jù)申請通道I與顯示控制器相連,數(shù)據(jù)返回通道I通過數(shù)據(jù)選擇器與顯示控制器相連接,內存控制器通過總線與SOC總體框架的內部存儲器、多核CPU相連; 步驟二,依據(jù)疊加混合的多層源圖像有無更新,訪問內存的架構給出數(shù)據(jù)的流入和流出: 當需要疊加混合的多層源圖像有更新時,多核CPU將數(shù)據(jù)申請通道2和數(shù)據(jù)返回通道2的打開/關閉信息配置給內存控制器,二維圖形處理器通過數(shù)據(jù)申請通道2發(fā)送內存控制器讀寫請求,內存控制器將讀寫請求傳送給多核CPU,然后將返回數(shù)據(jù)傳輸給二維圖形處理,二維圖形處理器內部的混合疊加處理器收集多層圖像的數(shù)據(jù),并將數(shù)據(jù)進行疊加混合處理,并將多層疊加混合的結果傳送至數(shù)據(jù)緩存器,同時數(shù)據(jù)選擇控制器打開數(shù)據(jù)選擇器,數(shù)據(jù)緩存器的疊加混合的結果輸出給顯示控制器; 當需要進行疊加混和的多層源圖像無更新時,多核CPU打開二維圖形處理器與內存控制器的通道,將多層疊加混合的結果寫入內部存儲器,多核CPU打開內存控制器的數(shù)據(jù)申請通道1,顯示控制器直接從內部存儲器中讀取多層圖像混合疊加的結果,如果多層源圖像沒有更新,可以一直讀取疊加混合的結果,直至多核CPU檢測到下一次源圖像更新。
2.根據(jù)權利要求1所述的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,所述步驟一中的內存控制器用于控制數(shù)據(jù)申請通道的選擇和數(shù)據(jù)返回通道的開關,內存控制器根據(jù)多核CPU的指令配置信息打開或關閉相應的通道,同時將所打開通道的數(shù)據(jù)申請信息通過總線發(fā)送給內部存儲器,當內部存儲器返回數(shù)據(jù)確認后,內存控制器再將數(shù)據(jù)輸送給相應的通道。
3.根據(jù)權利要求1所述的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,所述步驟一中的二維圖形處理器用于進行多層源圖像的疊加混合處理,依據(jù)多核CPU的指令通過數(shù)據(jù)申請通道2向內部存儲器發(fā)送讀寫請求,然后將返回數(shù)據(jù)進行疊加混合處理,并將疊加混合的結果傳送給內部數(shù)據(jù)緩存模塊或寫入內部存儲器。
4.根據(jù)權利要求1所述的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,所述步驟一中的數(shù)據(jù)緩存器用于調節(jié)二維圖形處理器和顯示控制器之間的數(shù)據(jù)傳輸速度。
5.根據(jù)權利要求1所述的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,所述步驟一中的數(shù)據(jù)選擇器用于連接返回數(shù)據(jù)的流向,或將二維圖形處理器與顯示控制器連接、或將內部存儲器與顯示控制器連。
6.根據(jù)權利要求1所述的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,所述步驟一中的數(shù)據(jù)選擇控制器用于打開數(shù)據(jù)選擇器的流向通道,并接受顯示控制器發(fā)送的時序信息、處理后將該時序信息發(fā)送給二維圖形處理器。
7.根據(jù)權利要求1所述的顯示控制器和二維圖形處理器通過同一個內存控制器訪問內存的架構方法,其特征在于,所述步驟一中的顯示控制器用于將收到的多層圖形疊加混合的結果按照顯示設備所需要的時序傳送給顯示設備,并將每一幀的同步信息發(fā)送給數(shù)據(jù)選擇控制器;依據(jù)多核CPU的指令通過數(shù)據(jù)申請通道I向內部存儲器發(fā)送讀寫請求,到內部存儲器讀取數(shù)據(jù)信息。
【文檔編號】G06F13/16GK104281543SQ201310270956
【公開日】2015年1月14日 申請日期:2013年7月1日 優(yōu)先權日:2013年7月1日
【發(fā)明者】張慧敏, 王震宇, 邁克·蔡 申請人:圖芯芯片技術(上海)有限公司