專利名稱:頂點(diǎn)資料存取裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電腦繪圖技術(shù)領(lǐng)域;尤其有關(guān)于一種頂點(diǎn)資料存取裝置及方法,本發(fā)明依據(jù)頂點(diǎn)(Vertex)索引(Index)由系統(tǒng)存儲(chǔ)器抓取頂點(diǎn)資料且利用頂點(diǎn)資料隊(duì)列來實(shí)現(xiàn)頂點(diǎn)資料快取存儲(chǔ)器功能。
圖1顯示繪圖加速系統(tǒng)10經(jīng)過介面控制器20存取儲(chǔ)存于系統(tǒng)存儲(chǔ)器30中的頂點(diǎn)資料31的方塊圖。介面控制器20包括一要求隊(duì)列(Queue)21與一頂點(diǎn)資料隊(duì)列22。要求隊(duì)列21儲(chǔ)存繪圖加速系統(tǒng)10生成的存儲(chǔ)器要求。頂點(diǎn)資料隊(duì)列22儲(chǔ)存由系統(tǒng)存儲(chǔ)器30傳送的頂點(diǎn)資料31,且之后頂點(diǎn)資料隊(duì)列22中的頂點(diǎn)資料將被繪圖加速系統(tǒng)10抓取。
傳送程序可以是一分開匯流排處理規(guī)則(Split Bus TransactionProtocol),如下列步驟
步驟1,接收一頂點(diǎn)索引。
步驟2,傳送一要求且將其儲(chǔ)存至一要求隊(duì)列21中。
步驟3,如果匯流排可以使用時(shí),允許一要求來存取頂點(diǎn)資料且將此要求由要求隊(duì)列21中移除。
步驟4,當(dāng)頂點(diǎn)資料31準(zhǔn)備好之后,如果匯流排可以使用時(shí),其被回傳且儲(chǔ)存至頂點(diǎn)資料隊(duì)列22。
步驟5,當(dāng)繪圖加速系統(tǒng)10需要頂點(diǎn)資料來做進(jìn)一步處理時(shí),一存取動(dòng)作發(fā)生,頂點(diǎn)資料由頂點(diǎn)資料隊(duì)列22中被抓取(Fetch)。
要注意的是,頂點(diǎn)資料是會(huì)被重復(fù)使用的,因此,頂點(diǎn)資料的快取存儲(chǔ)器(Cache)是有必要使用來改善繪圖加速系統(tǒng)的效能。然而,頂點(diǎn)資料包括視窗座標(biāo)、深度(Depth)資訊、包含紅、綠與藍(lán)的顏色資訊、透明(Transparent)系數(shù)(Factor)、包含反射(Specular)紅、反射綠與反射藍(lán)的反射顏色資訊、模糊(Fog)系數(shù)以及多組的材質(zhì)(Texture)座標(biāo)等等。因此,儲(chǔ)存復(fù)數(shù)個(gè)頂點(diǎn)資料將會(huì)花費(fèi)大量的容量與面積。
然而,在繪圖加速系統(tǒng)或是介面控制器的設(shè)計(jì)中,整體快取存儲(chǔ)器的空間始終是有限的,隨著更細(xì)致的影像效果,大量頂點(diǎn)資料的需求也相對(duì)形成快取存儲(chǔ)器的負(fù)荷,因此,如何有效管理快取存儲(chǔ)器及繪圖加速系統(tǒng)將是一重要課題。
為了達(dá)成上述目的,可藉由本發(fā)明所提供的一種頂點(diǎn)資料存取裝置來達(dá)成。該頂點(diǎn)資料存取裝置,包括一介面控制器,具有一頂點(diǎn)資料隊(duì)列,用以接收一頂點(diǎn)資料要求,依據(jù)該頂點(diǎn)資料要求由一系統(tǒng)存儲(chǔ)器抓取一項(xiàng)點(diǎn)資料,并將該頂點(diǎn)資料存放于該頂點(diǎn)資料隊(duì)列中;以及一頂點(diǎn)資料隊(duì)列控制器,用以接收一頂點(diǎn)索引,依據(jù)該頂點(diǎn)索引決定是否輸出相應(yīng)該頂點(diǎn)索引的該頂點(diǎn)資料要求給該介面控制器,并監(jiān)控該介面控制器中該頂點(diǎn)資料隊(duì)列的狀態(tài),且當(dāng)接收一頂點(diǎn)資料需求信號(hào)時(shí),依據(jù)該狀態(tài)由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
此外,本發(fā)明還提供了一種頂點(diǎn)資料隊(duì)列控制器,包括一限制計(jì)數(shù)器,具有一可要求數(shù)目值,表示該介面控制器尚可接受的要求數(shù)目;一可用計(jì)數(shù)器,具有一尚未讀取數(shù)目值,表示該頂點(diǎn)資料隊(duì)列中尚未讀取的頂點(diǎn)資料數(shù)目;一索引比較單元,用以接收一頂點(diǎn)索引,判斷該頂點(diǎn)索引是否存在于一頂點(diǎn)索引暫存器中,且輸出相應(yīng)的一判斷結(jié)果;一要求控制器,接收該判斷結(jié)果,依據(jù)該判斷結(jié)果與該可要求數(shù)目值法定是否輸出相應(yīng)該頂點(diǎn)索引的該頂點(diǎn)資料要求給一介面控制器,用以通知該介面控制器依據(jù)該頂點(diǎn)資料要求由一系統(tǒng)存儲(chǔ)器抓取一頂點(diǎn)資料,并將該頂點(diǎn)資料存放于一頂點(diǎn)資料隊(duì)列中,且將該判斷結(jié)果存放于一參考暫存器中;以及一存取控制器,當(dāng)該頂點(diǎn)資料隊(duì)列控制器接收一頂點(diǎn)資料需求信號(hào)時(shí),由該參考暫存器讀取該判斷結(jié)果,并依據(jù)該判斷結(jié)果與該尚未讀取數(shù)目值,由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
本發(fā)明亦提供一種頂點(diǎn)資料存取方法,包括下列步驟接收一頂點(diǎn)索引;依據(jù)該頂點(diǎn)索引決定是否輸出相應(yīng)該頂點(diǎn)索引的一頂點(diǎn)資料要求,用以通知一介面控制器依據(jù)該頂點(diǎn)資料要求由一系統(tǒng)存儲(chǔ)器抓取一頂點(diǎn)資料,并將該頂點(diǎn)資料存放于一頂點(diǎn)資料隊(duì)列中;監(jiān)控該介面控制器中該頂點(diǎn)資料隊(duì)列的狀態(tài);接收一頂點(diǎn)資料需求信號(hào);以及依據(jù)該頂點(diǎn)資料隊(duì)列的該狀態(tài)由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
圖1顯示習(xí)知繪圖加速系統(tǒng)經(jīng)過介面控制器存取一儲(chǔ)存于系統(tǒng)存儲(chǔ)器中的頂點(diǎn)資料的方塊示意圖;圖2顯示依據(jù)本發(fā)明實(shí)施例的頂點(diǎn)資料存取裝置存取儲(chǔ)存于系統(tǒng)存儲(chǔ)器中的頂點(diǎn)資料的方塊示意圖;圖3為一方塊圖顯示依據(jù)本發(fā)明實(shí)施例的頂點(diǎn)資料隊(duì)列控制器110的內(nèi)部組成;圖4為一方塊圖顯示依據(jù)本發(fā)明實(shí)施例的索引比較單元的內(nèi)部組成;圖5為一流程圖顯示限制計(jì)數(shù)器的操作流程;圖6為一流程圖顯示可用計(jì)數(shù)器的操作流程;圖7為一流程圖顯示要求控制器的操作流程;圖8為一流程圖顯示存取控制器的操作流程;圖9顯示依據(jù)本發(fā)明實(shí)施例的頂點(diǎn)資料存取方法的操作流程;圖10-圖13顯示頂點(diǎn)資料隊(duì)列的狀態(tài)與參考點(diǎn)、限制計(jì)數(shù)器與可用計(jì)數(shù)器的值。
頂點(diǎn)資料隊(duì)列控制器1100負(fù)責(zé)來決定是否要傳送一頂點(diǎn)資料要求來通知介面控制器2000由系統(tǒng)存儲(chǔ)器3000中抓取對(duì)應(yīng)的頂點(diǎn)資料。此外,頂點(diǎn)資料隊(duì)列控制器1100也監(jiān)控介面控制器2000中頂點(diǎn)資料隊(duì)列2200的狀態(tài)。而當(dāng)繪圖加速系統(tǒng)1000需要頂點(diǎn)資料時(shí),頂點(diǎn)資料隊(duì)列控制器1100則可依據(jù)頂點(diǎn)資料隊(duì)列2200的狀態(tài)直接抓取在頂點(diǎn)資料隊(duì)列2200中的頂點(diǎn)資料3100。
因?yàn)轫旤c(diǎn)資料3100由系統(tǒng)存儲(chǔ)器3000存取至繪圖加速系統(tǒng)1000需要一長(zhǎng)的等待時(shí)間(Latency),因此,一預(yù)先抓取機(jī)制可以通過分開匯流排處理規(guī)則,使用來改善整體效能。由于繪圖加速系統(tǒng)1000依據(jù)接收頂點(diǎn)的索引順序來依序處理頂點(diǎn)資料,頂點(diǎn)資料可以由系統(tǒng)存儲(chǔ)器3000抓取且在被繪圖加速系統(tǒng)使用之前儲(chǔ)存于頂點(diǎn)資料隊(duì)列2200中。因此,在數(shù)個(gè)頂點(diǎn)資料要求允許之后,對(duì)應(yīng)的頂點(diǎn)資料將接續(xù)地送入頂點(diǎn)資料隊(duì)列2200。
如前所述,繪圖加速系統(tǒng)1000藉由頂點(diǎn)資料隊(duì)列控制器1100存取頂點(diǎn)資料。頂點(diǎn)資料隊(duì)列控制器1100不僅用以控制要求與頂點(diǎn)資料隊(duì)列2200,也撿查在頂點(diǎn)資料隊(duì)列2200中的頂點(diǎn)資料是否被重復(fù)使用。即頂點(diǎn)資料隊(duì)列控制器1100執(zhí)行頂點(diǎn)資料快取存儲(chǔ)器功能。
圖3顯示依據(jù)本發(fā)明實(shí)施例的頂點(diǎn)資料隊(duì)列控制器1100的方塊圖。頂點(diǎn)資料隊(duì)列控制器1100包括一索引比較單元1110、要求控制器1120、存取控制器1130、參考暫存器1140、限制計(jì)數(shù)器1150與可用計(jì)數(shù)器1160。限制計(jì)數(shù)器1150具有一可要求數(shù)目值,表示介面控制器2000尚可接受(允許)的要求數(shù)目??捎糜?jì)數(shù)器1160具有一尚未讀取數(shù)目值,表示頂點(diǎn)資料隊(duì)列2200中尚未讀取的頂點(diǎn)資料數(shù)目。
索引比較單元1110負(fù)責(zé)判斷輸入的頂點(diǎn)索引是否與內(nèi)部的一頂點(diǎn)索引暫存器中儲(chǔ)存的任何一個(gè)索引相同。索引比較單元1110報(bào)告(輸出)包含一比對(duì)信息資料與一位移資料的一判斷結(jié)果給要求控制器1120。要求控制器1120則依據(jù)接收的判斷結(jié)果與限制計(jì)數(shù)器1150的可要求數(shù)目值,來決定是否傳送相應(yīng)頂點(diǎn)索引的一頂點(diǎn)資料要求給介面控制器2000。當(dāng)參考暫存器1140并未滿時(shí),要求控制器1120則將判斷結(jié)果存放于參考暫存器1140之中。注意的是,頂點(diǎn)索引暫存器1111與參考暫存器1140可以是先進(jìn)先出暫存器(FIFO)。
當(dāng)繪圖加速系統(tǒng)1000要一頂點(diǎn)資料時(shí),存取控制器1130會(huì)被通知,且存取控制器1130便依據(jù)儲(chǔ)存于參考暫存器1140中的判斷結(jié)果與可用計(jì)數(shù)器1160的尚未讀取數(shù)目值存取頂點(diǎn)資料。
索引比較單元1110包括頂點(diǎn)索引暫存器1111、復(fù)數(shù)個(gè)比較器1112與編碼器1113,如圖4所示。在圖的例子中,頂點(diǎn)索引暫存器1111包含四個(gè)儲(chǔ)存欄位(Entries),且索引比較單元1110包括四個(gè)比較器1112。輸入的頂點(diǎn)索引被與所有儲(chǔ)存在頂點(diǎn)索引暫存器1111的頂點(diǎn)索引進(jìn)行比較。比較器1112的輸出為復(fù)數(shù)個(gè)雙值(Binary Value)信號(hào),且這些輸出信號(hào)被編碼器1113進(jìn)行編碼,從而產(chǎn)生比對(duì)信息資料(HIT)與位移資料(OFFSET)。如果輸入的頂點(diǎn)索引與任一在頂點(diǎn)索引暫存器1111的頂點(diǎn)索引相同時(shí),則HIT為作用(Active)且OFFSET為頂點(diǎn)索引暫存器1111中與輸入的頂點(diǎn)索引相同的頂點(diǎn)索引的位置。反之,當(dāng)輸入的頂點(diǎn)索引與頂點(diǎn)索引暫存器1111的所有頂點(diǎn)索引都不相同時(shí),則HIT為無效(Inactive)且OFFSET強(qiáng)制為零。
限制計(jì)數(shù)器1150為一上/下(Up/Down)計(jì)數(shù)器,包括可要求數(shù)目值,此值每次增加或是減少一。圖5顯示限制計(jì)數(shù)器1150的操作流程。首先,限制計(jì)數(shù)器1150的可要求數(shù)目值(LC)初始設(shè)定為整個(gè)繪圖系統(tǒng)中最多可接受(允許)的要求數(shù)目(步驟S51)。在信號(hào)REQUEST作用之后(步驟S52的是),若信號(hào)ACCESS不作用(步驟S53的否),則限制計(jì)數(shù)器1150的值被減一(步驟S55)。若信號(hào)REQNEST不作用(步驟S52的否),而信號(hào)ACCESS作用(步驟S54的是),限制計(jì)數(shù)器1150的值被加一(步驟SS6)。而若信號(hào)REQNEST與ACCESS皆為作用時(shí),則限制計(jì)數(shù)器1150的值保持一樣,且若信號(hào)REQUEST與ACCESS皆為不作用時(shí),則限制計(jì)數(shù)器1150的值也不會(huì)改變。
可用計(jì)數(shù)器1160為一上/下(Up/Down)計(jì)數(shù)器,包括尚未讀取數(shù)目值,表示頂點(diǎn)資料隊(duì)列2200中尚未讀取的頂點(diǎn)資料數(shù)目,此值每次增加或是減少一。圖6顯示可用計(jì)數(shù)器1160的操作流程。首先,可用計(jì)數(shù)器1160的尚未讀取數(shù)目值(AC)初始設(shè)定為零(步驟S61)(即頂點(diǎn)資料隊(duì)列2200中沒有任何頂點(diǎn)資料)。在信號(hào)ACK作用之后(表示有一頂點(diǎn)資料從系統(tǒng)存儲(chǔ)器3000送達(dá)頂點(diǎn)資料隊(duì)列2200中)(步驟S62的是),若信號(hào)ACCESS不作用(步驟S63的否),則可用計(jì)數(shù)器1160的值被加一(步驟S65)。
若信號(hào)ACK不作用(步驟S62的否),而信號(hào)ACCESS作用(步驟S64的是),可用計(jì)數(shù)器1160的值被減一(步驟S66)。而若信號(hào)ACK與ACCESS皆為作用時(shí),則可用計(jì)數(shù)器1160的值保持一樣,且若信號(hào)ACK與ACCESS皆為不作用時(shí),則可用計(jì)數(shù)器1160的值也不會(huì)改變。
圖7顯示要求控制器1120的操作流程。首先,信號(hào)REQUEST設(shè)為不作用(步驟S71),當(dāng)參考暫存器1140沒有滿時(shí)(步驟S72的否),由索引比較器1110接收相應(yīng)一頂點(diǎn)索引的判斷結(jié)果(包括信號(hào)HIT與OFFSET)(步驟S73)。接著,當(dāng)判斷結(jié)果是比對(duì)成功時(shí)(HIT為真(True))(步驟S74的是),則直接將判斷結(jié)果儲(chǔ)存至參考暫存器1140中(步驟S75)。
另一方面,當(dāng)判斷結(jié)果是比對(duì)失敗(HIT為假(False))(步驟S74的否)且限制計(jì)數(shù)器1150的值(LC)大于零時(shí)(步驟S76的是),則信號(hào)REQUEST為作用且傳送相應(yīng)此頂點(diǎn)索引的頂點(diǎn)資料要求給介面控制器2000(步驟S77)。之后,再將判斷結(jié)果儲(chǔ)存至參考暫存器1140中(步驟S75)。
存取控制器1130包括一循環(huán)計(jì)數(shù)器(Ring Counter),包含表示頂點(diǎn)資料隊(duì)列2200中的參考邏輯位置的一參考指標(biāo)值(RP)。圖8顯示存取控制器1130的操作流程。在初始階段時(shí),信號(hào)ACCESS與READ為不作用,且參考指標(biāo)值設(shè)為零(步驟S81)。當(dāng)繪圖加速系統(tǒng)要求一頂點(diǎn)資料(步驟S82的是)且參考暫存器1140不是空的時(shí)(步驟S83的否),存取控制器1130由參考暫存器1140抓取一組判斷結(jié)果(步驟S84),其中此判斷結(jié)果包括信號(hào)HIT與OFFSET。
接下來,依據(jù)判斷結(jié)果的比對(duì)成功與否(HIT為真與否)有兩種操作程序,分別進(jìn)行說明。首先,當(dāng)比對(duì)成功時(shí)(步驟S85的是),則目標(biāo)頂點(diǎn)資料的邏輯位置(POSIT10N)可依據(jù)RP與OFFSET進(jìn)行計(jì)算(步驟S86)如下POSITION=(RP-OFFSET)mod N,其中N為頂點(diǎn)資料隊(duì)列2200的尺寸。
接著,存取控制器1130將POSITION經(jīng)由信號(hào)ADD傳送給介面控制器2000,介面控制器2000則會(huì)依據(jù)POSITION輸出在頂點(diǎn)資料隊(duì)列2200中的頂點(diǎn)資料給存取控制器1130,存取控制器1130并將信號(hào)READ設(shè)為作用(步驟S87與S88)。
最后再將信號(hào)ACCESS與READ設(shè)為不作用(步驟S89)。
另一方面。當(dāng)比對(duì)失敗時(shí)(步驟S85的否)且可用計(jì)數(shù)器1160的尚未讀取數(shù)目值(AC)大于零時(shí)(步驟S90的是)時(shí),此時(shí),POSIT10N即為RP,存取控制器1130將POSIT10N經(jīng)由信號(hào)ADD傳送給介面控制器2000,介面控制器2000則會(huì)依據(jù)POSIT10N輸出在頂點(diǎn)資料隊(duì)列2200中的頂點(diǎn)資料給存取控制器1130(步驟S91)。之后,重新設(shè)定RP(步驟S92)RP=(RP+1)mod N(步驟S92)。
接著,存取控制器1130將信號(hào)ACCESS與READ設(shè)為作用(步驟S93與S88)。最后再將信號(hào)ACCESS與READ設(shè)為不作用(步驟S89)。
圖9顯示依據(jù)本發(fā)明實(shí)施例的頂點(diǎn)資料存取方法的操作流程。參考圖9,本發(fā)明實(shí)施例的操作流程將說明于下。
首先,如步驟S95,頂點(diǎn)資料隊(duì)列控制器1100接收一頂點(diǎn)索引。然后,如步驟S96,索引比較單元1110依據(jù)接收的頂點(diǎn)索引決定是否輸出相應(yīng)此頂點(diǎn)索引的一頂點(diǎn)資料要求,用以通知介面控制器2000依據(jù)此頂點(diǎn)資料要求由系統(tǒng)存儲(chǔ)器3000抓取相應(yīng)的頂點(diǎn)資料,并將由系統(tǒng)存儲(chǔ)器3000抓取的頂點(diǎn)資料存放于頂點(diǎn)資料隊(duì)列2200中。
其中,依據(jù)接收的頂點(diǎn)索引決定是否輸出相應(yīng)此頂點(diǎn)索引的頂點(diǎn)資料要求,先判斷此頂點(diǎn)索引是否存在于頂點(diǎn)索引暫存器1111中,并輸出相應(yīng)的判斷結(jié)果。之后,再依據(jù)判斷結(jié)果與限制計(jì)數(shù)器1150的可要求數(shù)目值決定是否輸出頂點(diǎn)資料要求,并將判斷結(jié)果存放于參考暫存器1140中。
接著,如步驟S97,頂點(diǎn)資料隊(duì)列控制器1100監(jiān)控介面控制器2000中頂點(diǎn)資料隊(duì)列2200的狀態(tài)。注意的是,在步驟S97中,監(jiān)控動(dòng)作可通過限制計(jì)數(shù)器1150、可用計(jì)數(shù)器1160與參考指標(biāo)RP的紀(jì)錄資料來完成。換言之,即通過限制計(jì)數(shù)器1150、可用計(jì)數(shù)器1160與參考指標(biāo)RP可以清楚知道頂點(diǎn)資料隊(duì)列2200中紀(jì)錄資料的情況。
之后,如步驟S98,頂點(diǎn)資料隊(duì)列控制器1100接收由繪圖加速系統(tǒng)傳送的一頂點(diǎn)資料需求信號(hào)。接著,如步驟S99,依據(jù)頂點(diǎn)資料隊(duì)列2200的狀態(tài)由頂點(diǎn)資料隊(duì)列2200中抓取相應(yīng)的頂點(diǎn)資料。在步驟S99中,由參考暫存器1140讀取一判斷結(jié)果,并依據(jù)判斷結(jié)果與可用計(jì)數(shù)器1160的尚未讀取數(shù)目值,由頂點(diǎn)資料隊(duì)列2200中抓取相應(yīng)的頂點(diǎn)資料。
注意的是,當(dāng)要求控制器1120輸出頂點(diǎn)資料要求給介面控制器2000時(shí),則將可要求數(shù)目值減一,當(dāng)存取控制器1130由頂點(diǎn)資料隊(duì)列2200中抓取頂點(diǎn)資料時(shí),則將可要求數(shù)目值加一且將尚未讀取數(shù)目值減一,而當(dāng)介面控制器2000將頂點(diǎn)資料存放于頂點(diǎn)資料隊(duì)列2200時(shí),則將尚未讀取數(shù)目值加一。
接下來,舉一實(shí)際例子進(jìn)行說明。圖10-圖13顯示在不同操作之后頂點(diǎn)資料隊(duì)列2200的狀態(tài)與參考指標(biāo)RP、限制計(jì)數(shù)器LC與可用計(jì)數(shù)器AC的值。假設(shè)頂點(diǎn)資料隊(duì)列2200最多可以具有八組頂點(diǎn)資料。介面控制器2000中具有一更新指標(biāo)UP,用以表示下一個(gè)接收的頂點(diǎn)資料要存至頂點(diǎn)資料隊(duì)列2200中的邏輯位置。在頂點(diǎn)資料隊(duì)列控制器1100中的參考指標(biāo)RP用以表示在頂點(diǎn)資料隊(duì)列2200中用作為參考位置的邏輯位置。在頂點(diǎn)資料隊(duì)列2200中的參考區(qū)域由參考指標(biāo)RP的值所泱定。假設(shè)參考區(qū)域的尺寸為3,其表示頂點(diǎn)資料快取存儲(chǔ)器具有3個(gè)參考頂點(diǎn)。
圖10顯示頂點(diǎn)資料隊(duì)列2200的一片段情況?,F(xiàn)在頂點(diǎn)資料隊(duì)列2200已經(jīng)接收五組頂點(diǎn)資料,分別表示為VK-2,VK-1,VK,VK+1,VK+2。三組頂點(diǎn)資料VK-2,VK-1,VK在參考區(qū)域之中,且VK+1,VK+2還沒被繪圖加速系統(tǒng)使用過。
此時(shí),更新指標(biāo)UP的值為3,表示下一個(gè)接收的頂點(diǎn)資料將儲(chǔ)存至“3”的邏輯位置。參考指標(biāo)RP的值為1,表示參考區(qū)域?yàn)椤?”、“7”與“6”。限制計(jì)數(shù)器LC的值為3,因?yàn)轫旤c(diǎn)資料隊(duì)列2200僅剩三個(gè)位置來儲(chǔ)存頂點(diǎn)資料??捎糜?jì)數(shù)器AC的值為2,表示已經(jīng)有兩組頂點(diǎn)資料已經(jīng)更新至頂點(diǎn)資料隊(duì)列2200中,且尚未被存取。
在兩個(gè)要求被允許之后,只有限制計(jì)數(shù)器LC的值被改變,如圖11中所示。因?yàn)樵陧旤c(diǎn)資料隊(duì)列2200中的邏輯位置‘3”與“4”被保留來儲(chǔ)存相應(yīng)此兩要求的頂點(diǎn)資料,因此,頂點(diǎn)資料隊(duì)列2200中只剩一邏輯位置可以記錄資料,且限制計(jì)數(shù)器LC的值應(yīng)該變成1。
當(dāng)相應(yīng)兩要求的兩組頂點(diǎn)資料由系統(tǒng)存儲(chǔ)器3000回傳至介面控制器2000時(shí),頂點(diǎn)資料隊(duì)列2200將具有七組頂點(diǎn)資料,如圖12中所示??捎糜?jì)數(shù)器AC的值變?yōu)?,且更新指標(biāo)UP的值變?yōu)?,指向邏輯位置“5”。
如果頂點(diǎn)資料隊(duì)列控制器1100存取在參考區(qū)域中的頂點(diǎn)資料(VK-2,VK-1,或VK)時(shí),則參考指標(biāo)RP、限制計(jì)數(shù)器LC與可用計(jì)數(shù)器AC不會(huì)有所改變。反之,如果頂點(diǎn)資料隊(duì)列控制器1100存取VK+1時(shí),參考指標(biāo)RP的值變成2,且參考區(qū)域變成“1”、“0”與“7”,如圖13中所示。注意的是,同時(shí),限制計(jì)數(shù)器LC與可用計(jì)數(shù)器AC的值分別增加與減少。
因此,藉由本發(fā)明所提出的頂點(diǎn)資料存取裝置及方法可以依據(jù)頂點(diǎn)索引由系統(tǒng)存儲(chǔ)器抓取頂點(diǎn)資料,同時(shí)利用頂點(diǎn)資料隊(duì)列的適當(dāng)控制而實(shí)現(xiàn)頂點(diǎn)資料快取存儲(chǔ)器的功能,從而減少儲(chǔ)存上空間的成本。
以上所述實(shí)施例僅系為說明本發(fā)明的技術(shù)思想及特點(diǎn),其目的在使熟習(xí)此項(xiàng)技藝的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,當(dāng)不能以其限定本發(fā)明的專利范圍,即大凡依本發(fā)明所揭示的精神所作的均等變化或修飾,仍應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍內(nèi)。
權(quán)利要求
1.一種頂點(diǎn)資料存取裝置,其特征是包括一介面控制器,具有一頂點(diǎn)資料隊(duì)列,用以接收一頂點(diǎn)資料要求,依據(jù)該頂點(diǎn)資料要求由一系統(tǒng)存儲(chǔ)器抓取一頂點(diǎn)資料,并將該頂點(diǎn)資料存放于該頂點(diǎn)資料隊(duì)列中;以及一頂點(diǎn)資料隊(duì)列控制器,用以接收一頂點(diǎn)索引,依據(jù)該頂點(diǎn)索引決定是否輸出相應(yīng)該頂點(diǎn)索引的該頂點(diǎn)資料要求給該介面控制器,并監(jiān)控該介面控制器中該頂點(diǎn)資料隊(duì)列的狀態(tài),且當(dāng)接收一頂點(diǎn)資料需求信號(hào)時(shí),依據(jù)該狀態(tài)由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
2.如權(quán)利要求1所述的頂點(diǎn)資料存取裝置,其特征是該頂點(diǎn)資料需求信號(hào)由一繪圖加速系統(tǒng)發(fā)出。
3.如權(quán)利要求1所述的頂點(diǎn)資料存取裝置,其特征是該頂點(diǎn)資料隊(duì)列控制器包括一索引比較單元,用以判斷該頂點(diǎn)索引是否存在于一頂點(diǎn)索引暫存器中,且輸出相應(yīng)的一判斷結(jié)果。
4.如權(quán)利要求3所述的頂點(diǎn)資料存取裝置,其特征是該頂點(diǎn)資料隊(duì)列控制器更包括一限制計(jì)數(shù)器,具有一可要求數(shù)目值,表示該介面控制器尚可接受的要求數(shù)目;以及一要求控制器,耦接至該索引比較單元,用以接收該判斷結(jié)果,依據(jù)該判斷結(jié)果與該可要求數(shù)目值決定是否輸出相應(yīng)該頂點(diǎn)索引的該頂點(diǎn)資料要求給該介面控制器,且將該判斷結(jié)果存放于一參考暫存器中。
5.如權(quán)利要求4所述的頂點(diǎn)資料存取裝置,其特征是該要求控制器輸出該頂點(diǎn)資料要求給該介面控制器時(shí),將該可要求數(shù)目值減一。
6.如權(quán)利要求4所述的頂點(diǎn)資料存取裝置,其特征是該頂點(diǎn)資料隊(duì)列控制器更包括一可用計(jì)數(shù)器,具有一尚未讀取數(shù)目值,表示該頂點(diǎn)資料隊(duì)列中尚未讀取的頂點(diǎn)資料數(shù)目;以及一存取控制器,當(dāng)該頂點(diǎn)資料隊(duì)列控制器接收該頂點(diǎn)資料需求信號(hào)時(shí),由該參考暫存器讀取該判斷結(jié)果,并依據(jù)該判斷結(jié)果與該尚未讀取數(shù)目值,由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
7.如權(quán)利要求6所述的頂點(diǎn)資料存取裝置,其特征是當(dāng)該存取控制器由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料時(shí),將該可要求數(shù)目值加一,且將該尚未讀取數(shù)目值減一。
8.如權(quán)利要求6所述的頂點(diǎn)資料存取裝置,其特征是當(dāng)介面控制器將該頂點(diǎn)資料存放于該頂點(diǎn)資料隊(duì)列時(shí),將該尚未讀取數(shù)目值加一。
9.如權(quán)利要求3所述的頂點(diǎn)資料存取裝置,其特征是若該頂點(diǎn)索引不存在于該頂點(diǎn)索引暫存器,則將該頂點(diǎn)索引存放于該頂點(diǎn)索引暫存器中。
10.如權(quán)利要求3所述的頂點(diǎn)資料存取裝置,其特征是該判斷結(jié)果包括一比對(duì)信息資料與一位移資料。
11.如權(quán)利要求3所述的頂點(diǎn)資料存取裝置,其特征是該頂點(diǎn)索引暫存器為一先進(jìn)先出暫存器。
12.如權(quán)利要求4所述的頂點(diǎn)資料存取裝置,其特征是該參考暫存器為一先進(jìn)先出暫存器。
13.一種頂點(diǎn)資料隊(duì)列控制器,其特征是包括一限制計(jì)數(shù)器,具有一可要求數(shù)目值,表示該介面控制器尚可接受的要求數(shù)目;一可用計(jì)數(shù)器,具有一尚未讀取數(shù)目值,表示該頂點(diǎn)資料隊(duì)列中尚未讀取的頂點(diǎn)資料數(shù)目;一索引比較單元,用以接收一頂點(diǎn)索引,判斷該頂點(diǎn)索引是否存在于一頂點(diǎn)索引暫存器中,且輸出相應(yīng)的一判斷結(jié)果;一要求控制器,接收該判斷結(jié)果,依據(jù)該判斷結(jié)果與該可要求數(shù)目值法定是否輸出相應(yīng)該頂點(diǎn)索引的該頂點(diǎn)資料要求給一介面控制器,用以通知該介面控制器依據(jù)該頂點(diǎn)資料要求由一系統(tǒng)存儲(chǔ)器抓取一頂點(diǎn)資料,并將該頂點(diǎn)資料存放于一頂點(diǎn)資料隊(duì)列中,且將該判斷結(jié)果存放于一參考暫存器中;以及一存取控制器,當(dāng)該頂點(diǎn)資料隊(duì)列控制器接收一頂點(diǎn)資料需求信號(hào)時(shí),由該參考暫存器讀取該判斷結(jié)果,并依據(jù)該判斷結(jié)果與該尚未讀取數(shù)目值,由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
14.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是該頂點(diǎn)資料需求信號(hào)由一繪圖加速系統(tǒng)發(fā)出。
15.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是當(dāng)該要求控制器輸出該頂點(diǎn)資料要求給該介面控制器時(shí),將該可要求數(shù)目值減一。
16.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是當(dāng)該存取控制器由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料時(shí),將該可要求數(shù)目值加一,且將該尚未讀取數(shù)目值減一。
17.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是當(dāng)介面控制器將該頂點(diǎn)資料存放于該頂點(diǎn)資料隊(duì)列時(shí),將該尚未讀取數(shù)目值加一。
18.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是若該頂點(diǎn)索引不存在于該頂點(diǎn)索引暫存器,則將該頂點(diǎn)索引存放于該頂點(diǎn)索引暫存器中。
19.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是該判斷結(jié)果包括一比對(duì)信息資料與一位移資料。
20.如權(quán)利要求13所述的頂點(diǎn)資料隊(duì)列控制器,其特征是該頂點(diǎn)索引暫存器與該參考暫存器為先進(jìn)先出暫存器。
21.一種頂點(diǎn)資料存取方法,其特征是包括下列步驟接收一頂點(diǎn)索引;依據(jù)該頂點(diǎn)索引決定是否輸出相應(yīng)該頂點(diǎn)索引的一頂點(diǎn)資料要求,用以通知一介面控制器依據(jù)該頂點(diǎn)資料要求由一系統(tǒng)存儲(chǔ)器抓取一頂點(diǎn)資料,并將該頂點(diǎn)資料存放于一頂點(diǎn)資料隊(duì)列中;監(jiān)控該介面控制器中該頂點(diǎn)資料隊(duì)列的狀態(tài);接收一頂點(diǎn)資料需求信號(hào);以及依據(jù)該頂點(diǎn)資料隊(duì)列的該狀態(tài)由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
22.如權(quán)利要求21所述的頂點(diǎn)資料存取方法,其特征是依據(jù)該頂點(diǎn)索引決定是否輸出相應(yīng)該頂點(diǎn)索引的一頂點(diǎn)資料要求,包括下列步驟判斷該頂點(diǎn)索引是否存在于一頂點(diǎn)索引暫存器中,且輸出相應(yīng)的一判斷結(jié)果;以及依據(jù)該判斷結(jié)果與一可要求數(shù)目值決定是否輸出該頂點(diǎn)資料要求。
23.如權(quán)利要求22所述的頂點(diǎn)資料存取方法,其特征是更包括將該判斷結(jié)果存放于一參考暫存器中。
24.如權(quán)利要求23所述的頂點(diǎn)資料存取方法,其特征是依據(jù)該頂點(diǎn)資料隊(duì)列的該狀態(tài)由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料,由該參考暫存器讀取該判斷結(jié)果,并依據(jù)該判斷結(jié)果與一尚未讀取數(shù)目值,由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料。
25.如權(quán)利要求22所述的頂點(diǎn)資料存取方法,其特征是當(dāng)該要求控制器輸出該頂點(diǎn)資料要求給該介面控制器時(shí),將該可要求數(shù)目值減一。
26.如權(quán)利要求24所述的頂點(diǎn)資料存取方法,其特征是當(dāng)該存取控制器由該頂點(diǎn)資料隊(duì)列中抓取該頂點(diǎn)資料時(shí),將該可要求數(shù)目值加一,且將該尚未讀取數(shù)目值減一。
27.如權(quán)利要求24所述的頂點(diǎn)資料存取方法,其特征是當(dāng)介面控制器將該頂點(diǎn)資料存放于該頂點(diǎn)資料隊(duì)列時(shí),將該尚未讀取數(shù)目值加一。
28.如權(quán)利要求22所述的頂點(diǎn)資料存取方法,其特征是更包括若該頂點(diǎn)索引不存在于該頂點(diǎn)索引暫存器,則將該頂點(diǎn)索引存放于該頂點(diǎn)索引暫存器中。
29.如權(quán)利要求22所述的頂點(diǎn)資料存取方法,其特征是該判斷結(jié)果包括一比對(duì)信息資料與一位移資料。
全文摘要
一種頂點(diǎn)資料存取裝置及方法,該裝置包括一介面控制器與一頂點(diǎn)資料隊(duì)列控制器;其中頂點(diǎn)資料隊(duì)列控制器包括一限制計(jì)數(shù)器、可用計(jì)數(shù)器、索引比較單元、要求控制器與存取控制器;限制計(jì)數(shù)器具有一可要求數(shù)目值,表示介面控制器中尚可接受的要求數(shù)目;可用計(jì)數(shù)器具有一尚未讀取數(shù)目值,表示介面控制器的頂點(diǎn)資料隊(duì)列中尚未讀取的頂點(diǎn)資料數(shù)目;索引比較單元判斷輸入的頂點(diǎn)索引是否存在于一頂點(diǎn)索引暫存器中,且輸出相應(yīng)的判斷結(jié)果給要求控制器;要求控制器依據(jù)判斷結(jié)果與可要求數(shù)目值決定是否輸出相應(yīng)的頂點(diǎn)資料要求給介面控制器,且將該判斷結(jié)果存放于一參考暫存器中;當(dāng)接收頂點(diǎn)資料需求信號(hào)時(shí),存取控制器由參考暫存器讀取判斷結(jié)果,并依據(jù)判斷結(jié)果與尚未讀取數(shù)目值,由頂點(diǎn)資料隊(duì)列中抓取頂點(diǎn)資料。
文檔編號(hào)G06T17/00GK1428746SQ0113867
公開日2003年7月9日 申請(qǐng)日期2001年12月28日 優(yōu)先權(quán)日2001年12月28日
發(fā)明者呂忠晏 申請(qǐng)人:矽統(tǒng)科技股份有限公司