TW382091B - Resizable and relocatable memory scratch pad as a cache slice - Google Patents

Resizable and relocatable memory scratch pad as a cache slice Download PDF

Info

Publication number
TW382091B
TW382091B TW086113322A TW86113322A TW382091B TW 382091 B TW382091 B TW 382091B TW 086113322 A TW086113322 A TW 086113322A TW 86113322 A TW86113322 A TW 86113322A TW 382091 B TW382091 B TW 382091B
Authority
TW
Taiwan
Prior art keywords
memory
address
cache
instruction
data
Prior art date
Application number
TW086113322A
Other languages
English (en)
Inventor
Moataz A Mohamed
Heonchul Park
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of TW382091B publication Critical patent/TW382091B/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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

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

A7 五、發明說明()
.... - /irk^ 經濟部智慧財產局員工消費合作杜印製 , α 所提之 #正^F 無變更ίκδή^νι^'准予#/正 〇 SPAD[SRp++] S =MEM [Mem_adrS+i]; .· 圖號說明 ^9/奸 1〇〇 記憶體 110 快速記憶體 120 高速緩衝記憶體 130 記憶體暫存區 170 位址 200 多重處理器 210 處理器 212 信號線 214 信號線 216 信號線 218 暫存器 220 尙量處理器 230 高速緩衝記憶體副系統 240 匯流排 242 系統計時器 244 全球非同步接收傳送器 246 位元流處理器 248 中斷控制器 250 匯流排 252 元件介面 254 DMA控制器 26 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) .纖: 一OII td n n I n n n I n^\ n n I ·1 n n A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明U ) ; 1 1 I 具相關領域的已申請文件 1 1 I (1)美國專利申請序號08/697,102,題目:在多媒体 1 1 信號處理器上操作的多重處理器,1996年8月19日申請。 請 弁 J 1 (2)美國專利申請序號08/699,597,題目:在多媒体 閱- 讀 1 I 信號處理器上的單指令多重資料處理,19 96年8月19曰 背 之 1 1 申請。 意 1 I 事 1 發明背景: 項 發明領域: % : 寫 I 本發明是有關於一種系統和方法,Μ掙供處理器更怯 頁 1 1 的記憶体存取速度,尤其是指高速緩衝記億体(ca_chi〇及 1 I 記憶体暫存區(scratch pitd)系統。 1 相關技藝詳述: 1 訂 處理器通常使用的記憶体,此記憶体的存取速度相對 1 I 於處理器內部的時脈速度而言,是相當慢的。爲了加快 1 此處理器的記憶体的存取速度,在高速緩衝記憶体及記 1 I 憶体暫存區內部有相當小量的快速記憶体可被使用。賃R 1 億隹暫存區_一般都迠有處理嘩位址空間的一部份,處理 ( 器執行_程式_時使思暫存器以作更快速的記伊伖存取。記 1 1 愫体暫存_區有一缺點,那就是只能改進位址空間相當小 1 1 1 部份(相似於記憶体暫存區大小)的記懞体皞夸取連萁。 1 1 即使高速緩衝記憶体與處理器的位址空間比起來,是 1 I 相當小的,但一個高速緩衝記憶体仍能夠對整個處理器 Γ 的位址空間或其大部份之記億体作存取,或作存取速度 1 之改進。髙速'緩衝記憶体並不佔據處理器位址空間內之 3 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) A4規格(21 OX 297公釐) 修正+¾矣叟更實?s"'·^丁絛Lc 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明() i 箱 ---------- . ............; 256 主介面 Η 1 258 記憶體控制器 Γ ί 今 262 指命高速緩衝記憶體 k 9. 264 資料高速緩衝記憶體 266 指命高速緩衝記憶體. 268 資料高速緩衝記憶體/記億體暫存® 270 ROM高速緩衝記憶體 280 控制電路 310 資料管線 311 讀出埠_ 312 寫入埠 320 位址管線 323 位址匯流排 3 24 資料位址匯流排 325 指命位址匯流排 330 標記記憶體 335 擊中/失誤計算邏輯 340 多工器 345 多工器 350 記憶體暫存區 355 資料高速緩衝記憶體 360 靜態隨機存取記憶體 362 記憶體區 364 記憶體區 (請先閱讀背面之注意事項‘再填寫本頁)
V t -* .I I I I I n n 一 .口、I n n n n n n n I n n n n I n «I n n I n n n n n I 本紙張尺度適用_國國家標準(CNS)A4規格(210 X 297公f ) A7 B7 五、發明説明(/) ' 經濟部中央標準局頁工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 某特殊部份,但卻包含標記資訊,它能認出高速緩衝記 憶体線內資訊的位址。一般來說,髙'速緩衝記憶体會比 較處理器與標記資訊的位址,以決定是否髙速緩衝記憶 体已有一個有效的信號登錄,此信號登錄可使記憶体位 址被存取。假如這種信號被登錄(也就是說,有個高速緩 衝記億体存取的動作),處理器就存取(讀出進或寫出)更 快的高速緩衝記憶体.。除了標記資訊,一個髙速緩衝記 億体的登錄一般包含:一個”有效的”位元及一個”髒”字 元,它各別指出是否這登錄的聯合資訊是有效的?及是否 這聯合資訊被更換而被寫入更慢的記憶体?假若沒有高速 緩衝記憶体登錄以使位址被存取(也就是髙速緩衝記憶体 失誤),則對更慢的記憶体作存取,需要高速緩衝記憶体 對剛存取的記憶体產生一個新的登錄。髙速緩衝記憶体 會決定那些是最近比較少使用的登錄,然後再以新的登 錄取代。一般來說,程式會對相同的位址重覆存取,所 以,最近常被存取的資料有可能很快再被存取一次,且 會被放於高速緩衝記憶体內,若有需有時會被利用。於 是,髙速緩衝記憶体會改善對處理器內位址空間的存取 時間,但是,過多的動作/失誤的計算,登錄的產生,及 寫回的處理,會使得髙速緩衝記億体處理的速度比記憶 体暫存區要來得慢。 本發明摘要 本發明之一實施例,是在處理器使用快速的記憶体, 它能區分出一袖髙速緩衝記憶体或一個記憶体暫存區。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公瀣) 五、發明說明( A7 B7 修媢 II -¾ 3 ί' ' - J 變示 ΰ所提之 Γ";!ΐ予修正 ρ 經濟部智慧財產局員工消費合作社印製 8bt 办。 366 368 400 510 520 530 ο ο 4 5 記億體區 記億體區 列 指令 指令 指令 令令 旨旨 f ί (請先閱讀背面之注意事項再填寫本頁) 訂---------線-攀· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 經濟部中央標準局員工消費合作社印製 Μ Β7 _____ 五、發明説明(j ) 當一個記憶体暫存區被使用時,記憶体暫存區會佔據處 理器內的一個位址空間,此位址空間可被使用者選擇’ 以取代處理器內相同位址的一個速度比較慢的記憶体。 一個使用者可以铲據特殊的稃式-需求,而潠擇高速瀨衝 記憶体及記憶体暫存區容量的大小,可不需調整程式以 迎合記憶.体暫存區容量的大小。 發明一個實施例裏,處理器裏包含一個單晶片記憶 体,此記億体可被組態成高速緩衝記憶体或記憶体暫存 區使用,處理器執行特殊的指令以操作記憶体暫存區。 一些記億体暫存區的指令在記憶体暫存區興外部記憶体 之間轉換資訊。在本發明的一個實施例裏,記億体暫存 區的指令包含第一與第二範圍,它們能各別指出記億体 暫存區及外部記憶体的儲存位置。在本發明的另一個實 施例裏,記憶体暫存區有一個可讓使用者組態的基底位 址,而記憶体暫存區指令包含一個單一範圍,它能夠在 相同位置指出在記憶体暫存區內的儲存位:置及外部記憶 体的儲存位置。記憶体暫存區指令可以在記憶体暫存區 與外部記億体之間轉換一條或多條的資料線。當單晶片 記億体被組態成髙速緩衝記億体時,資料線的大小會被 選擇成類似髙速緩衝記憶体線的大小,以被使用》 記億体暫存區指令能夠無阻礙地以許多時鐘週期的時 間去完成,使指令並不依賴先前記憶体暫存區指令就可 完成的一般程式順序,而可更有效率地使用處理器的資 源。當指令接著或混雜著記憶体暫存區指令處理資料, 5 1紙張尺度適用不國國ϋ隼(CNS〉A4規格(210X297公釐) : ' (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局員工消費合祚 ΑΊ Β7 五、發明説明(今) 而不被暫存記憶体指令影響,程式因此可使用一個或多 個的記憶体暫存區指令以先抓取資料進入記憶体暫存 區。一旦程式完成處理一堆資料時,資料就可被儲存在 外部記憶体’當其它資料的程序仍然脫離一般正常程式 的秩序,就使用記億体暫存區轉換指令。 圖式之簡單描述 第一圖列舉一個可改變容量大小的記憶体暫存區, 它能在一個位址空間內被放置在不同的位置。 第二圖係本發明之一實施例之處理器的方塊圖。 第三圖係第一圖中之處理器的高速緩衝記憶体之一部 份的方塊圖β 第四圖列舉本發明之一實施例之當執行先抓取或寫 回操作之載入/儲存示意圖。 第五圖列舉本發明之一實施例之程式結構示意圖。 在不同的圖中使用相同的參考符號,指示相同或相似 的項目。 ; 較佳實施例之詳細描述 在第一圖中所示係本發明之一較佳實施例,一個髙速 緩衝記憶体系統包含一個快速記憶体110,它能依使用被 區分爲一個髙速籁聲記憶体..】2Q J λ或一眉記憶体暫存區 。例如,記億体100可以完全被組態成一個高速緩衝 記憶体120,或一個記憶体暫存區130,或部份是高速緩 衝記憶体,部份是記憶体暫存區。當有一個記憶体暫存 區時,S&億体暫存區130佔據處理器位址空間150昀一 6 用中國國家標準(CNS ) Α4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁)
A7 B7 五、發明説明(<) ' 部份,且會取代有相同位址的外部記憶体而被存取。再 且,依據程式的需要,被指定到記憶体暫存區130的位 址可被挑選出來。記億体暫存區130佔據的位址170的 値是在A1與A2之間,然後,被移到位址160,其値在B1 與B2之間。一個使用者可依據特別程式的需要而選擇高 速緩衝記憶体1 20和記憶体暫存區13G的位址和容量大 小,而不需要調整程式去迎合一個固定容量大小及固定 位址的記憶体暫存區。 依據本發明的另一方面來看,髙速緩衝記憶体系統 是位在可實行記億体暫存區操作特殊指令的處理器之內 部,這些指令的一部份替處理器在記億体暫存區及外部 記憶体之間轉換資料。另外的指令預取或寫回高速緩衝 記憶体的資料線。 經濟部中央標準局員工消费合作社印製 (請先閲讀背面之注意事項再填寫本頁) 第二圖顯示出一個本發明之一多重處理器200實施 例的方塊圖,重處理器200是一個積体電路,它包含一 個一般用的處理器210及一個向量(vector)聯合處理器 220。處理器210及220藉著信號線212、2J4及或 延伸暫存器218彼此連繫,此延伸暫存器218是由處理 器210及220共同分用。處理器210及220透過一個高 速緩衝記億体副系統2 30連接至另一個單晶片元件’髙 速緩衝記憶体副系統230含有一指令髙速緩衝記憶体262 及一資料髙速緩衝記億体264與處理器210連通’另含 有一指令髙速緩衝記億体2 66及一資料高速緩衝記憶体/ 記憶体暫存區·268與向童(vector)聯合處理器220連通。 7 ___________ 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X29*7公釐) 經濟部中央標準局員工消費合作社印製 A7 _B7__ 五、發明説明(V ) 髙速緩衝記億体副系統230也包含一個ROM高速緩衝記 憶体27Q及控制電路280。髙速緩衝記億体副系統230連 接處理器210、220到兩個匯流排240、250,它本身居於 處理器210、220及與匯流排240、250相連接的元件之 間,當作它們的轉換站。在上述之美國專利申請案號 08/697102更進一步的描述高速緩衝記憶体副系統當作轉 換站的操作。系統匯流排2 50被當作F匯流排,它在一 個比匯流排240高的時脈頻率操作,且被連接至快速元 件例如一個元件介面252、一個PMA(iL接記憶体存取)控 制器、一個主介面256及一個記億体控制器258。記. 憶体控制器258、主介面256及元件介面252提供介面給 一個外部記億体、一個主電腦、及不同的類比/數位、數 位/類比轉換器》DMA控制器254在外部記憶体與連接至 元件介面2 52的碼之間控制DMA操作。系統匯流排240 被當作I 0匯流排240,其連接至速的元件例如系統計時 器(Timer) 242、一個UART(全球非同步接收傳送器)244、 一個位元流處理器246及一個中斷控制器248。 處理器210及220執行分離的程式線,且爲了可更 有效率地執行特殊任務,所以結構不同,。本發明的一實 施例中,處理器210是以ARM 7的結構去實現的,ARM 7的 介紹可參考” ARM7DM”的資料書(data sheet),文件號碼 ARM DDI 001 0G,它出自於,’Advance RISC Machine.s Ltd.” 公司;而向量處理器220的實現,可參考美國專利申請 序號08/6 99 5 9々。處理器210執行一個即時的操作系統, ____ 8 本紙張尺度適用中國國家標準(CNS ) A4規格(21〇'乂297公您) ' 一 (請先閲讀背面之注意事項再填寫本頁) 訂 ΑΊ ____Β7______ 五、發明説明(y ) , 除了例行的處理器210、220外,一般的處理不需要大量 的重覆計算。處理器210也控制向量處理器2 2 0的初始 化 '啓始及停止。向量處理器2 2 0則是處理數字的消化 (number crunching),包含重覆 的操作大量在多媒体處 理常見的資料區。依據本發明的一方面來看,被向量處 理器220執行的程式能被組態成資料高速緩衝記憶体/記 憶体暫存區2 68以包含一個記憶体暫存區,然後載入記 憶体暫存區,全部或部份的資料區被處理。向量處理器220 能很快地存取在記憶体暫存區裏的資料,因爲資料髙速 緩衝記憶体/記億体暫存區268包含一個快速記億体,且 記憶体暫存區作經常的高速緩衝記億体的操作並不慢。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 第三圖顯示出髙速緩衝記憶体系統230的一個實施例 的方法圖,在此實施例中,高速緩衝記億体副系統220 是一個直接繪製(mapped)的高速緩衝記憶体,它包括一 個控制電路280、一個資料管線(pipeiine)310、一個位 址管線320、一個標記(tag)記億体330及一個靜態隨機 存取記憶体360。靜態隨機存取記憶体360是被分成四個 記億体區362、364及368 ,其與(指令髙速緩衝記億体262 及一資料髙速緩衝記憶体264)及(指令髙速緩衝記憶体 266及一資料髙速緩衝記憶体/記憶体暫存區268 )結合。 在本發明的一個實施例裏,靜態隨機存取記憶体3 60被 組織成可提供一個64位元組(byte)的高速緩衝記憶体 線,且每一個記憶体區間362、364及366包含16條髙 速緩衝記憶体鎳或1 KB(—仟位元組)的資訊儲存》記億 9 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) Μ Β7 _ 1 1 ""1 1 * 1 1 " τ- _ 丨丨,, _7· *' ' ' '"* ' 五、發明説明($ ) ' 体區間3 6 8的大小是4 KB,其可擴充至64byte的髙速緩 衝記憶体線,或可擴充至4KB的記憶体暫存區。靜態存 取記億体3 60具有雙埠,其分別是讀出卑312及寫入埠 311,可允許同時讀出及寫入靜態隨機存取記憶体360。 在本實施例中,每一個讀出埠312及寫入埠311皆是256 位元(32字元)的資料埠。 靜態隨機存取記憶体3 60係當作高速緩衝記憶体,一 個標記記憶体330包含標記資訊位元以用於髙速緩衝記 憶体2A2.、2LM、及2J8,其各別區分爲區間3 32、334、 336及338以對應記憶体區間362、364、366及368。標 記資訊包含每一個髙速緩衝記憶体線的一個標記、兩個 有效位元、兩個不潔的(dirty)位元、及使用資訊。每一 個有效位元及不潔的(dirty)位元對應至一個高速緩衝記 憶体線的一半(32字元),其相等於單獨一個讀出與寫入 操作資料轉換的量。每一個不潔的(dirty)位元表示一個 軍獨256位元寫入到外部記憶体,且每一;個有效位元表 示一單獨256位元從外部記憶体被寫入。被使用過的位 元是用來登錄代替圖表,它用來產生一個新的登錄。 經濟部中央標隼局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 位址管線320藉著一個位址匯流排3 23連接至處理 器210,向量處理器220藉著一個資料位址匯流排324及 一個指令位址匯流排325、10匯流排240及F匯流排250 提供位址給標記記憶体330以擊中/失誤(hit/miss)計 算》兩個位址,一個讀出位址、一個寫入位址,能同時 被標記記憶体' 3 3 0應用。位址管線3 2 0的每一個位址, 10 本紙張又度適用中國國家標準(CNS ) A4規格(210X 2'97公釐) ~ 經濟部中央標準局貝工消費合作社印製 A7 B7 五、發明説明(7 ) ' 擊中/失誤(hit/miss)計算邏輯3 3 5得到一個索引檔 (index)(—個讀出索引檔或一個寫入索引檔)從位址(讀 出位址或寫入位址)以在區間3 3 2、3 34、3 3 6或3 3 8裏確 認一個標記値。標記記憶体3 3 0使用的區間依靠位址源。 擊中/失誤(hit/raiss)計算邏輯3 35將確認的標記値與 最具含義(significant)的位址位元作比較,以決定是否 聯合資料髙速緩衝記億体262、264、266或26 8包含一 個相對應於位址的登錄》 如果有一個讀出位址擊中(hit),標記記憶体330使 用讀出索引檔(index)以輸入多工器340的輸入端。讀出 索引檔(index)在髙速緩衝記憶体線聯合讀取位址裏確認 靜態存取記億体360裏的資料》多工器340被位址管線320 控制,使用讀出索引檔到靜態存取記億体3 6 0,從聯合髙 速緩衝記憶体線裏來的資料,其藉著讀出埠312和資料 管線310而可被使用》位址管線32G提供得自於六個最 不具含義(significant)的位址信號;線一個補償 (offset),它能確認從高速緩衝記憶体線裏的需求資料。 假如有一個髙速緩衝記憶体其讀取位址失誤,所以其存 取至外部記憶体是必要的。對應到讀出位址信號的來源 (處理器210或2 20 )和形式(資料或指令)的標記記憶体區 間332、334、336或3 38就會有一個登錄產生。而從1〇 匯流排240及F匯流排250來的位址就沒有登錄產生。 假如有一個寫入位址被擊中(hit),標記記憶体330 沿寫入索引檔癯多工器345至靜態存取記憶体360 〇此 11 本紙張尺度適用中國國家標準(CNS ).A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) • —^ϋ—·V 、τ
Cr ΑΊ Β7 五、發明説明(\ 〇 ) 、 時,從資料管線310來的資料藉著寫入埠311就能被寫 入靜態存取記憶体36G,而有效位元被設定指出聯合髙速 緩衝記憶体線是不潔的。假如有一個髙速緩衝記憶体寫 入從處理器210或220來的位址發生失誤,在資料被寫 入靜態存取記憶体360前,一個新的登錄就會產生。登 錄的產生是在對應到讀出位址信號的來源(處理器210或 220 )和形式(資料或指令)的標記記億体3 30的區間334 或 338。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 依據本發明的另一面來看,記憶体區間368並沒有、 有部份或全部能被組態成記憶体暫存區3 5 0。在本發明的 —實施例中,延伸暫存器218包含一個組態成記憶体暫 存區350的暫存器SPERG。在暫存器SPERG中,一個2位 元區域SPIZE指示出一個0、1、2或4 KB的記憶体暫存 區3 50的容量大小,一個區域SPBAZE指示出一個記憶体 暫存區35 0的基底位址。(特別的區域SPBASE從處理器200 的一個基底位址指示出一個補償)位址管線320將(輸 入讀出和寫入位址)和(記億体暫存區350的基底位址)作 一比較,以決定是否輸入位址對應到記憶体暫存區350。 假如位址對應到記憶体暫存區35 0,就不需要擊中/失誤 (hit/miss)的計算,且位址管線3 2 0從一個輸入位址抽 出一個記憶体暫存區讀取索引檔或一個記憶体暫存區寫 入索引檔。多工器340或345沿著記億体暫存區讀取索 引檔或記憶体暫存區寫入索引檔到靜態隨機存取記憶体 3 6 0。爲了實辑可改變的髙速緩衝記憶体和記憶体暫存區 __ _12_____ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) kl B7__ 五、發明説明() ' 的容量大小,記憶体區間2 6 8包含四個i Κ B的副區間, 它包含標記資訊338的聯合副區間。SPSIZE區間指示出 是否0' 1、2或全部4個在記憶体區間268之內的副區 間是因記憶体暫存區350被反轉的。使用於索引檔與標 記値的位址位元數目,可依據髙速緩衝記憶体的容量大 小作調整。擊中/失誤(hit/miss)計算邏輯3 35的區間 對所有(如采仕何)被指足到記憶体W仔區之記億体 區間268·的副區間是被設置爲不動作的,且標記登錄的 產生是被限制於聯合向量資料高速緩衝記憶体335之標 記資訊3 3 8的副區間,因此,快速存取的動作被提供到 沒有經常(overhead)作髙速緩衝記憶体操作的單晶片記 憶体。 向量處理器2 20完成特殊指令使可有效的使用記憶 体暫存區35G。附錄包含一個本發明之一實施例的預取及 寫回指令的描述。預取指令從外部記憶体拷貝資料到記 憶体暫存區3 50。記憶体暫存區3 5 0內的資料能被比外部 記憶体的資料存取得更快,甚至也比向量資料高速緩衝 記憶体3 35內的資料存取更快,因爲對外部存取記憶体 作較慢的存取是不被需要的。因此,在記憶体暫存區3 50 內的資料的處理速度能比「假如資料是被保存在外部記 憶体且藉著一個髙速緩衝記憶体被存取」要來得快。寫 回指令從記憶体暫存區3 50寫資料回到外部記憶体,且 當向量處理器2 2 0完成處理一堆資料時,該寫回指令可 被使用。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (请先閱讀背面之注意i 丨— ^ n - |項再填寫本頁) V Hi· 1 、 1 vm mu tl^n -nn eBflu 、va 經濟部中央標準局員工消費合作社印製 A7 ___B7 五、發明説明(丨>) (請先間讀背面之注意寧項再填寫本頁) 依據本發明的另一方面來看,每一個預取或寫回指 令能搬移很多的資料線》因此,搬移一大塊資料只需要 執行相當少的預取或寫回指令,但每一個指令需花許多 時脈週期的時間去完成。例如,在本發明的一個實施例 中,一個指令VPFTCHSP.x搬移X條資料線,在此,x代 表1、2、4或8,且每一條線包含64位元組。寫入埠311 是一個32位元組(256位元)的埠,所以每一條線被搬移 最少需要兩個寫入靜態存取記憶体360。因此,最少16 個寫入是需要的以完成一個指令VPFTCHSP.8的動作,且 每一個寫入需要許多的時脈週期時間以從外部記憶体存 取需要的資料。 經濟部中央標準局員工消費合作社印製 使用兩個指令形式之一就能夠實行預取及寫回指 令》第一個指令形式使用兩個有效的位址,一個指示在 記憶体暫存區3 5 0內的一個位址,而另一個在外部記憶 体內。記憶体暫存區3 50之有效位址能被一個索引檔指 出,該索引檔是由記憶体暫存區350的基底位址來的一 個補償(off set)〇第二個有效位址相對於外部記億体且 使用任何的位址圖(addressing scheme)’該位址圖可在 一個指令句子內被利用。 第二個指令形式使用一個單一有效的位址,該位址 能確認兩値儲存位置,一個是記憶体暫存區35G另一個 是外部記億体。SPREG暫存器的區域SPBASE指示出記億 体暫存區350的基底位址,且能夠被設定到相對於一個 外部記憶体的?立址,所以在記憶体暫存區350內的位址 14 ___ 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) 經濟部中央標隼局員工消費合作社印製 A7 B7 五、發明説明() 是一對一(one to one)的符合外部記憶体內的位址。當 對記憶体暫存區3 5 G而不對速度較慢的外部記憶体作一 般的讀出及寫入的動作時’記憶体暫存區350就更有效 率的替代外部記億体內的一區間。預取和寫回指令使用 一個第二指令形式在記憶体暫存區350內的儲存位置及 在外部記憶体內的相對替換儲存空間之閭搬移資料。 依據本發明的另一方面來看,當處理器220完成這指 令時,預取和寫回指令是無法避免停止或稍爲停止。特 別是,在程式的程序中,在預取和寫回指令之後來的指 令,若沒有依據,則其能夠發出、執行和完成亂序(out of order ) ° 第四圖顯示在向量處理器2 20內執行載入及儲存的 載入/儲存單元的一個執行列400的方塊圖。列400包含 多重的登錄401至40 6。當向量處理器220解碼一個多條 線的預取或寫回_,多重的分離登錄就會被產生在列400 裏。在第四圖中,四個髙速緩衝記憶体臉的預取或寫回 操作就會產生四個操作OP-A、OP-B' 0P-C及0P-D它顯 示於登錄401至404。0Ρ-Α、OP-B、0P-C及0P-D中的每 一個指令就會轉換資料的一條線。這些操作取決於彼此 之間,因爲,所有的增加和使用相同的索引檔存取記憶 体暫存區3 50。其它遵循預取或寫回操作的操作就能夠被 載入列400。例如,一個載入操作和一個儲存操作各別被 載入登錄405和406,比較在列400裏操作的區間値,可 指示出是否有‘依賴關係或資源抵觸,若沒有依賴關係或 ___ 15 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (请先閱讀背面之注意事項再棋寫本頁) -—表-
、1T 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(、十) . 資源抵觸存在,指令就能被依正常的程式順序執行》〇卜 A、OP-B、OP-C及OP-D允許在登錄405選擇和完成載入 ' 操作,且/或在任一 OP-A、OP-B、OP-C及OP-D操作完成 之前(如果它們之間沒有依賴關係)在登錄40 6作儲存操 作。 第五圖列舉一個程式結構,該程式處理例如視訊編 碼及解碼應用的資料堆。在第五圖的程式結構,指令510 預取一個初始資料堆到記憶体暫存區3 50的第一部份。 指令530預取下一個資料堆到記憶体暫存區350的第二 部份,它跟在指令520之後,但在指令54 0之前,指令530 是處理資料的初始値。因爲預取指令是(non block),且 因爲指令540存取記憶体暫存區35 0的一部份,而不被 指令530影響,所以當執行程式時,指令540與指令530 能被同時完成。所以,不使用指令530之後的指令540, 指令5 30與540能與處理中的資源的有效利用混合,因 爲在時脈週期的時間中,當每一個預取指:令是暫時停止 而其它的指令能被發出和執行亂序(out of order) »接 著在取記憶体暫存區3 5 0內的資料堆之處理之後,指令 550將區間寫回外部記億体》 依據本發明的另一部份來看,爲向量處理器220而 設的指令包含資料髙速緩衝記憶体355之預取指令和寫 回指令,附錄包含一個髙速緩衝記憶体預取指令VPFTCH 和髙速緩衝記憶体寫回指令VWBACK之例子的描述。這些 高速緩衝記億体預取指令和髙速緩衝記憶体寫回指令是 16 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ·1 j m· 1^1 - -! 11— I -- I · —in n 、* (請先閱讀背面之注意事項再填寫本頁) 一^m^i nn ^^^^1 —HI— ^ fs- i Bnn —^n 、-口-R} 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(i<) ‘ 與記憶体暫存區指有相同的部份’此相同的部份就是一 個信號指令能夠搬移很多條介於靜態隨機存取記憶体36 0 與外部記憶体之間的髙速緩衝記憶体資料線。高速緩衝 記憶体之預取指令和記憶体暫存區指令在某方面是不同 的,不同點是對每一條儲存在資料髙速緩衝記憶体355 的線來說,一個標記是被儲存在標記記憶体。髙速緩衝 記憶体寫回指令是寫到外部記憶体的全部或部份的髙速 緩衝記憶体的線,此線是不潔的及對應到連續的高速緩 衝記憶体線。這聯合的不潔位元是清楚的。髙速緩衝記 憶体預取指令和寫回指令提供另外的程式控制髙速緩衝 記憶体操作,尤其是,允許一個程式在資料被處理之前 先預取資料進入資料髙速緩衝記憶体355 ^ 所以,當處理資料開始時,存取到較慢的外部記憶体 的程式,其執行速度是不會慢的。 記憶体暫存區之預取指令.、寫回指令和高速緩衝記憶 体之預取指令、寫回指令能被一種叫做”開始(start)”的 編譯程式使用,以產生更快的執行碼。例如,一個編譯 程式能夠認出一組指令存取一個處理器位址空間之一個 特別的部份,及產生一個被指定到該位址空閭之特別的 部份的記億体暫存區。記憶体暫存區的資料是被預取以 執行及之後寫回以一種相對於程式來說是相當淸楚的方 法。當程式需求時,記憶体暫存區能夠在之後被i旨定至 位址空間的另一部份》髙速緩衝記億体之預取指令、寫 回指令能被相同的方法使用,亦即預載入一倜含有資料 17 _ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29々公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 ^1. A 7 B7_____ 五、發明説明(乂) ^ 被重覆用的髙速緩衝記憶体》 然雖本發明被以一種特別實施例描述,但其描述僅 是本發明使用的一種例子而已,並非用以限定其本發明。 凡對本發明的各種不同調整與及本發明所描述之特徵的 組合,仍然不脫離本專利範圍之內。 附錄 本附錄描述指令句子,此指令句子係在在第二圖中所 示之多重處理器200之一實施例從一個髙速緩衝記憶体 和一個記憶体暫存區執行控制預取和寫回操作。此指令 是向是向是處理器220之實施例的指令組的一部份。美 國專利申請案號08/699597,包含一組完全指令組的描 述。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 每一個下列所述之指令,其存取多重記憶体位置, 且需要一個外部記億体之有效位址ΕΑ<3ί:0>。指令的形 式(format)係依指令位址模式而定。一種嘭式是用於一 種操作,.此操作是”有效位址EA<3i:0>是從第一個暫存器 和一個從第二個暫存器來的索引檔之間一個位址的總 和”。另外的形式則是用於另一操作,此操作是”有效位 址EA<31:0>是從第一個暫存器和一個從指令來的立即値 之間的總和”。如果有需要,有效位址有時會被簡略的’ 以排列成一個64位元組的邊界。假如有效位址是無效的 (inval id),就有一個例外會發生。 對下列的’每一個指令來說,一個區域(field)LN指 _18_______ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A7 B7 五、發明説明(17 ) 示出64位元組髙速緩衝記憶体線或64位元組資料堆轉 換的數目。如果LN = 00,一個64位元組高速緩衝記憶体 線或64位元組資料堆被轉換。如果LN = 〇l,二個64位元 組髙速緩衝記億体線或64位元組資料堆被轉換。如果 LN = 1 Q,四個64位元組高速緩衝記憶体線或64位元組資 料堆被轉換。如果LN = U ’八個64位元組高速緩衝記憶 体線或64位元組資料堆被轉換。因此,一個單一指令能 被轉換至5 1 2資料的位元組。
預取指令-------VPFTCH 指令VPFTCH預取在外部記憶体內有效位址EA<31:0> 開始的多個髙速緩衝記憶体線’然後進入向量處器220 的資料高速緩衝記億体。 指令VPFTCH有兩個形式,今列於表A.1和A.2。 請 閱 讀, 背 & 之 注 意 事 項 再 奢 訂 經濟部中央標準局員工消費合作社印製 表A. 1 VPFTCH形式 界域(field) 位元 描述(description) <32:24〉 00000110 <23:22> 木使用(unused) LN <21:20> 高記憶体線的數目 <19> 0 A <18> <17:10> SRb <9:5> 位址暫存器 SRi <4:0> 位址索引檔暫存器 19 本紙張尺度適用中國國家棣準(CNS ) A4規格(210X297公楚:) A7 B7 五、發明説明(丨δ) ! 表Α.2 VPFTCT{的形式附帶一個立即値。 界 域(field) 位元 描述(description) <32:24> 00000110 <23:22〉 不使用(unused) LN <21:20> 高51»記憶体線的數目 <19> 0 A <18> MM <7:5> <17:15〉 立即値補償(immediate value offset) <14:10〉 不使用(unused) SRb <9:5> 位址暫織 IMM <4:0> <4:0> 立即値補償(immediate value offset) (請先閔讀背面之注意事項再填寫本頁) " 經濟部中央標準局員工消費合作社印製 組合句子 VPFTCH. In SRb、SRi
VPFTCH.1n SRb 、 #IMM VPFTCH. In SKb+、SRi VPFTCH. In SRb+ ' #IMM ; 在此處 1 n = {1、2、4、8 } » 指令VPFTCHSP預取到記億体暫存區 指令VPFTCHSP預取多個64位元組資料堆到向量處理 器220的記憶体暫存區3 50,該資料是在外部記憶体內有 效位址EA<31:0>開始的》指令VPFTCHSP有兩個形式,今 列於表A. 3和A.4。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A7 B7 五、發明説明(J) 表A. 3 VPFTCHSP的形式 職(field) 位元 描述(description) <32:24> 00000110 <23:22> ^ffi^iunused) LN <21:20> 髙記憶讎的數目 <19> 1 A <18> <17:15〉 不<(£^(unused) SRp <14:10〉 記憶体暫存區索引檔 SRb <9:5> 位址暫· Sri <4:0> 位址索引檔暫存器 表A. 4 VPFTCHSP的形式附帶一個立即値 界域(field) 位元 描述(description) <32:24> 00100110 <23:22> 不使用(unused) LN <21:20> 高》«記憶体線的數目 <19> 1 A <18> MM <7:5> <17:15> .3ΪΙΡ値補償(immediate value offset) SRp <14:10〉 記憶体暫捧區索引檔 SRb <9:5> 位址暫存器 EMM <4:0> <4:0> 立即値補償(immediate value offset) 經濟部中央標準局員工消費合作社印製 有效位址EA<3 1:0>提供在外部記憶体內的開始位址, 暫存器SRp提供記億体暫存區內的開始位址。假如有效 位址EA<31:0>並不在64位元組邊界,它就是第一個簡略 以被排成64位元組邊界。假如記憶体暫存區指示器在SKp 的位址並非在64位元邊界,它亦是一個簡略以被排成64 位元組邊界。排成的記億体暫存區指示器位址是以被轉 本紙張尺度適用中國國家標準(CNS ) a4規格(210X 297公釐) A7 __B7 五、發明説明(y°) 換的位元組數目而增加。如果兩個位址都是無效的,那 麼無效的資料位址反對發生存在。 組合句子 VPFTCHSP. In SRp、SRb、SRi VPFTCHSP. In SRp、SRb、#IMM VPFTCHSP. In SRp ' SRb+ ' SRi VPFTCHSP. In SRp ' SRb+ ' #I MM 在此處 ln={l、2、4、8}。 操作 EA= SRb + { Sri | | sex(IMM<7:0>) }; 如果(A= =1 ) SRb = EA ;
Num_bytes={64 I |128| |256| 1512};
Mem_adrs = EA<31:6>:6bΌ00000; SRp = SRp<31 : 6> : 6bOOOOOO;
For C i = 0 ; i < Num_bytes; i ++) SPAD[SRp++] = MEM [Mem_adrs+i];: VWBACK寫回 經濟部中央標準局員工消費合作社印製 (请先閱讀背面之注意事項再填寫本頁) 如果髙速緩衝記憶体線包含調整過的資料,則指令 VWBACK就寫多個高速緩衝記慷体線,寫的動作是從具有 —個被有效位址EA指定索引檔(當相對一個標記配合到 有效位址E A )的髙速緩衝記憶体線,到外部記憶体。如果 超過一條髙速緩衝記憶体線被指定,如果記憶体包含調 整的資料,則·序列的高速緩衝記憶体線就會被更新至記 22 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X 297公釐)
A7 7 B 經濟部中央標準局員工消費合作社印製 五、發明説明(>/) 憶体。 VWBACK有兩個形式,今列於表A.5和A.6。 表A. 5 VWBACK的形式 界域(field) 位元 描述(description) <32:24> 00010110 <23:22> 不使用(unused) LN <21:20> 髙MM記憶体線的數目 <19> 0 A <18> <17:10> SRb <9:5> 位址暫存器 SRi <4:0> 位址索引檀暫存器 表A.6 VWBACK的形式附帶一個立即値 界敏field) 位元 描述(description) <32:24〉 00110110 <23:22> 不使用(unused) LN <21:20> 髙Μ»記憶体線的數目 <19> 0 A <18> MM <7:5> <17:15〉 立即値輝賞(immediate value offset) <14:10> 不使用(unused) SRb <9:5> 位址暫存器 MM <4:0> <4:0> 立即値補償(immediate value offset) 組合句子 VWBACK. In SRb ' SRi VWBACK. In SRb、#IMM VWBACK.In SRb+ 、 SRi 23 -" @— (請先閲讀背面之注意事項再填寫本頁) 本紙張又度適用中國國家標準(CNS ) A4規格(210X297公釐) 11訂 A7 Β7 五、發明説明(〆〇
VWBACK.In SRb+ 、 #IMM 在此處 ln=U' 2、4、8}。 VWBACKSP從記億体暫存區寫回 從記憶体暫存區轉換多個64位元組堆到記億体》有 效的位址EA是外部記憶体內的開始位址,且暫存器SRp 提供一個記憶体暫存區指示器位址SPAD。如果需要,從 暫存器SRp來的記憶体暫存區指示器位址SPAD是被簡略 以被排成64位元組邊界。排成的記憶体暫存區指示器位 址SPAD是以被轉換的位元組數目而增加。表A. 7和A. 8 列舉VWBACKSP指令的兩個形式。 —, ^---一--α-- (请先閲讀背面之注意事項再填寫本1) 經濟部中央標準局員工消費合作社印製 表A. 7 VWBACKSP的形式 界域 (field) 位元 描述(description) <32:24> 00010110 <23:22〉 不使用(unused) LN <21:20> 髙記憶体線的數目 <19> 1 A <18> <17:15> 不使用(unused) SRp <14:10> 記憶体暫存區索引檔 SRb <9:5> 位址暫存器 SRi <4:0> 位址索引檔暫存器 本紙張尺度通用中國國家榡準(CNS) A4規格(2ωχ297公楚) A7 _____ B7_ 五、發明説明(>^ ) , 表A. 8 VWBACKSP ^附帶一個立即値 界域 (field) 位元 描述(description) <32:24> 00110110 <23:22〉 不使用(unused) LN <21:20> 1 髙記憶体線的數目 <19> 1 A <1B> MM <7:5> <17:15> 3ΪΙΡ 値補償(immediate value offset) SRp <14:10> 記憶体暫存區索引檔 SRb <9:5> 位址暫織 MM <4:0> <4:0> 立即値補償(immediate value offset) (*先閱讀背面之注意事項再填寫本頁) VWBACK與 VWBACKSP使用相同的〇ρ碼。 組合句子 VWBACKSP. In SRp、SRb、SRi
VWBACKSP. In SRp、SRb、#IMM VWBACKSP.In SRp' SRb+、 SRi VWBACKSP. In SRp、SRb+、# I Mif 在此處 ln={ 1、2 ' 4、8} » 操作 EA= SRb + 丨 Sri | | sex(IMM<7:0> ) }; 如果(A= =1) S R b = E A ;
Num_bytes=(64 | | 128 | | 256 | | 512}; Mem_adrs = EA<31:6> : 6bΌ00000; SRp = SRp<3i : 6> : 6b,000000;
For (i = 0 ; i < Num_bytes; i + +) 25 _ _ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X:297公釐) 、-° 經濟部中央標準局員工消費合作社印製 A7 五、發明說明()
.... - /irk^ 經濟部智慧財產局員工消費合作杜印製 , α 所提之 #正^F 無變更ίκδή^νι^'准予#/正 〇 SPAD[SRp++] S =MEM [Mem_adrS+i]; .· 圖號說明 ^9/奸 1〇〇 記憶體 110 快速記憶體 120 高速緩衝記憶體 130 記憶體暫存區 170 位址 200 多重處理器 210 處理器 212 信號線 214 信號線 216 信號線 218 暫存器 220 尙量處理器 230 高速緩衝記憶體副系統 240 匯流排 242 系統計時器 244 全球非同步接收傳送器 246 位元流處理器 248 中斷控制器 250 匯流排 252 元件介面 254 DMA控制器 26 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) .纖: 一OII td n n I n n n I n^\ n n I ·1 n n 修正+¾矣叟更實?s"'·^丁絛Lc 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明() i 箱 ---------- . ............; 256 主介面 Η 1 258 記憶體控制器 Γ ί 今 262 指命高速緩衝記憶體 k 9. 264 資料高速緩衝記憶體 266 指命高速緩衝記憶體. 268 資料高速緩衝記憶體/記億體暫存® 270 ROM高速緩衝記憶體 280 控制電路 310 資料管線 311 讀出埠_ 312 寫入埠 320 位址管線 323 位址匯流排 3 24 資料位址匯流排 325 指命位址匯流排 330 標記記憶體 335 擊中/失誤計算邏輯 340 多工器 345 多工器 350 記憶體暫存區 355 資料高速緩衝記憶體 360 靜態隨機存取記憶體 362 記憶體區 364 記憶體區 (請先閱讀背面之注意事項‘再填寫本頁)
V t -* .I I I I I n n 一 .口、I n n n n n n n I n n n n I n «I n n I n n n n n I 本紙張尺度適用_國國家標準(CNS)A4規格(210 X 297公f ) 五、發明說明( A7 B7 修媢 II -¾ 3 ί' ' - J 變示 ΰ所提之 Γ";!ΐ予修正 ρ 經濟部智慧財產局員工消費合作社印製 8bt 办。 366 368 400 510 520 530 ο ο 4 5 記億體區 記億體區 列 指令 指令 指令 令令 旨旨 f ί (請先閱讀背面之注意事項再填寫本頁) 訂---------線-攀· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)

Claims (1)

  1. 經濟部中央標準局員工消費合作社印製 六、申請專利範圍 1. 一種高速緩衝記憶体系統(cache system),包含: 一個記億体;和 控制電路,控制對記憶体的資料存取,此控制電路是可 任意組態的,使得記憶体的第一部份可被當作類似高速 緩衝記憶体而被存取,而記憶体的第二部份可被當作類 似記憶体暫存區而被存取。 2. 如申請專利範圍第1項所述之高速緩衝記憶体系統, 其中該控制電路包含: 一個標記記憶体;及 一個位址管線,可接收輸入位址信號;從相對應至記憶 体的第二部份的位址信號產生一個索引檔(index)去確認 一個在記憶体的第二部份的儲存位置;且沿著非對應至 記憶体第二部份的位址信號到標記記憶体,以作擊中/失 誤(hit/miss)的計算。 3. 如申請專利範圍第2項所述之髙速緩衝記億体系統, 其中該標記記憶体被分成一個聯結記憶体莬一部份的第 一區間(section),和一個聯結記憶体第二部份的第二 區間,其中該擊中/失誤(hit/miss)的計算對標記記憶体 的第二區間來說,是不動作的(disabled)。 4. 如申請專利範圍第3項所述之高速緩衝記憶体系統, 其中該高速緩衝記憶体登錄産生(cache entry creation) 對標記記憶体的第二區間(section)是不動作的 (disabled)。· 5. —種處理器包含: ______ 1 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁)
    經濟部中央標準局員工消費合作社印製 A8 B8 38S0S1___ 六、申請專利範圍 一個記憶体;和 高速緩衝記億体控制電路,控制對記憶体資料的存取, 此髙速緩衝記憶体控制電路是可任意組態的,使得記憶 体的第一部份可被當作類似高速緩衝記憶体而被存取, 而記憶体的第二部份可被當作類似記憶体暫存區而被存 取。 6. 如申請專利範圍第5項所述之處理器,其中更包含一 個暫存器界域,它可選擇記憶体第一部份的容量大小》 7. 如申請專利範菌第5項所述之處理器,其中更包含一 個暫存器界域,它可選擇一個基底位址用於記憶体第二 部份。 8. —種操作一個處理器的方法,包含: 從一個指令內抽出一個第一値,指示出一個在單晶片記 憶体內之第一有效位址; 從上述指令內抽出一個第二値,指示出一個在外部記億 体內之第二有效位址;. : 從上述指令內抽出一個第三値,指示出一些資料線以被 轉換;和 在「單晶片記憶体內之第一有效位址開始的序列位址」 和「外部記憶体內之第二有效位址開始之序列位址」之 間,搬移上述”一些資料線”。 9. 如申請專利範圍第8項所述之操作一個處理器的方法, 其中該單晶片記憶体是一記憶体暫存區。 10. 如申請專利範圍第8項所述之操作一個處理器的方 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先Μ讀背面之注意事項再填寫本頁) 訂 P. 六、申請專利範圍 A8 B8 C8 D8 法,其中更包含執行一第二指令亂序當搬移上述”一些資 料線”時。 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 3 本紙張尺度適用中國國寒標準(CNS )八4規格(210 X 297公釐)
