午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

具有頁面組織器的內(nèi)存控制器的制作方法

文檔序號:6655767閱讀:219來源:國知局
專利名稱:具有頁面組織器的內(nèi)存控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明關(guān)于一種內(nèi)存控制器,特別是關(guān)于一種具有頁面組織器的內(nèi)存控制器,此內(nèi)存控制器在對無頁面丟失情況的存儲器組發(fā)送一存取命令之前,對有頁面丟失情況的存儲器組發(fā)送一前置命令,而減少頁面丟失產(chǎn)生的損失(page-miss penalties)。
許多公知技術(shù)的內(nèi)存控制器集中焦點在內(nèi)存存取期間頁面丟失損失的降低。其中有許多公知技術(shù)系利用存儲器組(頁面)交錯(bank(page)-interleaving)技術(shù)。頁面交錯技術(shù)可分配連續(xù)性的數(shù)據(jù)于不同的存儲器組中。經(jīng)由此種方法,欲存取連續(xù)性的數(shù)據(jù)時可能會跨經(jīng)許多不同的存儲器組。典型上,內(nèi)存存取包含前置命令以及存取命令。前置命令包含預(yù)先充電(pre-charge)以及啟動(activate)命令,而存取命令包含讀取、寫入、猝發(fā)讀取(burst-read)或猝發(fā)寫入(burst-write)命令。當(dāng)在不同的存儲器組中存取數(shù)據(jù)時,一些前置命令可以重疊(overlapped)或流水(pipelined)方式來處理。因而,頁面丟失的損失可使用許多公知技術(shù)而降低。
重新安排內(nèi)存存取順序也可以降低頁面丟失的損失。此重新安排方法典型上包含三個步驟。第一步驟系發(fā)送內(nèi)存存取請求、第二步驟系貯存這些請求,以及第三步驟系對各個內(nèi)存存取請求作出仲裁(arbitration),以達(dá)到降低頁面丟失損失的目標(biāo)。廣為周知的是,發(fā)送及貯存步驟涉及將存取相同頁面部分的內(nèi)存存取請求作歸類。仲裁步驟系每一次選擇及發(fā)送一組請求,并且一組接著一組地發(fā)送這些請求。
然而,重新安排的方法會造成所返回的數(shù)據(jù)的順序產(chǎn)生混亂。此種順序的混亂對于處理器將是一個問題。因此,必須在系統(tǒng)中提供一個順序電路(order circuit),或者必須在每一個內(nèi)存請求加上卷標(biāo),以正確地執(zhí)行數(shù)據(jù)處理程序。上述兩種解決混亂問題的公知技術(shù)方法都不符合成本效益。
本發(fā)明系一內(nèi)存控制器,此內(nèi)存控制器可以減少頁面丟失之損失,而無數(shù)據(jù)混亂的問題。本發(fā)明所提供的方法系藉助預(yù)先檢測頁面丟失的情況,當(dāng)執(zhí)行有關(guān)存取其它存儲器組的讀取(或?qū)懭?命令時,先執(zhí)行有關(guān)存取一存儲器組的前置命令。每當(dāng)內(nèi)存控制器已準(zhǔn)備發(fā)送存取部分的命令至一存儲器中時,內(nèi)存控制器首先檢查在其它的存儲器中是否有任何的頁面丟失。在所有存取其它存儲器的前置命令(若有需要)已發(fā)送之后,存取部分的命令才被發(fā)送。經(jīng)由此種方法,內(nèi)存控制器降低頁面丟失損失,并且提高內(nèi)存存取的利用性。而且,本發(fā)明不會造成存取順序的混亂。


