TWI249672B - Tag array access reduction in a cache memory - Google Patents

Tag array access reduction in a cache memory Download PDF

Info

Publication number
TWI249672B
TWI249672B TW093109682A TW93109682A TWI249672B TW I249672 B TWI249672 B TW I249672B TW 093109682 A TW093109682 A TW 093109682A TW 93109682 A TW93109682 A TW 93109682A TW I249672 B TWI249672 B TW I249672B
Authority
TW
Taiwan
Prior art keywords
memory
cache
data
access request
address
Prior art date
Application number
TW093109682A
Other languages
English (en)
Other versions
TW200421091A (en
Inventor
William V Miller
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200421091A publication Critical patent/TW200421091A/zh
Application granted granted Critical
Publication of TWI249672B publication Critical patent/TWI249672B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Description

1249672
五、發明說明(1) 【發明所屬之技術領域】 本發明係有關於電腦,特別係有關於降低快取記憶 系統(cache memory system)的電力損耗。 〜® 【先前技術】
微處理裔係為一種能夠高速執行指令的裝置。微卢 器必須與一記憶體系統相連結,其中,此記憶體系統二= 量愈大且速度愈快則愈理想;然而,實作上此種設計奋 容易實現。目前一般所採用的方法係使用複合式記憶^ ^ 統(composite memory system),所謂複合式記憶體纪、 係同時具有一容量較小但速度較快之快取記憶體 memory )以及一容量較大但速度較慢之主記憶體(Μ。 memory)元件。例如,上述之快取記憶體的存取時間 係為10奈秒(nanosecond),而上述之主記憶體的存取味約 則大約係為1 0 0奈秒。 寻間 快取記憶體係為一具有相 存系統,其位置可係為整合於 是位於處理器與主記憶體之間 可以讓處理器快速存取的指令 行效能主要係決定於欲執行程 於指令資料之位置與存取時間 大但速度較慢之主記憶體所傳 支援之硬體而置入快取記憶體 對較小容量與較快速度的储 處理裔之内、罪近處理器咬 ;快取記憶體所儲存者係為 或是資料。快取記憶體之執 式在存取所需指令資料時對 的掌控好壞程度。自容量較 來的資料會自動經由可即時 中’其傳輸的單位通常稱為
1249672 五、發明說明(2) π資料線”(界於32與256位元組之間) 讀取操 記憶體 該所需 器;若 主記憶 體儲存 取記憶 之快取 ,並利 作(memory read 内是否存在有所需 資料,則由快取記 快取記憶體内並無 體中獲取該所需資 經常使用之必要資 體能夠以較快速度 記憶體系統係利用 用標籤陣列(tag 當處理器請求執行一記憶體 operation)時,系統會檢查快取 之資料··若快取記憶體内存在有 憶體直接提供該所需資料給處理 存在該所需資料,則由處理器自 料。由上述可知,利用快取記憶 訊可提升處理器執行效率,因快 將必要資訊傳送至處理器。典型 資料陣列(da t a array )儲存資料 array)儲存資料之標籤位址。 一般來說,一主記憶體位址(main㈣的” addl_ess) 一標瓤區(tag field)以及一索引區(index fiei 其中,上述之索引區係』以索引儲存於一快取 ^ 一特定標籤位址(tag address)。當存取快取記憶體 :寺’糸、统會讀取上述之標t位址並與纟記憶體内之標藏區 Ϊ ::較。若此兩者相吻纟,表示快取記憶體中存有所需之 貝料(此種狀況稱為快取命中,cache Mt), 快取記憶體中讀取所需資料並送至處 、/、汍自 合,表示快取記憶體中並無存在所=。;\此兩者不吻 .^,^cache 記憶體中擷取所需資料。若一欲執料、兀件如主 執订权式對於所需存取資 1249672
料之位置具有良好的掌控,則於其執行時大部分的處理器 存取動作可由快取記憶體支援而完成。此時對處理器來說 么平均。己隱體存取時間係接近於快取記憶體之存取時間, 、、、勺為至一個時脈循環;當處理器無法於快取記憶體中拉 到所需貢料時會導致一快取失敗懲罰(cache miss =nal t52二其意義係為系統需花費較長之時間自主記憶體
充二有g線結構之快取系統(pipd “Μ cache)於 列ΐ S =先查閱快取標籤並比較記憶體位址與標籤間 接著’當上述之比較結果係為出現快耳 之快取記憶ϋϋ的資料陣列進行存取。現代電腦系統亏 會造成多i曹二ί仃刼作時若欲循序連續擷取資料則經臂 如,告虛採哭It子取同一快取線(cache Hne)的現象,你 一個:址中〔。取—指令時,後續指令經常剛好係位於1 因此,能減 損耗的快取記憶 之目標。 少標籤陣列讀取動作並據以降低整體電力 體存取方法及其系統,係目前產業所追求
【發明内容】 本發明提供了 # ^ &贤了—種於執行循序連續存取操作時可減少
第8頁 上述之 料陣列 較結果 此省去 陣列搜 對象係 列於上 哥動作 鐵陣歹|J 籤讀取 籤陣列 憶體存 第一記 中之一 於處理 為處理 尋動作 為一第 述之第 五、發明說明(4) 所需之標籤陣列搜 有元件如至少一標 之資料陣列、一標 作;一與上述之標 以於處理一第一記 果,其中, 於上述之資 。上述之比 被使用’據 執行的標籤 請求之存取 循序連續排 的快取t憶體。此快 ¥至少〜與上述之標 控制邏輟始 知M 核組以控制 比較器;以及 求時儲存該比較 5體存取請求之存取 ^ 一快取線上的一第 —第二記憶體存取請 上述之第二記憶體存 ,其中,上述之第二 二資料位址,此第二 一資料位址之旁。 取記憶體具 籤陣列相關 標籤搜尋動 一儲存模組 器的比較結 對象係為位 一資料位址 求時會繼續 取請求所需 記憶體存取 資料位址係 【實施方式】 及A ί t月2 : 了一改良式快取記憶體標籤陣列存取方、、 nut m ",J ^ ;,i ^(aCCGSS -Quence)以‘ 陣列讀取動作。刚lnfQrDlatiC)n)以減少所需之標籤 參閱第一圖所示,其係為一傳統快取記憶體次系統 (亦可稱為”快取記憶體”)1〇〇,此快取記憶體1〇〇具有 一標戴=列1/04與一資料陣列1〇6並係與一處理器1〇2合作 。應注意者係為,圖中雖僅示有一個標籤陣列與資料陣列 1249672 五、發明說明(5) ,然本發明亦能以多重標籤陣列與資料陣列的方式加以施 行。第一圖中其他重要元件包含一快取控制器命中/失敗 控制邏輯模組(cache controller miss/hit contfdl logic module) 108以及一標籤讀取控制邏輯模( read centre! loglc fflodule)11〇 0 車乂 11 2,此比車父器11 2係用以產生一訊號以於系統中出現 陕取中(h 1 t)時加以指出。上述之快取控制器命中/失敗 控制邏輯模組108與標籤讀取控制邏輯模組丨1〇係與上述之 處理器iG2m統記憶體114互相聯繫,據以執行所有 記憶體讀取與寫人操作。其他於第—圖中所示之習知元件 於本說明書中則並不贅述。 t你ί 了圖中,處理器102會對快取記憶體1〇〇發出記憶體 ί:: 此記憶體存取請求中指示有位於-特定位址的 在存取快取記憶體時做為索引之用。當記 ϋΛ 能快取記憶體100後,快取控制器116(見 Π 標籤陣列104並執行一標籤查閱動作 之索引^ ί比較並檢查標籤陣列104中是否儲存有與上述 籤位址。以;ΪΓ止相同的標籤項目(tag entry)/標 :tr^r!rt(cache 且於讀取、ft / Γ日寸脈週期中讀取上述之資料陣列1 0 6, 適當IK;::!料陣列106會提供-資料項心^ 7或疋貝料)並傳回處理器1 〇 2。 第10頁 1249672 五、發明說明(6) 若上述之比較結果發現系統中並無存在相符合者,則 稱此-人存取動作為一快取失敗(c ach e m i ss )。當出現快取 失敗時,上述之快取控制器丨丨6會執行一快取線填入程序 (cacheline fill sequence)(假設此次存取動作所存取之 記憶體位址區域係可快取的)以便於自主記憶體中將所需 資料傳送至資料陣列1 〇 6中。 士#參閱第二圖所示,其係為一快取支援多重背向循序連 、、‘咳取操作(cache supporting multiple back - to-back sequential read access)的時序分析圖表。本實施例中 係假設=使用之快取記憶體大小為一個位元組“衬幻;此 =,本κ施例中係令由記憶體存取請求所起始之一讀取操 ,所實際使用的位址為核心位址(c〇re address),並分別 ^為2〇〇〜2 0 7。如熟習此領域者所可瞭解,為簡化討論 作15 ’本貫施例僅取用一個位元組大小的快取記憶體 2為时确的對象,然而實際上快取記憶體中的每一個資料 項目可係為任意之大小。 、 序連==討論之情況係為:對一快取記憶體進行循 存取#作且母一個讀取請求皆成功找到相對應之快 取命中。所謂循序遠續6 古己橋辦六iai)存取操作係指一目前 。己隱體存取刼作程序所擷取到 愔辨六%』〇, 』、尸叮而貝枓項目與一之前記 匕體存取刼作程序所擷取到之另一 ^尸汀而貝枓項目皆位於同 $ 11頁 1249672
快取線上 料js日总#认父佳的情況係為:前後兩個被擷取的所+次 ^ 、目係位於同一快取線上的相鄰位址中(事實上而貝 於在一般快取系統讀取操作程序中係為典型的结果)情 統係根據資料項目的所在位址辨認每* η述之含有前後兩個所需資料的兩個相鄰:目’ 。此外’ *於快取記憶體 資料,因此亦可稱上述之前後兩個所 體;子::應广雨後兩個記憶體存取請求為循序連續::: 在 η 至 η + 7 取系統 到所需 發出存 會利用 據搜尋 中訊號 述者, 快取命 號係開 找到各 自該對 至處理
第二圖中,本實施例係假設系統中出 的八個記憶體存取請求。如圖中 :別私唬 並無針對前一存取操作程序 資:的情況作最適化調整,s此每當處理 取睛求並啟動一時脈間隔(cl〇ck ^= 一標籤致能訊號致能並搜尋標籤陣列;】目系 結果決定是否啟動一標籤命中 ^ 係用以於系統中發現快取命中睥^中此標籤
:實施例中係假設上述之八UK::成:; 中,因此在第一個時脈循環之德 白成力毛 啟的。之後,當系統中出現一資/之標籤命中 快取命中於資料陣列中所對摩之次^址訊號指出 應位址操取資料。#著,料位址後’系 器”列所示者,此快取系統之輸 項取資料傳 <别出會被輪入至處j」
1249672 五、發明說明(8) 器中。 繼續參閱第二圖,在時脈間隔1中 處理器發出第 ,兄憶體存取請求(標示為“;在第二個時脈間隔中,標 籤陣列查閱與上述之記憶體存取請求n相關的標籤位址2〇〇 並比對此標籤位址2 〇 〇與標籤陣列中的項目。假設比對許 果係為發現相符合者,則此次存取動作即可視為一快取命 :二接著,系統產生一標籤命中訊號作為相關資料陣列的 致此汛號,據此令系統於後續時脈間隔(亦即圖
=3)中讀取該資料陣列。此外’處理器並在時脈間隔; 2理(Plp,linj)—後續記憶體存取請求(η + ι)。在時脈 曰隔3中,糸統碩取上述之資料陣列並將所需資 ,理器中以回應上述之記憶體存取請求η ;同時’,系統合 生對應於=憶體存取請求(η+1 )的標籤命中訊並飧^ 另-個後績記憶體存取請求(η + 2)。若如前所二^ :理器依序發出之所有記憶體存取請求皆於;’ 找到所對應之快取命中,則於圖中所示之時脈間隔己隱=中 6、7以及8中此快取記憶體所執行之動作、 脈間隔3中所執行者相同。 一上迷之於時
係 線 如熟習此領 相關於儲存於 上通常含有多 體系統中,位 域者所可瞭解 資料陣列中的 個循序連續排 於快取線上之 ,位於標籤陣 快取線,其中 列的資料項目 資料項目的個 列中的各項目 ,每一個快取 。典型快取記 數係四個至八
1249672
便解釋,在此則以每個快取線包含四個資料 例。在每個快取線包含四個資料項目的 下目 個;為方 的情況為 記憶體位 有唯-- ,系統所 哥同-一個 陣列搜尋 針對記憶 應獲得的 序連續排 址進行存 取線上的 中三個快 體所需之 ,0: 20 3係位於同-個快取線…系統中V 固軚籤項目係相關於記憶體位址200〜203。此、 ,收的最初四個記體存取請求事實上係令寺 標戴陣列。因& ’若針對記憶體位址2 00之棹先搜 結果能夠被暫時保存,m此筆資訊亦可用以表戟 ,位址2〇1、2〇2以及20 3之標籤陣列搜尋動作表不 搜哥結果。如此,則於存取操作日寺,對於此種: 列的記憶體位址不再需要重複針對其中每一 取與比較的動作。如上所述,藉由在存取同一 四個資料陣列項目(data array entry)時省去= 取標籤的讀取與比較動作,本發明可將快取記^ 電力彳貝耗降低至傳統技術的四分之一。 參閱第三圖所示’其係為根據本發明之一實施例所建 構之改良式快取次系統(cache sub-SyStem)的示意方塊圖 二=,在進行操作時,首先必須決定所接收之記憶體存‘ 口月、、疋否係為循序連績者;若為是,則可利用第二圖實施 例中=述之方法省去重複搜尋同一標籤的動作以達到^ ^ 電力知耗的目的。因此,在發出記憶體存取請求之同時, 處理器會另外發出一循序連續存取訊號(sequentiai 、 3曰(^6^3;[§11&1)3〇2以指出目前所發出之記憶體存取請求 是否循序連續於前次記憶體存取請求。上述之循序連Μ續/存 1249672
取訊號302會啟動一另外整合於快取 於利用前次之標藏陣列搜尋結果。例如'體當 成號302指出目前所發出之記憶體存取請求 皮貝予 者時,另一個由處理器所發出之遞 1、ς ^序連、、、貝 步指出此循序連續記憶體存取』:’义訊戒303會進- 趨勢,亦即指出目前欲存取之:己怜體位勢或是遞減 ^ Α ^ ^ ^ 仔取(°己隱體位址係遞增或遞減於 ::所存取之記憶體位址。例如,記憶體存 係遞增於記憶體存取請求(n+1)。另一方面,若目前之』 憶體存取請求係為記憶體存取請求(n+2)且
存取請求係為記憶體存取請求(n+1),則此時後續記^體 存取請求係遞減於目前記憶體存取請求。上述之兩種額外 訊號可由處理器102利用其内部邏輯(internal 1〇gic)與 處理能力(processing power)而產生。
如前所述’為避免因回應循序連續之記憶體存取請求 而重複多重執行標籤陣列搜尋工作,除上述之程序外,本 發明另一個必需動作係為將第一個標籤陣列的搜尋結果儲 存起來或疋傳予後績存取工作使用。因此,於快取系統中 必須加入一儲存機制以便於儲存標籤搜尋結果。如第三圖 所示’本實施例利用一多工器(m u 1 Η p 1 e χ e Γ ) 3 〇 4以及一正 反器(flip-flop )306儲存並致能上述之標籤命中訊號(tag hit signal),據以啟動上述之快取資料致能訊號以讀取 所欲資料陣列,並儲存該訊號以供於下一時脈間隔中所執 行之工作使用。本實施例中,上述之多工器與正反器的組
第15頁 1249672 五、發明說明(11) ' 合係以’’標籤命中儲存邏輯模組(tag hit storage logic module)’’ 30 7 稱之。 由於在資料陣列中,資料項目係藉由快取線的形式而 順序排列’因此在存取時利用位於同一快取線上的首尾兩 個責料項目作為搜尋的指標係一為有效的方式。為實現此 種指標方式’第三圖中之快取控制器命中/失敗控制邏輯 模組(cache controller miss/hit control logic module ) 308會指示予圖中之標籤讀取控制邏輯模組(tag read control logic module)三項資訊:(1)上述之標籤 命中儲存邏輯模組是否含有一有效資料項目(val i(i entry) ; (2)前次存取動作所存取者是否係為一快取線的 末端資料項目;以及(3 )前次存取動作所存取者是否係為 一快取線的起始端資料項目。前次所存取之資料項目係位 於一快取線的起始端或是末端對於後續存取動作的重要性 係在於後續記憶體存取請求只能係為”單向”循序連續的。 在本發明的另一實施例中,前次所存取之資料項目在一快 取線上的精確位置亦可被儲存起來以便於之後用以判斷有 多少潛在的循序連續存取工作;其中,在此所指的循序連 續存取工作並不論其所存取之資料項目於該快取線上係遞 增或是遞減於目前所存取者。參閱下列表格一以及表格二 所示,其係配合其他相關訊號說明系統中如何產生上述之 才示戴致肖b訊3虎以及後續之資料致能訊號。在此兩列表中, 數字1係表示活躍狀態;數字0係表示非活躍狀態;而符號
1249672 五、發明說明(12) X則係表示無資料可供辨識的停止狀態(d 〇 r m a n t )。其中, 數字1亦可表示遞增且數字0亦可表示遞減。 記憶體 存取請 求 循序連 續存取 遞增/ 遞減 有效標 籤命中 儲存值 快取線 末端資 料項目 存取 快取線 起始端 資料項 目存取 標籤致 能訊號 0 X X X X X 0 1 0 X X X X 1 1 X X 0 X X 1 1 1 X 1 0 0 0 1 1 1 1 0 X 0 1 1 1 1 1 X 1 1 1 0 1 X 0 0 1 1 0 1 X 1 1 表格一
1249672 五、發明說明(13) 記憶體 存取請 求 循序連 續存取 遞增/ 遞減 有效標 籤命中 儲存值 快取線 末端資 料項目 存取 快取線 起始端 資料項 目存取 後續之 資料致 能訊號 0 X X X X X 0 1 0 X X X X 0 1 X X 0 X X 0 1 1 X 1 0 0 1 1 1 1 1 0 X 1 1 1 1 1 1 X 0 1 1 0 1 X 0 1 1 1 0 1 X 1 0 表格二 參閱第四圖所示,其係為第三圖中所示之快取記憶體 系統實施例的時序比較表。比較第.四圖與第二圖,可發現 第四圖較第二圖多出了循序連續存取訊號、遞增/遞減訊 號、有效標籤命中儲存值、快取線末端資料項目存取訊 號、資料致能選擇訊號以及已儲存標籤命中訊號。 第四圖中,實際所使用之記憶體位址係標示為 200〜2 0 7 ;快取記憶體的大小係為一個位元組(byte)且每 一條單一快取線具有四個資料項目。如於說明第二圖實施
1249672 五、發明說明(14) _ 例時所假設者,在此亦假設每一個記憶體 处 成功發現快取命中,且如第四圖中之標籤致i Γ ,系統存取每一條快取線時,σ有第一:讯號所不者 標籤陣列的讀取動作。㈣如,記情ί存取請求會執行 體存2求“⑷會讀取標藏陣二 1 取意 二係為兩條不同的快取線::, 如热I此領域者所可瞭解,本人— 具有八個資料項目,則系統將改為每經過二二 列的記憶體存取請求方執行-次標籤陣列搜尋^連、、、貝排 數,搜尋快取標鐵陣列的次 執行存取操作程序時所: = 統能夠大幅降低其於 此外,應注惫去总& 快取線具有四個資料頂〜,上述之實施例係假設其所含之 需要而調整的,且數、1 ’然而此數目係可依實際之應用 將愈明顯。 ‘大則本發明所可達成之省電效果 另外,在上述之… 為-單向操作(sin l貫施射所討論之快取記憶體系統係 associated)者,铁 J lrect mapped; one-way set …、而本發明亦可藉由多向操作之快取記 1249672 五、發明說明(15) 憶體系統而實&。欲實施上述之多向操 統,則需於每一額夕卜方向上加入一多卫器_正反器^體系 另外’在上述實施例中所討論的情況係假 :程:中每-個存取動作皆可發現其所對應之快取細 發:出現快取失敗的情況。當發現快取 出所需資料載入該快取線後方繼續存取動作成因二別 ΪΓ:Ξ:ίί改ί為亦可處理出現快取失敗之情況, 八 述之表格一與表格二可修改成為表格三盥表柊 。欲,譯所有用以處理相關訊號的邏輯 :: 以目上藏Γ儲存邏輯模組中是否含^ ^立::欠存取快取記憶體時所存取之資料項目Ϊ 時所;r衝快取線的末端;以及(4)前次存取快取記忾體 料項目是否係位於一快取線的起始端二體 中二:格四所示’其係配合其他相關訊號說明夺咬 ί = 能訊號以及後續之資料致4 ^ t ^! : : ί ί ;! Γ ^ 值係以標籤綠;&佶雨# 粉一中,上述之私戴命中儲存 出此次系統中可另外產生-訊號以指 此外 呆乍&序之結果係為快取命中或是快取失敗。 —任務ΐί之快取控制器命中/失敗控制邏輯模組308之另 任務係為當一快取線被填滿所需資料後清除上述之 第20頁 1249672 五、發明說明(16) 標籤儲存值。
記憶體 存取請 求 循序連 續存取 遞增/ 遞減 有效標 籤儲存 值 快取線 末端資 料項目 存取 快取線 起始端 資料項 目存取 標籤致 能訊號 0 X X X X X 0 1 0 X X X X 1 1 X X 0 X X 1 1 1 X 1 0 0 0 1 1 1 1 0 X 0 1 1 1 1 1 X 1 1 1 0 1 X 0 0 1 1 0 1 X 1 1 表格三 第21頁 1249672 五、發明說明(17) 記憶 體存 取請 求 循序 連續 存取 遞增/ 遞減 有效 標籤 儲存 值 命中(1)/ 失敗(0) 快取線 末端資 料項目 存取 快取線 起始端 資料項 目存取 後續之 資料致 能訊號 0 X X 、 X X X X 0 1 0 X X X X X 0 1 X X 0 X X X 0 1 1 X 1 0 X X 0 1 1 X 1 1 0 0 1 1 1 1 1 1 0 X 1 1 1 1 1 1 1 X 0 1 1 1 1 1 X 0 1 1 1 1 1 1 X 1 0 表格四
另外,根據上述之有關讀取操作之實施方式,熟習此 領域者應瞭解本發明亦可利用同樣的方法應用於寫入操作 上;亦即,當多個所欲寫入之資料係位於同一快取線上時 ,本發明亦可藉由同樣的方式降低快取系統所需之電力損 耗:於進行一循序連續程序以將資料填滿位於資料陣列中 之一快取線的過程中,當在該快取線上找到第一個資料位 址後即可停止搜尋標籤陣列(以找出其他資料項目位置)的
第22頁 1249672 五、發明說明(18) 動作。
顯然地,根據以上實施例中的描述,本發明可能有許 多的修正與差異,因此需要在其附加的權利要求項之範圍 内加以理解,除了上述詳細的描述外,本發明還可以廣泛 地在其他的實施例中施行。上述僅為本發明之較佳實施例 而已,並非用以限定本發明之申請專利範圍,凡其他未脫 離本發明所揭示之精神下所完成的等效改變或修飾,均應 包含在下述申請專利範圍内。
第23頁 1249672 圖式簡單說明 上述之本發明的發明特徵、優點與實施方式將藉由以 下之所附圖示與申請專利範圍進一步加以說明,其中·· 第一圖所示係為一具有管線結構之快取記憶體次系統的示 意圖; 第二圖所示係為一支援多重循序連續性記憶體存取操作 、multiple sequential memory accesses)之快取記憒體 的時序比較表; — 第三圖所示係為根據本發明之一實施例 取§己丨思體次系統的示意方塊圖;以及 構的改良式快 第四圖所示係為第三圖中之改良式快取 序比較表。 憶體次系統的時 主要部分之代表符號: 10 0 快取記憶體 10 2 處理器
標籤陣列 1〇6 資料陣列 10 8 快取控制器命中/失敗控制邏輟 110 標籤讀取控制邏輯模組 餌模組
第24頁 1249672
第25頁 圖式簡單說明 112 比較器 114 系統記憶體 116 快取控制器 200〜207 記憶體位址 302 循序連續存取訊號 303 遞增/遞減訊號 304 多工器 306 正反器 307 標籤命中儲存邏輯模組 308 快取控制器命中/失敗控制邏輯模組 310 標籤讀取控制邏輯模組

Claims (1)

1249672 六、申請專利範圍 1 · 一藉由在進 列搜尋動作 法包含: 接收一第一 搜尋一標籤 一記憶體存 存之 記錄 當該 目相 位址 標籤 該比較 比較結 符合時 係位於 快取記憶體 令一第二記 略為 動作 第二 並循 2. 如申 資料 3. 如申 該第 位置 4. 如申 資料 回應該 ,其中 資料位 序連續 請專利 位址是 請專利 一資料 〇 請專利 位址係 仃循序連續存取操作 以減少快取記彳咅體> ^,略不必要之標籤陣 r、取“體之電力損耗的方法,該方 0己fe體存取請求; 陣列’其中,該搜尋 ^ If Φ ig ^ 4® ^ 乍匕3比較一與該第 私叫衣相關之払纖位址 示 項目; -、Θ标織陣列内所儲 結果; 果係為該標籤位址與該標籤陣列内 ’存取-第-資料位址,其中,胃第 一預定之快取線上,且兮箱—W Α 、 且疏預疋快取線係位於 内之一資料陣列中;以及 、 憶體存取請求繼續使用該比較結果以便於省 第二記憶體存取請求所執行之標籤陣列搜尋 ,該第二記憶體存取請求之存取對象係為一 址,該第二資料位址係位於該預定快取線上 排列於該第一資料位址之旁。 範圍第1項所述之方法,更包含預測該第二 否循序連續排列於該第一資料位址之旁。 範圍第2項所述之方法’更包含預測相對於 位址,該第二資料位址於該預定快取線上的 範圍第3項所述之方法’更包含預測該第二 依遞增或是遞滅順序而循序連續排列於該第
第26頁 1249672 丄〜----- 六、申請專利範圍 一 —資料位址之旁。 預琪Ij ^申明專利範圍第2項所述之方法,更包含提供 6訊號予快取記憶體。 八 、 •如申請專利範園第1項所述之方法,其中上述之4 =記憶體存取請求繼續使用該比較結果的動 7讀第 该第一與第二資料位址中何者係指向該 =含匈 起始端。 陝取線的 7· ^申請專利範圍第1項所述之方法,其中上述之八a :ϊ ϊ體存取請求繼續使用該比較結果的動作更V亥苐 =苐一與第二資料位址中何者係指向該預定快2含匈 末端。 、取線的 8·如申請專利範園第1項所述之方法,直中上述 比較結果的動作更包含利用一正反器儲存該比C亥 供該第一 §己憶體存取請求使用。 、、Q果以 9. 如申請專利範圍第8項所述之方法,其中上述之 比較結果:動作更包含當該第二記憶體存取請求係;: 連繽於δ亥第—記憶體存取請求時,利用一多工器產 輸出,其中,該輸出係用以致能該資料陣列 記憶體存取請求使用。 ·* 乂供名第一 10. 如申請專利範圍第丨項所述之方法,其中上述 體存取請求所請求者係為對該快取記憶體執行 u.如Λ請Λ利範圍第11員所述之方>去,其中上述之第一與 第^一 5己十思體存取言眚炎所諳电ι p 者係為對該快取記憶體執行
1249672 六、申請專利範圍 讀取操作 K·如广請專利範圍第丨項所述之方直 果係指在該標籤陣列内發 1 ^上述之比較結 13.如申請專利範圍第取失敗。 係為在該標籤陣列内發現快取 =右邊比較結果 ,g|I . ^ 糸眉序連績排列於該第一資祖# U β A 則忽略該第二記憶體存 貝枓位址之旁 14· 一快取記情體,兮比说 明求 記憶體存取請求時;^取記憶體於回應循序連續之快取 記憶體包:時可減少搜尋標籤陣列的次數,該快取 至少一個標籤陣列; f二* 1!與該標籤陣列相關之資料陣列; 制邏輯模組以控制標籤陣列之搜尋動作; 一了 °亥私戴陣列相關之比較器; 較哭的,^以於回應一第一記憶體存取請求時儲存該比 掛i係氣Ϊ結果,其中,該第一記憶體存取請求之存取 &陵ί —第—資料位址,該第一資料位址係位於該資 =I之—快取線上,· 二t回應—第二記憶體存取請求,且該第二記憶體 予明求之存取對象係為循序連續排列於該第一資料位 一♦ 、一第二資料位址時,令該第二記憶體存取請求 、’k二使用4比較結果以便於省略為回應該第二記憶體存 取所執行之標籤陣列搜尋動作。 1 5·如申請專利範圍第1 4項所述之快取記憶體,其中上述 第28頁 1249672 六、申請專利範圍 之標籤讀取控制邏輯模組係與一處理器相關,其中,該 處理器可提供一訊號以指出該第二資料位址是否循序連 續排列於該第一資料位址之旁。 1 6·如申請專利範圍第1 5項所述之快取記憶體,其中上述 之戒號更可指出該第二資料位址係依遞增或是遞減順序 而循序連續排列於該第一資料位址之旁。 1 7·如申請專利範圍第丨4項所述之快取記憶體,更包含一 =取控制器命中/失敗控制邏輯模組以指出於回應該第 :記憶體存取請求時儲存於該儲存模組中的該比較結果 是否亦可用於該第二記憶體存取請求。 1 8 ·如申睛專利範圍第丨7項所述之快取記憶體,其中上述 之快取控制器命中/失敗控制邏輯模組更可指出該第一 與第二資料位址中何者係位於該快取線的起始端。 9·如申請專利範圍第1 7項所述之快取記憶體,其中 ^ f取控制器命中/失敗控制邏輯模組更可指出該述 2〇與第二t資料位址中何者係位於該快取線的末蠕。μ — •如申睛專利範圍第1 4項所述之快取記憶體,其由 U之儲+存模組包含一正反器以及一多工器。 上述 • 藉由在進行循序連續存取操作時省略不必 ρ列搜尋動作以減少快取記憶體之電力損耗 ^鐵 方法包含: 旧方法,讀 接收二第一記憶體存取請求; ,,該第一記憶體存取請求搜尋一標籤陣列 取命中; 兮找一快
1249672 申請專利範圍 記錄該搜尋結果7 若出現快取命中則存取一第一資料位址,其中,該第一 資料位址係位於一快取線上,且該快取線係位於該快取 5己fe體之一資料陣列中; 接收一第二記憶體存取請求; 接收一訊號,其中,該訊號係用以指出該第二記憶體存 取明求所欲存取之一第二資料位址於該快取線上之位置 疋否循序連續排列於該第一資料位址之旁;以及 右该第二資料位址係循序連續排列於該第一資料位址之 旁則根據該搜尋結果存取該第二資料位址。 22·如申請專利範圍第21項所述之方法,更包含預測相 :該第-資料位址,該第二資料位址於該快取線上的位 23. 一如^申請專利範圍第21項所述之方法,更包含判斷节 一貝料位址或是該第二資料位址係位 Λ弟 端或是末端。 於忒快取線之起始 24. 如申請專利範圍第2丨項所述之方法,其 、 該搜尋結果的動作更包含當該第二愔、上述之記錄 序連續於該第一記憶體存取請求時,二用二,睛,係循 一輸出訊號以致能相關於該第二記愔夕工器產生 料陣列。 K體存取請求之該資 2 5 ·如申請專利範圍第2 1項所述之方法,更勺人♦ 關於該第一資料位址之快取失敗且該第二\3當出現相 快取線上係循序連續排列於該第—眘二貝广位址於該 貝枓位址之旁時,忽
第30頁
1249672 六、申請專利範圍 略該第二記憶體存取請求。
ΙΗϋ 第31頁
TW093109682A 2003-05-29 2004-04-08 Tag array access reduction in a cache memory TWI249672B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/447,930 US7143243B2 (en) 2003-05-29 2003-05-29 Tag array access reduction in a cache memory

Publications (2)

Publication Number Publication Date
TW200421091A TW200421091A (en) 2004-10-16
TWI249672B true TWI249672B (en) 2006-02-21

Family

ID=33451382

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093109682A TWI249672B (en) 2003-05-29 2004-04-08 Tag array access reduction in a cache memory

Country Status (3)

Country Link
US (1) US7143243B2 (zh)
CN (1) CN1287296C (zh)
TW (1) TWI249672B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441136B2 (en) * 2005-04-04 2008-10-21 Advanced Micro Devices, Inc. System for predictive processor component suspension and method thereof
US20070005912A1 (en) * 2005-07-01 2007-01-04 Ming-Chung Kao Apparatus and method for reducing tag ram access
US7571281B1 (en) * 2006-06-02 2009-08-04 Nvidia Corporation Look-up filter structures, systems and methods for filtering accesses to a pool of tags for cache memories
TWI365456B (en) * 2008-01-07 2012-06-01 Realtek Semiconductor Corp Apparatus for predicting memory access and method thereof
US8914580B2 (en) 2010-08-23 2014-12-16 Apple Inc. Reducing cache power consumption for sequential accesses
US8549383B2 (en) 2011-08-24 2013-10-01 Oracle International Corporation Cache tag array with hard error proofing
US10558463B2 (en) 2016-06-03 2020-02-11 Synopsys, Inc. Communication between threads of multi-thread processor
US10318302B2 (en) 2016-06-03 2019-06-11 Synopsys, Inc. Thread switching in microprocessor without full save and restore of register file
US10628320B2 (en) * 2016-06-03 2020-04-21 Synopsys, Inc. Modulization of cache structure utilizing independent tag array and data array in microprocessor
US10552158B2 (en) 2016-08-18 2020-02-04 Synopsys, Inc. Reorder buffer scoreboard having multiple valid bits to indicate a location of data
US10613859B2 (en) 2016-08-18 2020-04-07 Synopsys, Inc. Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions
US10324850B2 (en) 2016-11-11 2019-06-18 Microsoft Technology Licensing, Llc Serial lookup of tag ways
US10565121B2 (en) * 2016-12-16 2020-02-18 Alibaba Group Holding Limited Method and apparatus for reducing read/write contention to a cache
US10565122B2 (en) 2017-05-30 2020-02-18 Microsoft Technology Licensing, Llc Serial tag lookup with way-prediction
US10324845B1 (en) * 2017-07-28 2019-06-18 EMC IP Holding Company LLC Automatic placement of cache operations for complex in-memory dataflows
US20230305920A1 (en) * 2022-03-24 2023-09-28 Cypress Semiconductor Corporation Apparatus for on demand access and cache encoding of repair data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980823A (en) * 1987-06-22 1990-12-25 International Business Machines Corporation Sequential prefetching with deconfirmation
US5544342A (en) * 1993-06-30 1996-08-06 International Business Machines Corporation System and method for prefetching information in a processing system
US5761706A (en) * 1994-11-01 1998-06-02 Cray Research, Inc. Stream buffers for high-performance computer memory system
US5692151A (en) * 1994-11-14 1997-11-25 International Business Machines Corporation High performance/low cost access hazard detection in pipelined cache controller using comparators with a width shorter than and independent of total width of memory address
US5897654A (en) * 1995-02-10 1999-04-27 International Business Machines Corporation Method and system for efficiently fetching from cache during a cache fill operation
US5740399A (en) * 1995-08-23 1998-04-14 International Business Machines Corporation Modified L1/L2 cache inclusion for aggressive prefetch
GB9724031D0 (en) * 1997-11-13 1998-01-14 Advanced Telecommunications Mo Cache memory operation
US6282706B1 (en) * 1998-02-10 2001-08-28 Texas Instruments Incorporated Cache optimization for programming loops
US6449694B1 (en) * 1999-07-27 2002-09-10 Intel Corporation Low power cache operation through the use of partial tag comparison
US6453390B1 (en) * 1999-12-10 2002-09-17 International Business Machines Corporation Processor cycle time independent pipeline cache and method for pipelining data from a cache
US6463506B1 (en) * 2000-04-29 2002-10-08 Hewlett-Packard Company Arrangement of data within cache lines so that tags are first data received
KR100351504B1 (ko) * 2000-06-05 2002-09-05 삼성전자 주식회사 캐쉬 메모리, 그의 전력 소비 절감 방법 그리고 캐쉬메모리를 구비하는 데이터 처리 시스템
JP4073157B2 (ja) * 2000-08-21 2008-04-09 富士通株式会社 タグメモリのアクセス回数を制限したキャッシュシステム
KR100395756B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
EP1361518B1 (en) * 2002-05-10 2013-08-07 Texas Instruments Incorporated Reducing TAG-RAM accesses and accelerating cache operation during cache miss

Also Published As

Publication number Publication date
CN1287296C (zh) 2006-11-29
CN1542627A (zh) 2004-11-03
TW200421091A (en) 2004-10-16
US7143243B2 (en) 2006-11-28
US20040243764A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
TWI249672B (en) Tag array access reduction in a cache memory
US11226820B2 (en) Data transfer bus communication using single request to perform command and return data to destination indicated in context to allow thread context switch
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
US5822772A (en) Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
JP2002526882A (ja) 半導体メモリのリフレッシュの影響を全く受けないようにする読出し/書込みバッファ及びその動作方法
JPS6334652A (ja) コンピユ−タ・メモリのアクセス方法およびシステム
US6219765B1 (en) Memory paging control apparatus
JPH0955081A (ja) ダイナミックランダムアクセスメモリシステムを制御するメモリコントローラ、およびダイナミックランダムアクセスメモリシステムへのアクセスの制御方法
TW200416535A (en) Method and apparatus for determining a dynamic random access memory page management implementation
US20080098176A1 (en) Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching
US5829010A (en) Apparatus and method to efficiently abort and restart a primary memory access
US5835947A (en) Central processing unit and method for improving instruction cache miss latencies using an instruction buffer which conditionally stores additional addresses
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
JPH0195345A (ja) バスマスタ
US20040181634A1 (en) Cache memory architecture and associated microprocessor design
JP2003281079A5 (zh)
TWI260499B (en) Method and system for cache power reduction
JPH07248963A (ja) Dram制御装置
US7870342B2 (en) Line cache controller with lookahead
US6433786B1 (en) Memory architecture for video graphics environment
US6470416B2 (en) Method and system for controlling the memory access operation by central processing unit in a computer system (2)
JPH0628239A (ja) メモリアクセス時間を短縮したコンピュータシステム及びメモリアクセス時間を短縮する方法
US6385687B2 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
US6408361B1 (en) Autonomous way specific tag update
JPH04324187A (ja) ダイナミックram

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent