TW501011B - Data processing circuit with cache memory - Google Patents

Data processing circuit with cache memory Download PDF

Info

Publication number
TW501011B
TW501011B TW087118311A TW87118311A TW501011B TW 501011 B TW501011 B TW 501011B TW 087118311 A TW087118311 A TW 087118311A TW 87118311 A TW87118311 A TW 87118311A TW 501011 B TW501011 B TW 501011B
Authority
TW
Taiwan
Prior art keywords
address
cache memory
data
stream
management unit
Prior art date
Application number
TW087118311A
Other languages
English (en)
Inventor
Der Wolf Pieter Van
Pieter Struik
Original Assignee
Koninkl Philips Electronics Nv
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 Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Application granted granted Critical
Publication of TW501011B publication Critical patent/TW501011B/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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms

Description

501011 案號 87118311 E B 修正 * 五、發明說明(1) ί . 本發明係有關如申請專利範圍第1項前文的一資料處理 電路。此一資料處理電路可從美國專利案號5, 649, 144知 道。 一快取記憶體是一眾所周知的工具,用以橋接在處理器 速度與主記憶體速度之間的間隙。來自主記憶體的資料拷 貝可保存在一快取記憶體,如此便可存取此拷貝,處理器 需要只可存取快速的快取記憶體,而不是慢的主記憶體。 美國專利案號5, 649, 144提供的一快取記憶體管理單元 可將資料的拷貝在實際由處理器讀取之前預拾取到快取記 憶體。該快取記憶體管理單元可利用位址流的觀念,並且 從位址流中的位址個別或當作一部分的資料預拾取區塊而 預拾取資料。每個位址流是表示例如一基底位址及一大步 幅值,這些可透過該基底位址開始及使用該大步幅值重複 將它增量而可定義一連串的可用位址。基底位址與大步幅 可調整;大步幅可採用類似加或減1、或加或減一較大 值。 在使用位址流背後的觀念是由處理器所執行的一典型程 式包含從位址流定義的位址讀取的指令。只要資料從一位 址流之一位址存取,便可預測程式需要在一新的位址上存 取資料,在從不屬於該位址流的其他位址讀取之後,該新 位址可透過將大步幅值加入那一位址而獲得。若要預測需 要來自新位址的資料,該快取記憶體管理單元可從新位址 將資料預拾取到快取記憶體,俾處理器可在需要時可很快 拾取在新位址上儲存的資料。 在從位址流讀取一位址與新位址之間,處理器可從不同
O:\55\55736.ptc 第5頁-
五、發明說明i 的位址讀 部么巧取,其可以是 修正 诗ίΓ‘丨 部分。认…7穴1从是不同仞:二」 。快取記憶體管理立址流或與任何位址流無關的 預:取ii當處理器執行過ΐ?!保持追蹤程式的 取貝料,到目前為止,^蚪,可母次從一特殊位址流 •址流之一新位址。 匕可預期是在短時間内來自特 儲在,"己憶體管理單元亦必% 存處理器所需的任何資 4選取快取記憶體位置,用以 所儲存的資料及其他資料’其包括在屬於位址流的位址 略以選取可重複使用的快=:快取記憶體可使用一替代策 的替代策略是最近不用(L Κ ^己憶體位置。例如,一受歡迎 用的資料項目(或資料區塊))的策略,其可選取由最近不 如果一特定的快取記憶骰^佔用的快取記憶體位置。 快取記憶體位置上先前儲存=ί』可重複使用,那麼在特定 取。因此,替代策略將影绝貝料只可從較慢的記憶體拾 ιίι Λ等匯 是將、處理器連接到主記憶體。例如’ 朿亦能以此方式減少處理器與匯流排使用的效率。 在其他方面’本發明的一目的是要根據處理器可更有效 使用快取記憶體而提供一資料處理電路。 根據本發明的資料處理電路的特徵是如申請專利範圍第 1項之描述。根據本發明,位址流可用來選取可重複使用 的快取記憶體位置。當快取記憶體管理單元偵測到處理器 沿著一位址流大步幅前進時,在對應該位址流的快取記憶 體中的"舊"資料便可被取代而不被重複使用。該等快取 記憶體位置可個別或每次一區塊供重複使用。 如此,可重複使用的快取記憶體位置不必然是最近不用
O:\55\55736.ptc 第6頁 501011 _案號 87118311 W% ^Λ :ή\} 3 修正_ 五、發明說明(3) 3 的快取記憶體位置。例如,當一位址流以快速連續存取大 量資料時,用於該資料的快取記憶體位置能比用於其他資 料的快取記憶體位置可更快達成共用,而其他資料不是該 位址流的部分,而且其他資料是以比位址流前進更慢的頻 率使用。如果位址流的快取記憶體位置可重複使用之後, 來自位址流的資料未存取,此便可減少快取記憶體錯失的 次數。 大體上,在快取記憶體的散布位置是可用的。例如,當 大步幅不是加或減1時,達成可用的連續位置便不相鄰。 原則上,可重複使用之一快取記憶體位置通常是可用:它 可用於相同的位址流、另一位址流、或不屬於任何位址流 的資料。 根據本發明用以使快取記憶體可重複使用的技術可結合 選取可重複使用(例如,如果根據本發明的技術不能達成 足夠的快取記憶體位置供一特殊程式的重複使用)快取記 憶體位置的整個任何替代策略使用。根據本發明的技術使 用可減少使用此一整個替代策略的需要,因為有更多的快 取記憶體位置可使用。 本發明可在決定於程式資料需要的快取記憶體中保有資 料。透過在一指定時間保存一位址流的資料,它可在程式 重新需要該資料之前,促使資料不能從快取記憶體移除。 而且,透過當資料不再需要時將資料適時從一位址流丟 棄,它便可促使足夠空間可快取記憶體中建立供重複使 用,所以不需要將其他資料從仍由處理器所使用的快取記 憶體移除。
O:\55\55736.ptc 第7頁 501011 案號 87118311 五、發明說明(4) 理想上, 的一位址流 用新位址後 與存取各種 當步幅相 體;然 -^些位 常從位 長於來 之資料 當該 持在來 窗框係 在本 程控資 離。對 置附近 有多少 距離資 變以滿 的大步 個位址 沿著 過處理 指令、 而, 址便 址沿 自對 快取 之資 為止 不同 對較 如果 可重 著一 應沿 記憶體 料,直 。因此 記憶體 大時, 步幅相 複使用 位址流 著處理 等位址流亦 自位址的相 屬於 發明 一相對 的一具 料是在每個 於一特定的 大是需 料將保 從快取 有多 的資 料可 足他們的需 幅,或一位 流等的距離 一位址流的 器是否使用 或透過程式 用於 對丨丨 位址 體實 位址 程式 要計 持在 記憶 要。 址不 〇 程式 對應 的指 秦通» ia 修正 管理 到大 ,在 位置 非常 對較 〇同 資料 器相 預拾 滑動 流。 施例 流的 而言算, 快取 體丟 距離 同; 單元可 步幅超 可重複 之間的 離的 小,相 樣地, ,對應 對時常 保持 過在 使用 關係 位址 當接 如果 該位 進展 對應在 位址流 的快取 可容易 可保持 近最近 處理器 址流的 的一位 快取記 中最近 記憶體 調整。 在快取 使用位 的進展 位址可 址流的 憶體 所使 位置 記憶 址的 不時 保持 位址 取資料時,此結果 窗框”的快取記憶 中,處理器具有一 快取記憶體中個別 ,可知道在位址流 而因此在每個位址 記憶體供程式使用 棄。如此,程式可 能以許多方式指定 一指令可指定一位 是資料可保 體,其每個 指令,用以 保持的距 的一區域位 流中可決定 、及多遠的 將此距離改 ,例如許多 址流、或數 前進能以數個方法彳貞測到,例如透 在位址流中的下一位址而送出一讀 令、或透過偵測位在一指定指令位
O:\55\55736.ptc 第8頁 501011 I .· , _ I \ _案號 87118311 W^f- ψ} nl^li 修正_ ^ 五、發明說明(5) L·——一… 八 址上的一任何指令執行。如果使用在讀指令中的位址,操 作處理器部分與資料預拾取的指令便可獨立設計:類似程 式計數器值的資訊不需要用於資料預拾取。 根據本發明的資料處理電路的這些及其他觀點將在下列 的描述與圖式中詳細描述,其中: 圖1係顯示一處理電路。 圖2係顯示一記憶體位址空間。 圖3係顯示描述一快取記憶體管理單元操作之一位址流 程圖。 圖1係顯示一處理電路。該處理電路包含一處理器10、 一快取記憶體1 2、一主記憶體1 4、與一快取記憶體管理單 元1 6。該處理器1 0具有一位址輸出,其係耦合到快取記憶 體1 2與快取記憶體管理單元1 6。該快取記憶體1 2具有耦合 到主記憶體1 4的一位址輸出。處理器1 0與快取記憶體1 2具 有一資料連接。快取記憶體1 2與主記憶體1 4亦具有一資料 連接。 該處理器1 0最好亦使用一指令記憶體(未在圖顯示)及 用以儲存指令的一指令快取記憶體(未在圖顯示),但是 指令亦可在主記憶體1 4及/或快取記憶體1 2拾取及儲存。 大體上,此並不會影響本發明:本發明通常是有關資料快 取記憶體,而不是指令快取記憶體。但是在指令亦儲存在 快取記憶體1 2的情況中,本發明允許用以指令拾取的快取 記憶體空間的更有效可用性。 在操作上,處理器10可執行一程式,該程式包含可使處 理器將資料分別讀取及/或寫入記憶體。當處理器1 0執行
O:\55\55736.ptc 第9頁 501011
修正 案號871】如η 五、發明說明(6) 一項指令時,它便可蔣一读^ 對應該位址的資料儲存在二快取記憶體12。如果 可在資料連接上將該資二“出體12,快取記憶體12便 址的資料並未儲存在快取記怜^ =理器10。如果對應讀位 含讀位址的資料、或一資料,f12,快取記憶體便可將包 位址輸出給主記憶體14。、在^2 (例如64個位元組)的讀 (或包含資料的資料區塊)彳/^應/,主記憶體14可將資料 i 在處理器1 〇執行一耷人从比科傳遞給處理器10 〇 各種不同技術可使用:’例如拷貝回或·寫的 儲存到快取記憶體1 2時,窝t叮術將來自寫指令的資料 以便拷貝寫資料所屬的資以包括從主記憶體14讀取, 未限制從處理器1 〇讀取指令二 因此,從記憶體拾取並 快取記憶體1 2快於主印二骑]J 取記憶體1 2通常不可同日°# ^在二但是亦較小。因此,快 資料。若要適於此,在快敗^ ^主記憶體1 4儲存的所有 擇性使用,用以儲存來自、;二=”的每個儲存位置可選 有各種不同眾所周知的技術不f位置的資料。 明)。 。體4 (任何此技術可使用在本發 ^負料儲存在快取記情體】? φ 置時,此位置可說是重其他資料的-位 體12取得。在主記憶體透過= 再從ί取記憶 的資料將必須從主記憶體丨4拾取°。 吻取之則,重寫
O:\55\55736.ptc 第10頁 501011 案號 87118311 五、發明說明(7) 快取記憶體單元1 6可使用一策略以選取供重複使用的快 取記憶體位置,所以重寫的資料是不預期使用的資料。快 取記憶體管理單元1 6可選取在快取記憶體1 2中可重複使用 的位置,如此便可減少重複使用從快取記憶體移除處理器 重新所需資料的可能性。 根據本發明,快取記憶體管理單元1 6係使用位址流的觀 念,以管理快取記憶體位置的重複使用。在此觀念的背後 是在處理器1 0所送出位址之中,可能具有改變位址的一預 測圖案的一或多個位址流。當處理器1 0沿著這些位址流前 進時,在位址流中來自較舊位址的資料可能不再需要,而 且該快取記憶體管理單元因此可使快取記憶體1 2用於此資 料的該等儲存位置重複使用。透過使快取記憶體位置可重 複使用,快取記憶體管理單元1 6必須使其他快取記憶體的 位置重複使用便可避免,其包含仍然是處理器1 0需要的資 料。 圖2係顯示一記憶體位址空間2 0及許多此位址流之一範 例。一第一位址流包含連續位址2 〇 a - d。一第二位址流包 含連續位址2 3 a - c,而且一第三位址流包含連續位址 2 5 a - d。在第一位址流2 0 a - d中的連續位置在每對連續位址 之間具有一較大步幅逐漸增加的位址。在第二位址流 2 3 a - c中的連續位置亦具有逐漸增加的位址,但是具有一 較小步。在第三位址流25a-d中的連續位置具有逐漸減少 的位址。 例如,此位址連續可對應數值的一矩陣中的位址。此一 矩陣可逐列儲存在記憶體,而且在連續記憶體位置具有成
O:\55\55736.ptc 第11頁 501011 案號 871183Π ------------if 〇, 年 日 修正 L一 五、發明說明(8) 排的連續元件。使用此一矩陣的程式可逐列或逐攔存取此 一矩陣;在第一情況中,位址流的發生是每個下一位址增 加1 ;在第二情況中,位址流的發生可增加對應儲存_列曰 所需儲存空間的步。當程式同時前進通過數個矩陣、或以 數個方向存取一矩陣時,此將造成多重位址流。 例如對於在矩陣中的數目空間過濾而言,實際程式具有 一需要’用以供從此一位址流的最近位址所拾取數目的未 來使用;此外,亦可用於從位址流上的數個位址所拾取的 先前數目。但是在位址流中進一步支援的數目便不再需 要。因此’數個此先前數值理想應該保留在快取記憶體, 而且較舊數值"較前,,的快取記憶體位置可重複使用。 程式師可在程式中包括一指令,以表示需要有多少的此 先前數值,或編譯器可從程式決定需要多少的此先前數 值。從此,快取記憶體管理單元1 6可產生,用以表示從最 近所存取位址之一距離,其從位址流預拾取的數目必須保 留。 在本發明的一具體實施例中,快取記憶體管理單元1 6係 使用奔多的位址流’並且維特每個位址流之一相對項目 (CURRENT一ADDRESS 'STRIDE 、 DISTANCE)等效表。快取記 憶體管理單元1 6可監督處理器1 〇送出快取記憶體1 2的資料 位址。每個資料位址可與位址流的CURRENTS ADDRESS項目 相比較。當由處理器1 0所送出的一資料位址等於一特殊位 址流的CURRENT— ADDRESS項目時,一位址流衝突可說是發 生在特殊位址流。在此情況,此特殊位址流的 CURRENT一ADDRESS項目是由在STRIDE項目中的值增加,而
O:\55\55736.ptc 第12頁 501011 _案號87118311 丨,获率 a — 修正__ 五、發明說明(9) :................1 且快取記憶體管理單元1 6可使快取記憶體位置重複使用, 而可儲存對應位址CURRENTjDDRESS - DISTANCE * STRIDE的資料。 表項目(CURRENT—ADDRESS 、 STRIDE 'DISTANCE)可擴 展成 (CURRENT ADDRESS > STRIDE ' DISTANCE 'OLDEST ADDRESS) 其中OLDEST —ADDRESS項目係表示來自仍然可用位址流的 最舊位址。 最初,當位址流開始時,OLDEST一ADDRESS是設定等於 CURRENT — ADDRESS。當 CURRENT 一 ADDRESS 改變很大,以致於 OLDEST一ADDRESS 不在CURRENT—ADDRESS 與 CURRENT一ADDRESS-DISTANCE*STRIDE之間,那麼快取記憶 體管理單元16便可使對應OLDEST一ADDRESS的快取記憶體“位 置可供重複使用,並且將OLDEST_ADDRESS改變成 OLDEST一ADDRESS+STRIDE 。 理想上,處理器1 0所執行的一程式可將位址流的屬性發 "ί吕給快取§己憶體管理早元1 6。對於此目的而言,處理1 〇 的指令組可包含一指令,用以將項目輸表内。此一指令可 指定一位址流編號、STRIDE、D 1STANCE、與 CURRENT —ADDRESS 的一初始值。 快取記憶體管理單元1 6可記錄一快取記憶體位置,能以 各種不同的方式供重複使用。在一較佳具體實施例中,快 取記憶體管理單元1 6可維特該等有效位元的一表,每_位 元是用於快取記憶體1 2的每一區塊(例如6 4個位元組)。
O:\55\55736.ptc 第 13 頁 I-**"· —' 501011 __案號 87UMIL·-^ ^ ^ 修正 __'· 五、發明說明(10) 一區塊的有效位元係表示該區塊是否"有效",亦即該區 塊是否包含可反應來自處理器丨〇之一讀取而傳回的資料。 最初,該等有效位元係表示沒有區塊是有效的,而且每次 一區塊可(預)捨取’該區塊的有效位元可設定。當來自 一記憶體區塊的資料從主記憶體14到快取記憶體1 2拾取 時,快取記憶體管理單元16便可搜尋有效位元並未設定的 一適當區塊,並且將拾取的資料置於該區塊。如果沒有適 當的區塊可用於未設定的有效位元’快取記憶體管理單元 1 6便可根據它的取代策略選取一區塊,並且將拾取的資料 載入該區塊。 在此較佳的具體實施例中’快取記憶體管理單元1 6可清 除供重複使用的一區塊之有效位元’因為它包含來自一位 址流的資料,該位址流已前多於在區塊中所儲存資料的定 義距離。因此,稍後,快取記憶體管理單元1 6可選取該 塊,用以儲存拾取的資料’而無需借助它正常的取代策 略0 然而,本發明妓未局限在使快取記憶體位置可重複使用 之此技術。例如,如另一範例,快取記憶體管理單元可維 持快取記憶體位置或區塊的"可重複使用"位元,以表示有 關的快取記憶體位置或區塊是否可重複使用。可供重複使 用位元是初始化設定。當資料儲存在一快取記憶體位置 時,它的"可重複使用"位元便可清除’而且當一位址流前 進時,快取記憶體管理單元1 6便可重新設定快取記憶體位 置的,,可重複使用"位元’其位址是距離CURRENT一ADDRESS 的指定DISTANCE。當快取記憶體管理單元1 6搜尋用以儲存
O:\55\55736.ptc 第14頁 501011 案號 87118311 修正 五、發明說明(11) Γ ν, η hj 1 — _无 從主記憶體14拾取的資料快取記憶體位置,它最 好是選取"可重複使用"位元的一快取記憶體位置。一正 常替代策略需只可使用在沒有此可用的位置。 當然,本發明能以許多其他方式實施。在此舉出一些範 例:例如DISTANCE表示不是許多大步幅,而是在 CURRENT_ADDRESS與可用位址之間的距離;一分開 DISTANT —ADDRESS(等於CURRENT一ADDRESS- DISTANCE * STRIDE)可由快取記憶體管理單元1 6使用及維護,而不是 DISTANCE ; CURRENT一 ADDRESS 可在使由 DISTANCE 所指定的 快取記憶體可重複使用前或之後改變。在位址流中的位址 更複雜預測可使用,例如當一整列預拾取時,在一指定數 目的步幅移到一矩陣的下一列之後,可透過一指定值設回 成CURRENT —ADDRESS。處理器可提供用以指定此較複雜&預1 測的一指令。 ^ 一機構可用來允許快取記憶體管 (例如在一指定數目的步幅之後)的 達位址流的結束時,快取記憶體管 取’而且只要所有快取記憶體位置 快取記憶體位置重複使用,直到位 為止。用以指定一位址流的指令包 位址流何時應結束、或使用一指令 一資料位址的送出可從指令計數 的資料位址;在此情況中,當處理 時,快取記憶體管理單元1 6便可通 位置。當處理器的指令指標到達該 理單 結束 理單 佔用 址流 元16偵 ,所以 元16便 ,稍後 的結束 含一參數 可 用 束一位址 以結 器偵 器10 知執行的'^ 位置而偵測 測,以 沿著位
501011
案號 87118311 五、發明說明(12) CURRENT—ADDRESS 時,快瓦^ 此外,位址流可用於將資料預拾取到快取記憶體。♦一 位址流衝突在CURRENT一ADDRESS的位址上發生時,快取田記 憶體管理單元位址1 6可使快取記憶體丨2預拾取在 ° CURRENT一ADDRESS + STRIDE上儲存的資料。^此,在資料 際由處理器12存取之前,在此位置上儲存的資料便可於 取。在進一步的具體實施例中,在較大數目N'步幅前(°位 址:—CURRENT — ADDRESS + N* STRIDE)的資料可前地的在大 步幅的比較大的數目N的資料可向前拾取,所以在處理器 實際需要之前’慢的記憶體1 4可具有足夠的時間產生此資 料。N值可適於程式的需要,所以在資料需在處理器之貝 前,預拾取可在資料於快取記憶體的較遠位置上發生。 此預拾取本質從先前技藝是知道。本發明是有關快取吃 憶體重複使用,但是用以維持有關位址流資訊的任何先; 技藝機構可使在本發明。 圖3係顯示用以描述快取記憶體管理單元丨6操作的—流 程圖。在一第一步驟30中,透過處理器1〇送出的一資料位 址可接收。在一第二步驟32中,此位址可與一位址流的 CURRENT 一 ADDRESS值相比較。如果送出的位址不等於位址 流的CURRENT —ADDRESS,快取記憶體管理單元1 6便可重複 處理器所送出的下一資料位址的流程圖。如果送出的位址 等於CURRENT一ADDRESS,快取記憶體管理單元16便可執行 一第三步驟34,以增量CURRENT一ADDRESS。隨後,一第四 及第五步驟3 6、3 8可分別使快取記憶體儲存位置用於主記 憶體位址 CURRENT -ADDRESS-DISTANCE*STRIDE,並且選 °擇
O:\55\55736.ptc 第16頁 501011 _案號 87118311 \ft ^ A a 修正_ 五、發明說明(13) j 性造成預拾取新CUR RENT —ADDRESS的内容。在此之後’流 程圖可從第一步驟重複。快取記憶體管理單元1 6可平行執 行有關不同位址流、或連續不同位址流的這些步驟。
當一"OLDEST_ADDRESS"使用時,如果OLDEST—ADDRESS 是 在CURRENT jDDRESS 與 CURRENT jDDRESS- DISTANCE氺 ST RIDE 之間,第四步驟3 6可使OLDEST_ ADDRESS重複使用,並且將 OLDEST — ADDRESS 改變成OLDEST_ADDRESS + STRIDE。如需 要,此可重複,直到OLDEST_ADDRESS是在 CURRENT—ADDRESS 與CURRENT—ADDRESS- DISTANCE*STRIDE 之間為止。 當資料從處理器1 0寫入快取記憶體1 2而儲存該資料的快 取記憶體位置重複使用於儲存來自另一主記憶體位置的資 料時’需要將該資料拷貝回到主記憶體丨4。對於此目的而 言,快取記憶體管理單元1 6可維持有關相對快取記憶體位 置或快取記憶體位置區塊的"旗號”位元之一表格。正常 上,這些位元可清除,但是當處理器丨〇將資料寫入一快取 記憶體位置時,它結合的旗號位元便可設定。當一快取記 憶體位置重複使用且它的旗號位元設定時,在資料重寫之 前’在^取記憶體位置的資料便要拷貝回到主記憶體。 、到目刖為止’已描述快取記憶體位置如何透過使用位址 ML而可重複使用。此外’該等位址流的使用可避免將資料 從快取S己憶體1 2寫回到主記憶體1 4。此是有關透過處理器 1 0寫入快取記憶體1 2的資料,此將稱為寫資料。通常,在 I於此寫資料的快取記憶體丨2中的儲存位置可重複使用 前’寫資料必須寫回到主記憶體丨4。
O:\55\55736.ptc 第17頁 501011 案號 87118311 五、發明說明(14) 然而,特別的寫資 式,而且稍後便不使 憶體管理單元1 6是否 即,快取記憶體管理 遠超越記憶體位置可 料是否要寫回到主記 當在快取記憶體12 使用時,來自快取記 如果未將"不寫回π 回’因為寫資料需在 體位置可重複使用前 用於寫資料的快取記 未明顯前進。 若要實施”不寫回" 在程式最後使用此資 在快取記憶體管理單 複使用,因為位址流 址。 因此,快取記憶體 址流的資訊,以表示 特殊位址流的資料。 令,對於每個位址流 提供給對應位址流的 此。例如,寫回狀態 或在個別的指令。在 Λα 料只暫時使用在處 用。在此情況中, 將"不寫回"狀態提 單元1 6可保存資訊 重複使用的資料, 憶體1 4。 中用於π不寫回”資 憶體1 2的寫資料便 狀態提供給寫資料 程式的另一部分, 是不執行,因位前 憶體位置必須重複 狀態,例如快取記 料後便將"旗號11位 元1 6使快取記憶體 的目前位址明顯前 管理單元16最好亦 是否可將"不寫回" 而且處理器1 0的指 而言,可表示是否 資料。各種不同類 可包括在定義或開 理器1 0 程式可 供給此 ,只要 該資訊 料的儲 不會寫 ,寫資 該程式 進位址 使用時 憶體管 元清除 位置用 進超過 可保存 狀態提 令組最 將"不 型的指 始位址 無此一指令下,可使用 執行的程 發信快取記 資料;亦 位址流處理 便可表示資 存位置重複 回。但是, 料便可寫 在快取記憶 流或因為當 ,位址流並 理單元1 6可 。理想上, 於資料可重 資料的位 每個特殊位 供給來自該 號包含一指 寫回"狀態 令可用於 流的指令’ 預設狀態
O:\55\55736.ptc 第18頁 501011 案號 87118311 j f〇^ T M 修正 五、發明說明(15) (寫回或不寫回)
1BHI 第19頁 O:\55\55736.ptc 501011
案號 87118311 修正 圖式簡單說明 f WTtA O:\55\55736-.ptc 第20頁

Claims (1)

  1. 501011 _案號 87118311 修正_ 六、申請專利範圍 ί 1. 一種資料處理電路,其包含: -一處理器,用以執行一程式; -一快取記憶體,用以透過該處理器存取快取資料; - 一快取記憶體管理單元,其配置可用以保存有關由 該處理器所存取位址之中的位址流資訊,及用以管理在快 取記憶體中的資料儲存,.其係決定在資料是否對應到來自 位址流的一特定位址,該快取記憶體管理單元可反應該程 式的執行而更新該位址流的目前位址,其特徵為該快取記 憶體管理單元的配置可在重複使用的快取記憶體中產生選 取的儲存位置,快取記憶體中的一儲存位置是使用於對應 可達成重複使用的特定位址的資料,其是決定在與目前位 址有關的特定位址之一位置。 2 ·如申請專利範圍第1項之資料處理電路,該快取記憶 體管理單元可保存該位址流的一距離參數,當特該殊位址 超過目前位址的該距離時,該快取記憶體管理單元便可使 該儲存位置重複使用。 3 ·如申請專利範圍第2項之資料處理電路,該處理器具 有一指令組,其包含用以設定該距離參數之一或多個指 令〇 4 ·如申請專利範圍第1項之資料處理電路,該快取記憶 體管理單元可透過該處理器識別寫入快取記憶體的寫資 料,該處理器具有包含一指令的指令組,該指令用以發信 該快取記憶體管理單元是否在重複使用寫資料儲存的快取 記憶體位置之前,在相同位址上將寫資料從位址流拷貝到
    O:\55\55736.ptc 第21頁 501011 案號 87118311 0 修正 六、申請專利範圍 主記憶體。 5. 如申請專利範圍 體管理單元的配置可 位址何時等於該位址 該偵測而更新目前位 6. 如申請專利範圍 流的該快取記憶體管 料位址的資料預拾取 7. 如申請專利範圍 電路,該快取記憶體 理器所存取的位址之 理單元可反應該程式 目前位址,在快取記 定位址的資料’該特 流,其係決定在有關 址的一位置。 第1項之資料處理電路,該快取記憶 用以偵測由該處理器所送出的一資料 流的一下一預期資料位址,並且反應 址。 第1項之資料處理電路,使用該位址 理單元亦可將來自屬於該位址流之資 到快取記憶體。 第1至6項的其中任何一項之資料處理 管理單元的配置可用以保存有關該處 中的複數個位址流,該快取記憶體管 的執行而單獨更新每個特定位址流的 憶體中的一儲存位置可用於對應一特 定位址是在可重複使用之一特定位址 特定位址流的目前位址之該特定位
    O:\55\55736.ptc 第22頁
TW087118311A 1998-05-08 1998-11-04 Data processing circuit with cache memory TW501011B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP98201513 1998-05-08

Publications (1)

Publication Number Publication Date
TW501011B true TW501011B (en) 2002-09-01

Family

ID=8233700

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087118311A TW501011B (en) 1998-05-08 1998-11-04 Data processing circuit with cache memory

Country Status (6)

Country Link
US (1) US6226715B1 (zh)
EP (1) EP0996891B1 (zh)
JP (1) JP4427187B2 (zh)
DE (1) DE69906006T2 (zh)
TW (1) TW501011B (zh)
WO (1) WO1999059070A2 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
ES2143556T3 (es) 1994-10-12 2000-05-16 Touchtunes Music Corp Sistema de reproduccion audiovisual digital inteligente.
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
US6889242B1 (en) 2001-06-29 2005-05-03 Koninklijke Philips Electronics N.V. Rounding operations in computer processor
US6851010B1 (en) 2001-06-29 2005-02-01 Koninklijke Philips Electronics N.V. Cache management instructions
US6886091B1 (en) 2001-06-29 2005-04-26 Koninklijke Philips Electronics N.V. Replacing VLIW operation with equivalent operation requiring fewer issue slots
JP4067293B2 (ja) * 2001-10-17 2008-03-26 富士通株式会社 キャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータ
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US7051175B2 (en) * 2003-01-17 2006-05-23 Hewlett-Packard Development Company, L.P. Techniques for improved transaction processing
CN1757018B (zh) * 2003-03-06 2010-09-08 Nxp股份有限公司 具有预取装置的数据处理系统、数据预取方法
WO2004079488A2 (en) * 2003-03-06 2004-09-16 Koninklijke Philips Electronics N.V. Data processing system with cache optimised for processing dataflow applications
JP2008512786A (ja) * 2004-09-10 2008-04-24 カビウム・ネットワークス データ構造の選択的複製方法および装置
US7594081B2 (en) * 2004-09-10 2009-09-22 Cavium Networks, Inc. Direct access to low-latency memory
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7380065B2 (en) * 2005-03-30 2008-05-27 International Business Machines Corporation Performance of a cache by detecting cache lines that have been reused
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8108614B2 (en) * 2007-12-31 2012-01-31 Eric Sprangle Mechanism for effectively caching streaming and non-streaming data patterns
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
WO2010055494A1 (en) 2008-11-17 2010-05-20 Nxp B.V. A cache management policy and corresponding device
US20100217937A1 (en) * 2009-02-20 2010-08-26 Arm Limited Data processing apparatus and method
CN102449658A (zh) 2009-03-18 2012-05-09 踏途音乐公司 娱乐服务器及相关的社交网络系统
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
JP5402210B2 (ja) * 2009-04-24 2014-01-29 ヤマハ株式会社 画像処理装置
CA3034363C (en) 2010-01-26 2021-04-06 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CA2970057C (en) 2011-09-18 2023-08-01 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
WO2015070070A1 (en) 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9933980B2 (en) * 2014-02-24 2018-04-03 Toshiba Memory Corporation NAND raid controller for connection between an SSD controller and multiple non-volatile storage units
KR102378718B1 (ko) 2014-03-25 2022-03-24 터치튠즈 뮤직 코포레이션 향상된 사용자 인터페이스를 가지는 디지털 주크박스 장치 및 관련 방법
KR20160028680A (ko) * 2014-09-04 2016-03-14 삼성전자주식회사 데이터 저장 장치와 이의 작동 방법
US9697129B2 (en) * 2015-06-29 2017-07-04 International Business Machines Corporation Multiple window based segment prefetching
US11106588B2 (en) * 2017-11-28 2021-08-31 International Business Machines Corporation Deferred method of allocating disk space for lightning segments
DE102018126546A1 (de) * 2017-12-22 2019-06-27 Odass Gbr Verfahren zur Reduzierung der Rechenzeit einer Datenverarbeitungseinrichtung
US11010067B2 (en) * 2018-12-28 2021-05-18 Intel Corporation Defense against speculative side-channel analysis of a computer system
WO2021035551A1 (en) * 2019-08-27 2021-03-04 Micron Technology, Inc. Write buffer control in managed memory system
WO2023162219A1 (ja) * 2022-02-28 2023-08-31 三菱電機株式会社 キャッシュメモリ制御装置およびキャッシュメモリ制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469402B (sv) * 1991-05-02 1993-06-28 Swedish Inst Of Computer Scien Foerfarande foer att haemta data till ett cache-minne
US5870599A (en) * 1994-03-01 1999-02-09 Intel Corporation Computer system employing streaming buffer for instruction preetching
US5649144A (en) * 1994-06-13 1997-07-15 Hewlett-Packard Co. Apparatus, systems and methods for improving data cache hit rates
US5761706A (en) * 1994-11-01 1998-06-02 Cray Research, Inc. Stream buffers for high-performance computer memory system
US5737565A (en) * 1995-08-24 1998-04-07 International Business Machines Corporation System and method for diallocating stream from a stream buffer
US5958040A (en) * 1997-05-28 1999-09-28 Digital Equipment Corporation Adaptive stream buffers
US5941981A (en) * 1997-11-03 1999-08-24 Advanced Micro Devices, Inc. System for using a data history table to select among multiple data prefetch algorithms
US6105111A (en) * 1998-03-31 2000-08-15 Intel Corporation Method and apparatus for providing a cache management technique

Also Published As

Publication number Publication date
EP0996891A2 (en) 2000-05-03
EP0996891B1 (en) 2003-03-19
WO1999059070A2 (en) 1999-11-18
WO1999059070A3 (en) 2000-03-09
DE69906006T2 (de) 2003-11-27
US6226715B1 (en) 2001-05-01
JP2002514819A (ja) 2002-05-21
DE69906006D1 (de) 2003-04-24
JP4427187B2 (ja) 2010-03-03

Similar Documents

Publication Publication Date Title
TW501011B (en) Data processing circuit with cache memory
KR100567099B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
JP4050226B2 (ja) マルチプロセッサシステムにおける推測的な格納を容易にするl2ディレクトリの利用
US7284102B2 (en) System and method of re-ordering store operations within a processor
JP5142995B2 (ja) メモリページ管理
US20060026372A1 (en) Page replacement method using page information
US8578104B2 (en) Multiprocessor system with mixed software hardware controlled cache management
JPH06348595A (ja) キャッシュ装置
JPH02297645A (ja) データ処理装置およびその高速待ち行列機構
JP4981041B2 (ja) キャッシュする方法、装置及びシステム
JPH0863393A (ja) 多レベル・キャッシュ内のキャッシュ・ミス発生に伴う新しいワード・フラグメントの書き込み方法
JP5059609B2 (ja) メモリへの様々なタイプのアクセスを予測するため、およびキャッシュメモリに関連付けられた予測を管理するための、システム、装置、および方法
EP0796465A1 (en) Scalar data cache for a vector processor
CN101826056A (zh) 数据处理设备和方法
JP4093741B2 (ja) 外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置
JP2008529181A5 (zh)
JPH0950400A (ja) マルチプロセッサシステム
EP1035477A2 (en) Improved cache memory and system
TW200304594A (en) System and method of data replacement in cache ways
JP2009282920A (ja) キャッシュメモリ装置
CN103514107B (zh) 高性能数据缓存系统和方法
JP2006350633A (ja) データ管理方法及びデータ管理システム
US6934810B1 (en) Delayed leaky write system and method for a cache memory
JP5338528B2 (ja) プログラマブルコントローラおよびアプリケーションプログラムの更新方法
JP2010160544A (ja) キャッシュメモリシステム及びキャッシュメモリの制御方法

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees