專利名稱:高速緩沖存儲器管理系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字數(shù)據(jù)處理中的高速緩沖存儲器結(jié)構(gòu)和管理,更具體地說,涉及數(shù)字圖像數(shù)據(jù)處理中的高速緩沖存儲器結(jié)構(gòu)和管理。
背景技術(shù):
由于新計算機系統(tǒng)的發(fā)明,總是存在著更快的處理器和更快的系統(tǒng)的競爭。更快的處理器的時鐘速率以指數(shù)的形式增長。自然地,數(shù)據(jù)和指令的量也在快速增加。在計算機系統(tǒng)中,有存儲設(shè)備例如ROM(只讀存儲器)和基于突發(fā)的存儲設(shè)備例如DRAM,具有較高的容量以存儲數(shù)據(jù)和指令。從結(jié)構(gòu)上說,大容量存儲器空間深度很深,可使處理器訪問存儲器中的數(shù)據(jù)和指令的速度變緩。這個問題產(chǎn)生對更有效的存儲器管理以及建立高速緩沖存儲器和高速緩沖存儲器結(jié)構(gòu)的需求。高速緩沖存儲器通常是處理器內(nèi)部或接近處理器的淺且寬的存儲設(shè)備,使得處理器能夠訪問數(shù)據(jù)并改變數(shù)據(jù)內(nèi)容。高速緩沖存儲器管理的原理是在可最快訪問的存儲器設(shè)備中保存常用數(shù)據(jù)和指令的副本,或者最可能被處理器使用的數(shù)據(jù)和指令的副本。這使得處理器訪問數(shù)據(jù)和指令的速度比訪問外部存儲器快很多倍。然而,需要注意的是,在這些操作中,高速緩沖存儲器和外部存儲器內(nèi)內(nèi)容的改變應(yīng)該要一致。這些問題及其硬件和軟件特征建立了現(xiàn)有的高速緩沖存儲器結(jié)構(gòu)和管理技術(shù)。
如上所述,高速緩沖存儲器保存將來最有可能由處理器訪問的數(shù)據(jù)和地址指針的副本。外部存儲器一般在電容中保存數(shù)據(jù),并需要刷新周期以補充電容中的電荷以防止數(shù)據(jù)丟失。然而,典型的高速緩沖存儲器使用8個晶體管表示1個比特,并因此而不需要刷新周期。高速緩沖存儲器因此具有較外部存儲器小的每單位存儲空間。因此,高速緩沖存儲器包含的數(shù)據(jù)大大的小于外部存儲器。因此,必須謹慎地選擇數(shù)據(jù)和指令以優(yōu)化高速緩沖存儲器的運行。
已有各種不同的規(guī)范和協(xié)議用于優(yōu)化高速緩沖存儲器的運行。最常見的是直接映射、全相聯(lián)和組相聯(lián)。這些協(xié)議為本領(lǐng)域技術(shù)人員熟知。這些協(xié)議對計算服務(wù),包括數(shù)據(jù)處理、網(wǎng)頁應(yīng)用等。Pomerene的美國專利4,295,193提出了一種同時執(zhí)行編譯為多指令碼字的指令的計算機。該專利是最早提及高速緩沖存儲器、地址生成器、指令寄存器和流水線操作的專利。Matsuo的美國專利4,796,175提出了可從主存儲器和指令高速緩沖存儲器預(yù)取指令的具有指令隊列的微處理器。Stiles的美國專利6,067,616提出了一種具有混合高速緩沖存儲器結(jié)構(gòu)的分支預(yù)測高速緩沖存儲器(BCP)方案、全相聯(lián)淺且寬的第一級BCP、具有部分預(yù)測信息的直接映射深且窄的第二級BCP。Frank的美國專利6,654,856提出了一種計算機系統(tǒng)中的高速緩沖存儲器管理系統(tǒng),其中描述了高速緩沖存儲器的智能地址循環(huán)結(jié)構(gòu)。
Liao的美國專利6,681,296提出了一種具有控制單位和高速緩沖存儲器的微處理器,可選擇性地設(shè)置為單一的或分割為鎖定且正常的幾部分。Arimilli的美國專利6,721,856提出了具有相干狀態(tài)和系統(tǒng)控制器信息、每個存儲行具有不同子條目以用于包含處理器訪問序列的不同處理器的高速緩沖存儲器。美國專利6,629,188公開了一種具有第一和第二多個存儲空間的高速緩沖存儲器。美國專利6,295,582公開了一種具有數(shù)據(jù)一致性并使用順序的讀寫命令避免死鎖的高速緩沖存儲器系統(tǒng)。美國專利6,339,428公開了一種視頻圖像高速緩沖存儲器設(shè)備,其中壓縮后的紋理信息被接收并解壓縮用于紋理運算(texture operation)。美國專利6,353,438公開了一種具有多個紋理圖像數(shù)據(jù)的碎片并將數(shù)據(jù)直接映射至高速緩沖存儲器的高速緩沖存儲器結(jié)構(gòu)。
上述每個發(fā)明都具有各自的優(yōu)點。高效率的高速緩沖存儲器結(jié)構(gòu)和策略主要依賴于實際應(yīng)用。在數(shù)字視頻應(yīng)用中,實時且高質(zhì)量的數(shù)字圖像處理是本領(lǐng)域的一個難題,特別是需要同時執(zhí)行非線性坐標(biāo)轉(zhuǎn)換和詳細的二維圖像處理。因此需要一種專用的特殊系統(tǒng),具有獨特的優(yōu)點,可在保持數(shù)據(jù)一致性的同時提供快速訪問。因此,需要針對該實際應(yīng)用優(yōu)化高速緩沖存儲器結(jié)構(gòu)和高速緩沖存儲器管理策略。
發(fā)明內(nèi)容
本發(fā)明的一方面提供一種用于數(shù)字數(shù)據(jù)處理中高速緩沖存儲器結(jié)構(gòu)和管理的,特別是用于包括以下部分的裝置中的數(shù)字圖像處理(a)用于存儲將被訪問的數(shù)據(jù)和處理后的數(shù)據(jù)的外部存儲器;(b)用于發(fā)出控制命令并生成控制參數(shù)和所述外部存儲器中將被處理的數(shù)據(jù)的存儲器地址的多個處理器單元PU1;(c)用于處理所述數(shù)據(jù)的多個處理器單元PU2;所述方法使用如下的高速緩沖存儲器結(jié)構(gòu)(i)具有較大存儲容量、較深的次高速緩沖存儲器(SCM),具有多個儲存組,并且每個儲存組具有多個存儲行以從所述外部存儲器讀取數(shù)據(jù);(ii)具有較小存儲容量、較快且較寬的主高速緩沖存儲器(PCM),具有多個儲存組,并且每個儲存組具有多個存儲行,數(shù)據(jù)由所述PU2從其中讀取;(iii)包含控制級和控制隊列的控制邏輯,提供預(yù)取和高速緩沖存儲器相干性;以在從所述PU1接收到地址序列和控制參數(shù)后,訪問所述外部存儲器內(nèi)的數(shù)據(jù),以及準備數(shù)據(jù)以由所述PU2快速訪問和處理。所述方法通過以下步驟獲得高速緩沖存儲器相干性并隱藏存儲器讀取滯后(a)基于所述PU2中處理操作的布局和結(jié)構(gòu)識別所述外部存儲器中將被處理的數(shù)據(jù)塊;(b)基于步驟(a)的結(jié)果產(chǎn)生足夠大的次高速緩沖存儲器控制隊列,并確定所述數(shù)據(jù)是否在主高速緩沖存儲器中出現(xiàn),以便次高速緩沖存儲器在數(shù)據(jù)被所述PU2處理前及時訪問所述外部存儲器內(nèi)的數(shù)據(jù);(c)在預(yù)設(shè)的時鐘周期數(shù)內(nèi)同時從所述次高速緩沖存儲器的多個儲存組中讀取輸入數(shù)據(jù)塊,并通過解壓縮和重新格式化所述數(shù)據(jù),從高速緩沖存儲器數(shù)據(jù)結(jié)構(gòu)中提取出外部存儲器數(shù)據(jù)結(jié)構(gòu),以從所述PU2隱藏外部數(shù)據(jù)結(jié)構(gòu),從而加速所述PU2中的數(shù)據(jù)處理;
(d)基于步驟(a)和(b)的結(jié)果產(chǎn)生足夠大的主高速緩沖存儲器控制隊列,以在所述PU2需要所述數(shù)據(jù)之前,將提取出的數(shù)據(jù)存儲在次高速緩沖存儲器中;(e)同步所述PU2中數(shù)據(jù)和控制參數(shù)的到達以實現(xiàn)高速緩沖存儲器的相干性。
另一方面,本發(fā)明基于上述方法提供一種高速緩沖存儲器的系統(tǒng)。
本發(fā)明實施例的各方面及其優(yōu)點的詳細內(nèi)容將在以下結(jié)合附圖進行描述。
附圖中圖1是依據(jù)本發(fā)明的高速緩沖存儲器系統(tǒng)的總體結(jié)構(gòu)示意圖;圖2是依據(jù)本發(fā)明的高速緩沖存儲器的細節(jié)結(jié)構(gòu)示意圖;圖3是將被高速緩沖存儲的輸入數(shù)據(jù)的塊結(jié)構(gòu)示意圖;圖4是依據(jù)本發(fā)明的主高速緩沖存儲器系統(tǒng)的結(jié)構(gòu)示意圖;圖5是依據(jù)本發(fā)明的次高速緩沖存儲器系統(tǒng)的結(jié)構(gòu)示意圖;圖6是依據(jù)本發(fā)明的高速緩沖存儲器系統(tǒng)的邏輯流程圖。
具體實施例方式
下面將結(jié)合附圖和實施例對本發(fā)明進行詳細描述。本發(fā)明涉及高速緩沖存儲器結(jié)構(gòu)和管理。在本說明書中,給定的實施例是圖像處理的同時進行坐標(biāo)轉(zhuǎn)換。然而,本領(lǐng)域技術(shù)人員能夠理解本發(fā)明的范圍不限于此實施例。本發(fā)明涉及任何類型的數(shù)字數(shù)據(jù)處理,其中多個處理器嘗試從外部存儲器和其他具有任意格式的處理器獲取數(shù)據(jù)和控制參數(shù)。特別來說,例如,該申請中介紹的二維(2D)圖像轉(zhuǎn)換可以用任何2D數(shù)據(jù)轉(zhuǎn)換來代替而不脫離本發(fā)明的范圍。因此,在接下來的描述中,本說明書所涉及的數(shù)據(jù)稱為圖像象素數(shù)據(jù)。本說明書將發(fā)出關(guān)于輸入數(shù)據(jù)的結(jié)構(gòu)和布局的控制參數(shù)的多個處理器稱作幾何引擎。此外,本說明書將多個訪問用于操作的數(shù)據(jù)的處理器稱作濾波器引擎,及其對應(yīng)的操作為濾波操作。
圖1所示為依據(jù)本發(fā)明計算設(shè)備內(nèi)的高速緩沖存儲器系統(tǒng)100的設(shè)置的示意圖,設(shè)計為用于數(shù)字圖像數(shù)據(jù)處理以及同步的坐標(biāo)轉(zhuǎn)換。高速緩沖存儲器系統(tǒng)100與兩組處理器連接。在本實施例中,第一組多個處理器組成幾何引擎300,第二組多個處理器組成濾波引擎500。除了這兩個引擎外,高速緩沖存儲器系統(tǒng)100與外部存儲器700連接,該外部存儲器可以是具有訪問延遲(access latency)的任何存儲器。高速緩沖存儲器100從幾何引擎300接收控制參數(shù),包括坐標(biāo)轉(zhuǎn)換以及濾波器覆蓋區(qū)域(footprint)參數(shù)。同時高速緩沖存儲器100從外部存儲器700接收象素數(shù)據(jù)。高速緩沖存儲器系統(tǒng)100以使用濾波器引擎500的最小延遲優(yōu)化濾波處理的方式將這些數(shù)據(jù)提供給濾波器引擎500。
在二維數(shù)據(jù)處理中,特別是數(shù)字圖像數(shù)據(jù)處理中,需要全面的濾波或采樣功能。在下面,我們舉特定的2D圖像處理為例;因此“象素”用作任意2D數(shù)據(jù)的特定情況。在2D數(shù)字圖像處理中,每個輸出象素基于來自多個輸入象素的信息組成。首先,輸出象素坐標(biāo)映射在輸入象素坐標(biāo)上。這就是坐標(biāo)轉(zhuǎn)換,通常通過圖像卷曲(image warping)技術(shù)完成。一旦中心輸入象素被確定,需要使用濾波或采樣函數(shù)來產(chǎn)生輸出象素規(guī)范,即顏色成分的亮度以及其他信息,例如采樣格式和混合函數(shù)。包含所述中心輸入象素周圍的所有象素的區(qū)域稱作濾波器覆蓋區(qū)域,采樣在其上執(zhí)行。本領(lǐng)域技術(shù)人員熟知的是,濾波器覆蓋區(qū)域的大小和形狀影響輸出圖像的質(zhì)量。
高速緩沖存儲器系統(tǒng)100的功能是使用專有結(jié)構(gòu)和預(yù)取邏輯以提供足夠的隨即訪問象素數(shù)據(jù)和控制參數(shù)給濾波器引擎500,以便濾波器引擎500在任何給定時鐘速率使用最小延遲(stalling)來處理數(shù)據(jù)。通過使用最優(yōu)大小的讀請求隊列,高速緩沖存儲器系統(tǒng)100能夠隱藏獲取象素數(shù)據(jù)的外部存儲器700中固有的大多數(shù)存儲器讀滯后。存儲器讀取滯后的隱藏對濾波器性能來說是非常重要的。如果滯后沒有正確的隱藏,濾波器引擎500將不能達到最大吞吐量。允許的最大量的延遲是設(shè)計的參數(shù)。需要調(diào)整不同的參數(shù)以與硬件成本折中后達到所要求的吞吐量。
此外,高速緩沖存儲器系統(tǒng)100為從幾何引擎300讀取的坐標(biāo)轉(zhuǎn)換和濾波器覆蓋區(qū)域參數(shù)提供控制路徑。高速緩沖存儲器系統(tǒng)100一方面確保來自外部存儲器700的象素數(shù)據(jù),另一反面確保來自幾何引擎300的控制參數(shù),兩者在到達濾波器引擎500的輸入處時同步。
在本說明書中,采用斜體字表示數(shù)量(例如,64字節(jié))以區(qū)別于引用標(biāo)號(例如,濾波器引擎500)。
圖2是本發(fā)明高速緩沖存儲器系統(tǒng)100的細節(jié)結(jié)構(gòu)示意。對于每個輸出象素,高速緩沖存儲器系統(tǒng)100從幾何引擎300接收特定的控制參數(shù)。這些參數(shù)包括被映射的輸入象素的坐標(biāo)U和V,以及附加的控制參數(shù),包括那些定義濾波器覆蓋區(qū)域的形狀、旋轉(zhuǎn)和大小的參數(shù)。同時,高速緩沖存儲器系統(tǒng)100為包括在濾波器覆蓋區(qū)域中的每個象素從外部存儲器700接收象素數(shù)據(jù)。這些數(shù)據(jù)包括色彩空間中色彩成分的亮度級別,例如RGB或YCrCb,采樣格式,例如4∶4∶4或4∶2∶2,以及混合函數(shù),即使用α或不使用α。
高速緩沖存儲器系統(tǒng)100的結(jié)構(gòu)涉及將輸入圖像分割成大小為m×n個象素的塊。圖3展示了輸入圖像象素塊結(jié)構(gòu)的特定實施例,其中n=8,m=4。輸入圖像330包括特定數(shù)量的象素,例如1024×1024,被分成塊。每個輸入象素塊332包含m×n個輸入象素334。塊的結(jié)構(gòu)通常是不同濾波方案中覆蓋區(qū)域形狀和大小的函數(shù)。
高速緩沖存儲器系統(tǒng)100獲取關(guān)于m×n個輸入象素塊332的數(shù)據(jù),并產(chǎn)生濾波器引擎500可使用的數(shù)據(jù)塊。以此,系統(tǒng)需要確定哪些塊在覆蓋區(qū)域內(nèi),以及這些塊中必須包括哪些象素以進行濾波。高速緩沖存儲器系統(tǒng)100的結(jié)構(gòu)是可縮放的以匹配輸入塊數(shù)據(jù)結(jié)構(gòu)。需要注意的是,通常高速緩沖存儲器系統(tǒng)100的結(jié)構(gòu)是濾波器引擎500的操作的特性和結(jié)構(gòu)的函數(shù)。在圖像處理的特殊情況中,該操作的結(jié)構(gòu)和拓撲部分地由濾波器覆蓋區(qū)域來定義。
參照圖2地實施例,高速緩沖存儲器系統(tǒng)100包括淺且寬并具有較小的容量的主高速緩沖存儲器110、深且容量較大的次高速緩沖存儲器120、塊包含級150、塊數(shù)據(jù)生成級130、主高速緩沖存儲器控制級170和次高速緩沖存儲器控制級190。還有多個隊列,將在本說明書后面部分進行描述。象素數(shù)據(jù)首先從外部存儲器700讀入次高速緩沖存儲器120。隨后這些數(shù)據(jù)被塊生成級130重新格式化并解壓縮以供濾波器引擎500使用。這些重新格式化的數(shù)據(jù)放入隊列以在恰當(dāng)?shù)臅r間放入主高速緩沖存儲器110中,在此這些重新格式化的數(shù)據(jù)已經(jīng)準備好被濾波器引擎500訪問。下面將分別解釋數(shù)據(jù)路徑和控制邏輯結(jié)構(gòu)。
參照圖5所示的實施例,次高速緩沖存儲器120是從外部存儲器700讀取原始數(shù)據(jù)的較大容量的存儲設(shè)備。外部存儲器700的象素數(shù)據(jù)以任意格式存儲,通常不適合在濾波器引擎500中處理,例如,在特定的例子中,數(shù)據(jù)以掃描行(scan-line)的順序順序地存儲。次高速緩沖存儲器120設(shè)計為有效地讀取這些數(shù)據(jù)而具有最小的中斷。
次高速緩沖存儲器內(nèi)的每個存儲行(line)用于容納來自外部存儲器700的b2字節(jié)的數(shù)據(jù)突發(fā)串。因此,次高速緩沖存儲器120的每行依據(jù)外部存儲器700的結(jié)構(gòu)和讀取要求來定義大小。用于存儲數(shù)據(jù)的次高速緩沖存儲器120的行數(shù)也是一個優(yōu)化的設(shè)計參數(shù),用以降低次高速緩沖存儲器的錯誤計數(shù)。另外,次高速緩沖存儲器120被分組以允許有足夠的讀取吞吐量以更新主高速緩沖存儲器110,最小化濾波器引擎500的延遲。為了存儲足夠的數(shù)據(jù)用于濾波器引擎500進行象素處理,這些設(shè)計參數(shù)是至關(guān)緊要的,因為取樣中心輸入象素需要許多相鄰的象素。
因此,次高速緩沖存儲器120設(shè)計為具有特定數(shù)量的多個存儲組(bank),每個存儲組具有獨立的訪問行以同時從外部存儲器700讀取數(shù)據(jù)。如圖5的實施例所示,次高速緩沖存儲器120有多個存儲組122,每個組具有特定數(shù)量的行124。每個次高速緩沖存儲器存儲行包含來自從外部存儲器700讀取的一個數(shù)據(jù)突發(fā)串的數(shù)據(jù)。這些數(shù)據(jù)最終需要由濾波器引擎500讀取。因此,次高速緩沖存儲器的組數(shù)設(shè)計為數(shù)據(jù)吞吐量的函數(shù)。對于m×n輸入塊結(jié)構(gòu)和所需的時鐘周期數(shù)NC,為讀取數(shù)據(jù),次高速緩沖存儲器120中需要n/NC個組。為了將數(shù)據(jù)分配在次高速緩沖存儲器的各組中,在一個特定的實施例中,使用U和V最低有效位(LSB)的組合。這降低了解碼邏輯的復(fù)雜性,節(jié)省面積并使更新更快。為了將每個組分割為2i個部分,使用i個最低有效位。如果每個次高速緩沖存儲器存儲組122有2i行,這使得次高速緩沖存儲器結(jié)構(gòu)2i/2i組相聯(lián)。這一設(shè)計以及次高速緩沖存儲器120的恰當(dāng)?shù)奶鎿Q策略(稍后將結(jié)合高速緩沖存儲器邏輯進行描述),獲得一種簡單且高效的分割以在整個次高速緩沖存儲器120中分配數(shù)據(jù)。
當(dāng)數(shù)據(jù)從外部存儲器700讀入次高速緩沖存儲器120后,這些數(shù)據(jù)需要被轉(zhuǎn)換成可被濾波器引擎500使用的格式。塊生成級130讀取次高速緩沖存儲器120中的數(shù)據(jù),并將這些數(shù)據(jù)分配在可包含來自一個m×n輸入象素塊的所有數(shù)據(jù)的塊中。如上所述,塊生成級130每個時鐘周期讀取次高速緩沖存儲器120的n/NC行。這確保在每NC個時鐘周期內(nèi),所有關(guān)于一個輸入象素塊的數(shù)據(jù)被同時讀取。依據(jù)數(shù)據(jù)的打包格式和吞吐量要求,需要從次高速緩沖存儲器120讀取多次以生成該輸入象素塊。除了讀取這些數(shù)據(jù)外,塊生成級130重新格式化和解壓縮這些數(shù)據(jù)為濾波器引擎500可用的格式。塊生成級130因此隱藏原始象素數(shù)據(jù)格式,該原始象素數(shù)據(jù)格式可使用各種壓縮方案壓縮。這使濾波器引擎500免于識別外部存儲器700中的象素數(shù)據(jù)的格式以及解包該原始格式化的數(shù)據(jù)為用于濾波的塊。這些塊數(shù)據(jù)最終存儲于主高速緩沖存儲器110內(nèi),由濾波器引擎500從中讀取。
參照圖4的實施例所示,主高速緩沖存儲器110設(shè)計為能優(yōu)化濾波器引擎500中數(shù)據(jù)訪問率的形式。因此,它具有淺但寬的結(jié)構(gòu),用于多行訪問。主高速緩沖存儲器110被分割為特定數(shù)量的多個存儲組,每個主高速緩沖存儲器存儲組112由濾波器引擎500獨立且同時讀取。主高速緩沖存儲器中存儲組的數(shù)量根據(jù)優(yōu)化濾波性能的經(jīng)驗數(shù)據(jù)和仿真來確定。每個主高速緩沖處理器存儲組112包含特定數(shù)量的主高速緩沖存儲器存儲行。每個主高速緩沖存儲器存儲行114包含來自輸入數(shù)據(jù)的一個m×n數(shù)據(jù)塊的所有數(shù)據(jù)。因此,對于b1個主高速緩沖存儲器存儲組,濾波器引擎500每個周期以恰當(dāng)?shù)母袷阶x取包含b1個輸入塊的數(shù)據(jù)。這一點是極為重要的,因為在采樣時需要某一輸入象素周圍的許多輸入塊,并且如果它們未提供給濾波器引擎500就會產(chǎn)生延遲。延遲的數(shù)量和頻率決定吞吐量性能。
為了在不同的主高速緩沖存儲器存儲組中分配數(shù)據(jù),使用輸入象素坐標(biāo)U和V的最低有效位。主高速緩沖存儲器110中的每個主存儲組112也被分割為特定數(shù)量的多個部分。如上所述,使用特定數(shù)量的最低有效位來在不同的主高速緩沖存儲器存儲組中分配數(shù)據(jù)。在輸入象素U和V地址的剩余比特中,再次使用額外的最低有效位以在每個主高速緩沖存儲器存儲組112中分配數(shù)據(jù)。對于每個主高速緩沖存儲器存儲組包括2f行,使用g個最低有效位來劃分每個存儲組,這一劃分產(chǎn)生2f/2g組相聯(lián)結(jié)構(gòu)。
為了達到最優(yōu)的吞吐量,這一設(shè)計再次與恰當(dāng)?shù)奶鎿Q策略一起用于主高速緩沖存儲器110,稍后將作詳細描述。因為對于較大的輸入數(shù)據(jù)量,U和V地址內(nèi)有更多的比特可用,這個結(jié)構(gòu)可以簡單和自然的方法進行縮放。
為了確保數(shù)據(jù)在濾波器引擎500需要時以可使用的格式出現(xiàn),設(shè)計有預(yù)取邏輯結(jié)構(gòu)。圖6展示了高速緩沖存儲器控制邏輯400。這個邏輯結(jié)構(gòu)控制次高速緩沖存儲器120從外部存儲器700讀取數(shù)據(jù),控制在塊生成級130內(nèi)讀取和重新格式化數(shù)據(jù),以及控制主高速緩沖存儲器110內(nèi)數(shù)據(jù)塊的存儲。
步驟402,基于從幾何引擎300接收的控制參數(shù)確定哪些數(shù)據(jù)塊的數(shù)據(jù)需要采樣。一旦數(shù)據(jù)被確認,步驟410中,確定這些數(shù)據(jù)是否在主高速緩沖存儲器中出現(xiàn)。如果出現(xiàn),在步驟412將一個條目寫入主控制隊列,并且在步驟414將這些數(shù)據(jù)的地址發(fā)送至濾波器引擎。如果這些數(shù)據(jù)沒有出現(xiàn)在主高速緩沖存儲器,步驟415中,根據(jù)稍后描述的采用的替換策略,確定替換哪個主高速緩沖存儲器存儲行。隨后,在步驟416,將該主高速緩沖存儲器存儲行的地址寫入主控制隊列,并且在步驟418發(fā)送至濾波器引擎。然后在步驟420,確定這些數(shù)據(jù)是否出現(xiàn)在次高速緩沖存儲器中。如果這些數(shù)據(jù)也沒有出現(xiàn)在此,步驟422中,決定替換哪個次高速緩沖存儲器存儲行。隨后發(fā)送讀請求至外部存儲器以讀取稍后將在步驟426中讀入次高速緩沖存儲器的數(shù)據(jù)。如果數(shù)據(jù)出現(xiàn)在次高速緩沖存儲器,步驟428中將一個條目寫入次高速緩沖存儲器控制隊列。
數(shù)據(jù)從外部存儲器取出后次高速緩沖存儲器命中(hit)或缺失(miss)兩種情況下,均在步驟440中將次高速緩沖存儲器數(shù)據(jù)讀出以用于塊生成。此處,數(shù)據(jù)從多個次高速緩沖存儲器存儲組中讀取,并且在步驟442中重新格式化和解壓縮。在這一級,步驟450中,將合適格式的輸入數(shù)據(jù)塊發(fā)送至隊列中以存儲在主高速緩沖存儲器中。步驟452,將這些數(shù)據(jù)存儲在主高速緩沖存儲器存儲組中。
主高速緩沖存儲器110的更新發(fā)生在相關(guān)的控制數(shù)據(jù)從主控制隊列212和象素控制隊列218中讀出時。這確保主高速緩沖存儲器100中的高速緩沖存儲器相干性得到保持。這樣,在步驟510,來自主高速緩沖存儲器的數(shù)據(jù)與控制參數(shù)一起到達濾波器引擎輸入處。
預(yù)取邏輯設(shè)計為用于隱藏濾波器引擎500中的讀取延遲。在沒有這個控制邏輯結(jié)構(gòu)的情況下,數(shù)據(jù)吞吐量不是最優(yōu)化的,并且濾波器引擎500將具有較高的延遲。使用足夠大小的隊列、最優(yōu)的存儲容量、數(shù)據(jù)準備和智能替換策略,高速緩沖存儲器系統(tǒng)100通過早于濾波器引擎500運行能隱藏大部分的讀延遲。
參照圖2,現(xiàn)在解釋高速緩沖存儲器控制邏輯400的硬件實現(xiàn)。塊包含級150是控制邏輯的起點。對于每個輸出象素,其從幾何引擎300接收控制參數(shù),包括映射的輸入象素的坐標(biāo)和濾波器覆蓋區(qū)域的形狀?;谳斎胂笏刈鴺?biāo)U和V、覆蓋區(qū)域形狀和其他控制參數(shù),該塊包含邏輯確定需要哪個輸入塊用于處理每個輸出象素,以及需要每個塊中的哪個象素用于采樣。
在本發(fā)明的一個實施例中,塊包含級150比較臨近塊的坐標(biāo)位置與覆蓋區(qū)域的幾何以包含需要采樣的象素塊。塊包含邏輯每個時鐘周期產(chǎn)生k個塊,其中每個塊在其塊地址內(nèi)至少有1個U或1個V最小有效位不同。這確保k個最低有效位的組合將出現(xiàn)在塊包含邏輯產(chǎn)生的每組塊中。這個約束用于將上述塊分配在主高速緩沖存儲器存儲組中。每個時鐘周期產(chǎn)生的塊的數(shù)量k是覆蓋區(qū)域大小的函數(shù),并且塊的布局是覆蓋區(qū)域形狀的函數(shù)。在設(shè)計用于濾波器引擎500中數(shù)據(jù)處理的高速緩沖存儲器系統(tǒng)110時應(yīng)該通過仔細的仿真和實驗考慮這些參數(shù)。由塊包含級150產(chǎn)生的象素控制隊列218,在允許濾波器引擎500產(chǎn)生實際象素數(shù)據(jù)前的縮放參數(shù)之前被發(fā)送給濾波器引擎500。
主高速緩沖存儲器控制級170為主高速緩沖存儲器110中數(shù)據(jù)的處理提供控制邏輯。對于由塊包含級150確定的每個輸入塊,主高速緩沖存儲器控制170檢查以確定該塊是否出現(xiàn)在主高速緩沖存儲器110中。如果數(shù)據(jù)出現(xiàn)在其中,這被稱作高速緩沖存儲器命中。否則高速緩沖存儲器被登記為缺失,并將缺失標(biāo)記發(fā)送至次高速緩沖存儲器控制190。主高速緩沖控制級170將一條目寫入主控制隊列212,指出主高速緩沖存儲器110中該數(shù)據(jù)的地址,以及是否有主高速緩沖存儲器命中或缺失。主控制隊列212由濾波器引擎500基于FIFO讀取。如果一個條目中出現(xiàn)高速緩沖存儲器缺失標(biāo)記,濾波器引擎500發(fā)送讀請求至塊隊列214,更新主高速緩沖存儲器110。
主高速緩沖存儲器缺失的情況,發(fā)生在數(shù)據(jù)塊沒有出現(xiàn)在主高速緩沖存儲器110時,U或V任一地址不匹配被檢查的任何塊時,或者相關(guān)的有效位未被設(shè)定時,這種情況被稱作主高速緩沖存儲器缺失。接收到主高速緩沖存儲器缺失的標(biāo)記后,次高速緩沖存儲器控制級190的控制邏輯將確定選擇哪個步驟生成將被寫入主高速緩沖存儲器的該m×n塊。次高速緩沖存儲器190首先確定數(shù)據(jù)是否存在于次高速緩沖存儲器120中。這將出現(xiàn)次高速緩沖存儲器命中或缺失。如果次高速緩沖存儲器出現(xiàn)缺失,次高速緩沖存儲器控制190發(fā)送讀取請求至外部存儲器700以從外部存儲器700獲取該缺失的信息寫入次高速緩沖存儲器120,并將一個條目寫入次控制隊列216。如果次高速緩沖存儲器命中,次高速緩沖存儲器控制級190不發(fā)送讀請求,并僅將一個條目寫入次控制隊列216,該次控制隊列中的條目由塊生成級130基于FIFO讀取。
接收到每個隊列條目后,塊生成級130從次高速緩沖存儲器120中讀取關(guān)于整個輸入塊的原始數(shù)據(jù)。然后這些數(shù)據(jù)在塊生成級130中被重新格式化為可被濾波器引擎500使用的格式。依據(jù)數(shù)據(jù)打包模式,需要有多個次高速緩沖存儲器存儲行來產(chǎn)生主高速緩沖存儲器存儲行114。在獲得所有關(guān)于一個輸入塊的數(shù)據(jù)并重新格式化這些數(shù)據(jù)后,塊生成級130將一個條目寫入塊隊列214。每個塊隊列條目因此包含有恰當(dāng)格式的來自整個輸入塊的所有數(shù)據(jù)。塊隊列條目隨后由主高速緩沖存儲器110接收并存儲其中,以供濾波器引擎500訪問。因此,塊隊列214允許次高速緩沖存儲器120在濾波器引擎500前運行。
需要注意的是,高速緩沖存儲器系統(tǒng)100的功能是基于象素數(shù)據(jù)和控制參數(shù)的相干性以及專用的預(yù)取邏輯的。在沒有來自次高速緩沖存儲器控制級190的請求的情況下,次高速緩沖存儲器120不會讀取數(shù)據(jù)。一旦數(shù)據(jù)在次高速緩沖存儲器中的情況下,只有次控制隊列216的條目確定這些數(shù)據(jù)是否需要在塊生成級130中進行塊生成。一旦一個數(shù)據(jù)塊生成后,僅基于來自濾波器引擎500的讀請求將其放入將存儲在主高速緩沖存儲器110內(nèi)的隊列中,而濾波器引擎500的讀請求由主控制隊列212中的一個條目促成。此外,在處理該數(shù)據(jù)前,濾波器引擎等待象素數(shù)據(jù)和控制參數(shù)從兩個獨立的隊列到達。
依據(jù)濾波器覆蓋區(qū)域的相對大小和高速緩沖存儲器的存儲空間,可能需要將該覆蓋區(qū)域劃分為多個子區(qū)域,并順序地在每個子區(qū)域內(nèi)處理數(shù)據(jù)。這個量在高速緩沖存儲器系統(tǒng)100的設(shè)計中可進行預(yù)測以動態(tài)地調(diào)整覆蓋區(qū)域的大小。當(dāng)關(guān)于每個子區(qū)域的數(shù)據(jù)被高速緩存后,濾波器引擎將按順序處理這些數(shù)據(jù)。
為了理解數(shù)據(jù)預(yù)取以允許高速緩沖存儲器系統(tǒng)100隱藏存儲器讀取滯后的效果,在本發(fā)明的一個實施例中,設(shè)置的基準點是讀取滯后大約是128個時鐘周期。通過提供足夠大的隊列,幾乎所有的滯后都被隱藏。本發(fā)明中隊列的大小可進行調(diào)整以匹配系統(tǒng)中看到的存儲器讀取滯后,并因此是基于系統(tǒng)規(guī)范的可調(diào)設(shè)計參數(shù)。
一旦高速緩沖存儲器邏輯結(jié)構(gòu)確定特定數(shù)據(jù)塊應(yīng)該被次高速緩沖存儲器120讀取,或應(yīng)該準備存儲于主高速緩沖存儲器110中時,便需要替換策略。一個現(xiàn)有的主高速緩沖存儲器存儲行114或多個次高速緩沖存儲器存儲行124將被替換。在本發(fā)明的一個實施例中,高速緩沖存儲器替換策略是以距離為基礎(chǔ)。根據(jù)U和V輸入塊地址,主高速緩沖存儲器控制級170和次高速緩沖存儲器控制級190將中心輸入象素U和V坐標(biāo)與高速緩沖存儲器存儲行中現(xiàn)有的數(shù)據(jù)塊的坐標(biāo)進行對比。離中心輸入象素距離最大的條目隨后被替換。這個策略源于離中心象素的距離越近需要進行采樣計算的可能性越高的事實。
在本發(fā)明的另一個實施例中,高速緩沖存儲器替換策略以最近最少使用(LRU)為基礎(chǔ)。在這個實施例中,主高速緩沖存儲器控制級170和次高速緩沖存儲器控制級190選擇替換最近最少使用的高速緩沖存儲器存儲行。
高速緩沖存儲器系統(tǒng)100的設(shè)計有幾個量可以使該系統(tǒng)可調(diào)。次高速緩沖存儲器存儲行的大小可針對來自外部存儲器700的存儲器讀取的大小例如突發(fā)串的大俠以及塊生成速率進行調(diào)整。次高速緩沖存儲器存儲行的數(shù)量基于要求的高速緩沖存儲器效率進行調(diào)整。次高速緩沖存儲器存儲組的數(shù)量基于輸入塊數(shù)據(jù)結(jié)構(gòu)和每個次高速緩沖存儲器外部訪問的時鐘周期的數(shù)量進行調(diào)整。次高速緩沖存儲器120的調(diào)整基于大小的要求和高速緩沖存儲器系統(tǒng)效率(即將被重新讀取的輸入數(shù)字數(shù)據(jù)的量)作出。
塊包含級150內(nèi)每個時鐘周期產(chǎn)生的塊數(shù)基于濾波器算法、覆蓋區(qū)域大小和要求的吞吐量進行調(diào)整?;赨和V輸入象素的最低有效位進行的主高速緩沖存儲器110和次高速緩沖存儲器120的劃分與高速緩沖存儲器的大小相適應(yīng)。這通過特定劃分所使用的比特數(shù)來實現(xiàn)。主高速緩沖存儲器存儲行的大小基于輸入塊的大小進行調(diào)整。主高速緩沖存儲器存儲組的數(shù)量基于濾波器吞吐量進行調(diào)整。不同隊列的大小也是可調(diào)整的參數(shù),取決于存儲器滯后與要求的吞吐量的比。這些大小基于仿真和試驗數(shù)據(jù)確定。
所有的這些設(shè)計參數(shù)必須結(jié)合成本和性能之間的折中仔細地考慮。因此需要對本發(fā)明的特定實現(xiàn)進行仔細的仿真和試驗為特定的情況優(yōu)化高速緩沖存儲器方案。
以上結(jié)合實施例介紹了本發(fā)明的特征,因此各種修改、替換、變更和等同已為本領(lǐng)域普通技術(shù)人員所知悉。因此,應(yīng)該理解的是,本申請的權(quán)利要求書覆蓋了落入本發(fā)明范圍內(nèi)的所有修改和變更。
權(quán)利要求
1.一種用于數(shù)字數(shù)據(jù)處理中高速緩沖存儲器結(jié)構(gòu)和管理的方法,特別是用于包括以下部分的裝置中的數(shù)字圖像處理與同時坐標(biāo)轉(zhuǎn)換(a)用于存儲將被訪問的數(shù)據(jù)和處理后的數(shù)據(jù)的外部存儲器;(b)用于發(fā)出控制命令并生成控制參數(shù)和所述外部存儲器中將被處理的數(shù)據(jù)的存儲器地址的多個處理器單元PU1;(c)用于處理所述數(shù)據(jù)的多個處理器單元PU2;其特征在于,所述方法使用包括如下部分的高速緩沖存儲器(i)具有較大存儲容量、較深的次高速緩沖存儲器,具有多個儲存組,并且每個儲存組具有多個存儲行以從所述外部存儲器讀取數(shù)據(jù);(ii)具有較小存儲容量、較快且較寬的主高速緩沖存儲器,具有多個儲存組,并且每個儲存組具有多個存儲行,數(shù)據(jù)由所述PU2從其中讀??;(iii)包含控制級和控制隊列的控制邏輯,提供預(yù)取和高速緩沖存儲器相干性;以在從所述PU1接收到地址序列和控制參數(shù)后,訪問所述外部存儲器內(nèi)的數(shù)據(jù),以及準備數(shù)據(jù)以由所述PU2快速訪問和處理,其中所述方法通過以下步驟獲得高速緩沖存儲器相干性并隱藏存儲器讀取滯后(a)基于所述PU2中處理操作的布局和結(jié)構(gòu)識別所述外部存儲器中將被處理的數(shù)據(jù)塊;(b)基于步驟(a)的結(jié)果產(chǎn)生足夠大的次高速緩沖存儲器控制隊列,并確定所述數(shù)據(jù)是否在主高速緩沖存儲器中出現(xiàn),以便次高速緩沖存儲器在數(shù)據(jù)被所述PU2處理前及時訪問所述外部存儲器內(nèi)的數(shù)據(jù);(c)在預(yù)設(shè)的時鐘周期數(shù)內(nèi)同時從所述次高速緩沖存儲器的多個儲存組中讀取輸入數(shù)據(jù)塊,并通過解壓縮和重新格式化所述數(shù)據(jù),從高速緩沖存儲器數(shù)據(jù)結(jié)構(gòu)中提取出外部存儲器數(shù)據(jù)結(jié)構(gòu),以從所述PU2隱藏外部數(shù)據(jù)結(jié)構(gòu),從而加速所述PU2中的數(shù)據(jù)處理;(d)基于步驟(a)和(b)的結(jié)果產(chǎn)生足夠大的主高速緩沖存儲器控制隊列,以在所述PU2需要所述數(shù)據(jù)之前,將提取出的數(shù)據(jù)存儲在次高速緩沖存儲器中;(e)同步所述PU2中數(shù)據(jù)和控制參數(shù)的到達以實現(xiàn)高速緩沖存儲器的相干性。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,進一步包括基于來自所述外部存儲器的輸入塊數(shù)據(jù)結(jié)構(gòu)和讀取格式以及要求的吞吐量優(yōu)化所述次高速緩沖存儲器結(jié)構(gòu),包括次高速緩沖存儲器存儲組的數(shù)量、每個次高速緩沖存儲器存儲組內(nèi)存儲行的數(shù)量以及次高速緩沖存儲器存儲行的大小。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,進一步包括基于輸出數(shù)據(jù)結(jié)構(gòu)和格式以及要求的吞吐量優(yōu)化所述主高速緩沖存儲器結(jié)構(gòu),包括主高速緩沖存儲器存儲組的數(shù)量、每個主高速緩沖存儲器存儲組內(nèi)存儲行的數(shù)量以及主高速緩沖存儲器存儲行的大小。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,映射至所述高速緩沖存儲器系統(tǒng)為基于地址序列的直接映射。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,映射至所述高速緩沖存儲器系統(tǒng)由以下兩個步驟完成(a)基于地址序列直接映射;以及(b)基于距離的替換策略,其中,與離正在被處理的數(shù)據(jù)塊最遠的輸入塊相關(guān)的數(shù)據(jù)被替換。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,映射至所述高速緩沖存儲器系統(tǒng)由下面兩個步驟完成(a)基于地址序列直接映射;以及(b)基于最近最少使用的替換策略,其中,與最近最少使用的輸入塊相關(guān)的數(shù)據(jù)被替換。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于將被訪問的數(shù)據(jù)的量調(diào)整所述主高速緩沖存儲器的大小。
8.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于將被訪問的數(shù)據(jù)的量調(diào)整所述次高速緩沖存儲器的大小。
9.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于高速緩沖存儲器更新頻率調(diào)整所述主高速緩沖存儲器存儲行的大小。
10.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于重新讀取的因子調(diào)整所述次高速緩沖存儲器的大小。
11.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步分割所述輸入數(shù)據(jù)塊為子模塊,并按順序高速緩沖存儲來自每個子塊的數(shù)據(jù)以便在所述PU2中處理。
12.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步調(diào)整所述控制隊列和數(shù)據(jù)隊列的深度以優(yōu)化吞吐量。
13.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于所述PU2吞吐量要求調(diào)整所述主高速緩沖存儲器的輸出寬度和存儲組的數(shù)量。
14.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于所述輸入數(shù)據(jù)塊的大小調(diào)整所述主高速緩沖存儲器存儲行的大小。
15.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于所述外部存儲器突發(fā)串的大小調(diào)整所述次高速緩沖存儲器存儲行的大小。
16.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于所要求的所述主高速緩沖存儲器的更新速率調(diào)整所述次高速緩沖存儲器存儲組的數(shù)量。
17.根據(jù)權(quán)利要求3所述的方法,其特征在于,進一步基于輸入數(shù)據(jù)塊的存儲器地址的最低有效位將數(shù)據(jù)分配到所述主高速緩沖存儲器和所述次高速緩沖存儲器中。
18.一種用于數(shù)據(jù)處理特別是用于在包括如下部分的裝置中同時進行坐標(biāo)轉(zhuǎn)換的二維圖像處理的高速緩沖存儲器系統(tǒng)(a)用于存儲將被訪問的數(shù)據(jù)和處理后的數(shù)據(jù)的外部存儲器;(b)用于發(fā)出控制命令并生成控制參數(shù)和所述外部存儲器中將被處理的數(shù)據(jù)的存儲器地址的多個處理器單元PU1;(c)用于處理所述數(shù)據(jù)的多個處理器單元PU2;其特征在于,所述系統(tǒng)進一步包括(i)具有較大存儲容量、較深的次高速緩沖存儲器,具有多個儲存組,并且每個儲存組具有多個存儲行以從所述外部存儲器讀取數(shù)據(jù);(ii)具有較小存儲容量、較快且較寬的主高速緩沖存儲器,具有多個儲存組,并且每個儲存組具有多個存儲行,數(shù)據(jù)由所述PU2從其中讀取;(iii)包含控制級和控制隊列的控制邏輯,提供預(yù)取和高速緩沖存儲器相干性;以在從所述PU1接收到地址序列和控制參數(shù)后,訪問所述外部存儲器內(nèi)的數(shù)據(jù),以及準備數(shù)據(jù)以由所述PU2快速訪問和處理,其中所述方法通過以下步驟獲得高速緩沖存儲器相干性并隱藏存儲器讀取滯后(a)基于所述PU2中處理操作的布局和結(jié)構(gòu)識別所述外部存儲器中將被處理的數(shù)據(jù)塊;(b)基于步驟(a)的結(jié)果產(chǎn)生足夠大的次高速緩沖存儲器控制隊列,并確定所述數(shù)據(jù)是否在主高速緩沖存儲器中出現(xiàn),以便次高速緩沖存儲器在數(shù)據(jù)被所述PU2處理前及時訪問所述外部存儲器內(nèi)的數(shù)據(jù);(c)在預(yù)設(shè)的時鐘周期數(shù)內(nèi)同時從所述次高速緩沖存儲器的多個儲存組中讀取輸入數(shù)據(jù)塊,并通過解壓縮和重新格式化所述數(shù)據(jù),從高速緩沖存儲器數(shù)據(jù)結(jié)構(gòu)中提取出外部存儲器數(shù)據(jù)結(jié)構(gòu),以從所述PU2隱藏外部數(shù)據(jù)結(jié)構(gòu),從而加速所述PU2中的數(shù)據(jù)處理;(d)基于步驟(a)和(b)的結(jié)果產(chǎn)生足夠大的主高速緩沖存儲器控制隊列,以在所述PU2需要所述數(shù)據(jù)之前,將提取出的數(shù)據(jù)存儲在次高速緩沖存儲器中;(e)同步所述PU2中數(shù)據(jù)和控制參數(shù)的到達以實現(xiàn)高速緩沖存儲器的相干性。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,進一步基于來自所述外部存儲器的輸入塊數(shù)據(jù)結(jié)構(gòu)和讀取格式以及要求的吞吐量優(yōu)化所述次高速緩沖存儲器結(jié)構(gòu),包括次高速緩沖存儲器存儲組的數(shù)量、每個次高速緩沖存儲器存儲組內(nèi)存儲行的數(shù)量以及次高速緩沖存儲器存儲行的大小。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,進一步基于輸出數(shù)據(jù)結(jié)構(gòu)和格式以及要求的吞吐量優(yōu)化所述主高速緩沖存儲器結(jié)構(gòu),包括主高速緩沖存儲器存儲組的數(shù)量、每個主高速緩沖存儲器存儲組內(nèi)存儲行的數(shù)量以及主高速緩沖存儲器存儲行的大小。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,映射至所述高速緩沖存儲器系統(tǒng)為基于地址序列的直接映射。
22.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,映射至所述高速緩沖存儲器系統(tǒng)由以下兩個步驟完成(a)基于地址序列直接映射;以及(b)基于距離的替換策略,其中,與離正在被處理的數(shù)據(jù)塊最遠的輸入塊相關(guān)的數(shù)據(jù)被替換。
23.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,映射至所述高速緩沖存儲器系統(tǒng)由下面兩個步驟完成(a)基于地址序列直接映射;以及(b)基于最近最少使用的替換策略,其中,與最近最少使用的輸入塊相關(guān)的數(shù)據(jù)被替換。
24.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于將被訪問的數(shù)據(jù)的量調(diào)整所述主高速緩沖存儲器的大小。
25.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于將被訪問的數(shù)據(jù)的量調(diào)整所述次高速緩沖存儲器的大小。
26.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于高速緩沖存儲器更新頻率調(diào)整所述主高速緩沖存儲器存儲行的大小。
27.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于重新讀取的因子調(diào)整所述次高速緩沖存儲器的大小。
28.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步分割所述輸入數(shù)據(jù)塊為子模塊,并按順序高速緩沖存儲來自每個子塊的數(shù)據(jù)以便在所述PU2中處理。
29.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步調(diào)整所述控制隊列和數(shù)據(jù)隊列的深度以優(yōu)化吞吐量。
30.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于所述PU2吞吐量要求調(diào)整所述主高速緩沖存儲器的輸出寬度和存儲組的數(shù)量。
31.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于所述輸入數(shù)據(jù)塊的大小調(diào)整所述主高速緩沖存儲器存儲行的大小。
32.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于所述外部存儲器突發(fā)串的大小調(diào)整所述次高速緩沖存儲器存儲行的大小。
33.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于所要求的所述主高速緩沖存儲器的更新速率調(diào)整所述次高速緩沖存儲器存儲組的數(shù)量。
34.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進一步基于輸入數(shù)據(jù)塊的存儲器地址的最低有效位將數(shù)據(jù)分配到所述主高速緩沖存儲器和所述次高速緩沖存儲器中。
全文摘要
本發(fā)明公開了一種用于二維數(shù)據(jù)處理特別是同時進行坐標(biāo)轉(zhuǎn)換的二維圖像處理的高速緩沖存儲器方法及其對應(yīng)的系統(tǒng)。所述方法使用寬且快速的主高速緩沖存儲器(PCM)和深度較深的次高速緩沖存儲器(SCM),每個高速緩沖存儲器具有多個儲存組以同時訪問數(shù)據(jù)。在從外部處理器系統(tǒng)(PU1)獲得控制參數(shù)后,專用的預(yù)取邏輯用于從外部存儲器獲得象素數(shù)據(jù),并基于第二控制隊列將該數(shù)據(jù)存儲于PCM內(nèi)。所述數(shù)據(jù)隨后準備為特定的塊大小和特定的格式,并基于大小優(yōu)化后的預(yù)取主控制隊列存儲于PCM中。準備的數(shù)據(jù)隨后由另一個外部處理器系統(tǒng)(PU2)讀取以進行處理。所述高速緩沖處理器控制邏輯確保在PU2的輸入處數(shù)據(jù)和控制參數(shù)的相干性。
文檔編號G06F12/00GK1961295SQ200480042771
公開日2007年5月9日 申請日期2004年7月14日 優(yōu)先權(quán)日2004年7月14日
發(fā)明者弗雷德里克·克里斯多佛·坎德勒 申請人:奧普提克斯晶硅有限公司