專利名稱:刷新動(dòng)態(tài)存儲(chǔ)器的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及刷新打算用于存儲(chǔ)包括在由處理器執(zhí)行的操作中的變量的動(dòng)態(tài)存儲(chǔ)器的方法。
例如,本發(fā)明發(fā)現(xiàn)了像視頻數(shù)據(jù)處理系統(tǒng)這樣的在致力于具有實(shí)時(shí)類型限制的應(yīng)用的可編程系統(tǒng)中的應(yīng)用。
在集成電路中,信號(hào)的處理經(jīng)常需要更大的存儲(chǔ)容量。為了增加這個(gè)存儲(chǔ)容量,經(jīng)常使用嵌入式存儲(chǔ)器。有兩種類型的這種存儲(chǔ)器—靜態(tài)存儲(chǔ)器,例如靜態(tài)隨機(jī)存儲(chǔ)器(SRAMs)—?jiǎng)討B(tài)存儲(chǔ)器,例如動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAMs)靜態(tài)存儲(chǔ)器由觸發(fā)器來(lái)建造。當(dāng)數(shù)據(jù)項(xiàng)存儲(chǔ)在靜態(tài)存儲(chǔ)器中的時(shí)候,只要給包括靜態(tài)存儲(chǔ)器的電路通電,這個(gè)數(shù)據(jù)項(xiàng)就保持被存儲(chǔ)。動(dòng)態(tài)存儲(chǔ)器以電容器充電的形式存儲(chǔ)數(shù)據(jù)。由于導(dǎo)致充電損耗的泄漏電流,對(duì)于這些電容器來(lái)說(shuō)必須經(jīng)常在充電以便于保持?jǐn)?shù)據(jù)在存儲(chǔ)器中。這樣的操作被稱為數(shù)據(jù)項(xiàng)的刷新,按照所用的存儲(chǔ)器,大約每1到10個(gè)毫秒必須執(zhí)行一次。數(shù)據(jù)項(xiàng)能夠保持在存儲(chǔ)器中而不需要刷新的持續(xù)時(shí)間稱為“保持時(shí)間”,對(duì)于所考慮的數(shù)據(jù)項(xiàng)是特定的。然而,動(dòng)態(tài)存儲(chǔ)器由于存儲(chǔ)容量大而被使用。特別地,為了一個(gè)存儲(chǔ)數(shù)據(jù)位,動(dòng)態(tài)存儲(chǔ)器只需要單個(gè)的晶體管,而靜態(tài)存儲(chǔ)器需要4到6個(gè)晶體管。因此對(duì)于相同的存儲(chǔ)容量,動(dòng)態(tài)存儲(chǔ)器比靜態(tài)存儲(chǔ)器表現(xiàn)得更便宜。然而,動(dòng)態(tài)存儲(chǔ)器所需的數(shù)據(jù)的刷新引入了不可忽略的等待時(shí)間,在此期間處理器不能訪問(wèn)存儲(chǔ)在上述存儲(chǔ)器中的數(shù)據(jù)。特別地,刷新是對(duì)包括在動(dòng)態(tài)存儲(chǔ)器上的所有數(shù)據(jù)系統(tǒng)地進(jìn)行,從而要求相當(dāng)大量的時(shí)間。專利US 5148546尤其具有補(bǔ)救這個(gè)缺點(diǎn)的特定目的,通過(guò)提出使得有可能動(dòng)態(tài)確定被刷新的數(shù)據(jù)的存儲(chǔ)地址的方法,以便于在給定的時(shí)刻只刷新需要刷新的數(shù)據(jù)。因此在這個(gè)給定的時(shí)刻,大量的數(shù)據(jù)項(xiàng)對(duì)于處理器來(lái)說(shuō)是可訪問(wèn)的,因?yàn)檫@些數(shù)據(jù)沒(méi)有被刷新電路所獨(dú)占,并且這樣導(dǎo)致了在時(shí)間平均值上的等待時(shí)間的減少。然而,這種方法要求在電路中裝入一個(gè)子系統(tǒng),以便于確定被刷新的數(shù)據(jù)的存儲(chǔ)地址。而且,這個(gè)方法不允許等待時(shí)間的大量減少,因?yàn)閯?dòng)態(tài)確定被刷新的數(shù)據(jù)的存儲(chǔ)地址也需要一定的時(shí)間量。
本發(fā)明的目的是提出使得有可能減少由于在動(dòng)態(tài)存儲(chǔ)器中刷新而導(dǎo)致的等待時(shí)間的方法。
依據(jù)本發(fā)明,在開始段落中定義的刷新動(dòng)態(tài)存儲(chǔ)器的方法的特征在于包括—規(guī)劃步驟,在此期間建立上述操作的順序和時(shí)限;—估計(jì)每個(gè)變量特有的保持時(shí)間的步驟;—預(yù)測(cè)至少一個(gè)在其中必須刷新每個(gè)變量的時(shí)刻的步驟,在其中給定的變量必須被刷新的時(shí)刻定義為上述給定變量的保持時(shí)間和在其中包括上述給定變量的操作的時(shí)限的函數(shù);—布置步驟,在此期間上述變量被布置在上述存儲(chǔ)器中;—刷新步驟,在此期間在預(yù)測(cè)步驟中定義的時(shí)刻刷新上述變量。
本發(fā)明利用了這樣的事實(shí),在某些可編程系統(tǒng)中,當(dāng)編譯定義由處理器執(zhí)行的操作的程序的時(shí)候,有可能確定這些操作的次序,這些操作的時(shí)限和包含在這些操作中的變量。而且,因?yàn)閷?duì)變量來(lái)說(shuō)特有的保持時(shí)間與制作動(dòng)態(tài)存儲(chǔ)器所用的技術(shù)有關(guān),所以估計(jì)這個(gè)保持時(shí)間顯得并不困難。因此,已經(jīng)確定了產(chǎn)生變量的時(shí)刻,在操作中使用這個(gè)變量的時(shí)刻和用于這個(gè)變量的保持時(shí)間,就有可能預(yù)測(cè)必須刷新這個(gè)變量的時(shí)刻。加之,通過(guò)在存儲(chǔ)器中明智地放置變量,因此將必須在同一時(shí)刻刷新的變量放置在存儲(chǔ)器的一個(gè)或相同的區(qū)域中,就有可能減少由于動(dòng)態(tài)存儲(chǔ)器的刷新而產(chǎn)生的等待時(shí)間。而且,因?yàn)槟軌蛲ㄟ^(guò)處理器讀取這個(gè)變量來(lái)執(zhí)行變量的刷新,所以這個(gè)方法不需要附加任何刷新電路處理器能夠自行管理動(dòng)態(tài)存儲(chǔ)器的刷新。
至于在上文中描述的步驟可以由軟件執(zhí)行,本發(fā)明還提供了計(jì)算機(jī)程序,包括用于在計(jì)算機(jī)上執(zhí)行程序時(shí)執(zhí)行上文所述方法各個(gè)步驟的程序代碼指令。
本發(fā)明將被更好地理解,并且其他細(xì)節(jié)在結(jié)合以未限制的實(shí)例形式給出的附圖所作的以下描述中變得更加明顯,在附圖中
圖1是圖解說(shuō)明本發(fā)明的特征的方框圖;圖2圖解說(shuō)明在動(dòng)態(tài)存儲(chǔ)器和處理器之間的示范的通信系統(tǒng)結(jié)構(gòu);圖3圖解說(shuō)明將數(shù)據(jù)項(xiàng)寫到動(dòng)態(tài)存儲(chǔ)器中和從動(dòng)態(tài)存儲(chǔ)器中讀出的原理;圖4a到4c圖解說(shuō)明依據(jù)先前技術(shù)的各種類型的動(dòng)態(tài)存儲(chǔ)器的刷新;圖5圖解說(shuō)明由處理器執(zhí)行的操作的規(guī)劃以及在必須刷新變量的時(shí)刻的預(yù)測(cè);圖6圖解說(shuō)明關(guān)于視頻數(shù)據(jù)處理的本發(fā)明的示范的應(yīng)用。
圖1圖解說(shuō)明本發(fā)明的特征。依據(jù)本發(fā)明的刷新動(dòng)態(tài)存儲(chǔ)器的方法包括規(guī)劃步驟10,它包括用于確定操作次序的子步驟11和時(shí)限子步驟12,用于估計(jì)變量的保持時(shí)間的步驟13,用于預(yù)測(cè)必須刷新變量的時(shí)刻的步驟14,放置步驟15和刷新步驟16。在本發(fā)明的實(shí)施例的特別有利的模型中,由處理器執(zhí)行的操作構(gòu)成程序;當(dāng)編譯這個(gè)程序的時(shí)候,處理器執(zhí)行規(guī)劃步驟10、估計(jì)變量的保持時(shí)間的步驟13、預(yù)測(cè)步驟14和放置步驟15。
當(dāng)編譯程序的時(shí)候,在用于確定操作次序的子步驟11期間,處理器確定將由程序執(zhí)行的全部操作。這些操作將被執(zhí)行的次序以及在這些操作所包含的不同變量。在時(shí)限子步驟12期間,處理器確定產(chǎn)生變量的時(shí)刻、變量被用于執(zhí)行各種操作的時(shí)刻和在其上不再使用某個(gè)變量的時(shí)刻。這兩個(gè)子步驟特別容易在像致力于具有實(shí)時(shí)類型限制的應(yīng)用這樣的可編程系統(tǒng)中實(shí)現(xiàn)。特別地,在這些系統(tǒng)中,當(dāng)編譯程序的時(shí)候,所有的操作以及它們的時(shí)限都是已知的,當(dāng)執(zhí)行程序的時(shí)候,它們不是動(dòng)態(tài)的,如同在某些其他數(shù)據(jù)處理系統(tǒng)中的情況一樣。用于估計(jì)變量的保持時(shí)間的步驟13使得有可能確定在其上在缺少刷新時(shí)存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)項(xiàng)不再被處理器使用的持續(xù)時(shí)間。作為規(guī)劃步驟10和用于估計(jì)變量的保持時(shí)間的步驟13的結(jié)果的函數(shù),預(yù)測(cè)步驟14使得有可能確定變量將被刷新的時(shí)刻。應(yīng)該注意到預(yù)測(cè)步驟14還能夠考慮將在圖5中詳細(xì)說(shuō)明的刷新設(shè)備的狀態(tài)。放置步驟15使得特別有可能將相同時(shí)刻被刷新的變量集合在動(dòng)態(tài)存儲(chǔ)器的一個(gè)和相同區(qū)域中。應(yīng)該注意到這個(gè)放置步驟15還能夠以不同方式執(zhí)行,例如不用考慮預(yù)測(cè)步驟14的結(jié)果。例如,有可能設(shè)想將變量隨機(jī)地放置在動(dòng)態(tài)存儲(chǔ)器中。作為預(yù)測(cè)步驟14的結(jié)果的函數(shù)的變量的明智集合的優(yōu)點(diǎn)是這樣使得有可能減少刷新的持續(xù)時(shí)間,因此減少等待時(shí)間。刷新步驟16使得有可能在由預(yù)測(cè)步驟14定義的時(shí)刻中刷新變量。在本發(fā)明的實(shí)施的這個(gè)特別有利的模型中,依靠對(duì)將被刷新的變量的讀取,由處理器執(zhí)行刷新步驟16。還能夠依靠由處理器執(zhí)行的對(duì)將被刷新的變量的讀取和寫入,或者可選地依靠處理器外部的刷新電路來(lái)執(zhí)行刷新步驟16。
圖2圖解說(shuō)明在動(dòng)態(tài)存儲(chǔ)器和處理器之間的示范的通信系統(tǒng)結(jié)構(gòu)。這樣的通信系統(tǒng)包括包括處理器20,動(dòng)態(tài)存儲(chǔ)器21,地址多路轉(zhuǎn)接器22,行譯碼器23,列譯碼器24和讀寫放大器25。當(dāng)處理器20想要將數(shù)據(jù)項(xiàng)28從動(dòng)態(tài)存儲(chǔ)器21中讀出或者寫到動(dòng)態(tài)存儲(chǔ)器21中的時(shí)候,它將指示被讀取或者被寫入的數(shù)據(jù)項(xiàng)28在動(dòng)態(tài)存儲(chǔ)器21中的詳細(xì)地址的地址信號(hào)27發(fā)送到地址多路轉(zhuǎn)接器22。由處理器20產(chǎn)生的寫或者讀控制信號(hào)26被送到讀寫放大器25以便于指示是否讀取或者寫入數(shù)據(jù)項(xiàng)28。
動(dòng)態(tài)存儲(chǔ)器21以L行和C列的柵格形式組成,L和C是幾百個(gè)數(shù)量級(jí)的整數(shù),但不一定相等,通常是2的次冪。對(duì)于由在行和列之間的互連形成的柵格的每個(gè)節(jié)點(diǎn),相當(dāng)于用于存儲(chǔ)一個(gè)數(shù)據(jù)位的單元,將在圖3中更精確描述。由行數(shù)和列數(shù)組成的集合組成存儲(chǔ)器地址。因此,一個(gè)存儲(chǔ)器地址對(duì)應(yīng)一個(gè)數(shù)據(jù)位。當(dāng)處理器20想要讀取數(shù)據(jù)位的時(shí)候,它將地址信號(hào)27發(fā)送到地址多路轉(zhuǎn)接器22。這個(gè)地址信號(hào)27包括有關(guān)數(shù)據(jù)位的行號(hào)和列號(hào)。而且,處理器20將指示在有關(guān)位上執(zhí)行的操作是讀取的控制信號(hào)26發(fā)送到讀寫放大器25。地址多路轉(zhuǎn)接器22將地址信號(hào)27分成兩部分。地址信號(hào)27的高位比特包含有關(guān)數(shù)據(jù)位的行號(hào),低位比特包含列號(hào)。然后信號(hào)27a被發(fā)送到指定有關(guān)數(shù)據(jù)位的行號(hào)的行譯碼器23,信號(hào)27b被發(fā)送到指定有關(guān)數(shù)據(jù)位的列號(hào)的列譯碼器24。然后在讀寫放大器25中加載有關(guān)的數(shù)據(jù)位,然后傳送到處理器。應(yīng)該注意到在上文描述的運(yùn)行能夠依賴所用的動(dòng)態(tài)存儲(chǔ)器的類型來(lái)表現(xiàn)變型。明確地,有可能將相應(yīng)于信號(hào)27a的整個(gè)行加載到讀寫放大器25,然后借助信號(hào)27b來(lái)選擇有關(guān)的數(shù)據(jù)位。此外,有可能在一個(gè)和相同的行上集合幾位以便于形成字,例如8比特的字。為了讀取這些字中的一個(gè),處理器20將不得不在地址信號(hào)27中指定有關(guān)字的行號(hào)以及在這行中字的次序。將數(shù)據(jù)位寫到動(dòng)態(tài)存儲(chǔ)器21中的原理類似。在這樣的情況中,控制信號(hào)26指示在有關(guān)位上執(zhí)行的操作是寫。在讀寫放大器25中加載有關(guān)數(shù)據(jù)位,然后寫到動(dòng)態(tài)存儲(chǔ)器21上由地址信號(hào)指定的地址上。應(yīng)該注意到這個(gè)描述適用于1位類型的動(dòng)態(tài)存儲(chǔ)器,也就是說(shuō)在它的每個(gè)節(jié)點(diǎn)上能夠存儲(chǔ)單個(gè)數(shù)據(jù)位。也有在一個(gè)節(jié)點(diǎn)上存儲(chǔ)幾位的功能存儲(chǔ)器,例如4、8或者16位的動(dòng)態(tài)存儲(chǔ)器。對(duì)于這些存儲(chǔ)器,原理與上文中描述的沒(méi)有區(qū)別,取決于所用動(dòng)態(tài)存儲(chǔ)器。一個(gè)存儲(chǔ)地址對(duì)應(yīng)一個(gè)4、6或8位的字。在這樣的情況中,只有一些位的字能夠通過(guò)處理器20讀或者寫。
圖3圖解說(shuō)明將數(shù)據(jù)項(xiàng)寫到動(dòng)態(tài)存儲(chǔ)器或者從動(dòng)態(tài)存儲(chǔ)器讀出的原理。存儲(chǔ)單元30包括第一晶體管32,電容器33,寫入點(diǎn)35和采樣點(diǎn)36。讀取單元31包括第二晶體管34和讀取點(diǎn)37。動(dòng)態(tài)存儲(chǔ)器21包括再每個(gè)節(jié)點(diǎn)上的存儲(chǔ)單元30。每個(gè)存儲(chǔ)單元30以電荷的形式存儲(chǔ)數(shù)據(jù)位。為了這樣做,利用了某些半導(dǎo)體設(shè)備特有的電容效應(yīng),例如第一晶體管32的門基電容。存儲(chǔ)單元30安裝在硅晶片上,通過(guò)薄的絕緣沉積物使得第一晶體管32的終端與晶片絕緣,因此形成電容,由電容器33表示。這個(gè)電容器33能夠充電,因此能夠“記憶”應(yīng)用在第一晶體管32上的電壓。電容器33的充電或者放電狀態(tài)使得有可能區(qū)分對(duì)應(yīng)于存儲(chǔ)在存儲(chǔ)單元30中的位的兩個(gè)不同值的兩個(gè)狀態(tài),0或者1。然而,電容器33的電容如此小以至于電荷只能保持在被稱為保持時(shí)間的有限時(shí)間期間。存儲(chǔ)單元30的運(yùn)行如下。第一晶體管32用作開關(guān)并且當(dāng)電壓應(yīng)用到選擇點(diǎn)36上的時(shí)候是開,也就是說(shuō)當(dāng)選擇存儲(chǔ)單元30的時(shí)候,例如當(dāng)處理器20想要將數(shù)據(jù)位寫到這個(gè)存儲(chǔ)單元30的時(shí)候。當(dāng)處理器20想要將值為1的數(shù)據(jù)位寫到存儲(chǔ)單元30的時(shí)候,它將電壓應(yīng)用到寫入點(diǎn)35上以便于對(duì)電容器33充電。當(dāng)處理器20想要將值為0的數(shù)據(jù)位寫到存儲(chǔ)單元30的時(shí)候,它按像這樣的方法將電壓應(yīng)用到寫入點(diǎn)35上來(lái)放電電容器33。讀取單元31的運(yùn)行如下。當(dāng)處理器20想要讀取存儲(chǔ)在存儲(chǔ)單元30中的數(shù)據(jù)項(xiàng)的時(shí)候,它測(cè)量在讀取點(diǎn)37處的電壓,這個(gè)電壓基本上等于電容器33接線端之間的電壓。如果這個(gè)電壓相應(yīng)于電容器33的充電狀態(tài),則存儲(chǔ)在存儲(chǔ)單元30中的位等于1,反之這個(gè)位等于0。
圖4a到4c圖解說(shuō)明依據(jù)先前技術(shù)的各種類型的動(dòng)態(tài)存儲(chǔ)器的刷新。圖4a圖解說(shuō)明允許分布式刷新的設(shè)備。這個(gè)設(shè)備包括動(dòng)態(tài)存儲(chǔ)器21和分布式刷新設(shè)備40。分布式刷新設(shè)備40在常規(guī)的時(shí)間間隔里執(zhí)行動(dòng)態(tài)存儲(chǔ)器全部行的連續(xù)刷新。為了這樣做,它使用了一個(gè)計(jì)數(shù)器,測(cè)量在兩次刷新之間經(jīng)過(guò)的時(shí)間。分布式刷新的缺點(diǎn)是在刷新期間通過(guò)處理器20來(lái)訪問(wèn)動(dòng)態(tài)存儲(chǔ)器21是不可能的,因此導(dǎo)致了大量的等待時(shí)間。圖4b圖解說(shuō)明允許塊刷新的設(shè)備。這樣的設(shè)備包括動(dòng)態(tài)存儲(chǔ)器21和用于刷新塊的設(shè)備41。用于刷新塊的設(shè)備41在給定的間隔中執(zhí)行部分動(dòng)態(tài)存儲(chǔ)器21的刷新,例如圖中畫成陰影的部分。又是,當(dāng)刷新這部分動(dòng)態(tài)存儲(chǔ)器21的時(shí)候,處理器20不能訪問(wèn)對(duì)應(yīng)的數(shù)據(jù),即使等待時(shí)間短于由于分布式刷新產(chǎn)生的等待時(shí)間,也仍然是大量的。圖4c圖解說(shuō)明允許透明刷新的設(shè)備。這樣的設(shè)備包括動(dòng)態(tài)存儲(chǔ)器21,透明刷新設(shè)備42和處理器20。當(dāng)處理器不需要訪問(wèn)存儲(chǔ)器的時(shí)候,透明刷新設(shè)備42執(zhí)行動(dòng)態(tài)存儲(chǔ)器21的刷新。為了提高刷新效率,必須有足夠多的處理器20不能使用動(dòng)態(tài)存儲(chǔ)器21的時(shí)期。現(xiàn)在,當(dāng)前處理器的性能使之幾乎連續(xù)地訪問(wèn)動(dòng)態(tài)存儲(chǔ)器21,因此使得這樣類型的刷新效率低。
圖5圖解說(shuō)明由處理器20執(zhí)行的示范操作規(guī)劃以及對(duì)于必須刷新變量的時(shí)刻的預(yù)測(cè)。處理器20啟動(dòng)在第一時(shí)刻t1上的第一過(guò)程P1,第二時(shí)刻t2上的第二過(guò)程P2和第三時(shí)刻t3上的第三時(shí)刻P3。第一過(guò)程P1生成變量V1,必須插入到第二過(guò)程P2以及第三過(guò)程P3中。變量V1的保持時(shí)間,也就是說(shuō)如果不刷新,這個(gè)變量不能再被處理器20使用的期間,具有值Δt1。
在沒(méi)有刷新時(shí),變量V1在第四時(shí)刻t4上不再可以使用,例如t4-t1=Δt1,先于第二時(shí)刻t2?,F(xiàn)在,第二過(guò)程P2必須在第二時(shí)刻t2處使用變量V1。因此必須在第一時(shí)刻t1和第四時(shí)刻t4之間刷新變量V1。刷新是經(jīng)由讀取設(shè)備31、由處理器20對(duì)變量V1進(jìn)行一次讀取來(lái)執(zhí)行,在處理器20未使用這個(gè)讀取設(shè)備31的時(shí)候執(zhí)行這個(gè)刷新、以便于不增加等待時(shí)間是明智的。讓我們假設(shè)讀取設(shè)備31在第五時(shí)刻t5和第六時(shí)刻t6是空閑的,這兩個(gè)時(shí)刻先于第四時(shí)刻t4。如果在第五時(shí)刻t5處執(zhí)行變量V1的刷新,則在第七時(shí)刻t7上不能再使用變量V1,例如t7-t5=Δt1,先于第二時(shí)刻t2。然后變量V1的新的刷新將必須在第七時(shí)刻t7以前,這樣將特別增加等待時(shí)間和處理器20的電流消耗。因此這樣的解決方法是不明智的。然而,如果在第六時(shí)刻t6執(zhí)行變量V1的刷新,則在第八時(shí)刻t8上不能再使用變量V1,例如t8-t6=Δt1,在第二時(shí)刻t2以后。因此,第二過(guò)程P2將能夠在第二時(shí)刻t2處使用變量V1。因此在處理器20不使用讀取設(shè)備31的時(shí)刻t6處刷新變量V1是明智的,并且滿足條件t6<t1+Δt1t6+Δt1>t2為了由第二過(guò)程P2使用,通過(guò)處理器20在第二時(shí)刻t2處讀取變量V1,也就是說(shuō)在第二時(shí)刻t2刷新它。因?yàn)樽兞縑1的保持時(shí)間Δt1大于存在于第二時(shí)刻t2和第三時(shí)刻t3之間的間隔,所以第三過(guò)程P3將能夠在第三時(shí)刻t3處使用變量V1而不需要求在第二時(shí)刻t2和第三時(shí)刻t3之間任何刷新。
如果在程序中定義在上文描述的三個(gè)過(guò)程,當(dāng)編譯這個(gè)程序的時(shí)候,有可能確定過(guò)程的次序和時(shí)限,包含在這些過(guò)程中的變量,這些變量的等待時(shí)間和使用讀取設(shè)備31的時(shí)刻。然后有可能預(yù)測(cè)必須刷新這些變量的時(shí)刻,以這樣的方式來(lái)減少等待時(shí)間。而且,在已經(jīng)確定了不得不刷新包含在程序中的全部變量的時(shí)刻的前提下,有可能在動(dòng)態(tài)存儲(chǔ)器21中明智地放置變量,以便于減少等待時(shí)間。因此,如果,例如,在相同行中放置在相同時(shí)刻被刷新的全部變量,則這些變量的刷新將需要比如果將討論的變量隨機(jī)分布在動(dòng)態(tài)存儲(chǔ)器中所需的更短的時(shí)間。具體而言,因?yàn)樘幚砥?0不得不只產(chǎn)生單個(gè)的信號(hào)27,所以設(shè)置在相同行上的十個(gè)變量的刷新只需要設(shè)置在十個(gè)不同行上的十個(gè)變量的刷新的十分之一的時(shí)間。
圖6圖解說(shuō)明在視頻數(shù)據(jù)處理系統(tǒng)中的本發(fā)明的應(yīng)用。這樣的系統(tǒng)包括垂直濾波器61和水平濾波器62。
有各種各樣的用于廣播視頻數(shù)據(jù)的格式。例如,ATSC美國(guó)數(shù)字電視標(biāo)準(zhǔn)定義十八個(gè)不同的廣播格式,例如圖象包括每行720像素的480行的標(biāo)準(zhǔn)格式,或者圖象包括每行1920像素的1080行的高分辨率格式。當(dāng)視頻數(shù)據(jù)在高分辨率格式中廣播的時(shí)候,有必要將它們轉(zhuǎn)換到標(biāo)準(zhǔn)格式以便于能夠在其顯示器不兼容高分辨率格式的電視上觀看它們。垂直濾波器61和水平濾波器62使得有可能執(zhí)行這樣的轉(zhuǎn)換。在屬于垂直濾波器61的動(dòng)態(tài)存儲(chǔ)器中以變量的形式存儲(chǔ)圖象的每一行。在這些行上執(zhí)行的以便于將1920像素的1080行轉(zhuǎn)換到1920像素的480行的操作構(gòu)成程序的一部分。這個(gè)程序很復(fù)雜,但從程序的編譯中定義一組操作,因此使得有可能實(shí)現(xiàn)關(guān)于這樣的格式轉(zhuǎn)換的發(fā)明。類似的適用于允許濾波器62將1920像素的480行轉(zhuǎn)換到720像素的480行的程序?,F(xiàn)在,在這樣的視頻數(shù)據(jù)處理系統(tǒng)中,每秒鐘大約30個(gè)圖象從一個(gè)格式轉(zhuǎn)換到另一個(gè)格式。因此,依據(jù)先前技術(shù)的各種刷新方法將不可能在這樣的視頻數(shù)據(jù)處理系統(tǒng)中使用動(dòng)態(tài)存儲(chǔ)器,因?yàn)榈却龝r(shí)間將太多。通過(guò)有可能減少與刷新有關(guān)的等待時(shí)間,本發(fā)明使得有可能在視頻數(shù)據(jù)處理系統(tǒng)中使用動(dòng)態(tài)存儲(chǔ)器,而不是靜態(tài)存儲(chǔ)器,所以減少了這個(gè)系統(tǒng)的成本。
上文中參考圖的描述圖解說(shuō)明了本發(fā)明而不是限制了它。在這一點(diǎn)上在下文中進(jìn)行一些說(shuō)明。
圖1,5和6圖解說(shuō)明本發(fā)明的應(yīng)用,該應(yīng)用減少了對(duì)于所有操作都在編譯定義它們的程序時(shí)已知的系統(tǒng)的等待時(shí)間。應(yīng)該注意到本發(fā)明提供了其他的優(yōu)點(diǎn),例如電流消耗的減少,如在圖5的描述中提及的。因此,在某些系統(tǒng)中實(shí)現(xiàn)本發(fā)明將是有利的,即使實(shí)時(shí)限制不重要,也就是說(shuō)即使等待時(shí)間的減少并非必不可少。
圖5說(shuō)明了本發(fā)明的原理。本發(fā)明希望的程序可以更復(fù)雜,也就是說(shuō)包括大量的變量和過(guò)程。然而,盡管程序的復(fù)雜,但假若有可能確定在程序的編譯期間由程序執(zhí)行的全部操作,就能夠?qū)崿F(xiàn)本發(fā)明。關(guān)于這點(diǎn),圖6只不過(guò)是一個(gè)本發(fā)明的示范性的實(shí)現(xiàn)并且當(dāng)然有可能將本發(fā)明應(yīng)用到不同于視頻數(shù)據(jù)處理系統(tǒng)的系統(tǒng)中。
原則上,有可能通過(guò)數(shù)據(jù)處理設(shè)備來(lái)實(shí)現(xiàn)依據(jù)本發(fā)明的方法,例如合適的可編程集成電路。包含在可編程存儲(chǔ)器中的指令組能夠命令集成電路執(zhí)行前面描述的各種步驟。指令組能夠通過(guò)讀取例如像在其上編碼指令組的硬盤這樣的數(shù)據(jù)媒體來(lái)加載入可編程存儲(chǔ)器中。讀取能夠通過(guò)例如像因特網(wǎng)這樣的通信網(wǎng)絡(luò)來(lái)執(zhí)行。在這樣的情況中,服務(wù)供應(yīng)商將為感興趣的人提供指令組。
權(quán)利要求
1.刷新打算存儲(chǔ)包含在由處理器執(zhí)行的操作中的變量的動(dòng)態(tài)存儲(chǔ)器的方法,表征為它包括—規(guī)劃步驟,在此期間建立上述操作的順序和時(shí)限;—估計(jì)每個(gè)變量特有的保持時(shí)間的步驟;—預(yù)測(cè)至少一個(gè)在其中必須刷新每個(gè)變量的時(shí)刻的步驟,在其中給定的變量必須被刷新的時(shí)刻定義為上述給定變量的保持時(shí)間和在其中包括上述給定變量的操作的時(shí)限的函數(shù);—布置步驟,在此期間上述變量被布置在上述存儲(chǔ)器中;—刷新步驟,在此期間在預(yù)測(cè)步驟中定義的時(shí)刻刷新上述變量。
2.如權(quán)利要求1的刷新動(dòng)態(tài)存儲(chǔ)器的方法,其中由處理器在定義上述操作的程序的編譯期間執(zhí)行上述規(guī)劃步驟、估計(jì)每個(gè)變量的保持時(shí)間的步驟、布置步驟和預(yù)測(cè)步驟。
3.如權(quán)利要求1的刷新動(dòng)態(tài)存儲(chǔ)器的方法,其中借助讀取上述變量的設(shè)備,由處理器執(zhí)行變量的刷新。
4.如權(quán)利要求3的刷新動(dòng)態(tài)存儲(chǔ)器的方法,該方法還包括排定上述讀取設(shè)備能夠執(zhí)行上述刷新設(shè)備的時(shí)刻的步驟,在定義上述操作的程序的編譯期間,由處理器執(zhí)行上述安排的步驟。
5.一種計(jì)算機(jī)程序,包括當(dāng)上述程序在計(jì)算機(jī)上執(zhí)行的時(shí)候執(zhí)行如權(quán)利要求1中要求的方法的步驟的程序代碼指令。
全文摘要
刷新打算存儲(chǔ)由處理器執(zhí)行的操作中所包含的儲(chǔ)存變量的動(dòng)態(tài)存儲(chǔ)器的方法,包括規(guī)劃步驟10,在此期間建立上述操作的順序和時(shí)限,估計(jì)每個(gè)變量特有的保持時(shí)間的步驟13,預(yù)測(cè)至少一個(gè)在其中必須刷新每個(gè)變量的時(shí)刻的步驟14,布置步驟15,在此期間在上述存儲(chǔ)器中布置上述變量,刷新步驟16,在此期間在預(yù)測(cè)步驟14中定義的時(shí)刻刷新上述變量。本發(fā)明允許與刷新有關(guān)的等待時(shí)間和電流消耗的減少。在像視頻數(shù)據(jù)處理系統(tǒng)這樣的實(shí)時(shí)限制很重要的系統(tǒng)中這是特別有用的。
文檔編號(hào)G11C11/406GK1387196SQ02105420
公開日2002年12月25日 申請(qǐng)日期2002年2月11日 優(yōu)先權(quán)日2001年2月16日
發(fā)明者M·杜蘭頓 申請(qǐng)人:皇家菲利浦電子有限公司