亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于飛騰處理器平臺的多顯示屏輸出方法

文檔序號:6365183閱讀:520來源:國知局
專利名稱:基于飛騰處理器平臺的多顯示屏輸出方法
技術(shù)領(lǐng)域
本發(fā)明涉及多屏顯示領(lǐng)域,具體涉及一種基于飛騰處理器平臺的多顯示屏輸出方法。
背景技術(shù)
多顯示屏輸出方法又稱顯示墻技術(shù),一般用于實現(xiàn)超大屏幕的畫面輸出,目前在指揮調(diào)度、媒體展示、金融貿(mào)易等領(lǐng)域得到了廣泛的應(yīng)用?,F(xiàn)有的顯示墻技術(shù)一般通過專門硬件設(shè)備來實現(xiàn)多顯示屏輸出,這些專門硬件設(shè)備被稱為大屏幕處理器拼接器。但是,大屏幕處理器拼接器一般都是基于x86平臺實現(xiàn),飛騰處理器平臺的飛騰處理器基于spare體系結(jié)構(gòu),spare體系結(jié)構(gòu)與x86體系結(jié)構(gòu)無法兼容,如需針對spare體系結(jié)構(gòu)開發(fā)大屏幕處理器拼接器則需要設(shè)計專門的硬件和軟件,存在成本高、造價昂貴的問題。傳統(tǒng)顯卡基于多CRTC控制器,每路CRTC控制器(Cathode Ray Tube Controller, 陰極管射線控制器)可輸出一路顯示信號,多CRTC控制器則可輸出多屏顯示信號,實現(xiàn)多屏擴展,但輸出屏幕個數(shù)受限于卡上CRTC控制器數(shù)量。目前也有通過修改顯卡硬件本身, 即在一塊顯示設(shè)備上增加CRTC控制器和幀緩沖(Framebuffer)數(shù)量實現(xiàn)多屏輸出的方法。 幀緩沖存在于硬件上的存儲空間內(nèi),并用于存放將要顯示在顯示屏上的一幀待輸出畫面; CRTC控制器位于顯卡內(nèi),CRTC控制器是一種掃描輸出控制器,CRTC控制器能夠周期掃描幀緩沖,將巾貞緩沖中存放的一巾貞待輸出畫面轉(zhuǎn)換成輸出信號并輸出給顯不屏。但是,在一塊顯示設(shè)備上增加CRTC控制器和幀緩沖數(shù)量實現(xiàn)多屏輸出的方法存在如下的局限性1、該方法實現(xiàn)多屏顯示是將窗口管理器(窗口管理器,是顯示圖像的繪制程序)分別寫入CRTC控制器對應(yīng)的幀緩沖,需要對待顯示畫面進行數(shù)據(jù)處理,對硬件要求搞、輸出效率低;2、由于顯卡增加CRTC控制器和幀緩沖會導(dǎo)致成本較高;3、增加CRTC控制器和幀緩沖受到顯卡體積的約束;4、由于增加CRTC控制器和幀緩沖固定在顯卡內(nèi),可擴展性差;5、這些實現(xiàn)往往是基于x86體系結(jié)構(gòu),無法與spare體系結(jié)構(gòu)的飛騰處理處理器兼容。綜上所述,飛騰處理器平臺目前尚無較好的多顯示屏輸出方法,嚴重制約了飛騰處理器在多屏顯示領(lǐng)域的應(yīng)用和推廣。

發(fā)明內(nèi)容
本發(fā)明針對上述現(xiàn)有技術(shù)的缺陷,提供一種無需修改現(xiàn)有顯卡硬件、顯卡兼容性好、輸出效率高、可擴展性能好、實施成本低的基于飛騰處理器平臺的多顯示屏輸出方法。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為一種基于飛騰處理器平臺的多顯示屏輸出方法,其實施步驟如下
1)安裝至少兩塊顯卡;
2)在操作系統(tǒng)啟動時,依次初始化各顯卡及其CRTC控制器,獲取所有CRTC控制器的緩沖幀空間總大小,預(yù)留與所述緩沖幀空間總大小相同且連續(xù)分布的保留虛擬內(nèi)存空間,將所述各CRTC控制器的幀緩沖與所述保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射;
3)在操作系統(tǒng)運行時,將待輸出畫面實時緩存至所述保留虛擬內(nèi)存空間中,所述CRTC 控制器分別讀取其幀緩沖所映射虛擬內(nèi)存地址中存儲的待輸出畫面片段,并將所述待輸出畫面片段轉(zhuǎn)換成輸出信號輸出至顯示屏。作為本發(fā)明上述技術(shù)方案的進一步改進
所述步驟2)中依次初始化各顯卡及其CRTC控制器的步驟包括從第一片顯卡開始, 首先關(guān)閉所有顯卡VGA信號的傳遞,然后打開當前顯卡的VGA信號傳遞,運行當前顯卡的 VIDEO BIOS初始化例程完成當前顯卡及其CRTC控制器的初始化,重復(fù)上述步驟直至完成所有顯卡及其CRTC控制器的初始化。所述步驟2)中將各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射的步驟包括:A)選定一個幀緩沖作為當前幀緩沖,將保留虛擬內(nèi)存空間的起始地址作為當前地址;B)從所述當前地址開始獲取一段與所述當前幀緩沖大小相同的地址空間,修改所述地址空間中各個地址對應(yīng)的頁表項,使得所述頁表項依次指向所述當前幀緩沖的各個頁,完成當前幀緩沖的映射;C)將下一個幀緩沖作為當前幀緩沖,設(shè)置與所述地址空間相鄰的下一個地址作為當前地址,重復(fù)步驟B)直至完成所有幀緩沖的映射。本發(fā)明具有下述優(yōu)點
I、本發(fā)明無需修改現(xiàn)有顯卡的硬件設(shè)計,能夠利用標準的、易獲取的、廉價的普通低端顯卡,將各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射,使每一個CRTC控制器輸出的單個屏幕是整個完整屏幕的一部分,從而實現(xiàn)飛騰處理器平臺的多顯示屏輸出,能夠根據(jù)需要選擇不同數(shù)量的顯卡或者具有不同數(shù)量CRTC控制器的顯卡來擴展實現(xiàn)不同數(shù)量的多顯示屏輸出,具有可擴展性能好、使用靈活方便、顯卡兼容性好、顯卡性能要求低、實施成本低的優(yōu)點。2、本發(fā)明采用映射的方式實現(xiàn)待輸出畫面的重定向輸出,使位于同一塊顯卡上或不同顯卡上的幀緩沖映射為一片連續(xù)的、虛擬的幀緩沖,采用高效率的映射方式直接將待輸出畫面寫入幀緩沖映射的保留虛擬內(nèi)存空間內(nèi),CRTC控制器則直接讀取保留虛擬內(nèi)存空間內(nèi)存儲的待輸出畫面片段,通過幀緩沖與虛擬內(nèi)存地址的一一映射關(guān)系自動將待輸出畫面分割為待輸出畫面片段,整個輸出過程無需對將待輸出畫面進行額外的數(shù)據(jù)中轉(zhuǎn)處理, 硬件性能要求低,顯示輸出效率高,低端PCI顯卡即可滿足需求,極大地降低了實現(xiàn)多屏輸出的成本,提高了飛騰處理器平臺在多屏輸出領(lǐng)域的核心競爭力。


圖I為本發(fā)明實施例的主要硬件框架結(jié)構(gòu)示意圖。圖2為本發(fā)明實施例的四顯示屏輸出原理結(jié)構(gòu)示意圖。圖3為本發(fā)明實施例初始化以及映射的詳細流程示意圖。圖4為本發(fā)明實施例幀緩沖與保留虛擬內(nèi)存空間的映射關(guān)系示意圖。
具體實施例方式如圖I所示,本實施例采用帶有雙CRTC控制器的兩個顯卡實現(xiàn)4顯示屏輸出,飛騰處理器平臺涉及顯示輸出的硬件結(jié)構(gòu)主要包括顯卡I、顯卡2、主橋和CPU,主橋和CPU相
4連,顯卡I、顯卡2分別與主橋相連,主橋用于實現(xiàn)硬件通信標準不同的CPU和顯卡之間信號的轉(zhuǎn)發(fā),顯卡I內(nèi)設(shè)有橋I,橋I用于轉(zhuǎn)發(fā)來自主橋?qū)︼@卡I的訪問,顯卡2內(nèi)設(shè)有橋2, 橋2用于轉(zhuǎn)發(fā)主橋?qū)︼@卡2的訪問。本實施例中,顯卡I和顯卡2均采用采用AMD HD4350 顯卡(顯示芯片型號是RV710),顯卡I和顯卡2均包含兩個CRTC控制器,每一個CRTC控制器的輸出分辨率為1024X768,其幀緩沖大小為3M,因此步驟2)中獲取4片CRTC控制器的緩沖幀空間總大小為12MB,向操作系統(tǒng)申請與緩沖幀空間總大小相同且連續(xù)分布的保留虛擬內(nèi)存空間的大小也為12MB。每個CRTC控制器可以掃描緩沖幀將掃描的數(shù)據(jù)輸出到一個顯示屏,從而通過顯卡I和顯卡2可實現(xiàn)四個顯示屏的輸出。本實施例的主橋芯片型號為 PXE 8664,CPU采用基于spare體系結(jié)構(gòu)的飛騰1000處理器,運行的操作系統(tǒng)為Iinux操作系統(tǒng)。本實施例基于飛騰處理器平臺的多顯示屏輸出方法的實施步驟如下
O安裝兩塊顯卡(此外也可以根據(jù)需要安裝一塊顯卡或者兩塊以上的顯卡);
2)在操作系統(tǒng)啟動時,依次初始化各顯卡及其CRTC控制器,獲取CRTC控制器的緩沖幀空間總大小,預(yù)留與緩沖幀空間總大小相同且連續(xù)分布的保留虛擬內(nèi)存空間,將各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立--映射;
3)在操作系統(tǒng)運行時,將待輸出畫面實時緩存至保留虛擬內(nèi)存空間中,CRTC控制器分別讀取其幀緩沖所映射虛擬內(nèi)存地址中存儲的待輸出畫面片段,并將待輸出畫面片段轉(zhuǎn)換成輸出信號輸出至顯示屏。如圖2所示,在操作系統(tǒng)運行時,將待輸出畫面實時緩存至保留虛擬內(nèi)存空間中, CRTC控制器分別讀取其幀緩沖所映射虛擬內(nèi)存地址中存儲的待輸出畫面片段,并將待輸出畫面片段轉(zhuǎn)換成輸出信號輸出至顯示屏,即顯卡I的第一 CRTC控制器(CRTCO)讀取第一個虛擬內(nèi)存地址段內(nèi)存儲的待輸出畫面片段,將其轉(zhuǎn)換成輸出信號輸出至顯示屏I ;顯卡I 的第二 CRTC控制器(CRTC1)讀取第二個虛擬內(nèi)存地址段內(nèi)存儲的待輸出畫面片段,將其轉(zhuǎn)換成輸出信號輸出至顯示屏2 ;顯卡2的第一 CRTC控制器(CRTCO)讀取第三個虛擬內(nèi)存地址段內(nèi)存儲的待輸出畫面片段,將其轉(zhuǎn)換成輸出信號輸出至顯示屏3 ;顯卡2的第二 CRTC 控制器(CRTCl)讀取第四個虛擬內(nèi)存地址段內(nèi)存儲的待輸出畫面片段,將其轉(zhuǎn)換成輸出信號輸出至顯示屏4,從而完成多顯示屏輸出。由于傳統(tǒng)的初始化各顯卡及其CRTC控制器時,并沒有考慮多顯卡的情況,都是直接將CPU到顯示器之間的所有橋路的VGA使能位都會被置I。這樣的初始化方法在對多個顯卡的初始化時會導(dǎo)致錯誤發(fā)生,無法實現(xiàn)對多個顯卡的及其CRTC控制器的初始化。而本實施例中,通過依次初始化各顯卡及其CRTC控制器,能夠有效實現(xiàn)多顯卡體系結(jié)構(gòu)下的顯卡及其CRTC控制器初始化。本實施例中初始化雙顯卡及其CRTC控制器的步驟包括步驟2)中初始化各顯卡及其CRTC控制器的步驟包括從第一片顯卡開始,首先關(guān)閉所有顯卡 VGA信號的傳遞,然后打開當前顯卡的VGA信號傳遞,運行當前顯卡的VIDEO BIOS初始化例程完成當前顯卡及其CRTC控制器的初始化,重復(fù)上述步驟直至完成所有顯卡及其CRTC控制器的初始化。本實施例中關(guān)閉所有顯卡VGA信號的傳遞是通過關(guān)閉所有橋上的VGA使能位來實現(xiàn)的,打開當前顯卡的VGA信號傳遞是通過查找當前顯卡的上級橋并打開當前顯卡所有上級橋上的VGA位來實現(xiàn)的。如圖3所示,本實施例步驟2)中依次初始化各顯卡及其CRTC控制器的步驟包括從第一片顯卡開始,首先關(guān)閉所有顯卡VGA信號的傳遞,然后打開當前顯卡的VGA信號傳遞,運行當前顯卡的VIDEO BIOS初始化例程完成當前顯卡及其CRTC控制器的初始化,重復(fù)上述步驟直至完成所有顯卡及其CRTC控制器的初始化。本實施例中上述初始化的具體步驟為
a)初始化顯卡1,首先將主橋、橋I和橋2的VGA使能位(VGA使能位一般位于橋PCI配置空間BRIDGE CONTROL字段,其偏移為0x3E,橋PCI配置空間是一個軟件接口標準,定義了用于配置該橋的接口,橋芯片都滿足該標準)全部置為0,關(guān)閉所有顯卡VGA信號的傳遞。 然后將主橋、橋I的VGA使能位置為1,打開顯卡I的VGA信號傳遞,運行顯卡I的VIDEO BIOS初始化例程完成顯卡I及其CRTC控制器的初始化。b)初始化顯卡2,首先將主橋、橋I和橋2的VGA使能位全部置為0,關(guān)閉所有顯卡 VGA信號的傳遞。然后將主橋、橋2的VGA使能位置為I,打開顯卡2的VGA信號傳遞,運行顯卡2的VIDEO BIOS初始化例程完成顯卡I及其CRTC控制器的初始化。本實施例步驟2)中將各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射的步驟包括:A)選定一個幀緩沖作為當前幀緩沖,將保留虛擬內(nèi)存空間的起始地址作為當前地址;B)從當前地址開始獲取一段與當前幀緩沖大小相同的地址空間,修改地址空間中各個地址對應(yīng)的頁表項,使得頁表項依次指向當前幀緩沖的各個頁, 完成當前幀緩沖的映射;C)將下一個幀緩沖作為當前幀緩沖,設(shè)置與地址空間相鄰的下一個地址作為當前地址,重復(fù)步驟B)直至完成所有幀緩沖的映射。其中,各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址的映射次序直接影響到各個待輸出畫面片段之間的排列關(guān)系,因此可以根據(jù)所需要的各個待輸出畫面片段之間的排列關(guān)系來決定各 CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址建議映射的次序。如圖3所示,本實施例步驟2)的具體步驟包括
I )計算4片幀緩沖的總大小(12MB),申請12MB虛擬內(nèi)存空間作為保留虛擬內(nèi)存空間。II)初始化 i=0。III)首先根據(jù)vaddr_base*(i*framebuffer_size)獲取第i片巾貞緩沖的待映射虛擬內(nèi)存地址,其中,vaddr_base表示要映射到的虛擬地址基地址,framebuffer_size表示當前分辨率下幀緩沖的大??;然后修改對應(yīng)虛擬地址連續(xù)頁表項(虛擬地址連續(xù)頁表項,虛擬地址的映射都是由頁表控制,要修改連續(xù)虛擬的映射即修改對應(yīng)的連續(xù)的頁表項),完整映射第i片幀緩沖,然后繼續(xù)執(zhí)行步驟IV)。IV)遞增游標變量i,判斷游標變量i是否小于4,如果i小于4則跳到步驟III)繼續(xù)執(zhí)行,如果i等于4則結(jié)束映射過程。如圖4所示,步驟2)的映射完成后,將兩塊顯卡上4片幀緩沖,映射進X server 的進程空間成一片幀緩沖,各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址呈一一映射關(guān)系,即顯卡I的第一 CRTC控制器(CRTCO)映射保留虛擬內(nèi)存空間內(nèi)的第一個虛擬內(nèi)存地址段;顯卡I的第二 CRTC控制器(CRTCl)映射保留虛擬內(nèi)存空間內(nèi)的第二個虛擬內(nèi)存地址段;顯卡2的第一 CRTC控制器(CRTCO)映射保留虛擬內(nèi)存空間內(nèi)的第三個虛擬內(nèi)存地址段;顯卡2的第二 CRTC控制器(CRTCl)映射保留虛擬內(nèi)存空間內(nèi)的第四個虛擬內(nèi)存地址段;第一個虛擬內(nèi)存地址段、第二個虛擬內(nèi)存地址段、第三個虛擬內(nèi)存地址段、 第四個虛擬內(nèi)存地址段在保留虛擬內(nèi)存空間內(nèi)依次連續(xù)分布。
以上僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例, 凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護范圍。應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種基于飛騰處理器平臺的多顯示屏輸出方法,其特征在于其實施步驟如下1)安裝至少兩塊顯卡;2)在操作系統(tǒng)啟動時,依次初始化各顯卡及其CRTC控制器,獲取所有CRTC控制器的緩沖幀空間總大小,預(yù)留與所述緩沖幀空間總大小相同且連續(xù)分布的保留虛擬內(nèi)存空間,將所述各CRTC控制器的幀緩沖與所述保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射;3)在操作系統(tǒng)運行時,將待輸出畫面實時緩存至所述保留虛擬內(nèi)存空間中,所述CRTC 控制器分別讀取其幀緩沖所映射虛擬內(nèi)存地址中存儲的待輸出畫面片段,并將所述待輸出畫面片段轉(zhuǎn)換成輸出信號輸出至顯示屏。
2.根據(jù)權(quán)利要求I所述的基于飛騰處理器平臺的多顯示屏輸出方法,其特征在于,所述步驟2)中依次初始化各顯卡及其CRTC控制器的步驟包括從第一片顯卡開始,首先關(guān)閉所有顯卡VGA信號的傳遞,然后打開當前顯卡的VGA信號傳遞,運行當前顯卡的VIDEO BIOS 初始化例程完成當前顯卡及其CRTC控制器的初始化,重復(fù)上述步驟直至完成所有顯卡及其CRTC控制器的初始化。
3.根據(jù)權(quán)利要求I或2所述的基于飛騰處理器平臺的多顯示屏輸出方法,其特征在于, 所述步驟2)中將各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射的步驟包括:A)選定一個幀緩沖作為當前幀緩沖,將保留虛擬內(nèi)存空間的起始地址作為當前地址;B)從所述當前地址開始獲取一段與所述當前幀緩沖大小相同的地址空間,修改所述地址空間中各個地址對應(yīng)的頁表項,使得所述頁表項依次指向所述當前幀緩沖的各個頁,完成當前幀緩沖的映射;C)將下一個幀緩沖作為當前幀緩沖,設(shè)置與所述地址空間相鄰的下一個地址作為當前地址,重復(fù)步驟B)直至完成所有幀緩沖的映射。
全文摘要
本發(fā)明公開了一種基于飛騰處理器平臺的多顯示屏輸出方法,其實施步驟如下1)安裝至少兩塊顯卡;2)在操作系統(tǒng)啟動時依次初始化各顯卡及其CRTC控制器,獲取所有CRTC控制器的緩沖幀空間總大小,預(yù)留與緩沖幀空間總大小相同的保留虛擬內(nèi)存空間,將各CRTC控制器的幀緩沖與保留虛擬內(nèi)存空間內(nèi)的虛擬內(nèi)存地址依次建立一一映射;3)在操作系統(tǒng)運行時將待輸出畫面實時緩存至所述保留虛擬內(nèi)存空間中,CRTC控制器分別讀取其幀緩沖所映射虛擬內(nèi)存地址中存儲的待輸出畫面片段,并將所述待輸出畫面片段轉(zhuǎn)換成輸出信號輸出至顯示屏。本發(fā)明無需修改現(xiàn)有顯卡硬件,具有顯卡兼容性好、硬件性能要求低、顯示輸出效率高、實施成本低的優(yōu)點。
文檔編號G06F3/14GK102609231SQ201210040519
公開日2012年7月25日 申請日期2012年2月22日 優(yōu)先權(quán)日2012年2月22日
發(fā)明者吳慶波, 周劍, 孔金珠, 孫立明, 張鐸, 戴華東, 肖斂濤, 邵立松 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1