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

存儲器存取控制裝置及其相關控制方法

文檔序號:6770265閱讀:246來源:國知局
專利名稱:存儲器存取控制裝置及其相關控制方法
技術領域
本發(fā)明涉及一種存儲器存取控制裝置及其相關控制方法,尤其涉及一 種當一單端口存儲器的一第一寫入要求與一第一讀取要求發(fā)生重迭時選擇
性地延遲一后續(xù)的第二寫入要求發(fā)出的時間,以使該第二寫入要求得以正
常發(fā)出至該單端口存儲器的存取仲裁裝置及其相關控制方法。
背景技術
隨著科技的演進和使用者對信息系統(tǒng)的功能需求激增,各種信息的讀 取、傳輸、存儲、運用、與顯示的速度及正確性都必須不斷隨之增進,而 其中影響信息系統(tǒng)的效能最顯著的即是系統(tǒng)內相關的存儲器存取運作。
因此,如何控制存儲器的存取效率,以使存儲器的效能得以不斷提升 即為一個重要的課題。隨著科技的進步以及對產(chǎn)品功能多樣化的需求,系 統(tǒng)的設計亦因而越來越繁復。當一存儲器存取要求控制裝置在同一時間點 接收到不同種類的存取數(shù)據(jù)的要求指令(亦即寫入以及讀取數(shù)據(jù)的要求指 令)時,存儲器存取要求控制裝置需適當?shù)匕才艌?zhí)行不同存取指令的順序, 確保每一不同的存儲器寫入/讀取的存取指令皆得以順利的進行,以避免存
取指令被忽略/重復執(zhí)行的情況發(fā)生。
已知存儲器存取控制裝置內包含有一存儲器寫入要求產(chǎn)生模塊、 一存 儲器讀取要求產(chǎn)生模塊、 一對應于該存儲器寫入要求模塊的脈沖寬度控制
(pulse width control)模塊、 一對應于該存儲器讀取要求產(chǎn)生模塊的脈沖寬度 控制模塊,以及一仲裁器(Arbitrator)。
當信息系統(tǒng)對一單端口 (Single Port)存儲器發(fā)出 一存儲器讀取/寫入指 令(亦即一讀取/寫入事件)時,已知存儲器存取控制裝置內的該存儲器讀取/ 寫入控制要求產(chǎn)生模塊即根據(jù)所接收到的存取事件的種類來產(chǎn)生對應的存 取要求。換句話說,信息系統(tǒng)對該單端口存儲器發(fā)出一存取指令(亦即存取 事件)EvenLWR/EvenU①時,須通過已知存儲器存取控制裝置發(fā)出存儲器 寫入/讀取準許信號(GranLWR/GranLRD)來控制該單端口存儲器的存取運作。
當信息系統(tǒng)發(fā)出存儲器寫入指令(事件)Event—WR給該單端口存儲器裝置時,該寫入要求產(chǎn)生模塊即依據(jù)存儲器寫入事件Event—WR產(chǎn)生一相對應的存儲器寫入要求Req_WR至該仲裁器,而此存儲器寫入要求對應至該存儲器寫入事件;同樣地,當信息系統(tǒng)發(fā)出一存儲器讀取指令(事件)Event一RD給該單端口存儲器時,該讀取要求產(chǎn)生裝置即產(chǎn)生對應該存儲器讀取事件Event_RD的一存儲器讀取要求Req_RD至該仲裁器。接著,仲裁器即根據(jù)由該存儲器讀取/寫入要求產(chǎn)生模塊所傳送的存儲器寫入/讀取要求(亦即Re(LWR/RecLRD)來仲裁出該存儲器讀取指令的優(yōu)先權(priority)以產(chǎn)生相對應的存儲器存取準許信號(Grant Signal);例如GrantRD和GrantWR給該單端口存儲器,使得信息系統(tǒng)能依據(jù)存儲器寫入/讀取準取
信號Grant—RD和Grant一WR來執(zhí)行存儲器讀取或存儲器寫入。
該單端口存儲器花費在執(zhí)行存儲器寫入以及存儲器讀取指令上所需耗
費的時間則分別由該存儲器存取控制裝置的該存儲器寫入/讀取的脈沖寬度控制模塊來控制,而存儲器寫入/讀取的時間長短由寫入/讀取的脈沖寬度控制單元依據(jù)單端口存儲器的硬件規(guī)格來加以適當決定。
請參閱圖1,圖1為已知存儲器存取控制裝置在執(zhí)行數(shù)據(jù)存取時信號的時序圖。請注意到,在已知存儲器存取控制裝置中,每一個存儲器存取事件(Event_WR以及Event_RD)與相對應的每一個存儲器存取事件(Event—WR/Event—RD)的存取要求(RetWR/RecLRD)彼此同步。
也就是說,在同一個時間軸上若有一個寫入事件產(chǎn)生,此時必有一個寫入要求同時產(chǎn)生。圖1所示的時序圖顯示一個同時讀寫的例子。如圖1所示,當一存儲器讀取要求RecLRD為高邏輯電平"1"時,由于該單端口存儲器并沒有其他存取運作與其沖突,該仲裁器便控制一存儲器讀取準許信號Grant一RD,使其成為高邏輯電平"1"(也就是說,當存儲器讀取準許信號Grant_RD在高邏輯電平"l"的期間,表示該單端口存儲器正在進行讀取動作),但是當存儲器寫入要求REQ一WR由低邏輯電平"O"變?yōu)楦哌壿嬰娖?l,,時,因為單端口存儲器在同一時間內只能允許存儲器讀取或寫入動作中的其中一種,所以該仲裁器必須等到存儲器讀取準許信號Grant一RD轉變成低邏輯電平"O"之后(表示單端口存儲器已經(jīng)執(zhí)行完前述的讀取運作),才會將該存儲器寫入準取信號Grant_WR由低邏輯電平"O"拉成高邏輯電平"1",也就是讓該單端口存儲器可執(zhí)行存儲器寫入運作。
于是,在對應該寫入存儲器存取控制單元的脈沖寬度控制單元結束存
儲器寫入的準許動作之前(亦即,在存儲器寫入準許信號Grant一WR由高邏輯電平"1"拉到低邏輯電平"0"之前),后續(xù)的存儲器寫入要求RecLWR將無法發(fā)出。
因此,在已知存儲器存取控制裝置中,存儲器最快寫入周期?_皿被限制為一個讀取準許信號Grant_RD保持于高邏輯電平'T'的時間長度T一RD,再加上一個寫入準取信號Grant_WR保持于高邏輯電平"l"的時間長度T—WR。如果用一數(shù)學式表示之,即P—WR>=T—WR + T—RD。
很明顯地,存儲器最快寫入周期P—WR影響整體存儲器的數(shù)據(jù)寫入效能。因此如何有效地縮短存儲器最快寫入周期?_\¥11便成為提高存儲器寫入速度的一個重要課題。

