TWI762852B - 記憶體裝置及其操作方法 - Google Patents
記憶體裝置及其操作方法 Download PDFInfo
- Publication number
- TWI762852B TWI762852B TW109100232A TW109100232A TWI762852B TW I762852 B TWI762852 B TW I762852B TW 109100232 A TW109100232 A TW 109100232A TW 109100232 A TW109100232 A TW 109100232A TW I762852 B TWI762852 B TW I762852B
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- memory
- address
- actual
- processing circuit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Static Random-Access Memory (AREA)
Abstract
一種記憶體裝置,包含:第一及第二記憶體及存取電路。處理電路的參照位址交錯對應於第一及第二記憶體之實際位址。存取電路配置以:自處理電路接收對應於參照讀取位址的讀取指令,以轉換參照讀取位址為第一及第二記憶體之實際讀取位址;同時依照實際讀取位址及下一實際讀取位址自第一及第二記憶體之第一者讀取第一筆讀取資料以及第二者預先讀取第二筆讀取資料;回應第一筆讀取資料至處理電路;以及在由處理電路接收對應於下一參照讀取位址的下一讀取指令且下一參照讀取位址對應於下一實際讀取位址時,回應第二筆讀取資料至處理電路。
Description
本發明係有關於一種記憶體技術,且特別是有關於一種記憶體裝置及其操作方法。
記憶體在進行存取操作時,往往需要多個時脈週期進行。處理器為了降低等待的時間並維持更高的運作頻率,通常會加入快取記憶體彌補速度差異。然而,這樣的方式卻會大幅增加處理器的面積與成本。
另一個彌補的方式,是加大記憶體的頻寬,一次讀取多個字組的資料。然而,當讀取的指令遇到位址的分支時,如果並未對齊所讀取的多個字組,則目標位址的讀取時間以及下一個連續指令的擷取都需要額外的週期,降低處理器存取的效能。並且,在寫入上,往往需要增加額外的寫入暫存器將多個字組合併以一次寫入,而提高硬體的成本。
因此,如何設計一個新的記憶體裝置及其操作方法,以解決上述的缺失,乃為此一業界亟待解決的問題。
發明內容旨在提供本揭示內容的簡化摘要,以使閱讀者對本揭示內容具備基本的理解。此發明內容並非本揭示內容的完整概述,且其用意並非在指出本發明實施例的重要/關鍵元件或界定本發明的範圍。
本發明內容之一目的是在提供一種記憶體裝置及其操作方法,藉以改善先前技術的問題。
為達上述目的,本發明內容之一技術態樣係關於一種記憶體裝置,包含:第一記憶體、第二記憶體以及存取電路。處理電路的複數參照位址交錯對應於第一記憶體以及第二記憶體之複數實際位址。存取電路配置以:自處理電路接收對應於參照讀取位址的讀取指令,以轉換參照讀取位址為第一記憶體以及第二記憶體之實際讀取位址;同時依照實際讀取位址以及下一實際讀取位址自第一記憶體以及第二記憶體之第一者讀取第一筆讀取資料以及第二者預先讀取第二筆讀取資料;回應第一筆讀取資料至處理電路;以及在由處理電路接收對應於下一參照讀取位址的下一讀取指令且下一參照讀取位址對應於下一實際讀取位址時,回應第二筆讀取資料至處理電路。
本發明內容之另一技術態樣係關於一種記憶體裝置操作方法,包含:使存取電路自處理電路接收對應於參照讀取位址的讀取指令,以轉換參照讀取位址為第一記憶體以及第二記憶體之實際讀取位址,其中處理電路的複數參照位址交錯對應於第一記憶體以及第二記憶體之複數實際位址;使存取
電路同時依照實際讀取位址以及下一實際讀取位址自第一記憶體以及第二記憶體之第一者讀取第一筆讀取資料以及第二者預先讀取第二筆讀取資料;使存取電路回應第一筆讀取資料至處理電路;以及使存取電路在由處理電路接收對應於下一參照讀取位址的下一讀取指令且下一參照讀取位址對應於下一實際讀取位址時,回應第二筆讀取資料至處理電路。
本發明的記憶體裝置及其操作方法透過兩個記憶體的設置,以平行讀取以及指令預先讀取的方式消除多週期存取造成的讀取延遲。並且,兩個記憶體交錯而可分別控制的位址配置,使得分支指令不受到位址位元對齊的限制,減少分支指令造成的暫停週期。
1‧‧‧電腦系統
100‧‧‧處理電路
110‧‧‧記憶體裝置
120‧‧‧匯流排
600‧‧‧記憶體裝置操作方法
601-608‧‧‧步驟
700‧‧‧記憶體裝置操作方法
701-703‧‧‧步驟
BUF1‧‧‧第一讀取暫存器
BUF2‧‧‧第二讀取暫存器
CLK‧‧‧時脈訊號
CPUADD‧‧‧參照讀取位址
CPUDA‧‧‧資料
FET‧‧‧存取電路
RC、RC1-RC6‧‧‧讀取指令
RD、RD1-RD8‧‧‧讀取資料
SRAM1‧‧‧第一記憶體
SRAM2‧‧‧第二記憶體
T0-T7‧‧‧單位時脈
WC、WC1-WC4‧‧‧寫入指令
WD、WD1-WD4‧‧‧寫入資料
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:
第1圖為本發明一實施例中,一種電腦系統的方塊圖;
第2圖為本發明一實施例中,處理電路的參照位址與第一記憶體以及第二記憶體之實際位址的部分對照表;
第3圖為本發明一實施例中,記憶體裝置在進行讀取操作的時序圖;
第4圖為本發明另一實施例中,記憶體裝置在進行讀取操作的時序圖;
第5圖為本發明一實施例中,記憶體裝置在進行寫入操作的時序圖;
第6圖為本發明一實施例中,一種記憶體裝置操作方法的流程圖;以及
第7圖為本發明一實施例中一種記憶體裝置操作方法的流程圖。
請參照第1圖。第1圖為本發明一實施例中,一種電腦系統1的方塊圖。電腦系統1包含處理電路100以及記憶體裝置110。
處理電路100可藉由發送存取指令,例如但不限於讀取指令RC以及寫入指令WC存取記憶體裝置110。舉例而言,當處理電路100發送讀取指令RC時,將可依照對應的位址自記憶體裝置110讀出讀取資料RD。而當處理電路100發送寫入指令WC時,將可依照對應的位址把寫入資料WD寫入至記憶體裝置110。
於一實施例中,上述處理電路100與記憶體裝置110間指令與資料的傳輸,可經由兩者之間的匯流排120進行。
需注意的是,電腦系統1實際上可包含其他可與處理電路100與記憶體裝置110互動的元件,並不為第1圖所繪示的元件數目所限。
記憶體裝置110包含:第一記憶體SRAM1、第二記憶體SRAM2以及存取電路FET。
於一實施例中,第一記憶體SRAM1以及第二記憶體SRAM2均為靜態隨機存取記憶體。然而,本發明不以此
為限。
存取電路FET配置以根據處理電路100發送的讀取指令RC以及寫入指令WC存取第一記憶體SRAM1以及第二記憶體SRAM2。
在記憶體裝置110進行讀取操作時,存取電路FET接收處理電路100的讀取指令RC,將讀取指令RC所對應的參照讀取位址轉換為第一記憶體SRAM1以及第二記憶體SRAM2的實際讀取位址,以自第一記憶體SRAM1以及第二記憶體SRAM2讀取對應的資料。其中,記憶體裝置110更包含第一讀取暫存器BUF1以及第二讀取暫存器BUF2,分別暫存存取電路FET所讀取的資料,再由存取電路FET將資料回應至處理電路100。
另一方面,記憶體裝置110不包含寫入暫存器。在記憶體裝置110進行寫入操作時,存取電路FET接收處理電路100的寫入指令WC,將寫入指令WC所對應的參照寫入位址轉換為第一記憶體SRAM1以及第二記憶體SRAM2的實際寫入位址,在不需暫存的情形下把對應的資料寫入至第一記憶體SRAM1以及第二記憶體SRAM2。
以下將藉由更詳細的範例,對於記憶體裝置1的結構與操作進行進一步的說明。
處理電路100的複數參照位址交錯對應於第一記憶體SRAM1以及第二記憶體SRAM2之複數實際位址。更詳細地說,於一實施例中,第M個第一記憶體的實際位址對應於第2M-1個處理電路的參照位址,第M個第二記憶體的實際位址
對應於第2M個處理電路的參照位址,且M為大於或等於1的正整數。
請參照第2圖。第2圖為本發明一實施例中,處理電路100的參照位址與第一記憶體SRAM1以及第二記憶體SRAM2之實際位址的部分對照表。
如第2圖所示,第一記憶體SRAM1從第1個到第4個的實際位址以16進位表示,分別為連續的0x0、0x1、0x2、0x3。第二記憶體SRAM2從第1個到第4個的實際位址以16進位表示,分別為連續的0x0、0x1、0x2、0x3。各個第一記憶體SRAM1以及第二記憶體SRAM2的實際位址對應一個字組(word)長度,亦即32位元的資料。
另一方面,處理電路100從第1個到第8個參照位址以16進位表示,分別為連續的0x0、0x4、0x8、0xC、0x10、0x14、0x18、0x1C。
因此,第一記憶體SRAM1的第1個到第4個的實際位址,經過上述運算後,分別對應處理電路100的第1、3、5、7個參照位址。而第二記憶體SRAM2的第1個到第4個的實際位址,經過上述運算後,分別對應處理電路100的第2、4、6、8個參照位址。
需注意的是,第2圖繪示的,僅為一部分的對照表。處理電路100與第一記憶體SRAM1以及第二記憶體SRAM2實際上可包含更多相對應的參照位址以及實際位址。
以讀取操作為例,存取電路FET自處理電路100接收到讀取指令RC時,將轉換其對應的參照讀取位址為第一
記憶體SRAM1以及第二記憶體SRAM2的實際讀取位址。
請參照第3圖。第3圖為本發明一實施例中,記憶體裝置110在進行讀取操作的時序圖。
在第3圖中,是以CPUADD表示處理電路100的讀取指令RC所對應的參照讀取位址,以CPUDA表示存取電路FET所回應處理電路100的資料,以SRAM1表示第一記憶體SRAM1被讀取的資料,以SRAM2表示第二記憶體SRAM2被讀取的資料,以BUF1表示第一讀取暫存器BUF1所暫存的資料,並以BUF2表示第二讀取暫存器BUF2所暫存的資料。
如第3圖所示,處理電路100、第一記憶體SRAM1以及第二記憶體SRAM2間的訊號與資料傳輸均依照時脈訊號CLK運作。其中,處理電路100的讀取指令RC是以至少一單位時脈進行傳送。而第一記憶體SRAM1以及第二記憶體SRAM2的資料均是以兩單位時脈進行讀取。
在單位時脈T0時,存取電路FET透過例如,但不限於匯流排120自處理電路100接收到第一個讀取指令RC1,且讀取指令RC1對應參照讀取位址0x0。
存取電路FET隨之同時依照實際讀取位址(第一記憶體SRAM1的實際位址0x0,並對應處理電路100的參照讀取位址0x0)以及下一實際讀取位址(第二記憶體SRAM2的實際位址0x0,並對應處理電路100的參照讀取位址0x4),自第一記憶體SRAM1讀取第一筆讀取資料RD1以及自第二記憶體SRAM2預先讀取第二筆讀取資料RD2。
在單位時脈T1時,由於第一記憶體SRAM1以及
第二記憶體SRAM2需要兩個單位時脈來讀取,因此處理電路100暫停。
在單位時脈T2時,第一筆讀取資料RD1以及第二筆讀取資料RD2已暫存於第一讀取暫存器BUF1以及第二讀取暫存器BUF2中。此時,存取電路FET將以一個單位時脈回應第一筆讀取資料RD1至處理電路100。
需注意的是,在實作上,由於第一記憶體SRAM1需要兩個單位時脈來讀取,因此在單位時脈T2時,第一筆讀取資料RD1亦可選擇性地由存取電路FET直接回應至處理電路100中,而不需經過第一讀取暫存器BUF1的暫存。然而本發明並不限於此。
同時,存取電路FET自處理電路100接收到下一讀取指令RC2。於本實施例中,讀取指令RC2所對應的下一參照讀取位址為0x4。
存取電路FET將判斷此下一參照讀取位址是對應於前述的下一實際讀取位址,以依照下二實際讀取位址(第一記憶體SRAM1的實際位址0x1,並對應處理電路100的參照讀取位址0x8)以及下三實際讀取位址(第二記憶體SRAM2的實際位址0x1,並對應處理電路100的參照讀取位址0xC),自第一記憶體SRAM1預先讀取第三筆讀取資料RD3以及自第二記憶體SRAM2預先讀取第四筆讀取資料RD4。
在單位時脈T3時,由於存取電路FET在單位時脈T2接收到的讀取指令RC2所對應的參照讀取位址是0x4,符合存取電路FET自第二記憶體SRAM2預先讀取的第二筆讀取資
料RD2,因此存取電路FET將由第二讀取暫存器BUF2回應第二筆讀取資料RD2至處理電路100。
同時,存取電路FET自處理電路100接收到下一讀取指令RC3。於本實施例中,讀取指令RC3所對應的參照讀取位址為0x8。存取電路FET將判斷此參照讀取位址是對應於前述預先讀取的第三筆讀取資料RD3而不進行其他的動作。
在單位時脈T4時,由於存取電路FET在單位時脈T3接收到的讀取指令RC3所對應的參照讀取位址是0x8,符合存取電路FET自第一記憶體SRAM1預先讀取的第三筆讀取資料RD3,因此存取電路FET將由第一讀取暫存器BUF1回應第三筆讀取資料RD3至處理電路100。
類似地,如前所述,在實作上,由於第一記憶體SRAM1需要兩個單位時脈來讀取,因此在單位時脈T4時,第三筆讀取資料RD3亦可選擇性地由存取電路FET直接回應至處理電路100中,而不需經過第一讀取暫存器BUF1的暫存。然而本發明並不限於此。
同時,存取電路FET自處理電路100接收到下一讀取指令RC4。於本實施例中,讀取指令RC4所對應的參照讀取位址為0xC。存取電路FET將判斷此參照讀取位址是對應於前述預先讀取的第四筆讀取資料RD4,並依照接下去的實際讀取位址(第一記憶體SRAM1的實際位址0x2,並對應處理電路100的參照讀取位址0x10)以及再下一個實際讀取位址(第二記憶體SRAM2的實際位址0x2,並對應處理電路100的參照讀取位址0x14),自第一記憶體SRAM1以及第二記憶體
SRAM2預先讀取兩筆讀取資料。
因此,當存取電路FET自處理電路100接收到的多個讀取指令RC均對應連續的參照讀取位址時,將可無間斷地連續讀取資料,直到單位時脈T5。
在單位時脈T6時,由於處理電路100的閒置,存取電路FET並未自處理電路100接收到讀取指令RC,但仍持續預先讀取兩筆讀取資料。因此,當存取電路FET在單位時脈T7接收到的讀取指令RC的參照讀取位址依然與先前的讀取位址連續時,將可受惠於預先讀取機制,而不會有多餘的暫停產生。
請參照第4圖。第4圖為本發明另一實施例中,記憶體裝置110在進行讀取操作的時序圖。第4圖的各標號與第3圖相同,因此不在此贅述。進一步地,第4圖中的單位時脈T0-T3的操作與第3圖中的單位時脈T0-T3相同,因此不再贅述。
於本實施例中,在單位時脈T4時,存取電路FET接收到的讀取指令RC4所對應的參照讀取位址是0x84,而非0xC。這樣的參照讀取位址與先前的讀取指令RC3對應的參照讀取位址0x8間並不連續。因此,讀取指令RC4是跳脫原本對應連續位址讀取的分支指令。
雖然第一讀取暫存器BUF1以及第二讀取暫存器BUF2暫存了預先讀取且分別對應於參照讀取位址0x8與0xC的第三筆讀取資料RD3以及第四筆讀取資料RD4,但是存取電路FET僅能在單位時脈T4時,依據讀取指令RC3將第三筆讀取資料RD3回應至處理電路100,而無法在接下來的單位時脈
T5中根據讀取指令RC3將第四筆讀取資料RD4回應至處理電路100。
因此,在單位時脈T4時,存取電路FET將另行根據讀取指令RC4讀取第五筆讀取資料RD5(對應處理電路100的參照讀取位址0x84),並預先讀取第六筆讀取資料RD6(對應處理電路100的參照讀取位址0x88)。以例如第2圖所繪示的對照表中的對應關係來說,第五筆讀取資料RD5將自第二記憶體SRAM2讀取,而第六筆讀取資料RD6將自第一記憶體SRAM1讀取。
由於讀取資料需要兩單位時脈,在單位時脈T5時,處理電路100將暫停。
在單位時脈T6時,存取電路FET自處理電路100接收到讀取指令RC5,且讀取指令RC5對應的參照讀取位址為0x88,與預先讀取的第六筆讀取資料RD6相對應。
因此,存取電路FET除了將第五筆讀取資料RD5回應至處理電路100外,也自第二記憶體SRAM2以及第一記憶體SRAM1預先讀取分別對應於參照讀取位址0x8C以及0x90的第七筆讀取資料RD7以及第八筆讀取資料RD8。後續各單位時脈的操作與讀取指令的參照讀取位址彼此連續的狀況相同,因此不再贅述。
在部份技術中,雖然單一記憶體的存取寬度增加至一次讀取兩個字組的資料量,但是欲讀取的目標位址必須對齊64位元。當記憶體讀取的過程中遇到分支指令,且分枝的目標位址不對齊64位元時,則目標位址的讀取時間以及目標
位址的下一個連續指令擷取時間均需要兩個單位時脈,並且必須使處理電路暫停存取多個週期。
本發明的記憶體裝置110透過兩個記憶體的設置,以平行讀取以及指令預先讀取的方式消除多週期存取造成的讀取延遲。並且,兩個記憶體交錯而可分別控制的位址配置,使得分支指令不受到64位元對齊的限制,減少分支指令造成的暫停週期。
另一方面,以寫入操作為例,存取電路FET自處理電路100接收到對應於一個參照寫入位址的讀取指令WC時,將轉換參照寫入位址為第一記憶體SRAM1以及第二記憶體SRAM2的實際寫入位址,以確定實際要寫入資料的位址。
請參照第5圖。第5圖為本發明一實施例中,記憶體裝置110在進行寫入操作的時序圖。
如第5圖所示,在單位時脈T0-T3間,存取電路FET依序接收到寫入指令WC1-WC4。寫入指令WC1-WC4各以一個單位時脈接收,且寫入指令WC1-WC4分別對應連續的參照寫入位址0x0、0x4、0x8及0xC。
其中,參照寫入位址0x0、0x4、0x8及0xC分別對應於第一記憶體SRAM1的實際位址0x0、第二記憶體SRAM2的實際位址0x0、第一記憶體SRAM1的實際位址0x1以及第二記憶體SRAM2的實際位址0x1。
由於第一記憶體SRAM1以及第二記憶體SRAM2需要兩個單位時脈來寫入,且第一記憶體SRAM1以及第二記憶體SRAM2可分別獨立存取,因此存取電路FET依序
在單位時脈T0-T3將對應寫入指令WC1-WC4的寫入資料WD1-WD4寫入至第一記憶體SRAM1以及第二記憶體SRAM2的上述位址中。類似地,單位時脈T4以後亦可根據相同的寫入方式操作,因此不再贅述。
因此,存取電路FET在每個單位時脈中都可以寫入一筆資料,不會有任何暫停狀況,而不需要設置寫入暫存器。
第6圖為本發明一實施例中,一種記憶體裝置操作方法600的流程圖。
記憶體裝置操作方法600可應用於如第1圖所示的記憶體裝置110中,且記憶體裝置操作方法600是用以執行存取電路FET對第一記憶體SRAM1以及第二記憶體SRAM2的讀取操作。記憶體裝置操作方法600包含下列步驟(應瞭解到,在本實施方式中所提及的步驟,除特別敘明其順序者外,均可依實際需要調整其前後順序,甚至可同時或部分同時執行)。
於步驟601,使存取電路FET自處理電路100接收對應於參照讀取位址的讀取指令RC。
於步驟602,使存取電路FET轉換參照讀取位址為第一記憶體SRAM1以及第二記憶體SRAM2之實際讀取位址,其中處理電路100的複數參照位址交錯對應於第一記憶體SRAM1以及第二記憶體SRAM2之複數實際位址。
於步驟603,使存取電路FET同時依照實際讀取位址以及下一實際讀取位址自第一記憶體SRAM1以及第二記憶體SRAM2之第一者讀取第一筆讀取資料RD1以及第二者預
先讀取第二筆讀取資料RD2。
於步驟604,使存取電路FET回應第一筆讀取資料RD1至處理電路100。
於步驟605,使存取電路FET接收對應於下一參照讀取位址的下一讀取指令RC且判斷下一參照讀取位址是否對應於下一實際讀取位址。
於步驟606,當下一讀取指令RC的下一參照讀取位址對應於下一實際讀取位址時,使存取電路FET回應預先讀取的讀取資料,例如第二筆讀取資料RD2,至處理電路100。
於步驟607,使存取電路FET預先讀取下兩筆讀取資料,並分別儲存於第一讀取暫存器BUF1以及第二讀取暫存器BUF2中。
更詳細的說,存取電路FET依照下二實際讀取位址以及下三實際讀取位址,自第一記憶體SRAM1預先讀取第三筆讀取資料RD3以及自第二記憶體SRAM2預先讀取第四筆讀取資料RD4,並分別儲存於第一讀取暫存器BUF1以及第二讀取暫存器BUF2中。
在步驟607後,流程將回至步驟605繼續對下一個接收到的讀取指令進行判斷。
當步驟605中存取電路FET判斷下一參照讀取位址並未對應於下一實際讀取位址時,於步驟608,使存取電路FET判斷處理電路100是否並未發出讀取指令。
當存取電路FET判斷處理電路100並未發出讀取指令時,流程將繼續進行至步驟607,以繼續進行預先讀取。
而當存取電路FET判斷處理電路100有發出讀取指令時,流程將回至步驟602,以根據新的讀取位址對第一記憶體SRAM1以及第二記憶體SRAM2進行讀取。
第7圖為本發明一實施例中,一種記憶體裝置操作方法700的流程圖。
記憶體裝置操作方法700可應用於如第1圖所示的記憶體裝置110中,且記憶體裝置操作方法700是用以執行存取電路FET對第一記憶體SRAM1以及第二記憶體SRAM2的寫入操作。記憶體裝置操作方法700包含下列步驟(應瞭解到,在本實施方式中所提及的步驟,除特別敘明其順序者外,均可依實際需要調整其前後順序,甚至可同時或部分同時執行)。
於步驟701,使存取電路FET自處理電路100接收對應於參照讀取位址的寫入指令WC。
於步驟702,使存取電路FET轉換參照寫入位址為第一記憶體SRAM1以及第二記憶體SRAM2之實際寫入位址。
於步驟703,使存取電路FET根據寫入指令WC將寫入資料WD寫入實際寫入位址中。
雖然上文實施方式中揭露了本發明的具體實施例,然其並非用以限定本發明,本發明所屬技術領域中具有通常知識者,在不悖離本發明之原理與精神的情形下,當可對其進行各種更動與修飾,因此本發明之保護範圍當以附隨申請專利範圍所界定者為準。
1‧‧‧電腦系統
100‧‧‧處理電路
110‧‧‧記憶體裝置
120‧‧‧匯流排
BUF1‧‧‧第一讀取暫存器
BUF2‧‧‧第二讀取暫存器
FET‧‧‧存取電路
RC‧‧‧讀取指令
RD‧‧‧讀取資料
SRAM1‧‧‧第一記憶體
SRAM2‧‧‧第二記憶體
WC‧‧‧寫入指令
WD‧‧‧寫入資料
Claims (10)
- 一種記憶體裝置,包含:一第一記憶體以及一第二記憶體,其中一處理電路的複數參照位址交錯對應於該第一記憶體以及該第二記憶體之複數實際位址;以及一存取電路,配置以:自該處理電路接收對應於一參照讀取位址的一讀取指令,以轉換該參照讀取位址為該第一記憶體以及該第二記憶體之一實際讀取位址;同時依照該實際讀取位址以及鄰接於該實際讀取位址後一下一實際讀取位址自該第一記憶體以及該第二記憶體之一第一者讀取一第一筆讀取資料以及一第二者預先讀取一第二筆讀取資料;回應該第一筆讀取資料至該處理電路;以及在由該處理電路接收對應於一下一參照讀取位址的一下一讀取指令且該下一參照讀取位址對應於該下一實際讀取位址時,回應該第二筆讀取資料至該處理電路。
- 如請求項1所述之記憶體裝置,其中當該下一參照讀取位址對應於該下一實際讀取位址時,該存取電路同時依照一下二實際讀取位址以及一下三實際讀取位址自該第一記憶體以及該第二記憶體之該第一者預先讀取一第三筆讀取資料以及該第二者預先讀取一第四筆讀取資料;以及當該下一參照讀取位址不對應於該下一實際讀取位址 時,該存取電路依據該下一參照讀取位址轉換所對應的一記憶體讀取位址以及鄰接於該記憶體讀取位址後之一下一記憶體讀取位址自該第一記憶體以及該第二記憶體之該第一者讀取一第五筆讀取資料以及該第二者預先讀取一第六筆讀取資料。
- 如請求項1所述之記憶體裝置,其中該參照讀取位址的該讀取指令以及該下一參照讀取位址的該下一讀取指令是自該處理電路以至少一單位時脈接收,該第一筆讀取資料以及該第二筆讀取資料是自該第一記憶體以及該第二記憶體以兩倍的該單位時脈讀取,且該第一筆讀取資料以及該第二筆讀取資料是以該單位時脈由該處理電路讀取。
- 如請求項1所述之記憶體裝置,更包含一第一讀取暫存器以及一第二讀取暫存器,分別配置以暫存該第一筆讀取資料以及該第二筆讀取資料。
- 如請求項1所述之記憶體裝置,其中該第一記憶體以及該第二記憶體的該等實際位址對應一個字組(word)長度的資料。
- 如請求項1所述之記憶體裝置,其中第M個該第一記憶體的該等實際位址對應於第2M-1個該處理電路的該等參照位址,第M個該第二記憶體的該等實際位址對 應於第2M個該處理電路的該等參照位址,且M為大於或等於1的正整數。
- 如請求項1所述之記憶體裝置,其中該存取電路更配置以自該處理電路接收對應於一參照寫入位址的一寫入指令,以轉換該參照寫入位址為該第一記憶體以及該第二記憶體的一實際寫入位址,進一步根據該寫入指令將一筆寫入資料寫入該實際寫入位址中。
- 如請求項7所述之記憶體裝置,其中該寫入指令是自該處理電路以至少一單位時脈接收,該筆寫入資料是以兩倍的該單位時脈寫入。
- 如請求項1所述之記憶體裝置,其中該記憶體裝置不包含寫入暫存器。
- 一種記憶體裝置操作方法,包含:使一存取電路自一處理電路接收對應於一參照讀取位址的一讀取指令,以轉換該參照讀取位址為一第一記憶體以及一第二記憶體之一實際讀取位址,其中該處理電路的複數參照位址交錯對應於該第一記憶體以及該第二記憶體之複數實際位址;使該存取電路同時依照該實際讀取位址以及一下一實際讀取位址自該第一記憶體以及該第二記憶體之一第一者讀取 一第一筆讀取資料以及一第二者預先讀取一第二筆讀取資料;使該存取電路回應該第一筆讀取資料至該處理電路;以及使該存取電路在由該處理電路接收對應於一下一參照讀取位址的一下一讀取指令且該下一參照讀取位址對應於該下一實際讀取位址時,回應該第二筆讀取資料至該處理電路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109100232A TWI762852B (zh) | 2020-01-03 | 2020-01-03 | 記憶體裝置及其操作方法 |
US17/136,236 US11762768B2 (en) | 2020-01-03 | 2020-12-29 | Accessing circuit of memory device and operation method about reading data from memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109100232A TWI762852B (zh) | 2020-01-03 | 2020-01-03 | 記憶體裝置及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202127257A TW202127257A (zh) | 2021-07-16 |
TWI762852B true TWI762852B (zh) | 2022-05-01 |
Family
ID=76655231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109100232A TWI762852B (zh) | 2020-01-03 | 2020-01-03 | 記憶體裝置及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11762768B2 (zh) |
TW (1) | TWI762852B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010043507A1 (en) * | 1998-05-22 | 2001-11-22 | Mitsubishi Denki Kabushiki Kaisha | Synchronous semiconductor memory device capable of high speed reading and writing |
US20100281232A1 (en) * | 2009-05-01 | 2010-11-04 | Satoshi Takagi | Memory controlling device and memory controlling method |
US8307190B2 (en) * | 2006-12-25 | 2012-11-06 | Panasonic Corporation | Memory control device, memory device, and memory control method |
US8687456B2 (en) * | 2000-12-20 | 2014-04-01 | Fujitsu Semiconductor Limited | Multi-port memory based on DRAM core |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621320A (en) * | 1983-10-24 | 1986-11-04 | Sperry Corporation | Multi-user read-ahead memory |
US4918587A (en) * | 1987-12-11 | 1990-04-17 | Ncr Corporation | Prefetch circuit for a computer memory subject to consecutive addressing |
US4888679A (en) * | 1988-01-11 | 1989-12-19 | Digital Equipment Corporation | Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements |
US7889544B2 (en) * | 2004-04-05 | 2011-02-15 | Super Talent Electronics, Inc. | High-speed controller for phase-change memory peripheral device |
US7283418B2 (en) * | 2005-07-26 | 2007-10-16 | Micron Technology, Inc. | Memory device and method having multiple address, data and command buses |
US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
JP2008257508A (ja) * | 2007-04-05 | 2008-10-23 | Nec Electronics Corp | キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ |
MY174440A (en) * | 2011-10-03 | 2020-04-18 | Intel Corp | System and method for performance optimization in usb operations |
US9164676B2 (en) * | 2011-11-30 | 2015-10-20 | International Business Machines Corporation | Storing multi-stream non-linear access patterns in a flash based file-system |
JP2013182635A (ja) * | 2012-02-29 | 2013-09-12 | Elpida Memory Inc | 半導体装置及びこれを備える情報処理システム並びに半導体装置の制御方法 |
-
2020
- 2020-01-03 TW TW109100232A patent/TWI762852B/zh active
- 2020-12-29 US US17/136,236 patent/US11762768B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010043507A1 (en) * | 1998-05-22 | 2001-11-22 | Mitsubishi Denki Kabushiki Kaisha | Synchronous semiconductor memory device capable of high speed reading and writing |
US8687456B2 (en) * | 2000-12-20 | 2014-04-01 | Fujitsu Semiconductor Limited | Multi-port memory based on DRAM core |
US8307190B2 (en) * | 2006-12-25 | 2012-11-06 | Panasonic Corporation | Memory control device, memory device, and memory control method |
US20100281232A1 (en) * | 2009-05-01 | 2010-11-04 | Satoshi Takagi | Memory controlling device and memory controlling method |
Also Published As
Publication number | Publication date |
---|---|
US11762768B2 (en) | 2023-09-19 |
TW202127257A (zh) | 2021-07-16 |
US20210209018A1 (en) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367494A (en) | Randomly accessible memory having time overlapping memory accesses | |
US5493666A (en) | Memory architecture using page mode writes and single level write buffering | |
KR970010368B1 (ko) | 캐시라인 리프레이스장치 및 방법 | |
JPH11203860A (ja) | 半導体記憶装置 | |
JP3334589B2 (ja) | 信号遅延装置及び半導体記憶装置 | |
KR100194571B1 (ko) | 반도체 메모리 및 그 기입 방법 | |
JPH05342084A (ja) | データ記憶装置及びデータ記憶方法 | |
US6360307B1 (en) | Circuit architecture and method of writing data to a memory | |
JP4576391B2 (ja) | 不揮発性記憶ステージを備えたfifoメモリ装置 | |
TWI762852B (zh) | 記憶體裝置及其操作方法 | |
US6148380A (en) | Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus | |
JP4097883B2 (ja) | データ転送装置および方法 | |
TW440761B (en) | The cache device and method | |
CN113110878A (zh) | 存储器装置及其操作方法 | |
JP2003271445A (ja) | メモリ制御装置及び方法 | |
JP5132074B2 (ja) | メモリアクセス装置 | |
US7054988B2 (en) | Bus interface for processor | |
JP2003030129A (ja) | データバッファ | |
JP3425421B2 (ja) | マルチプロセッサシステム | |
US20070198754A1 (en) | Data transfer buffer control for performance | |
JP2008009763A (ja) | 情報処理装置及びバス制御方法 | |
JP2945525B2 (ja) | プロセッサ、メモリ、およびデータ処理装置 | |
US20080077745A1 (en) | Data processing device | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JP3956698B2 (ja) | メモリ制御装置 |