亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于微處理器的可配置高速緩沖存儲器的制作方法

文檔序號:6456692閱讀:181來源:國知局
專利名稱:用于微處理器的可配置高速緩沖存儲器的制作方法
技術領域
本發(fā)明涉及一種用于微處理器或微控制器的可配置高速緩沖存儲器。
背景技術
管線式微處理器結構的瓶頸是存儲器系統(tǒng)的高存取時間。用以解決此問題的典型方 法使用大型高速緩沖存儲器且在初始高存儲器存取時間之后每時鐘傳輸多個數(shù)據(jù)字。小 型微控制器設計受限于可位于芯片上的高速緩沖存儲器的量,且其不能支持大尺寸的高 等待時間但高處理量的窄存儲器。因此,需要一種用于微控制器或微處理器的可配置高 速緩沖存儲器。

發(fā)明內容
根據(jù)一實施例, 一種用于中央處理單元的高速緩沖存儲器模塊可具有與存儲器耦合 的高速緩沖存儲器控制單元以及與所述控制單元及所述存儲器耦合的高速緩存存儲器, 其中所述高速緩存存儲器具有多個高速緩沖存儲器線,每一高速緩沖存儲器線具有用于 存儲待順序發(fā)布的指令的存儲區(qū)域及相關聯(lián)控制位,其中所述多個高速緩沖存儲器線中 的至少一個高速緩沖存儲器線具有至少一個分支跟蹤控制位,所述分支跟蹤控制位在被 設定時提供在預定義分支指令已被發(fā)布的情況下對所述高速緩沖存儲器線的自動鎖定 功能。
根據(jù)進一步實施例,至少一個高速緩沖存儲器線可進一步包含用于手動或自動鎖定 所述高速緩沖存儲器線的鎖定控制位。根據(jù)進一步實施例,每一高速緩沖存儲器線可進 一步包含用于指示所述高速緩沖存儲器線的有效性的相關聯(lián)控制位。根據(jù)進一步實施 例,每一高速緩沖存儲器線可進一步包含用于指示所述高速緩沖存儲器線是用作指令高速緩沖存儲器線還是數(shù)據(jù)高速緩沖存儲器線的相關聯(lián)控制位。根據(jù)進一步實施例,每一 高速緩沖存儲器線可進一步包含與地址請求進行比較的相關聯(lián)地址標記位字段、用于存 儲所使用屏蔽的相關聯(lián)屏蔽位字段以及用于根據(jù)所述屏蔽位字段對所述高速緩沖存儲 器線的所述相關聯(lián)地址標記的位進行屏蔽的屏蔽單元。根據(jù)進一步實施例,所述高速緩 沖存儲器模塊可進一步包含與所述存儲器及所述高速緩存存儲器耦合的預取單元,其中 所述預取單元經設計以將來自所述存儲器的指令加載到另一高速緩沖存儲器線中,其中 所述指令相繼于當前從所述高速緩沖存儲器線發(fā)布的指令。根據(jù)進一步實施例,所述預 取單元可控制以被啟用或停用。根據(jù)進一步實施例,可使用最近最少使用的算法來確定 哪個高速緩沖存儲器線將被蓋寫。
根據(jù)又一實施例, 一種操作用于中央處理單元的高速緩沖存儲器的方法可包含以下 步驟將多個順序指令存儲在所述高速緩沖存儲器的高速緩沖存儲器線內;設定用于所 述高速緩沖存儲器線的分支跟蹤功能;以及執(zhí)行從所述高速緩沖存儲器線提取的指令, 其中所述高速緩沖存儲器線在調用子例程后即被自動鎖定。
根據(jù)進一步實施例,如果調用子例程的指令是所述高速緩沖存儲器線中的最后一個 指令,那么可不執(zhí)行所述自動鎖定所述高速緩沖存儲器線的步驟。根據(jù)進一步實施例, 所述方法可進一步包含在從所述子例程返回后即復位對所述高速緩沖存儲器線的鎖定 的步驟。根據(jù)進一步實施例,可在執(zhí)行所述高速緩沖存儲器線中所含有的指令后即調用 所述子例程。根據(jù)進一步實施例,可通過中斷調用所述子例程。
根據(jù)再一實施例, 一種操作用于中央處理單元的高速緩沖存儲器的方法可包含以下
步驟提供多個高速緩沖存儲器線,其每一者具有用于存儲指令或數(shù)據(jù)的存儲區(qū)域及用 于控制每一高速緩沖存儲器線的功能的多個控制位;將多個順序指令存儲在所述多個高 速緩沖存儲器線中的一高速緩沖存儲器線內;以及在設定所述高速緩沖存儲器線中的所 述多個控制位中的分支跟蹤功能位后,當在執(zhí)行存儲于所述高速緩沖存儲器線中的指令 期間調用子例程時自動鎖定所述高速緩沖存儲器線。
根據(jù)進一步實施例,所述方法可進一步包含在從所述子例程返回后即復位用于所述 高速緩沖存儲器線的所述分支跟蹤功能的步驟。根據(jù)進一步實施例,所述方法可進一步 包含借助于所述多個控制位中的鎖定控制位而提供高速緩沖存儲器線的手動鎖定功能 的步驟。根據(jù)進一步實施例,所述方法可進一步包含借助于所述多個控制位中的類型控 制位而提供指示高速緩沖存儲器線是用于存儲指令還是數(shù)據(jù)的類型功能的步驟。根據(jù)進 一步實施例,所述方法可進一步包含借助于所述多個控制位中的有效性控制位而提供高 速緩沖存儲器線的指示高速緩沖存儲器線中的存儲內容的有效性的有效性功能的步驟。根據(jù)進一步實施例,所述方法可進一步包含為每一高速緩沖存儲器線提供用于對相關聯(lián) 地址標記字段的位進行屏蔽的多個位的步驟。根據(jù)進一步實施例,所述方法可進一步包 含以下步驟在執(zhí)行存儲于高速緩沖存儲器線中的指令后即起始對存儲于存儲器中的相 繼于存儲在所述高速緩沖存儲器線中的指令的指令的預取。根據(jù)進一步實施例,可將所 述所預取指令存儲在通過最近最少使用的算法確定的高速緩沖存儲器線中。根據(jù)進一步 實施例,所述方法可進一步包含將含有指令回路的指令流存儲在至少一個高速緩沖存儲 器線中且鎖定所述髙速緩沖存儲器線以免其被蓋寫的步驟。根據(jù)進一步實施例,所述方 法可進一步包含將順序指令存儲在多個高速緩沖存儲器線中且鎖定含有形成指令回路 的指令的所有高速緩沖存儲器線的步驟。


