專利名稱:支持嵌入式與外加式繪圖加速裝置協(xié)作的裝置和方法
技術領域:
本發(fā)明系關于一計算機系統(tǒng)中繪圖處理的裝置與方法,尤指支持嵌入式與外加式繪圖加速器協(xié)作的裝置與其方法。
計算機因計算機繪圖顯示的出現(xiàn)而在很多活動中變的更加有用,計算機繪圖顯示使表現(xiàn)不再只是數(shù)字與文本數(shù)據,而是代表那些數(shù)字含意與增加文本數(shù)據意義的圖片與圖像。如
圖1所示,以往在一計算機系統(tǒng)中,繪圖工作習慣上會從一中央處理器(CPU)14通過一芯片組12與加速圖形端口(Accelerated Graphics Port簡稱AGP)或外設部件互連端口(Peripheral Component Interconnect簡稱PCI)總線13被送到一繪圖加速器11。此繪圖架構減少了中央處理器14中處理資源(processing recourse)的過載,中央處理器可以更專注于繪制圖形外的其它事務。在繪圖加速器11處理完圖像的圖元(primitives,包含變換《transformation》、不同圖原屬性《attributes》的計算梯度、明暗分布計算《lighting calculation》、剪輯計算《clipping calculation》與平面方程式計算《plane equationcalculation》)后,一局部內存(local memory)將會協(xié)助圖元的紋理映像(texture mapping)。最后,繪圖加速器11藉助為每一像素計算出適當值而實現(xiàn)一點陣化功能(rasterization function),其中每一像素代表圖元。接著每一像素被提取出來并一個一個顯示在顯示器屏幕上。
不過因為半導體制造科技的進展,繪圖加速器11嵌入芯片組12內成為一集成的芯片21、以及局部內存15結合在傳統(tǒng)系統(tǒng)內存22已成為趨勢。這種集成內存結構通常被稱為一體化內存構造(unified memory architecture簡稱UMA)。因此,繪圖工作會被直接送到集成芯片21,如圖2所示,而集成芯片21會跟前述繪圖加速器11一樣處理繪圖的圖元并映像圖元的紋理。這種結合大大地減低了一計算機系統(tǒng)的成本,同時也滿足了一般使用者的需求,因為一般使用者不必花多余的錢去購置包含一外加式繪圖加速器的一繪圖卡。
然而,集成芯片21中的嵌入式繪圖加速器211,其效率不如現(xiàn)在可買到的通常承載與封裝在一繪圖卡上的繪圖加速器。況且這種結合對想要目前最進步(the state of the art)之繪圖加速器而言并不合理也無法接受。目前最進步的繪圖加速器可以輕易處理三維(3D)圖片且可以玩三維游戲。因此,急切的使用者常會購買另一繪圖卡30加到其計算機中,繪圖卡30上有外加式目前最進步的一繪圖加速器31,以使繪圖加速功能更加強大。在這樣狀況下之計算機結構如第三圖所示。這種狀況下,一定要使位于集成芯片21上的嵌入式繪圖加速器211被禁止(disabled),以避免其與封裝在繪圖卡30上之外加式繪圖加速器31產生干擾。這么一來嵌入式繪圖加速器211就被浪費掉了。因此,有外加式繪圖加速器31與集成芯片21中之嵌入式繪圖加速器211合作的需要。藉助支持這合作可導致更佳的效能。
本發(fā)明的目的是提供一種支持嵌入式與外加式繪圖加速器合作的裝置,藉助此裝置所繪之幀即畫面,依比例被劃分并根據主從繪圖加速器的效能被送到此兩繪圖加速器中。
本發(fā)明的另一目的是嵌入式繪圖加速器所繪的圖面幀將會被送到外加式繪圖加速器。此外加式繪圖加速器輸出嵌入式繪圖加速器與外加式繪圖加速器所繪的圖面幀到顯示器屏幕。
在本發(fā)明中,在一計算機系統(tǒng)中,一種支持一從繪圖加速器與一主繪圖加速器合作的裝置,以進行繪圖工作,此裝置包含分配裝置,該分配裝置根據此兩繪圖加速器的效能依比例分配幀的第一部份到從繪圖加速器并分配幀的第二部分幀到主繪圖加速器;交互裝置,該交互裝置連結到從繪圖加速器與主繪圖加速器,使兩加速器之間交換信號以便將從繪圖加速器完成的幀的第一部分,移動到主繪圖加速器;藉此,主繪圖加速器將主繪圖加速器繪制的幀第二部分與從繪圖加速器繪制的幀第一部分予以翻轉。從繪圖加速器可能是嵌入式繪圖加速器而主繪圖加速器可以是外加式繪圖加速器,反之亦可。
本發(fā)明也包含在一計算機系統(tǒng)中支持一嵌入式繪圖加速器與一外加式繪圖加速器合作的一方法,以進行繪圖工作。此方法可以根據嵌入式與外加式繪圖加速器之效能,依比例分配幀到此兩繪圖加速器。如此一來整體繪制幀的繪圖效率可藉此兩繪圖加速器同時運作之助而提升。此方法給予各加速器不同組的指令。提出兩加速器之間的作信號交換協(xié)議(handshaking protocol)。此信號交換協(xié)議提供信息以移動一嵌入式加速器所繪的一幀到外加式加速器控制的圖面幀緩沖器(frame buffer)。在此方法中,外加式與嵌入式加速器只需要很少一點額外的電路。
本發(fā)明附加的目的與優(yōu)點會在后面的敘述中提出,而這些附加的目的與優(yōu)點在某種程度上會在敘述中顯而易見,或可在實施本發(fā)明時學到。本發(fā)明的目的與優(yōu)點可藉由所附申請權利要求中特別指明的手段與組合而理解與獲得。
圖1表示一具有芯片組與一AGP或PCI繪圖加速器的傳統(tǒng)繪圖系統(tǒng)的方框圖;圖2表示一繪圖系統(tǒng)的一方框圖,此繪圖系統(tǒng)有一集成芯片而集成芯片包含一嵌入式繪圖加速器;圖3表示一繪圖系統(tǒng)的一方框圖,此繪圖系統(tǒng)有一集成芯片,集成芯片包含一嵌入式繪圖加速器與一外加式AGP或PCI繪圖加速器;圖4表示一裝置之方框圖,此裝置在本發(fā)明中繪制幀的一計算機系統(tǒng)內支持一從繪圖加速器與一主繪圖加速器之合作;圖5表示在傳統(tǒng)繪圖加速器中指令分析匡(command parser)的方框圖;圖6表示本發(fā)明中提供之裝置與兩繪圖加速器合作的方框圖。
請參看圖4,圖4表示一裝置40的方塊圖,在本發(fā)明中裝置40于一計算機系統(tǒng)內,支持一從繪圖加速器41與一主繪圖加速器42之合作,以進行繪圖工作。該繪圖工作包含一系列幀(a sequenceof frames)。裝置40包含一分配裝置401與一交互裝置402。分配裝置401根據此兩繪圖加速器之效能,依比例分配一第一部份繪圖工作到從繪圖加速器41,并分配一第二部分繪圖工作到主繪圖加速器42。第一部分與第二部分繪圖工作可從此系列幀,按幀或部分幀(例如四分之一幀)加以劃分。另一方面,分別連接到從繪圖加速器41與主繪圖加速器42的交互裝置402讓此兩繪圖加速器作信號交換,以使繪圖加速器繪制的第一部份繪圖工作移到主繪圖加速器。主繪圖加速器將主繪圖加速器繪制的第二部分繪圖工作與從繪圖加速器繪制的第一部分繪圖工作予以翻轉。每一個第一部分與第二部分繪圖工作的像素都會顯示在顯示器屏幕上。在本發(fā)明中,因為從與主繪圖加速器一同運作以繪制并處理繪圖工作,繪圖的整體效率得到提升。
為了檢測從與主繪圖加速器的效能,裝置進一步包含一測量裝置403。測量裝置403能檢測從繪圖加速器41與主繪圖加速器42之效能,并傳送此兩繪圖加速器之效能到分配裝置401,以使分配裝置401能根據此兩繪圖加速器之效能,依比例分配一第一部份繪圖工作到從繪圖加速器41,并分配一第二部分繪圖工作到主繪圖加速器42。
從繪圖加速器41可以是位于集成芯片內的嵌入式繪圖加速器,而主繪圖加速器會是在繪圖卡中外加式繪圖加速器,反之亦可。
眾所周知可以藉由繪圖加速器處理圖面幀的速度而測量每一個繪圖加速器的效能。因此,測量裝置403能作聯(lián)機(on-line)檢測從繪圖加速器與主繪圖加速器的效能。另一方面,如果我們可以得到每個繪圖加速器的規(guī)格,此測量裝置也可以藉助參考此兩繪圖加速器的規(guī)格來檢測從繪圖加速器與主繪圖加速器的效能。
當一外加式繪圖加速器(主)加到一有一嵌入式繪圖加速器(從)的一計算機系統(tǒng)中,可以定義如下的三種模式1.雙監(jiān)視器模式(Dual Monitor Mode)有兩個監(jiān)視器,一個加速器針對一個監(jiān)視器。
2.加入模式(Add-in Mode)使從繪圖加速器被禁止(disabled)。
3.引擎加速模式(Engine Acceleration Mode)主與從繪圖加速器合作以在監(jiān)視器中繪制幀。
在雙監(jiān)視器模式中,主與從繪圖加速器的工況除了從繪圖加速器在加入模式中被禁止外,都跟一獨立(stand-alone)繪圖加速器一樣。在此,一獨立繪圖加速器是指一被設計成可獨立運作的一繪圖加速器。一獨立繪圖加速器50的一指令分析匡501如圖5所示,指令分析匡501通常包含一隊列控制器(queue controller)51、一硬件隊列(hardware queue)52、一指令譯碼器(command decorder)53、為獨立加速器中二維引擎(2D engine)502所設之二維先進先出緩沖器(2D FIFO buffer)54、為獨立加速器中三維引擎(3Dengine)503所設之三維先進先出緩沖器(3D FIFO buffer)55,為獨立加速器中一陰極射線管控制器(CRT controller)504所設之一翻轉先進現(xiàn)出緩沖器(flip FIFO buffr)56、以及連接在翻轉先進先出緩沖器56的一翻轉控制器57。
在引擎加速器模式中,如果指定在繪圖卡中之外加式繪圖加速器為主繪圖加速器,則儲存幀數(shù)據的緩沖器506位于一局部內存505中,如圖5所示。它們貯存一計算機屏幕的顯示數(shù)據。主繪圖加速器可以控制它們。如果幀緩沖器的數(shù)據已經顯示在屏幕上了,幀緩沖器506就可重復使用且可存取(accessible)。交互裝置402用AGP與PCI總線的兩腳,使主繪圖加速器與繪圖加速器作信號交換,如圖6所示。在此,三個翻轉指令(flipping command)與兩個位塊轉移(bit block transfer簡稱BitBlt)指令定義如下●N_Flipping(normal flipping)本指令是一主繪圖加速器所繪一畫面的翻轉指令,只下到主繪圖加速器。
●S_Flipping(slave flipping)本指令是一從繪圖加速器所繪一畫面的翻轉指令,只下到從繪圖加速器。
●M_Flipping(master flippping)本指令是一從繪圖加速器所繪一幀的翻轉指令。它保持與M_BitBlt一致并且只下到主繪圖加速器。
●N_BitBlt(normal BitBlt)●M_BitBlt(master BitBlt)本指令是用來移動從繪圖加速器繪制的幀到主繪圖加速器的幀緩沖器,只下到主繪圖加速器。
分配裝置401根據從繪圖加速器41與主繪圖加速器42的效能,分配依幀或部分幀分割繪圖。舉例來說,如果從繪圖加速器41的效能與主繪圖加速器42的效能一樣,包含幀A、幀B、幀C與幀D的一系列幀會被分割成兩部分。包含幀A與幀C的一第一部份幀會被送到主繪圖加速器去做繪圖,而包含幀B與幀D的一第二部分幀會被送到從繪圖加速器去做繪圖。接著主繪圖加速器(42)中的指令隊列會是{Draw_A,N_Flipping,M_BitBlt,M_Flipping,Draw_C,N_Flipping,M_BitBlt,M_Flipping}而在從繪圖加速器41中的指令隊列會是{Draw_B,S_Fliping,Draw_C,S_Flipping},其中Draw_A、Draw_B、Draw_C、以及Draw_D示一般常見之使主與從繪圖加速器繪制幀A、幀B、幀C與幀D的指令。指令{Draw_A,N_Flipping,M_BitBlt,M_Fliping}在主繪圖加速器42中執(zhí)行如下。依據指令Draw_A,主繪圖加速器開始在局部內存505中的可存取幀緩沖器506中繪制幀A。當主繪圖加速器畫完幀A,依據N_Flipping,一翻轉指令被送到翻轉先進先出緩沖器56F。陰極射線管控制器504可讀取翻轉先進先出緩沖器56以決定下一個要顯示哪一個幀緩沖器506。如果幀緩沖器之一仍可存取,主繪圖加速器42會接著處理下一個指令。否則主繪圖加速器42會停止直到主繪圖加速器的幀緩沖器506之一可被存取。此外,在被陰極射線管控制器504翻轉后,幀緩沖器506是可存取的。
指令M_BitBlt在主繪圖加速器器42的二維引擎502中執(zhí)行。為了使從與主繪圖加速器作信號交換,交互裝置402能使用API或PCI總線的兩腳,一個是一Frame_Ready信號61而另一個是一BitBlt_end信號62。如果Frame_Ready信號61等于1,主繪圖加速器42中的二維引擎502會將一從繪圖加速器41所繪制的一幀移到主繪圖加速器42中的可存取的幀緩沖器506中。接著在一個時鐘周期(clock cycle)中,BitBlt_end的信號62被設為1以告知從繪圖加速器41。依據M_Flipping,主繪圖加速器42送一翻轉指令到翻轉先進先出緩沖器56,然后繼續(xù)執(zhí)行下一指令。否則,主繪圖加速器會停下來直到幀緩沖器506可被存取。因為M_BitBlt是一二維信號,它可以獨立于三維引擎外執(zhí)行。指令{Draw_C,N_Flipping,M_BitBlt,M_Flipping}在主繪圖加速器42中如指令{Draw_A,N_Flipping,M_BitBlt,M_Flipping}一般執(zhí)行。
指令{Draw_B,S_Flipping}執(zhí)行如下。依據指令Draw_B,從繪圖加速器41開始在系統(tǒng)內存63內一可存取的幀緩沖器631中繪圖。完成繪圖工作后,一翻轉指令被送到從繪圖加速器41中的翻轉先進先出緩沖器56而Frame_Ready信號61會依據指令S_Flipping被設為1。系統(tǒng)內存63中的幀緩沖器631會變成只讀的(read only)。在BitBlt end信號62被主繪圖加速器42設為1后,F(xiàn)rame_Ready信號61被從繪圖加速器41清除為0而幀緩沖器631會再次變?yōu)榭纱嫒 V噶顊Draw_D,S_Flipping}在從繪圖加速器41中如指令{Draw_B,S_Flipping}一般執(zhí)行。
本發(fā)明也揭露了一種在一計算機系統(tǒng)中支持一從繪圖加速器與一主繪圖加速器合作的方法,以進行繪圖工作。此繪圖包括一系列幀,此方法包含下列步驟A)決定從繪圖加速器與主繪圖加速器的效能;B)根據此兩繪圖加速器的效能,分配一第一部分繪圖工作到從繪圖加速器,并分配一第二部分繪圖工作到主繪圖加速器;C)此兩繪圖加速器作信號交換以將從繪圖加速器所繪之繪圖的第一部份轉移到主繪圖加速器;D)在主繪圖加速器中,依系列幀的順序,將主繪圖加速器繪制的第二部分繪圖工作,以及由從繪圖加速器繪制的第一部分繪圖工作予以翻轉。
在前述的方法中,第一與第二繪圖可從系列幀依幀或部分幀(例如四分之一幀)分割。在步驟(A)中此兩加速器的效能可由聯(lián)機檢測或參考此兩加速器的規(guī)格來決定。此外,步驟(B)的兩繪圖加速器的作信號交換可以使用API與PCI總線的兩腳,一個是Frame_Ready信號而另一個是BitBlt_end信號。其中API與PCI總線分別連接到從繪圖加速器與主繪圖加速器。如果從繪圖加速器41已完成幀繪制,F(xiàn)rame_Ready信號被設為1。一旦Frame_Ready等于1,主繪圖加速器42會將一從繪圖加速器中所繪的一幀移到主繪圖加速器42中的可存取幀緩沖器。然后BitBlt_end信號在一時鐘周期中被設為1以告知從繪圖加速器41。在BitBlt_end信號被主繪圖加速器42設為1后,F(xiàn)rame_Ready信號1被從繪圖加速器41清除為0。因此,此兩繪圖加速器的作信號交換能成功操作。
綜觀以上,本發(fā)明提供了一種裝置與一種方法,此種方法與裝置支持從與主繪圖加速器之合作,藉此繪圖工作可根據此兩繪圖加速器的效能,依比例分割并被送到從與主繪圖加速器。從繪圖加速器所繪部分的繪圖工作會再被送到主繪圖加速器。主繪圖加速器輸出分別由從與主繪圖加速器所繪的繪圖部分到顯示器屏幕上。因此,支持此合作能導致較好的效能且?guī)L制的效率藉由此兩繪圖加速器同時運操作之助而提升。
盡管本發(fā)明是以現(xiàn)在被認為最實在與較好的實施例來加以敘述,本發(fā)明將不會被所揭示的實施例所限制。本發(fā)明希望能涵蓋了在所附專利權利要求之精神與范圍內各種修改與同等配置。
權利要求
1.一種繪圖處理裝置(graphics processing apparatus),該繪圖處理裝置支持一計算機系統(tǒng)(computer system)內一從繪圖加速器(slave graphics accelerator)與一主繪圖加速器(master graphicsaccelerator)兩者間之合作,以進行繪圖工作,該繪圖工作包含一系列幀(a sequence of frames),該從繪圖加速器是在集成芯片(integrated chip)中的一嵌入式繪圖加速器(embedded graphicsaccelerator),該從繪圖加速器包含一第一效能值(first value ofperformance),該主繪圖加速器是在一繪圖卡(graphics card)中之一外加式的繪圖加速器,該主圖像加速器包含一第二效能值,其特征是所述繪圖處理裝置包含分配裝置(distributing means),根據該第一與第二效能值,此分配裝置把第一部分繪圖工作與一第二部分繪圖工作,分別分配給該從繪圖加速器與該主繪圖加速器;交互裝置(interacting means),此交互裝置分別連結于該從繪圖加速器與該主繪圖加速器,以便使該從繪圖加速器與該主繪圖加速器作作信號交換(handshake),讓該從繪圖加速器繪制的第一部分繪圖工作轉移到該主繪圖加速器。
2.按照權利要求1所述之繪圖處理裝置,其中該主繪圖加速器,依該系列幀的順序,將該主繪圖加速器繪制之第二部分繪圖工作與該從繪圖加速器繪制之第一部分繪圖工作予以翻轉(flip)。
3.按照權利要求2所述之繪圖處理裝置,進一步包含測量裝置(measuring means),該測量裝置檢測該第一與第二效能值并傳送該第一與第二效能值到該分配裝置。
4.按照權利要求3所述之繪圖處理裝置,該測量裝置聯(lián)機(on-line)檢測該第一與第二效能值。
5.按照權利要求3所述之繪圖處理裝置,其中該測量裝置參照該主繪圖加速器與從繪圖加速器之規(guī)格,以檢測該第一與第二效能值。
6.按照權利要求3所述之繪圖處理裝置,其中該交互裝置利用一PCI總線的兩插腳(two pins of a PCI bus),使該主繪圖加速器與該從繪圖加速器作作信號交換。
7.按照權利要求6所述之繪圖處理裝置,其中該兩插腳包含該PCI總線中的「Frame_Ready」信號與「BitBlt_end」信號。
8.按照權利要求3所述之繪圖處理裝置,其中該交互裝置利用一AGP總線的兩插腳(two pins ofAGP bus),使該主繪圖加速器與該從繪圖加速器作信號交換。
9.按照權利要求8所述之繪圖處理裝置,其中該兩插腳包含在該AGP總線中的「Frame_Ready」信號與「BitBlt_end」信號。
10.按照權利要求3所述之繪圖處理裝置,其中該第一部分繪圖工作與第二部分繪圖工作系從該系列幀中依幀加以劃分。
11.按照權利要求3所述之繪圖處理裝置,其中該第一部分繪圖工作與第二部分繪圖工作系從該系列幀中依部分幀(partial frame)加以劃分。
12.一種支持一計算機系統(tǒng)內一從繪圖加速器與一主繪圖加速器兩者間之合作以進行繪圖工作的方法,該從繪圖加速器是一在集成芯片中的嵌入式繪圖加速器,該從繪圖加速器包含一第一效能值,該主繪圖加速器系一繪圖卡中之一外加式的繪圖加速器,其包含一第二效能值,該繪圖工作包含一系列幀,其特征是所述方法包含以下步驟(A)決定該第一與第二效能值;(B)根據該第一與第二效能值,分配一第一部分繪圖工作到該從繪圖加速器并且分配一第二部分繪圖工作到該主繪圖加速器;(C)使該從繪圖加速器與主繪圖加速器作信號交換,以將由該從繪圖加速器繪制之該第一部分繪圖工作轉移到該主繪圖加速器;(D)依該系列幀的順序,將該主繪圖加速器繪制的該第二部分繪圖工作與由該從繪圖加速器繪制的該第一部分繪圖工作加以翻轉。
13.按照權利要求12所述之方法,其中步驟(A)中是以聯(lián)機檢測決定該第一與第二效能值。
14.按照權利要求12所述之方法,其中步驟(A)中系參照該主與從繪圖加速器之規(guī)格決定該第一與第二效能值。
15.按照權利要求12所述之方法,其中步驟(C)中使用連結在該從繪圖加速器與該主繪圖加速器的PCI總線的兩插腳,使該主與從繪圖加速器作信號交換。
16.按照權利要求15所述之方法,其中該兩插腳包含該PCI總線中的「Frame_Ready」信號與「BitBlt_end」信號。
17.按照權利要求12所述之方法,其中步驟(C)中使用連結在該從繪圖加速器與該主繪圖加速器的AGP總線之兩插腳,使該主與從繪圖加速器作信號交換。
18.按照權利要求17所述之方法,其中該兩插腳包含在該AGP總線中的「Frame_Ready」信號與「BitBlt_end」信號。
19.按照權利要求12所述之方法,其中該第一部分繪圖工作與第二部分繪圖工作系從該系列幀中依幀加以劃分。
20.按照權利要求12所述之方法,其中該第一部分繪圖工作與第二部分繪圖工作系從該系列幀中依部分幀加以劃分。
全文摘要
本發(fā)明提供支持主與從繪圖加速器合作的一裝置與一方法,此裝置包含:分配裝置(distributing means),此分配裝置把第一部分幀與一第二部分幀,根據此兩繪圖加速器之效能,分別分配給該從繪圖加速器與該主繪圖加速器;交互裝置(interacting means),此交互裝置分別連結于該從繪圖加速器與該主繪圖加速器,以便使該從繪圖加速器與該主繪圖加速器作信號交換(handshake),讓該從繪圖加速器繪制的第一部分幀轉移到該主繪圖加速器。
文檔編號G06F12/00GK1330350SQ0110950
公開日2002年1月9日 申請日期2001年3月28日 優(yōu)先權日2000年6月16日
發(fā)明者蕭見忠, 黃鴻儒, 涂俊安, 白宏達 申請人:矽統(tǒng)科技股份有限公司