TWI352293B - Data processing system and method for performing p - Google Patents

Data processing system and method for performing p Download PDF

Info

Publication number
TWI352293B
TWI352293B TW093123018A TW93123018A TWI352293B TW I352293 B TWI352293 B TW I352293B TW 093123018 A TW093123018 A TW 093123018A TW 93123018 A TW93123018 A TW 93123018A TW I352293 B TWI352293 B TW I352293B
Authority
TW
Taiwan
Prior art keywords
fetch
buffer
console
limit
fetching
Prior art date
Application number
TW093123018A
Other languages
English (en)
Other versions
TW200519604A (en
Inventor
William C Moyer
Lea Hwang Lee
Afzal M Malik
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of TW200519604A publication Critical patent/TW200519604A/zh
Application granted granted Critical
Publication of TWI352293B publication Critical patent/TWI352293B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Description

1352293 九、發明說明: 先前申請案參考 此申請案已於2003年7月31日 號為 10/631,136。 在美國申請,其專利申請案 【發明所屬之技術領域】 本發明關於資料處理系統, 系統中預先擷取控制。 【先前技術】 且更特別是關於在資料處理 預先擷取通常係用以在一資料處理系統中存取資訊。藉 由在對該資訊的-請求前預先擁取資訊,由匯流排主控: 請求存取資訊造成的延遲時間可減少。然而,在典型預: 擷取方案中,一些預先擷取會因為該匯流排主控台可能未 請求存取該已減擷取資訊而浪費了…般預先擷取方案 的另一缺點是由此等系統提供的預先擷取極限控制係基於 一固定策略,其提供較少的彈性與控制。因此,一減少無 謂預先擷取數目的預先擷取方法之需求,可導致功率消耗 量的減少及資訊處理效能的最佳化。 【發明内容】 如本文中所述,名詞「匯流排」係用以指複數個信號或 導體’係可被用以傳送一或多種型式之資訊,諸如資料、 位址、控制或狀態。在此討論之導體可有關一單一導體、 複數個導體、單向性導體或雙向性導體之示範與說明。然 而,不同具體實施例可改變該等導體的實施。例如,可使 用分離的單向性導體而非雙向性導體,且反之亦然。同時, 94917.doc :使用串列地或以-時間多工處理方式傳送複數個信號的 早。。導體取代複數個導體。同樣地,可將承載複數個信號 的單導體’分成承載此等信號之子集的各種不同導體。 因此’存纟許多用以傳送信號之選擇》 本發月的*體實施例關於動態地控制各種依序預先操 取刼作之數目’以防止無謂的預先擷取。例如,藉由限制 在一緩衝器錯失後限制依序施行之預錢取的數目,可使 。己憶體控制單元之效能與功率肖耗最佳彳b。在-具體實施 例中’限制依序預先擁取的數目係藉由使用—組預先擁取 緩衝器、-控制暫存器與預先擷取計數器而達成,以下將 進步加以描述。在另一具體實施例中,會提供一軟體可 f式控制方案’其允許在緩衝器錯失間依序預先操取操作 的數目之動態控制’且可由使用者根據請求主控台的性質 預,式化。例如’在—中央處理單元(cpu),指令通常係 二也執行,直至指令流動改變或達到一例外(其造成在一 依序貫施中產生不連續)。依次執行之指令數目係取決於中 央處理單元且缝行巾應隸式«的_函數。—些應用 程式顯示了延伸出的依序執行,而其他的程式之功能較具 不定(經常改變事件的流動)。因此,視應用程式而定,預先 擷取的需求數目可能不$。在另—具體實施例中,會提供 一 DMA主控台,其中傳送係依次發生,直到出現一結束傳 送或通道轉換。對於此實例,可預期有較長之程序且對應 於DMA主控台之預先擷取限制可因此調整。藉由在一資料 處理系統中選擇性地控制預先擷取的數目,能夠防止消耗 94917.doc 1352293 · 過多功率且導致低效能的無謂預先擷取。 本發明的一具體實施例關於一資料處 .^ 研* ’其包括第 -主控台、耦合至該主控台的儲存電路'一儲存 取限制之控制儲存電路、一預先擷取緩衝器,及耦合至1 控制儲存電路、預先擷取緩衝器及健存電路的預^ = 路。在-㈣實施例巾,該預先#|取祕㈣儲存電路選 擇性地預先類取-預^數目之行到該預先梅取緩衝器中, 其中該預先擷取限制會控制在該預先擷取緩衝器中錯失間 出現的預先擷取數目。 本發明的另一具體實施例關於一用以在—資料處理系統 中施行預先擷取的方法。來自一主控台到存取儲存電路之 複數個存取請求被接收,且使用—預㈣取限制以限制在 一預先擷取緩衝器中錯失間施行之預先擷取數目,該預先 擷取係因該等複數個存取請求中至少一部份造成。在本發 明的一具體實施例中,會提供一預先擷取控制電路以儲存 該預先掏取限制。 本發明又另一具體實施例關於用以在一資料處理系統中 施行預先擷取的一方法,其中來自一主控台以存取儲存電 路之讀取請求被接收,且其決定該讀取請求在一預先擷取 緩衝器中係導致命中或錯失。在一具體實施例中,如果該 讀取請求導致一命中,一預先擷取係至少部分根據一達到 一第一值之預先擷取計數器,選擇地施行從儲存電路預先 操取一預定數目之行到該預先擷取緩衝器中.在一具體實 細*例中’如果該讀取請求導致一錯失,會施行一要求操取 949l7.doc 1352293 以回應該讀取請求,且將該預先擷取計數器設定成一第二 值。 【實施方式】 圖1顯示一資料處理系統10的一具體實施例。資料處理系 統10包括一主控台12(也稱為一互連主控台12)、一主控台 也稱為一互連主控台〗4)、一記憶體陣列控制器%、一 統互連22、輪入/輸出電路16、周邊18、其他從屬2〇與一記 憶體陣列35。主控台12係經由導體48雙向地耦合至系統互 連22,主控台14經由導體5〇雙向地耦合至系統互連“,輸 入/輸出電路經由導體52雙向地耦合至系統互連22,周邊18 經由導體54雙向地耗合至系統互連22,其他從屬2()經由導 體56雙向地輕合至系統互連22 ’及記憶陣列控制器%經由 導體24雙向地耦合至系統互連22。導體以包括用以與主控 台識別符26、位址/資料27、一讀/寫信號28、一猝發信號3〇、 一指令/資料信號32,及其他信號34通信之導體。記^體陣 列控制器36包括-控制暫存器38 '請求監視器43、預先擁 取電路4〇、預錢取計㈣41與緩衝⑽(也稱為預先掏取 緩衝器)’且係經由導體33與記憶體陣列35雙向性耦合。控 制暫存器38係與請求監視器43及預先榻取電路4〇輕合,預 先擷取電路40係與緩衝器42及預先擷取計數器41耦合。緩 衝器42包括一緩衝器44與一緩衝器46。 雖然圖1中僅顯示一周邊丨8,但資料處理系統丨〇可包括耦 合至系統互連22的任何數目之周邊。同樣地,任何數目的 主控台及從屬可轉合至系統互連22,且不限制在圖i中所顯 94917.doc 丄乃2293 示的。也凊注意在一具體 可位於一單—穑 ,所有資料處理系統10 積體電路上或_相同裝 貧料處理系統10可包括 另、擇疋, 路或分離裝置。例如,在一且 <任何數目的分離積體電 憶體控制物士 ,、體貫施例中,該記憶體與記 ;體㈣諸如,記憶體陣列3 可位於-或多數積體電路上,從1餘…早_盗36) 離出。 仗其餘貧料處理系統10中分 在一具體實施例中,匯流排主控▲ 可為泸勒> 4t人 0 12與匯流排主控台14 <、.,犯執仃秸令之處理器(諸如 等等,或可為任何其他型式之互連主二數:=;器 記憶體(DMA)電路或除錯電路^直接存取 邊门遺18可為任何型式之周 鍵㈣ 收發器(UART)、—即時時脈(RTC)、 一鍵盤控制器等。請注音其 ’ 連從属& 他Μ Μ可包括任何型式之互 留在可由主控台12與14存取之記憶體,以及駐 型式之月任何H的周邊’包括與周邊18相同 電=1邊。輸入/輸出電路16可包括任何型式之輸入/輸出 ,”接收或提供資訊至資料處理系統10外呷。 1所示的具體實施例中,記憶體陣列控制器36與記憶體 應對於搞合至系統互連22的另-從屬。請注意在一 替代性具體實施例中’記憶體陣列35可包括任何數㈣陣
列。也請注意,在一替代性且贈眘始加A T代性具體貫轭例中,記憶體陣列35 °稱為儲存電路35。記憶體陣列35可如同主控μ與⑷立 於-相同積體電路上’或位於一分離積體電路:。再者, 記憶體陣列35可為任何型式之記憶體,諸如-唯讀記憶體 94917.doc 1352293 (ROM)、一隨機存取記憶體(RAM)、非揮發性記憶體(如快 閃記憶體)等。同時,記憶體陣列35可為在另一周邊或從屬 内的一記憶體或其他儲存器。 系統互連22與主控台12、主控台14、輸入/輸出電路16、 周邊18、其他從屬20及記憶體陣列控制器%互連。在一具 體實施例中(如圖i中所示),系統互連22係實施為依據一系 統匯流排協定操作之系統匯流排。或者是,系統互連以可 使用互連電路實施(諸如轉換電路),其將資訊在各種裝置間 的安排路徑。 操作中,主控台12與14個請求存取系統互連22,以請求 經由記憶體陣列控制器36存取其他從屬2〇 '周邊丨8或記憶 體陣列35 ° —請求主控台可提供—存取請求(經由系統互連 22)’至記憶體陣列控制器36。該存取請求可為(例如)對資 料或私々的項取凊求或寫入請求。記憶體陣列控制器3 6 為回應-讀取存取請求’會經由系統互連22提供被請求之 資訊(資料或指令)回料求主控台。請注意來自—請求主控 台的讀取存取請求也可稱為要求擷取。 在一具體實施例中,對於一存取請求,會提供一主控台 識別符26至記憶料肋制㈣,其辨識出請求目前存取 的主控台。同時提供R/w信號28至記憶體陣列控制器%, 以指出目前存取請求是一讀取或一寫入型式存取。提供猝 發信號3G予記憶體陣列控制器36,以指出目前存取之請求 是一猝發或一非猝發型式之存取。提供指令/資料信號“予 記憶體陣列控制器36 ’以指出目前存取請求是一指令或資 94917.doc -12- 1352293 料。記憶體陣列控制器36也接收 ,,α 也伐叹〇目則存取請求對應的位 貝^且㈣絲/f料27提供該被請求資^任何需要 與5己j忍體陣列控击丨哭κ 內Μ / 信號,可在其他信號34 内k供。在其他具體實施例中,一此 —乂所有主要識別符26、 /Wi§號28、猝發信號3〇、指令 也許不會出現。 …32與其他信號34 在一具體實施例中,預錢取電路4Q可從記憶體陣歹⑶ 預先摘取資訊至緩衝器42(諸如緩衝器料與緩衝器46)。因 此’為回應來自-請求主控台的讀取存取請求,記憶體陣 列^制^可能從緩衝器42(如果該資訊已預先棟取)提供 M 而非必須從§己憶體陣35(其與緩衝器42相比 下’通常具有較長的存取時間)掘取該資訊。在一具體實施 例中,預先操取電路包括與各緩衝器料糾及比較電路(未 顯示出m應的標藏部分(未顯示),以決定在目前存取請求 中被請求的資訊是否已位於緩衝器44與46中之—内。例如, 預先摘取電路能經由位址/資料27比較對應於目前存取請 求的進入位址與標籤部分,以決μ訊是否已被預先操取。 如果該資訊未預先操取,記憶體陣列控制器36可從記憶體 陣列35提供該請求資訊。 在所不的具體貫施例中,示範了二緩衝器(緩衝器料與緩 衝器6)然而,在替代性具體實施例中,緩衝器42可包括 任何數目(一或多數)的緩衝器。在一具體實施例+,預先擷 取電路可從§己憶體陣列3 5預先擷取資訊到緩衝器44與Μ中 之一,同時從緩衝器44與46中另一者提供資訊至一請求中 94917.doc 1352293 主控台。意即,使用多於一緩衝器,允許對記憶體陣列Μ 的一預先擷取至少部份地與服務來自一請求主控台之存取 請求同時發生。 因為從缓衝器42提供資訊,與存取記憶體陣列35以回應 明求主控D之存取請求相比,具有較少的存取時間,因 此而求從圮憶體陣列3 5預先擷取後續會被請求的資訊到緩 衝器42中。然而,應注意到預先擷取是具投機性的,因為 其不確定已預先擷取的資訊是否將實際上由一主控台請 求。例如,如果預先擷取的資訊後續未被請求,則該預先 榻取成為-消耗過量功率且低效能的無謂預先摘取。因此, 本發明的一具體實施例利用預先操取計數器4 1與控制暫存 器38,藉由針對各主控台(例如主控台_i4)限制在緩衝器 42中之錯失間的預先操取數目,以控制預先操取不確定資 料到緩衝器42中。例如’―具體實施例使用—控制暫存器 以對各主控台儲存-預先掏取限制,使得用於各主控二之 預先摘取數目係基於該請求主控台的性質。在另一具^ 施例中’也可使用控制暫存器以決定在各預先擷取中將預 先擷取多少行,如同以下將詳細討論。 圖2顯示控制暫存器38的一具體實施例,其包括用於各主 控台的-預先擷取限制攔位。例士〇 ’如圖2中所示,控制暫 存器38包括主控台12預先操取限制欄位6〇與主控…預先 操取限制攔位62。在替代性具體實施财,控制暫存器% 可視需要包括或多或少的欄位’以儲存需求的預先榻取限 制。也請注意到’可經由來自諸如輕合至系統互❹的主 94917.doc 14 丄Jjzzyj 控台12與14之指令,將控制暫存 私式化。該預先擷取 D歹如)由-使用者提供或可在設計時加以程式化。 在-具體實施例中,預先擷取電路 ,監視器-其顯示來自諸如主控⑽或主控⑽的一; 夕數主控請未之存取輪靡,其等之輪廓可用以動態地更新 預先掏取㈣卜例如,請求監視器43可監控在連續緩衝器 錯失間對緩衝器42的存取數目,且據以更新或設定該限制。 在替代性具體實施例中,請求監視器43可從資料處理系統 10中排除,且該先摘取限制可(例如)為使用者可程式或藉 由固線式。 曰 圖3顯示預先操取計數器41的一具體實施例,其包括血各 主控台對應的預先操取計數器。例如,在一具體實施例中 預先掏取計數器41包括一與主控台12對應的預先操取計數 器64 ’及一與主控台14對應的預先榻取計數器66。在-替 代性具體實施例中’資料處理系統丨G可包括每一記憶體陣 ,控制器(諸如記憶體陣列控制器36卜單—預先擷取計數 器其由一或多數主控台共享(諸如主控台12或主控台14)。 預先擁取計數器41可另稱為一計數器、複數個計數器、或 者任何操作類似-計數器之其他裝置(軟體或硬體)。 圖4顯示圖2的控制暫存器38之攔位定義的一具體實施 例。例如,在一具體實施例中,各攔位6〇與62是三位元的 攔位,其中各欄位可具有8個值(〇〇〇、〇〇1、〇1〇、〇11、1〇()、 101、110與111)。在圖4中所示欄位描述的—具體實施例中, 預先擷取限制欄位60與62係用以控制由預先擷取電路使用 94917.doc •15· 1352293 的預先擷取演算法。例如,預先擷取限制欄位60與62界定 各對應之主控台在緩衝器錯失間打算依序預先擷取之最大 數目的一限制。預先擷取限制欄位60與62也可用以界定每 次預先擷取多少行。 例如,在所示的具體實施例中,一值〇〇〇表示在來自一導 致緩衝器42錯失之對應主控台的存取請求間沒有施行預先 擷取。意即,如果主控台12預先擷取限制欄位60係設定為 〇〇〇,則由來自主控台12之存取請求造成緩衝器42内錯失間 將不出現預先擷取。同樣地,如果主控台14預先擷取限制 攔位62係設定為〇〇〇,則由來自主控台14之存取請求造成緩 衝器42内錯失間將不出現擷取。預先擷取限制攔位6〇與62 的一值001表示在一緩衝器錯失時,一單一額外行(在記憶 體陣列3 5中緊接著的次一行)被預先擷取。預先擷取限制攔 位60與62的一值010表示在各緩衝器錯失後停止預先擷取 前,最多可預先擷取二額外行,其中在一緩衝器錯失時預 先擷取一單一額外行(在記憶體陣列35中緊接著的次一行), 而次一後續行係在一緩衝器命中時預先擷取(如未曾出現)。 仍吻參考圖4之具體實施例,預先擷取限制欄位60與62 的一值011表示在各緩衝器錯失後停止預先擷取前,最多可 預先榻取一額外行。意即(例如),在初始錯失後可開始一單 預先擷取,而一單一額外預先擷取可在各後續緩衝器命 中後開始(全部最多三次單—預錢取)。預先擷取限制搁位 60與62的值100表不在各緩衝器錯失後停止預先操取前, 最多可預先擷取四額外行。意即(例如),一單一預先擷取可 94917.doc •16- 1352293 在初始錯失後開始,而後一單一額外預先擷取可在各後續 緩衝器命中後開始(全部最多四次單一預先擷取)。預先擷取 限制欄位60與62的一值101表示在各緩衝器錯失後停止預 先操取前,最多可預先掘取五額夕卜行。料(例如),一單一 預先擷取可在初始錯失後開始,而後一單一額外預先擷取 可在各後續緩衝器命中後開始(全部最多五次單一預先擷 取)。 仍請參考圖4之具體實施例’預先擷取限制欄位齡62 的一值110表示在各緩衝器錯失後,可預先擁取無限數目之 額外行。意即(例如)在各緩衝器命中或錯失後—單—預先摘 取可開始(請注意在此具體實施例中,一值⑴被保留 被用以設定-預㈣取操作卜在—替代性具體實施例中, 請注意暫存器38視需要可包括用於各主控台的若干搁位 (利用或多或少的位元)。同時,視需要可應用預先擷取限制 攔位6〇與62㈣代定義,以控制預先㈣電路40。預先摘 取限制攔位的使用與定義將參考圖5進一步說明。 圖5以流程圖形式顯示依據本發明-具體實施例之資料 處理系統1〇的操作。流程70由72開始,且前進至步驟74’ 在該處接㈣來自-主控台(諸如主控台12或主控台14)的 一存取請求。此存取料以許乡^型叙存取請求, 求:一寫入請求、一猝發請求、-非猝發請 求、-貧料的請求、-指令的請求等等。然而,在此為易 於解說,係假設該存取請求是一讀取請求。 一 流程接著前進至步驟76,在該處係使用一(例如)由圖!之 949l7.doc •17- ^52293 主控台識別符26提供之主控台識別符決定該請求主控台之 身份。因此,不同主控台可具有不同之主控台識別符,(例 如)主控台12可具有「〇」的識別符而主控台μ可具有「1」 的識別符。因此,各主控台可被指定一獨一識別符。在一 替代性具體實施例中,一些主控台可共享相同的識別符。 同時請注意在一替代性具體實施例中,請求該存取的主控 台可用不同方式決定,而非藉由提供一諸如主控台識別符 26的信號決定。在一具體實施例中,能根據主控台識別符 的身份,從複數個預先擷取計數器與限制中選擇正確的預 先掏取計數器與對應的預先擷取限制。 請回顧圖5,流程接著前進至決定步驟78,在該處會決定 该存取請求是導致一命中或錯失。如果存取請求導致一錯 失,流程則前進至步驟86,在該處與請求主控台對應的預 先擷取計數器(預先擷取計數器41中的計數器之一)係設定 成與該請求主控台對應之預先擷取限制(如在控制暫存器 38中該㈣先㈣限位之—所示卜此預㈣取限制是 用以控制該請求主控台的緩衝器錯失間之預先摘取的數 目。流程接著前進至步獅,在該處會施行—單行要求搁 取,以回應目前存取請求。應注意的是在替代性具體實施 例中,在該要求擷取期間,可擷取額外之行。 流程此時前進至決定步驟 社该羼會決定與該請求主 控台對應的預先擷取限制是否指示「無預先榻取(例如 在圖4的具體實施財,無預先#貞取是由㈣暫存㈣中對 應預先擷取限制欄位的一值_表示如果指示無預先擷 94917.doc -18- 1352293 :^刖進至結束步驟9〇。然而如果未指示無預先擷 D幻别進至步驟89,在該處會施行一單行預先擷取, 且如果該單行未已存在預先擷取緩衝器中,則對應於該請 '' 口之預先操取計數器會減少。請注意在替代性具體 貫施例巾,步驟89可能不會出玉見,即可能不會出現一預先 ° 、回應錯失,且因此對應的預先操取計數器可能不 會更新^ 如果決定步驟78的結果係一命中,則流程前進至決定步 驟 在°玄處會決定與該請求主控台對應的預先擷取限制 疋否扎示「無預先擷取」。如果指示無預先擷取,流程前進 至結束步驟9(^然而,如果未指示無預先擷取,流程則前 進至步驟80,在該處會決定與請求主控台對應的預先擷取 3十數益是否屆滿。如果該預先擷取計數器沒屆滿,流程前 進至步驟82。在步驟82中,會施行一單行預先擷取,且如 果該單行未已存在預先擷取緩衝器中,則對應於該請求主 控台之預先擷取計數器會減少,因而維持追循自最後錯失 後已發生的預先摘取之數目。此時流程前進至結束步驟。 β月回顧決定步驟80,如果該預先擷取計數器已屆滿,流 辁則刖進至步驟84,在該處不施行額外的預先擷取。因此, 即使另一命中發生’預先擷取不再發生,直到對應的預先 擷取计數器再次被設定成一預先擷取限制,以回應步驟% 中的一錯失。因此,以此方式,該預先擷取限制可用以在 —對應請求主控台之緩衝器錯失間限制預先擷取的數目。 此時流程前進至結束步驟90。 94917.doc -19- 叫293 在圖5的具體實施例中,該預先擷取計數器係以一固定值 (例如1)減少’以指示預先擷取已施行(如在圖5中的步驟82 ” 89)。當該預先擷取計數器的值達到其最低限制(在此情況 下為「〇」)時,該預先擷取計數器可視為已屆滿。在一替 代性具體實施例中,預先擷取計數器的初始值可設定成 0(諸如在圖5的步驟86中),該預先擷取計數器因此可由一固 定值增加(例如「丨」),其表示一預先擷取已施行(諸如在圖 5的步驟82與89中)。在此替代性具體實施例中,當該預先 擷取計數器的值達到其對應的預先擷取限制時,該預先擷 取計數器可視為已屆滿。 也印左意在圖5之具體實施例中,如圖4之攔位所界定, 在各預先擷取(諸如在步驟82與89中)期間,只擷取一單一額 外行。然而,請注意在一替代性具體實施例中,在各預先 擷取期間(例如在圖5中的步驟82與89中)可擷取一預定數目 (一或多數)之行。意即,如果該等行未已存在於該預先擷取 緩衝器中’可擷取一預定數目之行以回應一命中、一錯失 或二者。同時,該對應的預先擷取計數器可因此減少(或增 加)以繼續追循預先擷取的數目。因此,請注意諸如在控制 暫存器38中之預先擷取限制欄位6〇與62,可被用以界定在 各錯失或命中或二者後的一任何預定行數之預先擷取(直 到對應的計數器屆滿)’而非只有一單一額外行。 如上述已描述,一預先擷取計數器可用於各主控台,然 而在一替代性具體實施例中,一單一計數器可由多數主控 台共享。在此具體實施例中,可使用一優先權方案,(例如 94917.doc • 20- 該優先權方案可由使用者程式化,以 該單—計赵$ . 、某主控台控制 早數窃。例如,主控台14可能需| _ 控台⑵吏用的計數器,且如果主^而要使用目別正由主 ▲ 2如果主控台"具有高於主控台12 的優先權,則主押a 处肢° iZ 以…控將该計數器的控制讓予主控台… 匕方式,多數主控台可共享一單一 斗叙。。L 干。Τ数益。或者是,該 也可被共享’以致-預先摘取限制可限制在連續錯 ::預先操取的數目,不管該請求主控台的身份,而非 母一主控台為基礎。在此替代性具體實施例中,被共享 =計數器(諸如在圖5的步驟86中)可在每當一錯失發生時設 疋不g ”月求主控台之身份。同樣地,圖5的決定步驟肋 及步驟82與89將在此共享計數器上操作,不管請求主控台 的身伤。也請注意在又另—具體實施例中,多數主控台可 共享在控㈣存請中的-預先#貞取限制。 當在-資料處理系統中處理不同型式之主控台時,可能 需要使該記憶體控制單元的效能最佳化。不同型式之主控 台以不同方式執行與傳送指令與資料,所以可瞭解一考慮 該等之不同存取特徵’且限制在錯失間之預先擷取數目的 限制方案’允許動態控制該等依序預先操取。例如,在中 央處理早7G中的指令通常係依序地施行,直至逹到流程的 改變’然而具有一 DMA之大多數傳送會依序地發生直到出 現一傳送結束或通道轉換。因此,中央控制單元與dma的 預先擷取限制攔位可不同地設定,使得(例如)dma相較於 中央處理單元’可允許在錯失間較大量之預先擷取。因此, δ亥等預先擷取限制欄位能加以程式化,以計入主控台間的 94917.doc •21- 1352293 各種差別’且控制在連續錯失間發生的預先擷取之數目, 如上述°意即在達到預先擷取限制後,不會進一步預先擷 取’直到出現下一次緩衝器錯失,因為一依序預先擷取將 被使用的可能性會隨著依序預先擷取的數目增加而減少。 同時’應瞭解該等預先擷取限制欄位可如何用以控制預先 擷取的行數,以回應各次命中或錯失或二者,以便進一步 減少無謂的預先擷取。 在剛述規格書中,本發明已參考特定具體實施例加以描 述然而,一熟習此項技術之人士應瞭解可進行各種修改 -、變化而不脫離以下申請專利範圍中所提出之本發明的 範嘴。因此’該規格書與圖式將視為—示範而非限制,且 所有此等修改係包括在本發明的範疇中。 本發明之利益、其他優勢與對問題的解決辦法已參考特 定具體實施例在上文中描述、然而,造成任何利益、優勢 或解決辦法發生及變得更明顯的該等利益、優勢、問題的 解決辦法,不應被視為任何或所有中請專利範圍的一關鍵、 需求或基本特徵或元素。在本文中使用之名詞「一」係界 定為-或多於…本文中❹之該等名詞「包括」、「包’、 「及/或」係界定為「至少包合 ^ ± 匕3」(即開放性語言)。如本文 中使用之名詞「至少包含哎装 次其任何其他變化,係意於涵 盖非排除性包括,因此一包含列與 私口。 、 3列舉之元件的製程、方法、 物。〇或§5:備,並不只包括該等元 θ 列掇本-斗、L制 千’而疋可包括其他未經 列舉表不,或此製程、方法、物 【圖式簡單說明】 94917.doc •22· 本發明係藉由實例而說明,且 相同符號表示類似元件,且又限於該等附圖,其中 圓1顯示依據本發明一且 塊圖; ,、體貫靶例之資料處理系统的方 圖2顯示依據本發明—具體實 的控制暫存器之方塊圖; ⑴中貝科處理系統 圖3以方塊圖顯示依據本發 且 處理系統的預先摘取計數器; 貫施例之圖1中資料 ^以表格形式顯示依據本發明__具體實施例之圖 制暫存器之攔位說明; 吸 一圖5以-流程圖顯示依據本發明—具體實施例之圖1中的 資料處理系統之操作。 熟習此技術人士應瞭解在圖式中之元件的說明係求簡單 而明瞭’且並一不定依照比例繪製。例如,某些圖中元件 之尺寸可旎相對於其他元件被誇示,以有助於本發明之具 體實施例的瞭解。 【主要元件符號說明】 10 資料處理系統 12 第一主控台 14 第二主控台 16 輸入/輸出電路 18 周邊 20 從屬 22 系統互連 94917.doc •23. 1352293' 24 導體 26 主控台識別符 27 位址/資料 28 讀/寫信號 30 猝發信號 32 指令/資料信號 33 導體 34 信號 35 記憶體陣列/儲存電路 36 記憶體陣列控制器 38 控制暫存器 40 預先擷取電路 41 預先擷取計數器 42 預先擷取緩衝器 43 請求監視器 44 緩衝器 46 缓衝器 48 導體 50 導體 52 導體 54 導體 56 導體 60 預先擷取限制攔位 62 預先擷取限制欄位 94917.doc -24- 1352293 64 預先擷取計數器 66 預先擷取計數器 70 流程 72 開始 74 步驟 76 步驟 78 決定步驟 80 決定步驟 84 決定步驟 86 步驟 88 步驟 89 步驟 90 步驟 94 決定步驟 96 決定步驟 94917.doc . 25 -

Claims (1)

135229¾ 093123018號專利申請案 中文申請專利範圍替換本(100年^|) ‘; 十、申請專利範圍:、 1. 一種資料處理糸統,其包括: 一第一主控台; 主控台 儲存電路’其耦合至該第一主控台,由該第 使用; 一第一控制儲存電路,其儲存一第一預先擷取限制; 一預先擷取緩衝器;及 預先擷取電路,其耦合至該第一控制儲存電路、該預 先擷取緩衝器及該儲存電路,該預先擷取電路從該儲存 電路選擇性地預先擷取-預定數目之行到該預先擷取緩 衝器中’其中該第-預先擷取限制控制在該預先揭取緩 衝器中之錯失間出現的預先擷取之數目,其中當一命中 發生在該預先棟取緩衝器中時,且從在該預先掏取緩衝 器中之-前-個錯失後之已發生的預錢取的總數達到 該第-預㈣取限制時,—預先操取不會因回應該命中 而發生。 只IT处工主 π祝,再進一步包含 2.如請求項1之 第預先擷取a十數器,其中該預先搁取電路根據 第-預先揭取計數器選擇性地從該儲存電路中預先彌 該等預定數目的行到該預先擷取緩衝器中。 3.如請求項1之資料處理系統,其進一步包含: -第二主控台,其中該儲存電係與該第二主控台耦 ’並由該第二主控台使用;及 -第二控制儲存電路,其對應於該第二主控台,且 94917-1000328.doc 1352293 年換頁 存一第二預先擷取限制。 4.如請求項3之資料處理系統,其中在來自該第一主控台的 讀取請求時,該第1先操取限制控制在該㈣擁取緩 衝器中錯失間為該第-主控台發生多少預先擷取,且其 中在來自該第二主控合的接你上主七 σ的喂取凊求時,該第二預先擷取 限制控制在該㈣揭取緩衝器中錯失間為該第二主控台 發生多少預先擷取。 5. 如請求項!之資料處理系統,其中該預先摘取電路選擇性 地預先棟取該等預定數目之行,以回應在該預先摘取緩 衝器中一命中或一錯失中至少一者。 6. —種用以在一資料處理系統中施行預先擷取之方法,其 包含: 接收來自一主控台之複數個存取請求,以存取儲存電 路;及 使用一預先擷取限制以限制在一預先擷取緩衝器中錯 失間施行之預先擷取的數目,該預先擷取係因該等複數 個存取請求中至少一部份造成,其中當一命中發生在該 預先擷取緩衝器中時,且從在該預先擷取緩衝器中之一 前一個錯失後之已發生的預先擷取的總數達到該第一預 先擷取限制時,一預先擷取不會因回應該命中而發生。 如請求項6之方法,其中使用該預先擷取限制以限制預先 擷取的數目包含: 在該預先擷取緩衝器中的一錯失後計算預先擷取,以 決定何時達到該預先擷取之限制。 O:\94\94917-1000328.doc -2 - ;. 8.如請求項7之方 先操取-單彳卜其中各預先㈣㈣取儲存電路中預 9· 一種用以在一咨奶占_ / 貝枓處理系統中施行預先擷取 包含: 心乃凌,其 收來自主控台之讀取請求,以存取儲存電路; 決疋該讀取請求導致在一預先擷取緩衝器中之命中或 如果該讀取請求導致一命中,至少部分根據一達到一 第一值之預先擷取計數器’選擇地施行從該儲存電路預 先擷取一預定數目之行到声預先擷取緩衝器中;及 如果該讀取請求導致一錯失,施行一要求擷取以回鹿 該讀取請求,且將該預先擷取計數器設定成一第二值。 1 〇·如請求項9之方法,其中選擇性地施行該等預定數目之行 的預先擷取,係進一步根據該等預定數字之行是否已出 現在該預先擷取緩衝器中。 O:\94\94917-1000328.doc
TW093123018A 2003-07-31 2004-07-30 Data processing system and method for performing p TWI352293B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/631,136 US7200719B2 (en) 2003-07-31 2003-07-31 Prefetch control in a data processing system

Publications (2)

Publication Number Publication Date
TW200519604A TW200519604A (en) 2005-06-16
TWI352293B true TWI352293B (en) 2011-11-11

Family

ID=34115765

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093123018A TWI352293B (en) 2003-07-31 2004-07-30 Data processing system and method for performing p

Country Status (7)

Country Link
US (1) US7200719B2 (zh)
EP (1) EP1652092A2 (zh)
JP (1) JP4875981B2 (zh)
KR (1) KR101093317B1 (zh)
CN (1) CN100407165C (zh)
TW (1) TWI352293B (zh)
WO (1) WO2005013039A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526604B1 (en) * 2004-08-09 2009-04-28 Nvidia Corporation Command queueing speculative write prefetch
JP2006251923A (ja) * 2005-03-08 2006-09-21 Oki Electric Ind Co Ltd 先読み制御方法
US7346741B1 (en) * 2005-05-10 2008-03-18 Sun Microsystems, Inc. Memory latency of processors with configurable stride based pre-fetching technique
CN101261610B (zh) * 2007-03-06 2014-04-02 西北农林科技大学 多主设备无冲突访问从设备的方法及装置
JP4829191B2 (ja) * 2007-08-30 2011-12-07 株式会社東芝 キャッシュシステム
US9274965B2 (en) * 2008-12-15 2016-03-01 International Business Machines Corporation Prefetching data
US8473689B2 (en) * 2010-07-27 2013-06-25 Texas Instruments Incorporated Predictive sequential prefetching for data caching
US8583894B2 (en) * 2010-09-09 2013-11-12 Advanced Micro Devices Hybrid prefetch method and apparatus
CN102156633A (zh) * 2011-04-18 2011-08-17 北京北大众志微系统科技有限责任公司 预执行指导的数据预取方法及系统
WO2013030628A1 (en) * 2011-09-01 2013-03-07 Freescale Semiconductor, Inc. Integrated circuit device, memory interface module, data processing system and method for providing data access control
US9645934B2 (en) * 2013-09-13 2017-05-09 Samsung Electronics Co., Ltd. System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer
US10754578B2 (en) 2018-05-09 2020-08-25 Micron Technology, Inc. Memory buffer management and bypass
US11010092B2 (en) 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system
US10714159B2 (en) 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory
US11294808B2 (en) 2020-05-21 2022-04-05 Micron Technology, Inc. Adaptive cache
US11409657B2 (en) 2020-07-14 2022-08-09 Micron Technology, Inc. Adaptive address tracking
US11422934B2 (en) 2020-07-14 2022-08-23 Micron Technology, Inc. Adaptive address tracking
US20220091847A1 (en) * 2020-09-23 2022-03-24 Advanced Micro Devices, Inc. Prefetching from indirect buffers at a processing unit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
US5146578A (en) * 1989-05-01 1992-09-08 Zenith Data Systems Corporation Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests
JPH0754482B2 (ja) * 1990-08-07 1995-06-07 株式会社日立製作所 計算機システム
US5410653A (en) * 1992-06-16 1995-04-25 International Business Machines Corporation Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length
US5619663A (en) * 1994-09-16 1997-04-08 Philips Electronics North America Corp. Computer instruction prefetch system
JP2720838B2 (ja) * 1995-06-19 1998-03-04 日本電気株式会社 データ転送装置
US6085291A (en) * 1995-11-06 2000-07-04 International Business Machines Corporation System and method for selectively controlling fetching and prefetching of data to a processor
US5802569A (en) * 1996-04-22 1998-09-01 International Business Machines Corp. Computer system having cache prefetching amount based on CPU request types
US6901500B1 (en) * 2000-07-28 2005-05-31 Silicon Graphics, Inc. Method and apparatus for prefetching information and storing the information in a stream buffer
US6578130B2 (en) * 2001-10-18 2003-06-10 International Business Machines Corporation Programmable data prefetch pacing
US6832296B2 (en) * 2002-04-09 2004-12-14 Ip-First, Llc Microprocessor with repeat prefetch instruction
US7493450B2 (en) * 2003-04-14 2009-02-17 Hewlett-Packard Development Company, L.P. Method of triggering read cache pre-fetch to increase host read throughput
US7055016B2 (en) * 2003-04-30 2006-05-30 Sun Microsystems, Inc. Computer system including a memory controller configured to perform pre-fetch operations

Also Published As

Publication number Publication date
WO2005013039A2 (en) 2005-02-10
WO2005013039A3 (en) 2005-07-21
CN1813246A (zh) 2006-08-02
EP1652092A2 (en) 2006-05-03
JP2007500897A (ja) 2007-01-18
TW200519604A (en) 2005-06-16
CN100407165C (zh) 2008-07-30
KR20060052936A (ko) 2006-05-19
KR101093317B1 (ko) 2011-12-14
US20060053256A1 (en) 2006-03-09
US7200719B2 (en) 2007-04-03
JP4875981B2 (ja) 2012-02-15

Similar Documents

Publication Publication Date Title
TWI352293B (en) Data processing system and method for performing p
US6792496B2 (en) Prefetching data for peripheral component interconnect devices
TWI332149B (en) Information processing apparatus and information processing method
US6836829B2 (en) Peripheral device interface chip cache and data synchronization method
TWI497295B (zh) 用以快取資料的電腦程式產品
US20070226422A1 (en) Multi-master system and data transfer system
US20090313435A1 (en) Optimizing concurrent accesses in a directory-based coherency protocol
US20120226865A1 (en) Network-on-chip system including active memory processor
US20060200630A1 (en) Embedded system with instruction prefetching device, and method for fetching instructions in embedded systems
US6578112B2 (en) Cache memory control device for multi-processor system
TW200416535A (en) Method and apparatus for determining a dynamic random access memory page management implementation
WO2014056329A1 (zh) 内存数据的推送方法及装置
KR100339443B1 (ko) 기억 장치의 액세스 대기 시간을 감소시키기 위한 시스템 및 그방법
US6871246B2 (en) Prefetch control in a data processing system
WO2014206229A1 (zh) 一种加速器以及数据处理方法
US8510493B2 (en) Circuit to efficiently handle data movement within a cache controller or on-chip memory peripheral
JP7517632B2 (ja) インプレース実行キャッシュ制御のデュアルインターフェースメモリコントローラ
US5913231A (en) Method and system for high speed memory address forwarding mechanism
US8234452B2 (en) Device and method for fetching instructions
EP1506488B1 (en) Data transfer unit with support for multiple coherency granules
KR100240923B1 (ko) 정보 처리 시스템 내의 버스상에 결합된 내부 장치들간의 통신을 위한 방법 및 그 정보 처리 시스템
JP5393405B2 (ja) メモリ制御回路
US20060129726A1 (en) Methods and apparatus for processing a command
JPH06149750A (ja) マルチプロセッサの共用キャッシュメモリ

Legal Events

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