可通過參看結合附圖所作的以下描述來獲得對本發(fā)明的較完整理解,其中
圖1說明可配置高速緩沖存儲器的第一實施例。
圖2說明根據(jù)圖1的實施例的高速緩存存儲器區(qū)段的細節(jié)。
圖3說明可配置高速緩沖存儲器的第二實施例。
圖4說明根據(jù)圖3的實施例的高速緩存存儲器的高速緩沖存儲器線的細節(jié)。
圖5說明用于控制高速緩沖存儲器的實施例的功能的示范性寄存器。
圖6說明根據(jù)所述實施例中的一者的映射高速緩沖存儲器線的內容的其它寄存器。
圖7說明用于產生特定信號的某種邏輯電路。
圖8說明展示簡化高速緩沖存儲器存取過程的流程圖。
盡管本發(fā)明允許各種修改及替代形式,但已在附圖中展示并在本文中詳細描述其特 定實例性實施例。然而,應了解,本文中對特定實例性實施例的描述并不希望將本發(fā)明
限于本文所揭示的特定形式,而是相反地,本發(fā)明將涵蓋如由所附權利要求書所界定的
所有修改及等效物。
具體實施例方式
標準微控制器單元(MCU)通常包含8位或16位微處理器核心。32位核心僅最近 才進入MCU界。所有這些核心通常均不具有高速緩沖存儲器。僅復雜的高端32位微控 制器可具有高速緩沖存儲器。這是因為對于MCU來說,高速緩沖存儲器為較大且昂貴 的。所揭示的實施例提供中間立場的小型可配置高速緩沖存儲器,其可在運作中配置且 可充當預取及分支跟蹤緩沖器,同時提供用于MCU應用的最佳高速緩沖存儲器深度。
根據(jù)一實施例,高速緩沖存儲器可經設計為可配置以非常靈活地操作。舉例來說,
7其可經編程以嚴格地作為高速緩沖存儲器來操作,這對于小型回路優(yōu)化為有用的。為此, 可手動鎖定包含回路的相應高速緩沖存儲器線。其還可貢獻特定數(shù)目的高速緩沖存儲器 線(例如,多達用于鏈接分支歷史存儲的線的一半),此可加速函數(shù)調用返回。最后, 其可經配置以在從高速緩沖存儲器線發(fā)布第一指令時將順序程序信息預取到最近最少 使用的高速緩沖存儲器線中。通過以兩倍于微處理器可使用程序指令的速率來預取程序 指令,存儲器系統(tǒng)提供可用帶寬以在不使程序指令流停止的情況下提取程序數(shù)據(jù)。實際 上,并非所有程序數(shù)據(jù)提取均為透明的。根據(jù)不同實施例的高速緩沖存儲器設計方法提 供用以通過給出與高等待時間但高處理量的寬存儲器組合的低等待時間高速緩沖存儲 器的特征平衡來改進性能的機制。
根據(jù)一實施例,高速緩沖存儲器可經設計為運行時間及運作中可配置的完全相聯(lián)高 速緩沖存儲器。圖1展示此類可配置高速緩沖存儲器100的實施例的框圖。耦合總線110a 及110b將高速緩沖存儲器耦合到微控制器或微處理器的中央處理單元(CPU)。高速緩 沖存儲器100包含高速緩沖存儲器控制器120,所述高速緩沖存儲器控制器120耦合到 指令高速緩沖存儲器區(qū)段130及數(shù)據(jù)高速緩沖存儲器區(qū)段140。每一指令高速緩沖存儲 器區(qū)段包含指令存儲器特有且相關聯(lián)的控制位及標記(例如,以線形式),其中線可包 括用于存儲多個字的存儲區(qū)域。舉例來說,字可為16位長且指令高速緩沖存儲器130 內的線可具有4個雙字,從而產生4x32個位。根據(jù)一實施例,小型指令高速緩沖存儲 器130可包括4個此類線。根據(jù)其它實施例,依據(jù)相應處理器的設計而定的其它配置可 能為更有利的。根據(jù)一實施例,數(shù)據(jù)高速緩沖存儲器區(qū)段140可經設計成類似于指令高 速緩沖存儲器設計130。依據(jù)設計模型而定,單獨的數(shù)據(jù)及指令高速緩沖存儲器區(qū)段130 及140可能為合乎需要的,此(例如)可用于具有哈佛(Harvard)結構的處理器中。然 而,在常規(guī)的馮.諾伊曼(von Neumann)型微處理器中,可使用能夠從同一存儲器高速 緩存指令及數(shù)據(jù)的混合式高速緩沖存儲器。圖l僅展示根據(jù)具有哈佛結構的處理器的連 接到指令及數(shù)據(jù)高速緩沖存儲器130、 140的程序快閃存儲器160 (PFM)。數(shù)據(jù)存儲器 可單獨地耦合于哈佛結構中,或者存儲器160可為如在馮,諾伊曼結構中所使用的統(tǒng)一指 令/數(shù)據(jù)存儲器。多路復用器150 (例如)由高速緩沖存儲器控制器120控制且將存儲于 高速緩存存儲器130、 140中的數(shù)據(jù)/指令經由總線110b提供到CPU。
圖2更詳細地展示根據(jù)一實施例的指令高速緩沖存儲器130及數(shù)據(jù)高速緩沖存儲器 的結構。所述布置再次展示用于指令及數(shù)據(jù)的單獨高速緩沖存儲器。高速緩沖存儲器的 每一線包含數(shù)據(jù)/指令存儲區(qū)域以及多個相關聯(lián)控制及標記位(例如,IFM、 TAG及BT)。 IFM表示特定屏蔽,其可用以(例如)屏蔽地址標記字段TAG的某些位,所述地址標
8記字段TAG含有數(shù)據(jù)/指令高速緩沖存儲器DATA的起始地址,如下文將更詳細地解釋。 每一線可(例如)包含指令/數(shù)據(jù)高速緩沖存儲器的4x32個位,如圖2中所展示。標記 字段可包含實際地址以及指示相應高速緩沖存儲器線的有效性、鎖定、類型等的額外位。 此外,如圖2中所展示,針對每一高速緩沖存儲器線提供分支跟蹤位BT。當此位被設 定時,每當在相應高速緩沖存儲器線內執(zhí)行子例程調用指令且所述指令不是所述線中的 最后一個指令時,CPU即可自動鎖定相關聯(lián)的高速緩沖存儲器線。在此情況下,相應高 速緩沖存儲器線被自動鎖定,且當程序從相應子例程返回時,跟隨在相應調用指令之后 的指令將存在于高速緩沖存儲器中,如下文將更詳細地解釋。
圖3展示可配置高速緩沖存儲器的另一實施例。高速緩沖存儲器控制器120提供用 于高速緩沖存儲器的所有功能的控制信號及信息。舉例來說,高速緩沖存儲器控制器120 控制TAG邏輯310,所述TAG邏輯310與命中邏輯320耦合,所述命中邏輯320還處 理來自高速緩沖存儲器控制器120及來自由高速緩沖存儲器控制器所提供的預取標記 330的數(shù)據(jù)。命中邏輯產生控制高速緩沖存儲器線地址編碼器340的信號,所述高速緩 沖存儲器線地址編碼器340尋址高速緩存存儲器350,所述高速緩存存儲器350在此實 施例中包含(例如)16個線的數(shù)據(jù)/指令存儲器,每一線包含(例如)用于指令/數(shù)據(jù)存 儲的4x32位雙字。程序快閃存儲器160與高速緩沖存儲器控制器120耦合且經由預取 單元360而與高速緩沖存儲器耦合,所述預取單元360還連接到高速緩沖存儲器線地址 編碼器340。預取單元360將指令傳送到由高速緩沖存儲器線地址編碼器340直接或通 過緩沖器尋址的高速緩存存儲器350的每一高速緩沖存儲器線中。為此,預取單元360 可包含能夠存儲待傳送到相應高速緩沖存儲器線的存儲區(qū)域中的指令的一個或一個以 上緩沖器。多路復用器150經控制以在高速緩存存儲器350內或從單元360的預取緩沖 器中選擇相應字節(jié)/字/雙字并將其提供到CPU總線llOb。
圖4更詳細地展示高速緩存存儲器350。在此實施例中,提供16個高速緩沖存儲器 線。每一線包含多個控制位及一4x32位指令/數(shù)據(jù)存儲區(qū)域(WordO到Word3)。所述控 制位包含屏蔽MASK、地址標記TAG、有效性位V、鎖定位L、類型位T及分支跟蹤位 BT。屏蔽MASK允許在由命中邏輯320進行比較期間屏蔽地址標記TAG的選定位,如 下文將更詳細地解釋。地址標記TAG進而指示存儲器160中的高速緩沖存儲器線的開 始。如下文將更詳細地解釋,地址標記TAG為可讀及可寫的,且在由用戶寫入時將強 制預取功能。有效性位V指示相關聯(lián)高速緩沖存儲器線中的條目為有效的。此位不能由 用戶更改,且其經自動設定或復位。鎖定位L指示高速緩沖存儲器線是否被鎖定,且因 此不能被蓋寫。此位可由用戶更改或可相對于分支跟蹤功能而自動設定,如下文所解釋。位T指示高速緩沖存儲器線的類型,g卩,高速緩沖存儲器線是用作指令高速緩沖存儲器 線還是用作數(shù)據(jù)高速緩沖存儲器線。此位可經設計為由用戶更改,這允許高速緩沖存儲 器的非常靈活的指派及配置。代替使用單個可指派位T來將某些高速緩沖存儲器線指定 為數(shù)據(jù)高速緩沖存儲器線,可使用通用配置寄存器來界定特定數(shù)目個將用于高速緩存數(shù) 據(jù)的線,而剩余高速緩沖存儲器線將用于指令高速緩存。在此實施例中,仍可提供位T 以指示哪些高速緩沖存儲器線經設定為所指定的數(shù)據(jù)高速緩沖存儲器線,且因此所述位 T在此實施例中不能被更改。如稍后將解釋,根據(jù)一個實施例的高速緩沖存儲器可(例 如)經配置以將零個高速緩沖存儲器線、1個、2個或4個高速緩沖存儲器線用于數(shù)據(jù) 高速緩存的目的。此指派可因此將高速緩沖存儲器分裂為兩個部分,例如,依據(jù)所指派 線的數(shù)目而定,可從高速緩沖存儲器的底部向上指派數(shù)據(jù)高速緩沖存儲器線。具有更多 數(shù)據(jù)高速緩沖存儲器線的其它配置當然是可能的且依據(jù)高速緩沖存儲器的相應設計而 定。因此,當被設定時,位T指示此線用于數(shù)據(jù)高速緩存。
圖7展示可用以實施分支跟蹤功能的某種邏輯電路的實施例。如上文所解釋,分支 跟蹤位750用以在將分支到子例程且將返回的子例程指令、俘獲、中斷或其它指令在高 速緩沖存儲器線內執(zhí)行且不是所述線中的最后一個指令的情況下自動鎖定相關聯(lián)高速 緩沖存儲器線。當被設定時,在調用子例程類型指令已被執(zhí)行且程序分支離開其線性執(zhí) 行序列時,CPU可通過經由邏輯門760設定位740來自動鎖定相關聯(lián)線。此子例程類型 指令的執(zhí)行可在執(zhí)行單元中檢測到,且通過信號770發(fā)信號通知邏輯門760。當至少一 個尚未執(zhí)行但將在程序從相應子例程返回時執(zhí)行的指令留在高速緩沖存儲器線中時,啟 用此功能性。在此指令被放置于高速緩沖存儲器線的最后一個存儲器空間中的情況下, 將沒有必要保持高速緩沖存儲器線自動鎖定,因為隨后的指令將在不同高速緩沖存儲器 線中或甚至可能不在高速緩沖存儲器中。當位750依據(jù)相應子例程或中斷調用的執(zhí)行(其 通過檢測信號770發(fā)信號通知邏輯門760)而被設定時,CPU自動設定及復位鎖定位740。
圖5及圖6展示在微處理器或微控制器內實施以控制可配置高速緩沖存儲器的行為 及功能性的通用高速緩沖存儲器控制寄存器510及其它控制寄存器610到660的實例。 所有寄存器可被設計為用于在32位環(huán)境中使用的32位寄存器。然而,這些寄存器可容 易適應于在16位或8位環(huán)境中工作。舉例來說,寄存器CHECON包含位31以啟用或 停用整個高速緩沖存儲器,且位16 CHECOH可用以實現(xiàn)PFM程序循環(huán)位上的高速緩沖 存儲器一致性設定。舉例來說,此位CHECOH可在被設定時使所有數(shù)據(jù)及指令線無效, 或可使所有數(shù)據(jù)線無效且僅使未經鎖定的指令線無效。位24可用以啟用所強制的數(shù)據(jù) 高速緩存功能,如下文將更詳細地解釋。當被設定時,如果高速緩沖存儲器帶寬未用于提取指令,那么此功能強制數(shù)據(jù)高速緩存。位11-12 BTSZ可用以啟用/停用分支跟蹤標 記。舉例來說,在一個實施例中,如果被啟用,那么分支跟蹤標記可被設定為1、 2或4 個線的大小。因此,1、 2或4個高速緩沖存儲器線將具有此功能性。根據(jù)其它實施例, 所有高速緩沖存儲器線可被啟用以用于此功能性。位8-9 DCSZ用以界定數(shù)據(jù)高速緩沖 存儲器線的數(shù)目,如上文所解釋。在一個實施例中,所述數(shù)目可經設定以啟用0、 1、 2 或4個數(shù)據(jù)高速緩沖存儲器線。
位4-5 PREFEN可用以啟用選擇性地用于存儲器的可高速緩存及非可高速緩存區(qū)的 預測性預取。存儲器的可高速緩存區(qū)可為存儲器內的例如可經實際高速緩存的存儲器或 程序區(qū)的區(qū),其意指與高速緩沖存儲器實際耦合的存儲器區(qū)。非可高速緩存區(qū)一般指代 (例如)通常不能被高速緩存的存儲器映射外圍空間。可高速緩存區(qū)與非可高速緩存區(qū) 之間的區(qū)別依據(jù)系統(tǒng)設計而定。 一些實施例可能需要此區(qū)別,且相應微處理器/微控制器 將支持高速緩存/非高速緩存方法,而處理器的其它實施例可能能夠高速緩存任何類型的 存儲器,而不管其是實際存儲器區(qū)還是存儲器映射區(qū)。
如果被設定,那么預取單元將一直提取跟隨在當前從中發(fā)布指令的高速緩沖存儲器 線之后的指令。使用兩個位允許(例如)四種不同設定,例如,啟用用于可高速緩存區(qū) 及非可高速緩存區(qū)兩者的預測性預取、僅啟用用于非可高速緩存區(qū)的預測性預取、僅啟 用用于可高速緩存區(qū)的預測性預取以及停用預測性預取。根據(jù)一實施例,假定高速緩沖 存儲器線包含16個字節(jié)或四個雙字。舉例來說,如果中央處理單元請求來自地址 0x001000的指令xl,那么高速緩沖存儲器控制邏輯將所有地址標記與0x00100X (其中 位X被忽略)進行比較。如果控制器產生命中,那么選擇相應線。選定線包含以地址 0x001000起始的所有指令。因此,在每一指令為32位長的情況下,第一指令將被發(fā)布 到中央處理單元,且預取單元將被觸發(fā)以預取下一線指令。為此,預取單元將把隨后的 地址標記計算為0x001010且開始在下一可用高速緩沖存儲器線中加載相應指令。當中 央處理單元進一步執(zhí)行來自地址0x001004、 0x001008及0x00100C的指令時,預取單元 用來自地址0x001010、 0x001014、 0x001018及0x00101C的指令來填滿下一可用高速緩 沖存儲器線。在中央處理單元完成執(zhí)行當前選定的高速緩沖存儲器線的指令之前,預取 單元將完成裝載后續(xù)指令。因此,中央處理單元將不被停止。
返回參看圖5,位0-2用以界定程序快閃存儲器的等待狀態(tài)的數(shù)目。因此,很多種 不同的快閃存儲器可與微控制器一起使用。
如圖4中所示的高速緩沖存儲器內的每一線可在控制下被映射到如圖6中所示的寄 存器。因此,高速緩沖存儲器線可被設計為完全可通過讀取及寫入操作來存取且可完全
11由用戶更改。然而,如上文所述,高速緩沖存儲器線的一些位可經設計而不得由用戶更 改或可能在用戶可更改相應線之前需要對相應線進行開鎖。為此,可提供索引寄存器600 以用于選擇所述16個高速緩沖存儲器線中的一者。 一旦己通過索引寄存器600選擇了 高速緩沖存儲器線,所述高速緩沖存儲器線便可通過隨后的寄存器610-660來存取。屏 蔽寄存器可(例如)在位5-15中包含選定高速緩沖存儲器線的屏蔽MASK。用于標記 的第二寄存器可在位4-23中具有地址標記且還可包含指示選定寄存器的有效性、鎖定狀 態(tài)、類型及分支跟蹤功能的位V、 L、 T及BT。最后,四個32位寄存器可被提供用于 在寄存器WordO、 Wordl、 Word2及Word3中包含高速緩存數(shù)據(jù)或指令的選定線??蓪?施其它控制寄存器以控制高速緩沖存儲器的通用功能。因此,每一高速緩沖存儲器線可 由用戶或軟件存取及操縱,如下文將更詳細地解釋。
根據(jù)所揭示的實施例,高速緩沖存儲器100、 300經設計以通過從PFM 160提取(例 如)128位對準的指令字集合(稱為線)來對初始CPU指令提取作出響應。所請求的實 際指令可存在于所述線中的任何地方。所述線存儲在高速緩沖存儲器130、 350 (填充) 中,且指令返回到CPU。此存取可占用多個時鐘周期且使CPU停止。舉例來說,對于 40毫微秒存取快閃,存取可在80MHz下引起3個等待狀態(tài)。然而, 一旦線被高速緩存, 對存在于所述線中的指令地址的后續(xù)存取便在零等待狀態(tài)中發(fā)生。
如果高速緩存如此被啟用,那么此過程繼續(xù)用于未命中高速緩沖存儲器線的每個指 令地址。以此方式,如果小回路為128位對準的且與高速緩沖存儲器130、 350的字節(jié) 數(shù)目相同或少于高速緩沖存儲器130、 350的字節(jié)數(shù)目,那么所述回路可在零等待狀態(tài) 下從高速緩沖存儲器執(zhí)行。對于完全填充的回路,如圖1中所示的具有32位指令的4 線高速緩沖存儲器130每時鐘執(zhí)行一個指令。換句話說,CPU在16個時鐘中執(zhí)行存儲 于高速緩沖存儲器130中的所有指令。如果僅支持128位寬的提取,那么所述同一回路 可每線占用特定數(shù)目的等待狀態(tài)以用于提取(例如,3個等待狀態(tài)),且占用特定數(shù)目的 時鐘以用于執(zhí)行(例如,4個日寸鐘),這將導致(例如)每4個指令占用7個時鐘。此實 例將產生具有2 8個時鐘的總回路時間。
圖1中的實施例包含兩線數(shù)據(jù)高速緩沖存儲器以利用可存儲于PFM 160中的常數(shù)及 表數(shù)據(jù)的空間接近性。然而,在其它實施例中,此高速緩沖存儲器可為更大的且連接到 數(shù)據(jù)存儲器。
此外,如上文所解釋,如圖l及圖3中所展示的高速緩沖存儲器還可實現(xiàn)預取,以 允許避免提取128位寬的指令流所需的特定數(shù)目的等待狀態(tài)。如果預取被啟用,那么高 速緩沖存儲器100、 300使用最近最少使用的線進行預測地址填充。預測地址正好是下一順序128位對準地址,如上文對使用實際地址的實例所做詳細解釋。因此,在高速緩 沖存儲器線內執(zhí)行指令期間,如果預測地址尚未在高速緩沖存儲器中,那么高速緩沖存 儲器產生快閃存儲器存取。當CPU正在需要(例如)對快閃存儲器系統(tǒng)的3等待狀態(tài) 存取的頻率下運行時,預測地址提取在其中CPU需要預測指令的周期內完成。以此方 式,對于線性代碼,CPU指令提取可在零等待狀態(tài)下運行。
當鏈接分支與鏈接跳躍指令在CPU中執(zhí)行以保存高速緩沖存儲器線以供將來使用 時,分支跟蹤特征查看所述指令。此特征通過在跟蹤分支或跳躍指令的線中保存任何指 令來增強功能調用返回的性能。
程序快閃存儲器高速緩沖存儲器160及預取模塊120、 360為在可高速緩存程序快 閃存儲器區(qū)外部執(zhí)行的應用提供增強的性能。性能增強以三種不同方式來實現(xiàn)。
第一種方式是模塊高速緩存能力。如圖1及圖3中所展示的4或16線指令高速緩 沖存儲器130、 350具有每時鐘為回路供應一次指令(對于32位操作代碼多達16/64個 指令且對于16位操作代碼多達32/128個指令)的能力。高速緩沖存儲器大小及組織的 其它配置可適用。圖1中所展示的實施例還提供高速緩存兩線數(shù)據(jù)的能力,從而提供對 線內的數(shù)據(jù)項的改進存取。圖3中所展示的實施例通過設定分裂點或個別地指派相應高 速緩沖存儲器類型(如上文所解釋)來提供可更靈活指派的數(shù)據(jù)高速緩沖存儲器線大小。
第二,當允許預取時,模塊每時鐘為線性代碼提供一次指令,從而隱藏快閃存儲器 的存取時間。第三,模塊可將一個或兩個指令高速緩沖存儲器線分配給鏈接分支歷史指 令。當具有鏈接的跳躍或分支指令在CPU中出現(xiàn)時,最后一個線被標記為分支歷史線 并保存以用于從調用返回。
模塊啟用
根據(jù)一實施例,在復位之后,可通過設定位(例如,CHECON寄存器中的位31 N/OFF (參見圖5))來啟用模塊。清除此位將完成以下各項
停用所有高速緩沖存儲器、預取及分支歷史功能性且復位高速緩沖存儲器的狀態(tài)。
將模塊設定為旁路模式。
允許特殊功能寄存器(SFR)讀取及寫入。
節(jié)電模式下的操作
休眠模式
根據(jù)一實施例,當裝置進入休眠模式時,時鐘控制塊停止對高速緩沖存儲器模塊 100、 300的時鐘。 閑置模式根據(jù)一實施例,當裝置進入閑置模式時,高速緩沖存儲器及預取時鐘源仍起作用且 CPU停止執(zhí)行代碼。任何未處理預取在模塊100、 300經由自動時鐘門控而停止其時鐘 之前完成。
旁路行為
根據(jù)一實施例,默認操作模式為旁路。在旁路模式下,模塊針對每個指令而存取 PFM,從而招致如寄存器CHECON中的PFMWS位(參見圖5)所界定的快閃存取時間。 高速緩存行為
根據(jù)圖1,高速緩存與預取模塊可實施完全相聯(lián)4線指令高速緩沖存儲器。依據(jù)設 計而定,可提供更多或更少的高速緩沖存儲器線。高速緩沖存儲器線內的指令/數(shù)據(jù)存儲 區(qū)域可經設計為不可寫的且在快閃編程序列期間或當通用控制寄存器CHECON中的相 應位被設定為邏輯0時與相關聯(lián)控制位一起被清除。其每線使用含有快閃地址標記的寄 存器或位字段。每一線可由128個位(16個字節(jié))的指令構成,而不管指令大小如何。 為了簡化存取,根據(jù)圖1及圖3的高速緩存與預取模塊可僅從快閃160請求16字節(jié)對 準指令數(shù)據(jù)。根據(jù)一實施例,如果CPU所請求的地址未與16字節(jié)邊界對準,那么模塊 將通過丟棄地址位[3.0]來對準地址。
當僅配置為高速緩沖存儲器時,模塊通過在未命中時將多個指令加載到線中而像任 何高速緩沖存儲器一樣起作用。根據(jù)一實施例,模塊可使用簡單的最近最少使用的 (LRU)算法來選擇哪個線接收新指令集合。高速緩沖存儲器控制器使用寄存器CHECON 的等待狀態(tài)值來確定當其檢測到未命中時其必須等待快閃存取多久。在命中時,高速緩 沖存儲器在零等待狀態(tài)下返回數(shù)據(jù)。
指令高速緩沖存儲器依據(jù)預取及分支跟蹤選擇而以不同方式起作用。如果代碼為 100%線性的,那么僅高速緩存模式將以相應PFMWS周期時序將指令提供回到CPU, 其中PFMWS為等待狀態(tài)的數(shù)目。
屏蔽
使用屏蔽位字段會實現(xiàn)高速緩沖存儲器的進一步靈活的使用。圖7展示用以實施屏 蔽功能的可能的邏輯電路。高速緩沖存儲器線的位字段710含有(例如)ll個位,所述 位可用以屏蔽地址標記720的某些位。屏蔽位字段710的11個位用以屏蔽地址標記720 的較低位0-10。當比較器780將地址標記720與所請求地址790進行比較時,屏蔽位字 段710中被設定為"1"的任何位將使得地址標記中的相應位被忽略。如果指令/數(shù)據(jù)存 儲區(qū)域包含16個字節(jié),那么地址標記不包含實際地址的較低4個位。因此,如果屏蔽 710的所有位被設定為"1",那么比較器將實際地址的位4-23與使用24個地址位的系統(tǒng)中的地址標記的位0-19進行比較。然而,通過屏蔽730,可迫使比較器780僅將地址 標記720的小部分與實際地址790的相應小部分進行比較。因此,多個地址可引起命中。 此功能性可尤其有利地與某些引起到指令存儲器中的預定義地址的分支的中斷或俘獲 指令的產生一起使用。舉例來說,中斷可引起到含有中斷服務例程的存儲器地址的分支, 所述存儲器地址由中斷基本地址加上由中斷的優(yōu)先級所界定的偏移地址加以界定。舉例 來說,優(yōu)先級0中斷將分支到地址0x000100,優(yōu)先級1中斷將分支到地址0x000110, 優(yōu)先級2中斷將分支到地址0x000120,等等。俘獲指令可被類似地組織且可引起類似的 分支模式。假定特定數(shù)目的中斷服務例程至少對于預定義數(shù)目的指令為相同的,那么通 過使用屏蔽功能,這些地址可引起到含有服務例程的起始的同一高速緩沖存儲器線的分 支。舉例來說,如果對于優(yōu)先級等級0-3的中斷服務例程的最初四個32位指令為相同的, 那么包含在地址0x000010處起始的指令的高速緩沖存儲器線的屏蔽位字段可被設定為 "11111111100",其將對從0x000100起始到0x0001300的所有地址引起命中。因此,不 僅具有優(yōu)先級0的中斷將引起命中,而且具有優(yōu)先級1、 2及3的中斷也將引起命中。 其全部將跳躍到已經加載在高速緩沖存儲器中的同一指令序列。因此,將不會發(fā)生因存 取快閃存儲器的損失。 預取行為
控制寄存器CHECON的位字段PREFEN或相應單個位(參見圖5)可用以啟用預 取功能。當經配置用于預取時,模塊100、 300預測下一線地址且將其返回到高速緩沖 存儲器130、 350的LRU線中。預取功能基于第一 CPU指令提取來開始預測。當?shù)谝?線放置于高速緩沖存儲器130、 350中時,模塊僅使地址遞增到下一 16字節(jié)對準地址且 開始快閃存取??扉W存儲器160在所有指令可從先前線執(zhí)行時或之前返回下一指令集合。
如果在預測快閃存取期間的任何時間,新CPU地址不與預測地址匹配,那么快閃 存取將被改變到正確地址。此行為不會使CPU存取占用比沒有預測的情況下所占用的 時間更長的時間。
如果預測快閃存取完成,那么將指令與其地址標記一起放置于LRU線中。在CPU 地址命中線之前不更新LRU指示。如果其是正好所預取的線,那么將所述線標記為最 近最多使用的線且相應地更新其它線。如果其是高速緩沖存儲器中的另一線,那么算法 相應地調整,但正好所預取的線仍為LRU線。如果其未命中高速緩沖存儲器130、 350, 那么存取轉到快閃且返回指令放置于LRU線(其為最近最多更新但從未使用的預取線) 中。
根據(jù)一實施例,如上文所述,可選擇性地開啟或關閉數(shù)據(jù)預取。根據(jù)另一實施例,如果控制寄存器(例如,CHECON)中的專用位被設定為邏輯1,那么在指令預取中途 的數(shù)據(jù)存取可導致指令預取異常中止。如果此位被設定為邏輯0,那么數(shù)據(jù)存取在指令 預取完成之后完成。 分支跟蹤行為
高速緩沖存儲器可經分裂以(例如)通過編程寄存器CHECON中的位字段BTSZ (參見圖5)而將指令高速緩沖存儲器的一個或一個以上線用于分支跟蹤指令。當CPU 請求如從分支與鏈接或跳躍與鏈接指令所計算的新地址時,分支跟蹤線為最近最多使用 的高速緩沖存儲器線。根據(jù)一實施例,當模塊100、 300將MRU高速緩沖存儲器線標記 為分支跟蹤線時,其還可解除分配LRU分支跟蹤線,從而使其返回為通用高速緩沖存 儲器使用。
如上文所解釋,如果最后一個存取是來自MRU線中的最后一個指令(最高地址), 那么所述線不被標記為分支跟蹤線。而且,模塊不從高速緩沖存儲器的分支跟蹤部分解 除分配現(xiàn)有線中的任一者。
預加載行為
應用代碼可引導模塊100、 300用來自快閃存儲器160的指令預加載及鎖定一個高 速緩沖存儲器線。預加載功能使用來自標記為高速緩沖存儲器(即,非分支跟蹤)的線 的LRU。
根據(jù)一實施例,可直接存取高速緩沖存儲器線中的地址標記位字段,且用戶可將任 何值寫入到此位字段中。此寫入導致對快閃存儲器中所尋址的相應線的強制預加載高速 緩存。因此,預加載通過將地址寫入到高速緩沖存儲器線的地址標記位字段中以從存儲 器預加載到相應線來工作。根據(jù)一實施例,此動作在存取快閃以檢索指令之前使所述線 無效。在預加載之后,所述線可由中央處理單元存取以用于執(zhí)行相應指令。
根據(jù)一實施例,此功能性可用以實施非常靈活的調試功能性,而無需更改程序存儲
器中的代碼。 一旦識別到包括在調試序列期間需要斷點的指令的相應線,便可將所述線 標記為預加載有特定地址。接著,所述高速緩沖存儲器線的內容可經修改以包括調試指 令。舉例來說,系統(tǒng)軟件可自動替換所述高速緩沖存儲器線內的指令以產生斷點或執(zhí)行 任何其它類型的子例程。 一旦相應代碼已被執(zhí)行,便可用原始指令來替換所述指令且可 更改堆棧以返回到已從中執(zhí)行調試例程的同一地址。因此,預加載功能性允許非常靈活 地更改系統(tǒng)內的代碼。
根據(jù)又一實施例,如果高速緩沖存儲器線由鎖定位鎖定或潛在地由分支跟蹤位鎖 定,那么可禁止對此高速緩沖存儲器線的寫入存取。因此,僅經開鎖的高速緩沖存儲器
16線可為可寫的。如果實施此功能性,那么用戶必須在其可將新地址標記寫入到高速緩沖 存儲器線中之前首先開鎖所述高速緩沖存儲器線,以迫使高速緩沖存儲器控制器加載來 自存儲器的相應指令或數(shù)據(jù)。對于對指令/數(shù)據(jù)存儲區(qū)域的寫入存取也一樣。
主動地用所指定指令加載高速緩沖存儲器的特征尤其對于如上文所解釋的屏蔽功 能來說可為非常有用的。舉例來說,如果許多中斷服務例程以同一指令序列來起始,那 么可通過將相應服務例程地址寫入到地址標記中以使得相應高速緩沖存儲器線預加載 有相應中斷服務例程指令來迫使此指令序列進入高速緩沖存儲器中。通過設定如上文所 解釋的相應屏蔽且鎖定相應高速緩沖存儲器線,高速緩沖存儲器可經預配置以使得程序 對某些中斷做出反應而沒有快閃存取損失。因此,某些例程可始終可通過高速緩沖存儲 器來存取。
復位與初始化
在復位后,所有高速緩沖存儲器線均即被標記為無效的且高速緩沖存儲器特征被停 用。舉例來說,通過寄存器CHECON,等待狀態(tài)被復位到其最大等待狀態(tài)值(允許在復 位之后進行旁路存取)。
在任何快閃程序開始時,模塊100、 300迫使高速緩沖存儲器為其復位值。在程序 循環(huán)結束之前,由CPU所進行的任何存取均被停止。 一旦程序循環(huán)完成,待決的CPU 存取便經由旁路到快閃而繼續(xù)進行。返回指令按配置寄存器中所界定的值而完成。
快閃預取緩沖器(FPB)
根據(jù)一實施例,快閃預取緩沖器設計(參見圖3)可為簡單的緩沖器,例如鎖存器 或寄存器365。在一個實施例中,其可經設計以允許利用x32位快閃存儲器的4個面板 當在16位指令模式下操作時預取多達總共8個指令的CPU核心指令或當在32位指令 模式下操作時預取4個指令的CPU核心指令。在高速緩沖存儲器控制器120中實施的 FPB以線性方式來預取以確保被饋入到核心中的指令將不使核心指令停止。根據(jù)一實施 例,F(xiàn)PB可含有2個各自具有16個字節(jié)的緩沖器。每一緩沖器跟蹤指令地址提取。如 果分支出現(xiàn)在緩沖器指令邊界之外,那么利用替代緩沖器(招致初始停止,但接著高速 緩存線性代碼提取)。每一指令提取迫使FPB抓取后續(xù)線性可能的16個字節(jié)以填充緩沖 器。
根據(jù)另一實施例,任選地,可編程的強制數(shù)據(jù)高速緩沖存儲器操作可通過預取緩沖 器來實施。 一旦高速緩沖存儲器填充有一個或一個以上指令線,便可順序地執(zhí)行所述指 令而無需在特定時間周期內提取其它指令線。此情況尤其如此,因為單個高速緩沖存儲 器線內的指令的執(zhí)行時間可兩倍于或甚至更長于用以將高速緩沖存儲器線加載到高速緩沖存儲器中的時間。此外,如果一個或多個連續(xù)高速緩沖存儲器線包括經執(zhí)行的回路, 那么可能存在期間不需要高速緩存任何其它指令的相對較長的時間。根據(jù)一實施例,此 時間可用以高速緩存數(shù)據(jù),例如待在表中使用的相對大量的數(shù)據(jù),等等。高速緩沖存儲 器可由寄存器(例如,寄存器CHECON中的位23 DATAPREFEN (參見圖5))編程, 以在高速緩沖存儲器帶寬不用于提取指令時執(zhí)行額外的數(shù)據(jù)高速緩沖存儲器功能。這在 數(shù)據(jù)表由需要被加載到高速緩沖存儲器中的程序使用的情況下可為有用的。數(shù)據(jù)提取可 在第一次初始填充之后發(fā)生且仍允許核心繼續(xù)使用來自高速緩沖存儲器線的所預取指 令。根據(jù)一實施例,當功能位DATAPREFEN被設定時,可在每一指令提取之后自動提 取數(shù)據(jù)線?;蛘?,根據(jù)另一實施例,只要相應位DATAPREFEN被設定,就可強制數(shù)據(jù) 高速緩存。因此,舉例來說,可通過設定相應位來開始及停止所強制的數(shù)據(jù)高速緩存。 在又一實施例中,每當高速緩沖存儲器在一時間周期內暫停加載指令時,就可自動執(zhí)行 所強制的數(shù)據(jù)高速緩存。如果提供多個控制位,那么可實施不同數(shù)據(jù)高速緩存模式的可 編程組合。
圖8展示根據(jù)一實施例的使用高速緩存及預取功能的簡化快閃存儲器請求??扉W存 儲器請求在步驟800處開始。首先,在步驟805中確定請求是否為可高速緩存的。如果 請求為可高速緩存的,那么在步驟810中確定所提供地址是否已產生高速緩沖存儲器命 中。如果是,那么根據(jù)一實施例,過程可分支為兩個并行過程。然而,其它實施例可順 序地執(zhí)行這些過程。第一分支以步驟812開始,在步驟812中確定是否己請求對子例程 的調用。如果否,那么第一并行過程結束。如果是,那么在步驟815中確定是否已在相 應高速緩沖存儲器線中設定分支跟蹤位。如果是,那么在步驟820中確定調用是否為經 高速緩存線中的最后一個指令。如果是,那么第一并行過程結束。如果是,那么在步驟 830中鎖定相應高速緩沖存儲器線。第二并行過程在步驟835中開始,其中從高速緩沖 存儲器返回指令,且在步驟835中,執(zhí)行最近最后使用的算法以更新高速緩沖存儲器線 的狀態(tài)。如果在步驟810中尚未產生高速緩沖存儲器命中或如果請求為不可高速緩存的, 那么在步驟840中確定預取緩沖器是否產生命中。如果預取緩沖器含有所請求的指令, 那么在步驟845中返回所請求的指令。否則,在步驟850中執(zhí)行快閃存取,其將使CPU 停止。在步驟850之后的步驟855中,在高速緩沖存儲器線可用于執(zhí)行高速緩沖存儲器 功能的情況下,快閃請求可填充高速緩沖存儲器線。例程以步驟860結束。
盡管已參考本發(fā)明的實例性實施例而描繪、描述及界定了本發(fā)明的實施例,但所述 參考并不意味著對本發(fā)明的限制,且不應推斷出任何此類限制。所揭示的標的物能夠在 形式及功能上作出相當多的修改、更改及等效物,如相關領域的和受益于本發(fā)明的一般技術人員將想到的。本發(fā)明的所描繪及描述的實施例僅為實例,且并非窮舉本發(fā)明的范
權利要求
1.一種用于中央處理單元的高速緩沖存儲器模塊,其包含與存儲器耦合的高速緩沖存儲器控制單元,與所述控制單元及所述存儲器耦合的高速緩存存儲器,其中所述高速緩存存儲器包含多個高速緩沖存儲器線,每一高速緩沖存儲器線包含用于存儲待順序發(fā)布的指令的存儲區(qū)域及相關聯(lián)控制位,其中所述多個高速緩沖存儲器線中的至少一個高速緩沖存儲器線包含至少一個分支跟蹤控制位,所述分支跟蹤控制位在被設定時提供在預定義分支指令已被發(fā)布的情況下對所述高速緩沖存儲器線的自動鎖定功能。
2. 根據(jù)權利要求1所述的高速緩沖存儲器模塊,其中所述至少一個高速緩沖存儲器線 進一步包含用于手動或自動鎖定所述高速緩沖存儲器線的鎖定控制位。
3. 根據(jù)權利要求1所述的高速緩沖存儲器模塊,其中每一高速緩沖存儲器線進一步包 含用于指示所述高速緩沖存儲器線的有效性的相關聯(lián)控制位。
4. 根據(jù)權利要求1所述的高速緩沖存儲器模塊,其中每一高速緩沖存儲器線進一步包 含用于指示所述高速緩沖存儲器線是用作指令高速緩沖存儲器線還是數(shù)據(jù)高速緩 沖存儲器線的相關聯(lián)控制位。
5. 根據(jù)權利要求1所述的高速緩沖存儲器模塊,其中每一高速緩沖存儲器線進一步包 含與地址請求進行比較的相關聯(lián)地址標記位字段、用于存儲所使用屏蔽的相關聯(lián)屏 蔽位字段以及用于根據(jù)所述屏蔽位字段對所述高速緩沖存儲器線的所述相關聯(lián)地 址標記的位進行屏蔽的屏蔽單元。
6. 根據(jù)權利要求1所述的高速緩沖存儲器模塊,其進一步包含與所述存儲器及所述高 速緩存存儲器耦合的預取單元,其中所述預取單元經設計以將來自所述存儲器的指 令加載到另一高速緩沖存儲器線中,其中所述指令相繼于當前從所述高速緩沖存儲 器線發(fā)布的指令。
7. 根據(jù)權利要求6所述的高速緩沖存儲器模塊,其中所述預取單元可控制以被啟用或 停用。
8. 根據(jù)權利要求l所述的高速緩沖存儲器模塊,其中最近最少使用的算法用以確定哪 個高速緩沖存儲器線將被蓋寫。
9. 一種操作用于中央處理單元的高速緩沖存儲器的方法,其包含以下步驟將多個順序指令存儲在所述高速緩沖存儲器的高速緩沖存儲器線內; 為所述高速緩沖存儲器線設定分支跟蹤功能;執(zhí)行從所述高速緩沖存儲器線提取的指令,其中在調用子例程后即刻自動鎖定所 述高速緩沖存儲器線。
10. 根據(jù)權利要求9所述的方法,其中如果調用子例程的指令是所述高速緩沖存儲器線 中的最后一個指令,那么不執(zhí)行所述自動鎖定所述高速緩沖存儲器線的步驟。
11. 根據(jù)權利要求9所述的方法,其進一步包含在從所述子例程返回后即刻為所述高速 緩沖存儲器線復位所述鎖定的步驟。
12. 根據(jù)權利要求9所述的方法,其中在執(zhí)行所述高速緩沖存儲器線中所含有的指令后 即刻調用所述子例程。
13. 根據(jù)權利要求9所述的方法,其中通過中斷來調用所述子例程。
14. 一種操作用于中央處理單元的高速緩沖存儲器的方法,其包含以下步驟提供多個高速緩沖存儲器線,其每一者具有用于存儲指令或數(shù)據(jù)的存儲區(qū)域以及用于控制每一高速緩沖存儲器線的功能的多個控制位;將多個順序指令存儲在所述多個高速緩沖存儲器線中的一高速緩沖存儲器線內; 在設定所述高速緩沖存儲器線中的所述多個控制位中的分支跟蹤功能位后,當在執(zhí)行存儲于所述高速緩沖存儲器線中的指令期間調用子例程時自動鎖定所述高速緩沖存儲器線。
15. 根據(jù)權利要求14所述的方法,其進一步包含在從所述子例程返回后即刻復位用于 所述高速緩沖存儲器線的所述分支跟蹤功能的步驟。
16. 根據(jù)權利要求14所述的方法,其進一步包含借助于所述多個控制位中的鎖定控制 位而提供高速緩沖存儲器線的手動鎖定功能的步驟。
17. 根據(jù)權利要求14所述的方法,其進一步包含借助于所述多個控制位中的類型控制 位而提供指示高速緩沖存儲器線是用于存儲指令還是數(shù)據(jù)的類型功能的步驟。
18. 根據(jù)權利要求14所述的方法,其進一步包含借助于所述多個控制位中的有效性控 制位而提供高速緩沖存儲器線的指示高速緩沖存儲器線中的所存儲內容的有效性 的有效性功能的步驟。
19. 根據(jù)權利要求14所述的方法,其進一步包含為每一高速緩沖存儲器線提供用于屏 蔽相關聯(lián)地址標記字段的位的多個位的步驟。
20. 根據(jù)權利要求14所述的方法,其進一步包含以下步驟-在執(zhí)行存儲于高速緩沖存儲器線中的指令后即刻起始對存儲在存儲器中的相繼 于存儲在所述高速緩沖存儲器線中的指令的指令的預取。
21. 根據(jù)權利要求20所述的方法,其中將所述所預取指令存儲在通過最近最少使用的算法確定的高速緩沖存儲器線中。
22. 根據(jù)權利要求14所述的方法,其進一步包含將含有指令回路的指令流存儲在至少 一個高速緩沖存儲器線中且鎖定所述高速緩沖存儲器線以免被蓋寫的步驟。
23. 根據(jù)權利要求14所述的方法,其進一步包含將順序指令存儲在多個高速緩沖存儲 器線中且鎖定含有形成指令回路的指令的所有高速緩沖存儲器線的步驟。
全文摘要
本發(fā)明提供一種用于中央處理單元的高速緩沖存儲器模塊,其具有與存儲器耦合的高速緩沖存儲器控制單元以及與所述控制單元及所述存儲器耦合的高速緩存存儲器,其中所述高速緩存存儲器具有多個高速緩沖存儲器線,每一高速緩沖存儲器線具有用于存儲待順序發(fā)布的指令的存儲區(qū)域及相關聯(lián)控制位,其中所述多個高速緩沖存儲器線中的至少一個高速緩沖存儲器線具有至少一個分支跟蹤控制位,所述分支跟蹤控制位在被設定時提供在預定義分支指令已被發(fā)布的情況下對所述高速緩沖存儲器線的自動鎖定功能。
文檔編號G06F12/12GK101558393SQ200780046003
公開日2009年10月14日 申請日期2007年12月14日 優(yōu)先權日2006年12月15日
發(fā)明者格雷格·D·拉赫蒂, 約瑟夫·W·特里斯, 羅德尼·J·佩薩文托 申請人:密克羅奇普技術公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1