發(fā)明內容
因此本發(fā)明的目的之一是提供了一種存儲器存取控制裝置,其通過每一次收到一存儲器寫入/事件時,皆先參考一存儲器寫入準許信號的狀態(tài),直至確認存儲器寫入準許信號重置為一預定邏輯電平(例如低邏輯電平"0")時,才產(chǎn)生與該寫入事件相對應之一寫入要求。如此一來,便可以減少單端口存儲器于寫入時所耗費的時間,并因此提升該單端口存儲器的存
取效能。
依據(jù)本發(fā)明的實施例,其公開一種存儲器存取控制裝置。該存儲器存取控制裝置包含有 一第一存儲器存取要求產(chǎn)生模塊、 一第二存儲器存取要求產(chǎn)生模塊以及一仲裁器。該第一存儲器存取要求產(chǎn)生模塊用來在一存儲器正依據(jù)對應一第一存儲器存取事件的一第一存儲器存取要求而進行一第 一數(shù)據(jù)存取操作中接收到一第二存儲器存取事件時,在一延遲時間之后輸出對應該第二存儲器存取事件的一第二存儲器存取要求至該存儲器以進行一第二數(shù)據(jù)存取操作。該第二存儲器存取要求產(chǎn)生模塊用來依據(jù)一第三存儲器存取事件產(chǎn)生一第三存儲器存取要求至該存儲器以進行一第三數(shù)據(jù)存取操作,其中該第 一及第二數(shù)據(jù)存取操作為存儲器讀取與存儲器寫入中的一個,以及該第三數(shù)據(jù)存取操作為存儲器讀取與存儲器寫入中的另一個。該仲裁器耦接至該第一、第二存儲器存取要求產(chǎn)生模塊與該存儲器,用來仲裁該第一、第二存儲器存取要求產(chǎn)生模塊所輸出的存儲器存取要求以依序產(chǎn)生相對應存儲器存取準許信號至該存儲器。
依據(jù)本發(fā)明的實施例,其另公開一種存儲器存取控制方法。該方法包
含有在一存儲器正依據(jù)對應一第一存儲器存取事件的一第一存儲器存取要求而進行一第一數(shù)據(jù)存取操作中接收到一第二存儲器存取事件時,在一延遲時間之后輸出對應該第二存儲器存取事件的一第二存儲器存取要求至該存儲器以進行一第二數(shù)據(jù)存取操作;依據(jù)一第三存儲器存取事件產(chǎn)生一第三存儲器存取要求至該存儲器以進行一第三數(shù)據(jù)存取操作,其中該第一及第二數(shù)據(jù)存取操作為存儲器讀取與存儲器寫入中的一個,以及該第三數(shù)
據(jù)存取操作為存儲器讀取與存儲器寫入中的另一個;以及仲裁對應存儲器讀取的一存儲器存取要求與對應存儲器寫入的另一存儲器存取要求以依序產(chǎn)生相對應的存取準許信號至該存儲器。