圖1顯示連接至一處理系統(tǒng)的一公知的內(nèi)存系統(tǒng)。
圖2顯示說明一內(nèi)存控制器的一簡化的方框圖。
圖3顯示根據(jù)本發(fā)明的具有頁面組織器的內(nèi)存控制器的簡化的方框圖。
圖4顯示一使用于雙存儲器組(dual bank)內(nèi)存系統(tǒng)的頁面組織器的簡化的方框圖。
圖5顯示一使用于多存儲器組(multiple-bank)內(nèi)存系統(tǒng)的頁面組織器之簡化的方框圖。
圖6顯示一頁面丟失檢測器的方框圖。
圖7顯示一使用于雙存儲器組系統(tǒng)的命令控制器的作業(yè)流程圖。
圖8系一例子顯示本發(fā)明如何降低頁面丟失的損失。
如圖1所示,公知的內(nèi)存系統(tǒng)是由動態(tài)隨機(jī)存取內(nèi)存(DRAM)11組成,經(jīng)由內(nèi)存控制器15而被處理器13存取。此內(nèi)存控制器15經(jīng)由第一總線(bus)12發(fā)送請求至動態(tài)隨機(jī)存取內(nèi)存11。這些內(nèi)存請求不是讀取請求,就是寫入請求。此內(nèi)存控制器15經(jīng)由一第二總線14連接至處理系統(tǒng)13。如圖2所示,此公知的內(nèi)存控制器包含一輸入緩沖器20、一輸出緩沖器22、一命令控制器24,以及一數(shù)據(jù)接收器26。輸入緩沖器20接收及貯存內(nèi)存請求。輸出緩沖器22連接至數(shù)據(jù)接收器26,并且貯存來自動態(tài)隨機(jī)存取內(nèi)存11的數(shù)據(jù),以及送出輸出數(shù)據(jù)。命令控制器24從輸入緩沖器20取回命令,以及送出例如PRECHARGE(預(yù)先充電)、ACTIVATE(啟動)、READ(讀取)、WRITE(寫入)等命令,以控制動態(tài)隨機(jī)存取內(nèi)存的操作。數(shù)據(jù)接收器26經(jīng)由GrantCMD信號線,依照命令控制器24所通知的預(yù)定時序流程,從動態(tài)隨機(jī)存取內(nèi)存11接收數(shù)據(jù)。典型上,PRECHARGE命令致使相對應(yīng)的存儲器組執(zhí)行預(yù)先充電作業(yè)、ACTIVATE命令啟動相對應(yīng)的存儲器組地址中的行(存儲器組)部分、READ或WRITE命令啟動相對應(yīng)的存儲器組地址中的列(低的)部分。
圖3顯示本發(fā)明之一實施例,其包括一輸入緩沖器20、一輸出緩沖器22、一命令控制器24、一數(shù)據(jù)接收器26、以及特別是一頁面組織器30,此頁面組織器30組織內(nèi)存請求的頁面地址,以決定頁面丟失事件。除了頁面組織器30外,本發(fā)明優(yōu)于公知內(nèi)存控制器的新穎性也包含命令控制器24中的作業(yè)。藉由頁面組織器30,內(nèi)存控制器事先檢測對應(yīng)于每一存儲器組的每一內(nèi)存請求的頁面丟失事件。接著,內(nèi)存控制器藉由將具有頁面丟失情況的存儲器組的前置命令與其它存儲器組的存取命令相互重疊,而改善存取效能。
圖4及圖5分別顯示使用于雙存儲器組及多存儲器組內(nèi)存系統(tǒng)的頁面組織器30的實施例。在圖4中,頁面組織器30包括二個先進(jìn)先出(FIFO)緩沖器40、42,以及二個頁面丟失檢測器41、43。每一緩沖器對應(yīng)一頁面丟失檢測器,并且也對應(yīng)一存儲器組,此存儲器組被命令控制器24所存取。在內(nèi)存請求45中地址的頁面部分被貯存于對應(yīng)被存取的存儲器組之緩沖器中。例如,緩沖器40貯存在請求總線45中表明的存取存儲器組0的頁面數(shù)(page number),而緩沖器42貯存在請求總線45中表明的存取存儲器組1的頁面數(shù)。頁面數(shù)可以藉由任一廣為周知的方法正確地貯存在一對應(yīng)的緩沖器40或42中。頁面丟失檢測器41決定向其輸入的一輸入頁面數(shù)據(jù)是否與貯存在頁面丟失檢測器41中的頁面地址是相同的。頁面丟失檢測器43決定向其輸入的一輸入頁面數(shù)據(jù)是否與貯存在頁面丟失檢測器43中的頁面地址是相同的。圖6顯示一頁面丟失檢測器的實施例。此頁面丟失檢測器包含一比較電路62以及一前頁面(pre-page)寄存器64,以貯存先前針對同一存儲器組的存取請求的頁面地址。若進(jìn)入的頁面信號65與在前頁面寄存器64中的地址67相同,則命中(hit)信號被觸發(fā)(asserted)。否則,命中信號被取銷。命中信號通知命令控制器24在相對應(yīng)的存儲器組中是否有一頁面丟失事件。在初始時,前頁面寄存器64被復(fù)位,以使命中信號被取銷。此外,進(jìn)入的頁面信號65被輸入至命令控制器24,如圖4所示。同樣的,對于有k個存儲器組之系統(tǒng),其中k=0,1,....,N-1,頁面組織器30的排列如圖5所示。亦即,每一緩沖器對應(yīng)一頁面丟失檢測器,并且也對應(yīng)一存儲器組,此存儲器組系由命令控制器24所存取。
除了命令、地址,以及數(shù)據(jù)信號之外,命令控制器24還接收來自頁面丟失檢測器的hit信號,以及頁面信號。命令控制器24相繼地接收在輸入緩沖器20內(nèi)之內(nèi)存請求,并且命令控制器24經(jīng)過兩階段處理每一內(nèi)存請求。在第一階段,命令控制器24發(fā)送內(nèi)存請求的前置命令,例如預(yù)先充電命令以及啟動命令。在第二階段,命令控制器24發(fā)送內(nèi)存請求的存取命令,例如讀取、猝發(fā)讀取、寫入或猝發(fā)寫入命令。然而,值得注意的是并非所有的內(nèi)存請求都需要發(fā)送一前置命令。
當(dāng)一內(nèi)存請求并未遇到頁面丟失情況時,命令控制器24不須為此內(nèi)存請求發(fā)送一前置命令。在本發(fā)明中,一組標(biāo)志(flag(k))被建立在命令控制器24中,其中每一標(biāo)志分別對應(yīng)每一存儲器組的前置狀態(tài)。每一flag(k)對應(yīng)一存儲器組k,其中k=0,1,....,N-1。當(dāng)一flag(k)是激活的(=1),此意味著對存儲器k的前置作業(yè)的啟動時間已經(jīng)終止(lapsed)。相反地,當(dāng)一flag(k)是非活動的(=0),意味著對存儲器組k的前置作業(yè)的啟動時間尚未終止。
以flag(k)、所有的命中信號,以及先進(jìn)先出緩沖器的狀態(tài)為基礎(chǔ),命令控制器24處理在輸入緩沖器20中的內(nèi)存請求。先進(jìn)先出緩沖器的狀態(tài)將指出先進(jìn)先出緩沖器是否是空的(emptiness)。在流程圖7中,假設(shè)為一雙存儲器組系統(tǒng)。如圖7所示,首先在步驟703,本發(fā)明檢查在輸入緩沖器中是否有任何的請求。若為是,本發(fā)明處理在輸入緩沖器中的第一個請求,并且此請求被稱為處理中請求(processingrequest)。與處理中請求相關(guān)連的存儲器組被稱為現(xiàn)行存儲器組(current bank)。在步驟705中,本發(fā)明檢查現(xiàn)行存儲器組是否有頁面丟失情況。若為是,本發(fā)明在步驟707檢查啟動作業(yè)是否已送出。若為是,則執(zhí)行步驟711以檢查啟動作用是否已經(jīng)終止。典型上,啟動時間具有三個時鐘周期(clock cycle)。若為是,在步驟713中,本發(fā)明設(shè)定flag(0)=1。
若在步驟705為否,則執(zhí)行步驟713。若在步驟707為否,則執(zhí)行步驟709,以檢查預(yù)先充電作業(yè)是否已經(jīng)送出。若為是,則執(zhí)行步驟710,以檢查預(yù)先充電時間是否已經(jīng)終止。典型上,預(yù)先充電時間有三個時鐘周期。若為是,則執(zhí)行步驟717,以送出啟動作業(yè)。若在步驟711或步驟710中為否,則執(zhí)行步驟715,以設(shè)定flag(0)=0。若在步驟709中為否,則執(zhí)行步驟719,以傳送預(yù)先充電作業(yè)。
不論在步驟713或步驟715之后,都執(zhí)行步驟721,以檢查在輸入緩沖器中是否有對應(yīng)其它存儲器組的任何請求。若為是,本發(fā)明檢查此存儲器組是否有一頁面丟失情況。若為是,本發(fā)明檢查在步驟725中啟動作業(yè)是否被送出。若為是,則執(zhí)行步驟729,以檢查是否flag(0)=1。若為是,在步驟733中,存取作業(yè)被送出。
若在步驟721中為否,則執(zhí)行步驟729。若在步驟725中為否,則執(zhí)行步驟727,以檢查預(yù)先充電作業(yè)是否被送出。若為是,本發(fā)明在步驟731中測試預(yù)先充電時間是否已經(jīng)終止。若為否,則執(zhí)行步驟729。若為是,啟動作業(yè)在步驟735中被送出。若在步驟727為否,預(yù)先充電作業(yè)在步驟737中被送出。
為了展示本發(fā)明相對于公知方案的優(yōu)點,圖8顯示一范例。如圖所示,從時段0到5,輸入緩沖器20接收6個內(nèi)存存取請求。第一請求為至(存儲器組0以及頁面x1)的讀取作業(yè)、第二請求為針對(存儲器組0以及頁面x1)的讀取作業(yè)、第三請求為針對(存儲器組0以及頁面x1)的讀取作業(yè)、第四請求為針對(存儲器組0以及頁面x1)的讀取作業(yè),第五請求為針對(存儲器組1以及頁面x2)的讀取作業(yè)、第六請求為針對(存儲器組1以及頁面x2)的讀取作業(yè)。換言之,圖8的第二欄表示貯存在輸入緩沖器20中的內(nèi)存請求順序。值得注意的是在圖8中并未特別指明被存取的內(nèi)存列。在圖8中的第三欄表示公知內(nèi)存控制器如何對這些內(nèi)存請求發(fā)送內(nèi)存命令。例如,在時段1中控制器發(fā)送預(yù)先充電作業(yè)至存儲器組0、在時段4中控制器發(fā)送激活作業(yè)至(存儲器組0,頁面x1)、在時段7、8、9以及10中控制器分別發(fā)送讀取作業(yè)至(存儲器組0,頁面x1)、在時段11中控制器發(fā)送預(yù)先充電作業(yè)至存儲器組1、在時段14中控制器發(fā)送激活作業(yè)至(存儲器組1,頁面x2)、在時段17以及18中控制器分別發(fā)送讀取作業(yè)至(存儲器組1,頁面x2)。
相較之下,本發(fā)明的命令控制器24所發(fā)送的命令顯示在圖8的第四欄中。亦即,在時段1中控制器發(fā)送預(yù)先充電作業(yè)至存儲器組0、在時段4中控制器發(fā)送啟動作業(yè)至(存儲器組0,頁面x1)、在時段5中控制器發(fā)送預(yù)先充電作業(yè)至存儲器組1、在時段7中控制器發(fā)送讀取作業(yè)至(存儲器組0,頁面x1)、在時段8中控制器發(fā)送啟動作業(yè)至(存儲器組1,頁面x2)、在時段9、10以及11中控制器分別發(fā)送讀取作業(yè)至(存儲器組0,頁面x1)、在時段12以及13中控制器分別發(fā)送讀取作業(yè)至(存儲器組1,頁面x2)??梢钥闯觯械膶?yīng)命令都在時段13的結(jié)束之前完成,此時段13比起公知方案的時段18早了很多。藉由本發(fā)明所提供的頁面組織器,頁面丟失的損失明顯地減少。
權(quán)利要求
1.一種控制一內(nèi)存系統(tǒng)的內(nèi)存控制器,該內(nèi)存系統(tǒng)具有N個存儲器組,每一N個存儲器組被分割為多個頁面,該內(nèi)存控制器經(jīng)由一總線連接至一處理器,N是大于1的整數(shù),其特征是所述內(nèi)存控制器包含一輸入緩沖器,用以儲存來自該處理器的內(nèi)存請求,每一內(nèi)存請求至少包含一頁面號數(shù)據(jù);一頁面組織器,響應(yīng)該頁面號數(shù)據(jù),用于分別檢測每一N個存儲器組有關(guān)內(nèi)存請求的頁面丟失事件;以及一命令控制器,響應(yīng)該頁面丟失事件,以交錯方式發(fā)送一前置命令至具有頁面丟失事件的一存儲器組,以及發(fā)送一存取命令至無頁面丟失事件的其它存儲器組。
2.按照權(quán)利要求1所述之內(nèi)存控制器,其中該輸入緩沖器是一先進(jìn)先出緩沖器。
3.按照權(quán)利要求1所述之內(nèi)存控制器,其中該前置命令包含一預(yù)先充電命令;以及一啟動命令。
4.按照權(quán)利要求1所述之內(nèi)存控制器,其中該存取命令包含一讀取命令。
5.按照權(quán)利要求1所述之內(nèi)存控制器,其中該存取命令包含一猝發(fā)讀取命令。
6.按照權(quán)利要求1所述之內(nèi)存控制器,其中該頁面組織器包含N個頁面緩沖器,每一頁面緩沖器貯存該頁面號數(shù)據(jù)于一內(nèi)存請求中,該內(nèi)存請求對應(yīng)一存儲器組;以及N個頁面丟失檢測器,每一頁面丟失檢測器對應(yīng)一頁面緩沖器,以檢測有關(guān)內(nèi)存請求的存儲器組的頁面丟失事件。
7.按照權(quán)利要求6所述之內(nèi)存控制器,其中每一頁面丟失檢測器包含一寄存器,用以貯存針對一對應(yīng)存儲器組的有關(guān)先前內(nèi)存請求的一頁面號數(shù)據(jù);以及一裝置,此裝置用于比較一現(xiàn)行的頁面號數(shù)據(jù)與貯存在寄存器的頁面號數(shù)據(jù)。
8.在一內(nèi)存控制器中接收多個內(nèi)存請求,該多個內(nèi)存請求存取一內(nèi)存系統(tǒng),該內(nèi)存系統(tǒng)具有N個存儲器組,該多個內(nèi)存請求被分為一現(xiàn)行的內(nèi)存請求以及未決的(pending)內(nèi)存請求,該內(nèi)存控制器對應(yīng)每一內(nèi)存請求選擇性地發(fā)送一前置命令以及一存取命令,一種處理內(nèi)存請求的方法,其特征是所述方法包含以下步驟貯存該多個內(nèi)存請求于一輸入緩沖器中;將對應(yīng)每一內(nèi)存請求的一頁面地址分別貯存至一頁面緩沖器中,該頁面緩沖器對應(yīng)一存儲器組;針對多個內(nèi)存請求,決定一組存儲器組經(jīng)歷頁面丟失事件的;以及以交錯方式發(fā)送對應(yīng)該組存儲器組的該未決的內(nèi)存請求的前置命令,并發(fā)送對應(yīng)該現(xiàn)行的內(nèi)存請求的存取命令。
全文摘要
本發(fā)明提供一具有頁面組織器(page organizer)的內(nèi)存控制器,此頁面組織器檢測在內(nèi)存系統(tǒng)中每一多個存儲器組的頁面丟失事件(page-miss event)。每當(dāng)一組存儲器組中的頁面丟失事件的數(shù)據(jù)出現(xiàn)時,前置命令(overhead command)即被發(fā)送至此組存儲器組。因而,當(dāng)一存儲器組正在被現(xiàn)行內(nèi)存請求存取時,其它經(jīng)歷頁面丟失事件的存儲器組的存取準(zhǔn)備作業(yè)已經(jīng)完成。因此,針對此組存儲器組的內(nèi)存存取前置命令,被隱藏在現(xiàn)行的內(nèi)存存取循環(huán)之幕后。此外,本發(fā)明所提供的內(nèi)存控制器并未改變內(nèi)存請求的次序。
文檔編號G06F13/16GK1338681SQ0110996
公開日2002年3月6日 申請日期2001年3月27日 優(yōu)先權(quán)日2000年8月15日
發(fā)明者呂忠晏 申請人:矽統(tǒng)科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1