TW086113322A 1996-10-18 1997-09-13 Resizable and relocatable memory scratch pad as a cache slice TW382091B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/733,818 US5966734A (en) 1996-10-18 1996-10-18 Resizable and relocatable memory scratch pad as a cache slice

Publications (1)

Publication Number Publication Date
TW382091B true TW382091B (en) 2000-02-11

Family

ID=24949228

Family Applications (1)

Application Number Title Priority Date Filing Date
TW086113322A TW382091B (en) 1996-10-18 1997-09-13 Resizable and relocatable memory scratch pad as a cache slice

Country Status (4)

Country Link
US (1) US5966734A (zh)
JP (1) JPH10187533A (zh)
KR (1) KR100257518B1 (zh)
TW (1) TW382091B (zh)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9727485D0 (en) * 1997-12-30 1998-02-25 Sgs Thomson Microelectronics Processing a data stream
US5948095A (en) * 1997-12-31 1999-09-07 Intel Corporation Method and apparatus for prefetching data in a computer system
US6591361B1 (en) 1999-12-28 2003-07-08 International Business Machines Corporation Method and apparatus for converting data into different ordinal types
US7171547B1 (en) * 1999-12-28 2007-01-30 Intel Corporation Method and apparatus to save processor architectural state for later process resumption
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
EP1182561B1 (en) * 2000-08-21 2011-10-05 Texas Instruments France Cache with block prefetch and DMA
US6643736B1 (en) * 2000-08-29 2003-11-04 Arm Limited Scratch pad memories
JP3681647B2 (ja) * 2001-02-21 2005-08-10 株式会社半導体理工学研究センター キャッシュメモリシステム装置
US20030033483A1 (en) * 2001-08-13 2003-02-13 O'connor Dennis M. Cache architecture to reduce leakage power consumption
US20030046492A1 (en) * 2001-08-28 2003-03-06 International Business Machines Corporation, Armonk, New York Configurable memory array
US6829692B2 (en) * 2001-09-14 2004-12-07 Intel Corporation System and method for providing data to multi-function memory
US6782463B2 (en) * 2001-09-14 2004-08-24 Intel Corporation Shared memory array
US7089371B2 (en) 2002-02-12 2006-08-08 Ip-First, Llc Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory
US7089368B2 (en) * 2002-02-12 2006-08-08 Ip-First, Llc Microprocessor apparatus and method for exclusively prefetching a block of cache lines from memory
US7080210B2 (en) * 2002-02-12 2006-07-18 Ip-First, Llc Microprocessor apparatus and method for exclusive prefetch of a cache line from memory
US7080211B2 (en) * 2002-02-12 2006-07-18 Ip-First, Llc Microprocessor apparatus and method for prefetch, allocation, and initialization of a cache line from memory
US7111125B2 (en) * 2002-04-02 2006-09-19 Ip-First, Llc Apparatus and method for renaming a data block within a cache
US6836833B1 (en) * 2002-10-22 2004-12-28 Mips Technologies, Inc. Apparatus and method for discovering a scratch pad memory configuration
US7188215B2 (en) * 2003-06-19 2007-03-06 Ip-First, Llc Apparatus and method for renaming a cache line
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US7526608B2 (en) * 2004-05-28 2009-04-28 Sony Computer Entertainment Inc. Methods and apparatus for providing a software implemented cache memory
US7380180B2 (en) * 2004-07-16 2008-05-27 Intel Corporation Method, system, and apparatus for tracking defective cache lines
US7401184B2 (en) * 2004-11-19 2008-07-15 Intel Corporation Matching memory transactions to cache line boundaries
US7734901B2 (en) * 2005-10-31 2010-06-08 Mips Technologies, Inc. Processor core and method for managing program counter redirection in an out-of-order processor pipeline
US7711934B2 (en) * 2005-10-31 2010-05-04 Mips Technologies, Inc. Processor core and method for managing branch misprediction in an out-of-order processor pipeline
US7562191B2 (en) * 2005-11-15 2009-07-14 Mips Technologies, Inc. Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
US7496771B2 (en) * 2005-11-15 2009-02-24 Mips Technologies, Inc. Processor accessing a scratch pad on-demand to reduce power consumption
US7873820B2 (en) * 2005-11-15 2011-01-18 Mips Technologies, Inc. Processor utilizing a loop buffer to reduce power consumption
US20070204139A1 (en) 2006-02-28 2007-08-30 Mips Technologies, Inc. Compact linked-list-based multi-threaded instruction graduation buffer
US7721071B2 (en) * 2006-02-28 2010-05-18 Mips Technologies, Inc. System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor
US20080016326A1 (en) * 2006-07-14 2008-01-17 Mips Technologies, Inc. Latest producer tracking in an out-of-order processor, and applications thereof
US7370178B1 (en) 2006-07-14 2008-05-06 Mips Technologies, Inc. Method for latest producer tracking in an out-of-order processor, and applications thereof
US7657708B2 (en) * 2006-08-18 2010-02-02 Mips Technologies, Inc. Methods for reducing data cache access power in a processor using way selection bits
US7650465B2 (en) 2006-08-18 2010-01-19 Mips Technologies, Inc. Micro tag array having way selection bits for reducing data cache access power
US7783799B1 (en) * 2006-08-31 2010-08-24 American Megatrends, Inc. Remotely controllable switch and testing methods using same
JP4862566B2 (ja) * 2006-09-04 2012-01-25 富士通株式会社 動画像処理装置及びプリフェッチ制御方法
US7647475B2 (en) * 2006-09-06 2010-01-12 Mips Technologies, Inc. System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue
US8032734B2 (en) * 2006-09-06 2011-10-04 Mips Technologies, Inc. Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor
JP2010505158A (ja) * 2006-09-26 2010-02-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複数のメモリーバンクを有するデータ処理
US8078846B2 (en) 2006-09-29 2011-12-13 Mips Technologies, Inc. Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US7594079B2 (en) 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US20080082793A1 (en) * 2006-09-29 2008-04-03 Mips Technologies, Inc. Detection and prevention of write-after-write hazards, and applications thereof
US7685409B2 (en) * 2007-02-21 2010-03-23 Qualcomm Incorporated On-demand multi-thread multimedia processor
KR101312281B1 (ko) * 2007-11-06 2013-09-30 재단법인서울대학교산학협력재단 프로세서 및 메모리 제어 방법
US9405683B2 (en) * 2007-11-06 2016-08-02 Samsung Electronics Co., Ltd. Processor and memory control method for allocating instructions to a cache and a scratch pad memory
JP5217432B2 (ja) 2007-12-28 2013-06-19 富士通株式会社 セクタ機能付きキャッシュメモリ
DE102008009634A1 (de) * 2008-02-15 2009-08-27 Carl Zeiss Microimaging Gmbh Peripherieschnittstelle und Verfahren zur Datenübermittlung, insbesondere für Laser-Scanning-Mikroskop
KR101496340B1 (ko) * 2008-10-31 2015-03-04 삼성전자주식회사 프로세서 및 메모리 제어 방법
US8543796B2 (en) * 2008-11-05 2013-09-24 Intel Corporation Optimizing performance of instructions based on sequence detection or information associated with the instructions
US20110131381A1 (en) * 2009-11-27 2011-06-02 Advanced Micro Devices, Inc. Cache scratch-pad and method therefor
US8850151B2 (en) 2010-03-24 2014-09-30 Apple Inc. Hybrid-device storage based on environmental state
US9424210B1 (en) * 2010-10-22 2016-08-23 Altera Corporation SDRAM memory organization and efficient access
US8904109B2 (en) * 2011-01-28 2014-12-02 Freescale Semiconductor, Inc. Selective cache access control apparatus and method thereof
US8756405B2 (en) 2011-05-09 2014-06-17 Freescale Semiconductor, Inc. Selective routing of local memory accesses and device thereof
US9417794B2 (en) 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
US9275096B2 (en) 2012-01-17 2016-03-01 Apple Inc. Optimized b-tree
JP2013242823A (ja) * 2012-05-23 2013-12-05 Toshiba Corp 情報処理装置、情報処理方法および制御プログラム
US9971686B2 (en) * 2015-02-23 2018-05-15 Intel Corporation Vector cache line write back processors, methods, systems, and instructions
US20170286114A1 (en) * 2016-04-02 2017-10-05 Intel Corporation Processors, methods, and systems to allocate load and store buffers based on instruction type
US10049044B2 (en) * 2016-06-14 2018-08-14 Advanced Micro Devices, Inc. Asynchronous cache flushing
US11341066B2 (en) * 2019-12-12 2022-05-24 Electronics And Telecommunications Research Institute Cache for artificial intelligence processor
KR102518057B1 (ko) * 2019-12-12 2023-04-06 한국전자통신연구원 인공지능 프로세서를 위한 캐시
KR20220023649A (ko) * 2020-08-21 2022-03-02 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN117312330B (zh) * 2023-11-29 2024-02-09 中国人民解放军国防科技大学 基于便签式存储的向量数据聚集方法、装置及计算机设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067078A (en) * 1989-04-17 1991-11-19 Motorola, Inc. Cache which provides status information
US5517626A (en) * 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
JPH06314241A (ja) * 1993-03-04 1994-11-08 Sharp Corp 高速半導体記憶装置及び高速連想記憶装置
GB2292822A (en) * 1994-08-31 1996-03-06 Hewlett Packard Co Partitioned cache memory
US5619680A (en) * 1994-11-25 1997-04-08 Berkovich; Semyon Methods and apparatus for concurrent execution of serial computing instructions using combinatorial architecture for program partitioning
US5721874A (en) * 1995-06-16 1998-02-24 International Business Machines Corporation Configurable cache with variable, dynamically addressable line sizes

