两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于存取動態(tài)隨機(jī)存取存儲器的計算系統(tǒng)以及相關(guān)存取方法與流程

文檔序號:11621671閱讀:257來源:國知局
本發(fā)明有關(guān)于一種動態(tài)隨機(jī)存取存儲器(dram)以及dram控制方法,更具體地,關(guān)于一種在計算系統(tǒng)內(nèi)加快存儲器頻率變化流的方法,以及相應(yīng)裝置。
背景技術(shù)
::(dram)是一種易失性存儲器,其在一個獨立的電容中儲存一個比特。dram具有各種形式,例如同步dram(sdram),倍速數(shù)據(jù)率(ddr)sdram,ddr2sdram以及ddr3sdram,這些存儲器具有不同的密度或操作速度。存儲器控制器,例如dram控制器,是一個管理數(shù)據(jù)寫入或讀出存儲器(例如dram)數(shù)據(jù)的電路,存儲器控制器通過選擇存儲器行或列的數(shù)據(jù)地址來控制讀寫。隨著當(dāng)前計算系統(tǒng)需要提供更多計算能力,計算系統(tǒng)內(nèi)的集成電路(ic)芯片或芯片上系統(tǒng)(soc)運行在越來越快的時鐘速度下。同時,這些ic芯片因為更高的速率消耗更多能量。可是,在例如移動計算系統(tǒng)的環(huán)境中,希望能減少功耗。一個常用節(jié)省功耗的技術(shù)是通過時鐘頻率縮放(clockfrequencyscaling)來動態(tài)管理系統(tǒng)功耗。舉例來說,ic的時鐘頻率可在負(fù)荷小的時候減少,這樣就減少了功耗。需要注意的是,當(dāng)負(fù)荷再升高的時候,時鐘頻率能恢復(fù)到之前水平。計算系統(tǒng)內(nèi)的存儲器子系統(tǒng)消耗了很大一部分能量。因此,在存儲器子系統(tǒng)內(nèi)通過動態(tài)時鐘頻率縮放來節(jié)省功耗是常見的。改變dram的時鐘頻率一般包含:中止或丟棄所有當(dāng)前存儲器子系統(tǒng)操作;改變dram時鐘頻率為一個新值;以及恢復(fù)或重復(fù)存儲器操作??墒牵瑢τ诤芏鄳?yīng)用來說,在時鐘頻率變化時,中止存儲器一段較長時間是不佳的。特別是在例如播放音頻或視頻等實時應(yīng)用的時候。為了不使得系統(tǒng)性能降低,需要盡量加快dram子系統(tǒng)的時鐘頻率變化流而又同時滿足相關(guān)dram操作時序限制,以避免系統(tǒng)誤操作。因此,需要一種時鐘頻率變化技術(shù)來加快dram時鐘頻率變化流。技術(shù)實現(xiàn)要素:因此,本發(fā)明為了減少存儲器存取時鐘頻率變化帶來的性能降低,特提出一種用于存取動態(tài)隨機(jī)存取存儲器的計算系統(tǒng)以及動態(tài)隨機(jī)存取存儲器存取方法。本發(fā)明的一方面提供一種用于存取動態(tài)隨機(jī)存取存儲器的計算系統(tǒng)包含:處理電路,在發(fā)送時鐘頻率切換信號之前發(fā)送早期通知信號,其中該早期通知信號通知后續(xù)該時鐘頻率切換信號與該時鐘頻率切換信號請求改變動態(tài)隨機(jī)存取存儲器時鐘的頻率;隊列,包含n個條目,其中n是正整數(shù),且每個條目儲存至少一個地址與要被發(fā)送到該動態(tài)隨機(jī)存取存儲器的相關(guān)命令;以及動態(tài)隨機(jī)存取存儲器控制器,控制該動態(tài)隨機(jī)存取存儲器的存取,其中該動態(tài)隨機(jī)存取存儲器控制器在接收該早期通知信號后降低該隊列的占用率到目標(biāo)水平。本發(fā)明另一方面提供一種動態(tài)隨機(jī)存取存儲器存取方法,該動態(tài)隨機(jī)存取存儲器存取方法包含:由處理電路在發(fā)送時鐘頻率切換信號之前發(fā)送早期通知信號,其中該早期通知信號通知后續(xù)的該時鐘頻率切換信號與該時鐘頻率切換信號請求改變動態(tài)隨機(jī)存取存儲器時鐘的頻率;將要發(fā)送到該動態(tài)隨機(jī)存取存儲器的地址與命令信號進(jìn)一個包含n個條目的隊列,其中每個條目儲存至少一個地址與相關(guān)命令;以及由動態(tài)隨機(jī)存取存儲器控制器在接收到該早期通知信號之后,漸漸降低該隊列的占用率到目標(biāo)水平。本發(fā)明所提出的用于存取動態(tài)隨機(jī)存取存儲器的計算系統(tǒng)以及動態(tài)隨機(jī)存取存儲器存取方法能夠保證存儲器系統(tǒng)的性能。本發(fā)明的這些及其他的目的對于本領(lǐng)域的技術(shù)人員來說,在閱讀了下述優(yōu)選實施例的詳細(xì)說明以后是很容易理解和明白的,所述優(yōu)選實施例通過多幅圖予以揭示。附圖說明圖1顯示存取dram的命令信號的時間限制的時序示意圖。圖2顯示根據(jù)本發(fā)明實施例的dram子系統(tǒng)200的結(jié)構(gòu)示意圖。圖3至5顯示dram控制器201如何在接收到早期通知信號ens后降低隊列207的占用率。圖6顯示本發(fā)明實施例的dram存取方法的流程圖。具體實施方式本說明書及權(quán)利要求書使用了某些詞語代指特定的組件。本領(lǐng)域的技術(shù)人員可理解的是,制造商可能使用不同的名稱代指同一組件。本文件不通過名字的差別,而通過功能的差別來區(qū)分組件。在以下的說明書和權(quán)利要求書中,詞語“包括”是開放式的,因此其應(yīng)理解為“包括,但不限于...”。根據(jù)本發(fā)明的實施例的計算系統(tǒng)可實施為電子設(shè)備或?qū)嵤┰陔娮釉O(shè)備內(nèi);電子設(shè)備可以是,但不限于,個人數(shù)字助理(pda),智能手機(jī),平板電腦,便攜式多媒體播放器(portablemultimediaplayer,pmp),電子書終端,筆記本電腦,網(wǎng)絡(luò)筆記本電腦,超級移動個人電腦(ultramobilepersonalcomputer,umpc)。圖1顯示存取dram的命令信號的時間限制的時序示意圖。為了簡便起見,省略了dram相關(guān)的地址信號與數(shù)據(jù)信號波形。在時序示意圖中,啟動信號(activecommand)101表示行存取時間,其是在dram控制器發(fā)給dram的行地址時,預(yù)充命令(預(yù)充信號)103表示一個預(yù)充命令時間,其是在dram控制器發(fā)給dram的預(yù)充命令時。需要注意的是,在一個dram的規(guī)格中定義的行啟動時間(rowactivetime)tras,需要在啟動信號101與預(yù)充信號103之間存在。換句話說,行啟動時間tras需要一個絕對時間差(absolutetiminggap),存在于dram的行啟動與預(yù)充dram的該啟動的行之間。舉例來說,當(dāng)啟動時間tras是20ns,dram控制器在發(fā)送啟動信號101之后的20ns內(nèi)不能發(fā)送預(yù)充信號103給dram。為了滿足tras這個條件,dram控制器可使用一計數(shù)器來對dram控制器以及dram的相應(yīng)的時鐘周期數(shù)計數(shù)。舉例來說,如果dram子系統(tǒng)的時鐘clk的頻率是200mhz(即時鐘周期是5ns),dram控制器會如下操作:發(fā)送啟動信號101;計數(shù)至少clk4個時鐘周期;發(fā)送預(yù)充信號103。dram控制器能夠,當(dāng)然計數(shù)超過4個時鐘周期;可是,系統(tǒng)效率會因更長的時間差而降低(例如比啟動時間tras更長)。當(dāng)時鐘clk的頻率改變時,滿足啟動時間tras的條件的對應(yīng)的時鐘周期計數(shù)也相應(yīng)改變了。例如,如果時鐘clk的頻率從200mhz切換到500mhz,dram控制器在新時鐘頻率下要計數(shù)至少10個時鐘clk周期而不是4個時鐘clk周期。不然啟動信號101與預(yù)充信號103之間的時間差不足以滿足dram的規(guī)格,而且會在存取dram時產(chǎn)生錯誤。為了管理dram時鐘頻率改變同時也保證系統(tǒng)效率,一個解決方法是記錄最小時鐘周期計數(shù),對于不同組的命令信號,地址信號,數(shù)據(jù)信號。例如,時鐘頻率改變之前或之后立刻從dram控制器發(fā)送給dram的命令信號可被分類為兩組:對于屬于第一組的命令信號,dram控制器在發(fā)送啟動信號及預(yù)充信號之間計數(shù)n1個時鐘周期;對于屬于第二組的命令信號,dram控制器計數(shù)n2個時鐘周期。這種解決方法使dram控制器的設(shè)計更為復(fù)雜且容易出錯。為了展示另外解決方案,請參考圖2。其顯示根據(jù)本發(fā)明實施例的dram子系統(tǒng)200的結(jié)構(gòu)示意圖。如圖2所示,dram子系統(tǒng)200包含dram控制器201與處理電路203。dram控制器201通過命令總線cb與數(shù)據(jù)總線db耦接到dram210?;貞?yīng)于一個來自于例如是cpu的計算單元(圖2中未顯示)的請求req(一般是讀/寫請求),dram控制器201據(jù)此控制dram210的讀/寫操作;并控制cpu所請求的數(shù)據(jù)通過數(shù)據(jù)總線db被讀取或?qū)懭氲絛ram210中。在實作中,dram子系統(tǒng)200在一個集成芯片內(nèi)制造;相反,dram210在集成芯片外,而且與該ic芯片一起集成到一個電子設(shè)備的電路板上。處理電路203可以是cpu,gpu,dsp以及/或其他處理器或計算單元的任何組合;一些請求req可從處理電路203發(fā)出。更具體地,dram控制器201包含控制單元205與隊列207。控制單元205可以是順序邏輯電路與組合邏輯電路的組合,隊列207可以用寄存器或靜態(tài)隨機(jī)存取存儲器(sram)以及組合來實現(xiàn)??刂茊卧?05接收請求req并準(zhǔn)備對應(yīng)的命令與地址信號cas,以儲存進(jìn)(即推入)到隊列207中。隊列207可最多存儲n(一個正整數(shù))對的命令與地址信號cas,以被送到dram210。隨著n的增加,整個系統(tǒng)的性能也會提高,因為同時處理多個計算單元發(fā)出的請求的能力更佳。為了發(fā)送命令到dram210,控制單元205可在隊列207上執(zhí)行彈出操作(popoperation),使得儲存的命令與地址信號cas的條目(entry)從隊列207彈出并通過命令總線cb發(fā)送給dram210??刂茊卧?05需要解決如圖1中提到的兩個連續(xù)的彈出操作的絕對時間差的問題。需要注意的是,雖然隊列207用來儲存dram210命令信號與地址信號,隊列207也可以儲存要被寫入到dram的數(shù)據(jù)。還需要強(qiáng)調(diào)的是,還有其他關(guān)于控制器201的具體實施的細(xì)節(jié),這些可以被理解為在本發(fā)明概念的范疇之內(nèi)。例如,隊列207可位于dram控制器201之外。當(dāng)子系統(tǒng)200(以及dram210)的時鐘頻率要開始改變時,處理電路203事先發(fā)送一個早期通知信號(earlynotificationsignal,ens)。這個早期通知信號ens用來通知dram控制器201時鐘頻率改變馬上就要發(fā)生了(例如在5ms內(nèi))。當(dāng)dram控制器201接收早期通知信號ens,其開始降低隊列207的占用率(occupancy)到一個目標(biāo)水平。舉例來說,當(dāng)dram控制器201接收早期通知信號ens,隊列207的所有8個條目都被占據(jù)了;然后dram控制器201在一定時間內(nèi)降低隊列207的占用率至8個中的2個(即目標(biāo)水平是2),并且在接收時鐘頻率切換信號(clockfrequencyswitchsignal,cfss)之前,該信號用來請求時鐘頻率的改變。當(dāng)處理電路203發(fā)送時鐘頻率切換信號cfss給dram控制器201,dram控制器201暫時停止推任何命令與地址信號cas進(jìn)隊列207。也就是說,dram控制器201因為該請求req而拒絕了其他來自計算單元的任何推入請求。在本時段內(nèi),dram控制器201彈出隊列207剩余的占用的條目(例如8個中的2個)給dram210。一旦隊列207完全空閑,dram控制器201接著發(fā)送清除(clearancesignal,cs)給處理電路203,以表示dram控制器201與/或dram210的時鐘頻率可以改變了。然后,處理電路203可切換時鐘clk到一個dram子系統(tǒng)200能運行的新的頻率。因為隊列207的占用率降低了在接收早期通知信號ens的時候,在接收時鐘頻率切換信號cfss與發(fā)送清除信號cs之間的時間間隔可以有效縮短。這是因為,舉例來說,把2個占用的條目清空比清空更多條目要快(多于2個,例如8個占用的條目)。對于處理電路203,其“感知”到請求時鐘頻率改變(當(dāng)發(fā)送時鐘頻率切換信號cfss時)與能夠改變時鐘頻率(當(dāng)接收到清除信號cs時)之間的時間間隔變小了。因此,對于dram子系統(tǒng)200來說,在時鐘頻率切換中,任何需要存取dram210的計算單元保持等待的時間更短了,且性能也不會降低很多。而且,在處理電路203切換dram子系統(tǒng)200的時鐘clk從第一頻率到第二頻率的時候,所有準(zhǔn)備來滿足第一頻率下的時序要求的命令全部都發(fā)送到了dram210。如此,dram控制器201不需要記錄哪個命令屬于哪個時鐘頻率。dram控制器201只需要計算在第二頻率下新的時鐘周期計數(shù),來符合兩個命令之間的dram時間間隔要求。所以,根據(jù)本發(fā)明的實施例,用于存取dram210的計算系統(tǒng)包含下面電路。處理電路203用來在發(fā)送時鐘頻率切換信號cfss之前發(fā)送早期通知信號ens,其中早期通知信號通知后續(xù)的時鐘頻率切換信號cfss以及時鐘頻率切換信號cfss要求dram時鐘的頻率改變。隊列207包含n個條目,其中n是一個正整數(shù),而且每個條目存儲了至少一個地址與一個要發(fā)送到dram210的相關(guān)命令。dram控制器201用來控制dram210的存取,其中dram控制器201在接收到早期通知信號ens后降低隊列207的占用率至目標(biāo)水平。在本發(fā)明的實施例中,目標(biāo)水平?jīng)Q定隊列207中的n個條目中最多m個被占用,其中m是一個小于n的正整數(shù)。在本發(fā)明另一實施例中,在從處理電路203接收到時鐘頻率切換信號cfss后,dram控制器201禁止隊列上的任何推入請求,因為隊列的占用率維持在非零。在另一個實施例中,當(dāng)隊列207的占用率在接收到時鐘頻率切換信號cfss降到零之后,dram控制器201發(fā)送清除信號cs給處理電路來表明dram時鐘的頻率可被改變。根據(jù)本發(fā)明的另一實施例,處理電路203切換dram時鐘的頻率在接收到清除信號cs后從第一頻率到第二頻率。根據(jù)本發(fā)明的實施例,dram控制器201在dram時鐘的頻率改變前在兩個相鄰隊列207的彈出操作之間將dram時鐘保持至少x個周期,其中x是一個正值(例如3.5);dram控制器dram時鐘的頻率改變之后,在兩個隊列207的相鄰彈出操作之間保持dram時鐘至少y個周期,其中y是一個不同于x的正值。圖3至5顯示dram控制器201如何在接收到早期通知信號ens后(最好在接收到時鐘頻率切換信號cfss之前)降低隊列207的占用率。請參考圖3,dram控制器201禁止所有的推入請求直到隊列207的目標(biāo)水平達(dá)到(例如2個占用條目)。當(dāng)隊列207中存在超過2個條目,dram控制器201只“彈出(圖中以pop表示)”(例如301到311)而不“推入(圖中以push表示)”;當(dāng)儲存在第一條目中的數(shù)據(jù)彈出后(即311;而第2到第7條目都是空的),推入請求313才被允許。因此,根據(jù)本發(fā)明的實施例,dram控制器201在目標(biāo)水平達(dá)到之前,拒絕任何隊列207推入請求。請參考圖4,dram控制器在接受高優(yōu)先級的推入請求時,嘗試彈出隊列207的條目到dram210中,這樣隊列207的占用率仍能下降到目標(biāo)水平。一個高優(yōu)先級的推入請求一般是從計算單元發(fā)出的要求實時計算結(jié)果的請求;否則,會導(dǎo)致系統(tǒng)性能下降。如此,在本發(fā)明另一實施例中,dram控制器201在目標(biāo)水平達(dá)到之前(且在接收早期通知信號ens之后)接受高優(yōu)先級推入請求(例如401)。請參考圖5,dram接受高優(yōu)先級推入請求的條件與圖4不同。如圖5所示,可以看出隊列207中的高優(yōu)先級推入請求503在目標(biāo)水平達(dá)到之前在彈出操作501之后被接受。相似的,高優(yōu)先級推入請求507在目標(biāo)水平達(dá)到之前在彈出操作505之后被允許。圖6顯示本發(fā)明實施例的dram存取方法的流程圖。在步驟s601中,早期通知信號在發(fā)送時鐘頻率切換信號之前發(fā)送,其中早期通知信號通知后續(xù)的時鐘頻率切換信號的到來以及時鐘頻率切換信號請求改變dram時鐘的頻率。在步驟s603中,要被發(fā)送到dram的地址與命令信號被儲存進(jìn)具有n個條目的隊列,其中每個條目儲存至少一個地址與相應(yīng)的命令。在步驟s605,隊列的占用率在接收到早期通知信號后漸漸下降到目標(biāo)水平。漸漸的意思是,降低隊列的占用率到目標(biāo)水平需要一定時間。圖6中的方法可由硬件實現(xiàn)(例如電路,專用邏輯電路,可變成邏輯電路,微代碼,專用集成電路,場可編程門陣列電路,等等),也可由軟件實現(xiàn)(例如,在處理設(shè)備上運行的指令),或者由軟硬件結(jié)合的方式實現(xiàn)。在一實施例中,該方法由圖2中的dram子系統(tǒng)200實現(xiàn)。圖6的流程圖中的操作參考圖2到圖5中的實施例進(jìn)行說明??墒?,需要了解的是,圖6中流程圖中的操作也可以用不同于圖2到圖5的實施例的方式進(jìn)行。而且圖2到圖5的實施例也可以執(zhí)行不同于圖6中所述的操作。圖6的流程圖僅僅是本發(fā)明實施例所實施的特定順序的操作,可以理解這樣的操作順序只是一種范例(例如不同的實施例可用不同順序來執(zhí)行,或者合并部分操作,或者重疊部分操作,等等)。本領(lǐng)域的技術(shù)人員將注意到,在獲得本發(fā)明的指導(dǎo)之后,可對所述裝置和方法進(jìn)行大量的修改和變換。相應(yīng)地,上述公開內(nèi)容應(yīng)該理解為,僅通過所附加的權(quán)利要求的界限來限定。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南华县| 霍城县| 高邮市| 阳城县| 娄底市| 安达市| 四会市| 淮南市| 河曲县| 东平县| 高要市| 益阳市| 个旧市| 奎屯市| 秭归县| 禹城市| 宜州市| 新田县| 庄河市| 马尔康县| 陆川县| 义乌市| 深泽县| 淳化县| 揭西县| 孝义市| 合江县| 泸州市| 临沧市| 深圳市| 元朗区| 叙永县| 石楼县| 上栗县| 南和县| 东平县| 红河县| 浦城县| 永济市| 安乡县| 黄龙县|