圖1為已知存儲器存取控制裝置在執(zhí)行數(shù)據(jù)存取時信號的時序圖。圖2是本發(fā)明存儲器存取控制裝置的一實施例的功能方塊圖。圖3為圖2所示的延遲控制模塊的示意圖。圖4為圖3所示的延遲級的電路架構示意圖。
圖5為圖2所示的存儲器存取控制裝置在執(zhí)行數(shù)據(jù)存取運作控制時的第一操作實施例的時序圖。
圖6為圖2所示的存儲器存取控制裝置在執(zhí)行數(shù)據(jù)存取運作控制時的第二操作實施例的時序圖。
主要元件符號說明
145 觸發(fā)器
146 重置端
147 時鐘端
148 輸入端
149、 158、 168、 178 輸出端155多工器
156、 166、 176第一輸入端
157、 167、 177第二輸入端159控制端
165第一邏輯門
175第二邏輯門
200存儲器存取控制裝置
201單端口存儲器
210第 一存^l器存取要求產(chǎn)生4莫塊
212延遲控制模塊
214第一脈沖寬度控制單元
216——1~216_N 延遲級
218存儲器存取要求控制單元
219延遲單元
220第二存儲器存取要求產(chǎn)生模塊
222控制模塊
224第二脈沖寬度控制單元
230仲裁器
具體實施例方式
在本專利說明書及后續(xù)的權利要求書當中使用了某些詞匯來指稱特定的元件。本領域技術人員應可理解,硬件制造商可能會用不同的名詞來稱呼同一個元件。本說明書及后續(xù)的權利要求書并不以名稱的差異來作為區(qū)分元件的方式,而是以元件在功能上的差異來作為區(qū)分的準則。在通篇說明書及權利要求書當中所提及的「包含」為一開放式的用語,故應解釋成
r包含但不限定于」。以外,r耦接J 一詞在此包含任何直接及間接的電氣連接手段。因此,如果文中描述一第一裝置耦接于一第二裝置,則代表該第一裝置可直接電氣連接于該第二裝置,或通過其他裝置或連接手段間接地電氣連接至該第二裝置。
圖2是本發(fā)明存儲器存取控制裝置200的一實施例的功能方塊圖。存儲器存取控制裝置200耦接至一單端口 (single port)存儲器201 (例如隨機存取存儲器),存儲器存取控制裝置200用以接收存儲器寫入事件Event—WR以及存儲器讀取事件Event一RD,并根據(jù)所接收的存儲器寫入事件Event WR以及存儲器讀取事件Event—RD分別發(fā)出相對應的存儲器存取準許信號(亦即,存儲器寫入準許信號Grant_WR以及存儲器讀取準許信號Grant—RD)至單端口存儲器201 。
請注意到,對于本實施例中的存儲器存取控制裝置200而言,對應存儲器存取事件的存儲器存取要求,其兩者之間不再限定于接收到存儲器存取事件同步發(fā)出存儲器存取要求,而是在單端口存儲器201目前正在進行數(shù)據(jù)存取(例如數(shù)據(jù)寫入)時接收到另一存儲器存取事件(例如存儲器寫入事件)時,經(jīng)由多個延遲級所提供的延遲效果以便在單端口存儲器完成
目前的存取操作之后,迅速地在后續(xù)的一適當時間點發(fā)出存儲器存取請求,因而可縮短不必要的等待時間來大幅提升存儲器存取效能,相關運作系詳細i兌明3口下。
存儲器存取控制裝置200包含有第一存儲器存取要求產(chǎn)生模塊210、第二存儲器存取要求產(chǎn)生模塊220以及仲裁器230。第一存儲器存取要求產(chǎn)生模塊210以及第二存儲器存取要求產(chǎn)生模塊220分別對應到存儲器讀取或存儲器寫入的其中一種存儲器存取處理。
而為了簡單說明起見,在接下來的敘述中,第一存儲器存取要求產(chǎn)生模塊210為一存儲器寫入要求產(chǎn)生模塊,而第二存儲器存取要求產(chǎn)生模塊220為一存儲器讀取要求產(chǎn)生模塊。換句話說,在本實施例中的存儲器存取控制裝置200,第一存儲器存取要求產(chǎn)生模塊210用以接收一存儲器寫入事件Event一WR并選擇性地延遲/立即產(chǎn)生相對應的存儲器寫入要求Req_WR至仲裁器230。相似地,第二存儲器存取要求產(chǎn)生模塊220(亦即存儲器讀取要求產(chǎn)生模塊)用以接收存儲器讀取事件Event一RD,以產(chǎn)生相對應的存儲器讀取要求Req_RD給仲裁器230。
如圖2所示,第一存儲器存取要求產(chǎn)生模塊210內包含有延遲控制模塊212以及第一脈沖寬度控制單元214;而在第二存儲器存取要求產(chǎn)生模塊220中,則包含有一控制模塊222以及一第二脈沖寬度控制單元224。延遲控制模塊212耦接至仲裁器230以及第一脈沖寬度控制單元214,其根據(jù)所接收的存儲器寫入事件Event—WR(例如依據(jù)時間先后而包含有第一存儲器存取事件Event一l與第二存儲器存取事件Event_2)、存儲器寫入準許信號Grant一WR(例如依據(jù)時間先后而包含有第一存儲器存取準許信號Grant_l與第二存儲器存取準許信號Gran^2)以及存儲器寫入重置信號Reset—WR來愉如圖2所示,第一脈沖寬度控制單元214耦接至仲裁器230,并接收由 仲裁器230所發(fā)出的存儲器寫入準許信號(例如Grant一l或Grant一2)來產(chǎn)生 存儲器寫入重置信號Reset_WR至延遲控制模塊212。
在本實施例中,第二存儲器存取要求產(chǎn)生模塊220的控制模塊222可 簡單地使用一寄存器(register)來加以實施,例如觸發(fā)器(flip-flop),因此,控 制模塊222耦接至第二脈沖寬度控制單元224,控制模塊222具有一第一輸 入端用以接收一高電平邏輯值"l"作為輸入信號、用以接收存儲器讀取事件 Event—RD的一時鐘端、用以接收存儲器讀取重置信號Reset一RD的一負沿 觸發(fā)(negative trigger)端以及一車lr出端。
控制模塊222根據(jù)所接收的信號產(chǎn)生出存儲器讀取要求Req_RD至仲 裁器230,而第二存儲器存取要求產(chǎn)生模塊220的第二脈沖寬度控制單元 224則耦接至控制模塊222以及仲裁器230,用以依據(jù)對應至單端口存儲器 201的硬件規(guī)格的存儲器讀取準許信號Grant_RD來產(chǎn)生相對應的存儲器讀 取重置信號ReseLRD給第二存儲器存取要求產(chǎn)生模塊220的控制模塊222。
仲裁器230根據(jù)第一存儲器存取要求產(chǎn)生模塊210產(chǎn)生的存儲器寫入 要求(例如依據(jù)時間先后所產(chǎn)生的第 一存儲器存取要求Req_l與第二存儲器 存取要求Req_2),以及第二存儲器存取要求產(chǎn)生模塊220產(chǎn)生的存儲器讀 取要求(例如圖2所示的第三存儲器讀取要求Rec^3)來依序產(chǎn)生相對應的第 一、第二、第三存儲器存取準許信號Grant—1、 Grant—2、 Grant—3給單端口 存儲器201,使其得以依據(jù)存儲器存取信號來執(zhí)行相關存儲器存取運作。
然而請注意到,以隨機存取存儲器來實作單端口存儲器201僅作為一 實施例說明,并非用來作為本發(fā)明的限制條件,此外,上述的第一存儲器 存取要求產(chǎn)生模塊210與第二存儲器要求產(chǎn)生模塊220所對應的存儲器存 取指令處理并非為本發(fā)明的限制條件,也就是說,隨著設計需要以及相關 的電路變化,第一存儲器存取要求產(chǎn)生模塊210可用以產(chǎn)生存儲器讀取要 求Req_RD,而第二存儲器存取要求產(chǎn)生模塊220則可用以產(chǎn)生存儲器寫入 要求Req_WR,此一設計變化亦屬本發(fā)明的范圍。再者,用個別的功能方 塊來表示這些元件只是為了說明之用,亦即圖2所示的元件并不限定要分 別設置于存儲器存取控制裝置200之中,也可能有符合本發(fā)明精神的其他 硬件配置方式,而這些設計變化皆落于本發(fā)明的范圍內。
請同時參照圖2以及圖3,圖3所示為圖2所示的延遲控制模塊212
ii的電路架構示意圖。如圖3所示,延遲控制模塊212中具有多個串接的延 遲級216_1 216_N,每一個延遲級216—1~216_N內包含有一存儲器存取要 求控制單元218以及一延遲單元219。倘若當單端口存儲器201正在執(zhí)行對 應第一存儲器寫入事件Event—1的第一存儲器寫入才喿作中(也就是此時存儲 器寫入準許信號Grant一WR處于高邏輯電平"l"),第一存儲器存取要求產(chǎn)生 模塊210接收到一第二存儲器寫入事件Event_2時,延遲單元218將會把 所接收的第二存儲器存取事件往后延遲一延遲量Td (此延遲時間的大小可 隨著不同的設計需求而改變, 一般而言為1 2ns左右),并將延遲后的第二 存儲器寫入事件Event—2傳遞給下一個延遲級218。存儲器存取要求控制單 元218的運作方式將在下面進一步詳細說明。
請同時參照圖2至圖4。圖4為圖3所示的單一延遲級的電路架構示意 圖。以多個延遲級中的第k個延遲級216—k為例,圖4所示的選擇信號 SEL(k-l)即對應至一存儲器寫入準許信號Grant_WR,而時鐘信號 CK—DLY(k-l)則對應至一存儲器寫入事件Event—WR,此外,延遲級216—k 所輸出的選擇信號SEL(k)與時鐘信號CK一DLY(k)則作為下一延遲級所接收 的選擇信號與時鐘信號。
對延遲級216—k而言,存儲器存取要求控制單元218包含有一觸發(fā)器 (flip-flop)145、 一多工器(multiplexer)155、 一第一邏輯門165以及一第二邏 輯門175。觸發(fā)器145具有用來接收一存儲器寫入事件Event—WR(亦即 CK一DLY(k-l))的觸發(fā)的時鐘端147、用來接收對應一存儲器寫入重置信號 Reset—WR的觸發(fā)的重置端146(亦即負沿觸發(fā)端)、 一輸入端148,以及一輸 出端149。本實施例中,輸入端148耦接至多工器155的一輸出端158。觸 發(fā)器145依據(jù)存儲器寫入事件Event一WR以及存儲器寫入重置信號Reset 的觸發(fā)而將多工器155所輸出的一存儲器運作狀態(tài)信號經(jīng)由輸出端149輸 出,舉例來說,如果時鐘信號CK一DLY(k-l)因為一存儲器寫入事件 Event_WR輸入至延遲控制模塊212而由低邏輯電平"O"轉變成高邏輯電平 'T,時,則觸發(fā)器145將被觸發(fā)進而輸出輸入端148所接收的數(shù)值。
另一方面,當?shù)谝幻}沖寬度控制單元214產(chǎn)生一存儲器寫入重置信號 Reset—WR時,則觸發(fā)器145會重置為低邏輯電平"0"。請注意到,在本實 施例中,觸發(fā)器145的輸出端149耦接至多工器155的輸入端156以及第 一邏輯門165的第二輸入端167以及第二邏輯門175的第二輸入端177。如圖4所示,多工器155的第一輸入端156接收由觸發(fā)器145的輸出 端149所輸出的存儲器運作狀態(tài)信號,而多工器155的一第二輸入端157 系固定接收一高邏輯電平'T,,且存儲器寫入準許信號Grant_WR用來設定 多工器155的一控制端159所接收的選擇信號SEL(k-l),亦即多工器155 依據(jù)控制端159所接收的存儲器寫入準許信號Grant—WR所對應的邏輯值 來決定輸出端158的輸出為何。
舉例來說,如果存儲器寫入準許信號Grant一WR為高邏輯電平"l"時, 多工器155將輸出第一輸入端156所接收的信號;反之,則輸出第二輸入 端157所接收的高邏輯電平'T,。換句話說,多工器155根據(jù)存儲器寫入準 許信號Grant一WR的狀態(tài)而選擇出的信號來做為輸入至觸發(fā)器145的存儲 器運作狀態(tài)信號。
對于第一邏輯門165以及第二邏輯門175而言,在本實施例中,兩邏 輯門165、 175均為一OR邏輯門。如圖所示,第一邏輯門165的第一輸入 端166用以接收存儲器寫入要求信號R叫(k-l),而第一邏輯門165的第二 輸入端167則接收由觸發(fā)器145的輸出端149所輸出的存儲器運作狀態(tài)信 號。最后,第一邏輯門165便根據(jù)第一輸入端166以及第二輸入端167所 接收的信號,作一 OR邏輯運算后于一輸出端168將所運算結果輸出,并 作為串接的下一個延遲級中的存儲器存取要求控制單元218的存儲器寫入 要求信號Req(k)。
舉例來說,延遲級216J中第一邏輯門165的輸出端168輸出的信號 即為下一延遲級216—2的存儲器寫入要求信號R叫(l)。請注意,在本實施 例中,對于第一個延遲級216—1而言,其所接收的存儲器寫入要求信號 R叫(O)系為一固定邏輯值"O"。第二邏輯門175的第一輸入端176接收前一 延遲級所傳來的存儲器寫入準許信號Grant_WR及前面所有延遲級的觸發(fā) 器145輸出端149所輸出的存儲器運作狀態(tài)(亦即SEL(k-l)),第二邏輯門 175的第二輸入端177則接收由觸發(fā)器145輸出端149所輸出的存儲器運作 狀態(tài)信號,最后,第二邏輯門175對第一輸入端176以及第二輸入端177 所接收信號作一OR邏輯運算并產(chǎn)生一輸出信號(亦即SEL(k))。如圖3所 示,延遲級216—1中第二邏輯門175的輸出端178輸出的信號將作為下一 延遲級216—2所接收的選擇信號SEL (1)。
在這里請注意到,延遲單元219所延遲的延遲量Td用以決定兩連續(xù)延
13遲級中觸發(fā)器145被觸發(fā)的間隔,而延遲量Td的大小可為1 2ns左右,且 Td的時間長短可隨設計需求而改變。請注意,如果延遲量Td過大,則會 使得執(zhí)行完一存儲器寫入要求的存儲器寫入操作到發(fā)出下一存儲器寫入要 求之間的時間間隔過長,并因而影響到存儲器寫入效率。相反地,倘若延 遲量Td的時間長度過小,則在存儲器延遲模塊212中便需要設置較多的延 遲級。
請同時參閱圖2至圖5,圖5為圖2所示的存儲器存取控制裝置200 在執(zhí)行數(shù)據(jù)存取運作控制時的第一操作實施例的時序圖。如圖5所示,在 時間Tl時,存儲器存取控制裝置200接收到一存儲器讀取事件Event一RD, 因此,控制模塊222便將存儲器讀取要求Req_RD由低邏輯電平"O"拉至高 邏輯電平"l,,而輸出至仲裁器230。因此,由在此時單端口存儲器201并未 有任何存取操作執(zhí)行中,故仲裁器230便將存儲器讀取準許信號Grant_RD 由低邏輯電平"O,,拉至高邏輯電平"1"。
之后,在時間T2時,存儲器存取控制裝置200接收到一存儲器寫入事 件Event—WR。因此,對于延遲控制模塊212中第一個延遲級216_1而言, Req(0)="0,,, SEL(0)="0,,,以及CK_DLY(0)="1",因此,延遲級216—1中 的多工器155會輸出"1",而觸發(fā)器145會因為CKJDLY(0)的觸發(fā)而輸出 'T,,所以,Req(k+1)會因為0R邏輯運算而成為"1",因而造成最后一個延 遲級216—N會輸出"l"。亦即存儲器寫入要求RecLWR于時間T2時會由低 邏輯電平"0"轉變成高邏輯電平"1"。同時,雖然仲裁器230收到存儲器寫入 要求Rec^WR,然而由在單端口存儲器201目前正進行數(shù)據(jù)讀取操作中, 故仲裁器230并不會將存儲器寫入準許信號Grant—WR由低邏輯電平"O"拉 高至高邏輯電平"l"。在時間T3時,因為單端口存儲器201已依據(jù)其硬件 規(guī)格而于所需時間內完成數(shù)據(jù)讀取操作,因此仲裁器230便重置存儲器讀 取準許信號Grant—RD并將存儲器寫入準許信號Grant一WR由低邏輯電平
"o"拉高至高邏輯電平"r,。
在時間T4時,此時單端口存儲器201仍進行數(shù)據(jù)寫入中,然而,存儲 器存取控制裝置200接收到另 一存儲器寫入事件Event一WR,對于延遲控制 模塊212中第一個延遲級216_1而言,由于前一存儲器寫入事件EvenLWR 于時間T3才開始執(zhí)行的相對應寫入操作尚未完成,因此,還未接收到因為 存儲器寫入準許信號Grant_WR重置所造成的存儲器寫入重置信號
14Reset—WR,故由于Req(0)="0", SEL(0)="1", CK—DLY(0)='T,,以及觸發(fā) 器145的輸出端149仍維持高邏輯電平"1",因此,延遲級216J中的多工 器155會輸出"1",而觸發(fā)器145會因為CK^DLY(0)的觸發(fā)而輸出"1",所 以,Req(k+1)會因為OR邏輯運算而仍然維持'T,,因而造成最后一個延遲 級216一N會輸出"l",亦即存儲器寫入要求Re(LWR于時間T4時仍維持目 前的高邏輯電平"l"(請注意,此一高邏輯電平"l"由于前一存儲器寫入事件 Event—WR所造成,而非目前于時間T4所接收的存儲器寫入事件Event—WR 所造成)。之后,在時間T4所接收的存儲器寫入事件Even^WR會經(jīng)由每 一延遲級來加以延遲,如圖5所示的時鐘信號CK—DLY(1)~CK_DLY(6), 對于后續(xù)每一延遲級而言,在時間T5之前,其Req(k+l)均會因為OR邏輯 運算而仍然維持"l",故不會影響最后一個延遲級216_N所輸出的 Req(k+1)。
在時間T5時,因為單端口存儲器201已依據(jù)其硬件規(guī)格而于所需時間 內完成數(shù)據(jù)寫入操作,因此仲裁器230便重置存儲器寫入準許信號 Grant_WR,因此,第一脈沖寬度控制單元214便會依據(jù)存儲器寫入準許信 號Grant—WR的重置而觸發(fā)產(chǎn)生一存儲器寫入重置信號Reset_WR,此時, 由于第一個延遲級216—1的Req(0)與SEL(0)均為"0",且每一延遲級 216—1~216_N中的觸發(fā)器145均被重置,故每一延遲級216—1~216—N所輸 出的Req(k)與SEL(k)亦均為"O"。在時間T6時,第3個延遲級中的觸發(fā)器 145被時鐘信號CK一DLY(3)所觸發(fā),因此依據(jù)上述說明可知存儲器寫入要 求信號RecLWR會由重置后的低邏輯電平"0"再次拉至高邏輯電平'T,,因 此,仲裁器230于收到存儲器寫入要求信號Req_WR的觸發(fā)之后便將存儲 器寫入準許信號Grant_WR由重置后的低邏輯電平"O"再次拉至高邏輯電平 "1",如圖5所示。
本發(fā)明存儲器存取控制裝置200在設計上需符合幾項限制前提。第一 項前提為所有延遲級216_1~216—N具有的延遲量Td構成的一總延遲量(也 就是說,信號在經(jīng)過延遲控制模塊212中N個延遲級216一1 216一N中所構 成的總延遲時間N+Td,請注意,本實施例中系各個延遲級系具有相同的延 遲量Td,故總延遲量即等于N*Td,然而,本發(fā)明并未限定各個延遲級均 需具有相同的延遲量),必須小在單端口存儲器201執(zhí)行一個存儲器寫入指 令所需要花費的時間T_WR。如果以一數(shù)學式表示,即是N*Td<T_WR。遲單元的延遲量Td構成的總 延遲時間N*Td比單端口存儲器201執(zhí)行一寫入運算的時間還長,將會使 得同樣一個存儲器寫入指令對單端口存儲器201發(fā)出兩次存儲器寫入要求 Req_WR。舉例來說,假設使用者需要在單端口存儲器201中寫入一筆數(shù)據(jù), 當總延遲量N*Td過大時,將會使得單端口存儲器201重復地寫入該筆數(shù) 據(jù)。
除了前述的設計條件之外,另一項設計條件為存儲器兩次存儲器寫 兩事件之間的間隔?_職與控制模塊212中N個延遲級216J 216一N中所 構成的總延遲時間(例如N叮d)兩者的總和必須要大在單端口存儲器201 執(zhí)行一次存儲器寫入運作(例如,Grant一WR維持高邏輯電平的時間長度)與 一次存儲器讀取運作(例如,Grant—RD維持高邏輯電平的時間長度)的總 和。請參閱圖6,圖6為圖2所示的存儲器存取控制裝置200在執(zhí)行數(shù)據(jù)存 取運作控制時的第二操作實施例的時序圖。以一數(shù)學式表示,即 是:P—WR+N*Td>T—WR+T_RD,其中T_WR為單端口存儲器201執(zhí)行一次 存儲器寫入的時間,而T—RD則是單端口存儲器201執(zhí)行一次存儲器讀取 的時間。在這樣的操作條件之下,當一次存儲器寫入要求RecLWR與一次 存儲器讀取要求Req_RD間發(fā)生沖突時,由于所采用的存儲器裝置為一單 端口存儲器的緣故,由于其無法同時執(zhí)行讀取與寫入動作,因而造成其中 一存取動作被延后。
舉例來說,如圖6所示,當一存儲器讀取事件Event一RD為高邏輯電平 'T,時,存儲器存取裝置200接收到一存儲器寫入事件Event—WR,因此, 存儲器寫入要求Req_WR必須等到存儲器讀取準許信號Grant—RD由高邏 輯電平'T,重置為低邏輯電平"O"之后才容許讓存儲器寫入事件Event—WR 相對應的存儲器寫入要求Req_WR發(fā)出并傳送至仲裁器230。如果當單端 口存儲器201正在執(zhí)行與存儲器寫入要求RecLWR相對應的存儲器寫入運 作時,存儲器存取裝置200在時間Tl(如圖6所示)又收到一個新的存儲器 寫入事件Event一WR,如前所述,這一筆尚未處理的存儲器寫入事件會經(jīng)由 延遲控制模塊212中多個延遲級216一1 216一N來逐一延遲以產(chǎn)生時鐘信號 Ck- DLY來在不同時間點觸發(fā)各個延遲級。必須要有其中一個時鐘信號在 目前的存儲器寫入運作結束(亦即Grant一WR由高邏輯電平"H"重置成低邏 輯電平"L,,)后觸發(fā)一個延遲級中的觸發(fā)器145才能將存儲器寫入要求Req_WR由重置后的低邏輯電平再次4立至高邏輯電平;否則將造成這一個 尚未被處理的存儲器寫入事件Event—WR永遠無法產(chǎn)生相對應的存儲器寫 入要求Req_WR而使得這個尚未被處理的存儲器寫入事件被忽略而無法執(zhí) 行。舉例來說,假設當單端口存^t器201正在執(zhí)行寫入一筆數(shù)據(jù)的指令時, 系統(tǒng)又發(fā)出一筆新的寫入指令,如果兩筆寫入指令的產(chǎn)生時序不符合以下 的數(shù)學式P—WR+N*Td>T_WR+T—RD,則此時系統(tǒng)所后續(xù)發(fā)出的寫入指 令在目前的數(shù)據(jù)寫入運作完成后并不會執(zhí)行,因此造成單端口存儲器201 于數(shù)據(jù)寫入上的錯誤。
此外,除了前述的操作條件之外,在設計本發(fā)明存儲器存取控制裝置 200時,尚有一設計條件需加以考量。此設計前提以數(shù)學式表示即為 P—WR> T_WR+T_margin。就實際意義來說,P一WR系代表系統(tǒng)所要求的 存儲器兩次寫入事件之間的間隔時間,而T1WR即為單端口存儲器201依 據(jù)其硬件規(guī)格而執(zhí)行一次寫入指令所需要花費的時間(亦即Grant一WR維持 高邏輯電平"H"的時間長度)。在設計存儲器存取控制裝置時,在存儲器本 身所需花費的寫入運作時間之外尚會保留 一個預設的余欲時間T_margin, 以確保單端口存儲器201得以順利運作。
上述是針對存儲器周期性寫入的頻率高于存儲器周期性讀取的頻率的 例子來說明,亦即圖2所示的延遲控制模塊212應用于處理存儲器寫入事 件Event—WR以產(chǎn)生存儲器寫入要求Req_WR,然而,本領域技術人員在 閱讀上述說明之后應可輕易地了解到相同的概念亦可應用于存儲器周期性 讀取的頻率高于存儲器周期性寫入的頻率的架構中。例如經(jīng)由上述實施例 的簡單變化,圖2所示的延遲控制模塊212可應用于處理存儲器讀取事件 Event_RD以產(chǎn)生存儲器讀取要求Req_RD,而控制模塊222則應用于處理 存儲器寫入事件Event—WR以產(chǎn)生存儲器寫入要求Req_WR,此一設計變 化亦屬本發(fā)明的范圍。
綜上所述,本發(fā)明的存儲器存取控制裝置使單端口存儲器執(zhí)行存儲器
寫入指令的周期時間縮短,而增進存儲器存取運作的速率,更因此提升單
端口存儲器存取裝置的效能。任何一個通過延遲存儲器存取要求發(fā)出的時 間使其與相對應的存儲器存取事件于時序上不同步發(fā)生的控制裝置皆屬于
本發(fā)明的范圍。
以上所述僅為本發(fā)明的優(yōu)選實施例,凡依本發(fā)明權利要求書所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。
權利要求
1.一種存儲器存取控制裝置,包含有一第一存儲器存取要求產(chǎn)生模塊,用來在一存儲器正依據(jù)對應一第一存儲器存取事件的一第一存儲器存取要求而進行一第一數(shù)據(jù)存取操作中接收到一第二存儲器存取事件時,在一延遲時間之后輸出對應該第二存儲器存取事件的一第二存儲器存取要求至該存儲器以進行一第二數(shù)據(jù)存取操作;一第二存儲器存取要求產(chǎn)生模塊,用來依據(jù)一第三存儲器存取事件產(chǎn)生一第三存儲器存取要求至該存儲器以進行一第三數(shù)據(jù)存取操作,其中該第一及第二數(shù)據(jù)存取操作為存儲器讀取與存儲器寫入中的一個,以及該第三數(shù)據(jù)存取操作為存儲器讀取與存儲器寫入中的另一個;以及一仲裁器,耦接至該第一、第二存儲器存取要求產(chǎn)生模塊與該存儲器,用來仲裁該第一、第二存儲器存取要求產(chǎn)生模塊所輸出的存儲器存取要求以依序產(chǎn)生相對應存儲器存取準許信號至該存儲器。
2. 如權利要求1所述的存儲器存取控制裝置,其中該第一存儲器存取要求產(chǎn)生模塊包含有一延遲控制模塊,包含有串接的多個延遲級,其中每一延遲級包含有 一延遲單元,用來以 一相對應延遲量來延遲所接收的該第二存儲器存 取事件并將延遲后的該第二存儲器存取事件傳遞至下一延遲級;以及一存儲器存取要求控制單元,用來依據(jù)一重置信號選擇性地清除該第 一存儲器存取要求,以及依據(jù)該延遲單元所接收的該第二存儲器存取事件 的觸發(fā)來選擇性地控制該延遲控制模塊維持該第一存儲器存取要求或輸出 該第二存儲器存取要求,其中當該第一存儲器存取要求所對應的一第一存儲器存取準許要求在該第二存儲器存取事件觸發(fā)該存儲器存取要求控制單 元時已清除,則該存儲器存取要求控制單元控制該延遲控制模塊輸出該第 二存儲器存取要求,以及當該第 一存儲器存取要求所對應的該第 一存儲器 存取準許要求在該第二存儲器存取事件觸發(fā)該存儲器存取要求控制單元時 尚未清除,則該存儲器存取要求控制單元控制該延遲控制模塊維持該第一 存儲器存取要求;以及一第一脈沖寬度控制單元,耦接至該延遲控制模塊的該多個延遲級與該仲裁器,用來在該仲裁器允許該第一存儲器存取要求來存取該存儲器的 一第一存取運作時間之后產(chǎn)生該重置信號。
3. 如權利要求2所述的存儲器存取控制裝置,其中每一存儲器存取要 求控制單元包含有一觸發(fā)器,具有用來接收該重置信號的一重置端,用來接收該第二存 儲器存取事件的一時鐘端,用來接收一存儲器運作狀態(tài)信號的一輸入端, 以及用來依據(jù)該時鐘端的觸發(fā)來輸出該存儲器運作狀態(tài)信號的 一輸出端;一多工器,具有一第一輸入端、 一第二輸入端、 一輸出端與一控制端, 該多工器的該第一輸入端耦接至該觸發(fā)器的該輸出端,該多工器依據(jù)該控 制端所接收的一存儲器存取準許信號來選擇性地將該第一輸入端所接收的 一第一輸入信號或該第二輸入端所接收的一第二輸入信號輸出至該多工器 的該輸出端以作為該存儲器運作狀態(tài)信號,該多工器的該輸出端耦接于該 觸發(fā)器的該輸入端;一第一邏輯門,具有一第一輸入端、 一第二輸入端與一輸出端,該第 一邏輯門的該第一輸入端用來接收一存儲器存取要求信號,該第一邏輯門 的該第二輸入端耦接于該觸發(fā)器的該輸出端,該第 一邏輯門依據(jù)該存儲器存取要求信號與該存儲器運作狀態(tài)信號進行一第一邏輯運算來產(chǎn)生下一延 遲級的存儲器存取要求控制單元的存儲器存取要求信號;以及一第二邏輯門,具有一第一輸入端、 一第二輸入端與一輸出端,該第 二邏輯門的該第 一輸入端耦接于該多工器的該控制端并用來接收該存儲器 存取準許信號,該第二邏輯門的該第二輸入端耦接于該觸發(fā)器的該輸出端, 該第二邏輯門依據(jù)該存儲器存取準許信號與該觸發(fā)器所輸出的該存儲器運 作狀態(tài)信號進行一第二邏輯運算來產(chǎn)生下一延遲級的存儲器存取要求控制 單元的存儲器存取準許信號。
4. 如權利要求3所述的存儲器存取控制裝置,其中該第二輸入信號為 一預設邏輯值。
5. 如權利要求3所述的存儲器存取控制裝置,其中該第一、第二邏輯 門均為OR邏輯門。
6. 如權利要求2所述的存儲器存取控制裝置,其中該多個延遲級的一 延遲總量小于該第 一存取運作時間。
7. 如權利要求2所述的存儲器存取控制裝置,其中該第二存儲器存取要求產(chǎn)生模塊包含有一控制模塊,用來于接收到該第三存儲器存取事件時產(chǎn)生該第三存儲器存取要求;以及一第二脈沖寬度控制單元,耦接至該控制模塊與該仲裁器,用來根據(jù)該仲裁器所產(chǎn)生的對應該第三存儲器存取要求的一第三存儲器存取準許信 號產(chǎn)生另一重置信號至該控制模塊來清除該第三存儲器存取要求,其中該 第 一、第二存儲器存取事件的時間間隔與該多個延遲級的 一延遲總量的總和大于該第一、第二存取運作時間的總和。
8. 如權利要求2所述的存儲器存取控制裝置,其中該第一、第二存儲 器存取事件的時間間隔大于該第 一存取運作時間與 一預設余裕時間的總 和。
9. 如權利要求1所述的存儲器存取控制裝置,其中該存儲器是一單端 口存儲器。
10. —種存儲器存取控制方法,包含有在一存儲器正依據(jù)對應一第一存儲器存取事件的一第一存儲器存取要 求而進行一第一數(shù)據(jù)存取操作中接收到一第二存儲器存取事件時,在一延 遲時間之后輸出對應該第二存儲器存取事件的 一第二存儲器存取要求至該 存儲器以進行一第二數(shù)據(jù)存取操作;依據(jù)一第三存儲器存取事件產(chǎn)生一第三存儲器存取要求至該存儲器以 進行一第三數(shù)據(jù)存取操作,其中該第 一及第二數(shù)據(jù)存取操作為存儲器讀取 與存儲器寫入中的一個,以及該第三數(shù)據(jù)存取操作為存儲器讀取與存儲器 寫入中的另一個;以及仲裁對應存儲器讀取的一存儲器存取要求與對應存儲器寫入的另一存 儲器存取要求以依序產(chǎn)生相對應的存取準許信號至該存儲器。
全文摘要
存儲器存取控制裝置及其相關控制方法。本發(fā)明公開一種存儲器存取控制裝置,該存儲器存取控制裝置包含有多個存儲器存取要求產(chǎn)生模塊以及一仲裁器。當該多個存儲器存取要求產(chǎn)生模塊中的一存儲器存取要求產(chǎn)生模塊在一存儲器正依據(jù)對應一第一存儲器存取事件的一第一存儲器存取要求而進行一第一數(shù)據(jù)存取操作中接收到一第二存儲器存取事件時,在一延遲時間后輸出對應該第二存儲器存取事件的一第二存儲器存取要求至該存儲器。該仲裁器仲裁該多個存儲器存取要求產(chǎn)生模塊輸出的存儲器存取要求。
文檔編號G11C7/10GK101667448SQ200810213779
公開日2010年3月10日 申請日期2008年9月4日 優(yōu)先權日2008年9月4日
發(fā)明者林良達 申請人:奕力科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宕昌县| 扬州市| 高邑县| 海南省| 朝阳县| 嘉定区| 徐州市| 栾川县| 会宁县| 呈贡县| 开化县| 雷山县| 黑龙江省| 庆阳市| 买车| 岫岩| 桦甸市| 隆化县| 平顺县| 疏勒县| 宜州市| 高安市| 股票| 双鸭山市| 新乡市| 广宁县| 托克托县| 遂宁市| 江孜县| 察哈| 汉源县| 玉龙| 潞城市| 琼海市| 当涂县| 龙南县| 扶余县| 莆田市| 开远市| 安达市| 桂林市|