TW201015579A - Buffer memory device, memory system, and data readout method - Google Patents

Buffer memory device, memory system, and data readout method Download PDF

Info

Publication number
TW201015579A
TW201015579A TW098130759A TW98130759A TW201015579A TW 201015579 A TW201015579 A TW 201015579A TW 098130759 A TW098130759 A TW 098130759A TW 98130759 A TW98130759 A TW 98130759A TW 201015579 A TW201015579 A TW 201015579A
Authority
TW
Taiwan
Prior art keywords
attribute
data
memory
read
address
Prior art date
Application number
TW098130759A
Other languages
English (en)
Inventor
Takanori Isono
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Publication of TW201015579A publication Critical patent/TW201015579A/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/0879Burst mode

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

201015579 六、發明說明: C發明戶斤屬之技術領域】 本發明係有關於一種緩衝記憶體裝置、記憶體系統及 資料讀取方法,特別是有關於叢發讀取主記憶體所保持之 資料時保持所叢發讀取之資料之緩衝記憶體、記憶體系統 及資料讀取方法。 C 冬奸 3 參 近年來,為了將由微處理器向主記憶體之記憶體存取 面速化’利用了 諸如由 SRAM(Static Random Access Memory;靜態隨機存取記憶體)等所構成之小容量又可高速 動作之快取記憶體。例如’將快取記憶體配置在微處理器 - 内部或其近旁,將快取記憶體所保持之部分資料先記憶在 卜快取記憶體,可使記憶體存取高速化。 迄今,為了更將記憶體存取高速化,乃揭露一種技術, 假設因應讀取要求,朝著與該讀取要求所含之位址連續之 〇 位址是由處理器存取之可能性高之情形,叢發讀取與所符 合之位址對應之資料者(參考專利文獻1}。 第27圖係顯示習知之記憶體存取方法之概略圖。如該 圖所示’在專利文獻1所記載之技術中,主記憶體62〇分成 為可快取區621及不可快取區622。 由CPU(Central Processing Unit ;中央處理器)等之處理 器610,有對於不可快取區622之讀取要求時,被叢發讀取 之資料係儲存在處理器610所具有之萬用暫存器612。又, 有對於可快取區621之讀取要求時,被叢發讀取之資料係儲 3 201015579 存於快取記憶體611。 如上構成時,在專利文獻1所記栽之記憶體存取方法 中’對與被存取之可能性高之位址對應之資料叢發讀取 者,可將記憶體存取更快速。 [先行技術文獻] [專利文獻] [專利文獻1 ]曰本發明專利申請案公開公報第2〇〇4_24〇52〇號 [發明概要] [發明欲解決之課題] 惟,依上述習知技術,有如下之課題。 首先,有對於不可快取區622之讀取要求時,如上述, 被叢發讀取之資料係儲存在CPU所具有之萬用暫存器 612,但萬用暫存器612係與快取記憶體611等相比,效率極 差。又,在不可快取區622中具有一就像只要讀取就改變了 所保持之資料的值般之讀取敏感之區域。對不可存取區622 所保持之資料叢發讀取時,會連讀取敏感之區域都存取 了,衍生了連資料都被覆寫之不便情況。 進而,有對可快取區621之讀取要求時,如上述,被叢 發讀取之資料係儲存在快取記憶體611,藉此,快取記憶體 611之内容會被覆寫。藉此,原本為了將記憶體存取高速 化,但卻使快取記憶體611所儲存之資料消除,便演變成無 法達成記憶體存取高速化。 C 明内容;3 在此,本發明乃為了解決上述課題而所構建成者其 201015579 =Γ—種在不產生因資料的覆寫所造成之不便情 記撕叢輪,綱術高速化之緩衝 °己隱體系統及資料讀取方法。 [用以解決課題之方式] 為職▲上述課題,本發明之緩衝記憶猶置係因應來 理益之續取要求,由屬於可快取屬性及不可快取屬性 數區域所構成之主記憶體或周邊裝置,
3貝出貝枓者’包含有:屬性取得部,係取得前述讀取要求 所含之讀取位址顯示之區域的屬性者;屬性判定部,係判 定經由前述屬性取得部所取得之雜是料第υι性,該第 1屬性為前述何快取触,且_簡有應叢發轉送之資 料者資Ί出。Ρ ’係、於藉前述屬性判定部判定經由前述 屬[生取侍部所取仵之屬性為前述第i屬性時,叢發讀取資 料,該資料含有前述讀取位址顯示之區域所保持之資料; 及,第1緩衝記憶體,係保持藉前述資料讀出部叢發讀取之 資料者。 藉此判定主δ己憶體或周邊裝置之位址顯示之區域的 屬性’即可由保持不可快取區中應叢發轉送之資料之區 域,叢發讀取倾,因此可防止主記,_或周邊裝置之其 他區域之資料被意外覆寫等情況發生。進而,可將已叢發 讀取之資料事統持在緩衝記憶體,因此可達成記憶體存 取之高速化。裝’在與快取記相異之緩衝記憶體儲 存已叢發讀取之資料’就可増加能保持㈣之區域,而不 須使用快取記憶體。 5 201015579 又/亦可為:前述屬性判定部判定經由前述屬性取得 、p斤取件之屬性是第2屬性或前述第1屬性,該第2屬性為前 述不I陕取屬性,且顯示未保持應叢發轉送之資料者,前 述資料讀iiu卩進而在藉前述屬性判定部判定經由前述屬性 ^ 得之屬性為前述第2屬性時,只讀出在前述讀取位 址顯示之區域所保持之資料。 藉此,可防止從不是應叢發讀取之區域叢發讀取資料 者因此可防止不可預期之資料覆寫等狀況發生。 又,亦可為:前述緩衝記憶體裝置,進而具有保持表 格之表袼保持部’該表格係將前述主記憶體或前述周邊裝 置之位址與屬师訊附與對應_,該屬性資訊係顯示該 位址顯示之區域的屬性為前述第i屬性、前述仏屬性、及 顯示前述可快取屬性之第3屬性中之一種屬性,前述屬性取 得部藉參照前述表格保持部所保持之表格,以取得前述讀 取位址顯示之區域之屬性。 藉此,可容易管理主記憶體或周邊裝置之位址顯示之 區域與屬性間之關係,且只要參照表格即可取得屬性便 可使本發明之緩衝記憶體裝置之構成簡單。 又,亦可為:前述緩衝記憶體裝置具有快取記憶體, 前述屬性判定部係判定經由前述屬性取得部取得之屬性為 則述第1屬性' 前述第2屬性及前述第3屬性中之—種屬性 前述資料讀出部’料騎述屬性判定部判定經由前述屬 性取得賴取狀敍騎料3屬科,祕魏含有前 述讀取位址顯示之區域所保持之f料之資料,前述快取纪 201015579 憶體係保持第1資料,該第i資料含有藉前述資料讀出部叢 發讀取之資料中前述讀取位址顯示之區域所保持之次料 前述第1緩衝記憶體係保持第2資料,該第2資 : 貝杆係藉前述資 枓讀出部叢發讀取之資料中除前述第1資料外之其餘資料 藉此,在原本只利用快取記憶體時,進而,亦^將資 料先保持在緩衝記憶體,因此可將記憶存取更高速化。貝 〜又,亦可為:前述緩衝記憶體裝置,進而具有屬性設 定部’該屬性設定部係以前述主記賴切述周邊裝置: 位址、與該位址顯示之區域之屬性設定為前述第1屬性、前 述第2屬性及前述第3屬性中之—者,產生前述表格,前= 表格保持部係保持藉前述屬性設定部所產生之表格。
藉此,因應需要亦可變更屬性等事項。 又,亦可為:前述資料讀出部係於藉前述屬性判定部 判定經由歧屬性簡部取狀屬料前述第W性時,進 而,判斷前述讀取位址顯示之區域所保持之f料是否已保 持在前述第i緩衝記憶體,在該㈣已保㈣前述第^衝 記憶體時,由前述紅緩衝記憶體讀出該資料,而在該資料 未保持在前述第1_記髓時,㈣發讀取含有該 資斜去。 藉此,可使緩衝記憶體動作與快取記憶體同樣, 記憶體存取高速化。 又,亦可為:前述屬性取得部,進而取得來自處理器 之寫入要求所含有之寫人位址顯示之區域的屬性,前述緩 衝記憶體裝置更包含有:第2緩衝職體,係於藉前述屬性 201015579 判定部敏經㈣關錄料轉之屬 址顯示之區域的屬性為前述第i屬性時,伴持與用=入位 =_或前述周邊裝置之前述寫入要 料者,3己憶體存取資訊取得部,係 ,,,,、貝 :::質之_存取資訊,_體::=: ::::::::::- 取資訊所示之性質、或經 己憶趙存 是否滿一之條件者;及,技:::二屬性 件判_定前述記憶雜存取f訊顯示之資==條 :時’將前述第2緩衝記憶趙所保持之寫入條 主記憶體或前述周邊裝置。 Μ至則述 藉此,利用緩衝記憶體,在資料寫入時, :响’即可由主記憶體或周邊裝置 : 料’可將資料之轉送效率提高。 冑取所。併之賁 又’村為:前觀憶财取資筛 已發行前述記憶體存取要求 糸取侍顯不 處理器資訊,作ί 實體處理器之 係於與在前述1=,憶體存取資訊,前述條件判定部 理器,且,^十^貝訊顯示之實體處理器相異之實體處 輯處理器之前IS資訊顯示之邏輯處理器相同之邏 前述第2緩衝=體時1 入要求t應之寫入資料已保持在 術。己隐體時,判定滿足前述條件, :前述條件判定部已判定滿足前述條件時,將滿= 件之第續衝記憶體所保持之資料掃出至前述主 201015579 前述周邊裝置。 藉此,將與之前發行之寫入要求對應之資料寫入主記 憶體或周邊裝置,即可保持資料之連貫心這是因為,記 憶體存取要求疋由相同邏輯處理器但相異之實體處理器發 行時’何生有在*同的騎記龍保持了 *相同邏輯處理 器輸出之資料之疑慮’但㈣,就不祕持各緩衝記憶體 間之資料的連貫性之緣故。將緩衝記憶體所保持之資料掃
出至主記憶體或周邊裝科,即可解決緩衝記憶體間之資 料之連貫性的問題。 又,亦可為:前述條件判定部係判定前述記憶體存取 貝料疋否含有命令貞訊’該命令資訊制以將前述第2緩衝 記憶體所㈣之資料掃出至前述主記憶體或前述周邊裝置 者,前述控制料於藉前述條件判定部判定前述記憶體存 取資訊含有前述命令資訊時,將前述命令資訊顯示之第2緩 衝記憶體所保持之資料掃出至前述主記憶體或前述周邊裝 置。 藉此,根據來自處理器之指示,可輕易地將緩衝記憶 體所保持之資料掃出至主記憶體或周邊I置而可將 憶體或周邊裝置之資料更新成最新的資料。 ° 又,亦可為 :别述記憶體存取資訊取得部進而取得顯 不已發行前述記㈣存取要求之處理器之處理ϋ資訊,作 為前述記憶體存取資訊,前述條件狀部進而判定前述屬 ^訊顯示之屬性是否為前述第1屬性,前述控制部進而在 藉剛述條件狀㈣枝由前關蹄得部取得之屬性為 9 201015579 前述第1屬性時’將與前述處理器資訊顯示之處 弟2緩衝C憶體所保持之資料掃出至前述主記憶體或 周邊裝置。 1 藉此,可保持處理器已發行之寫入要求之順序。因此, 可保持資料的連貫性。 又’亦可為:前述第2緩衝記憶體’進而保持與前述寫 入資料對應之寫人位址,前述記憶體存取資訊取得部,進 而在前述記憶體存取要求含有讀取要求時,取得該讀取要 求=含之讀取位址’作為前述記憶體存取資訊,前述條件 =疋部判定與前述讀取位址—致之寫人位址是否已保持在 月J述第2緩衝記憶體’前述控制部係藉前述條件判定部判定 與前述讀取位址-致之寫人位址已保持在前述第2緩衝= 憶體時’將在與前述寫人位址對應之寫人資料之前已保持 在前述第2緩衝記憶體之資料掃出至前述主記憶體或前述 周邊裴置。 ^ 藉此,經常可在從讀取位址顯示之區域讀出資料之 前’將該區域的資料更新為最新的資料,因此可防止處理 器讀到舊資料之情況。 又,前述記憶體存取資訊取得部,進而在前述記憶體 存取要求含有寫人要求時,取得該寫人要求所含之第旧入 位址,前述條件判定部係判定前述第!寫入位址是否與剛才 、輪入之寫人要求所含之第2寫人位址連續,前述控制部係 於藉前述條件判定部敢前述第1寫人位址與前述第2寫入 位址連續時’將在財述第2冑人位址對紅冑人資料之前 201015579 已保持在前述第2緩衝記憶體之資料掃出至前述主記憶體 或前述周邊裝置。 藉此,通常在處理器執行—連串處理時,大多會向連 續之位址顯示之連續區域進行存取,因此在位址不連續 時,便可推定與該-連串處理不同之處理已開始者 。為此, 可將與該-連串處理相關之資料掃出至主記憶體或周邊裝 置。藉此’可在緩衝記㈣保持與其他處理㈣之資料, 有效率地利用緩衝記憶體。 又,亦可為:前述條件判定部進而狀前述第2緩衝記 憶體所保持之資料的資料量是否已制特定之極限值,前 述控制部,進而在藉前述條件判定部判定前述資料量已達 到前述極限值時,將前述第2緩衝記憶體所保持之資料掃出 至前述主記憶體或前述周邊裝置。 藉此,可在緩衝記憶體所保持之資料量達到適當的量 時,將資料掃出。例如,在資料量係與可保持在緩衝記憶 體之資料之最大值,或,緩衝記憶體與主記憶體或周邊裝 置之資料匯流排寬度一致時,可將資料掃出。 又,亦可為:前述緩衝記憶體裝置進而具有無效部, 該無效部係判斷來自前述處理器之寫入要求所含之寫入位 址是否和與前述第1緩衝記憶體所保持之資料對應之位址 一致,當前述寫入位址一致時,使前述第1缓衝記憶體所保 持之資料無效。 藉此,在緩衝記憶體所保持之資料與主記憶體或周邊 裝置所保持之對應資料不一致時,可防止處理器由緩衝記 11 201015579 憶體讀出資料者。 又,本發明亦可做為記憶體系統實現,本發明之記憶 體系統包含有處理器、由屬於可快取屬性及不可快取屬性 中之一種屬性之多數區域構成之主記憶體或周邊裝置,且 因應來自前述處理器之讀取要求,由前述主記憶體或前述 周邊裝置讀出資料,該記憶體系統包含有:屬性取得部, 係取得來自前述處理器之讀取要求所含之讀取位址顯示之 區域之屬性者;屬性判定部,係判定經由前述屬性取得部 取得之屬性是否為之第1屬性,該第1屬性為前述不可快取 屬性,且顯示保持應叢發轉送之資料者;資料讀出部,係 於藉前述屬性判定部判定經由前述屬性取得部取得之屬性 為前述第1屬性時,叢發讀取資料,該資料含有前述讀取位 址顯示之區域所保持之資料;及緩衝記憶體,係保持藉前 述資料讀出部叢發讀取之資料者,前述資料讀出部係於藉 前述屬性判定部判定經由前述屬性取得部取得之屬性為前 述第1屬性時,進而,判定前述讀取位址顯示之區域所保持 之資料是否已保持在前述緩衝記憶體,在該資料已保持在 前述緩衝記憶體時,由前述緩衝記憶體讀出該資料,而在 該資料未保持在前述緩衝記憶體時,則叢發讀取含有該資 料之資料。 又,前述記憶體系統亦可具有多數快取,前述多數快 取中,最靠近前述主記憶體或前述周邊裝置之快取具有前 述緩衝記憶體。 此外,本發明不只可作為緩衝記憶體裝置及記憶體系 12 201015579 統予以實現,還可將構成該記憶體系統之處理部當做步驟 之方法予以實現。又,亦可將其等步驟作為由電腦執行之 程式實現者。進而,亦可作為可由記錄有該程式之電腦讀 取之CD —ROM (Compact Disc-Read Only Memory)等之記 錄媒體、以及顯示該程式之資訊、資訊或訊號予以實現者。 又,其等程式、資訊、資料及訊號,亦可經由網際網路等 之通訊網路發訊者。 [發明之效果] 依本發明之缓衝記憶體裝置、記憶體系統及資料讀取 方法,可在不發生因資料覆寫而所衍生之不便情況等之狀 態下進行叢發讀取,因此可將記憶體存取高速化。 [圖式簡單說明] 第1圖係顯示實施型態1之含有處理器、主記憶體及快 取記憶體之系統的概略構成方塊圖。 第2圖係顯示實施型態1之位址空間所設定之屬性圖。 第3圖係顯示實施型態1之緩衝記憶體裝置之構成方塊 圖。 第4圖係顯示實施型態1之區域屬性表之一例之圖。 第5圖係顯示實施型態1之緩衝記憶體與快取記憶體之 詳細圖。 第6圖係顯示實施型態1之緩衝記憶體裝置之動作之流 程圖。 第7圖係顯示實施型態1中屬性是可叢發屬性時轉送處 理之詳細流程圖。 13 201015579 第8圖係顯示實施型態1中屬性是不可叢發屬性時轉送 處理之詳細流程圖。 第9圖係顯示實施型態1中屬性為可快取屬性時轉送處 理之詳細流程圖。 第10圖係顯示實施型態2之緩衝記憶體裝置之構成方 塊圖。 第11圖係顯示實施型態2中屬性為可快取屬性時轉送 處理之詳細流程圖。 第12圖係顯示實施型態3之記憶體系統之構成之方塊 圖。 第13圖係顯示實施型態3之位址轉換表之一例之圖。 第14圖係顯示實施型態4之緩衝記憶體裝置之構成方 塊圖。 第15圖係顯示實施型態4之記憶體存取資訊之一例之 圖。 第16圖係顯示實施型態4之緩衝記憶體裝置具有之緩 衝記憶體之概略圖。 第17圖係顯示實施型態4之多數判定條件之一例之判 定表之圖。 第18圖係顯示實施型態4之判定部之詳細構成方塊圖。 第19圖係顯示實施型態4之緩衝記憶體裝置之動作流 程圖。 第20圖係顯示實施型態4之緩衝記憶體裝置之寫入處 理之流程圖。 14 201015579 第21圖係顯示實施型態4之緩衝記憶體裝置之屬性判 定處理之流程圖。 第2 2圖係顯示實施型態4之緩衝記憶體裝置之命令判 定處理之流程圖。 第2 3圖係顯示實施型態4之缓衝記憶體裝置之讀取位 址判定處理之流程圖。 第2 4圖係顯示實施型態4之緩衝記憶體裝置之寫入位 址判定處理之流程圖。 第25圖係顯示實施型態4之緩衝記憶體裝置之緩衝量 判定處理之流程圖。 第26圖係顯示實施型態4之緩衝記憶體裝置之處理器 判定處理之流程圖。 第27圖係顯示習知記憶體存取方法之概略圖。 I:實施方式3 以下,根據實施型態且利用附圖詳細說明本發明。 (實施型態1) 首先,針對本實施型態之具有缓衝記憶體裝置之一般 記憶體系統予以說明。 第1圖係顯示本發明之包含有處理器、主記憶體及快取 記憶體之系統之概略構成之方塊圖。如同圖所示,本實施 型態之系統包含有:處理器10、主記憶體20、L1(一階)快 取30、及L2(二階)快取40。 本實施型態之緩衝記憶體裝置,係於如第1圖所示之系 統中,例如設於處理器10與主記憶體20之間者。具體而言, 15 201015579 緩衝記憶體裝置所具有之緩衝記憶體係設於L2快取40。 處理器10係將記憶體存取要求輸出至主記憶體20。記 憶體存取要求例如為用以將資料讀出之讀取要求、或用以 將資料寫入之寫入要求。讀取要求含有顯示資料之讀出目 的地之區域之讀取位址,寫入要求含有顯示資料之寫入目 的地之區域之寫入位址。 主記憶體2〇係由屬於可快取屬性及不可快取屬性之任 一屬性之多數區域所構成者,在該區域記憶程式或資料等 之諸如 SDRAM (Synchronous Dynamic Random Access
Memory;同步動態隨機存取記憶體)等大容量之主記憶體。 因應由處理器10輸出之記憶體存取要求(讀取要求或寫入 要求),執行來自主記憶體20之資料讀出或向主記憶體20之 資料寫入。 L1快取30與L2快取40係一種將處理器1〇由主記憶體20 讀出之部分資料及寫入主記憶體20之部分資料記憶之 SRAM等之快取記憶體。L1快取30及L2快取40係與主記憶 體20相比,是一種容量較小,但可高速動作之快取記憶體。 又’ L1快取30係一種配置在比L2快取4〇更靠近處理器1〇且 優先度較高之快取記憶體,通常容量是比L2快取40小但可 以高速動作者。 L1快取30取得來自處理器10輸出之記憶體存取要求, 判定是否已儲存(命中)或未儲存(失誤)與所取得之記憶體 存取要求所含之位址相對應之資料。例如,讀取要求為命 中時,L1快取30係由L1快取30内部讀出與該讀取要求所含 16 201015579 之讀取位址對應之資料,且將所讀出之資料輸出至處理器 10。又,與讀取位址對應之資料係指已記憶在讀取位址顯 示之區域中之資料。寫入要求命中時,L1快取30係與該寫 入要求同時將由處理器1〇所輸出之資料寫入L1快取30。 讀取要求失誤時’ L1快取30係由L2快取40或主記憶體 20讀出與該讀取要求對應之資料,將所讀出之資料輸出至 處理器10。寫入要求失誤時,L1快取30進行再填充處理, 更新標籤位址,將由處理器10輸出之資料與該寫入要求同 時寫入。 L2快取40係取得由處理器1〇輸出之記憶體存取要求, 判定所取付之§己憶體存取要求命中或失誤。讀取要求命中 時,L2快取40係由L2快取40内部讀出與該讀取要求所含之 讀取位址對應之資料,以L1快取30為中介,將所讀出之資 料輸出至處理器10。寫入要求命中時,以L1快取3〇為中介, 將由處理器10輸出之資料與該寫入要求同時寫入L2快取4〇 内部。 讀取要求失誤時,L2快取40係由主記憶體2〇讀出與該 讀取要求賊之資料,以丨絲3吟巾介,賴讀出之資 料輸出至處理㈣。寫人要求以時,⑽取赠進行再 填充處理,以U快取3G為中介,將域位址更新,將由處 理器1〇輸出之資料與該寫入要求同時寫入。 又在第1圖所不之系統中,執行用以具備主記憶體 20、Li快取30、紅2快取4〇間之連貫性之處理。例如,依 照寫入要求而寫入快取記憶體之資料係藉寫穿⑽⑹ 17 201015579 thr〇Ugh)處理或寫回(write back)處理而寫入主記憶體20。 又’寫入要求失誤時,處理器10亦可不將L1快取30再 填充或更新’將資料寫入主記憶體20。針對L2快取40亦同 樣。 又’在第1圖中,顯示L1快取30設在處理器10之外部之 構成’但處理器10亦可具有L1快取30。 又’不限於主記憶體20,亦可在與IO元件等其他周邊 裝置之間轉送資料。周邊元件係指在與處理器10之間進行 資料轉送之機器,例如鍵盤、滑鼠、顯示器、或軟式(floppy; ® 5主冊商標)磁碟驅動器等。 其次’針對本實施型態之主記憶體20予以說明。 第2圖係顯示本實施型態之位址空間所設定之屬性 圖。位址空間之區域劃分成主記憶體20及其他周邊元件 、 等如該圖所示,主記憶體20係由可快取區21及不可快取 — 區22所構成。 可快取區21係一種屬於顯示可將須向L1快取30及L2快 取4〇等之快取記憶體進行快取之資料以保持之可快取$ ^ 性之區域。 不可快取區22係屬於不可快取屬性之區域,該不可快 取屬佳顯示可保持不應向L1快取3〇及L2快取40等之快取記 隐鱧進行快取之資料。不可快取區22係由可叢發區及不 可叢發區24所構成者。 可叢發區23係屬於顯示可叢發屬性之區域,可叢發屬 性顯不可保持不應向快取記憶體進行快取,且應叢發轉送 18 201015579 之資料。叢發轉送係將資料匯集後再轉送者,為叢發讀取 及叢發寫入等。可叢發區23,例如是—種不是讀取敏感之 區域。 不可叢發區24係屬於不可叢發屬性之區域,不可叢發 屬性顯示不能保持不應向快取記憶體進行快取,且應叢發 轉送之資料。不可叢發區24,例如是一種讀取敏感之區域。 如上,本實施型態之主記憶體20係按區域逐一設定三 者互斥之屬性中之任一者。 接著,針對本實施型態之緩衝記憶體裝置之構成予以 說明。 第3圖係顯示本實施型態之緩衝記憶體裝置之構成之 方塊圖。同圖所示之緩衝記憶體裝置1〇〇係設於與第丨圖所 不之L2快取40相同晶片,在處理器1〇與主記憶體2〇之間執 行資料之轉送處理。此外,在第3圖中,處理器1〇為設有L1 快取30者’ Ll快取3〇未示於圖中。 參 如第3圖所示,緩衝記憶體裝置100包含有屬性取得部 110、屬性判定部12〇、資料讀出部13〇、緩衝記憶體14〇、 快取S己憶體150、表格保持部16〇、及屬性設定部17〇。緩衝 s己憶體裝置1 〇 〇係由主記憶體2 〇、緩衝記憶體丨4 〇或快取記 憶體150讀出與由處理器1〇輸出之讀取要求對應之資料,將 所讀出之資料轉送至處理器1〇。 屬性取得部11〇係取得讀取要求所含之位址(以下亦記 載為讀取位址)顯示之區域的屬性。具體而言,屬性取得部 11〇係參照表格保持部16〇所保持之區域屬性表161,取得讀 19 201015579 取位址顯示之區域的屬性。 在此,區域的屬性中,如上述,有可快取屬性、可叢 發屬性、及不可叢發屬性等三種屬性。可快取屬性係顯示 區域屬於可快取區21者。可叢發性係顯示區域屬於不可外 取區22之可叢發區23。不可叢發屬性係顯示區域屬於不可 快取區22之不可叢發區24。 屬性判定部12 0係判定經由屬性取得部110所取得之屬 性為可快取屬性、可叢發屬性、及不可叢發屬性中之一者。 資料讀出部130係因應屬性判定部120之判定結果,由 主記憶體20、緩衝記憶體140或快取記憶體150讀出與讀要 求對應之資料。在此,資料讀出部130包含有第1資料讀出 部131、第2資料讀出部132及第3資料讀出部133。 第1資料讀出部131係於藉屬性判定部120判定讀取要 求所含之位址顯示之區域的屬性為可叢發屬性時,執行讀 取位址顯示之區域所保持之資料之讀出。進而,第1資料讀 出部131係判定讀取要求為命中或失誤。 讀取要求命中時,第1資料讀出部131係由緩衝記憶體 140讀出與讀取位址對應之資料(以下亦記載為讀取資料), 將已讀出之資料輸出至處理器10。在讀取要求失誤時,第1 資料讀出部131係由主記憶體20叢發讀取含有讀取資料之 資料,將已叢發讀取之資料(以下亦記載為叢發讀取資料) 儲存在緩衝記憶體140。又,將所儲存之叢發讀取資料中只 將讀取資料輸出至處理器10。此外,叢發讀取資料之朝緩 衝記憶體14 0之儲存及讀取資料之朝處理器10之輸出亦可 20 201015579 並列執行者。 在此,叢發讀取資料係諸如讀取資料及與該讀取資料 共同使用之可能性1¾之資料。一般而言,是與和讀取位址 連續之位址對應之資料等。又,讀取資料及叢發讀取資料 的尺寸係根據處理器10、主記憶體20及緩衝記憶體裝置100 等之間之資料匯流排寬度、緩衝記憶體140之記憶體尺寸, 或’來自處理器10之指示等來決定。在此,以一例來說, 令讀取資料之尺寸為4位元組,叢發讀取資料之尺寸為64位 元組。 又,在本實施型態中,與快取記憶體之型態同樣,與 讀取位址對應之資料既已保持在緩衝記憶體140的時候稱 . 為“讀取要求已命中”,將與讀取位址對應之資料未保持 在緩衝記憶體140的時候稱為“讀取要求已失誤”。 第2資料讀出部132係於藉屬性判定部120判定讀取要 求所含之位址顯示之區域的屬性為不可叢發屬性時,執行 Q 資料的讀出。具體而言,第2資料讀出部132係由主記憶體 20只讀出與讀取位址對應之資料(讀取資料),且將已讀出之 讀取資料輸出至處理器10。 第3資料讀出部13 3係於藉屬性判定部12 0判定讀取要 求所含之位址顯示之區域的屬性為可快取屬性時,執行資 料的讀出。進而,第3資料讀出部133判定讀取要求已命中 或失誤。 具體而言,讀取要求命中時’第3資料讀出部133由快 取記憶體150讀出與讀取位址對應之資料(讀取資料),且將 21 201015579 已讀出之讀取㈣輸出至處理器1G。讀取要求已失誤時, 第3資料讀出部133係由主記憶體2〇讀出讀取資料,且將已 讀出之讀取資料儲存在快取記憶體15〇。接著’將所儲存之 讀取資料轉送至處理器10。此外,由主記憶體2〇所讀出之 讀取資料朝快取記‘_15G之料與朝處理器之^輪出 亦可並列執行者。 % 緩衝記憶體140係保持藉第1資料讀出部131而由主記 憶體20所叢發讀取之資料(叢發讀取資料)之記後體等之記 憶部。緩衝記憶體140係將叢發雜資料和與各資料對叙 @ 位址附與對應關係並予以記憶。 〜 快取記憶體150係保持藉第3資料讀出部133而由主記 憶體20所讀出之資料之快取記憶體。快取記憶體15〇含有記 憶位址之標籤區及記憶資料之資料區。在本實施型態中, 快取5己憶體150係相當於第1圖之[2快取40。 表格保持部16 0係保持已將主記憶體之位址和區域的 屬性附與對應關係之區域屬性表丨6丨之記憶體等之記情 部。區域屬性表161係藉屬性設定部17〇產生及變更。 翁 在此,參照第4圖。第4圖係顯示本實施型態之區域屬 性表161之-例之圖。如同圖所示,區域屬性表ΐ6ι係將主 記憶體20之實體位址與該實體位址顯示之區域的屬性附與 對應關係之表格。關之“可快取”軸示可快取屬性, “可叢發”係顯示可叢發屬性,“不可叢發,,係顯示不可 叢發屬性。例如,在第4圖之例中,讀取位址為“實體位址 3”時,屬性取得部11G係參照區域屬性表i6i,取得不可叢 22 201015579 發屬性,作為該讀取位址顯示之區域的屬性。 回到第3圖,屬性設定部170係將與主記憶體2〇之位址 對應之屬性設定為可快取屬性、可叢發屬性、及不可叢發 屬性中之一者。其等屬性係根據來自處理器1〇之指示,因 應主記憶體20所記憶之資料的特性等進行設定者。 例如,屬性設定部170係將不可快取區之中讀取敏感之 區域設定為不可叢發屬性。或者是,屬性設定部170係因應 資料之可利用性,對各位址設定屬性。具體而言,屬性設 定部170係於顯示記憶著連續地讀出’且利用好幾次之可能 性高之資料之區域之位址設定為可快取屬性。對顯示連續 地讀出但只能利用一次之可能性高之資料之位址設定為可 叢發屬性。對顯示記憶著其他資料之區域之位址設定為不 可叢發屬性。又,對顯示未記憶資料之區域之位址,隨意 或因應所需,個別設定屬性。 在此,針對本實施型態之緩衝記憶體140及快取記憶體 150之構成進行說明。第5圖係顯示本實施型態之緩衝記憶 體140及快取記憶體150之詳細圖。 如該圖所示,緩衝記憶體140係將主記憶體20之位址 (實體位址)與藉第1資料讀出部131而由該位址顯示之區域 讀出之資料附與對應關係且記憶者。緩衝記憶體40係可保 持特定位元組數量(例如64位元組)之資料多個(例如8個)。 又’在本實施型態中,緩衝記憶體140只利用在由主記憶體 20之資料讀出者。即,不能利用在朝主記憶體20之資料之 寫入者。緩衝記憶體140係事先保持被讀出之可能性高之資 23 201015579 料之PFB(Prefetch Buffer ;預取緩衝器)。 快取記憶體150,例如是同圖所示般之4路集合相聯方 式之快取記憶體。快取記憶體150設有具同一構成之4個 路,各路具有多個(例如1024個)之快取登錄。1個快取登錄 具有確認旗標V、標籤、列式資料及已使用(dirty)旗標D。 確認旗標V係顯示該快取登錄之資料是否有效之旗 標。標籤係標籤位址之複本。列式資料係藉標籤位址及設 定索引所界定之方塊中之特定位元組數量之資料(例如64 位元組之資料)之複本。已使用旗標D係顯示是否有必要將 已快取之資料寫回至主記憶體之旗標。 如上所示’本實施型態之緩衝記憶體140,如與快取記 憶體之標籤和資料之關係同樣,將位址與資料附與對應關 係且記憶者。 此外’快取記憶體150所具有之通路的數量不限於4 個。1個通路所具有之快取登錄之個數及1個快取登錄所具 有之列式資料之位元組數可為任一值。又,快取記憶體15〇 亦可為其他方式之快取記憶體。例如可為直接映對方式, 或全相聯方式。 如以上構成所示,本實施型態之緩衝記憶體裝置1〇〇包 含有緩衝記憶體140,該緩衝記憶體140係保持由可快取區 21及不玎快取區22構成之主記憶體20之不可快取區22中從 保持應叢發讀取之資料之不可叢發區24叢發讀取之資料 者。 藉此,因為因應讀取要求,叢發讀取與該讀取要求對 201015579 應之資料及在之後被讀出之可能性高之資料,所以可將記 憶體存取高速化。 此外,第3圖所示之緩衝記憶體裝置1〇〇為亦具有進行 與寫入要求對應之寫入資料之寫入處理之處理部者。仃 ❹
例如,屬性取得部110,係與讀取要求同樣,取得寫入 要求所含之寫入位址顯示之區域的屬性。屬性判定部係 判定經由屬性取得部110所取得之屬性為可快取屬性、可叢 發屬性及何叢發屬性巾之—種屬性^接著,資料寫入部 (未示於圖中)係根據判定結果將寫入資料寫入快取記憶體 150或主記憶體20。 ~ 具體而言,屬性為可快取屬性時,將寫入資料寫入快 取記憶體15G。又’屬性為不可快取屬性時,朝主記憶體加 寫入寫入資料。此時,在朝快取記憶體15〇進行寫入之時, 判定寫入要求命中或失誤,在命中時,朝快取記憶體15〇寫 入寫入資料,而在失誤時,則朝主記憶體2〇寫入寫入資料。 如上,本實施型態之緩衝記憶體裝置1〇〇亦可因應來自 處理器10之寫入要求,進行寫入資料之寫入者。 又,此時,資料讀出部130係判斷寫入位址是否與緩衝 記憶體140所保持之資料對應之位址一致,在寫入位址一致 時,亦可使緩衝記憶體140所保持之資料無效。例如,藉於 所對應之資料立起顯示無效之旗標,或,由缓衝記憶體⑽ 刪除所對應之資料,可使資料無效者。 藉此,可在主記憶體2〇與緩衝記憶體14〇之間確保資料 的連貫性。即,最新的資料只寫入主記憶體2〇,在已寫入 25 201015579 可防止從緩衝記憶體140 緩衝記憶體14〇之資料變舊之時, 讀出舊資料者。 態之緩衝記憶體裝 之緩衝記憶體裝置 其-人’使用第6至9圖說明本實施型 置1心動作。第6圖係顯示本實施型態 100之動作之流程圖。 10取得讀取要 、首先,緩衝記憶體裝置100係藉由處理器 求,執行本實施型態之讀取處理。
屬性取得部110係以參照區域屬性表161,取得 址顯示之區域之屬性(Sl〇 )接者屬性判定部120係判定 經由屬性取得部no取得之屬性為可快取屬性、可叢 性、或不可叢發屬性中之—者(S102)。 讀取位址顯示之區域之屬性係於判定為可叢發屬性時 (在8102時“不可快取(可叢發)”),第1資料讀出部131係執 行第1轉送處理(咖),轉送處理係屬性為可叢發屬性時 所執行之處理,是一個在將資料轉送至處理器10時,由主
記憶體2G叢發讀取資料’且將已叢發讀取之資料儲存在緩 衝記憶體140之處理。 在此,參照第7圖。第7圖係顯示在本實施型態中屬性 為可叢發屬性時之轉送處理之詳細流程圖。 第1資料讀出部131係判斷讀取要求是否已命中或失誤 (S201)。讀取要求失誤時(在S2〇1,否(N〇)),第1資料讀出 部131係由主記憶體20叢發讀取含有讀取資料之叢發讀取 資料(S202)。接著,第1資料讀出部131係將所讀出之叢發讀 取資料儲存在緩衝記憶體140(S203)。進而,第1資料讀出部 26 201015579 131係由緩衝記憶體140讀出讀取資料(S204),將所讀出之讀 取資料輸出至處理器10(S205)。又,此時,叢發讀取資料之 朝緩衝記憶體140之儲存與讀取資料之朝處理器10之輸 出,亦可同時執行。 讀取要求已命中時(在S201,是(Yes)),第丨資料讀出部 131係由緩衝記憶體14〇讀出與讀取要求對應之讀取資料 (S204)。接著,第1資料讀出部131係將所讀出之讀取資料輸 出至處理器10(S205)。 回到第6圖,讀取位址顯示之區域之屬性係判定為不可 叢發屬性時(在Sl〇2,“不可快取(不可叢發),,),第2資料 讀出部132係執行第2轉送處理(S104)。第2轉送處理係於屬 性為不可叢發屬性時所執行之處理,是一個由主記憶體2〇 讀出資料,將所讀出之資料轉送至處理器1〇之處理。 在此,參照第8圖。第8圖係顯示本實施型態中屬性為 不可叢發屬性時之轉送處理之詳細流程圖。 Ο 第2資料讀出部132係由主記憶體20讀出讀取資料
(S301)。接著,第2資料讀出部132係將所讀出之讀取資料輸 出至處理器10 (S302)。 J 再回到第6圖,讀取位址顯示之區域之屬性係判定為 快^屬性時(在議,“可快取,,),第3資料讀出部133係執 (麗)3轉料料料料可快取屬性 仃之處理,疋-個在將資料轉送至處理器1〇 錢體20讀出資料,將已讀 王 之處 1出之貝枓儲存在快取記憶體15〇 27 201015579 在此,參照第9圖。第9圖係顯示本實施型態中屬性為 可快取屬性時之轉送處理之詳細流程圖。 第3資料讀出部133係判定讀取要求是命中或者是失誤 (S401)。讀取要求失誤時(在S401為否),第3資料讀出部133 係由主記憶體20讀出讀取資料(S402)。接著,第3資料讀出 部133係將所讀出之讀取資料儲存在快取記憶體 150(S403)。進而,第3資料讀出部133係由快取記憶體150 讀出讀取資料(S404),將已讀出之讀取資料輸出至處理器 10(S405)。此外,此時,讀取資料朝快取記憶體150之儲存 及朝處理器10之輸出亦可同時實施者。 讀取要求命中時(在S401,是(Yes)),第3資料讀出部133 係由快取記憶體150讀出與讀取要求對應之讀取資料 (S404)。接著,第3資料讀出部133係將已讀出之讀取資料輸 出至處理器10(S405)。 如上實施,本實施型態之緩衝記憶體裝置100判定讀取 位址顯示之區域是哪一個屬性的區域,因應判定結果,執 行資料的讀出。 如上,本實施型態之緩衝記憶體裝置100包含有緩衝記 憶體140,該緩衝記憶體140保持從具有可快取區21及不可 快取區22之主記憶體20之不可快取區22中保持應叢發讀取 之資料之不可叢發區24叢發讀取之資料。又,判定讀取位 址顯示之區域是哪一屬性的區域,因應判定結果執行資料 的讀出。此時,屬性為可叢發屬性時,將由主記憶體20叢 發讀取之資料儲存在緩衝記憶體140。 28 201015579 藉此,使用讀取專用之緩衝記憶體140,可防止使用快 取記憶體,因此可在快取記憶體事先保持預測使用次數高 之資料。進而,在主記憶體20設定使叢發讀取之區域不能 進行者,可防止因讀出所需以上之資料而所衍生之不便, 進而,設定可進行叢發讀取之區域,可將記憶體存取高速 化。 (實施型態2) 本實施型態之缓衝記憶體裝置係於讀取要求所含之位 址顯示之區域的屬性為可快取屬性時,叢發讀取含有與該 讀取要求對應之資料之資料。藉此,進而可將記憶體存取 高速化。 第10圖係顯示本實施型態之緩衝記憶體裝置之構成之 方塊圖。同圖所示之緩衝記憶體裝置200係與第3圖之緩衝 記憶體裝置100相比,相異之點在於具有資料讀出部230, 而代替資料讀出部130者。又,針對與實施型態1同一構成 要素附上相同符號,以下,以相異點為主進行說明,且省 略相同事項之說明的情形。 資料讀出部230係因應屬性判定部120之判定結果而由 主記憶體20、缓衝記憶體140或快取記憶體150,讀出與讀 取要求對應之資料。在此,資料讀出部230具有第1資料讀 出部131、第2資料讀出部132、及第3資料讀出部233。 第3資料讀出部2 3 3係於藉屬性判定部12 0判定與讀取 要求所含之位址對應之區域的屬性為可快取屬性時,執行 資料之讀出。進而,第3資料讀出部233係判定讀取要求已 29 201015579 命中或失誤。 具體而言,讀取要求已命中時,第3資料讀出部233係 由快取記憶體150或緩衝記憶體140,讀出與讀取位址對應 之資料’將已讀出之資料輸出至處理器1〇。讀取要求已失 誤時,第3資料讀出部233係由主記憶體2〇叢發讀取含有讀 取資料之資料,將所叢發讀取之資料(叢發讀取資料)儲存在 快取記憶體150與緩衝記憶體140。 例如,將叢發讀取資料中含有讀取資料之資料儲存在 快取記憶體150,且快取記憶體15〇所保持之資料除外之叢 · 發讀取資料之其餘資料儲存在緩衝記憶體14〇。接著,由快 取記憶體150讀出所儲存之叢發讀取資料中之讀取資料,將 所讀出之讀取資料輸出至處理器10。此外,叢發讀取資料 朝快取記憶體150及朝緩衝記憶體140之儲存,與讀取資料 - 朝處理器10之輸出亦可並列實施者。 例如,由處理器10進行了 64位元組之讀取資料之讀取 要求時,第3資料讀出部233係叢發讀取含有該讀取資料之 Π8位元組資料。接著,第3資料讀出部如係將128位元组 © 之叢發讀取資料中64位元組之該讀取資料儲存在快取記憶 體150,並將其餘的64位元組資料儲存在緩衝記憶體丨仙。 如以上之構成所示,本實施型態之緩衝記憶體裝 置200 係於判定讀取位址顯示之區域的屬性為可快取屬性時,叢 發讀取含有與該讀取位址對應之資料之資料,將已叢發讀 取之資料儲存於快取記憶體150與緩衝記憶艎14〇。 藉此,在快取時,亦因應讀取要求,叢發讀取與該讀 30 201015579 取要求對應之資料及在其之後被讀出之可能性高之資料, 因此可將記憶體存取更高迷化。 接著,針對本實施型態之緩衝記憶體裝置200之動作予 以說明。本實施型態之緩衝記憶體裝置200係與實施型態丄 之緩衝s己憶體裝置100之動作相比,是在判定屬性為可快取 屬性之時的處理(第6圖之S105、第9圖)不同。因此,在隨後 的說明中疋以相異點為主進行說明,相同之處有省略說明 的時候。 ❹ 百先,緩衝記憶體裝置200係與實施型態i同樣,藉由 處理器10取得讀取要求,執行本實施型態之讀取處理。 如第ό圖所示,屬性取得部u〇係藉參照區域屬性表 161,取得讀取位址顯示之區域的屬性(sl〇1)。接著,屬性 判定部120係判定經由屬性取得部11〇所取得之屬性為可快 取屬性、可叢發屬性、及不可叢發屬性中之哪一者(S102)。 藉屬性判定部12 〇判定讀取位址顯示之區域之屬性為 φ 可叢發屬性時(在81〇2,“不可快取(可叢發)”),執行第丄 轉达處理(S103 ;詳細内容係示於第7圖)。讀取位址顯示之 區域之屬性被判定為不可叢發屬性時(在Sl〇2,“不可快取 (不可叢發)’’),執行第2轉送處理(S104 ;詳細内容係示於 第8圖)。 讀取位址顯示之區域之屬性被判定為可快取屬性時 (在S102為“可快取,,),第3資料讀出部233係執行第]轉送 處理(Sl〇5)。第3轉送處理係於屬性為可快取屬性時所執行 之處理,是一個在資料轉送至處理器10時,由主記憶體20 31 201015579 讀出資料’將已讀出之資料儲存在快取記憶體15()之處理。 在此,參照第11圖。第u圖係顯示在本實施型態中, 屬性為可快取屬性時之轉送處理之詳細内容的流程圖。 第3貧料讀出部233係判斷讀取要求已命中或失誤 (S501)。讀取要求已失誤時(在S5〇1,否(N〇)),幻資料讀 出部233係由主記憶體20 ’叢發讀取含有讀取資料之資料 (叢發讀取資料)(S5〇2)。接著,第3資料讀出部233係將叢發 讀取資料f轉在‘峰記紐〖5〇及_記㈣丨4g(S5〇3)。進 而,第3貧料讀出部233係由快取記憶體15〇,讀出讀取資料 ◎ (S504),且將所讀出之讀取資料輸出至處理器丨〇(s5〇5)。 又,此時,叢發讀取資料之朝快取記憶體15〇之儲存與讀取 資料之朝處理器10之輸出亦可同時執行。 讀取要求已命中時(在S501,是(YeS)),第3資料讀出部 - 233係由快取記憶體150或緩衝記憶體14〇讀出與讀取要求 — 對應之讀取資料(S504)。接著,第3資料讀出部233係將已讀 出之讀取資料輸出至處理器10(S505)。 如上’本實施型態之緩衝記憶體裝置200係於讀取位址 顯示之區域之屬性被判定為可快取屬性時,由快取記憶體 150及緩衝記憶體140 ’叢發讀取含有與該讀取位址對應之 資料之資料。 藉此,由處理器10輸出有與可快取區相對之讀取要求 時,亦可利用緩衝記憶體140。即,藉著叢發讀取比與讀取 要求對應之資料更多之資料,且將已叢發讀取之資料先儲 存在緩衝記憶體,便可將讀取時之記憶體存取高速化。 32 201015579 (實施型態3) 本實施型態之記憶體系統係使管理主記憶體之MMU (Memory Management Unit),或,OS(〇perating System)設 定主記憶體之區域的屬性。
❹ 第12圖係顯示本實施型態之記憶體系統之構成方塊 圖。同圖之記憶體系統300包含有:處理器31〇a及310b、主 記憶體320、及L2快取330。此外,本實施型態之記憶體系 統300係一種具備含有處理器MOa及處理s31〇b之多處理 器之系統。 處理器310a處理器310a具有L1快取311、及TLB (Translation Lookaside Buffer)312’ 對主記憶體320輸出記憶 體存取要求(讀取要求或寫入要求)之CPU等。進而,處理器 310a係使用内建或設在外部之MMU及OS,進行主記憶體 320之管理。 具體而言,處理器310a係進行對主記憶體32〇之實體位 址與邏輯位址附與對應關係之位址變換表之管理。進而, 設定主記憶體320之實體位址顯示之區域的屬性,將所設定 之屬性與實體位址附與對應關係,記憶在保持位址變換表 之TLB312。此外,處理器310a係相當於實施型態丨及2之屬 性設定部170。 處理器310b係具有與處理器3i〇a同一構成之處理器。 又,處理器310a及310b可為實體上相異之2個處理器,亦可 為藉OS而將一個處理器虛擬地劃分成2個虛擬處理器。 又,L1快取311與TLB312亦可設於各處理器者。或者 33 201015579 是,L1快取311與TLB312亦可設於處理器310a與L2快取330 之間。 L1快取311係取得處理器310a所發行之記憶體存取要 求,判定所取得之記憶體存取要求(讀取要求或寫入要求) 已命中或失誤。L1快取311係相當於實施型態1及2之L1快取 30 °
讀取要求已命中時,L1快取311係由L1快取311内部讀 出與該讀取要求所含之讀取位址對應之資料,且將已讀出 之資料輸出至處理器310a。寫入要求已命中時,li快取311 係與該寫入要求同時將由處理器31〇a輸出之資料寫入L1快 取311内部。 讀取要求已失誤時,L1快取311係由L2快取330或主記 憶體320讀出與該讀取要求對應之資料,且將已讀出之資料 輸出至處理⑸10a。寫入要求已失誤時,u快取3ιι係將由 處理器MOa輸出之資料與該寫人要求同時寫人L2快取33〇 或主記憶體320。
隐位址變換表313之快取記憶體。此 TLB312係相當於實施型態以2之表格保持部· 位=換她係對邏輯位址、實體位址及糊 顯不之區域的屬性附與對應關係之表格。此外,仙 表313係相當於實施及2之區域屬性表⑹。 在此,參照第13圖。第 變換表之―㈣。㈣本實施型態之 位址、實體位址、允許址變換咖 屬吐及屺憶體屬性附與 34 201015579 關係之表格。 邏輯位址係處理器310a虛擬設定之位址,亦稱為虛擬 位址。實體位址係顯示主記憶體320之實際的寫入或讀出區 之位址,亦稱為實體位址。允許存取屬性係顯示下列2種屬 性之其中一者,一杳為顯示只有OS等之管理部可存取之區 域之“特權模式”,另一者為顯示一般性的程式等亦可存 取之區域之“用戶模式”。記憶體屬性係顯示區域為可存 取區、可叢發區、或不可叢發區中之一者。 在第13圖之例中,例如“邏輯位址C”係顯示主記憶體 320内之“實體位址3”顯示之區域,該區域為“用戶模 式”,且為“不可叢發區”。藉此,由“邏輯位址C”顯示 之區域不能叢發讀取資料者。 回到第12圖,主記憶體320係記憶程式或資料等之 SDRAM等之記憶部。因應由處理器310a及310b等輸出之記 憶體存取要求(讀取要求或寫入要求),執行由主記憶體320 之資料讀出,或,朝主記憶體320之資料寫入。主記憶體320 係相當於實施型態1及2之主記憶體20。 L2快取330係取得由處理器310a及31 Ob輸出之記憶體 存取要求,判定所取得之記憶體存取要求是命中或失誤。 L2快取330係相當於實施型態1及2之L2快取40(快取記憶體 150)。 此外,以下為了簡單說明,假設輸入至L2快取330之記 憶體存取要求係處理器310a所發行者。惟,記憶體存取要 求亦可為其他處理器(處理器310b等),或DMAC(Direct 35 201015579
Memory Access Controller ;直接記憶體存取控制器)等所發 行者。 讀取要求命中時’ L2快取33〇係由L2快取330内部讀出 與該讀取要求所含之讀取位址對應之資料,且將已讀出之 資料輸出至處理器310a等。寫入要求命中時,[2快取33〇 係將由處理裔310a輸出之資料與該讀取要求同時寫入L2快 取330内部。 讀取要求失誤時,L1快取311係由L2快取330或主記憶 體320讀出與該讀取要求對應之資料,且將所讀出之資料輸 © 出至處理器310a。寫入要求失誤時,L1快取311係將由處理 器310a輸出之資料,與該寫入要求同時寫入L2快取330或主 記憶體320。 L2快取33〇包含有佇列33la及331b、屬性判定部332a ' 及332b、選擇器333a及333b、PFB334、快取記憶體335、及 記憶體介面336。 佇列331a係暫時保持由處理器310a輸出之記憶體存取 要求之先入先出方式之記憶體(FIFO(First In First Out)記憶 體)。此外,所保持之記憶體存取要求中除了位址,並含有 該位址顯示之區域之屬性。 佇列331b係與佇列331a同一構成,為暫時保持由處理 器310b輸出之記憶體存取要求之FIFO記憶體。 又,佇列331a及331b係相當於實施型態1及2之屬性取 得部110。 屬性判定部332a係讀出佇列331 a所保持之記憶體存取 36 201015579 要求,且判定已讀出之記憶體存取要求所含之屬性是可存 取屬性、可叢發屬性、或不可叢發屬性中其中一者。接著, 依照判定結果,屬性判定部332a係經由選擇器333a或333b 及記憶體介面336,向PFB334與快取記憶體335,或者是記 憶體介面336輸出記憶體存取要求。 具體而言,屬性被判定為可快取屬性或可叢發屬性 時,屬性判定部332a係經由選擇器333a與記憶體介面336, 向PFB334與快取記憶體335輸出記憶體存取要求。屬性被判 定為不可叢發屬性時,屬性判定部332a係經由選擇器333b 與記憶體介面336,向主記憶體320輸出記憶體存取要求。 屬性判定部332b係與屬性判定部332a同一構成,讀出 佇列331b所保持之記憶體存取要求,判定所讀出之記憶體 存取要求所含之屬性。 此外,屬性判定部332a及332b係相當於實施型態丨及2 之屬性判定部120。 選擇器333a及333b係由2個仔列33la及331b,調解經由 屬性判定部332a或332b輸入之多數記憶體存取要求之其中 一個’將所調解之記憶體存取要求經由記憶體介面336,選 擇向PFB334、快取記憶體335或主記憶體320中之一者輸出 者0 PFB334係將主記憶體320之位址與由該位址顯示之區 域所讀出之資料附與對應關係且予以記憶之緩衝記憶體。 PFB334係利用在因應由處理器310a等所輸出之讀取要求, 事先保持被處理器310a等讀出之可能性高之資料之預取處 37 201015579 理。又,PFB334係相當於實施型態1及2之緩衝記憶體“ο。 快取記憶體3 3 5係保持由主記憶體3 20讀出之資料之快 取記憶體。快取記憶體335係相當於實施型態丨及2之快取記 憶體150。 記憶體介面336係判定讀取要求是命中或失誤,因應判 定結果,執行由主記憶體320、PFB334、或快取記憶體335 之資料之讀出。記憶體介面336係相當於實施型態丨及2之資 料讀出部130(230)。 例如’記憶體介面336係於讀取要求所含之讀取位址顯 示之區域的屬性為不可叢發屬性時,由主記憶體320讀出資 料,將已讀出之資料輸出至處理器310a。 又,記憶體介面336係於讀取要求所含之讀取位址顯示 之區域的屬性為可叢發屬性時,判定該讀取要求為命中或 失誤。讀取要求已命中時,由PFB334讀出所對應之讀取資 料,且輸出至處理器310a。讀取要求已失誤時,則由主記 憶體320叢發讀取含有對應之讀取資料的資料,且將叢發讀 取之資料寫入PFB334。接著,由PFB334讀出讀取資料,且 輸出至處理器310a。 進而,記憶體介面336係於讀取要求所含之讀取位址顯 示之區域的屬性為可快取屬性時,判定該讀取要求已命中 或失誤。讀取要求已命中時,由快取記憶體335讀出對應之 讀取資料,並將之輸出至處理器310a。讀取要求已失誤時, 則由主記憶體320讀出含有對應之讀取資料之資料,並將所 讀出之資料寫入快取記憶體335。然後,由快取記憶體335 38 201015579 讀出資料,並將之輸出至處理器310a。此外,此時,與實 施型態2同樣’亦可由主記憶體320叢發讀取資料,並將之 儲存在快取記憶體335 &PFB334。 接著’針對本實施型態之記憶體系統300之動作予以說 明。本實施型態之記憶體系統3 0 0之動作係與實施型態丨或2 同樣,因此在此根據第6〜9圖之流程圖作簡單的說明。 首先’由處理器310a等所輸出之讀取要求係儲存在仰 列331a等。此時,讀取要求中包括藉參照位址變換表313所 得到之屬性(S101)。 屬性判定部3 3 2a係判定讀取要求所含之屬性係可快取 屬性、可叢發屬性、或不可叢發屬性中之哪一者(Sl〇2)。判 定結果係經由選擇器333a等而輸出至記憶體介面336。 讀取要求所含之屬性係判定為可叢發屬性時(在 S102’ “不可快取(可叢發)”),記憶體介面336係執行第1 轉送處理(S103) » 如第7圖所示,記憶體介面336係判斷讀取要求已命中 或失誤(S201)。讀取要求已失誤時(在S201,否(No)),記憶 體介面336係由主記憶體320叢發讀取含有讀取資料之叢發 讀取資料(S202)。接著,記憶體介面336係將所讀出之叢發 讀取資料儲存在PFB334 (S203)。進而,記憶體介面336係 由PFB334讀出讀取資料(S204),且將所讀出之讀取資料輸 出至處理器310a(S205)。 讀取要求已命中時(在S201,是(Yes)),記憶體介面336 係由PFB334讀出讀取資料(S204),將所讀出之讀取資料輸 39 201015579 出至處理器310a(S205)。 回到第6圖,讀取要求所含之屬性被判定為不可叢發屬 性時(在S102 , 不可快取(不可叢發)”),記憶體介面336 係執行第2轉送處理(S104)。 如第8圖所示,記憶體介面336係由主記憶體320讀出讀 取資料(S301)。接著,記憶體介面336係將所讀出之讀取資 料輸出至處理器310a(S302)。 再回到第6圖,讀取要求所含之屬性被判定為可快取屬 性時(在S102,“可快取”),記憶體介面336係執行第3轉送 處理(S105)。 如第9圖所示,記憶體介面336係判斷讀取要求已命中 或失誤(S401)。讀取要求已失誤時(在S401,否(N〇)),記憶 體介面336係由主記憶體320讀出讀取資料(S402)。接著,記 憶體介面336係將所讀出之讀取資料儲存在快取記憶體 335(8403)。進而,記憶體介面336係由快取記憶體335讀出 讀取資料(S404),並將所讀出之讀取資料輸出至處理器 310a(S405)。 讀取要求已命中時(在S401 ’是(Yes)),記憶體介面336 係由快取記憶體335讀出讀取資料(S4〇4),且將所讀出之讀 取資料輸出至處理器3l〇a(S405)。 此外,亦可在讀取要求所含之屬性被判定為可快取屬 性時(在S102,“可快取”),且,讀取要求已失誤時(在 S401,否(No)),記憶體介面336亦可由主記憶體320叢發讀 取含有讀取資料之資料(第11圖所示之流程圖)。此時,所讀 201015579 出之叢發讀取資料係儲存在快取記憶體335與1^8334。 如上,在本實施型態之記憶體系統3〇〇中,藉處理器内 之MMU等設定屬性,將所設定之屬性記憶在TLB所保持之 位址變換表。藉此,可利用迄今所具備之位址變換表,不 需要新設屬性記憶用的緩衝器等,可將結構簡易化。 (實施型態4) 本實施型態之緩衝記憶體裝置係暫時保持由處理器所 輸出且寫入主記憶體用之資料,在滿足特定之條件時,叢 發寫入所保持之資料。藉此’可有效利用資料匯流排,有 效率地轉送資料。 第14圖係顯示本實施型態之緩衝記憶體裝置之結構之 方塊圖。該圖之緩衝記憶體裝置400係依照多數處理器 l〇a、l〇b及10c之各所發行之記憶體存取要求,在多數處理 器l〇a、l〇b及10c與主記憶體20之間轉送資料。以下,不須 特別將多數處理器l〇a、10b及10c區分說明時,則記為處理 器10。 此外,緩衝記憶體裝置400係設置於與第1圖所示之L2 快取40相同之晶片者。又,在第1圖所示之L1快取30係設置 於多數處理器10a、l〇b及10c之各處理器者,未示於第14 圖。惟,L1快取30亦可設於多數處理器l〇a、l〇b及10c與緩 衝記憶體裝置400之間,在多數處理器l〇a、l〇b及10c所共 有者。 如第14圖所示,緩衝記憶體裝置400包含有記憶體存取 資訊取得部41〇、判定部420、控制部430、資料轉送部440、 41 201015579 STB(Store Buffer)450a、450b及450c、快取記憶體460、及 PFB470。此外’以下無須特別區別STB45〇a、45〇b及45〇c 說明時,則記為STB450。 記憶體存取資訊取得部410係由處理器1〇取得記憶體 存取要求’由所取得之記憶體存取要求取得顯示處理器1〇 所發行之記憶體存取要求之性質之記憶體存取資訊。記憶 體存取資訊係記憶體存取要求所含之資訊及其附帶之資 訊,包括命令資訊、位址資訊、屬性資訊、及處理器資訊 等。 BP令Ϊ 3孔係顯示δ己憶體存取要求是寫入要求或讀取要 求、以及與資料轉送相關之其他命令等之資訊。位址資訊 係顯示寫入位址或讀取位址之資訊,寫入位址係顯示寫入 資料之區域,讀取位址係顯示讀出資料之區域。屬性資訊 係顯示寫入位址或讀取位址顯示之區域的屬性為可快取屬 性、可叢發屬性或不可叢發屬性中之一者的資訊。處理器 資訊係顯示發行有記憶體存取要求之穿線、邏輯處理器 (LP : Logical Processor)及實體處理器(pp : physical Processor)之資訊。 又,屬性資訊亦可不包含在記憶體存取要求中。此時, 記憶體存取資訊取得部41〇亦可保持將主記憶體2〇之位址 及該位址顯示之區域的屬性附與對應關係之表格,參照位 址資訊與該表格,以取得屬性資訊。 在此,參照第15圖。第15圖係顯示本實施型態之記憶 體存取資訊之一例之圖。在該圖中顯示記憶體存取資訊5〇1 201015579 及 502。 記憶體存取資訊501係顯示:記憶體存取要求為實體處 理器“ΡΡΓ之邏輯處理器“LP1 ”所發行之寫入要求,顯 示含有顯示將資料寫入屬於“寫入位址1”所示之可叢發 屬性之區域之寫入命令。又,顯示該寫入要求中含有“A11 Sync”命令者。 記憶體存取資訊502係顯示:記憶體存取要求為實體處 φ 理器“ΡΡΓ之邏輯處理器“LP1 ”所發行之讀取要求,顯 示含有顯示由屬於“讀取位址Γ所示之可叢發性之區域 讀出資料之讀取命令。又,顯示該讀取要求中含有“Self Sync”命令者。 . 又’針對“All Sync”及“Self Sync”命令容後詳述。 回到第14圖,判定部420係判定記憶體存取資訊取得部 410所取得之記憶體存取資訊顯示之性質是否滿足事先訂 定之條件。具體而言,判定部420係利用作為記憶體存取資 〇 訊而取得之命令資訊、屬性資訊、位址資訊及處理器資訊 等、以及經由控制部430而由STB450取得之緩衝量資訊, 進行條件之判定。條件與判定部420之處理之明細容後詳 述。又’緩衝量資訊係顯示保持在STB45〇之各緩衝器之資 料量之資訊。 控制部43 0係於藉判定部4 2 〇判定記憶體存取資訊顯示 之性質滿足條件時,在多數81^45〇3、45〇1)及45〇(:中與該條 件對應之STB所保持之資料掃出至主記憶體。具體而言, 控制部430係將掃出命令輸出至STB45〇。掃出命令係輸出 43 201015579 至成為將資料掃出之對象之STB,收到掃出命令之⑽係將 所保持之資料輸出至主記憶體20。 又’控制部430係藉將控制資訊輸出至資料轉送部 糊,控制資料轉送部44〇。例如控制資訊至少含有屬性資 A ’控制部43G係因應位址顯示之區域的屬性決^寫人資 料之寫入目的地、及讀取資料之讀出目的地等。 進而,控制部430係將多數STB45〇a、45〇b及45〇c之各 所保持之資料的量之緩衝量輸出至判定部42〇。 資料轉送部440係藉控制部430之控制,在處理器1〇與 © 主s己憶體20之間轉送資料。具體而言,由處理器1〇輸出寫 入要求時,將為了寫入主記憶體2〇而由處理器1〇輸出之寫 入資料寫入STB450、快取記憶體460及主記憶體2〇中其中 一者。又,由處理器1〇輸出讀取要求時,由快取記憶體46〇、 — PFB470及主記憶體20之其中一者讀出讀取資料,且將所讀 - 出之讀取資料輸出至處理器1〇。要利用哪一記憶體,是因 應位址顯示之區域的屬性,藉控制部430決定的。 如第14圖所示,資料轉送部440包含有第1資料轉送部 ® 441、第2資料轉送部442、及第3資料轉送部443。 第1資料轉送部441係於位址顯示之區域屬於可叢發屬 性時,進行資料之轉送。有寫入要求輸入時,第1資料轉送 部441係將與該寫入要求對應之寫入資料寫入STB450。要 寫入多數STB450a、450b及450c之其中一者是藉控制資訊所 含之處理器資訊所決定的。具體而言,在與發行有寫入要 求之處理器對應之STB寫入寫入資料。 44 201015579 有讀取要求輸入時,第1資料轉送部441係判定是否有 與S亥S賣取要求對應之瀆取資料已保持在pFB47〇。即,判定 該讀取要求已命中或失誤。該讀取要求已命中時,第丨資料 轉送部441係由PFB470讀出所對應之讀取資料,且將所讀出 之項取資料輸出至處理器10。該讀取要求失誤時第1資料 轉送。卩441係由主5己憶體20叢發讀取含有與該讀取要求對 應之讀取資料之㈣,且將已叢發讀取之資料寫入
咖470。又,由PFB47〇讀出與讀取要求對應之讀取資料, 且將所讀出之讀取資料輸出至處理㈣。X,亦可將由主 己It體2〇4出之叢發讀取資料寫入咖㈣’同時將與讀取 要求對應之讀取資料輸出至處理器10。 第2資料轉送部442係於位址_之區朗於不可叢發 ,時’進行資料之轉送m要求輸人時 ❹M42係將與該寫人要求對應之寫人資料寫胃, 要求輪入時,第2f料轉送部442係由主;= 資==對一料,且將,之;取 第3資料轉送部料3係於位址顯示之 性時,進行資料之轉送。 ]快取屬 處理求輸人時,第3詩轉送部443係藉進行寫θ 不同。、理之其中-者,而使寫入資料之寫入目的地 求命Si處:時,第3資料轉送部443係判定讀寫入要 、°该寫入要求6命中時,將寫人資料寫入快 45 201015579 取記憶體460。該寫入要求已失誤時,第3資料轉送部443則 對快取記憶體460進行再填充(refin)處理,將寫入要求所含 之位址(標籤位址)與寫入資料寫入快取記憶體46〇。在每一 種情形中,寫入快取記憶體460之寫入資料亦以任意時序寫 入主記憶體20。此外,寫入要求已失誤時,亦可直接將寫 入資料寫入主記憶體2〇,而不將寫入資料寫入快取記憶體 460。 進行寫穿處理時,第3資料轉送部443係判定該寫入要 求命中或失誤。該寫入要求命中時,第3資料轉送部443係 © 將寫入位址及寫入資料寫入STB450。寫入STB450之寫入資 料係於藉判定部420判定後續的記憶體存取要求的性質滿 足條件時,依照控制部430之控制,由STB45〇叢發寫入快 取記憶體460與主記憶體2〇〇 — 該寫入要求失誤時’同樣,第3資料轉送部443亦將冑 - 入位址及寫入資料寫入STB45〇。已寫入STB45〇之寫入資料 及寫入位址係於藉判定部4糊定後續之記憶财取要求 的性質滿足條件時,由STB45〇叢發寫入快取記憶體糊及 © 主記憶體20。 有讀取要求輸入時,第3資料轉送部443係判定該讀取 要求命中或失誤。該讀取要求命中時,第3資料轉送部Μ3 係由快取記憶體460讀出讀取資料,且將所讀出之讀取資料 輸出至處理器10。 該讀取要求失誤時,第3資料轉送部443係由主記憶體 20讀出讀取資料,且將所讀出之讀取資料及讀取位址寫入 46 201015579 快取記憶體460。接著,第3資料轉送部443係由快取記憶體 460讀出讀取資料,且將所讀出之讀取資料輸出至處理器 10。又,亦可將由主記憶體20所讀出之讀取資料寫入快取 記憶體460,同時輸出至處理器1〇。 STBMOa、45〇b及450c各與多數處理器10a、1〇b及1〇c 對應,為保持與藉對應之處理器所發行之寫入要求對應之 寫入資料之儲存緩衝器(STB)。STB450係為了將由多數處 _ 理器10輸出之寫入資料合併,暫時保持寫入資料之緩衝記 憶體。 在本實施型態中,STB450係設於各實體處理器。又, 以一例來說,STB450可保持最大達128位元組之資料。保 持在STB450之資料係根據來自控制部430之控制,叢發寫 入主記憶體20。又,在寫入要求是朝屬於可快取屬性之區 域之存取,且,進行寫穿處理時,保持在STB45〇之資料係 叢發寫入主記憶體20及快取記憶體460。 Ο 在此,參照第16圖。第16圖係本實施型態之緩衝記憶 體襞置400所具備之STB450之概略圖。 如同圖所示,STB45〇a、450b及45〇c各對應實體處理器 (處理器 1〇啦?〇)、1〇15奸1)及1〇(:(1>1>2))而設置。即,81^45〇& 係保持由處理器l〇a輸出之寫入位址等之緩衝控制資訊及 寫入資料。STB450b係保持由處理器10b輸出之寫入位址等 之緩衝控制資訊及寫入資訊。873450(:係保持由處理器1〇c 輸出之寫入位址等之緩衝控制資訊及寫入資料。 緩衝控制資訊係寫入要求所含之資訊,用以管理寫入 47 201015579 STB450之資料之資訊。即,緩衝控制資訊係至少含有包括 寫入位址,且顯示輸出對應之寫入資料之實體處理器及邏 輯處理器等之資訊。 在第16圖所示之例中’設在每一實體處理器之§ΤΒ具 有2個可保持64位元組資料之區域。例如,亦可將這2個區 域對應於每一穿線(thread)者。 快取記憶體460,例如與實施型態1之快取記憶體15〇同 樣,為4路集合相聯方式之快取記憶體。 PFB470係相當於實施型態丨之緩衝記憶體14〇,將主記 © 憶體20之位址、與藉第!資料轉送部441而由該位址顯示之 區域讀出之資料附與對應關係後記憶之緩衝記憶體。 在此,針對判定部420用於判定處理之條件予以說明。 第17圖係顯示判定表之圖,該判定表顯示本實施型冑 - 之多數判定條件之一例。在同圖中,以一例來說,顯示了 · 屬性判定條件(“Uncache”)、命令判定條件(“AU办如,, 及“Self Sync”)、位址判定條件(“RAW,,及 ‘‘ Another Line Access ’’)、緩衝量判定條件(“ Si〇t Θ
Full”)、及處理器判定條件(“相同Lp、不同ρρ”)。 屬性判定條件係使用屬性資訊,依照記憶體存取要求 所含之位址顯示之區域的屬性,用以決定由stb45〇之資料 之掃出、及成為掃出對象之STB之條件。第_所示之 ‘‘ Uncache”條件係屬性判定條件之一例。 在“Uneaehe”條件下’記‘隨躲要求所含之位址顯 示之區域的屬性係藉判定部42〇判定是否為不可叢發屬 48 201015579 性。被判定為不可叢發屬性時,控制部430係從STB將保持 之貢料掃出至主記憶體2〇,該STB保持有與發行有該記憶 體存取要求之邏輯處理器相同之邏輯處理器所發行之記憶 體存取要求對應之資料。此外,控制部43〇對於判定掃出對 象之STB之基準’亦可使用與穿線(thread)對應之虛擬處理 器,而非邏輯處理器。 命令判定條件’係指使用命令資訊,依照記憶體存取 要求所含之命令,以決定來自STB45〇之資料之掃出、及成 為掃出對象之STB之條件。第17圖所示之“AuSync,,條件 及 Self Sync條件係命令判定條件之一例。 在 All Sync”條件下’藉判定部42〇判定在記憶體存 取要求中是否含有“All Sync”命令。“All Sync”命令, 係用以將全部的STB450所保持之全部資料掃出至主記憶 體20之命令。在含有“All Sync”命令時(例如,第15圖之 記憶體存取資訊5〇 1) ’控制部430係將全部的STB450所保持 之全部資料掃出至主記憶體20。 在“SelfSync”條件下,藉判定部420判定記憶體存取 要求中是否含有“Self Sync”命令。“Self Sync”命令, 係用以由STB450,只將發行有該命令之處理器所輸出之資 料掃出至主記憶體2〇之命令。在含有“Self Sync”命令時 (例如,第15圖之記憶體存取資訊502),控制部430係由保持 有與和發行有該記憶體存取要求之邏輯處理器相同之邏輯 處理器所發行之記憶體存取要求對應之資料之STB,將所 保持之資料掃出至主記憶體20。此外,控制部430對於判定 49 201015579 掃出對象之STB之基準,亦可使用與穿線對應之虛擬處理 器,而非邏輯處理器。 位址判定條件係使用位址資訊,依照記憶體存取要求 所含之位址,以決定來自STB450之資料之掃出、及成為掃 出對象之STB之條件。第π圖所示之“RAW Hazard”條件 及“Another Line Access”條件係位址判定條件之一例。 在“RAW Hazard”條件下,藉判定部420判定與讀取 要求所含之讀取位址一致之寫入位址是否保持在多數 STB450之至少一者。與讀取位址一致之寫入位址係保持在 STB450之其中一者時,控制部430係將迄至風險(Hazard)線 為止之資料全部掃出至主記憶體20,即,與該寫入位址對 應之寫入資料之前已保持在STB450之資料掃出至主記憶 體20。 在“Another Line Access”條件下,藉判定部420判定 寫入要求所含之寫入位址是否與剛才輸入之寫入要求所含 之寫入位址有關聯者。具體而言,判定這2個寫入位址是否 為連續之位址。又,此時,令2個寫入要求一同是在相同實 體處理器發行者。被判定為2個寫入位址不是連續的值址 時,控制部430係將在與剛才輸入之寫入要求對應之寫入資 料之前已保持在STB450之資料掃出至主記憶體20。 緩衝量判定條件係使用緩衝量資訊,依照STB450$# 持之資料量’以決定來自STB450之資料掃出、及成為掃出 對象之STB之條件。第17圖所示之“SlotFull”條件係緩衝 量判定條件之一例。 201015579 在“SlotFu11”條件下,藉判定部420判定STB450所保 持之資料量之緩衝量是否已滿(128位元組)者。緩衝量被判 定為128位元組時,控制部43〇係將該STB之資料掃出至主 記憶體20。 處理器判定條件係使用處理器資訊,依照是哪—邏輯 處理器與實體處理器發行了記憶體存取要求,以決定來自 STB450之資料之掃出、及、成為掃出對象之STB之條件。 第17圖所示之“相同LP、不同PP”條件係處理器判定條件 之一例。 在“相同LP、不同PP”條件下,已發行記憶體存取要 求之邏輯處理器被判定是否和與STB450所保持之寫入資 料對應之寫入要求之邏輯處理器相同者。進而,已發行該 記憶體存取要求之實體處理器被判定是否與已發行該寫入 要求之實體處理器不同。即,藉判定部42〇判定在與處理器 資訊顯示之實體處理器不同之實體處理器,且,在與處理 器資訊顯示之邏輯處理器顯示之邏輯處理器相同之邏輯處 理器之前發行的寫人要求對應之寫人資/肢否保持在至少 -個STB者。在判定為邏輯處理器相同且實體處理器不同 時,控制部430係由STB450掃出與該邏輯處理器之前所發 胃m #可判定穿線⑽福)是 否為相同,而非邏輯處理器。 如上’在本實施型態中,在滿足各種條件時,由stb45〇 掃出資料。又,不必判定全部上述條件。又,亦可在上述 條件上加人新的條件,$,可將上述條件和新條件取代二 51 201015579 例如,“S1〇t Fun”條件係判定緩衝量是否已滿之條 件’條件是判定緩衝量是否已滿之條件,除了這條件外, 亦可為判定是否已到達預定之緩衝量(可保持在⑽之緩衝 量^大值的-半等)之條件。例如’可保持在stb45〇之資 枓量的最大值是128位元組,但在STB4顺主記憶體测 之資料匯流排寬度為64位元組時等,亦可判定緩衝量是否 已達到64位元組。 在此,參照第18圖。第18圖係顯示本實施型態之判定 dP420之詳細構成之方塊圖。如同圖所示,判定部420具有 ® 屬性判定部42卜處理器判定部422、命令判定部423、位址 殉定部424、緩衝量判定部425、及判定結果輸出部426。 屬性判定部421係由在記憶體存取資訊取得部41〇所取 得之記憶體存取資訊取得屬性資訊,判定記憶體存取要求 所含之位址顯示之區域的屬性是可快取屬性'可叢發屬 性、及不可叢發屬性中哪一者。接著,屬性判定部421係將 所得到之判定結果輸出至判定結果輸出部426。 處理器判定部422係由經由記憶體存取資訊取得部41〇 ® 所取得之記憶體存取資訊取得處理器資訊,判定已發行記 陡體存取要求之處理器為多數邏輯處理器及實體處理器中 °那一個邏輯處理器及實體處理器。接著,處理器判定部422 係將所得到之判定結果輸出至判定結果輸出部426。 命令判定部423係由在記憶體存取資訊取得部41〇所取 得之記憶體存取資訊取得命令資訊,判定記憶體存取要求 中是否含有特定的命令。進而,命令判定部423係於記憶體 52 201015579 存取要求中含有特定之命令時’判定該特定之命令的種 類。接著’命令判定部423係將所得到之判定結果輸出至判 定結果輸出部426。 此外,特定之命令係指諸如與其他條件無關之狀態下 由STB450掃出資料之命令。以一例來說,有上述般之“ An Sync” 命令及 “Self Sync” 命令。 位址判定部424係由在記憶體存取資訊取得部4i〇所取 魯 #之記憶體存取資訊取得位址資訊’判定記憶體存取要求 所含之位址疋否已保持在STB450者。進而,位址判定部 係判定該記憶體存取要求所含之位址是否與剛才的記憶體 存取要求所含之位址有關聯者。具體而言,判定2個位址是 否連續。接著,位址判定部424係將所得到之判定結果輸出 至判定結果輸出部426。 緩衝量判定部425係經由控制部430而由STB450取得 緩衝量,按每一 STB判定緩衝量是否已達到預定之極限 φ 值。接著,緩衝量判定部425係將所得到之判定結果輸出至 判定結果輸出部426。又,預定之極限值係諸如STB45〇之 最大值,或’在緩衝記憶體裝置400與主記憶體20之間之資 料匯流排寬度等。 判定結果輸出部426係以由各判定部輸入之判定結果 為基礎,判定是否滿足第17圖所示之條件,且將所得到之 判定結果輸出至控制部430。具體而言,判定結果輸出部426 係於判定滿足第Π圖所示之條件時,將顯示將哪一STB之 哪種資料掃出至主記憶體20之掃出資訊輸出至控制部430。 53 201015579 藉以上之構成,本實施型態之緩衝記憶體裝置400係具 備暫時保持由多數處理器10輸出之寫入資料之多數 STB450 ’已滿足預定之條件時,將STB45〇所保持之資料叢 發寫入主§己憶體20。即,為了合併(merge)小尺寸之多數寫 入資料,先暫時保持在STB450,將藉合併而所得到之大尺 寸的資料叢發寫入主記憶體2(^此時,根據用以進行在多 數處理器間之資料順序之保證之條件,決定是否可進行來 自STB45〇之資料掃出。 藉此,可一邊保持資料的連貫性,一邊提昇資料之轉 送效率。 接著’利用第19〜26圖說明本實施型態之緩衝記憶體裝 置400之動作。第19圖係顯示本實施型態之緩衝記憶體裝置 400之動作之流程圖。 首先’本實施型態之緩衝記憶體裝置4〇〇係藉由處理器 10取得記憶體存取要求,執行本實施型態之資料轉送處理。 記憶體存取資訊取得部41〇係由記憶體存取要求取得 記憶體存取資訊(S601)。接著,將所取得之記憶體存取資訊 輸出至判定部420。又,因應需要,判定部42〇係經由控制 部430而由STB450取得緩衝量資訊。 判定部420係使用所輸入之記憶體存取資訊及所取得 之緩衝量資訊,判定是否由STB450掃出資訊(86〇2)。針對 這掃出判定處理容後詳述。 接著,命令判定部423係判定記憶體存取要求是寫入要 求或讀取要求(S603)。記憶體存取要求是寫入要求時(在 54 201015579 S603 冑人’’)’資料轉送部楊係進行由處理器職輸 之寫入貝料之寫入處理^細句。記憶體存取要求 求時⑷,,“讀取”),資料轉送部_係執行朝處理器 10之讀取資料之讀出處理(S605)。
此外’在掃出判定處理(S6〇2),記憶體存取要求被判定 為寫入要求或讀取要求時,在掃出歡處理⑽A結束後, 亦可執行寫入處理(S6〇4),或讀出處理(S6〇^,而不進行記 憶體存取要求之判定處理(S603)。 以下,首先針對寫入處理(S6〇4)詳細說明。 第20圖係顯示本實施型態之緩衝記憶體裝置400之寫 入處理之流程圖。 記憶體存取要求為寫入要求時,首先,屬性判定部421 係判定該寫入要求所含之寫入位址顯示之區域的屬性 (S611)。具體而言,屬性判定部421係判定寫入位址顯示之 區域之屬性為可叢發屬性、不可叢發屬性、或、可快取屬 性中之一者。 寫入位址顯示之區域之屬性被判定為可叢發屬性時 (在S611,不可快取(可叢發))’第1資料轉送部441係將 由處理器ίο所輸出之寫入資料寫aSTB450(S612)。具體而 s,第1資料轉送部441係根據來自控制部43〇之控制,在與 已發行寫入要求之實體處理器(例如,處理器1〇a)對應之 STB(STB450a)寫入寫入資料。 寫入位址顯示之區域的屬性被判定為不可叢發屬性時 (在S611,‘‘不可快取(不可叢發)”),第2資料轉送部442係 55 201015579 將由處理器10所輸出之寫入資料寫入主記憶體華13)。 寫入位址顯示之區域之屬性被判定為可快取屬性時 (在則,“可快取,,)’第3資料轉送部w係判定寫入要求 命中或失誤_4)。寫入要求失誤時(在S6m,否㈣),第 3資料轉送部443係對練記,_偏進行再填域理,更新 標籤位址(S615)。 標籤位址在更駿,或,寫人要求命中時(在剛,是 ’控制部430係因應根據該寫入要求之寫入處理是寫 回處理或寫穿處理,變更寫入資料之寫人目的地(s6i7)。在 © 寫回處理時(在祕,“寫回”),第3資料轉送部如係將寫 入資料寫人快取記憶體46G(S617)。在寫穿處理時(在 祕,“寫穿”),請料轉送部443係將寫入㈣及寫入 位址寫入 STB450(S618)。 - 如上進行後,由處理器1G所輸出之寫人資料被寫人主 - 記憶體20、STB45G或錄記。又,已寫人仍45〇 及快取記㈣之㈣係於藉於輸人有後續之記憶體存 取要求時等所執行之掃出狀處理,而寫人主記憶⑽。 © 又,在掃出判定處理(S602)中,在判定寫入位址顯示之 區域之屬性時,在記憶體存取要求之判定處理(s6〇3)結束 後,亦可執行各自的寫入處理’而不進行屬性之判定處理 (S611)。 其次,針對讀出處理_5)進行說明。讀出處理(細) 係例如第6〜9圖所示之流程執行。 又’在掃出判定處理(S602)判定讀取位址顯示之區域之 56 201015579 屬味時I。己隱體存取要求之判定處理⑼们)結束後 ,亦玎 執订各自的讀出處理,而不進行屬性取得處理(㈣1)及屬性 判定處理(S102)。 ,、人仙第21〜26®詳細說明掃出判定處邪6〇2)。 在掃出判定纽巾,亦可將扣圖料之狀表顯示之條 件是哪-順序。惟,如“AU Syne,,條件般,條件滿足時, 掃出保持在全部的緩衝11之資料等,希望縣進行之後無 須再做其他的條件之判定者。 第21圖係顯示本實施型態之緩衝記憶體裝置400之屬 !·生判定處理之流程圖。同圖係顯示根據第丨7圖之 “Uncache”條件之掃出判定處理。 §己憶體存取資訊係輸入判定部420時,屬性判定部421 係判定記㈣存取要求所含之位址_之區域之屬性是否 為不可叢發屬性(S701)。該位址顯示之區域之屬性被判定為 不是不可叢發屬性時(在S7(n,否(N。)),則執行其他的判定 處理。 記憶體存取要求所含之位址顯示之區域的屬性被判定 為不可叢發屬性時(S701),控制部43〇係由保持有與已發行 該記憶體存取要求之邏輯處理器相同之邏輯處理器所發行 之記憶體存取要求對應之資料之STB,將所保持之資料掃 出至主5己憶體20 (S702)。又,控制部430係使用處理器判定 部422之判定結果,藉界定多數STB450中成為掃出對象之 STB,執行資料之掃出。該掃出一結束時,則執行其他判 定處理。 57 201015579 第22圖係顯示本實施型態之緩衝記憶體裝置4〇〇之命 令判定處理之流程圖。同圖係顯示根據第17圖之“A11 Sync條件與“SelfSync”條件所進行之掃出判定處理。 s己憶體存取資訊係輸入判定部420時’命令判定部423 係判疋s己憶體存取要求所含之命令是否含有旨趣為與其他 條件無關而將資料掃出之命令之“Sync”命令(S8〇1)。記憶 體存取要求未含有“Sync”命令時(在S801,否(N〇)),則執 行其他的判定處理。 在s己憶體存取要求含有“Sync”命令時(在ssoi,是 ® (Yes))’命令判定部423係判定“Sync”命令為“AUSync” 命令或 “Self Sync” 命令(S802)。“Sync” 命令為 “ah Sync命令時(在S802,“All Sync”),控制部430係由全 部的STB450掃出全部的資料(S8〇3)。 '
Sync” 命令是 “Self Sync” 命令時(在S802,“Self '
Sync”),控制部430係由保持有與已發行該記憶體存取要 求之邏輯處理器相同之邏輯處理器所發行之記憶體存取要 求對應之資料之STB,將所保持之資料掃出至主記憶體 © 20(S804)。又,控制部430係使用處理器判定部422之判定結 果,藉界定多數STB450中成為掃出對象之STB,執行資料 之掃出。 資料之掃出一結束時,則執行其他的判定處理。
第23圖係顯示本實施型態之緩衝記憶體裝置4〇〇之讀 取位址判定處理之流程圖。該圖係顯示根據第17圖之 “ RAW Hazard ’’條件之掃出判定處理。又,“ RAW 58 201015579
Hazard條件係於緩衝記憶體裝置4〇〇收到讀取要求時判 定之條件。即’命令判定部423係判定記憶體存取要求為讀 取要求時執行者。 位址判定部424係判定該讀取要求所含之讀取位址是 否與STB450所保持之寫入位址一致(S901)。該讀取位址被 判疋STB450所保持之寫入位址不一致時(在S9〇1,否 (No)) ’則執行其他的判定處理。 φ 在被判定為讀取位址與已保持在STB450之寫入位址 一致時’(在S901 ’是(Yes)),控制部43〇係由STB45〇掃出 迄至Hazard線之資訊全部,即,在與一致之寫入位址對應 之寫入資料之前所保持之全部的資料(S902)。資料之掃出一 結束時’則執行其他判定處理。 第24圖係顯示本實施型態之緩衝記憶體裝置400之寫 入位址判定處理之流程圖。同圖係顯示根據第17圖之 “Another Line Access”條件所執行之掃出判定處理。又, 〇 Another Line Access”條件係於緩衝記憶體裝置400接收 到寫入要求時所判定之條件。即,在命令判定部423判定記 憶體存取要求為寫入要求時執行者。 位址判定部424係判定該寫入要求所含之寫入位址是 否與剛才輸入之寫入要求所含之寫入位址連續(sl001)。2 個位址連續時(在S1001,否(N〇)),執行其他的判定處理。 在2個位址不連續時(在sl〇〇1,是(Yes)),控制部43〇係 由STB450,把含有與剛才輸入之寫入要求對應之寫入資料 在内,將這之前的資料全部掃出(§ i 〇〇2)。資料之掃出一結 59 201015579 束’即執行其他的判定處理。 第25圖係顯示本實施型態之緩衝記憶體裝置4〇〇之緩 衝量判定處理之流程圖.該圖軸示根據第17圖之“編 Full條件之掃出判定處理。
Slot Full”條件是與其他條件不同,不是根據記憶體 存取資訊’而是根據由STB45〇所得到之缓衝量資訊所判定 之條件。因此,不限於緩衝記憶體裝置400接收到記憶體存 取要求之型態’亦可在任一時序,或,在#資料寫入STB450 的時候等進行判定。 緩衝量判定部425係經由控制部430而由STB450取得 緩衝量資訊,對每一STB判定緩衝量是否已滿(sn〇1)。緩 衝量不是已滿時(在Sinn,否(N〇)),在緩衝記憶體裝置4〇〇 收到圮憶體存取要求時,執行其他的判定處理。 緩衝量已滿時’(在S1101,是(Yes)),控制部43〇係從 多數STB450中緩衝量已滿之STB掃出資料(sll〇2)。資料之 掃出結束時,執行其他判定處理。 第26圖係顯示本實施型態之緩衝記憶體裝置4〇〇之處 理器判定處理之流程圖。同圖顯示根據第17圖之“相同 LP、不同pp”條件之掃出判定處理。 記憶體存取資訊係輸入判定部420時,處理器判定部 422係判定在與發行有記憶體存取要求之實體處理器不同 之實體處理器,且,與發行有該記憶體存取要求之邏輯處 理器相同之邏輯處理器之前發行之記憶體存取要求對應之 寫入資料是否已保持在STB450(S1201)。該寫入資料未保持 201015579 在STB450時(在S1201 ’否(No)) ’執行其他的判定處理。 由相同邏輯處理器’但不同之實體處理器輸出之寫入 資料係保持在STB450時(在S12(H,是(Yes)),由保持有該寫 入資料之STB掃出資料(S1202)。資料之掃出一結束時,即 執行其他的判定處理。 以上之第21至26圖所示的判定處理全部完成時,掃出 判定處理(第19圖之S602)結束。
不滿足以上之清除判定處理所示之條件時,與寫入要 求對應之寫入資料係保持在STB450。即,所輸入之小尺寸 的寫入資料係於STB450合併’形成大尺寸之資料。又,該 資料係滿足上述其中一種條件之時’則叢發寫入主記憶體 20 ° 此外,在以上說明中,在每次滿足各判定條件時將資 料掃出至主記憶體20,但亦可在判定過全部的判定條件之 後,匯整與所滿足之條件對應之資料,再掃出至主記憶體 20。 如上,本實施型態之緩衝記憶體裝置4〇〇具備與多數声 理器10個別對應之STB450,在各STB450合併由處时处 輸出之寫入資料,並保持之。接著,在滿足特定條D 1Q 由STB450將所合併之資料叢發寫入主記憶體2〇。 夺, 藉此,可將透過合併小尺寸之寫入資料而所得 資料叢發寫入主記憶體,與個別將小尺寸之資料寫 至1J之大 入之態 樣相比,可提昇資料的轉送效率。又,具備由8丁这4 資料之條件,因此可保持由多數處理器輸出 〇磧出 <馬入資料之 61 201015579 連貫性。尤其是在記憶體存取要求係於相同邏輯處理器但 不同實體處理器所發行時,可掃出STB450所保持之資料, 因此即使是多數處理器所執行之多穿線,或,利用了多處 理器之記憶體系統的型態中,亦可保持資料的連貫性。 以上,針對本發明之緩衝記憶體裝置及記憶體系統係 根據實施型態說明了,但本發明不限定於其等實施型態 者。在不脫離本發明之旨趣下,熟悉本技術之人士可想到 之各種變形於該實施型態實施之態樣、或將不同的實施型 態中之構成要素組合而所構建之型態亦涵蓋在本發明之範 @ 圍内。 又,在各實施型態中,記憶體存取要求之發行源亦可 為CPU等之處理器、及DMAC等所有主機。 又,在各實施型態中已針對L2快取40具有各實施型態 — 之缓衝記憶體140、PFB334或PFB470之結構說明,但li快 - 取30亦可具有該緩衝記憶體140、PFB334或PFB470。此時, 記憶體系統亦可不具L2快取40者。 又,亦可對具有L3(三階)快取以上之高速緩衝記憶體 Θ 之記憶體系統適用本發明。此時,較佳的是最大階層之高 速緩衝記憶體’即’最靠近主記憶體20之高速緩衝記憶體 具有各實施型態之緩衝記憶體140、PFB334或PFB470者。 此外,本發明,如上述,不僅可作為緩衝記憶體裝置、 記憶體系統及資料讀取方法予以實現,亦可做為用以於電 腦執行本實施型態之資料讀取方法之程式實現。又,亦可 做為記錄該程式且電腦可讀取之CD — ROM等之記錄媒體 62 201015579 來實現。進而,亦可做為顯示該程式之資訊、資料或訊號 實現。又,其等程式、資訊、資料及訊號亦可經由網際網 路等之通訊網路發送。 又,本發明亦可由一個系統LSI(Large Scale Integration ;大型積體)構成為構成緩衝記憶體裝置之構成 要素之一部分或全部。系統LSI係一將多數構成部在一個晶 片上集成製造之超多功能性LSI,具體而言是指含有微處理 器、ROM及RAM等所構成之電腦系統。
[產業利用性] 本發明之緩衝記憶體裝置及記憶體系統可利用於在 CPU等之處理器與主記憶體之間進行資料轉送之系統,例 如可利用在電腦等。 C圖式簡單說明3 第1圖係顯示實施型態1之含有處理器、主記憶體及快 取記憶體之系統的概略構成方塊圖。 第2圖係顯示實施型態1之位址空間所設定之屬性圖。 第3圖係顯示實施型態1之緩衝記憶體裝置之構成方塊 圖。 第4圖係顯示實施型態1之區域屬性表之一例之圖。 第5圖係顯示實施型態1之緩衝記憶體與快取記憶體之 詳細圖。 第6圖係顯示實施型態1之缓衝記憶體裝置之動作之流 程圖。 第7圖係顯示實施型態1中屬性是可叢發屬性時轉送處 63 201015579 理之詳細流程圖。 第8圖係顯示實施型態1中屬性是不可叢發屬性時轉送 處理之詳細流程圖。 第9圖係顯示實施型態1中屬性為可快取屬性時轉送處 理之詳細流程圖。 第10圖係顯示實施型態2之緩衝記憶體裝置之構成方 塊圖。 第11圖係顯示實施型態2中屬性為可快取屬性時轉送 處理之詳細流程圖。 第12圖係顯示實施型態3之記憶體系統之構成之方塊 圖。 第13圖係顯示實施型態3之位址轉換表之一例之圖。 第14圖係顯示實施型態4之緩衝記憶體裝置之構成方 塊圖。 第15圖係顯示實施型態4之記憶體存取資訊之一例之 圖。 第16圖係顯示實施型態4之緩衝記憶體裝置具有之緩 衝記憶體之概略圖。 第17圖係顯示實施型態4之多數判定條件之一例之判 定表之圖。 第18圖係顯示實施型態4之判定部之詳細構成方塊圖。 第19圖係顯示實施型態4之緩衝記憶體裝置之動作流 程圖。 第20圖係顯示實施型態4之緩衝記憶體裝置之寫入處 64 201015579 理之流程圖。 第21圖係顯示實施型態4之緩衝記憶體裝置之屬性判 定處理之流程圖。 第22圖係顯示實施型態4之緩衝記憶體裝置之命令判 定處理之流程圖。 第2 3圖係顯示實施型態4之緩衝記憶體裝置之讀取位 址判定處理之流程圖。 第2 4圖係顯示實施型態4之緩衝記憶體裝置之寫入位 址判定處理之流程圖。 第25圖係顯示實施型態4之緩衝記憶體裝置之緩衝量 判定處理之流程圖。 第26圖係顯示實施型態4之緩衝記憶體裝置之處理器 判定處理之流程圖。 第27圖係顯示習知記憶體存取方法之概略圖。 【主要元件符號說明】 10、10a、10b、10c、310a、310b、 100、200、400 緩衝記憶體裝 置 110屬性取得部 120、332a、332b、421 屬性判 定部 130、230 資料讀出部 131第1資料讀出部 132第2資料讀出部 610 處理器 20、 320、620 主記憶體 21、 621 可快取區 22、 622 不可快取區 23可叢發區 24不可叢發區 30、311 L1(—階)快取 40、330 L2(二階)快取 65 201015579 133、233 第3資料讀出部 140緩衝記憶體 150、335、460、611 快取記憶 體 160表格保持部 161 區域屬性表 170屬性設定部 300記憶體系統
312 TLB 313 位址變換表 331a、331b 佇列 333a、333b選擇器 334、470 PFB 336記憶體界面 410記憶體存取資訊取得部 420 判定部 422處理器判定部 423 命令判定部 424 位址判定部 425緩衝量判定部 426判定結果輸出部 430 控制部 440資料轉送部 441第1資料轉送部 442第2資料轉送部 443第3資料轉送部
450、450a、450b、450c STB 5(Π、502記憶體存取資訊 612萬用暫存器 66

Claims (1)

  1. 201015579 七、申請專利範圍: 1. 一種緩衝記憶體裝置,係因應來自處理器之讀取要求, 〇 由屬於可快取屬性及不可快取屬性中之一種屬性之多 數區域所構成之主記憶體或周邊裝置,讀出資料者,包 含有: 屬性取得部,係取得前述讀取要求所含之讀取位址 顯示之區域的屬性; 屬性判定部,係判定經由前述屬性取得部所取得之 屬性是否為第1屬性,該第1屬性為前述不可快取屬性, 且顯示保持應叢發轉送之資料者; 資料讀出部,係於藉前述屬性判定部判定經由前述 屬性取得部所取得之屬性為前述第1屬性時,叢發讀取 資料,該資料含有前述讀取位址顯示之區域中所保持之 資料;及 第1緩衝記憶體,係保持藉前述資料讀出部叢發讀取 2. 之資料。 如申請專利範圍第1項之緩衝記憶體裝置,其中前述屬 性判定部係判定經由前述屬性取得部所取得之屬性是 第2屬性或前述第1屬性,前述第2屬性為前述不可快取 屬性,且顯示未保持應叢發轉送之資料者, 前述資料讀出部進而在藉前述屬性判定部判定經由 前述屬性取得部所取得之屬性為前述第2屬性時,只讀 出前述讀取位址顯示之區域中所保持之資料。 3. 如申請專利範圍第2項之緩衝記憶體裝置,其中前述緩 67 201015579 衝:隐體裂置更具有保持表格之表格保持部,該表格 將前述主記憶體或前述周邊裝置之位址與屬性 與對應關係,前述屬性資料_示前述位址顯示之區= 的屬^前述第1屬性、前述第2屬性、及顯示為前^ 快取屬性之第3屬財之―種屬性, 攻可 藉參'物她細所保持之 表格取得則达讀取位址顯示之區域的屬性。 4.如申月專利軸第3項之緩衝記憶 ❿ 衝記憶體裝置更具有快取記憶體, 〃中則物 之屬前述屬性取得部所取得 中之-種屬性, 前迷第2屬性、及前述第3屬性 由:?讀出部’進而在藉前述屬性判定部判定經 由刖述屬性取得部所 丨句夂經 發讀出資料,該資料H 前述第3屬性時,叢 持之資料,·月'】述讀取位址顯示之區域所保 ❹ 資料第1資料,該第1資料係前述 示之區域所保持之資料^ /4中,含有前述讀取位址顯 讀取之資料體係保持藉前述資料讀出部叢發 如申請專二之第_。 衝記憶體裂置更具、己隐體裝置’其中前述緩 主記憶體或前述周邊裝性/定部,該屬性設定部將前述 、之位址與該位址顯示之區域 68 201015579 6. 的屬性設定為前述第1屬性、前述第2屬性、及前述第3 屬性中之一種屬性,藉此產生前述表格, 前述表格保持部係保持藉前述屬性設定部所產生之 表格。 如申請專利範圍第1項之緩衝記憶體裝置,其中前述資 料讀出部係於藉前述屬性判定部判定經由前述屬性取 得部所取得之屬性為前述第1屬性時,進而判斷前述讀 參 取位址顯示之區域所保持之資料是否已保持在前述第1 緩衝記憶體, 且,在該資料已保持在前述第1緩衝記憶體時,由前 述第1緩衝記憶體讀出該資料,而在該資料未保持在前 述第1緩衝記憶體時,則叢發讀取含有該資料之資料。 7. 如申請專利範圍第1項之緩衝記憶體裝置,其中前述屬 性取得部進而取得來自前述處理器之寫入要求所含之 寫入位址顯示之區域的屬性, 前述緩衝記憶體裝置更具有: 第2緩衝記憶體,係於藉前述屬性判定部判定經由前 述屬性取得部所取得之屬性中,前述寫入位址顯示之區 域的屬性為前述第1屬性時,保持與用以寫入前述主記 憶體或前述周邊裝置之前述寫入要求對應之寫入資料; 記憶體存取資訊取得部,係取得顯示記憶體存取要 求之性質的記憶體存取資訊,該記憶體存取要求為來自 前述處理器之前述讀取要求或前述寫入要求; 條件判定部,係判定經由前述記憶體存取資訊取得 69 201015579 部所取得之記憶體存取資訊顯示之性質、或經由前述屬 性取得部所取得之屬性是否滿足事先訂定之條件;及 控制部,係於藉前述條件判定部判定前述記憶體存 取資訊顯示之性質滿足前述條件時,將前述第2緩衝記 憶體所保持之寫入資料掃出至前述主記憶體或前述周 邊裝置。 8. 如申請專利範圍第7項之緩衝記憶體裝置,其中前述記 憶體存取資訊取得部係取得顯示已發行前述記憶體存 取要求之邏輯處理器及實體處理器之處理器資訊,作為 前述記憶體存取資訊, 前述條件判定部係於與前述處理器資訊顯示之實體 處理器不同之實體處理器,且與前述處理器資訊顯示之 邏輯處理器相同之邏輯處理器之前所發行之寫入要求 對應之寫入資料是已保持在前述第2緩衝記憶體時,判 定滿足前述條件, 前述控制部係於藉前述條件判定部判定為滿足前述 條件時,將滿足前述條件之前述第2緩衝記憶體所保持 之資料掃出至前述主記憶體或前述周邊裝置。 9. 如申請專利範圍第7項之緩衝記憶體裝置,其中前述條 件判定部係判定前述記憶體存取資訊是否含有命令資 訊,該命令資訊係用以將前述第2緩衝記憶體所保持之 資料掃出至前述主記憶體或前述周邊裝置者, 前述控制部係於藉前述條件判定部判定為前述記憶 體存取資訊含有前述命令資訊時,將前述命令資訊顯示 70 201015579 之第2緩衝記憶體所保持之資料掃出至前述主記憶體或 前述周邊裝置。 10. 如申請專利範圍第7項之緩衝記憶體裝置,其中前述記 憶體存取資訊取得部,進而取得顯示已發行前述記憶體 存取要求之處理器之處理器資訊,作為前述記憶體存取 資訊, 前述條件判定部,進而判定前述屬性資訊顯示之屬 性是否為前述第1屬性, 前述控制部,進而在前述條件判定部判定經由前述 屬性取得部所取得之屬性為前述第1屬性時,將與前述 處理器資訊顯示之處理器對應之第2緩衝記憶體所保持 之資料掃出至前述主記憶體或前述周邊裝置。 11. 如申請專利範圍第7項之緩衝記憶體裝置,其中前述第2 緩衝記憶體,進而保持與前述寫入資料對應之寫入位 址, 前述記憶體存取資訊取得部,進而在前述記憶體存 取要求含有讀取要求時,取得該讀取要求所含之讀取位 址,作為前述記憶體存取資訊, 前述條件判定部判定與前述讀取位址一致之寫入位 址是否已保持在前述第2緩衝記憶體, 前述控制部係於藉前述條件判定部判定與前述讀取 位址一致之寫入位址是已保持在前述第2緩衝記憶體 時,將在與前述寫入位址對應之寫入資料之前已保持在 前述第2緩衝記憶體之資料掃出至前述主記憶體或前述 71 201015579 U·如中π專利範圍第7項之緩衝記憶體裝置 憶體存取資旬再中别述§己 寫入尊來, 而在 憶體存取要求含有 =求時,取得該寫入要求所含之第i寫入位址, 剛 剛迷條件判定部係判定前述心寫入位址是否和 *入之寫入要求所含之第2寫入位址連續,
    剛述控制部係於藉前述條件判定部 =前述第2寫入位址連續時,將在與前二: 咨、之寫人㈣之前已保持在前述第2緩衝記憶骨 之資料掃is至前述主記憶體或前述周邊裝置。" 13::利範圍第7項之緩衝記憶體裝置,其_ k和進而判定前述第2緩衝記憶體所保持之資冲 之資料量是否達到特定之極限值,
    旦前述控制部’進而在前述條件判定部判定前述資料 量^達到前述極限值時,將前述第2緩衝記憶體所保持 之為料掃出至前述主記憶體或前述周邊裝置。 14·如申請專利範圍第1項之緩衝記憶體裝置,其中前述緩 衝記憶體裝置更具有無效部,該無效部係騎來自前述 處理器之寫入要求所含之寫入位址是否與前述第i緩衝 記憶體所保持之資料對應之位址_致,在前述寫入位址 一致時,將前述第1緩衝記憶體所保持之資料無效。 15. —種記憶體系統,具有處理器及由屬於可快取屬性及不 可快取屬性中一種屬性之多數區域所構成之主記憶體 或周邊裝置,因應來自前述處理器之讀取要求,由前述 72 201015579 =記憶體«如妓置㈣_,魏龍系統包含 有. 人屬f生取得#,係取得前述來自處理器之讀取要求所 3之璜取位址顯示之輯的屬性; 屬係判定經由前述屬性取得部所取得之 且顯示保持應叢發轉送之#料者; 取屬性, 參 貝料4部’係於藉前述屬性匈定部判定經由前述 ^性時,叢發讀取 該育料含有前述讀取位址顯示之區域所保持之資 料,及 資才r,衝。己憶體’係保持藉前述資料讀出部叢發讀取之 ^料讀出部係於藉前述屬性判定部判定經由前 得部所取得之屬性為前述第ι屬性時,進而判 在二緩:位址顯示之區域所保持之資料是否已保持 在刖述緩衝記憶體, 緩持在前述緩衝記憶體時,由前述 情體時^資料,而該資料未保持在前述緩衝記 16 2時,則叢發讀取含有該資料之資料。 置衝=述,記憶_述周邊裝 73 201015579 17. —種資料讀取方法,係因應來自處理器之讀取要求,由 屬於可快取屬性及不可快取屬性中一種屬性之多數區 域所構成之主記憶體或周邊裝置讀出資料者,該資料讀 取方法包含有: 屬性取得步驟,係取得來自前述處理器之讀取要求 所含之讀取位址顯示之區域的屬性; 屬性判定步驟,係判定在前述屬性取得步驟所取得 之屬性是否為第1屬性,該第1屬性為前述不可快取屬 性,且顯示保持應叢發轉送之資料者; 判斷步驟,係於前述屬性判定步驟中判定前述屬性 取得步驟所取得之屬性為前述第1屬性時,判斷前述讀 取位址顯示之區域所保持之資料是否已保持在前述緩 衝記憶體;及 資料讀出步驟,係於前述判斷步驟中判斷該資料已 保持在緩衝記憶體時,由前述緩衝記憶體讀出該資料, 在判斷為該資料未保持在前述緩衝記憶體時,叢發讀取 含有該資料之資料,且將已叢發讀取之資料儲存在前述 緩衝記憶體。 74
TW098130759A 2008-09-18 2009-09-11 Buffer memory device, memory system, and data readout method TW201015579A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008239927 2008-09-18

Publications (1)

Publication Number Publication Date
TW201015579A true TW201015579A (en) 2010-04-16

Family

ID=42039282

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098130759A TW201015579A (en) 2008-09-18 2009-09-11 Buffer memory device, memory system, and data readout method

Country Status (5)

Country Link
US (1) US20110167223A1 (zh)
JP (1) JPWO2010032433A1 (zh)
CN (1) CN102160041A (zh)
TW (1) TW201015579A (zh)
WO (1) WO2010032433A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019381B2 (en) 2012-05-01 2018-07-10 Nvidia Corporation Cache control to reduce transaction roll back

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6127907B2 (ja) * 2012-11-12 2017-05-17 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2014106871A1 (en) 2013-01-07 2014-07-10 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US10366244B2 (en) * 2015-06-09 2019-07-30 International Business Machines Corporation Performing an operation on sensitive data
JP6424330B2 (ja) * 2015-10-13 2018-11-21 株式会社アクセル 情報処理装置、及び情報処理方法
US10120808B2 (en) * 2016-04-22 2018-11-06 Arm Limited Apparatus having cache memory disposed in a memory transaction path between interconnect circuitry and a non-volatile memory, and corresponding method
CN113515474A (zh) * 2021-07-30 2021-10-19 上海阵量智能科技有限公司 数据处理装置、方法、计算机设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
EP0500967B1 (en) * 1990-09-18 2001-07-25 Fujitsu Limited Method of nonsynchronous access to shared memory
US6108755A (en) * 1990-09-18 2000-08-22 Fujitsu Limited Asynchronous access system to a shared storage
JP2917659B2 (ja) * 1992-03-31 1999-07-12 日本電気株式会社 情報処理装置
JPH06348593A (ja) * 1993-06-03 1994-12-22 Sumitomo Electric Ind Ltd データ転送制御装置
WO1995002248A1 (en) * 1993-07-07 1995-01-19 Vertex Semiconductor Corporation Memory buffer having selective flush capability
US6173368B1 (en) * 1995-12-18 2001-01-09 Texas Instruments Incorporated Class categorized storage circuit for storing non-cacheable data until receipt of a corresponding terminate signal
JP3886189B2 (ja) * 1995-12-18 2007-02-28 テキサス インスツルメンツ インコーポレイテツド バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置
JP3429948B2 (ja) * 1996-04-10 2003-07-28 株式会社日立製作所 組込み型cpu用制御装置
US5911151A (en) * 1996-04-10 1999-06-08 Motorola, Inc. Optimizing block-sized operand movement utilizing standard instructions
JPH10187532A (ja) * 1996-12-19 1998-07-21 Nec Corp 2次キャッシュ装置
EP0886216A1 (en) * 1997-06-06 1998-12-23 Texas Instruments Incorporated Microprocessor comprising means for storing non-cacheable data
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
JP4024247B2 (ja) * 2002-09-30 2007-12-19 株式会社ルネサステクノロジ 半導体データプロセッサ
JP4220258B2 (ja) * 2003-02-04 2009-02-04 株式会社ルネサステクノロジ ノンキャッシュ領域内高速メモリアクセス方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019381B2 (en) 2012-05-01 2018-07-10 Nvidia Corporation Cache control to reduce transaction roll back

Also Published As

Publication number Publication date
US20110167223A1 (en) 2011-07-07
CN102160041A (zh) 2011-08-17
JPWO2010032433A1 (ja) 2012-02-02
WO2010032433A1 (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
TW201015579A (en) Buffer memory device, memory system, and data readout method
TW201015321A (en) Buffer memory device, memory system and data trnsfer method
TW200426675A (en) Cache allocation
TWI446166B (zh) 判定快取策略的方法、處理器和設定快取策略的系統
US6457104B1 (en) System and method for recycling stale memory content in compressed memory systems
JP5688823B2 (ja) ディスプレイパイプにおけるストリーミング式翻訳
TWI405081B (zh) 對共享第二層對映快取記憶體對稱配置之方法與系統
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
TW200301438A (en) Method and apparatus to reduce memory latency
TW200302981A (en) Method and apparatus for identifying candidate virtual addresses in a content-aware prefetcher
US20070288694A1 (en) Data processing system, processor and method of data processing having controllable store gather windows
TW200805061A (en) Patrol snooping for higher level cache eviction candidate identification
TW200908009A (en) Hierarchical cache tag architecture
TW200915179A (en) Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
TW201015319A (en) Cache memory, memory system, data copying method and data rewriting method
JP3065518B2 (ja) 複数のハッシュ関数を用いるキャッシュ・メモリ管理方法及びシステム
TWI353549B (zh)
US5590310A (en) Method and structure for data integrity in a multiple level cache system
US10229066B2 (en) Queuing memory access requests
TWI275992B (en) A method to reduce memory latencies by performing two levels of speculation
TW201015334A (en) Enhanced coherency tracking with implementation of region victim hash for region coherence arrays
US7610458B2 (en) Data processing system, processor and method of data processing that support memory access according to diverse memory models
TW200530817A (en) Cache memory and control method thereof
US20080320176A1 (en) Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units
TWI328165B (en) Cache memory systems and methods thereof