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

存儲(chǔ)器加速器緩沖器置換方法及系統(tǒng)的制作方法

文檔序號(hào):6435118閱讀:149來源:國知局
專利名稱:存儲(chǔ)器加速器緩沖器置換方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施例涉及緩沖器置換策略,更具體的涉及針對選定的微控制器處理器如先進(jìn)RISC機(jī)(Advanced RISC Machine, ARM)進(jìn)行優(yōu)化的存儲(chǔ)器加速器緩沖器置換策略。
背景技術(shù)
先進(jìn)RISC機(jī)是基于精簡指令集計(jì)算機(jī)(RISC)架構(gòu)的微處理器和微控制器。ARM通常用于移動(dòng)嵌入式設(shè)備中,并且一般性地用于低功率應(yīng)用。應(yīng)用ARM的設(shè)備通常由制造商編程,程序指令加載到非易失性只讀存儲(chǔ)器(ROM)中,例如閃存(flash),EPROM或EEPR0M。 但是非易失性存儲(chǔ)器比其他存儲(chǔ)設(shè)備(例如寄存器或鎖存器)需要經(jīng)受長得多的訪問時(shí)間。為了引用方便,本文中使用術(shù)語存儲(chǔ)器表示相比于處理器速度具有相對長訪問時(shí)間的存儲(chǔ)設(shè)備,用術(shù)語緩沖器表示相比于處理器速度具有短訪問時(shí)間的存儲(chǔ)設(shè)備。為了使得從相對慢速的存儲(chǔ)器中獲取程序指令和數(shù)據(jù)所導(dǎo)致的延遲最小化,通常使用包括緩沖技術(shù)的高速緩存系統(tǒng)以將來自較慢速的存儲(chǔ)器的程序指令和數(shù)據(jù)選擇性的存儲(chǔ)到較高速的緩沖器中供處理器訪問。為了最小化所需要的緩沖器數(shù)量,緩沖器的存儲(chǔ)大小典型地小于存儲(chǔ)器的存儲(chǔ)大小,并且對緩沖器進(jìn)行重寫以為新的指令或數(shù)據(jù)提供空間。緩沖器置換技術(shù)用于預(yù)測哪些程序指令或數(shù)據(jù)會(huì)被最頻繁的訪問,從而當(dāng)新的指令或數(shù)據(jù)被加載到緩沖器中時(shí)確定哪些緩沖器可以被重寫。有些處理器使用指令預(yù)取,指令預(yù)取是一種緩沖技木,其中當(dāng)處理器正在訪問在先指令吋,把后續(xù)指令從存儲(chǔ)器讀取到高速緩存中。但是,對于某些處理器來說,包括使用指令預(yù)取的處理器,當(dāng)前的緩沖器置換技術(shù)不夠有效,因而需要ー種優(yōu)化的緩沖器置換技術(shù)來改善這些處理器的性能。

