針對(duì)重復(fù)工作負(fù)荷的結(jié)果數(shù)據(jù)流編碼的制作方法
【專利摘要】本發(fā)明公開了針對(duì)重復(fù)工作負(fù)荷的結(jié)果數(shù)據(jù)流編碼。圖形處理流水線包括具有頂點(diǎn)變換高速緩存(20)的頂點(diǎn)變換平臺(tái)(14)。若已接收變換頂點(diǎn)數(shù)據(jù)的請(qǐng)求且頂點(diǎn)變換高速緩存(20)指示已針對(duì)該接收到的請(qǐng)求產(chǎn)生經(jīng)變換的頂點(diǎn)數(shù)據(jù),則隨后在結(jié)果數(shù)據(jù)流內(nèi)輸出該先前產(chǎn)生的經(jīng)變換頂點(diǎn)數(shù)據(jù)的指針,以替代該變換頂點(diǎn)數(shù)據(jù)。在視需要由柵格化平臺(tái)(16)取得變換頂點(diǎn)數(shù)據(jù)之前,將該變換頂點(diǎn)數(shù)據(jù)儲(chǔ)存至存儲(chǔ)器(10)。
【專利說(shuō)明】針對(duì)重復(fù)工作負(fù)荷的結(jié)果數(shù)據(jù)流編碼
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)的領(lǐng)域。更特定言之,本發(fā)明涉及這樣的數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)接收請(qǐng)求流以執(zhí)行相應(yīng)處理任務(wù),并且以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的一部分而輸出的對(duì)應(yīng)區(qū)塊的結(jié)果數(shù)據(jù)值。
【背景技術(shù)】
[0002]在許多情況下,數(shù)據(jù)處理系統(tǒng)可接收?qǐng)?zhí)行相應(yīng)處理任務(wù)以產(chǎn)生對(duì)應(yīng)的結(jié)果數(shù)據(jù)值區(qū)塊的請(qǐng)求流。此類系統(tǒng)的一實(shí)例為圖形處理流水線,在該圖形處理流水線中,頂點(diǎn)變換平臺(tái)(stage)接收在所接收到的頂點(diǎn)數(shù)據(jù)上執(zhí)行變換操作的請(qǐng)求,以形成經(jīng)變換的頂點(diǎn)數(shù)據(jù)。這些請(qǐng)求對(duì)應(yīng)于待變換的頂點(diǎn)數(shù)據(jù)流,且結(jié)果數(shù)據(jù)區(qū)塊對(duì)應(yīng)于所產(chǎn)生的經(jīng)變換的頂點(diǎn)數(shù)據(jù)流。在這些實(shí)施例中,通常直接將經(jīng)變換的頂點(diǎn)數(shù)據(jù)流傳遞至后續(xù)的柵格化平臺(tái)。使用寬的總線來(lái)傳遞如此產(chǎn)生的大量的數(shù)據(jù)。然而,若采用延遲渲染方法(deferred renderingapproach),則隨后在由柵格化平臺(tái)讀取經(jīng)變換的頂點(diǎn)數(shù)據(jù)之前,需要將該經(jīng)變換的頂點(diǎn)數(shù)據(jù)儲(chǔ)存至存儲(chǔ)器。在此類情形中需要移送至存儲(chǔ)器及從存儲(chǔ)器移送出的大量數(shù)據(jù)在速度及功率消耗兩方面表現(xiàn)出大量開銷。
【發(fā)明內(nèi)容】
[0003]自一個(gè)方面可見,本發(fā)明提供一種處理數(shù)據(jù)的方法,該方法包含以下步驟:
[0004]接收?qǐng)?zhí)行相應(yīng)處理任務(wù)的一請(qǐng)求流,以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的部分被輸出的對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊;
[0005]識(shí)別該請(qǐng)求流內(nèi)一接收到的請(qǐng)求是否匹配該請(qǐng)求流內(nèi)的一組先前接收到的請(qǐng)求中的任一者,針對(duì)該任一者已產(chǎn)生了用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的先前結(jié)果數(shù)據(jù)值區(qū)塊,以及:
[0006](i)若該接收到的請(qǐng)求不匹配該組先前接收到的請(qǐng)求中的任一者,則執(zhí)行對(duì)應(yīng)于該接收到的請(qǐng)求的新處理任務(wù),且產(chǎn)生作為該結(jié)果數(shù)據(jù)流的部分而輸出的新結(jié)果數(shù)據(jù)值區(qū)塊;
[0007](ii)若該接收到的請(qǐng)求匹配一先前接收到的請(qǐng)求,則產(chǎn)生用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的指向該結(jié)果數(shù)據(jù)流內(nèi)的該先前結(jié)果數(shù)據(jù)值區(qū)塊的一指針。
[0008]本技術(shù)考慮到在許多實(shí)際生活工作負(fù)荷中,所接收到的執(zhí)行相應(yīng)處理任務(wù)的請(qǐng)求流經(jīng)常含有執(zhí)行相同處理任務(wù)的重復(fù)請(qǐng)求。執(zhí)行相同處理任務(wù)將產(chǎn)生相同的結(jié)果數(shù)據(jù)值區(qū)塊。因此,若先前的請(qǐng)求已導(dǎo)致產(chǎn)生用于輸出的相同結(jié)果數(shù)據(jù)值區(qū)塊,則隨后可替代地產(chǎn)生且輸出指針(該指針標(biāo)識(shí)該結(jié)果數(shù)據(jù)流內(nèi)的該先前的結(jié)果數(shù)據(jù)值區(qū)塊),而不是再次產(chǎn)生且輸出相同的結(jié)果數(shù)據(jù)值區(qū)塊。此指針值可比該指針值指向的結(jié)果數(shù)據(jù)值區(qū)塊更緊密,且因此節(jié)省了待傳送的數(shù)據(jù)量。因?yàn)榕c新接收到的請(qǐng)求相對(duì)應(yīng)的結(jié)果數(shù)據(jù)值區(qū)塊與先前產(chǎn)生的結(jié)果數(shù)據(jù)值區(qū)塊相同,所以無(wú)信息損失。該結(jié)果數(shù)據(jù)流的接收器接收結(jié)果數(shù)據(jù)值區(qū)塊或指向先前接收到的結(jié)果數(shù)據(jù)值區(qū)塊的指針,這些指針可解釋為對(duì)應(yīng)于那些先前接收到的結(jié)果數(shù)據(jù)值區(qū)塊。以此方式,若需要,接收器可將結(jié)果數(shù)據(jù)流重建為與未使用本技術(shù)的形式相對(duì)應(yīng)的形式。
[0009]應(yīng)了解,由于多種原因(諸如減少與結(jié)果數(shù)據(jù)流的傳輸有關(guān)的開銷),需要減少該結(jié)果數(shù)據(jù)流的數(shù)據(jù)量。然而,本技術(shù)在將結(jié)果數(shù)據(jù)流輸出至存儲(chǔ)器時(shí)特別有用,因?yàn)楸炯夹g(shù)可減少將結(jié)果數(shù)據(jù)流儲(chǔ)存在存儲(chǔ)器內(nèi)及從存儲(chǔ)器取得結(jié)果數(shù)據(jù)流的能耗以及減少儲(chǔ)存該結(jié)果數(shù)據(jù)流所需要的存儲(chǔ)器空間量。
[0010]通過(guò)在高速緩存中儲(chǔ)存用于識(shí)別一組先前接收到的請(qǐng)求的標(biāo)簽值,可有助于識(shí)別與新接收到的請(qǐng)求匹配的先前接收到的請(qǐng)求。識(shí)別步驟可比較接收到的請(qǐng)求的所接收標(biāo)簽值與儲(chǔ)存在高速緩存內(nèi)的標(biāo)簽值。與高速緩存的標(biāo)簽值中的任一者的匹配指示了接收到的請(qǐng)求與先前接收到的請(qǐng)求相匹配,且因此可使用響應(yīng)于新接收到的請(qǐng)求所產(chǎn)生的指針來(lái)引用針對(duì)該先前接收到的請(qǐng)求的該結(jié)果數(shù)據(jù)值區(qū)塊,并且該指針在結(jié)果數(shù)據(jù)流中輸出。
[0011]應(yīng)了解,高速緩存具有有限量的儲(chǔ)存空間,且因此在將要驅(qū)逐一高速緩存條目時(shí),該條目的標(biāo)簽值在該高速緩存中將不再可用于與新接收到的請(qǐng)求的標(biāo)簽值作比較。因此,被驅(qū)逐的先前接收到的請(qǐng)求不再是在識(shí)別步驟中所使用的該組先前接收到的請(qǐng)求的成員。實(shí)際上,使高速緩存在時(shí)間和空間局域性(locality)(利用該局域性進(jìn)行存儲(chǔ)器存取)方面有效的現(xiàn)實(shí)生活考慮亦傾向于應(yīng)用接收到的請(qǐng)求,且因此實(shí)際上可能將類似的請(qǐng)求成組在一起,以使得需要從高速緩存中驅(qū)逐先前接收到的請(qǐng)求的標(biāo)簽的效果被緩解。
[0012]一些實(shí)施例中的高速緩存可與每一標(biāo)簽值相關(guān)聯(lián)地儲(chǔ)存先前結(jié)果數(shù)據(jù)值區(qū)塊的指針值。指針值可在其自己的分離數(shù)據(jù)結(jié)構(gòu)中與標(biāo)簽值一起儲(chǔ)存,或與針對(duì)所涉及的標(biāo)簽值而儲(chǔ)存在高速緩存內(nèi)部的數(shù)據(jù)值區(qū)塊一起儲(chǔ)存。
[0013]在實(shí)施例中可便利地提供對(duì)指標(biāo)值的管理,在這些實(shí)施例中,索引值被與作為結(jié)果數(shù)據(jù)流的部分而輸出的每個(gè)新的結(jié)果數(shù)據(jù)值區(qū)塊相關(guān)聯(lián)。當(dāng)索引值充當(dāng)后續(xù)將在結(jié)果數(shù)據(jù)流內(nèi)引用的先前結(jié)果數(shù)據(jù)值區(qū)塊時(shí),則可將此索引值用作該結(jié)果數(shù)據(jù)值區(qū)塊的指針。應(yīng)了解,索引值可采取多種形式,且在一些實(shí)施例中,索引值可以是簡(jiǎn)單遞增的計(jì)數(shù)值。
[0014]盡管未限制于一種特定的應(yīng)用領(lǐng)域,本技術(shù)發(fā)現(xiàn)特別適用于其中處理任務(wù)對(duì)應(yīng)于圖形處理流水線內(nèi)的處理平臺(tái)的實(shí)施例。此類處理通常涉及大量的數(shù)據(jù),且在待產(chǎn)生的結(jié)果數(shù)據(jù)區(qū)塊內(nèi)具有相對(duì)高的重復(fù)可能性,例如,由于重復(fù)使用被操縱的圖形數(shù)據(jù)的多個(gè)基元內(nèi)的相同頂點(diǎn),因此頂點(diǎn)數(shù)據(jù)可在多種情況下被變換。在如此的情境中,由頂點(diǎn)變換平臺(tái)接收所接收到的請(qǐng)求,處理任務(wù)是頂點(diǎn)變換操作,且結(jié)果數(shù)據(jù)值流是經(jīng)變換的頂點(diǎn)數(shù)據(jù)流。
[0015]在此頂點(diǎn)變換應(yīng)用中,識(shí)別步驟可將頂點(diǎn)識(shí)別符與先前變換的頂點(diǎn)的頂點(diǎn)識(shí)別符相比較。因此,該頂點(diǎn)識(shí)別符可視為針對(duì)接收到的請(qǐng)求及針對(duì)對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊的標(biāo)簽。
[0016]在一些實(shí)施例中,可由頂點(diǎn)變換平臺(tái)將經(jīng)變換的頂點(diǎn)數(shù)據(jù)流儲(chǔ)存至存儲(chǔ)器,且然后由柵格化平臺(tái)從存儲(chǔ)器讀取。因?yàn)樵S多原因,此類延遲渲染圖形處理系統(tǒng)為有利的,但是此類系統(tǒng)遭遇到潛在地涉及將大量數(shù)據(jù)移送至存儲(chǔ)器及從存儲(chǔ)器移送出大量數(shù)據(jù)的缺點(diǎn)。本技術(shù)減少了這樣的開銷。
[0017]自另一個(gè)方面可見,本發(fā)明提供了一種用于處理數(shù)據(jù)的設(shè)備,該設(shè)備包含:
[0018]接收電路,該接收電路被配置來(lái)接收?qǐng)?zhí)行相應(yīng)處理任務(wù)的一請(qǐng)求流,以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的部分輸出的對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊;
[0019]識(shí)別電路,該識(shí)別電路被配置來(lái)識(shí)別該請(qǐng)求流內(nèi)的一接收到的請(qǐng)求是否匹配該請(qǐng)求流內(nèi)的一組先前接收到的請(qǐng)求中的任一者,針對(duì)該任一者已產(chǎn)生了用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的先前結(jié)果數(shù)據(jù)值區(qū)塊,以及
[0020]輸出產(chǎn)生電路,該輸出產(chǎn)生電路被配置來(lái)響應(yīng)于接收到的請(qǐng)求產(chǎn)生結(jié)果數(shù)據(jù)值區(qū)塊,其中
[0021](i)若該接收到的請(qǐng)求不匹配該組先前接收到的請(qǐng)求中的任一者,則利用該輸出產(chǎn)生電路執(zhí)行對(duì)應(yīng)于該接收到的請(qǐng)求的新處理任務(wù),且產(chǎn)生作為該結(jié)果數(shù)據(jù)流的部分而輸出的新結(jié)果數(shù)據(jù)值區(qū)塊;
[0022](ii)若該接收到的請(qǐng)求匹配一先前接收到的請(qǐng)求,則利用該輸出產(chǎn)生電路產(chǎn)生用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的指向該結(jié)果數(shù)據(jù)流內(nèi)的該先前結(jié)果數(shù)據(jù)值區(qū)塊的一指針。
[0023]自另一個(gè)方面可見,本發(fā)明提供一種用于處理數(shù)據(jù)的設(shè)備,該設(shè)備包含:
[0024]接收裝置,該接收裝置用于接收?qǐng)?zhí)行相應(yīng)處理任務(wù)的一請(qǐng)求流,以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的部分輸出的對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊;
[0025]識(shí)別裝置,該識(shí)別裝置用于識(shí)別該請(qǐng)求流內(nèi)的一接收到的請(qǐng)求是否匹配該請(qǐng)求流內(nèi)的一組先前接收到的請(qǐng)求中的任一者,針對(duì)該任一者已產(chǎn)生了用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的先前結(jié)果數(shù)據(jù)值區(qū)塊,以及
[0026]輸出產(chǎn)生裝置,該輸出產(chǎn)生裝置用于響應(yīng)于接收到的請(qǐng)求產(chǎn)生結(jié)果數(shù)據(jù)值區(qū)塊,其中
[0027](i)若該接收到的請(qǐng)求不匹配該組先前接收到的請(qǐng)求中的任一者,則利用該輸出產(chǎn)生裝置執(zhí)行對(duì)應(yīng)于該接收到的請(qǐng)求的新處理任務(wù),且產(chǎn)生作為該結(jié)果數(shù)據(jù)流的部分而輸出的新結(jié)果數(shù)據(jù)值區(qū)塊;
[0028](ii)若該接收到的請(qǐng)求匹配一先前接收到的請(qǐng)求,則利用該輸出產(chǎn)生裝置產(chǎn)生用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的指向該結(jié)果數(shù)據(jù)流內(nèi)的該先前結(jié)果數(shù)據(jù)值區(qū)塊的一指針。
[0029]從下文中聯(lián)系附圖閱讀的說(shuō)明性實(shí)施例的詳細(xì)描述,本發(fā)明的上述及其他目標(biāo)、特征及優(yōu)勢(shì)將變得顯而易見。
【專利附圖】
【附圖說(shuō)明】
[0030]圖1示意性地圖示出芯片上系統(tǒng)集成電路,該芯片上系統(tǒng)集成電路包括圖形處理流水線,該圖形處理流水線將經(jīng)變換的頂點(diǎn)數(shù)據(jù)儲(chǔ)存至存儲(chǔ)器作為延遲渲染的部分;
[0031]圖2為流程圖,該流程圖示意性地圖示響應(yīng)于接收到變換頂點(diǎn)數(shù)據(jù)的請(qǐng)求而產(chǎn)生經(jīng)變換的頂點(diǎn)數(shù)據(jù)流;
[0032]圖3示意性地圖示出包括結(jié)果數(shù)據(jù)區(qū)塊及指向結(jié)果數(shù)據(jù)區(qū)塊的指針兩者的結(jié)果數(shù)據(jù)流的產(chǎn)生;
[0033]圖4示意性地圖示出用于儲(chǔ)存標(biāo)簽值、經(jīng)變換的頂點(diǎn)數(shù)據(jù)及索引值的高速緩存;以及
[0034]圖5示意性地圖示頂點(diǎn)變換平臺(tái)。
【具體實(shí)施方式】
[0035]第I圖示意性地圖示出芯片上系統(tǒng)集成電路(SoCIC) 2,該芯片上系統(tǒng)集成電路2包括圖形處理單元4、通用處理器6、顯示驅(qū)動(dòng)器8及存儲(chǔ)器10。圖形處理單元4包括圖形處理流水線,該圖形處理流水線具有提取平臺(tái)12、頂點(diǎn)變換平臺(tái)14、柵格化平臺(tái)16及一個(gè)或多個(gè)其他平臺(tái)18。頂點(diǎn)變換平臺(tái)14接收由提取平臺(tái)12自存儲(chǔ)器10提取的頂點(diǎn)數(shù)據(jù)。接收頂點(diǎn)數(shù)據(jù)對(duì)應(yīng)于接收變換該頂點(diǎn)數(shù)據(jù)的請(qǐng)求,且頂點(diǎn)變換平臺(tái)14執(zhí)行此變換。將產(chǎn)生的經(jīng)變換頂點(diǎn)數(shù)據(jù)儲(chǔ)存在頂點(diǎn)變換高速緩存20內(nèi)。頂點(diǎn)變換高速緩存可用于抑制重復(fù)地變換接收到的相同頂點(diǎn)數(shù)據(jù)的要求,且可儲(chǔ)存經(jīng)變換的頂點(diǎn)數(shù)據(jù)以供再用。此經(jīng)變換的頂點(diǎn)數(shù)據(jù)形成結(jié)果數(shù)據(jù)流的部分,該結(jié)果數(shù)據(jù)流包含儲(chǔ)存回存儲(chǔ)器10的結(jié)果數(shù)據(jù)值區(qū)塊。柵格化平臺(tái)16視需要從存儲(chǔ)器10取得此經(jīng)變換的頂點(diǎn)數(shù)據(jù),且在其上執(zhí)行柵格處理。
[0036]除了儲(chǔ)存先前產(chǎn)生的結(jié)果數(shù)據(jù)值區(qū)塊且抑制再次執(zhí)行相同處理以產(chǎn)生這些結(jié)果數(shù)據(jù)值區(qū)塊的需要,頂點(diǎn)變換高速緩存20亦可用于識(shí)別已發(fā)送至存儲(chǔ)器10的先前產(chǎn)生的相同結(jié)果數(shù)據(jù)值區(qū)塊以作為結(jié)果數(shù)據(jù)流的部分。因此,取代重發(fā)這些相同結(jié)果數(shù)據(jù)值區(qū)塊至存儲(chǔ)器10,可發(fā)送指向該先前產(chǎn)生的結(jié)果數(shù)據(jù)值區(qū)塊的指針。此舉減少傳送至存儲(chǔ)器10及從存儲(chǔ)器10傳送出的數(shù)據(jù)量。
[0037]柵格化平臺(tái)16從存儲(chǔ)器10取得結(jié)果數(shù)據(jù)值區(qū)塊及指針。柵格化平臺(tái)16可自(從存儲(chǔ)器10取得的)編碼的結(jié)果數(shù)據(jù)流來(lái)重建完整的變換頂點(diǎn)數(shù)據(jù)流,且可以以傳統(tǒng)的方式為柵格處理供給此完整的變換頂點(diǎn)數(shù)據(jù)流。
[0038]用于界定圖形圖像的頂點(diǎn)數(shù)據(jù)網(wǎng)格(mesh)可以被配置為使得重復(fù)引用的頂點(diǎn)在這些頂點(diǎn)被呈現(xiàn)用于變換的時(shí)間上彼此接近,從而增加在頂點(diǎn)變換高速緩存20中識(shí)別此類重復(fù)頂點(diǎn)變換的可能性,且因此可抑制相同數(shù)據(jù)的重復(fù)產(chǎn)生,并且包含經(jīng)變換的頂點(diǎn)數(shù)據(jù)的重復(fù)結(jié)果數(shù)據(jù)值區(qū)塊轉(zhuǎn)而可由指向已被產(chǎn)生且輸出的經(jīng)變換頂點(diǎn)數(shù)據(jù)的指針替代。
[0039]第2圖為流程圖,該流程圖示意性地圖示出根據(jù)本技術(shù)接收?qǐng)?zhí)行處理任務(wù)的請(qǐng)求以及產(chǎn)生結(jié)果數(shù)據(jù)流。在步驟22處,直至頂點(diǎn)變換平臺(tái)14接收待變換的頂點(diǎn)數(shù)據(jù)后處理才開始。在步驟24處,在頂點(diǎn)變換高速緩存20內(nèi)查找接收到的頂點(diǎn)數(shù)據(jù)的標(biāo)簽值。根據(jù)常規(guī)高速緩存技術(shù),頂點(diǎn)變換高速緩存20可具有不同程度的關(guān)聯(lián)性(associativity)。完全關(guān)聯(lián)或集合關(guān)聯(lián)的高速緩存的使用可改良效率。
[0040]步驟26判斷頂點(diǎn)變換高速緩存20內(nèi)是否有命中。若無(wú)命中,則隨后處理進(jìn)行至步驟28,在步驟28處,在接收到的頂點(diǎn)數(shù)據(jù)上執(zhí)行變換處理,以產(chǎn)生經(jīng)變換的頂點(diǎn)數(shù)據(jù)。步驟30隨后遞增計(jì)數(shù)值(待用作指針/索引),且將此計(jì)數(shù)值附加至經(jīng)變換的頂點(diǎn)數(shù)據(jù)。步驟32將經(jīng)變換的頂點(diǎn)數(shù)據(jù)、該頂點(diǎn)標(biāo)簽及計(jì)數(shù)值儲(chǔ)存于頂點(diǎn)變換高速緩存20中。步驟34將包括計(jì)數(shù)值的經(jīng)變換的頂點(diǎn)數(shù)據(jù)輸出至存儲(chǔ)器10。發(fā)送計(jì)數(shù)值連同經(jīng)變換的頂點(diǎn)數(shù)據(jù)(稍后可將該經(jīng)變換的頂點(diǎn)數(shù)據(jù)指向使用該計(jì)數(shù)值)的步驟促進(jìn)了后續(xù)處理中完整結(jié)果數(shù)據(jù)流的重建。
[0041]若步驟26處的判定為在頂點(diǎn)變換高速緩存20內(nèi)發(fā)生命中,則隨后處理進(jìn)行至步驟36。步驟36將頂點(diǎn)變換高速緩存20內(nèi)命中的條目的計(jì)數(shù)值輸出至存儲(chǔ)器10。命中的發(fā)生指示在步驟22處接收的用于變換的頂點(diǎn)已經(jīng)被變換并且在先前處理中已輸出針對(duì)該接收到的頂點(diǎn)的經(jīng)變換頂點(diǎn)數(shù)據(jù)(參看步驟34)。因此,可藉由僅發(fā)送在結(jié)果數(shù)據(jù)流內(nèi)指向該先前產(chǎn)生且輸出的經(jīng)變換頂點(diǎn)數(shù)據(jù)的指針來(lái)減少數(shù)據(jù)量。
[0042]第3圖示意性地圖示用于產(chǎn)生經(jīng)變換的頂點(diǎn)數(shù)據(jù)流的頂點(diǎn)變換處理。待變換的頂點(diǎn)數(shù)據(jù)表示為四個(gè)基元三角形。第一基元三角形具有頂點(diǎn)A、B、C。第二基元三角形具有頂點(diǎn)B、C、D。第三基元三角形具有頂點(diǎn)C、D、E。第四基元三角形具有頂點(diǎn)D、E、F。當(dāng)以第一、第二、第三及第四基元三角形的順序?qū)⒋说然切蔚捻旤c(diǎn)數(shù)據(jù)發(fā)送至頂點(diǎn)變換平臺(tái)14時(shí),所得的經(jīng)變換頂點(diǎn)數(shù)據(jù)流將如圖所示。
[0043]關(guān)于第一三角形,頂點(diǎn)A、B及C第一次遇到,且因此完整的經(jīng)變換頂點(diǎn)數(shù)據(jù)將被產(chǎn)生并將在經(jīng)變換頂點(diǎn)數(shù)據(jù)流內(nèi)輸出。關(guān)于第二基元三角形,頂點(diǎn)B、C已遇到,且因此頂點(diǎn)變換平臺(tái)14產(chǎn)生相應(yīng)的指針b、c (指針b、c識(shí)別已被產(chǎn)生且輸出的經(jīng)變換頂點(diǎn)數(shù)據(jù)B、C),而不是產(chǎn)生經(jīng)變換的頂點(diǎn)數(shù)據(jù)且輸出該經(jīng)變換的頂點(diǎn)數(shù)據(jù)。形成第二基元三角形的部分的頂點(diǎn)D之前尚未遇到,且因此經(jīng)變換的頂點(diǎn)數(shù)據(jù)被輸出為D。
[0044]關(guān)于第三基元三角形,頂點(diǎn)D和C之前已遇到,且因此指向先前產(chǎn)生的經(jīng)變換頂點(diǎn)數(shù)據(jù)的指針被包括在結(jié)果數(shù)據(jù)流內(nèi)。頂點(diǎn)E之前尚未被遇到,且因此將輸出頂點(diǎn)E的完整的經(jīng)變換頂點(diǎn)數(shù)據(jù)。關(guān)于第四基元三角形,頂點(diǎn)D及E之前已遇到,且因此指針d、e將在其位置中被輸出。頂點(diǎn)F之前尚未遇到,且因此頂點(diǎn)F的完整的經(jīng)變換頂點(diǎn)數(shù)據(jù)被產(chǎn)生且在經(jīng)變換的頂點(diǎn)數(shù)據(jù)流內(nèi)輸出。
[0045]第4圖示意性地圖示出頂點(diǎn)變換高速緩存20。在此實(shí)例中,頂點(diǎn)變換高速緩存20圖示出為完全關(guān)聯(lián)高速緩存,以使得接收到的頂點(diǎn)的標(biāo)簽值被與儲(chǔ)存作為頂點(diǎn)變換高速緩存20的一部分的所有標(biāo)簽值進(jìn)行并行比較。對(duì)于高速緩存的每一行,儲(chǔ)存有將用作在結(jié)果數(shù)據(jù)流中替代該經(jīng)變換頂點(diǎn)數(shù)據(jù)的指針/索引的計(jì)數(shù)值、經(jīng)變換頂點(diǎn)數(shù)據(jù)及標(biāo)簽值(TAG),若經(jīng)變換的頂點(diǎn)數(shù)據(jù)在結(jié)果數(shù)據(jù)流內(nèi)重復(fù)而此經(jīng)變換的頂點(diǎn)數(shù)據(jù)仍保持在頂點(diǎn)變換高速緩存20內(nèi)的話。
[0046]頂點(diǎn)變換高速緩存20可應(yīng)用最近最少使用的驅(qū)逐政策,以便管理其有限的儲(chǔ)存容量。將了解,盡管第4圖圖示出標(biāo)簽值、經(jīng)變換的頂點(diǎn)數(shù)據(jù)和計(jì)數(shù)值都在單行上,實(shí)際上可將它們存在分離結(jié)構(gòu)或者部分地或完全地合并這些值的結(jié)構(gòu)中。
[0047]第5圖示意性地圖示頂點(diǎn)變換平臺(tái)14。頂點(diǎn)變換平臺(tái)14包括接收電路38,接收電路38用于接收?qǐng)?zhí)行處理任務(wù)的請(qǐng)求,該任務(wù)形式為將頂點(diǎn)數(shù)據(jù)變換為經(jīng)變換的頂點(diǎn)數(shù)據(jù)。識(shí)別電路40用于識(shí)別接收到的請(qǐng)求(頂點(diǎn)數(shù)據(jù))是否對(duì)應(yīng)于一組先前接收到的請(qǐng)求(先前接收到的頂點(diǎn)數(shù)據(jù))的任一成員。若存在匹配,則隨后向輸出產(chǎn)生電路系統(tǒng)發(fā)出匹配訊號(hào),該輸出產(chǎn)生電路系統(tǒng)產(chǎn)生指向該先前產(chǎn)生的經(jīng)變換頂點(diǎn)數(shù)據(jù)的指針,而不是再次產(chǎn)生及輸出該經(jīng)變換頂點(diǎn)數(shù)據(jù)。如第3圖圖示出,輸出產(chǎn)生電路42產(chǎn)生結(jié)果數(shù)據(jù)流。計(jì)數(shù)器44用于跟蹤將用作指針值(索引值)的計(jì)數(shù)值。
[0048]應(yīng)了解,頂點(diǎn)變換高速緩存20具有有限的儲(chǔ)存容量,且識(shí)別電路40將接收到的請(qǐng)求(頂點(diǎn)數(shù)據(jù))與儲(chǔ)存在頂點(diǎn)變換高速緩存20內(nèi)的對(duì)應(yīng)于一組先前接收到的請(qǐng)求(一組先前產(chǎn)生的經(jīng)變換的頂點(diǎn)數(shù)據(jù))的數(shù)據(jù)相比較。由于頂點(diǎn)變換高速緩存20 (該高速緩存20應(yīng)用驅(qū)逐政策,諸如最近最少使用的驅(qū)逐政策)的有限的儲(chǔ)存容量,此組先前接收到的請(qǐng)求可不包括所有先前接收到的請(qǐng)求。
[0049]盡管本文已參閱附圖詳細(xì)描述本發(fā)明的說(shuō)明性實(shí)施例,但是應(yīng)了解,本發(fā)明不限制于彼等精確的實(shí)施例,且在不脫離如隨附權(quán)利要求所定義的本發(fā)明的范疇及精神的情況下,本領(lǐng)域技術(shù)人員可實(shí)現(xiàn)對(duì)實(shí)施例進(jìn)行的多種變化及修改。
【權(quán)利要求】
1.一種處理數(shù)據(jù)的方法,該方法包含以下步驟: 接收?qǐng)?zhí)行相應(yīng)處理任務(wù)的一請(qǐng)求流,以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的部分被輸出的對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊; 識(shí)別該請(qǐng)求流內(nèi)一接收到的請(qǐng)求是否匹配該請(qǐng)求流內(nèi)的一組先前接收到的請(qǐng)求中的任一者,針對(duì)該任一者已產(chǎn)生了用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的先前結(jié)果數(shù)據(jù)值區(qū)塊,以及: (i)若該接收到的請(qǐng)求不匹配該組先前接收到的請(qǐng)求中的任一者,則執(zhí)行對(duì)應(yīng)于該接收到的請(qǐng)求的新處理任務(wù),且產(chǎn)生作為該結(jié)果數(shù)據(jù)流的部分而輸出的新結(jié)果數(shù)據(jù)值區(qū)塊; (?)若該接收到的請(qǐng)求匹配一先前接收到的請(qǐng)求,則產(chǎn)生用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的指向該結(jié)果數(shù)據(jù)流內(nèi)的該先前結(jié)果數(shù)據(jù)值區(qū)塊的一指針。
2.如權(quán)利要求1所述的方法,其中該結(jié)果數(shù)據(jù)流被輸出至存儲(chǔ)器。
3.如權(quán)利要求1所述的方法,該方法包含以下步驟: 在高速緩存內(nèi)儲(chǔ)存識(shí)別該組先前接收到的請(qǐng)求的標(biāo)簽值;以及其中 該識(shí)別步驟將該接收到的請(qǐng)求的一接收到的標(biāo)簽值與儲(chǔ)存在該高速緩存內(nèi)的所述標(biāo)簽值相比較。
4.如權(quán)利要求3所述的方法,其中,當(dāng)將與先前接收到的犧牲請(qǐng)求相對(duì)應(yīng)的犧牲標(biāo)簽值從該高速緩存驅(qū)逐時(shí),則該先前接收到的犧牲請(qǐng)求不再作為該識(shí)別步驟中所使用的該組先前接收到的請(qǐng)求的成員。
5.如權(quán)利要求3所述的方法,其中該高速緩存與每個(gè)標(biāo)簽值相關(guān)聯(lián)地儲(chǔ)存該先前結(jié)果數(shù)據(jù)值區(qū)塊的該指標(biāo)。
6.如權(quán)利要求3所述的方法,其中該高速緩存儲(chǔ)存針對(duì)該組先前接收到的請(qǐng)求的所述結(jié)果數(shù)據(jù)值區(qū)塊。
7.如權(quán)利要求1所述的方法,該方法包含以下步驟: 將索引值與作為該結(jié)果數(shù)據(jù)流的部分輸出的每一新結(jié)果數(shù)據(jù)值區(qū)塊相關(guān)聯(lián);以及其中 該指針包含該先前結(jié)果數(shù)據(jù)值區(qū)塊的索引值。
8.如權(quán)利要求1所述的方法,其中該處理任務(wù)對(duì)應(yīng)于圖形處理流水線內(nèi)的一處理平臺(tái)。
9.如權(quán)利要求8所述的方法,其中所述接收到的請(qǐng)求是由該圖形處理流水線內(nèi)的頂點(diǎn)變換平臺(tái)接收的、用以針對(duì)圖形數(shù)據(jù)內(nèi)的給定頂點(diǎn)變換頂點(diǎn)數(shù)據(jù)的請(qǐng)求,所述處理任務(wù)是對(duì)該頂點(diǎn)數(shù)據(jù)執(zhí)行頂點(diǎn)變換操作,且該結(jié)果數(shù)據(jù)值流是經(jīng)變換頂點(diǎn)數(shù)據(jù)流。
10.如權(quán)利要求9所述的方法,其中該識(shí)別步驟將一頂點(diǎn)識(shí)別符與一組先前經(jīng)變換頂點(diǎn)的頂點(diǎn)識(shí)別符相比較。
11.如權(quán)利要求9所述的方法,其中該經(jīng)變換的頂點(diǎn)數(shù)據(jù)流被傳遞至該圖形處理流水線內(nèi)的柵格化平臺(tái)。
12.如權(quán)利要求11所述的方法,其中該經(jīng)變換的頂點(diǎn)數(shù)據(jù)流由該頂點(diǎn)變換平臺(tái)儲(chǔ)存至存儲(chǔ)器,且由該柵格化平臺(tái)從該存儲(chǔ)器讀取。
13.一種用于處理數(shù)據(jù)的設(shè)備,包含: 接收電路,該接收電路被配置來(lái)接收?qǐng)?zhí)行相應(yīng)處理任務(wù)的一請(qǐng)求流,以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的部分輸出的對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊; 識(shí)別電路,該識(shí)別電路被配置來(lái)識(shí)別該請(qǐng)求流內(nèi)的一接收到的請(qǐng)求是否匹配該請(qǐng)求流內(nèi)的一組先前接收到的請(qǐng)求中的任一者,針對(duì)該任一者已產(chǎn)生了用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的先前結(jié)果數(shù)據(jù)值區(qū)塊,以及 輸出產(chǎn)生電路,該輸出產(chǎn)生電路被配置來(lái)響應(yīng)于接收到的請(qǐng)求產(chǎn)生結(jié)果數(shù)據(jù)值區(qū)塊,其中 (i)若該接收到的請(qǐng)求不匹配該組先前接收到的請(qǐng)求中的任一者,則利用該輸出產(chǎn)生電路執(zhí)行對(duì)應(yīng)于該接收到的請(qǐng)求的新處理任務(wù),且產(chǎn)生作為該結(jié)果數(shù)據(jù)流的部分而輸出的新結(jié)果數(shù)據(jù)值區(qū)塊; (ii)若該接收到的請(qǐng)求匹配一先前接收到的請(qǐng)求,則利用該輸出產(chǎn)生電路產(chǎn)生用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的指向該結(jié)果數(shù)據(jù)流內(nèi)的該先前結(jié)果數(shù)據(jù)值區(qū)塊的一指針。
14.如權(quán)利要求13所述的設(shè)備,該設(shè)備包含存儲(chǔ)器,且其中該結(jié)果數(shù)據(jù)流被輸出至該存儲(chǔ)器。
15.如權(quán)利要求13所述的設(shè)備,該設(shè)備包含高速緩存,該高速緩存被配置來(lái)儲(chǔ)存識(shí)別該組先前接收到的請(qǐng)求的標(biāo)簽值,其中該識(shí)別電路被配置來(lái)將該接收到的請(qǐng)求的一接收到的標(biāo)簽值與儲(chǔ)存在該高速緩存內(nèi)的所述標(biāo)簽值相比較。
16.如權(quán)利要求15所述的設(shè)備,其中當(dāng)將與先前接收到的犧牲請(qǐng)求相對(duì)應(yīng)的犧牲標(biāo)簽值從該高速緩存驅(qū)逐時(shí),則該先前接收到的犧牲請(qǐng)求不再作為該識(shí)別步驟中所使用的該組先前接收到的請(qǐng)求的成員。
17.如權(quán)利要求15所述的設(shè)備,其中該高速緩存被配置來(lái)與每個(gè)標(biāo)簽值相關(guān)聯(lián)地儲(chǔ)存該先前結(jié)果數(shù)據(jù)值區(qū)塊的該指標(biāo)。
18.如權(quán)利要求15所述的設(shè)備,其中該高速緩存被配置來(lái)儲(chǔ)存針對(duì)該組先前接收到的請(qǐng)求的所述結(jié)果數(shù)據(jù)值區(qū)塊。
19.如權(quán)利要求13所述的設(shè)備,其中該輸出產(chǎn)生電路被配置來(lái)將索引值與作為該結(jié)果數(shù)據(jù)流的部分輸出的每一新結(jié)果數(shù)據(jù)值區(qū)塊相關(guān)聯(lián),且其中該指針包含該先前結(jié)果數(shù)據(jù)值區(qū)塊的索引值。
20.如權(quán)利要求13所述的設(shè)備,其中該接收電路、該識(shí)別電路及該輸出產(chǎn)生電路均為圖形處理流水線內(nèi)的處理平臺(tái)的部分。
21.如權(quán)利要求20所述的設(shè)備,其中所述接收到的請(qǐng)求是由該圖形處理流水線內(nèi)的頂點(diǎn)變換平臺(tái)接收的、用以針對(duì)圖形數(shù)據(jù)內(nèi)的給定頂點(diǎn)變換頂點(diǎn)數(shù)據(jù)的請(qǐng)求,所述處理任務(wù)是對(duì)該頂點(diǎn)數(shù)據(jù)執(zhí)行頂點(diǎn)變換操作,且該結(jié)果數(shù)據(jù)值流是經(jīng)變換頂點(diǎn)數(shù)據(jù)流。
22.如權(quán)利要求21所述的設(shè)備,其中該識(shí)別電路被配置來(lái)將一頂點(diǎn)識(shí)別符與一組先前經(jīng)變換頂點(diǎn)的頂點(diǎn)識(shí)別符相比較。
23.如權(quán)利要求21所述的設(shè)備,其中該圖形處理流水線包含柵格化平臺(tái),并且該經(jīng)變換的頂點(diǎn)數(shù)據(jù)流被傳遞至該柵格化平臺(tái)。
24.如權(quán)利要求23所述的設(shè)備,該設(shè)備包含存儲(chǔ)器,且其中該經(jīng)變換的頂點(diǎn)數(shù)據(jù)流由該頂點(diǎn)變換平臺(tái)儲(chǔ)存至該存儲(chǔ)器,且由該柵格化平臺(tái)從該存儲(chǔ)器讀取。
25.一種用于處理數(shù)據(jù)的設(shè)備,包含: 接收裝置,該接收裝置用于接收?qǐng)?zhí)行相應(yīng)處理任務(wù)的一請(qǐng)求流,以產(chǎn)生待作為結(jié)果數(shù)據(jù)流的部分輸出的對(duì)應(yīng)結(jié)果數(shù)據(jù)值區(qū)塊; 識(shí)別裝置,該識(shí)別裝置用于識(shí)別該請(qǐng)求流內(nèi)的一接收到的請(qǐng)求是否匹配該請(qǐng)求流內(nèi)的一組先前接收到的請(qǐng)求中的任一者,針對(duì)該任一者已產(chǎn)生了用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的先前結(jié)果數(shù)據(jù)值區(qū)塊,以及 輸出產(chǎn)生裝置,該輸出產(chǎn)生裝置用于響應(yīng)于接收到的請(qǐng)求產(chǎn)生結(jié)果數(shù)據(jù)值區(qū)塊,其中 (i)若該接收到的請(qǐng)求不匹配該組先前接收到的請(qǐng)求中的任一者,則利用該輸出產(chǎn)生裝置執(zhí)行對(duì)應(yīng)于該接收到的請(qǐng)求的新處理任務(wù),且產(chǎn)生作為該結(jié)果數(shù)據(jù)流的部分而輸出的新結(jié)果數(shù)據(jù)值區(qū)塊; (ii)若該接收到的請(qǐng)求匹配一先前接收到的請(qǐng)求,則利用該輸出產(chǎn)生裝置產(chǎn)生用于作為該結(jié)果數(shù)據(jù)流的部分而輸出的指向該結(jié)果數(shù)據(jù)流內(nèi)的該先前結(jié)果數(shù)據(jù)值區(qū)塊的一指針。
【文檔編號(hào)】G06F17/30GK104281639SQ201410320689
【公開日】2015年1月14日 申請(qǐng)日期:2014年7月7日 優(yōu)先權(quán)日:2013年7月12日
【發(fā)明者】亞歷山大·尤金·查林, 布蘭德利·阿爾伯特·格蘭瑟姆 申請(qǐng)人:Arm 有限公司