專(zhuān)利名稱(chēng):圖形處理裝置及芯片的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及圖形處理,特別涉及一種圖形處理裝置及芯片。
技術(shù)背景 現(xiàn)在的用戶對(duì)計(jì)算機(jī)應(yīng)用程序的視覺(jué)效果要求越來(lái)越高,尤其是游戲類(lèi)應(yīng)用程序,常需要描繪復(fù)雜且精美的圖形,僅一個(gè)場(chǎng)景往往就涉及大量的圖形。這勢(shì)必帶來(lái)大量不間斷的圖形運(yùn)算,相應(yīng)地,對(duì)圖形處理芯片的運(yùn)算能力也要求越來(lái)越高?,F(xiàn)有技術(shù)中使用圖元作為圖形繪制的基本單位。每個(gè)圖元包含一個(gè)或多個(gè)頂點(diǎn)。比如一個(gè)點(diǎn)的圖元就是一個(gè)頂點(diǎn),一條線段的圖元包含兩個(gè)頂點(diǎn),一個(gè)三角形的圖元包含三個(gè)頂點(diǎn),一個(gè)四邊形的圖元包含四個(gè)頂點(diǎn),以此類(lèi)推。圖元可由繪圖應(yīng)用接口(Application Programming Interface,API)標(biāo)準(zhǔn)定義。常用的繪圖應(yīng)用接口有開(kāi)放式繪圖函數(shù)庫(kù)(Open Graphics Library, OpenGL)、Direct 3D (D3D)等。OpenGL 是一個(gè)跨編程語(yǔ)言、跨平臺(tái)的編程接口,可獨(dú)立于窗口系統(tǒng)和操作系統(tǒng)開(kāi)發(fā)二維/三維的計(jì)算機(jī)繪圖應(yīng)用程序,以它為基礎(chǔ)開(kāi)發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植。D3D是微軟公司的標(biāo)準(zhǔn),可與不同的微軟系統(tǒng)配合進(jìn)行二維/三維的圖形處理。任意一個(gè)復(fù)雜的圖形都能被拆分成多個(gè)相對(duì)簡(jiǎn)單的圖元。比如一個(gè)人的圖形可以被拆成一個(gè)圓形代表頭,一個(gè)大矩形代表軀干,四個(gè)小矩形代表四肢,其中圓形又是由無(wú)數(shù)個(gè)三角形圖元組合而成的。為了方便繪制,會(huì)把一個(gè)復(fù)雜的圖形盡量拆分成簡(jiǎn)單圖元,比如三角形、四邊形等。繪制一個(gè)圖形,就是把組成該圖形的各個(gè)圖元繪制出來(lái)。這些圖元的信息存儲(chǔ)在內(nèi)存(例如,DDR類(lèi)型的內(nèi)存)中。這些圖元信息首先包括一張含全部頂點(diǎn)的索引表,該索引表給出各頂點(diǎn)對(duì)應(yīng)數(shù)據(jù)的實(shí)際物理存儲(chǔ)地址。其次包括各頂點(diǎn)的數(shù)據(jù),另外還會(huì)給出圖元信息表,表明每個(gè)圖元是由哪幾個(gè)頂點(diǎn)組成的。繪制圖元的過(guò)程就是根據(jù)組成該圖元的頂點(diǎn)索引信息,按其實(shí)際物理存儲(chǔ)地址,到內(nèi)存中讀取相應(yīng)的頂點(diǎn)數(shù)據(jù)進(jìn)行圖形繪制。由于內(nèi)存讀取速度的局限性,現(xiàn)有的3D圖形芯片設(shè)計(jì)中,均采用頂點(diǎn)高速緩存的方式讀取頂點(diǎn)數(shù)據(jù),此技術(shù)被廣泛應(yīng)用。該技術(shù)把最近使用的頂點(diǎn)數(shù)據(jù)存放在一個(gè)高速緩沖存儲(chǔ)器(Cache )中。高速緩沖存儲(chǔ)器容量比內(nèi)存小得多,僅能存儲(chǔ)有限的數(shù)據(jù),但其讀取速度也同樣比內(nèi)存迅速許多,常用于存儲(chǔ)在下一步很可能為處理器所用的數(shù)據(jù)?;趫D形程序中頂點(diǎn)的空間局部性和時(shí)間局部性原理,讀取前后的兩個(gè)圖元常會(huì)有共用的頂點(diǎn),將這樣的頂點(diǎn)加入高速緩存中,能加快下次讀取相同頂點(diǎn)數(shù)據(jù)的時(shí)間。由于高速緩存的容量有限,無(wú)法存儲(chǔ)所有的頂點(diǎn)數(shù)據(jù),在高速緩存已滿時(shí),需按一定策略進(jìn)行數(shù)據(jù)替換。所以,需要設(shè)置標(biāo)示(Tag),以表明該頂點(diǎn)是否在高速緩存中。每當(dāng)讀取一個(gè)新的圖元,需要把圖元所屬的頂點(diǎn)索引與高速緩存中的標(biāo)示(Tag)做比較,如果相同則表示命中,該頂點(diǎn)數(shù)據(jù)在高速緩存中,可直接讀取高速緩存。否則表示缺失,需要從片外的內(nèi)存中取進(jìn)缺失的頂點(diǎn),替換掉高速緩存中的頂點(diǎn),之后再讀取高速緩存。比如某內(nèi)存的容量可存儲(chǔ)1024個(gè)頂點(diǎn)的數(shù)據(jù),則每個(gè)頂點(diǎn)需要用10個(gè)比特表示(因2^=1024)0高速緩存的容量可存儲(chǔ)8個(gè)頂點(diǎn)的數(shù)據(jù),則每個(gè)頂點(diǎn)僅需要用3個(gè)比特即可表示(因23=8),通常是用最低的3位表示。即頂點(diǎn)O在內(nèi)存中表示為0000000000,在高速緩存中表示為最低的3位000。頂點(diǎn)I在內(nèi)存中表示為0000000001,在高速緩存中表示為
001。頂點(diǎn)7在內(nèi)存中表示為0000000111,在高速緩存中 表示為111。問(wèn)題是,頂點(diǎn)8在內(nèi)存中表示為0000001000,而在高速緩存中用最低的3位表示也同樣為000。此時(shí),將無(wú)法區(qū)分該頂點(diǎn)到底是表示頂點(diǎn)O,還是頂點(diǎn)8。所以,需要為各頂點(diǎn)設(shè)置標(biāo)示(Tag),用來(lái)保存各頂點(diǎn)的高位。即頂點(diǎn)O的Tag為0000000,而頂點(diǎn)8的Tag為0000001。通過(guò)比較Tag值,能確定某頂點(diǎn)是否已在高速緩存中。所以高速緩存中除了要保存頂點(diǎn)數(shù)據(jù)外,還要保存頂點(diǎn)的標(biāo)示(Tag),占用高速緩存的存儲(chǔ)空間,同時(shí)還要增加大量控制邏輯,增加了芯片設(shè)計(jì)復(fù)雜度、芯片面積和芯片功耗。
實(shí)用新型內(nèi)容本實(shí)用新型所要解決的技術(shù)問(wèn)題是提供一種圖形處理裝置及芯片,能節(jié)省圖形處理芯片的面積,同時(shí)降低圖形處理芯片的設(shè)計(jì)復(fù)雜度和功耗。為了解決上述問(wèn)題,本實(shí)用新型提供了一種圖形處理裝置,適于按需地將內(nèi)存中的圖元信息讀取至高速緩存中,以在終端顯示器上輸出所述圖元對(duì)應(yīng)的圖形,包括存儲(chǔ)器、預(yù)處理器、初設(shè)單元、輸出單元和替換單元;其中,所述預(yù)處理器與所述內(nèi)存、存儲(chǔ)器相連,配置成根據(jù)內(nèi)存中的圖元信息進(jìn)行預(yù)處理,將所述預(yù)處理結(jié)果存儲(chǔ)于所述存儲(chǔ)器中;所述初設(shè)單元與所述存儲(chǔ)器、內(nèi)存、高速緩存相連,配置成根據(jù)存儲(chǔ)器中的預(yù)處理結(jié)果,從內(nèi)存中獲取圖元信息,對(duì)高速緩存進(jìn)行初始設(shè)置;所述輸出單元與所述存儲(chǔ)器、高速緩存、終端顯示器相連,配置成根據(jù)存儲(chǔ)器中的預(yù)處理結(jié)果及高速緩存中的圖元信息,將圖形輸出至終端顯示器;所述替換單元與所述存儲(chǔ)器、內(nèi)存、高速緩存相連,配置成根據(jù)存儲(chǔ)器中的預(yù)處理結(jié)果,從內(nèi)存中獲取圖元信息,對(duì)高速緩存中的圖元信息進(jìn)行替換??蛇x的,所述預(yù)處理器包括配置成模擬圖元串實(shí)際輸出過(guò)程的模擬單元、配置成給出每個(gè)圖元各頂點(diǎn)在高速緩存中索引值的索引值單元、配置成按照各頂點(diǎn)進(jìn)入高速緩存的先后順序進(jìn)行重排序的重排序單元、配置成給出高速緩存需替換頂點(diǎn)數(shù)量的頂點(diǎn)數(shù)量單
J Li ο可選的,所述存儲(chǔ)器包括存儲(chǔ)模擬單元模擬結(jié)果的模擬結(jié)果存儲(chǔ)器、存儲(chǔ)索引值單元給出的各頂點(diǎn)在高速緩存中索引值的索引值存儲(chǔ)器、存儲(chǔ)經(jīng)重排序單元排序后形成的頂點(diǎn)索引序列表的頂點(diǎn)索引序列表存儲(chǔ)器、存儲(chǔ)頂點(diǎn)數(shù)量單元給出的高速緩存需替換頂點(diǎn)數(shù)量的替換頂點(diǎn)數(shù)量存儲(chǔ)器。可選的,所述模擬單元與所述內(nèi)存、模擬結(jié)果存儲(chǔ)器相連,配置成根據(jù)內(nèi)存中的圖元信息模擬圖元串實(shí)際輸出過(guò)程,得到實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn)以及各頂點(diǎn)進(jìn)入高速緩存的先后順序,存儲(chǔ)于模擬結(jié)果存儲(chǔ)器中;所述索引值單元與所述模擬結(jié)果存儲(chǔ)器、索引值存儲(chǔ)器相連,配置成根據(jù)模擬結(jié)果存儲(chǔ)器中實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn),給出圖元的各頂點(diǎn)在高速緩存中的索引值,存儲(chǔ)于索引值存儲(chǔ)器中;[0018]所述重排序單元與所述模擬結(jié)果存儲(chǔ)器、頂點(diǎn)索引序列表存儲(chǔ)器相連,配置成根據(jù)模擬結(jié)果存儲(chǔ)器中各頂點(diǎn)進(jìn)入高速緩存的先后順序,對(duì)各頂點(diǎn)進(jìn)行重排序,獲得頂點(diǎn)索引序列表,存儲(chǔ)于頂點(diǎn)索引序列表存儲(chǔ)器中;所述頂點(diǎn)數(shù)量單元與所述模擬結(jié)果存儲(chǔ)器、內(nèi)存、替換頂點(diǎn)數(shù)量存儲(chǔ)器相連,配置成根據(jù)模擬結(jié)果存儲(chǔ)器中實(shí)際輸出圖元時(shí)高速緩存中的頂點(diǎn)以及內(nèi)存中下一圖元的頂點(diǎn),給出高速緩存需替換頂點(diǎn)數(shù)量,存儲(chǔ)于替換頂點(diǎn)數(shù)量存儲(chǔ)器中??蛇x的,所述模擬結(jié)果存儲(chǔ)器與所述模擬單元、索引值單元、重排序單元、頂點(diǎn)數(shù)量單元相連,模擬單元將模擬結(jié)果寫(xiě)入模擬結(jié)果存儲(chǔ)器,供索引值單元、重排序單元、頂點(diǎn)數(shù)量單元按需讀?。凰鏊饕荡鎯?chǔ)器與所述索引值單元、輸出單元相連,索引值單元將圖元各頂點(diǎn)在高速緩存中的索引值寫(xiě)入索引值存儲(chǔ)器,供輸出單元在輸出圖形時(shí)按需讀??;所述頂點(diǎn)索引序列表存儲(chǔ)器與所述重排序單元、初設(shè)單元、替換單元相連,重排序·單元將頂點(diǎn)索引序列表寫(xiě)入頂點(diǎn)索引序列表存儲(chǔ)器,供初設(shè)單元完成初始設(shè)置;初設(shè)單元完成初始設(shè)置后,對(duì)頂點(diǎn)索引序列表存儲(chǔ)器中的頂點(diǎn)索引序列表進(jìn)行更新,供替換單元在對(duì)高速緩存中的圖元信息進(jìn)行替換時(shí)讀?。凰鎏鎿Q頂點(diǎn)數(shù)量存儲(chǔ)器與所述頂點(diǎn)數(shù)量單元、替換單元相連,頂點(diǎn)數(shù)量單元將高速緩存需替換頂點(diǎn)數(shù)量寫(xiě)入替換頂點(diǎn)數(shù)量存儲(chǔ)器,供替換單元在對(duì)高速緩存中的圖元信息進(jìn)行替換時(shí)按需讀取。可選的,所述圖形處理裝置還包括預(yù)讀取單元,所述預(yù)讀取單元與所述內(nèi)存、存儲(chǔ)器、高速緩存相連,配置成根據(jù)內(nèi)存中的圖元信息、存儲(chǔ)器中的預(yù)處理結(jié)果,將需要替換入高速緩存的圖元信息預(yù)讀至高速緩存中,供所述替換單元在實(shí)際替換時(shí)讀取。可選的,所述圖形處理裝置還包括接收單元,所述接收單元與內(nèi)存相連,配置成將接收到的圖元信息存儲(chǔ)于內(nèi)存中,所述圖元信息包括頂點(diǎn)索引表、各頂點(diǎn)數(shù)據(jù)及圖元信息表??蛇x的,所述存儲(chǔ)器為DRAM、SRAM中的一種或幾種。可選的,所述預(yù)處理器、初設(shè)單元、輸出單元和替換單元均集成于處理器中;所述處理器為CPU或?qū)S眉呻娐?。本?shí)用新型還提供了一種圖形處理芯片,包括上述圖形處理裝置。本實(shí)用新型與現(xiàn)有技術(shù)相比,其優(yōu)點(diǎn)在于I、由于事先知道各圖元的繪制順序,本圖形處理裝置事先計(jì)算需要替換的頂點(diǎn)數(shù)量,并將需要替換的頂點(diǎn)按照其被替換進(jìn)高速緩存的前后次序排序,替換時(shí)從頂點(diǎn)索引序列表的當(dāng)前位置讀取頂點(diǎn),按一定的更新策略,替換高速緩存中的頂點(diǎn),省去了傳統(tǒng)高速緩存的標(biāo)示(Tag),節(jié)省了芯片面積。2、由于省去了標(biāo)示,也就無(wú)需在替換時(shí)比較標(biāo)示位,節(jié)約了大量控制邏輯,降低了芯片的設(shè)計(jì)復(fù)雜度,同時(shí)降低了芯片的功耗。
圖I是本實(shí)用新型圖形處理裝置的一種具體實(shí)施方式
的結(jié)構(gòu)示意圖;圖2是圖I中預(yù)處理器的結(jié)構(gòu)示意圖;[0034]圖3是圖I中存儲(chǔ)器的結(jié)構(gòu)示意圖;圖4是使用本實(shí)用新型圖形處理裝置的一種具體實(shí)施方式
實(shí)現(xiàn)圖形輸出的流程示意圖;圖5是本實(shí)用新型圖形處理裝置的另一種具體實(shí)施方式
的結(jié)構(gòu)示意圖;圖6是本實(shí)用新型圖形處理裝置的一實(shí)施例繪制的一圖形示意圖。
具體實(shí)施方式
下述的闡述與附圖將使本實(shí)用新型的上述特征及優(yōu)點(diǎn)更明顯。該闡述旨在說(shuō)明本實(shí)用新型,便于充分理解本實(shí)用新型,而不應(yīng)理解為對(duì)本實(shí)用新型的限定。下面將參照附圖詳細(xì)說(shuō)明依據(jù)本實(shí)用新型的較佳實(shí)施例。正如前文所述的,之所以現(xiàn)有技術(shù)需要使用標(biāo)示(tag)動(dòng)態(tài)地管理頂點(diǎn)數(shù)據(jù),是因?yàn)閳D形芯片事先不了解頂點(diǎn)數(shù)據(jù)流具體順序,即圖形芯片不知道這些圖元的先后繪制順序。但如果一個(gè)場(chǎng)景中的一串圖元會(huì)被圖形芯片反復(fù)繪制,比如制作動(dòng)畫(huà)時(shí),每一幀的圖形一模一樣,區(qū)別僅僅是所在位置的改變。則該串頂點(diǎn)數(shù)據(jù)流會(huì)被圖形芯片反復(fù)地讀取,圖元在反復(fù)繪制中不會(huì)變化,頂點(diǎn)數(shù)據(jù)流的順序也不會(huì)變化,頂點(diǎn)數(shù)據(jù)的行為是可以預(yù)知的。這種情況下,不必再采用復(fù)雜的動(dòng)態(tài)管理頂點(diǎn)數(shù)據(jù)方法。又如前文所述的,繪制復(fù)雜圖形時(shí),會(huì)盡量將圖形拆分成頂點(diǎn)數(shù)少的圖元,以方便繪制,比如三角形、四邊形。因此在繪制復(fù)雜圖形時(shí),涉及單個(gè)圖元的最大頂點(diǎn)數(shù)一般都不會(huì)很大。目前高速緩存能容納的頂點(diǎn)數(shù)一般都遠(yuǎn)大于單個(gè)圖元的最大頂點(diǎn)數(shù)。也就是說(shuō),不會(huì)發(fā)生這種情況,即某圖元的最大頂點(diǎn)數(shù)大于高速緩存能容納的頂點(diǎn)數(shù),即便高速緩存都已存滿,該圖元還有頂點(diǎn)還未被讀入高速緩存,無(wú)法輸出圖形。一旦出現(xiàn)上述情況,無(wú)論現(xiàn)有技術(shù)或本實(shí)用新型,都將無(wú)法實(shí)現(xiàn)。圖I是本實(shí)用新型圖形處理裝置的一種具體實(shí)施方式
的結(jié)構(gòu)示意圖。如圖I所示,圖形處理裝置I對(duì)內(nèi)存2中存儲(chǔ)的圖元信息進(jìn)行預(yù)處理,基于預(yù)處理結(jié)果對(duì)高速緩存3進(jìn)行寫(xiě)入和替換,并最后基于高速緩存3中的圖元信息,將圖元對(duì)應(yīng)的圖形輸出在終端顯示器4上。具體地,圖形處理裝置I包括預(yù)處理器111、初設(shè)單元112、輸出單元113、替換單元114、存儲(chǔ)器12和接收單元13。接收單元13與內(nèi)存2相連,將接收到的圖元信息存儲(chǔ)于內(nèi)存2中,所述圖元信息為輸出一串圖元所必須的信息,至少包括頂點(diǎn)索引表、各頂點(diǎn)數(shù)據(jù)及圖元信息表。頂點(diǎn)索引表包括該串圖元中所有頂點(diǎn)對(duì)應(yīng)到實(shí)際物理存儲(chǔ)地址的索引值。各頂點(diǎn)數(shù)據(jù)包括該串圖元中所有頂點(diǎn)的各項(xiàng)屬性值。圖元信息表包括構(gòu)成每個(gè)圖元的頂點(diǎn)索引。需要說(shuō)明的是,接收單元13不是所述圖形處理裝置I的必備結(jié)構(gòu),在其他實(shí)施方式中所述圖元信息可通過(guò)其他方式存儲(chǔ)于內(nèi)存2中,比如預(yù)存。預(yù)處理器111與內(nèi)存2和存儲(chǔ)器12相連,根據(jù)內(nèi)存2中的圖元信息進(jìn)行預(yù)處理,預(yù)處理結(jié)果存儲(chǔ)于存儲(chǔ)器12中。初設(shè)單元112與存儲(chǔ)器12、內(nèi)存2、高速緩存3相連,根據(jù)存儲(chǔ)器12中的預(yù)處理結(jié)果,從內(nèi)存2中獲取圖元信息,對(duì)高速緩存3進(jìn)行初始設(shè)置。輸出單元113與存儲(chǔ)器12、高速緩存3、終端顯示器4相連,根據(jù)存儲(chǔ)器12中的預(yù)處理結(jié)果及高速緩存3中的圖元信息,在終端顯示器4上輸出圖形。替換單元114與存儲(chǔ)器12、內(nèi)存2、高速緩存3相連,根據(jù)存儲(chǔ)器12中的預(yù)處理結(jié)果,從內(nèi)存2中獲取圖元信息,對(duì)高速緩存3中的圖元信息進(jìn)行替換。圖2是圖I中預(yù)處理器的結(jié)構(gòu)示意圖,下面結(jié)合圖I、圖2具體闡述預(yù)處理器111的結(jié)構(gòu)。參考圖2,預(yù)處理器111包括模擬單元111a、索引值單元11 lb、重排序單元Illc以及頂點(diǎn)數(shù)量單元11 Id。模擬單元11 Ia與內(nèi)存2、存儲(chǔ)器12相連,根據(jù)內(nèi)存2中的圖元信息,模擬需輸出的一串圖元的實(shí)際輸出過(guò)程,以獲得實(shí)際輸出該串圖元的每一個(gè)圖元時(shí)高速緩存中的頂點(diǎn)和每一個(gè)圖元的各頂點(diǎn)進(jìn)入高速緩存的先后順序,模擬結(jié)果存儲(chǔ)于存儲(chǔ)器12中。索引值單元Illb與存儲(chǔ)器12相連,根據(jù)存儲(chǔ)于存儲(chǔ)器12中的實(shí)際輸出每一個(gè)圖元時(shí)高速緩存中的頂點(diǎn),給出每一個(gè)圖元的各頂點(diǎn)在高速緩存中的索引值,所述索引值同樣存儲(chǔ)于存儲(chǔ)器12中。重排序單元Illc與存儲(chǔ)器12相連,根據(jù)存儲(chǔ)于存儲(chǔ)器12中的各頂點(diǎn)進(jìn)入高速緩存的先后順序,對(duì)各頂點(diǎn)進(jìn)行重排序,獲得頂點(diǎn)索引序列表,所述頂點(diǎn)索引序列表存儲(chǔ)于存儲(chǔ)器12中。頂點(diǎn)數(shù)量單元Illd與內(nèi)存2、存儲(chǔ)器12相連,根據(jù)存儲(chǔ)于存儲(chǔ)器12中的實(shí)際輸出每一個(gè)圖元時(shí)高速緩存中的頂點(diǎn)以及內(nèi)存2中下一圖元的頂點(diǎn)(由圖元信息表給出),給出每個(gè)圖元的高速緩存需替換頂點(diǎn)數(shù)量,所述高速緩存需替換頂點(diǎn)數(shù)量存儲(chǔ)于存儲(chǔ)器12中。繼續(xù)參考圖1,所述存儲(chǔ)器12存儲(chǔ)預(yù)處理器111的預(yù)處理結(jié)果,供初設(shè)單元112、輸出單元113及替換單元114執(zhí)行對(duì)應(yīng)處理時(shí)讀取。圖3是圖I中存儲(chǔ)器的結(jié)構(gòu)示意圖。下面結(jié)合圖2、圖3具體闡述存儲(chǔ)器12的結(jié)構(gòu)及與預(yù)處理器111的連接關(guān)系。參考圖3,存儲(chǔ)器12包括模擬結(jié)果存儲(chǔ)器121、索引值存儲(chǔ)器122、頂點(diǎn)索引序列表存儲(chǔ)器123以及替換頂點(diǎn)數(shù)量存儲(chǔ)器124。模擬結(jié)果存儲(chǔ)器121與模擬單元111a、索引值單元111b、重排序單元111c、頂點(diǎn)數(shù)量單元Illd相連,模擬單元Illa將模擬結(jié)果寫(xiě)入模擬結(jié)果存儲(chǔ)器121,供索引值單元111b、重排序單元111c、頂點(diǎn)數(shù)量單元Illd按需讀取。索引值存儲(chǔ)器122與索引值單元Illb相連,索引值單元Illb到模擬結(jié)果存儲(chǔ)器121中讀取實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn),給出每一個(gè)圖元的各頂點(diǎn)在高速緩存中的索引值,寫(xiě)入索引值存儲(chǔ)器122,供輸出單元(圖未示)在輸出圖形時(shí)按需讀取。頂點(diǎn)索引序列表存儲(chǔ)器123與重排序單元Illc相連,重排序單元Illc到模擬結(jié)果存儲(chǔ)器121中讀取各頂點(diǎn)進(jìn)入高速緩存的先后順序,對(duì)各頂點(diǎn)進(jìn)行重排序,獲得頂點(diǎn)索引序列表,存儲(chǔ)于頂點(diǎn)索引序列表存儲(chǔ)器123中,供初設(shè)單元112 (圖未示)完成初始設(shè)置。初設(shè)單元112完成初始設(shè)置后,對(duì)頂點(diǎn)索引序列表存儲(chǔ)器123中的頂點(diǎn)索引序列表進(jìn)行更新,供替換單元114 (圖未示)替換高速緩存中的圖元信息時(shí)按需讀取。替換頂點(diǎn)數(shù)量存儲(chǔ)器124與頂點(diǎn)數(shù)量單元Illd相連,頂點(diǎn)數(shù)量單元Illd到模擬結(jié)果存儲(chǔ)器121中讀取實(shí)際輸出每一個(gè)圖元時(shí)高速緩存中的頂點(diǎn),到內(nèi)存2中讀取下一圖元的頂點(diǎn)(由圖元信息表給出),給出每個(gè)圖元的高速緩存需替換頂點(diǎn)數(shù)量,存儲(chǔ)于替換頂點(diǎn)數(shù)量存儲(chǔ)器124中,供替換單元114在對(duì)高速緩存中的圖元信息進(jìn)行替換時(shí)按需讀取。[0058]圖4是使用本實(shí)用新型圖形處理裝置的一種具體實(shí)施方式
實(shí)現(xiàn)圖形輸出的流程示意圖。下面結(jié)合圖I至圖4,詳細(xì)闡述本實(shí)用新型的圖形處理裝置的工作過(guò)程。參考圖4,首先執(zhí)行步驟SI,接收?qǐng)D元信息。具體地,由接收單元13接收需繪制圖元串的圖元信息,保存于內(nèi)存2中。接著,執(zhí)行步驟S2,預(yù)處理。具體地,預(yù)處理器111根據(jù)內(nèi)存2中的圖元信息完成預(yù)處理,預(yù)處理結(jié)果保存于存儲(chǔ)器12中。 本具體實(shí)施方式
中的預(yù)處理至少包括4個(gè)內(nèi)容(I)由模擬單元Illa模擬圖元串的實(shí)際輸出過(guò)程,以獲得實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn)和各頂點(diǎn)進(jìn)入高速緩存的先后順序,存儲(chǔ)于模擬結(jié)果存儲(chǔ)器121中。(2)由索引值單元Illb根據(jù)模擬結(jié)果存儲(chǔ)器121中的實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn),獲得圖元各頂點(diǎn)在高速緩存中的索引值,存儲(chǔ)于索引值存儲(chǔ)器122中;所述高速緩存中的索引值與所述高速緩存中頂點(diǎn)之間存在--對(duì)應(yīng)關(guān)系。(3)由重排序單元Illc按照模擬結(jié)果存儲(chǔ)器121中的各頂點(diǎn)進(jìn)入高速緩存的先后順序,對(duì)各頂點(diǎn)進(jìn)行重排序,獲得頂點(diǎn)索引序列表,存儲(chǔ)于頂點(diǎn)索引序列表存儲(chǔ)器123中;所述頂點(diǎn)索引序列表存儲(chǔ)各頂點(diǎn)數(shù)據(jù)的索引,根據(jù)所述索引可得到該頂點(diǎn)數(shù)據(jù)的實(shí)際物理地址,獲取該頂點(diǎn)的數(shù)據(jù)。(4)由頂點(diǎn)數(shù)量單元Illd根據(jù)模擬結(jié)果存儲(chǔ)器121中的實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn),和內(nèi)存2中下一圖元的頂點(diǎn),給出圖元的高速緩存需替換頂點(diǎn)數(shù)量,存儲(chǔ)于替換頂點(diǎn)數(shù)量存儲(chǔ)器中124。本實(shí)施方式中采用的高速緩存替換策略是高速緩存已滿時(shí),總是將最早存入高速緩存中的那個(gè)頂點(diǎn)替換掉。但需要說(shuō)明的是,不應(yīng)理解為這種替換策略是對(duì)本實(shí)用新型的限制。事實(shí)上,僅需按照選定的替換策略,使重排序和給出需更新頂點(diǎn)數(shù)量的結(jié)果相匹配,傳統(tǒng)高速緩存的替換策略皆適用于本實(shí)用新型的圖形處理裝置。比如高速緩存已滿時(shí),總是將最后進(jìn)入高速緩存中的那個(gè)頂點(diǎn)替換掉?;蛘邔⒏咚倬彺嬷邢嗤畹臀坏哪莻€(gè)頂點(diǎn)替換掉,即如前文所述的容量為8個(gè)頂點(diǎn)的高速緩存,頂點(diǎn)8 (最低位為000)進(jìn)入高速緩存中時(shí),替換掉頂點(diǎn)O (最低位同樣為000)。或者將高速緩存中的各頂點(diǎn)按使用頻率排序,每次總是替換掉最少使用的那個(gè)頂點(diǎn)。又或者任意提供一個(gè)哈希值,每隔哈希個(gè)頂點(diǎn),替換掉一個(gè)頂點(diǎn),等等。需要說(shuō)明的是,雖然本具體實(shí)施方式
中,預(yù)處理是根據(jù)模擬結(jié)果,先獲得圖元各頂點(diǎn)在高速緩存中的索引值,再進(jìn)行重排序獲得頂點(diǎn)索引序列表,再給出圖元的高速緩存需替換頂點(diǎn)數(shù)量的。但實(shí)際上預(yù)處理的先后順序并無(wú)關(guān)緊要,只需要在實(shí)際輸出該圖元前完成上述預(yù)處理即可。具體地,重排序形成頂點(diǎn)索引序列表的步驟包括依次對(duì)每個(gè)圖元的每個(gè)頂點(diǎn)進(jìn)行處理;若當(dāng)前頂點(diǎn)不在在實(shí)際輸出上一圖元時(shí)的高速緩存中,將當(dāng)前頂點(diǎn)加到頂點(diǎn)索引序列表的末尾;若加入后頂點(diǎn)索引序列表中的頂點(diǎn)數(shù)量大于高速緩存可容納的頂點(diǎn)數(shù)量,判斷實(shí)際進(jìn)行頂點(diǎn)數(shù)據(jù)替換時(shí)最早存儲(chǔ)進(jìn)高速緩存中的頂點(diǎn)是否也是當(dāng)前圖元的頂點(diǎn),若是,則將最早存儲(chǔ)進(jìn)高速緩存中的頂點(diǎn)加到頂點(diǎn)索引序列表的末尾;重復(fù)前一步驟,直至實(shí)際進(jìn)行頂點(diǎn)數(shù)據(jù)替換時(shí)最早存儲(chǔ)進(jìn)高速緩存中的頂點(diǎn)不是當(dāng)前圖元的頂點(diǎn)為止。在對(duì)每個(gè)圖元的每個(gè)頂點(diǎn)重排序后,形成了頂點(diǎn)索引序列表,所述頂點(diǎn)索引序列表保存每個(gè)頂點(diǎn)的頂點(diǎn)索引,存儲(chǔ)于頂點(diǎn)索引序列表存儲(chǔ)器123中。具體地,給出圖元的高速緩存需替換頂點(diǎn)數(shù)量的步驟包括先將圖元高速緩存中需更新的頂點(diǎn)數(shù)量設(shè)為0,即先默認(rèn)需更新的頂點(diǎn)數(shù)量為O ;若當(dāng)時(shí)的頂點(diǎn)索引序列表中的頂點(diǎn)數(shù)量大于等于高速緩存可容納的頂點(diǎn)數(shù)量時(shí),判斷下一圖元的各頂點(diǎn)是否都在當(dāng)前的高速緩存中;有一個(gè)頂點(diǎn)不在當(dāng)前的高速緩存中,高速緩存中需更新的頂點(diǎn)數(shù)量增加I ;若此時(shí)最早存儲(chǔ)進(jìn)高速緩存的頂點(diǎn)是下一圖元的頂點(diǎn),則高速緩存中需更新的頂點(diǎn)數(shù)量再增加I;重復(fù)前一步驟,直至此時(shí)最早存儲(chǔ)進(jìn)高速緩存的頂點(diǎn)不是下一圖元的頂點(diǎn)為止。繼續(xù)參考圖4,執(zhí)行步驟S3,初始設(shè)置。具體地,由初設(shè)單元112從頂點(diǎn)索引序列表存儲(chǔ)器123中存儲(chǔ)的頂點(diǎn)索引序列表的首個(gè)位置開(kāi)始,將頂點(diǎn)索引對(duì)應(yīng)的頂點(diǎn)數(shù)據(jù)逐個(gè)由內(nèi)存2中存儲(chǔ)到高速緩存3中,直至高速緩存3存滿;將頂點(diǎn)索引序列表中還未讀取的首個(gè)頂點(diǎn)調(diào)整為當(dāng)前頂點(diǎn)。繼續(xù)執(zhí)行步驟S4,判斷是否每個(gè)圖元都已輸出。若否,則執(zhí)行步驟S5,繼續(xù)輸出圖元。若是,則輸出完畢,該串圖元已經(jīng)全部輸出于終端顯示器4上?!だ^續(xù)執(zhí)行步驟S5,輸出圖元。具體地,由輸出單元113,根據(jù)索引值存儲(chǔ)器122中存儲(chǔ)的圖元各頂點(diǎn)在高速緩存中的索引值,到高速緩存3中讀取該圖元的各頂點(diǎn)數(shù)據(jù),在終端顯示器4上輸出當(dāng)前圖元。繼續(xù)執(zhí)行步驟S6,替換高速緩存3中的頂點(diǎn)。具體地,在輸出之后,當(dāng)替換頂點(diǎn)數(shù)量存儲(chǔ)器124中存儲(chǔ)的當(dāng)前圖元的高速緩存需替換頂點(diǎn)頂點(diǎn)數(shù)量η不為O時(shí),從頂點(diǎn)索引序列表的當(dāng)前位置開(kāi)始,根據(jù)頂點(diǎn)索引到內(nèi)存2中讀取η個(gè)頂點(diǎn),替換最早進(jìn)入高速緩存3中的η個(gè)頂點(diǎn)。替換完畢后,從步驟S4開(kāi)始循環(huán),繼續(xù)輸出下一圖元,直至按照?qǐng)D元串順序,每個(gè)圖元都已輸出,繪制完畢。使用本實(shí)用新型重復(fù)繪制同一串圖元時(shí),優(yōu)勢(shì)更為明顯。因?yàn)閮H需在繪制第一串圖元時(shí)進(jìn)行預(yù)處理。繪制其后的各串圖元時(shí),因是同一串圖元的重復(fù),預(yù)處理的結(jié)果和第一串圖元是一樣的。所以,直接使用之前預(yù)處理的結(jié)果,從步驟S3初始設(shè)置開(kāi)始執(zhí)行即可。圖5是本實(shí)用新型圖形處理裝置的另一種具體實(shí)施方式
的結(jié)構(gòu)示意圖。與前一具體實(shí)施方式
相同之處,在此不再贅述。不同之處在于,本實(shí)施方式中的高速緩存3中劃分出一定的預(yù)留空間31,用于存儲(chǔ)替換所需的頂點(diǎn)數(shù)據(jù)。比如容量為8個(gè)頂點(diǎn)的高速緩存,其中7個(gè)頂點(diǎn)作為輸出空間,存儲(chǔ)輸出當(dāng)前圖元所需的頂點(diǎn),I個(gè)作為預(yù)留空間,存儲(chǔ)替換所需的頂點(diǎn)數(shù)據(jù)。或者6個(gè)頂點(diǎn)用于存儲(chǔ)輸出當(dāng)前圖元所需的頂點(diǎn),2個(gè)用作預(yù)留空間。具體分配可根據(jù)實(shí)際需求,在高速緩存容量允許的范圍內(nèi),自主調(diào)配。相對(duì)應(yīng)地,增加了預(yù)讀取單元115。預(yù)讀取單元115可在輸出單元113輸出圖元的同時(shí),根據(jù)替換頂點(diǎn)數(shù)量存儲(chǔ)器124中存儲(chǔ)的該圖元高速緩存需替換頂點(diǎn)數(shù)量,按照頂點(diǎn)索引序列表存儲(chǔ)器123中存儲(chǔ)的頂點(diǎn)索引序列表當(dāng)前頂點(diǎn)的頂點(diǎn)索弓I,并行地到內(nèi)存2中讀取當(dāng)前頂點(diǎn)數(shù)據(jù),存儲(chǔ)在預(yù)留空間31中。替換時(shí),替換單元114從預(yù)留空間31中讀取頂點(diǎn)數(shù)據(jù),替換高速緩存3中輸出空間內(nèi)的頂點(diǎn)數(shù)據(jù)。如此并行操作,可進(jìn)一步加快圖形處理芯片的執(zhí)行效率。下面通過(guò)一具體實(shí)施例,以更直觀地理解本實(shí)用新型。圖6是本實(shí)用新型圖形處理裝置的一實(shí)施例繪制的一圖形示意圖。該圖形已進(jìn)行了圖元拆分,被拆分成序號(hào)為
①-⑨的9個(gè)圖元,每個(gè)圖元均含3個(gè)頂點(diǎn)。各圖元分別由哪些頂點(diǎn)組成,由下面的圖元信息表I給出
權(quán)利要求1.一種圖形處理裝置,適于按需地將內(nèi)存中的圖元信息讀取至高速緩存中,以在終端顯示器上輸出所述圖元對(duì)應(yīng)的圖形,其特征在于,包括存儲(chǔ)器、預(yù)處理器、初設(shè)單元、輸出單元和替換單元;其中, 所述預(yù)處理器與所述內(nèi)存、存儲(chǔ)器相連,配置成根據(jù)內(nèi)存中的圖元信息進(jìn)行預(yù)處理,將所述預(yù)處理結(jié)果存儲(chǔ)于所述存儲(chǔ)器中; 所述初設(shè)單元與所述存儲(chǔ)器、內(nèi)存、高速緩存相連,配置成根據(jù)存儲(chǔ)器中的預(yù)處理結(jié)果,從內(nèi)存中獲取圖元信息,對(duì)高速緩存進(jìn)行初始設(shè)置; 所述輸出單元與所述存儲(chǔ)器、高速緩存、終端顯示器相連,配置成根據(jù)存儲(chǔ)器中的預(yù)處理結(jié)果及高速緩存中的圖元信息,將圖形輸出至終端顯示器; 所述替換單元與所述存儲(chǔ)器、內(nèi)存、高速緩存相連,配置成根據(jù)存儲(chǔ)器中的預(yù)處理結(jié)果,從內(nèi)存中獲取圖元信息,對(duì)高速緩存中的圖元信息進(jìn)行替換。
2.如權(quán)利要求I所述的圖形處理裝置,其特征在于 所述預(yù)處理器包括配置成模擬圖元串實(shí)際輸出過(guò)程的模擬單元、配置成給出每個(gè)圖元各頂點(diǎn)在高速緩存中索引值的索引值單元、配置成按照各頂點(diǎn)進(jìn)入高速緩存的先后順序進(jìn)行重排序的重排序單元、配置成給出高速緩存需替換頂點(diǎn)數(shù)量的頂點(diǎn)數(shù)量單元。
3.如權(quán)利要求2所述的圖形處理裝置,其特征在于 所述存儲(chǔ)器包括存儲(chǔ)模擬單元模擬結(jié)果的模擬結(jié)果存儲(chǔ)器、存儲(chǔ)索引值單元給出的各頂點(diǎn)在高速緩存中索引值的索引值存儲(chǔ)器、存儲(chǔ)經(jīng)重排序單元排序后形成的頂點(diǎn)索引序列表的頂點(diǎn)索引序列表存儲(chǔ)器、存儲(chǔ)頂點(diǎn)數(shù)量單元給出的高速緩存需替換頂點(diǎn)數(shù)量的替換頂點(diǎn)數(shù)量存儲(chǔ)器。
4.如權(quán)利要求3所述的圖形處理裝置,其特征在于 所述模擬單元與所述內(nèi)存、模擬結(jié)果存儲(chǔ)器相連,配置成根據(jù)內(nèi)存中的圖元信息模擬圖元串實(shí)際輸出過(guò)程,得到實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn)以及各頂點(diǎn)進(jìn)入高速緩存的先后順序,存儲(chǔ)于模擬結(jié)果存儲(chǔ)器中; 所述索引值單元與所述模擬結(jié)果存儲(chǔ)器、索引值存儲(chǔ)器相連,配置成根據(jù)模擬結(jié)果存儲(chǔ)器中實(shí)際輸出圖元時(shí)高速緩存中頂點(diǎn),給出圖元的各頂點(diǎn)在高速緩存中的索引值,存儲(chǔ)于索引值存儲(chǔ)器中; 所述重排序單元與所述模擬結(jié)果存儲(chǔ)器、頂點(diǎn)索引序列表存儲(chǔ)器相連,配置成根據(jù)模擬結(jié)果存儲(chǔ)器中各頂點(diǎn)進(jìn)入高速緩存的先后順序,對(duì)各頂點(diǎn)進(jìn)行重排序,獲得頂點(diǎn)索引序列表,存儲(chǔ)于頂點(diǎn)索引序列表存儲(chǔ)器中; 所述頂點(diǎn)數(shù)量單元與所述模擬結(jié)果存儲(chǔ)器、內(nèi)存、替換頂點(diǎn)數(shù)量存儲(chǔ)器相連,配置成根據(jù)模擬結(jié)果存儲(chǔ)器中實(shí)際輸出圖元時(shí)高速緩存中的頂點(diǎn)以及內(nèi)存中下一圖元的頂點(diǎn),給出高速緩存需替換頂點(diǎn)數(shù)量,存儲(chǔ)于替換頂點(diǎn)數(shù)量存儲(chǔ)器中。
5.如權(quán)利要求3所述的圖形處理裝置,其特征在于 所述模擬結(jié)果存儲(chǔ)器與所述模擬單元、索引值單元、重排序單元、頂點(diǎn)數(shù)量單元相連,模擬單元將模擬結(jié)果寫(xiě)入模擬結(jié)果存儲(chǔ)器,供索引值單元、重排序單元、頂點(diǎn)數(shù)量單元按需讀??; 所述索引值存儲(chǔ)器與所述索引值單元、輸出單元相連,索引值單元將圖元各頂點(diǎn)在高速緩存中的索引值寫(xiě)入索引值存儲(chǔ)器,供輸出單元在輸出圖形時(shí)按需讀取;所述頂點(diǎn)索引序列表存儲(chǔ)器與所述重排序単元、初設(shè)單元、替換單元相連,重排序單元將頂點(diǎn)索引序列表寫(xiě)入頂點(diǎn)索引序列表存儲(chǔ)器,供初設(shè)單元完成初始設(shè)置;初設(shè)單元完成初始設(shè)置后,對(duì)頂點(diǎn)索引序列表存儲(chǔ)器中的頂點(diǎn)索引序列表進(jìn)行更新,供替換單元在對(duì)高速緩存中的圖元信息進(jìn)行替換時(shí)讀?。? 所述替換頂點(diǎn)數(shù)量存儲(chǔ)器與所述頂點(diǎn)數(shù)量單元、替換單元相連,頂點(diǎn)數(shù)量單元將高速緩存需替換頂點(diǎn)數(shù)量寫(xiě)入替換頂點(diǎn)數(shù)量存儲(chǔ)器,供替換單元在對(duì)高速緩存中的圖元信息進(jìn)行替換時(shí)按需讀取。
6.如權(quán)利要求I所述的圖形處理裝置,其特征在干 所述圖形處理裝置還包括預(yù)讀取単元,所述預(yù)讀取単元與所述內(nèi)存、存儲(chǔ)器、高速緩存相連,配置成根據(jù)內(nèi)存中的圖元信息、存儲(chǔ)器中的預(yù)處理結(jié)果,將需要替換入高速緩存的圖元信息預(yù)讀至高速緩存中,供所述替換単元在實(shí)際替換時(shí)讀取。
7.如權(quán)利要求I至6所述的任ー種圖形處理裝置,其特征在于 所述圖形處理裝置還包括接收單元,所述接收単元與內(nèi)存相連,配置成將接收到的圖元信息存儲(chǔ)于內(nèi)存中,所述圖元信息包括頂點(diǎn)索引表、各頂點(diǎn)數(shù)據(jù)及圖元信息表。
8.如權(quán)利要求I所述的圖形處理裝置,其特征在于所述存儲(chǔ)器為DRAM、SRAM中的一種或幾種。
9.如權(quán)利要求I所述的圖形處理裝置,其特征在于所述預(yù)處理器、初設(shè)單元、輸出單元和替換單元均集成于處理器中;所述處理器為CPU或?qū)S眉呻娐贰?br>
10.ー種圖形處理芯片,其特征在于包括如權(quán)利要求I至9所述的任一種圖形處理裝置。
專(zhuān)利摘要一種圖形處理裝置及芯片。圖形處理裝置包括存儲(chǔ)器、預(yù)處理器、初設(shè)單元、輸出單元、替換單元;預(yù)處理器與內(nèi)存、存儲(chǔ)器相連,根據(jù)內(nèi)存中的圖元信息進(jìn)行預(yù)處理,結(jié)果存儲(chǔ)于存儲(chǔ)器中;初設(shè)單元與存儲(chǔ)器、內(nèi)存、高速緩存相連,根據(jù)預(yù)處理結(jié)果,從內(nèi)存中獲取圖元信息,對(duì)高速緩存進(jìn)行初始設(shè)置;輸出單元與存儲(chǔ)器、高速緩存、顯示器相連,根據(jù)預(yù)處理結(jié)果及高速緩存中的圖元信息,實(shí)現(xiàn)在顯示器上輸出圖形;替換單元與存儲(chǔ)器、內(nèi)存、高速緩存相連,根據(jù)預(yù)處理結(jié)果,從內(nèi)存中獲取圖元信息,對(duì)高速緩存中的圖元信息進(jìn)行替換。本實(shí)用新型無(wú)需設(shè)置傳統(tǒng)高速緩存的標(biāo)示,節(jié)省了芯片面積,同時(shí)降低了芯片的設(shè)計(jì)復(fù)雜度和功耗。
文檔編號(hào)G06T1/20GK202758397SQ201220317660
公開(kāi)日2013年2月27日 申請(qǐng)日期2012年7月2日 優(yōu)先權(quán)日2012年7月2日
發(fā)明者沙力, 李濟(jì)川, 趙波 申請(qǐng)人:上海算芯微電子有限公司