發(fā)明內(nèi)容
ー種采用優(yōu)化緩沖器置換策略的微控制器,包括配置為存儲(chǔ)指令的存儲(chǔ)器、配置為執(zhí)行程序指令的處理器、以及可操作的耦合在處理器和存儲(chǔ)器之間的存儲(chǔ)器加速器。存儲(chǔ)器加速器配置為接收信息請求,并且當(dāng)該請求由在先發(fā)起預(yù)取操作實(shí)現(xiàn)吋,利用所請求的信息重寫從中發(fā)起預(yù)取的緩沖器。根據(jù)本發(fā)明實(shí)施例的微控制器包括存儲(chǔ)器加速器,可操作的耦合于處理器和存儲(chǔ)器之間,該存儲(chǔ)器加速器包括多個(gè)緩沖器,該存儲(chǔ)器加速器配置為執(zhí)行指令的當(dāng)前指令流的預(yù)取操作,并且當(dāng)預(yù)取操作由當(dāng)前指令流的在先發(fā)起預(yù)取操作而引起時(shí),將所述預(yù)取操作得到的信息存儲(chǔ)到所述多個(gè)緩沖器中發(fā)起該預(yù)取操作的緩沖器中。存儲(chǔ)器加速器還配置為當(dāng)不存在當(dāng)前指令流的在先發(fā)起預(yù)取操作時(shí),將信息存儲(chǔ)到所述多個(gè)緩沖器中的最近最少使用的緩沖器中。根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器加速器包括存儲(chǔ)器加速器控制模塊,可操作的耦合到總線接ロ、緩沖器陣列以及存儲(chǔ)器接ロ,該存儲(chǔ)器加速器控制模塊配置為執(zhí)行指令的當(dāng)前指令流的預(yù)取操作,并且只有當(dāng)預(yù)取操作由當(dāng)前指令流的在先發(fā)起預(yù)取操作而引起吋, 將預(yù)取操作得到的信息存儲(chǔ)到緩沖器陣列中導(dǎo)致該預(yù)取操作的緩沖器中。存儲(chǔ)器加速器控制模塊還配置為當(dāng)不存在當(dāng)前指令流的在先發(fā)起預(yù)取操作時(shí),將信息存儲(chǔ)到緩沖器陣列中最近最少使用的緩沖器中。根據(jù)本發(fā)明實(shí)施例的操作存儲(chǔ)系統(tǒng)的方法包括接收對存儲(chǔ)器中信息的請求,該請求是當(dāng)前指令流的預(yù)取的一部分;只有當(dāng)預(yù)取由于當(dāng)前指令流的在先發(fā)起預(yù)取操作而引起時(shí),將信息存儲(chǔ)到導(dǎo)致該預(yù)取的緩沖器中;以及在不存在當(dāng)前指令流的在先發(fā)起預(yù)取操作時(shí),將信息存儲(chǔ)到最近最少使用的緩沖器中。盡管本發(fā)明的一些實(shí)施例描述為用于ARM處理器,本領(lǐng)域的普通技術(shù)人員應(yīng)該明了,本公開中描述的原理也適用于其他的處理器架構(gòu),例如其它RISC處理器設(shè)計(jì)、通用中央處理単元(CPU)或?qū)S梦⑻幚砥鳌1疚闹惺褂玫男g(shù)語信息是指程序指令或數(shù)據(jù)。根據(jù)以下結(jié)合附圖以示例性方式對本發(fā)明原理的詳細(xì)說明,本發(fā)明的其它方面和優(yōu)點(diǎn)將變得清晰。


圖1示出了根據(jù)本發(fā)明實(shí)施例的包括存儲(chǔ)器加速器的微控制器的方框圖。圖2示出了根據(jù)本發(fā)明實(shí)施例的布置在處理器和存儲(chǔ)器之間的存儲(chǔ)器加速器的方框圖。圖3A示出了指令流中包含的指令的方框圖。圖加示出了在處理器請求之后不同階段中的緩沖器陣列的方框圖。圖4示出了根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)器加速器詳細(xì)視圖的方框圖。圖5示出了根據(jù)本發(fā)明實(shí)施例的緩沖器置換策略的流程圖。
具體實(shí)施例方式容易理解,可以將本文中一般性描述以及所附附圖中例示的實(shí)施例各組件布置和設(shè)計(jì)為多種不同的結(jié)構(gòu)。因此,以下對附圖中呈現(xiàn)的各實(shí)施例的更詳細(xì)描述并非旨在限制本公開的范圍,而僅僅用于代表各種實(shí)施例。盡管在附圖中呈現(xiàn)了實(shí)施例的各方面,但是這些附圖不一定按比例繪制,除非特別指出。所描述的實(shí)施例在各個(gè)方面均應(yīng)被認(rèn)為僅僅是示例性的,而非是限制性的。因此, 本發(fā)明的范圍由所附權(quán)利要求表明,而不是由這些詳細(xì)說明表明。落入這些權(quán)利要求等價(jià)物的意義和范圍內(nèi)的所有改變都包含在它們的范圍內(nèi)。貫穿本說明書的對特征、優(yōu)點(diǎn)的引用或類似表述,不意味著本發(fā)明中可以實(shí)現(xiàn)的所有特征和優(yōu)點(diǎn)應(yīng)該屬于或者屬于任一單獨(dú)實(shí)施例。相反,引用這些特征及優(yōu)點(diǎn)的表述應(yīng)被理解為,結(jié)合某一實(shí)施例而描述的具體特征、優(yōu)點(diǎn)或特性包含在至少ー個(gè)實(shí)施例中。因此,遍及本說明書討論的特征和優(yōu)點(diǎn)及其類似表述,可以但并非一定指代相同實(shí)施例。此外,可以在ー個(gè)或多個(gè)實(shí)施例中以任何適當(dāng)?shù)姆绞綄λ枋龅谋景l(fā)明的特征、 優(yōu)點(diǎn)及特性進(jìn)行組合。相關(guān)領(lǐng)域的技術(shù)人員會(huì)根據(jù)本說明書的描述知曉,即使沒有某ー特定實(shí)施例中的ー個(gè)或多個(gè)具體特征或優(yōu)點(diǎn),也可以實(shí)施本發(fā)明。在其他實(shí)例中,在某些實(shí)施例中可以想到ー些附加的特征和優(yōu)點(diǎn),這些附加的特征和優(yōu)點(diǎn)可能沒出現(xiàn)在本發(fā)明所有實(shí)施例中。遍及本說明書的“ー實(shí)施例”、“實(shí)施例”或類似表述,意味著結(jié)合所指實(shí)施例而描述的具體特征、結(jié)構(gòu)或特性包含在至少ー個(gè)實(shí)施例中。因此,遍及本說明書的措詞“在ー實(shí)施例中”、“在實(shí)施例中,,和類似表述均可以但并非一定指代相同實(shí)施例。參照圖1,示出了根據(jù)本發(fā)明實(shí)施例的微控制器100。盡管示出了微控制器,但本發(fā)明不局限于微控制器,而是可以用于任何計(jì)算系統(tǒng),例如通用中央處理單元。微控制器 100包括閃存106和經(jīng)由總線102與其它元件通信的處理器104。存儲(chǔ)器加速器200設(shè)置在總線和閃存之間。雖然參照圖1描述閃存,但是該實(shí)施例不局限于閃存,其它存儲(chǔ)器類型也可以使用。閃存典型地包括執(zhí)行預(yù)期功能的程序指令。程序指令例如可以是由微控制器的用戶編程,和/或由微控制器的制造商預(yù)編程。在圖1的示例中,存儲(chǔ)器加速器200配置為提高處理器的存儲(chǔ)器訪問特性。存儲(chǔ)器加速器包括存儲(chǔ)元件,例如,在一非限制性示例中,包括具有比閃存106更快的訪問時(shí)間的緩沖器。在一實(shí)施例中,緩沖器存儲(chǔ)ー個(gè)以上的指令,盡管這不是必須的。優(yōu)選的,從加速器的存儲(chǔ)元件中獲取指令的訪問時(shí)間少于處理器執(zhí)行該指令所需要的時(shí)間。存儲(chǔ)器加速器配置為按照特定的緩沖器置換策略將所訪問的指令存儲(chǔ)到其緩沖器中,以便通過使對閃存的訪問頻率最小化來提高處理器性能。其它的元件可以連接到總線102,例如調(diào)用中斷服務(wù)例程和更高層指令流功能的中斷控制器112。微控制器100還可以包括或連接到讀寫存儲(chǔ)器,例如通過SRAM控制器108耦合到總線的靜態(tài)隨機(jī)存取存儲(chǔ)器IlO(SRAM)。讀寫存儲(chǔ)器可以包括瞬態(tài)數(shù)據(jù)和信息。此外,其它的片上或片外的外圍設(shè)備可以連接到總線。在圖1的示例中,使用親代緩沖器置換(parental buffer replacement)策略來提高使用指令預(yù)取的處理器的性能。在親代置換策略中,當(dāng)前指令流所使用的緩沖器數(shù)量被最小化,從而允許將來自更高層指令流的更多信息存儲(chǔ)到緩沖器中。指令流被認(rèn)為是與處理器可執(zhí)行的程序有關(guān)的指令序列,其中指令序列存儲(chǔ)在存儲(chǔ)器中??梢酝ㄟ^預(yù)取方案來控制指令預(yù)取,預(yù)取方案確定進(jìn)行指令預(yù)取的順序。指令預(yù)取順序例如可以按程序順序進(jìn)行,或者可以是分支預(yù)測的一部分,在分支預(yù)測中,處理器試圖預(yù)測在下一次最有可能被請求的指令。當(dāng)指令預(yù)取完成時(shí),預(yù)取的指令直到處理器對在先指令預(yù)取的取出請求完成時(shí)才被存儲(chǔ)在緩沖器中,其中在先指令預(yù)取與當(dāng)前指令預(yù)取針對相同的指令流。這是為了避免在先預(yù)取的指令在被處理器請求之前就被重寫。在一實(shí)施例中,存儲(chǔ)器簡單的一直提供所請求的最新信息(例如,指令),直到請求其他的信息。在相同指令流的在先指令的預(yù)取之后,處理器可以請求對新指令的預(yù)取。如上所述,可以通過預(yù)取方案來確定要預(yù)取的新指令??梢栽谕瓿稍谙戎噶铑A(yù)取后直接發(fā)起新指令預(yù)取,或者可以由請求在先指令的處理器發(fā)起新指令預(yù)取。當(dāng)在相同指令流的在先發(fā)起預(yù)取之后執(zhí)行新指令預(yù)取吋,新指令存儲(chǔ)在如下緩沖器中該緩沖器的內(nèi)容導(dǎo)致了該新指令預(yù)取被發(fā)起(即,該緩沖器包含與該新指令屬于相同指令流的在先預(yù)取指令)。例如,按照預(yù)取方案(即,由程序順序或分支預(yù)測給出)在在先發(fā)起預(yù)取之后預(yù)取新指令,其中新指令和由在先發(fā)起預(yù)取得到的指令均是相同程序的一部分。當(dāng)處理器相對于不同指令流請求指令取出或預(yù)取吋,如果不打算使用最近最少使用(least recently used)的緩沖器,則可以將所取出/預(yù)取的指令存儲(chǔ)在最近最少使用的緩沖器中,或者如果打算使用最近最少使用的緩沖器,則可以將其存儲(chǔ)在緊接于該最近最少使用緩沖器的緩沖器中。現(xiàn)在參照圖2,根據(jù)本發(fā)明的實(shí)施例,存儲(chǔ)器加速器200可操作的耦合在總線102 和閃存106之間??偩€可以是高性能總線例如先進(jìn)高性能總線(AHB),并可以耦合到諸如ARM型處理器之類的處理器。存儲(chǔ)器加速器包括用干與總線102通信的總線接ロ 204,用于存儲(chǔ)信息(例如,指令和/或非指令數(shù)據(jù))的緩沖器陣列206,用干與閃存通信的閃存接 ロ 208,以及用于控制存儲(chǔ)器訪問和用于緩沖操作(包括應(yīng)用親代置換策略)的閃存加速器控制模塊202,如參照圖1所述。緩沖器陣列可以是ー組緩沖器,例如,其它存儲(chǔ)器加速器中使用的標(biāo)準(zhǔn)高速緩存或一組鎖存器。在圖2的示例中,閃存加速器控制模塊202基于對存儲(chǔ)器106的訪問類型,執(zhí)行所需的緩沖器置換策略??梢皂憫?yīng)于作為指令流預(yù)取從存儲(chǔ)器中讀取的信息來分配緩沖器, 或者響應(yīng)于處理器104對尚未存儲(chǔ)在任何緩沖器中以及不處于正被預(yù)取過程中的數(shù)據(jù)的請求來分配緩沖器。當(dāng)作為預(yù)取從存儲(chǔ)器中讀取信息時(shí),親代置換策略使用其內(nèi)容發(fā)起了該預(yù)取操作(即,連續(xù)的指令流)的緩沖器來存儲(chǔ)來自該操作的信息,如參考圖1所述。圖3A示出了指令流中包含的指令。在圖3A中,示出了兩個(gè)指令流。在一非限制性示例中,指令流1是預(yù)取操作的指令流,并且該指令流包括下述指令inst. 1、inst. 2、 inst.3等等。如參考圖1所述,可以使用預(yù)取方案來確定對這些指令進(jìn)行預(yù)取的順序。在圖3A中,首選預(yù)取指令inst. 1,在完成指令inst. 1的預(yù)取之后接著預(yù)取指令inst. 2,以此類推。在另ー非限制性示例中,指令流2是由接收到中斷的處理器所觸發(fā)的中斷服務(wù)例程。 在接收到中斷吋,處理器可以暫停任何當(dāng)前指令流執(zhí)行,并開始執(zhí)行中斷服務(wù)例程。指令流 2 包括指令 inst. A、inst. B、inst. C 等等。圖加示出了在處理器請求指令流(例如,如圖3A所示的指令流)中包含的指令之后,在不同時(shí)間階段具有相應(yīng)使用寄存器310的緩沖器陣列206。緩沖器陣列包括ー組緩沖器301、302、303、304等等,這些緩沖器可用于存儲(chǔ)信息。盡管在圖加的示例中示出了 4 個(gè)緩沖器,但是該數(shù)目僅僅是示例性的,緩沖器陣列不局限于4個(gè)緩沖器,而是可以包含更多(或更少)緩沖器。每個(gè)緩沖器可以由存儲(chǔ)裝置的地址范圍,或ー組鎖存器,或用于在高速存儲(chǔ)器中定義緩沖器具體位置的任何其他裝置來定義。每個(gè)緩沖器可以具有使用寄存器陣列的相應(yīng)寄存器311-314,其中該寄存器陣列確定緩沖器的使用順序。在圖加示例中,在時(shí)間t0,緩沖器302包括指令inst. 1。為了引用方便,沒有示出緩沖器301、303和304的內(nèi)容,這些緩沖器可以包含或者不包含信息。由使用寄存器陣列給出的時(shí)間to處的使用順序僅僅是示例性,并且可以隨機(jī)選擇或者可以基于任何在先的緩沖器使用。在該示例中,緩沖器301表示最近最多使用(Most Recently Used,MRU)的緩沖器,緩沖器302表示次于最近最多使用的緩沖器,等等,而緩沖器304表示最近最少使用(Least Recently Used, LRU)的緩沖器。事件A表示請求預(yù)取指令inst. 2,其中inst. 2 與inst. 1屬于相同的指令流。hst. 2預(yù)取由緩沖器304中指令inst. 1的存在來觸發(fā)??梢栽谕瓿蒳nst. 1預(yù)取之后發(fā)起inst. 2預(yù)取??蛇x的,inst. 2預(yù)取僅在由處理器已經(jīng)取出inst. 1時(shí)或者在處理器已經(jīng)指示不需要inst. 1 (例如,處理器請求其它指令和/或數(shù)據(jù))時(shí)發(fā)起。由于inst. 2與inst. 1屬于相同的指令流,根據(jù)親代置換策略來更新緩沖器陣列206和寄存器陣列。因此,在時(shí)間tl,指令inst. 2處于緩沖器302中,即,在時(shí)間t0 包含inst. 1的相同緩沖器。因此,指令inst. 2重寫了發(fā)起inst. 2預(yù)取的緩沖器中的信息 (inst. 1)。此外,更新使用寄存器陣列。當(dāng)前改變的緩沖器302設(shè)置為MRU,而之前在緩沖器302之前的緩沖器(S卩,比緩沖器302更近使用的緩沖器)設(shè)置為在使用順序中低(即, “變老”)ー級。在時(shí)間to處較少頻繁使用的緩沖器的寄存器可以不用改變,或者可以設(shè)置為在使用順序中低ー級。親代置換策略允許最小化對當(dāng)前指令流1所使用的緩沖器數(shù)量, 因而允許保存更多的來自其他指令流(例如,指令流幻的信息。事件B表示處理器請求與指令inst. 2屬于不同指令流的指令inst. A。由于inst. A屬于不同的指令流,并且對inst. A請求的發(fā)起不依賴于緩沖器302中的inst. 2,因而使用親代置換之外的其他置換策略。所使用的策略例如可以是LRU策略,這里使用由使用寄存器確定的LRU緩沖器來存儲(chǔ)inst. A。 如前所述,更新使用寄存器。在使用4個(gè)寄存器的示例中,對應(yīng)于緩沖器303的使用寄存器 313設(shè)置為LRU。應(yīng)注意到,對事件A和B的順序和定義的選擇僅僅是為了示例性目的。圖4示出了根據(jù)本發(fā)明實(shí)施例的、在閃存106和處理器104(例如,ARM處理器)之間通過先進(jìn)高性能總線(AHB) 406耦合的存儲(chǔ)器加速器200。存儲(chǔ)器加速器包括地址緩沖器陣列408、地址比較器模塊410、控制邏輯412、信息緩沖器陣列414以及多路復(fù)用模塊416。 存儲(chǔ)器加速器還可以包括與每個(gè)緩沖器關(guān)聯(lián)以記錄使用順序的多個(gè)寄存器,例如用于以上參考圖3所述的最近最少使用(LRU)策略。在圖4的示例中,處理器104通過DCode總線402和ICode總線404連接到AHB 406。在DCode總線上執(zhí)行數(shù)據(jù)訪問,而在ICode總線上執(zhí)行指令取出。但是,可以使用其它的存儲(chǔ)器映象(memory map),例如對指令取出和數(shù)據(jù)訪問使用公共系統(tǒng)總線。在地址緩沖器陣列408處接收來自處理器的對閃存地址的訪問請求。地址比較器模塊410可以將從處理器接收的地址重新映射到設(shè)置在重新映射寄存器中的地址。重新映射的地址由控制邏輯412接收。然后,控制邏輯確定與該請求所給出的地址相對應(yīng)的信息是否由于在先請求而已經(jīng)存在于信息緩沖器陣列中,該請求是否已經(jīng)由與當(dāng)前請求對應(yīng)于相同指令流的在先發(fā)起預(yù)取操作來實(shí)現(xiàn),或者是否該信息既沒有被緩沖也沒有由在先預(yù)取所實(shí)現(xiàn)。如果該請求由在先發(fā)起的預(yù)取操作實(shí)現(xiàn),如前所述,當(dāng)所請求的信息變?yōu)榭捎脜?,利用所請求的信息重寫從中發(fā)起預(yù)取的緩沖器。由控制邏輯確定,通過多路復(fù)用模塊416,將信息緩沖器陣列中包含的合適信息轉(zhuǎn)發(fā)到ARM處理器。信息緩沖器陣列414中的每個(gè)緩沖器可以利用其包含的信息類型來標(biāo)記,所述信息類型是指緩沖器是包含指令還是非指令數(shù)據(jù)。在緩沖器置換策略期間,被重寫的緩沖器中的信息不必與該緩沖器之前保持的信息屬于相同的類型(數(shù)據(jù)/指令)。下面,參照圖5描述根據(jù)本發(fā)明實(shí)施例的用于存儲(chǔ)器加速器中緩沖器置換的方法。在一實(shí)施例中,緩沖器置換方法特別用于指令取出/預(yù)取操作,而不用于非指令數(shù)據(jù)取出/預(yù)取操作。在塊502中,接收到對于存儲(chǔ)器中地址的取出請求。下一歩,在判定塊504, 確定是否已經(jīng)由于在先請求而緩沖了與取出請求相對應(yīng)的信息。如果該信息并不存在于存儲(chǔ)器加速器的緩沖器中,流程繼續(xù)到判定塊506,在該塊中確定取出請求是否由在先發(fā)起預(yù)取操作而實(shí)現(xiàn)。如果取出請求沒有由在先發(fā)起預(yù)取操作實(shí)現(xiàn),流程繼續(xù)到判定塊508,在該塊中執(zhí)行新的存儲(chǔ)器訪問以取出與取出請求相對應(yīng)的新信息。接下來,在判定塊510,確定是否按照預(yù)取地址預(yù)測所指示要使用最近最少使用(LRU)的緩沖器。如果不打算使用LRU 緩沖器,流程繼續(xù)到塊512,在該塊中,將與取出請求相對應(yīng)的新信息存儲(chǔ)到由用于LRU策略的寄存器所標(biāo)識(shí)的LRU緩沖器中,如以上參考圖4所述。如果打算使用LRU緩沖器,流程繼續(xù)到塊514,在該塊中,將新信息存儲(chǔ)到次于最近最少使用的緩沖器中。在判定塊504中,如果確定所請求的信息已經(jīng)由于在先請求而在存儲(chǔ)器加速器的緩沖器中,流程繼續(xù)到塊516,該塊中,由包含所請求的信息的緩沖器來實(shí)現(xiàn)取出請求。然
8后,流程繼續(xù)到塊518,在該塊中,將其他緩沖器的寄存器遞減到變?yōu)椤案稀暴`級,并將包含所請求數(shù)據(jù)的緩沖器的寄存器設(shè)置為“最新的”值,如以上參考圖3所述。在判定塊506,如果確定取出請求由在先發(fā)起預(yù)取實(shí)現(xiàn),利用新信息重寫從中發(fā)起預(yù)取的緩沖器。然后,流程繼續(xù)到塊518,在該塊中,將除了從中發(fā)起預(yù)取的緩沖器之外的其他緩沖器的寄存器遞減到變?yōu)椤案稀暴`級,并將包含所請求數(shù)據(jù)的緩沖器的寄存器設(shè)置為 “最新的”值。盡管在這里以特定順序示出并描述了該方法的操作,也可以改變該方法的操作順序,從而可以以相反順序來執(zhí)行某些操作,或者可以與其他操作同時(shí)至少部分的執(zhí)行某些操作。在另ー實(shí)施例中,可以間斷和/或交替的方式執(zhí)行不同操作的指令或子操作。此外,盡管已經(jīng)描述或敘述的本發(fā)明ー些具體實(shí)施例包括在此描述或敘述的若干部件,本發(fā)明的其他實(shí)施例也可以包括更少或更多的部件以實(shí)現(xiàn)更少或更多的特征。另外,盡管已經(jīng)描述和敘述了本發(fā)明的ー些具體實(shí)施例,本發(fā)明不限于這樣描述和敘述部分的具體形式或設(shè)置。本發(fā)明的范圍應(yīng)該由這里所附的權(quán)利要求及其等價(jià)物來限定。
權(quán)利要求
1.一種微控制器,包括配置為存儲(chǔ)指令的存儲(chǔ)器;配置為執(zhí)行所述指令的處理器;和可操作地耦合在所述處理器和所述存儲(chǔ)器之間的存儲(chǔ)器加速器,該存儲(chǔ)器加速器配置為預(yù)取所述指令的當(dāng)前指令流中的新指令,以及當(dāng)由于在先發(fā)起預(yù)取而發(fā)起所述新指令的預(yù)取時(shí),將該新指令存儲(chǔ)在包含由該在先發(fā)起預(yù)取得到的在先指令的緩沖器中。
2.根據(jù)權(quán)利要求1的微控制器,其中所述存儲(chǔ)器加速器配置為當(dāng)所述在先指令不屬于所述當(dāng)前指令流吋,將所述新指令存儲(chǔ)到最近最少使用的緩沖器中。
3.根據(jù)權(quán)利要求1的微控制器,其中,當(dāng)所述在先指令不屬于所述當(dāng)前指令流,并且當(dāng)最近最少使用的緩沖器將要被使用吋,使用次于最近最少使用的緩沖器來存儲(chǔ)所述新指令。
4.根據(jù)權(quán)利要求1的微控制器,其中,當(dāng)所述新指令已經(jīng)在現(xiàn)有緩沖器中吋,由該現(xiàn)有緩沖器完成所述新指令的預(yù)取。
5.根據(jù)權(quán)利要求1的微控制器,其中所述處理器是先進(jìn)RISC機(jī)。
6.根據(jù)權(quán)利要求1的微控制器,其中所述存儲(chǔ)器是閃存。
7.一種存儲(chǔ)器加速器,包括用于與耦合至總線的處理器通信的總線接ロ;用干與存儲(chǔ)器通信的存儲(chǔ)器接ロ,所述存儲(chǔ)器包括指令;耦合在所述總線接口和所述存儲(chǔ)器接ロ之間的緩沖器陣列;和可操作地耦合到所述總線接ロ、緩沖器陣列和存儲(chǔ)器接ロ的存儲(chǔ)器加速器控制模塊, 該存儲(chǔ)器加速器控制模塊配置為執(zhí)行所述指令的當(dāng)前指令流的預(yù)取操作,并且只有當(dāng)所述預(yù)取操作由于所述當(dāng)前指令流的在先發(fā)起預(yù)取操作而引起時(shí),將所述預(yù)取操作得到的信息存儲(chǔ)到所述緩沖器陣列中導(dǎo)致所述預(yù)取操作的緩沖器中。
8.根據(jù)權(quán)利要求7的存儲(chǔ)器加速器,其中所述存儲(chǔ)器加速器控制模塊配置為當(dāng)不存在所述當(dāng)前指令流的在先發(fā)起預(yù)取操作吋,將所述信息存儲(chǔ)到所述緩沖器陣列的最近最少使用的緩沖器中。
9.根據(jù)權(quán)利要求7的存儲(chǔ)器加速器,其中當(dāng)不存在所述當(dāng)前指令流的在先發(fā)起預(yù)取操作,且當(dāng)最近最少使用的緩沖器將要被使用吋,使用所述多個(gè)緩沖器中次于最近最少使用的緩沖器。
10.根據(jù)權(quán)利要求7的存儲(chǔ)器加速器,其中當(dāng)所述信息已經(jīng)在現(xiàn)有緩沖器中吋,由該現(xiàn)有緩沖器完成所述預(yù)取操作。
11.根據(jù)權(quán)利要求7的存儲(chǔ)器加速器,其中所述處理器是先進(jìn)RISC機(jī)。
12.根據(jù)權(quán)利要求7的存儲(chǔ)器加速器,其中所述存儲(chǔ)器是閃存。
13.ー種操作存儲(chǔ)系統(tǒng)的方法,該方法包括接收對存儲(chǔ)器中信息的請求,所述請求是當(dāng)前指令流的預(yù)取的一部分;僅當(dāng)所述預(yù)取由于所述當(dāng)前指令流的在先發(fā)起預(yù)取操作而引起吋,將所述信息存儲(chǔ)到導(dǎo)致所述預(yù)取的緩沖器中;以及當(dāng)不存在所述當(dāng)前指令流的在先發(fā)起預(yù)取操作吋,將所述信息存儲(chǔ)到最近最少使用的緩沖器中。
14.根據(jù)權(quán)利要求13的方法,其中,當(dāng)數(shù)據(jù)存在于現(xiàn)有緩沖器吋,由該現(xiàn)有緩沖器完成信息請求。
全文摘要
一種采用優(yōu)化緩沖器置換策略的微控制器,包括配置為存儲(chǔ)指令的存儲(chǔ)器、配置為執(zhí)行程序指令的處理器、以及可操作的耦合在處理器和存儲(chǔ)器之間的存儲(chǔ)器加速器。存儲(chǔ)器加速器配置為接收信息請求,并且當(dāng)該請求由在先發(fā)起預(yù)取操作實(shí)現(xiàn)時(shí),利用所請求的信息重寫從中發(fā)起預(yù)取的緩沖器。
文檔編號(hào)G06F9/38GK102566978SQ20111030340
公開日2012年7月11日 申請日期2011年9月29日 優(yōu)先權(quán)日2010年9月30日
發(fā)明者克雷格·麥肯納, 格雷戈里·K·古德休, 里克·N·瓦尼 申請人:Nxp股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1