Also Published As

Publication number Publication date
JPH10187533A (ja) 1998-07-21
US5966734A (en) 1999-10-12
KR100257518B1 (ko) 2000-06-01
KR19980032100A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
TW382091B (en) Resizable and relocatable memory scratch pad as a cache slice
KR100227278B1 (ko) 캐쉬 제어 유닛
US10241705B2 (en) Combined transparent/non-transparent cache
US5845325A (en) Virtual address write back cache with address reassignment and cache block flush
US10802987B2 (en) Computer processor employing cache memory storing backless cache lines
US7389402B2 (en) Microprocessor including a configurable translation lookaside buffer
JP3285644B2 (ja) キャッシュメモリを有するデータプロセッサ
JP6143872B2 (ja) 装置、方法、およびシステム
TW445409B (en) Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
EP2452265B1 (en) Block-based non-transparent cache
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
US7133968B2 (en) Method and apparatus for resolving additional load misses in a single pipeline processor under stalls of instructions not accessing memory-mapped I/O regions
US5379394A (en) Microprocessor with two groups of internal buses
JP4162825B2 (ja) マイクロプロセッサ
US20080005504A1 (en) Global overflow method for virtualized transactional memory
US20120198171A1 (en) Cache Pre-Allocation of Ways for Pipelined Allocate Requests
KR100515229B1 (ko) 멀티프로세서 시스템에서 가상화된 물리적 메모리를관리하는 방법 및 시스템
US20070113020A1 (en) Data cache block zero implementation
WO2011008702A1 (en) Tlb prefetching
US20120173843A1 (en) Translation look-aside buffer including hazard state
US5155828A (en) Computing system with a cache memory and an additional look-aside cache memory
TW564351B (en) Method and apparatus for supporting multiple cache line invalidations per cycle
TW517187B (en) System and method for invalidating an entry in a translation unit
GB2200481A (en) Maintaining coherence between a microprocessor's integrated cache and external memory
US6389527B1 (en) Microprocessor allowing simultaneous instruction execution and DMA transfer

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