欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

信息處理裝置和信息處理方法

文檔序號:6655946閱讀:179來源:國知局
專利名稱:信息處理裝置和信息處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及以更高速度從主存儲器中讀取數(shù)據(jù)的技術(shù),尤其涉及將高速緩沖存儲器用于加速的技術(shù)。
背景技術(shù)
近年來,處理器在工作頻率方面已經(jīng)取得顯著進(jìn)步。相反,用作主存儲器的動(dòng)態(tài)隨機(jī)訪問存儲器(DRAM)在工作頻率方面還沒有像處理器那樣取得這樣大的進(jìn)步。因此,利用處理器性能需要一些新的發(fā)明。利用將高速緩沖存儲器插在主存儲器和處理器之間的技術(shù)縮短了主存儲器的訪問時(shí)間。
然后,即使處理器按指定地址訪問高速緩存,高速緩存也不一定包含所需數(shù)據(jù)。在這樣的情況下,出現(xiàn)高速緩存未命中,需要從主存儲器重新裝填。當(dāng)頻繁出現(xiàn)如此的高速緩存未命中時(shí),高速緩存不僅對加速?zèng)]有幫助,而且會引起額外開銷。

發(fā)明內(nèi)容
本發(fā)明就是在考慮了上述問題之后作出的。因此,本發(fā)明的目的是提供減少高速緩存未命中以便更快速讀取數(shù)據(jù)的信息處理裝置和信息處理方法。
本發(fā)明的一個(gè)方面是信息處理裝置。這個(gè)裝置包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;和控制單元,用于按照數(shù)個(gè)操作單元的至少一次高速緩存未命中,控制從主存儲器到高速緩沖存儲器的重新裝填操作,以便抑制高速緩沖存儲器中顛簸的出現(xiàn)。這里,“數(shù)據(jù)”可以涵蓋紋理數(shù)據(jù)?!安僮鲉卧笨梢院w紋理單元。“顛簸”可以指在主存儲器和高速緩沖存儲器之間斷斷續(xù)續(xù)地出現(xiàn)相同數(shù)據(jù)的換入和換出的狀態(tài)。
本發(fā)明的另一個(gè)方面也是信息處理裝置。這個(gè)裝置包含高速緩沖存儲器,含有存儲主存儲器中的一部分?jǐn)?shù)據(jù)的數(shù)個(gè)通道,該高速緩沖存儲器由數(shù)個(gè)操作單元公用;高速緩存管理單元,用于管理各自通道的高速緩存標(biāo)記和入口的狀態(tài);和控制單元,用于按照來自高速緩存管理單元的重新裝填請求,控制從主存儲器到高速緩沖存儲器的重新裝填操作和入口的狀態(tài),重新裝填請求由數(shù)個(gè)操作單元的至少一次高速緩存未命中所致。
當(dāng)數(shù)個(gè)操作單元以預(yù)定時(shí)間差訪問相同存儲器地址時(shí),控制單元可以抑制重新裝填操作的發(fā)生。當(dāng)控制單元接收到對相同存儲器地址的數(shù)個(gè)重新裝填請求時(shí),它可以掛起與從第二個(gè)開始的重新裝填請求相對應(yīng)的重新裝填操作。當(dāng)控制單元接收到對相同存儲器地址的數(shù)個(gè)重新裝填請求時(shí),它也可以掛起與從第二個(gè)開始的重新裝填請求相對應(yīng)的入口鎖定。此外,控制單元還可以在進(jìn)行重新裝填操作之前累積由高速緩存未命中所致的預(yù)定個(gè)重新裝填請求。
本發(fā)明的另一個(gè)方面也是信息處理裝置。這個(gè)裝置包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;和控制單元,用于按照由數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,控制從主存儲器到高速緩沖存儲器的重新裝填操作。這里,控制單元自開始重新裝填操作以來經(jīng)過了預(yù)定時(shí)間之后在高速緩沖存儲器上設(shè)置與重新裝填請求相對應(yīng)的入口鎖定。
本發(fā)明的又一個(gè)方面也是信息處理裝置。這個(gè)裝置包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;插在主存儲器和高速緩沖存儲器之間的中間緩沖器;和控制單元,用于按照由數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,通過中間緩沖器控制從主存儲器到高速緩沖存儲器的重新裝填操作。這里,當(dāng)將要通過重新裝填操作傳遞給高速緩沖存儲器的數(shù)據(jù)存儲到中間緩沖器中時(shí),控制單元在高速緩沖存儲器上設(shè)置與重新裝填請求相對應(yīng)的入口鎖定。
本發(fā)明的又一個(gè)方面也是信息處理裝置。這個(gè)裝置包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;和控制單元,用于按照由數(shù)個(gè)操作單元的至少一次高速緩存未命中所致的重新裝填請求,控制從主存儲器到高速緩沖存儲器的重新裝填操作,和預(yù)測要供數(shù)個(gè)操作單元使用的紋理數(shù)據(jù)和控制從主存儲器到高速緩沖存儲器的預(yù)取操作。高速緩沖存儲器包括要按照高速緩存未命中重新裝填的區(qū)域、和要為預(yù)取鎖定入口的區(qū)域。控制單元可以在預(yù)定條件下在兩個(gè)區(qū)域之間切換。
本發(fā)明的又一個(gè)方面也是信息處理裝置。這個(gè)裝置包含高速緩沖存儲器,用于存儲存儲在主存儲器中的一部分紋理數(shù)據(jù),該高速緩沖存儲器由操作單元公用;和控制單元,用于預(yù)測要供操作單元使用的紋理數(shù)據(jù)和將包含紋理數(shù)據(jù)的行從主存儲器預(yù)取到高速緩沖存儲器。控制單元可以預(yù)取在執(zhí)行預(yù)定程序時(shí)操作單元使用開始場景所需的紋理數(shù)據(jù)。
本發(fā)明的又一個(gè)方面是信息處理方法。這個(gè)方法包含判優(yōu)由訪問高速緩沖存儲器的數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,以便抑制高速緩沖存儲器中顛簸的出現(xiàn);和按照判優(yōu)重新裝填請求,進(jìn)行從主存儲器到高速緩沖存儲器的重新裝填。當(dāng)數(shù)個(gè)操作單元以預(yù)定時(shí)間差訪問相同存儲器地址時(shí),上述判優(yōu)可以抑制重新裝填的發(fā)生。重新裝填的發(fā)生可以一直抑制到累積了預(yù)定個(gè)重新裝填請求。
本發(fā)明的又一個(gè)方面是信息處理方法。這個(gè)方法包含判優(yōu)由訪問高速緩沖存儲器的數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求;按照判優(yōu)重新裝填請求,進(jìn)行從主存儲器到高速緩沖存儲器的重新裝填;和自開始重新裝填以來經(jīng)過了預(yù)定時(shí)間之后,在高速緩沖存儲器上設(shè)置與重新裝填請求相對應(yīng)的入口鎖定。
本發(fā)明的又一個(gè)方面是信息處理方法。這個(gè)方法包含預(yù)測要供操作單元使用的紋理數(shù)據(jù);和將包含預(yù)測紋理數(shù)據(jù)的行從主存儲器預(yù)取到高速緩沖存儲器。在上述預(yù)測中,可以預(yù)測在執(zhí)行預(yù)定程序時(shí)操作單元使用開始場景所需的紋理數(shù)據(jù),作為要預(yù)取的數(shù)據(jù)。
順便提一下,上述部件的任何組合、和本發(fā)明在方法、裝置、系統(tǒng)、記錄媒體、計(jì)算機(jī)程序等之間轉(zhuǎn)換的表達(dá)也有意構(gòu)成本發(fā)明的可應(yīng)用方面。


圖1是示出根據(jù)第一實(shí)施例的主存儲器和GPU的配置的方塊圖;圖2是示出根據(jù)第一實(shí)施例的系統(tǒng)的第一操作例子的流程圖;圖3是示出數(shù)個(gè)紋理單元如何進(jìn)行紋理映射的圖形;圖4是示出次要紋理高速緩存和次要紋理高速緩存控制器的細(xì)節(jié)的圖形;圖5是示出根據(jù)第一實(shí)施例的系統(tǒng)的第二操作例子的流程圖;圖6是示出根據(jù)第二實(shí)施例的主存儲器和GPU的配置的方塊圖;
圖7是示出根據(jù)第二實(shí)施例的系統(tǒng)的操作例子的流程圖;圖8是示出根據(jù)第三實(shí)施例的主存儲器、主CPU和GPU的配置的方塊圖;圖9是示出根據(jù)第三實(shí)施例的系統(tǒng)的第一操作例子的流程圖;圖10是示出圖9中的操作例子中次要紋理高速緩存和次要紋理高速緩存控制器的細(xì)節(jié)的圖形;圖11是示出預(yù)測紋理數(shù)據(jù)的處理的第一例子的流程圖;圖12是示出預(yù)測紋理數(shù)據(jù)的處理的第二例子的流程圖;和圖13是示出根據(jù)第四實(shí)施例的系統(tǒng)的操作例子的流程圖。
詳細(xì)描述圖1是示出根據(jù)第一實(shí)施例的主存儲器10和圖形處理單元(GPU)100的配置的方塊圖。主存儲器10是系統(tǒng)的主存儲器,它由DRAM等組成。在本實(shí)施例中,主存儲器10主要包含紋理數(shù)據(jù)。GPU 100是進(jìn)行三維圖形顯示所需的計(jì)算和著色的半導(dǎo)體芯片。GPU 100包含與數(shù)個(gè)未示出濃淡單元(shaderunit)相對應(yīng)的數(shù)個(gè)紋理單元620-6n0。包含數(shù)個(gè)單元提高了著色速度,以便使場景過渡等更流暢。
紋理單元620-6n0分別含有主要紋理高速緩存622-6n2。紋理單元620從未示出濃淡單元接收指定紋理數(shù)據(jù)的參數(shù)輸入,和在主存儲空間中指定地址,以便向主要紋理高速緩存622請求構(gòu)成紋理的紋理元數(shù)據(jù)。如果主要紋理高速緩存622被這個(gè)請求命中,它就將紋理元數(shù)據(jù)傳遞給紋理單元620。如果未命中,主要紋理高速緩存622就請求次要紋理高速緩存控制器500從次要紋理高速緩存400中讀取數(shù)據(jù)。隨后,紋理單元620停止,直到從次要紋理高速緩存400中讀取相應(yīng)地址的紋理元數(shù)據(jù)。其它紋理單元以相同的方式工作。
次要紋理高速緩存控制器500管理存儲在次要紋理高速緩存400中的、主存儲器10上的紋理數(shù)據(jù)。次要紋理高速緩存控制器500含有高速緩存標(biāo)記。高速緩存標(biāo)記旨在確定次要紋理高速緩存400是否包含與來自紋理單元620-6n0的讀取請求相對應(yīng)的主存儲器10上的數(shù)段紋理數(shù)據(jù)。高速緩存標(biāo)記是主存儲器10上的地址的一部分。如果請求讀取地址的一部分與高速緩存標(biāo)記相互匹配,就出現(xiàn)高速緩存命中。如果不匹配,就出現(xiàn)高速緩存未命中。
當(dāng)次要紋理高速緩存400在來自紋理單元620-6n0的讀取請求下不包含紋理數(shù)據(jù)時(shí),即,在高速緩存未命中的情況下,次要紋理高速緩存控制器500向高速緩存控制CPU 200發(fā)出重新裝填請求。重新裝填請求旨在請求將所需紋理數(shù)據(jù)從主存儲器10傳送到次要紋理高速緩存400。如果次要紋理高速緩存400在來自紋理單元620-6n0的讀取請求下包含紋理數(shù)據(jù)時(shí),即,在高速緩存命中的情況下,將紋理數(shù)據(jù)傳送到紋理單元620-6n0。
次要紋理高速緩存控制器500含有至少兩個(gè)或更多個(gè)通道。這樣就可以為預(yù)取和為重新裝填提供通道??捎玫母咚倬彺婺J桨ㄖ苯佑成?、設(shè)置N個(gè)通道聯(lián)系、和全面聯(lián)系。當(dāng)采用設(shè)置N個(gè)通道聯(lián)系時(shí),內(nèi)容可尋址存儲器(CAM)可以用于并行地進(jìn)行匹配比較。當(dāng)從高速緩存控制CPU 200發(fā)出掛起請求時(shí),次要紋理高速緩存控制器500掛起請求的通道的操作。在這種狀態(tài)下,可以通過高速緩存控制CPU 200重寫那個(gè)通道的高速緩存標(biāo)記。當(dāng)來自紋理單元620-6n0的所有請求原來都是高速緩存未命中時(shí),還輸入掛起的狀態(tài)。
當(dāng)從高速緩存控制CPU 200發(fā)出重新開始操作請求時(shí),重新開始請求的通道的操作。當(dāng)在掛起期間完成了紋理數(shù)據(jù)從主存儲器10到次要紋理高速緩存400的傳送時(shí),重試來自相應(yīng)紋理單元的讀取請求。因此,通過高速緩存命中操作將紋理數(shù)據(jù)傳送到紋理單元。
次要紋理高速緩存400是臨時(shí)存儲主存儲器10上的紋理數(shù)據(jù)的區(qū)域。次要紋理高速緩存400可以在嵌入式動(dòng)態(tài)隨機(jī)訪問存儲器(EDRAM)的一部分區(qū)域上構(gòu)成。根據(jù)從高速緩存控制CPU 200到DMA(直接存儲器訪問)控制器300的指令,將主存儲器10上的紋理數(shù)據(jù)以DMA方式傳送到次要紋理高速緩存400。紋理數(shù)據(jù)以稱為行的16個(gè)字節(jié)、32個(gè)字節(jié)等為單位傳送。在這個(gè)傳送結(jié)束時(shí),高速緩存控制CPU 200重寫次要紋理高速緩存控制器500中的高速緩存標(biāo)記。當(dāng)紋理單元620-6n0發(fā)出對次要紋理高速緩存400上的紋理數(shù)據(jù)的讀取請求時(shí),次要紋理高速緩存控制器500自動(dòng)地將次要紋理高速緩存400上的相應(yīng)紋理數(shù)據(jù)傳送到主要紋理高速緩存622-6n2。
在來自高速緩存控制CPU 200的指令下,DMA控制器300生成地址信號和不需要以CPU為媒介就將紋理數(shù)據(jù)從主存儲器10傳送到次要紋理高速緩存400。
主存儲器10與次要紋理高速緩存400之間的傳送不局限于芯片到芯片傳送,也可以是基于網(wǎng)絡(luò)的傳送。例如,可以將主存儲器10配置在因特網(wǎng)上的服務(wù)器上,和將次要紋理高速緩存400配置在客戶機(jī)上。
高速緩存控制CPU 200通過次要紋理高速緩存控制器500判優(yōu)所有重新裝填請求,和向DMA控制器500發(fā)出指令。這里,高速緩存控制通過在未示出的RAM上運(yùn)行高速緩存控制程序?qū)崿F(xiàn)。
圖2是示出根據(jù)第一實(shí)施例的系統(tǒng)的第一操作例子的流程圖。首先,在次要紋理高速緩存400原則上具有4通道配置的假設(shè)下給出如下描述。在主要紋理高速緩存622中引起未命中的紋理數(shù)據(jù)的讀取請求從紋理單元620到達(dá)次要紋理高速緩存控制器500。如果在次要紋理高速緩存400中找到紋理數(shù)據(jù),次要紋理高速緩存控制器500就將該數(shù)據(jù)傳送到主要紋理高速緩存622。如果未找到,次要紋理高速緩存控制器500就將重新裝填請求傳送到高速緩存控制CPU 200。這里,掛起對最初發(fā)出讀取請求的紋理單元620的數(shù)據(jù)傳送操作。此外,將最初發(fā)出讀取請求的紋理單元620的ID號傳送到高速緩存控制CPU 200。
在圖2中,高速緩存控制CPU 200接受來自次要紋理高速緩存控制器500的紋理數(shù)據(jù)的重新裝填請求(S10)。高速緩存控制CPU 200確定這個(gè)重新裝填請求的目標(biāo)地址是否與以前接受的重新裝填請求的目標(biāo)地址匹配(S12)。更具體地說,對照兩個(gè)地址。如果以前接受的重新裝填請求的地址已經(jīng)登記,就執(zhí)行這個(gè)確定過程。當(dāng)?shù)刂肺吹怯洉r(shí),即,當(dāng)處在初始階段時(shí),處理跳過步驟S14。
一般說來,對于相同地址,很少出現(xiàn)數(shù)個(gè)重新裝填請求。但是,本實(shí)施例涉及可以容易出現(xiàn)這樣請求的環(huán)境。為了使處理更快,紋理單元620-6n0并行地進(jìn)行紋理映射。數(shù)個(gè)紋理單元620-6n0都配有各自的主要紋理高速緩存622-6n2。為了執(zhí)行雙線性、三線性、和其它濾波過程,來自紋理單元620-6n0的請求常常包括對相鄰紋理元的請求。然后,常常出現(xiàn)不同紋理單元620-6n0的主要紋理高速緩存622-6n2必須重疊地保留有關(guān)相鄰紋理元塊的信息。
圖3示出了數(shù)個(gè)紋理單元620-6n0如何進(jìn)行紋理映射。數(shù)個(gè)紋理單元620-6n0將紋理映射到以4×4個(gè)像素左右劃分和壘疊的幀緩沖區(qū)(A-H)。例如,該處理并行地進(jìn)行,以便一個(gè)紋理單元620將紋理映射到幀緩沖器的A區(qū)722,和另一個(gè)紋理單元640將紋理映射到幀緩沖器的B區(qū)724。如虛線所示的部分代表通過數(shù)個(gè)紋理a到l創(chuàng)建的對象。
為了映射到幀緩沖器的A區(qū)722,紋理單元620必須從它自己的主要紋理高速緩存622中讀取和映射4個(gè)紋理數(shù)據(jù)b、d、e、和h,或702、704、706、和708。為了映射到幀緩沖器的B區(qū)724,紋理單元640必須從它自己的主要紋理高速緩存642中讀取和映射3個(gè)紋理數(shù)據(jù)e、c、和i,或706、710、和712。這里,一個(gè)紋理數(shù)據(jù)e或706被紋理單元620和紋理單元640兩者使用。因此,對同一地址的紋理數(shù)據(jù)的讀取請求可以在時(shí)間上存在一定差異地從數(shù)個(gè)紋理單元620和640到達(dá)次要紋理高速緩存控制器500。此外,當(dāng)次要紋理高速緩存400在EDRAM上構(gòu)成時(shí),在次要紋理高速緩存400和主存儲器10之間的DMA傳送中可以出現(xiàn)長的等待時(shí)間。這增加了某些地址的重新裝填請求可能在同一地址的紋理數(shù)據(jù)的重新裝填完成之前到達(dá)高速緩存控制CPU 200的可能性。紋理單元620-6n0的數(shù)量越多,重新裝填請求重疊的可能性就越高。甚至可以出現(xiàn)三個(gè)或更多個(gè)重新裝填請求重疊。
返回到圖2,在步驟S12中,如果地址與登記的那個(gè)不匹配(S12中的“否”),將重新裝填請求的目標(biāo)地址登記到高速緩存控制CPU 200中的未示出寄存器等中(S14)。接著,高速緩存控制CPU 200確定要通過DMA傳送取代的目標(biāo)地址,即,要取代的通道(S16)。各種各樣的算法可用于這個(gè)確定。當(dāng)次要紋理高速緩存400的一個(gè)單通道可以容納大多數(shù)紋理數(shù)據(jù)時(shí),可以使通道之一專用于重新裝填的目的。否則,可以簡單地使用FIFO(先進(jìn)先出)存儲器或LRU(最近最少使用)存儲器。
接著,高速緩存控制CPU 200鎖定到確定通道的入口(S18)。現(xiàn)在給出鎖定到通道的入口的方法的描述。圖4示出了次要紋理高速緩存400和次要紋理高速緩存控制器500的細(xì)節(jié)。次要紋理高速緩存400以行為單位逐個(gè)通道地高速緩存紋理數(shù)據(jù)。次要紋理高速緩存控制器500逐個(gè)通道地管理次要紋理高速緩存。次要紋理高速緩存控制器500含有各個(gè)通道的有效標(biāo)志,和管理各個(gè)通道有效還是無效。例如,當(dāng)有效標(biāo)志由1位標(biāo)志寄存器組成時(shí),可以建立像對于有效為1和對于無效為0那樣的設(shè)置。在有效狀態(tài)下,可以從紋理單元620-6n0訪問次要紋理高速緩存400中的相應(yīng)通道。在無效狀態(tài)下,封鎖訪問。有效標(biāo)志通過高速緩存控制CPU 200來重寫和控制。
次要紋理高速緩存控制器500還管理作為各個(gè)通道的高速緩存標(biāo)記的高速緩存在次要紋理高速緩存400中的主存儲器10的存儲空間中的紋理數(shù)據(jù)的地址的一部分。然后,比較請求讀取地址和高速緩存標(biāo)記中的地址,以確定高速緩存命中還是高速緩存未命中。
返回到圖2,在已經(jīng)鎖定了要重新裝填的通道之后,高速緩存控制CPU200向DMA控制器300發(fā)出將前述登記地址的紋理數(shù)據(jù)以DMA方式從主存儲器10傳送到次要紋理高速緩存400的相應(yīng)通道的指令(S20)。在完成DMA傳送之后,高速緩存控制CPU 200重寫次要紋理高速緩存控制器500的相應(yīng)高速緩存標(biāo)記(S22)。然后,解鎖通道。次要紋理高速緩存控制器500重新啟動(dòng)通道,和對與前述DMA傳送相對應(yīng)的紋理單元620-6n0重試讀取請求。
在步驟S12中,如果目標(biāo)地址與登記地址的任何一個(gè)匹配(步驟S12中的“是”),為了保護(hù)重新裝填的通道,不鎖定入口地保持次要紋理高速緩存400的入口的當(dāng)前狀態(tài)(S24)。高速緩存控制CPU 200將最初發(fā)出讀取請求的紋理單元620-6n0的ID號與含有匹配地址的已經(jīng)發(fā)出DMA傳送指令鏈接(S26)。響應(yīng)這個(gè)讀取指令,將不發(fā)出DMA傳送指令。當(dāng)次要紋理高速緩存控制器500重新啟動(dòng)重新裝填通道時(shí),也重試來自含有鏈接ID號的紋理單元620-6n0的讀取請求。隨后,重復(fù)前述處理,直到著色處理結(jié)束(S28中的Y)。
如上所述,根據(jù)第一操作例子,可以防止相同地址的紋理數(shù)據(jù)被重疊地重新裝填和防止通道被過分鎖定。因此,紋理單元620-6n0可以沒有障礙地從次要紋理高速緩存400中讀取數(shù)據(jù)。由于避免了不必要的重新裝填,可以抑制次要紋理高速緩存400中顛簸的出現(xiàn)。
圖5是示出根據(jù)第一實(shí)施例的系統(tǒng)的第二操作例子的流程圖。首先,高速緩存控制CPU 200接受來自次要紋理高速緩存控制器500的重新裝填請求(S30)。重新裝填請求通過與第一操作例子中相同的過程生成。接著,高速緩存控制CPU 200將保留重新裝填請求的累積計(jì)數(shù)的參數(shù)REQ加1(S32)。同時(shí),將與重新裝填請求有關(guān)的地址登記到未示出寄存器等中(S34)。
接著,確定保留在參數(shù)REQ中的計(jì)數(shù)是否超過預(yù)定閾值(S36)。這個(gè)預(yù)定閾值的最佳值取決于像紋理單元620-6n0的數(shù)量和場景過渡的模式那樣的因素。更具體地,考慮數(shù)個(gè)紋理單元620-6n0對場景或?qū)ο筮M(jìn)行紋理映射的情況。紋理單元620-6n0的一些將完成對場景或?qū)ο蟮奶幚?,和開始向次要紋理高速緩存400發(fā)出讀取請求,以便開始下一個(gè)場景或?qū)ο蟮奶幚?。此刻,紋理單元620-6n0的其余幾個(gè)仍然處理當(dāng)前場景或?qū)ο蟆?br> 在這種狀態(tài)下,假設(shè)高速緩存控制CPU 200按照與讀取請求相對應(yīng)的重新裝填請求將DMA傳送指令發(fā)出到DMA控制器300。然后,可以從次要紋理高速緩存400中排除紋理單元620-6n0的其余幾個(gè)正在處理的紋理數(shù)據(jù)。如果正在處理的紋理數(shù)據(jù)被排除,必須再次將重新裝填請求發(fā)送到高速緩存控制CPU 200。這樣就使次要紋理高速緩存400進(jìn)入顛簸狀態(tài)。因此,最好通過對重新裝填下一個(gè)場景或?qū)ο蟮募y理數(shù)據(jù)之前應(yīng)該累積多少個(gè)重新裝填請求進(jìn)行測試或模擬來確定和設(shè)置預(yù)定閾值。
在步驟S36中,如果保留在參數(shù)REQ中的計(jì)數(shù)小于等于預(yù)定閾值(S36中的“否”),無需發(fā)出DMA傳送指令地繼續(xù)接收重新裝填請求(S30)。如果超過預(yù)定閾值(S36中的“是”),高速緩存控制CPU 200確定要通過DMA傳送取代的目標(biāo)地址,即,要取代的通道(S38)。然后,高速緩存控制CPU 200鎖定到確定通道的入口(S40)。在鎖定了要重新裝填的通道之后,高速緩存控制CPU 200向DMA控制器300發(fā)出將前述登記地址的紋理數(shù)據(jù)以DMA方式從主存儲器10傳送到次要紋理高速緩存400的相應(yīng)通道的指令(S42)。在完成DMA傳送之后,高速緩存控制CPU 200重寫次要紋理高速緩存控制器500的相應(yīng)高速緩存標(biāo)記(S44)。然后,解鎖通道。次要紋理高速緩存控制器500重新啟動(dòng)通道,和對與前述DMA傳送相對應(yīng)的紋理單元620-6n0重試讀取請求。
接著,高速緩存控制CPU 200初始化參數(shù)REQ(S46)。隨后,重復(fù)前述處理,直到著色處理結(jié)束(S48中的“是”)。在前述處理中,如果多于重新裝填通道數(shù)量的重新裝填請求集中在相同線上,則保存隨后重新裝填請求,以便將重新裝填處理推遲到下一次。在這種情況下,在重新啟動(dòng)時(shí)掛起與保存重新裝填請求相對應(yīng)的紋理單元。
如上所述,第二操作例子涉及紋理單元620-6n0的一些在完成了對當(dāng)前場景或?qū)ο蟮募y理映射之后打算處理下一個(gè)場景或?qū)ο?,而另一些正在處理?dāng)前場景或?qū)ο蟮那闆r。在這種狀況下,當(dāng)重新裝填為那個(gè)處理準(zhǔn)備的紋理數(shù)據(jù)時(shí),處理下一個(gè)場景或?qū)ο蟮臄?shù)個(gè)紋理單元620-6n0都可以同時(shí)開始紋理映射。也就是說,可以在紋理映射的開頭抑制這些偏差。
本實(shí)施例也可以應(yīng)用于游戲程序的圖形處理。例如,在游戲程序的圖形處理的技術(shù)中,將整個(gè)紋理數(shù)據(jù)裝載在主存儲器上。游戲程序?qū)⒓y理數(shù)據(jù)傳送到事先分配給紋理數(shù)據(jù)的EDRAM區(qū)域。然后,通過輸入繪圖命令從EDRAM中讀取紋理數(shù)據(jù)和將紋理數(shù)據(jù)用于紋理映射。這種技術(shù)使有限的EDRAM得到有效使用。
不過,這種技術(shù)基于游戲程序事先識別通過繪圖命令讀取主存儲器中的哪個(gè)紋理數(shù)據(jù)部分。此外,在預(yù)定紋理數(shù)據(jù)太大,在EDRAM的紋理數(shù)據(jù)存儲區(qū)中容納不下的情況下,還要以在游戲程序的開發(fā)階段將紋理數(shù)據(jù)劃分和編輯成適合EDRAM的大小為前提。
相反,根據(jù)本實(shí)施例的高速緩存控制,與字體數(shù)據(jù)的情況一樣,即使在運(yùn)行了游戲程序之后確定要讀取的數(shù)據(jù)部分,也不會使效率下降地再現(xiàn)紋理數(shù)據(jù)。也沒有必要在游戲程序的開發(fā)階段將紋理數(shù)據(jù)裁剪成EDRAM的大小。
由于高速緩存通過軟件來控制,而不是通過硬件來控制,甚至在長等待時(shí)間地訪問位于圖形芯片之外的主存儲器的情況下,也可以實(shí)施顛簸最小的控制。
圖6是示出根據(jù)第二實(shí)施例的主存儲器10和GPU 100的配置的方塊圖。圖6示出了將中間緩沖器350加在圖1的配置的DMA控制器300和次要紋理高速緩存400之間的配置。由于除中間緩沖器350之外的其它部件都與圖1中的部件相同,這里省略對它們的描述。中間緩沖器350是臨時(shí)存儲要通過DMA控制器300從主存儲器10重新裝填到次要紋理高速緩存400的紋理數(shù)據(jù)的存儲區(qū)。當(dāng)存儲了紋理數(shù)據(jù)時(shí),中間緩沖器350發(fā)出將這種情況通知高速緩存控制CPU 200的控制信號。然后,在與發(fā)出控制信號相同的時(shí)刻或自發(fā)出控制信號以來經(jīng)過了預(yù)定延遲之后,中間緩沖器350將存儲的紋理數(shù)據(jù)輸出到次要紋理高速緩存400。
圖7是示出根據(jù)第二實(shí)施例的系統(tǒng)的操作例子的流程圖。圖7的流程圖基本上與圖2的流程圖相同。因此,如下的描述將涉及它們之間的差異。首先,直到步驟S16的處理都與在圖2中所述的相同。在圖7中,高速緩存控制CPU 200確定要重新裝填的通道。然后,在未鎖定到通道的入口的情況下,高速緩存控制CPU 200向DMA控制器300發(fā)出將前述登記地址的紋理數(shù)據(jù)以DMA方式從主存儲器10傳送到次要紋理高速緩存400的相應(yīng)通道的指令(S17)。
在這個(gè)指令下,DMA控制器300朝次要紋理高速緩存400方向發(fā)出紋理數(shù)據(jù)。因此,紋理數(shù)據(jù)被存儲到位于路徑上的中間緩沖器350中。當(dāng)存儲了紋理數(shù)據(jù)時(shí),中間緩沖器350發(fā)出將這種情況通知高速緩存控制CPU 200的控制信號。當(dāng)高速緩存控制CPU 200接收到這個(gè)控制信號時(shí)(S19中的“是”),它鎖定到要重新裝填的前述通道的入口(S21)。換句話說,在接收到這個(gè)控制信號之前,不鎖定到通道的入口。其余處理與在圖2中所述的相同。
如上所述,根據(jù)第二實(shí)施例,在將紋理數(shù)據(jù)存儲到中間緩沖器350之前,不鎖定到要重新裝填的通道的入口。因此,可以給予除需要紋理數(shù)據(jù)的紋理單元之外的其它紋理單元以比第一實(shí)施例中的輸入時(shí)間長的輸入時(shí)間。這可以使高速緩存的命中率提高,從而可以抑制次要紋理高速緩存400中顛簸的出現(xiàn)。當(dāng)主存儲器10和次要紋理高速緩存400之間的系統(tǒng)很長和存在長的等待時(shí)間時(shí),本實(shí)施例尤其有效。
圖8是示出根據(jù)第三實(shí)施例的主存儲器10、主CPU 20、和GPU 100的配置的方塊圖。圖8示出了將主CPU 20加入圖1的配置中的配置。由于除主CPU 20之外的其它部件都與圖1中的部件相同,這里省略對它們的描述。主CPU 20執(zhí)行像游戲程序那樣的程序,和在進(jìn)行程序的紋理映射時(shí)預(yù)測紋理單元620-6n0所需的下一個(gè)紋理數(shù)據(jù)。主CPU 20生成將這個(gè)紋理數(shù)據(jù)從主存儲器10預(yù)取到次要紋理高速緩存400的DMA傳送指令,和將它輸出到高速緩存控制CPU 200。高速緩存控制CPU 200將這個(gè)DMA傳送指令發(fā)送到DMA控制器300。
圖9是示出根據(jù)第三實(shí)施例的系統(tǒng)的第一操作例子的流程圖。首先,高速緩存控制CPU 200將次要紋理高速緩存400的數(shù)個(gè)通道劃分成預(yù)取通道和重新裝填通道(S50)。圖10示出了這個(gè)操作例子中次要紋理高速緩存400和次要紋理高速緩存控制器500的細(xì)節(jié)。在圖10中,四個(gè)通道當(dāng)中的第一通道和第二通道用作重新裝填通道。第三通道和第四通道用作預(yù)取通道。
重新裝填通道是當(dāng)如上所述,來自紋理單元620-6n0的讀取請求導(dǎo)致高速緩存未命中時(shí),發(fā)出重新裝填請求的通道。在重新裝填處理期間鎖定到這些通道的入口。同時(shí),預(yù)取通道是根據(jù)主CPU 20的預(yù)測事先讀取紋理單元620-6n0向次要紋理高速緩存400請求的紋理數(shù)據(jù)的通道。與高速緩存未命中無關(guān),通過高速緩存控制CPU 200的控制設(shè)置預(yù)取通道的輸入間隔和入口鎖定間隔。
返回到圖9,主CPU 20或高速緩存控制CPU 200進(jìn)行預(yù)測必要紋理數(shù)據(jù)的處理(S52)。這個(gè)預(yù)測處理將在后面作詳細(xì)描述。將包括通過這個(gè)預(yù)測處理確定的、主存儲器10上的紋理數(shù)據(jù)的地址的DMA傳送指令發(fā)送到DMA控制器300(S54)。在這個(gè)DMA傳送指令下,在次要紋理高速緩存400的預(yù)取通道上進(jìn)行預(yù)取。這里,對于入口鎖定,將預(yù)取通道的有效標(biāo)記設(shè)置在0上。
與這個(gè)處理同時(shí),重新裝填通道、高速緩存控制CPU 200、和DMA控制器300進(jìn)行重新裝填處理(S56)。這個(gè)重新裝填處理已經(jīng)在第一實(shí)施例中詳細(xì)描述過。順便提一下,在圖8中,在第二實(shí)施例中所述的中間緩沖器350可以插在DMA控制器300和次要紋理高速緩存400之間。這可以提供更長的輸入間隔。
接著,高速緩存控制CPU 200確定預(yù)取是否完成(S58)。如果預(yù)取完成了(S58中的“是”),則高速緩存控制CPU 200重寫高速緩存標(biāo)記和有效標(biāo)志。用“1”重寫有效標(biāo)志將啟用到那個(gè)通道的入口。
主CPU 20或高速緩存控制CPU 200確定切換預(yù)取通道和重新裝填通道的條件是否成立(S60)。這個(gè)切換條件的例子是自預(yù)取完成以來經(jīng)過了預(yù)定間隔。可替代地,主CPU 20可以識別或預(yù)測場景過渡、對象過渡等。然后,可以在從前述過渡的時(shí)間減去DMA傳送時(shí)間確定的定時(shí)切換通道,以便不過分鎖定到通道的入口。如果比過渡早得多地切換通道,預(yù)取的紋理數(shù)據(jù)有時(shí)可能被排除掉。因此,最佳條件可以通過測試或模擬來確定,以便不引起這樣的顛簸。
如果切換條件成立(S60中的“是”),則高速緩存控制CPU 200切換預(yù)取通道和重新裝填通道(S62)。具體地說,對于入口鎖定,將當(dāng)前重新裝填通道的有效標(biāo)記設(shè)置在0上。隨后,重復(fù)前述處理,直到著色處理結(jié)束(S64中的“是”)。順便提一下,雖然這個(gè)操作例子涉及切換預(yù)取通道和重新裝填通道的操作,但這些通道也可以專用于它們各自的目的。
接著,給出在預(yù)測用于預(yù)取的紋理數(shù)據(jù)的步驟S52中提及的處理的描述。圖11是示出預(yù)測紋理數(shù)據(jù)的處理的第一例子的流程圖。首先,在場景過渡中(S70中的“是”),高速緩存控制CPU 200將此時(shí)預(yù)取的紋理數(shù)據(jù)存儲到未示出RAM等中,作為交換歷史(S72)。
當(dāng)高速緩存控制CPU 200到達(dá)場景過渡的預(yù)定時(shí)間時(shí)(S74中的“是”),它就查閱前述交換歷史和確定要預(yù)取的紋理數(shù)據(jù)(S76)。例如,當(dāng)檢測到要用在每次場景過渡中的紋理數(shù)據(jù)時(shí),將該紋理數(shù)據(jù)確定為要預(yù)取的數(shù)據(jù)。這種處理提供了學(xué)習(xí)和確定要預(yù)取的紋理數(shù)據(jù)的技術(shù)。順便提一下,對象過渡等也可以以相同的方式學(xué)習(xí)。
高速緩存控制CPU 200也可以與預(yù)取的交換歷史一起記錄重新裝填的交換歷史。學(xué)習(xí)重新裝填交換使在第一實(shí)施例的第二操作例子中所述的確定重新裝填定時(shí)的閾值得到自適應(yīng)修正。例如,可以實(shí)施像當(dāng)短時(shí)間地重復(fù)相同地址的重新裝填時(shí),即,當(dāng)處在顛簸狀態(tài)下時(shí),增大閾值以延遲重新裝填定時(shí)那樣的控制。
如上所述,根據(jù)預(yù)測處理的第一例子,可以通過學(xué)習(xí)控制確定要預(yù)取的紋理數(shù)據(jù)。這使得即使必要紋理數(shù)據(jù)難以通過程序解碼確定,譬如,當(dāng)要著色的對象隨用戶輸入而變時(shí),也可以精確地預(yù)測。
圖12是示出預(yù)測紋理數(shù)據(jù)的處理的第二例子的流程圖。第二例子可應(yīng)用于根據(jù)基本表面等預(yù)測紋理數(shù)據(jù)的情況。首先,主CPU 20從當(dāng)前運(yùn)行程序中獲取相對于在當(dāng)前幀內(nèi)建立的視點(diǎn)的觀察方向或角度、和視點(diǎn)的運(yùn)動(dòng)速度(S80)。根據(jù)這些,CPU 20預(yù)測下一個(gè)幀中相對于視點(diǎn)的觀察方向(S82)。CPU 20確定位于這個(gè)預(yù)測觀察方向的對象(S84)。CPU 20還確定這個(gè)對象與視點(diǎn)之間的距離(S86)。一旦距離得到確定,就可以確定著色對象所需的紋理數(shù)據(jù)的詳細(xì)量級(LOD)。由此確定要預(yù)取的紋理數(shù)據(jù)(S88)。
如上所述,根據(jù)預(yù)測處理的第二例子,無需解碼要執(zhí)行的下一個(gè)程序命令,通過計(jì)算指示當(dāng)前狀態(tài)的參數(shù)就可以預(yù)測下一個(gè)必要紋理數(shù)據(jù)。
因此,根據(jù)第三實(shí)施例,可以將次要紋理高速緩存400劃分成預(yù)取通道和重新裝填通道,和以雙緩沖器的方式使用它們。這使重新裝填時(shí)間可以縮短。
現(xiàn)在,給出第四實(shí)施例的描述。與如圖8所示相同的系統(tǒng)配置可以用于第四實(shí)施例。此外,甚至對于一個(gè)單紋理單元620,第四實(shí)施例也可應(yīng)用。
圖13是示出根據(jù)第四實(shí)施例的系統(tǒng)的操作例子的流程圖。首先,在開始執(zhí)行程序之前,主CPU 20確定著色開始場景的紋理數(shù)據(jù)。這基于在開始著色之前往往知道要著色哪個(gè)對象和那個(gè)對象的哪些紋理數(shù)據(jù)是必需的。
高速緩存控制CPU 200向DMA控制器300發(fā)出包括主CPU 20確定的、主存儲器10上的紋理數(shù)據(jù)的地址的DMA傳送指令(S92)。同時(shí),高速緩存控制CPU 200重寫預(yù)取通道的高速緩存標(biāo)記(S94)。順便提一下,本實(shí)施例也可應(yīng)用于重置之后的操作。
如上所述,根據(jù)第四實(shí)施例,可以使開始著色時(shí)的高速緩存未命中降到最低程度,從而使次要紋理高速緩存400得到有效使用。
到此為止,通過結(jié)合本發(fā)明的實(shí)施例已經(jīng)對本發(fā)明作了描述。應(yīng)該注意到,本發(fā)明不局限于這些實(shí)施例,它們的各種變型也可作為本發(fā)明的方面應(yīng)用。例如,前面的描述涉及次要紋理高速緩存400配有四個(gè)通道的情況。就這一點(diǎn)來說,通道的數(shù)量不局限于四個(gè),而是可以任意設(shè)置。預(yù)取通道的數(shù)量和重新裝填通道的數(shù)量也可以自由設(shè)置。可以提供專用于預(yù)取或重新裝填的通道。
此外,本發(fā)明的高速緩存控制不局限于對通過在GPU中實(shí)現(xiàn)的數(shù)個(gè)紋理單元讀取紋理數(shù)據(jù)的處理的應(yīng)用。也可應(yīng)用于數(shù)個(gè)處理器使用公用高速緩沖存儲器的任何配置。當(dāng)主存儲器和次要紋理高速緩存之間的系統(tǒng)很長,因此,引起長等待時(shí)間時(shí),本發(fā)明的高速緩存控制尤其有效。例如,對于訪問因特網(wǎng)上的服務(wù)器的主存儲器將數(shù)據(jù)讀到客戶機(jī)上的高速緩沖存儲器中那樣的配置很有效。
工業(yè)可應(yīng)用性本發(fā)明可以應(yīng)用于高速緩沖存儲器控制領(lǐng)域。
權(quán)利要求
1.一種信息處理裝置,包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;和控制單元,用于按照數(shù)個(gè)操作單元的至少一次高速緩存未命中,控制從主存儲器到高速緩沖存儲器的重新裝填操作,以便抑制高速緩沖存儲器中顛簸的出現(xiàn)。
2.一種信息處理裝置,包含高速緩沖存儲器,含有存儲主存儲器中的一部分?jǐn)?shù)據(jù)的數(shù)個(gè)通道,該高速緩沖存儲器由數(shù)個(gè)操作單元公用;高速緩存管理單元,用于管理各自通道的高速緩存標(biāo)記和入口的狀態(tài);知控制單元,用于按照來自高速緩存管理單元的重新裝填請求,控制從主存儲器到高速緩沖存儲器的重新裝填操作和入口的狀態(tài),重新裝填請求由數(shù)個(gè)操作單元的至少一次高速緩存未命中所致。
3.根據(jù)權(quán)利要求1或2所述的信息處理裝置,其中,當(dāng)數(shù)個(gè)操作單元以預(yù)定時(shí)間差訪問相同存儲器地址時(shí),控制單元抑制重新裝填操作的發(fā)生。
4.根據(jù)權(quán)利要求1或2所述的信息處理裝置,其中,當(dāng)控制單元接收到對相同存儲器地址的數(shù)個(gè)重新裝填請求時(shí),控制單元掛起與從第二個(gè)開始的重新裝填請求相對應(yīng)的重新裝填操作。
5.根據(jù)權(quán)利要求1或2所述的信息處理裝置,其中,當(dāng)控制單元接收到對相同存儲器地址的數(shù)個(gè)重新裝填請求時(shí),控制單元掛起與從第二個(gè)開始的重新裝填請求相對應(yīng)的入口鎖定。
6.根據(jù)權(quán)利要求1或2所述的信息處理裝置,其中,當(dāng)累積到由高速緩存未命中所致的預(yù)定個(gè)重新裝填請求時(shí),控制單元進(jìn)行重新裝填操作。
7.一種信息處理裝置,包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;和控制單元,用于按照由數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,控制從主存儲器到高速緩沖存儲器的重新裝填操作,其中,控制單元自開始重新裝填操作以來經(jīng)過了預(yù)定時(shí)間之后在高速緩沖存儲器上設(shè)置與重新裝填請求相對應(yīng)的入口鎖定。
8.一種信息處理裝置,包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;插在主存儲器和高速緩沖存儲器之間的中間緩沖器;和控制單元,用于按照由數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,通過中間緩沖器控制從主存儲器到高速緩沖存儲器的重新裝填操作,其中,當(dāng)將要通過重新裝填操作傳遞給高速緩沖存儲器的數(shù)據(jù)存儲到中間緩沖器中時(shí),控制單元在高速緩沖存儲器上設(shè)置與重新裝填請求相對應(yīng)的入口鎖定。
9.一種信息處理裝置,包含高速緩沖存儲器,用于存儲主存儲器中的一部分?jǐn)?shù)據(jù),該高速緩沖存儲器由數(shù)個(gè)操作單元公用;和控制單元,用于按照由數(shù)個(gè)操作單元的至少一次高速緩存未命中所致的重新裝填請求,控制從主存儲器到高速緩沖存儲器的重新裝填操作,和預(yù)測要供數(shù)個(gè)操作單元使用的紋理數(shù)據(jù)和控制從主存儲器到高速緩沖存儲器的預(yù)取操作,其中,高速緩沖存儲器包括要按照高速緩存未命中重新裝填的區(qū)域、和要為預(yù)取鎖定入口的區(qū)域。
10.根據(jù)權(quán)利要求9所述的信息處理裝置,其中,控制單元在預(yù)定條件下在兩個(gè)區(qū)域之間切換。
11.一種信息處理裝置,包含高速緩沖存儲器,用于存儲存儲在主存儲器中的一部分紋理數(shù)據(jù),該高速緩沖存儲器由操作單元公用;和控制單元,用于預(yù)測要供操作單元使用的紋理數(shù)據(jù)和將包含紋理數(shù)據(jù)的行從主存儲器預(yù)取到高速緩沖存儲器。
12.根據(jù)權(quán)利要求12所述的信息處理裝置,其中,控制單元預(yù)取在執(zhí)行預(yù)定程序時(shí)操作單元使用開始場景所需的紋理數(shù)據(jù)。
13.根據(jù)權(quán)利要求13所述的信息處理裝置,其中,高速緩沖存儲器包括要按照高速緩存未命中重新裝填的區(qū)域,和要為預(yù)取鎖定入口的區(qū)域。
14.根據(jù)權(quán)利要求13所述的信息處理裝置,其中,控制單元在預(yù)定條件下在兩個(gè)區(qū)域之間切換。
15.一種信息處理方法,包含判優(yōu)由訪問高速緩沖存儲器的數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,以便抑制高速緩沖存儲器中顛簸的出現(xiàn);和按照判優(yōu)重新裝填請求,進(jìn)行從主存儲器到高速緩沖存儲器的重新裝填。
16.根據(jù)權(quán)利要求15所述的信息處理方法,其中,當(dāng)數(shù)個(gè)操作單元以預(yù)定時(shí)間差訪問相同存儲器地址時(shí),所述判優(yōu)抑制重新裝填的發(fā)生。
17.根據(jù)權(quán)利要求15所述的信息處理方法,其中,所述判優(yōu)抑制重新裝填的發(fā)生,直到累積到預(yù)定個(gè)重新裝填請求。
18.根據(jù)權(quán)利要求15所述的信息處理方法,進(jìn)一步包含在預(yù)定條件下,切換要按照高速緩存未命中進(jìn)行重新裝填的區(qū)域和要為預(yù)取鎖定入口的區(qū)域,高速緩沖存儲器是為這些區(qū)域分配的。
19.一種信息處理方法,包含判優(yōu)由訪問高速緩沖存儲器的數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求;按照判優(yōu)重新裝填請求,進(jìn)行從主存儲器到高速緩沖存儲器的重新裝填;和自開始重新裝填以來經(jīng)過了預(yù)定時(shí)間之后,在高速緩沖存儲器上設(shè)置與重新裝填請求相對應(yīng)的入口鎖定。
20.一種信息處理方法,包含預(yù)測要供操作單元使用的紋理數(shù)據(jù);和將包含預(yù)測紋理數(shù)據(jù)的行從主存儲器預(yù)取到高速緩沖存儲器。
21.根據(jù)權(quán)利要求20所述的信息處理方法,其中,在所述預(yù)測中,預(yù)測在執(zhí)行預(yù)定程序時(shí)操作單元使用開始場景所需的紋理數(shù)據(jù),作為要預(yù)取的數(shù)據(jù)。
22.根據(jù)權(quán)利要求20所述的信息處理方法,進(jìn)一步包含在預(yù)定條件下,切換要按照高速緩存未命中進(jìn)行重新裝填的區(qū)域和要為預(yù)取鎖定入口的區(qū)域,高速緩沖存儲器是為這些區(qū)域分配的。
23.一種使計(jì)算機(jī)實(shí)施如下功能的程序判優(yōu)由訪問高速緩沖存儲器的數(shù)個(gè)操作單元的高速緩存未命中所致的數(shù)個(gè)重新裝填請求,以便抑制高速緩沖存儲器中顛簸的出現(xiàn)的判優(yōu)功能;和發(fā)出按照判優(yōu)重新裝填請求,進(jìn)行從主存儲器到高速緩沖存儲器的重新裝填的指令的功能。
24.一種使計(jì)算機(jī)實(shí)施如下功能的程序預(yù)測要供操作單元使用的紋理數(shù)據(jù);和將包含預(yù)測紋理數(shù)據(jù)的行從主存儲器預(yù)取到高速緩沖存儲器。
25.根據(jù)權(quán)利要求24所述的程序,其中,在預(yù)測功能中,預(yù)測在執(zhí)行預(yù)定程序時(shí)所述操作單元使用開始場景所需的紋理數(shù)據(jù),作為要預(yù)取的數(shù)據(jù)。
全文摘要
次要紋理高速緩存由數(shù)個(gè)紋理單元公用,和存儲主存儲器中的一部分?jǐn)?shù)據(jù)。高速緩存控制CPU按照數(shù)個(gè)紋理單元的高速緩存未命中控制從主存儲器到次要紋理高速緩存的重新裝填操作,以便抑制次要紋理高速緩存中顛簸的出現(xiàn)。當(dāng)數(shù)個(gè)操作單元以預(yù)定時(shí)間差訪問相同存儲器地址時(shí),高速緩存控制CPU抑制重新裝填操作的發(fā)生。
文檔編號G06F12/08GK1985243SQ20058001767
公開日2007年6月20日 申請日期2005年5月30日 優(yōu)先權(quán)日2004年5月31日
發(fā)明者佐佐木伸夫, 山崎剛, 國松敦, 安川英樹 申請人:索尼計(jì)算機(jī)娛樂公司, 株式會社東芝
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
通渭县| 筠连县| 扶余县| 长泰县| 从化市| 鹤岗市| 碌曲县| 封丘县| 吉木萨尔县| 辽中县| 千阳县| 阿尔山市| 莒南县| 凤台县| 犍为县| 贺兰县| 馆陶县| 汉沽区| 平江县| 宜都市| 土默特右旗| 离岛区| 交城县| 项城市| 平阳县| 手机| 大庆市| 禹州市| 盐亭县| 清苑县| 太和县| 长乐市| 金寨县| 龙海市| 浦县| 宁海县| 玉龙| 无棣县| 锡林浩特市| 塘沽区| 西乌珠穆沁旗|