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

串列接口快取控制方法、控制器以及其微控制器系統(tǒng)的制作方法

文檔序號(hào):5206672閱讀:156來(lái)源:國(guó)知局
專利名稱:串列接口快取控制方法、控制器以及其微控制器系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明是關(guān)于串列接口的快取控制器,特別是關(guān)于可減少讀取外部存儲(chǔ)器數(shù)據(jù)量
用以減少快取存儲(chǔ)器的串列接口頻寬的快取控制器。
背景技術(shù)
圖1為一般并列(parallel)存取外部存儲(chǔ)器數(shù)據(jù)的微控制系統(tǒng)的架構(gòu)圖。如 圖1所示,微控制系統(tǒng)10包含一微控制器(Micro-controller) 11,且連接一外部存儲(chǔ)器 (External memory) 12。外部存儲(chǔ)器12可以為快閃存儲(chǔ)器(Flash memory)或可以儲(chǔ)存數(shù) 據(jù)的其他形式存儲(chǔ)器。該微控制系統(tǒng)10是以并列方式存取外部存儲(chǔ)器12的數(shù)據(jù),因此微 控制系統(tǒng)10必須設(shè)計(jì)相當(dāng)多的接點(diǎn)(pad),包含地址(address)匯流排、數(shù)據(jù)匯流排等。所 以,該微控制系統(tǒng)10雖然在存取速度上較快,將導(dǎo)致成本增加,因而必須增加晶片面積來(lái) 設(shè)計(jì)該等接點(diǎn),無(wú)法符合低成本需求。 圖2為一般串列存取外部存儲(chǔ)器數(shù)據(jù)的微控制系統(tǒng)的架構(gòu)圖。如圖2所示,該微 控制系統(tǒng)20包含一微控制器11、一內(nèi)部存儲(chǔ)器21、以及一串列接口讀取控制器(Serial interface read controller) 22,且連接一外部存儲(chǔ)器23。由于微控制系統(tǒng)20是以串列 方式讀取外部存儲(chǔ)器23的數(shù)據(jù),因此可以節(jié)省相當(dāng)多的接點(diǎn),降低接點(diǎn)成本與晶片面積。 該微控制系統(tǒng)20在開始運(yùn)作之前,必須由串列接口讀取控制器22從外部存儲(chǔ)器23將整 個(gè)程式下載到內(nèi)部存儲(chǔ)器21。因此,內(nèi)部存儲(chǔ)器21的大小要和外部存儲(chǔ)器23的大小相 等。例如,對(duì)于16位(bit)地址匯流排的微控制器而言,可以直接對(duì)應(yīng)的存儲(chǔ)器從0000H 到FFFFH,總共64K位組(byte)。因此,若外部存儲(chǔ)器23為64K位組,則內(nèi)部存儲(chǔ)器21亦 必須配置64K位組。因此微控制系統(tǒng)20雖然不需提供大量的接點(diǎn),但因需要配置較多的內(nèi) 部存儲(chǔ)器,因內(nèi)部存儲(chǔ)器通常要求較高的存取速度,因此常采用成本較高、體積較大的靜態(tài) 存儲(chǔ)器(SRAM),仍無(wú)法符合低成本需求。 因此,若結(jié)合快取技術(shù)與串列數(shù)據(jù)讀取,則微控制系統(tǒng)可以降低接點(diǎn)成本與內(nèi)部 靜態(tài)存儲(chǔ)器的需求。圖3為結(jié)合快取技術(shù)與串列數(shù)據(jù)讀取的微控制系統(tǒng)30。微控制系統(tǒng) 30包含一微控制器11、一內(nèi)部快取存儲(chǔ)器32、一快取控制器31、以及一串列接口讀取控制 器22,且連接一外部存儲(chǔ)器23。快取控制器31 —般包含L個(gè)標(biāo)簽地址列來(lái)記錄儲(chǔ)存在內(nèi)部 快取存儲(chǔ)器32的地址區(qū)域。再者,每列標(biāo)簽地址列包含M位的區(qū)塊標(biāo)簽,其中,每列的標(biāo)簽 地址列代表T位組數(shù)據(jù)的地址區(qū)域。舉例來(lái)說(shuō),該快取控制器31包含8列的標(biāo)簽地址列, 每列標(biāo)簽地址列包含8位的區(qū)塊標(biāo)簽,且每列的標(biāo)簽地址列代表256位組數(shù)據(jù)的地址區(qū)域。
該微控制系統(tǒng)30在開始運(yùn)作時(shí),快取控制器31會(huì)比較微控制器11發(fā)出的地址數(shù) 據(jù)與8列的標(biāo)簽地址列的區(qū)塊標(biāo)簽來(lái)判斷數(shù)據(jù)是否已儲(chǔ)存在內(nèi)部快取存儲(chǔ)器32。當(dāng)快取控 制器31確定數(shù)據(jù)已儲(chǔ)存在內(nèi)部快取存儲(chǔ)器32時(shí)(hit),快取控制器31直接將該數(shù)據(jù)從存 取速度較快的內(nèi)部快取存儲(chǔ)器32送給微控制器11。而當(dāng)快取控制器31確定數(shù)據(jù)沒有在內(nèi) 部快取存儲(chǔ)器32時(shí)(miss),則通過(guò)串列接口存取控制器22從外部存儲(chǔ)器23將256位組數(shù) 據(jù)的程式碼(數(shù)據(jù))下載到內(nèi)部快取存儲(chǔ)器32。之后,快取控制器31再將微控制器11發(fā)出的地址的數(shù)據(jù)送給微控制器11。 而一般的快取控制方法,會(huì)使用L個(gè)標(biāo)簽地址列來(lái)記錄儲(chǔ)存于內(nèi)部快取存儲(chǔ)器中 所對(duì)應(yīng)地址的高位(MSB)地址。圖4為一般快取控制器的標(biāo)簽地址列的架構(gòu)。例如,每個(gè) 標(biāo)簽地址列用來(lái)記錄8位的高位地址數(shù)據(jù),且對(duì)應(yīng)的數(shù)據(jù)量為256位組。因此,若使用8列 標(biāo)簽地址列,則需要約2048位組的內(nèi)部快取存儲(chǔ)器。但是,當(dāng)每次數(shù)據(jù)不存在于內(nèi)部快取 存儲(chǔ)器32時(shí),都會(huì)從外部存儲(chǔ)器23下載256位組的數(shù)據(jù)到內(nèi)部快取存儲(chǔ)器32。由于在數(shù) 據(jù)下載期間,微控制器11是處于等待狀態(tài),若每次下載的數(shù)據(jù)量都太大,將影響微控制系 統(tǒng)30的執(zhí)行效率。而且,每次所下載的256位組數(shù)據(jù)中,也不一定所以數(shù)據(jù)都會(huì)被讀取,故 現(xiàn)有技術(shù)仍有改善的空間。

發(fā)明內(nèi)容
有鑒于上述問(wèn)題,本發(fā)明的目的是提供一種串列接口快取控制器、控制方法以及
使用該快取控制器的微控制器系統(tǒng),藉以利用N位的有效位區(qū)標(biāo)簽來(lái)減少每次數(shù)據(jù)下載
量,進(jìn)而用來(lái)提升該微控制器系統(tǒng)的效能,并減少快取存儲(chǔ)器的串列接口頻寬。 為達(dá)成上述目的,本發(fā)明的串列接口快取控制器,是使用于一微控制器系統(tǒng),該微
控制器系統(tǒng)經(jīng)由一串列接口讀取控制器從一外部存儲(chǔ)器讀取數(shù)據(jù)后,儲(chǔ)存至一內(nèi)部快取存
儲(chǔ)器,并控制一微控制器來(lái)讀取該內(nèi)部快取存儲(chǔ)器,該微控制器所輸出的微控制器之讀取
地址為A位,其中該串列接口快取控制器包含 —標(biāo)簽地址列寄存器,用來(lái)儲(chǔ)存L個(gè)標(biāo)簽地址列,且每列的標(biāo)簽地址列包含一 M位 的區(qū)塊標(biāo)簽與一 N位的有效位區(qū)標(biāo)簽,其中該M位的區(qū)塊標(biāo)簽記錄內(nèi)部快取存儲(chǔ)器所儲(chǔ)存 的T位組數(shù)據(jù)的地址區(qū)域,且該N位的有效位區(qū)標(biāo)簽記錄該地址區(qū)域中的有效位區(qū)段,其中 M為小于A的正整數(shù),且每個(gè)有效位區(qū)段的大小為T/N位組; —比較控制單元,讀取標(biāo)簽地址列寄存器的每一列的標(biāo)簽地址列數(shù)據(jù)以及微控制 器所發(fā)出的讀取地址,并比較每一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽數(shù)據(jù)與微控制器所發(fā)出 的讀取地址的[A-1, M]位數(shù)據(jù)、比較其中一列的標(biāo)簽地址列的N位有效位區(qū)標(biāo)簽的數(shù)據(jù)與 微控制器的讀取地址的[M-l, K]位數(shù)據(jù),并根據(jù)比較結(jié)果輸出一比較信號(hào)、一內(nèi)部快取存 儲(chǔ)器讀取地址以及一外部存儲(chǔ)器讀取地址,其中N為2的K次方值;以及
—有限狀態(tài)機(jī),接收比較控制單元的比較信號(hào),控制微控制器根據(jù)內(nèi)部快取存儲(chǔ) 器讀取位從內(nèi)部快取存儲(chǔ)器讀取數(shù)據(jù),或是根據(jù)外部存儲(chǔ)器讀取地址從外部存儲(chǔ)器讀取數(shù) 據(jù)到內(nèi)部快取存儲(chǔ)器; 當(dāng)比較控制單元在所有L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)中不存在微控制器 的讀取地址的[A-1, M]位數(shù)據(jù)時(shí),或是其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與微 控制器的讀取地址的[A-1,M]位數(shù)據(jù)相同但N位有效位區(qū)標(biāo)簽的數(shù)據(jù)對(duì)應(yīng)于微控制器的讀 取地址的[M-1, K]位數(shù)據(jù)非有效時(shí),該串列接口快取控制器會(huì)從外部存儲(chǔ)器讀取地址從外 部存儲(chǔ)器讀取數(shù)據(jù)到內(nèi)部快取存儲(chǔ)器,且每次從外部存儲(chǔ)器所讀取的數(shù)據(jù)少于T位組;
其中,比較控制單元在所有L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)中不存在微控 制器的讀取地址的[A-1,M]位數(shù)據(jù)時(shí),會(huì)將該微控制器的讀取地址的[A-1,M]位數(shù)據(jù)更新 到其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽。 另外,本發(fā)明提供一種串列接口快取控制方法,使用于一微控制器系統(tǒng),讓該微控制器系統(tǒng)從一外部存儲(chǔ)器經(jīng)由 一 串列接口讀取控制器讀取數(shù)據(jù)后,儲(chǔ)存至一 內(nèi)部快取存儲(chǔ) 器,并控制一微控制器來(lái)讀取該內(nèi)部快取存儲(chǔ)器的數(shù)據(jù),該微控制器所輸出的微控制器的 讀取地址為A位,其中該串列接口快取控制方法包含 第一比較步驟比較L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與微控制器的讀取地 址的[A-1, M]位數(shù)據(jù),并輸出一第一比較數(shù)據(jù),該第一比較數(shù)據(jù)包含一旗標(biāo)位以及多個(gè)指 示位,當(dāng)其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與微控制器的讀取地址的[A-1, M] 位數(shù)據(jù)相同時(shí),該第一比較數(shù)據(jù)的旗標(biāo)位被使能且指示位為相符的標(biāo)簽地址列;
第二比較步驟當(dāng)?shù)谝槐容^數(shù)據(jù)之旗標(biāo)位被使能時(shí),檢測(cè)微控制器之讀取地址的 [M-1, K]位數(shù)據(jù)對(duì)應(yīng)于L個(gè)標(biāo)簽地址列之N位有效位區(qū)標(biāo)簽是否為有效,并輸出一第二比 較數(shù)據(jù),當(dāng)該檢測(cè)結(jié)果為有效時(shí),該第二比較數(shù)據(jù)被使能; 區(qū)塊標(biāo)簽更新步驟當(dāng)?shù)谝槐容^數(shù)據(jù)的旗標(biāo)位未被使能時(shí),將該微控制器的讀取 地址的[A-1, M]位數(shù)據(jù)更新到其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽,并針對(duì)該M位區(qū)塊 標(biāo)簽的地址更新; 數(shù)據(jù)下載步驟當(dāng)?shù)谝槐容^數(shù)據(jù)的旗標(biāo)位未被使能或第二比較數(shù)據(jù)未被使能時(shí),
微控制器系統(tǒng)會(huì)從外部快取存儲(chǔ)器讀取數(shù)據(jù)并儲(chǔ)存到內(nèi)部快取存儲(chǔ)器,并將L個(gè)標(biāo)簽地址
列的N位有效位區(qū)標(biāo)簽所對(duì)應(yīng)的位設(shè)定為有效,并將第二比較數(shù)據(jù)使能;以及 數(shù)據(jù)讀取步驟當(dāng)?shù)诙容^數(shù)據(jù)被使能時(shí),微控制器系統(tǒng)會(huì)從內(nèi)部快取存儲(chǔ)器讀
取數(shù)據(jù)。 本發(fā)明的串列接口快取控制器與串列接口快取控制方法提供內(nèi)部快取存儲(chǔ)器的 標(biāo)簽地址列一有效位區(qū)標(biāo)簽,使得內(nèi)部快取存儲(chǔ)器可再加以細(xì)分成若干存儲(chǔ)區(qū)塊,當(dāng)數(shù)據(jù) 沒有儲(chǔ)存在內(nèi)部快取存儲(chǔ)器時(shí),串列接口快取控制器可以針對(duì)該存儲(chǔ)區(qū)塊分別經(jīng)由串列接 口從外部存儲(chǔ)器讀取,而不需一次就讀取一個(gè)標(biāo)簽地址列所對(duì)應(yīng)的所有數(shù)據(jù),因此能夠有 效降低數(shù)據(jù)讀取量以降低串列接口的傳輸頻寬需求,并增加整個(gè)微控制系統(tǒng)的效率。


圖1為一般并列存取外部存儲(chǔ)器數(shù)據(jù)的微控制系統(tǒng)的架構(gòu)圖; 圖2為一般串列存取外部存儲(chǔ)器數(shù)據(jù)的微控制系統(tǒng)的架構(gòu)圖; 圖3為一般結(jié)合快取技術(shù)與串列數(shù)據(jù)讀取的微控制系統(tǒng); 圖4為一般快取控制器的標(biāo)簽地址列的架構(gòu); 圖5為本發(fā)明快取控制器的標(biāo)簽地址列的架構(gòu); 圖6為用于本發(fā)明快取控制器的有限狀態(tài)機(jī)的狀態(tài)圖; 圖7為本發(fā)明快取控制器一實(shí)施例的方塊圖; 圖8為本發(fā)明串列接口快取控制方法的流程圖。
具體實(shí)施例方式
以下參考圖式詳細(xì)說(shuō)明本發(fā)明的串列接口快取控制器、控制方法以及使用該控制 器的微控制器系統(tǒng)。 對(duì)于一般的快取控制器而言,其標(biāo)簽地址列只用來(lái)記錄最高M(jìn)位的地址,例如8位 的地址。因此,每個(gè)標(biāo)簽地址列所對(duì)應(yīng)的數(shù)據(jù)量為256位組。若將M值增加,雖然每個(gè)標(biāo)簽地址列所對(duì)應(yīng)的數(shù)據(jù)量會(huì)降低,但相對(duì)的卻必須增加標(biāo)簽地址列,讓所儲(chǔ)存的快取數(shù)據(jù)量 保持相同。標(biāo)簽地址列的數(shù)量越高,則快取控制器的復(fù)雜度與成本也會(huì)相對(duì)的提升。例如, 若M值為8,且快取控制器有8個(gè)標(biāo)簽地址列,則需要2048位組的內(nèi)部快取存儲(chǔ)器,且每次 從外部存儲(chǔ)器下載的數(shù)據(jù)量為256位組。若M值為IO,則在相同的內(nèi)部快取存儲(chǔ)器大小的 情形下,需要32個(gè)標(biāo)簽地址列,且每次從外部存儲(chǔ)器下載的數(shù)據(jù)量縮減為64位組。然而, 32個(gè)標(biāo)簽地址列對(duì)快取控制器而言是很大的負(fù)擔(dān)。由于現(xiàn)有技術(shù)中,當(dāng)所需數(shù)據(jù)的地址不 在內(nèi)部快取存儲(chǔ)器時(shí),傳統(tǒng)快取控制器會(huì)將一列標(biāo)簽地址列替換成所需數(shù)據(jù)的地址,并從 外部存儲(chǔ)器讀取數(shù)據(jù)并儲(chǔ)存至內(nèi)部快取存儲(chǔ)器中。以M值為8的標(biāo)簽地址列架構(gòu)而言,當(dāng) 所需數(shù)據(jù)的地址不在內(nèi)部快取存儲(chǔ)器時(shí),便需一次替換256位組的數(shù)據(jù)量,當(dāng)微控制器所 需的數(shù)據(jù)為數(shù)十位時(shí)也是如此,所以將造成處理效率不佳。 因此,本發(fā)明提出一種新的快取控制器架構(gòu),其標(biāo)簽地址列不只用來(lái)記錄最高M(jìn) 位的地址,還用來(lái)記錄K個(gè)次高位的地址。圖5為本發(fā)明快取控制器的標(biāo)簽地址列的架構(gòu)。 以M為8和K為4為例。如圖5所示,本發(fā)明的一實(shí)施例中,快取控制器的標(biāo)簽地址列區(qū)分 為三部分,分別為M位的區(qū)塊標(biāo)簽(Tag address) 、 N位的有效位區(qū)標(biāo)簽(Tag valid bits region)、以及P位的使用期標(biāo)簽(Tag age),其中,M位的區(qū)塊標(biāo)簽用來(lái)記錄微控制器的讀 取地址的最高M(jìn)位的地址、N位的有效位區(qū)標(biāo)簽用來(lái)記錄次高K位地址所對(duì)應(yīng)的有效狀態(tài), 有效位區(qū)標(biāo)簽的每個(gè)位代表其對(duì)應(yīng)地址的數(shù)據(jù)是否存在于內(nèi)部快取存儲(chǔ)器,以及P位的使 用期標(biāo)簽代表該標(biāo)簽地址列的使用頻率。該實(shí)施例的P為3,且N為2的K次方,亦即N為 16。 每一標(biāo)簽地址列皆代表了存儲(chǔ)器中一快取區(qū)域(cache area),若區(qū)塊標(biāo)簽只含有 最高8位,則每一標(biāo)簽地址列皆對(duì)應(yīng)256位組的快取區(qū)域。若是再賦予該標(biāo)簽地址列16位 的有效位區(qū)標(biāo)簽,則可再將256位組的快取區(qū)域再細(xì)分為16個(gè)快取區(qū)段(cache sector), 而每一快取區(qū)段含有16位組。在實(shí)際操作上,該16個(gè)快取區(qū)段可獨(dú)立被存取。16位的有 效位區(qū)標(biāo)簽代表了該16個(gè)快取區(qū)段是否為有效數(shù)據(jù)。 當(dāng) 一 標(biāo)簽地址列的區(qū)塊標(biāo)簽為FOH時(shí),表示F000H F0FFH的部分?jǐn)?shù)據(jù)或 全部數(shù)據(jù)儲(chǔ)存于內(nèi)部快取存儲(chǔ)器內(nèi),若此時(shí)該標(biāo)簽地址列的16位的有效位區(qū)標(biāo)簽為 011011000110111 IB時(shí),則表示F000H F00FH、 F010H F01FH、 F020H F02FH、 F030H F03FH、 F050H F05FH、 F060H F06FH、 F0A0H F0AFH、 F0B0H F0BFH、 F0D0H F0DFH、 F0E0H FOEFH等地址所對(duì)應(yīng)的數(shù)據(jù)已儲(chǔ)存于內(nèi)部快取存儲(chǔ)器內(nèi)。 因此,當(dāng)快取控制器31收到微控制器11發(fā)出的讀取地址時(shí),會(huì)先比對(duì)該讀取地址 的高8位[15:8]地址與所有標(biāo)簽地址列的區(qū)塊標(biāo)簽。當(dāng)有其中一列標(biāo)簽地址列的區(qū)塊標(biāo)簽 與讀取地址的高8位[15:8]地址相同時(shí),表示該讀取地址落在內(nèi)部快取存儲(chǔ)器32,此時(shí),快 取控制器31再比對(duì)該標(biāo)簽地址列的有效位區(qū)標(biāo)簽與讀取地址的次高4位[7:4]地址。當(dāng) 讀取地址的次高4位[7:4]地址所對(duì)應(yīng)的有效位區(qū)標(biāo)簽的位為1時(shí),表示內(nèi)部快取存儲(chǔ)器 32中相對(duì)于微控制器11所需的數(shù)據(jù)為有效數(shù)據(jù),此時(shí)快取控制器31會(huì)通知微控制器11可 讀取內(nèi)部快取存儲(chǔ)器32的數(shù)據(jù)。 而當(dāng)讀取地址的次高4位[7:4]地址所對(duì)應(yīng)的有效位區(qū)標(biāo)簽的位為0時(shí),表示內(nèi) 部快取存儲(chǔ)器32中相對(duì)于微控制器11所需的數(shù)據(jù)為無(wú)效數(shù)據(jù),此時(shí)快取控制器31會(huì)通知 微控制器11等待,并由串列接口讀取控制器22從外部存儲(chǔ)器23讀取16位組的數(shù)據(jù)到內(nèi)部快取存儲(chǔ)器32中。當(dāng)該下載動(dòng)作執(zhí)行完后,快取控制器31會(huì)將該標(biāo)簽地址列的有效位 區(qū)標(biāo)簽的對(duì)應(yīng)位設(shè)定為l,并通知微控制器11開始執(zhí)行。 若沒有任何一列標(biāo)簽地址列的區(qū)塊標(biāo)簽與讀取地址的高8位[15:8]地址相同時(shí), 快取控制器31會(huì)通知微控制器11等待,并將其中一列標(biāo)簽地址列更新(sacrificed)為讀 取地址的高8位[15:8]地址,并將該標(biāo)簽地址列的16位的有效位區(qū)標(biāo)簽清除為0。之后, 由串列接口讀取控制器22從外部存儲(chǔ)器23讀取16位組的數(shù)據(jù)到被更新的標(biāo)簽地址列所 對(duì)應(yīng)的內(nèi)部快取存儲(chǔ)器32。等該下載動(dòng)作執(zhí)行完后,快取控制器31會(huì)將該標(biāo)簽地址列的有 效位區(qū)標(biāo)簽的對(duì)應(yīng)位設(shè)定為1并通知微控制器11開始執(zhí)行。 關(guān)于如何決定其中哪一列標(biāo)簽地址列會(huì)被取代,其處理的方式,例如是根據(jù)標(biāo)簽 地址列的使用期標(biāo)簽,由于標(biāo)簽地址列對(duì)應(yīng)的每一存儲(chǔ)區(qū)間被改寫時(shí),使用期標(biāo)簽就會(huì)被 加一或減一等,因此根據(jù)設(shè)計(jì)時(shí)的設(shè)定,使用期標(biāo)簽最小(或最大)者即表示該標(biāo)簽地址列 最少被使用。串列接口讀取控制器22便會(huì)優(yōu)先取代最少被使用的標(biāo)簽地址列。請(qǐng)注意,雖 然本說(shuō)明書以將4位的有效狀態(tài)映射成16個(gè)存儲(chǔ)區(qū)間映射地址作為實(shí)施例說(shuō)明,但實(shí)際上 可以選用其他位數(shù)配合其他數(shù)目的存儲(chǔ)區(qū)間來(lái)實(shí)施,因此本發(fā)明并不限定有效位區(qū)標(biāo)簽的 位數(shù)為16。 圖6為用于本發(fā)明快取控制器31的有限狀態(tài)機(jī)(Finite State Machine)的狀態(tài) 圖。該狀態(tài)機(jī)有三個(gè)狀態(tài),分別為狀態(tài)O的初始狀態(tài)、狀態(tài)1的標(biāo)簽列更新決定狀態(tài)、以及 狀態(tài)2的數(shù)據(jù)下載狀態(tài)。當(dāng)系統(tǒng)開機(jī)或重置后,有限狀態(tài)機(jī)是處于狀態(tài)O的初始狀態(tài)。例 如,當(dāng)快取控制器31收到被使能的重置信號(hào)時(shí),狀態(tài)機(jī)會(huì)回到狀態(tài)0的初始狀態(tài)。接著,一 旦快取控制器31收到微控制器11的讀取要求時(shí),快取控制器31會(huì)比較微控制器11所要 讀取的地址是否存在于內(nèi)部快取存儲(chǔ)器32。當(dāng)微控制器11所要讀取的程式地址列的數(shù)據(jù) 存在于內(nèi)部快取存儲(chǔ)器32時(shí),有限狀態(tài)機(jī)會(huì)回到狀態(tài)O的初始狀態(tài)。此時(shí),微控制器11會(huì) 從內(nèi)部快取存儲(chǔ)器32讀取數(shù)據(jù)。而當(dāng)微控制器11所要讀取的地址不存在于內(nèi)部快取存儲(chǔ) 器32時(shí),則快取控制器31會(huì)跳到狀態(tài)1的標(biāo)簽列更新決定狀態(tài)。此時(shí),快取控制器31會(huì) 根據(jù)預(yù)設(shè)的規(guī)則找出要被更新的標(biāo)簽地址列,并更新該標(biāo)簽地址列的數(shù)據(jù)。接著,快取控制 器31會(huì)跳到狀態(tài)2的數(shù)據(jù)下載狀態(tài)。在此數(shù)據(jù)下載狀態(tài)下,快取控制器31會(huì)從外部存儲(chǔ) 器23讀取16位組的數(shù)據(jù),并儲(chǔ)存至所對(duì)應(yīng)的內(nèi)部快取存儲(chǔ)器32。最后,快取控制器31會(huì) 回到狀態(tài)0的初始狀態(tài),并通知微控制器11從內(nèi)部快取存儲(chǔ)器32讀取數(shù)據(jù)。
圖7顯示本發(fā)明快取控制器31的一實(shí)施例的方塊圖,該方塊圖用來(lái)說(shuō)明地址匯流 排的運(yùn)作。該快取控制器31包含一有限狀態(tài)機(jī)71、一標(biāo)簽地址列寄存器72、以及一比較控 制單元73。如圖6的說(shuō)明,有限狀態(tài)機(jī)71有三個(gè)狀態(tài),分別為狀態(tài)O的初始狀態(tài)、狀態(tài)1的 標(biāo)簽列更新決定狀態(tài)、以及狀態(tài)2的數(shù)據(jù)下載狀態(tài)。標(biāo)簽地址列寄存器72儲(chǔ)存了 L個(gè)標(biāo)簽 地址列,且每列標(biāo)簽地址列區(qū)分為三部分,分別為M位的區(qū)塊標(biāo)簽(Tag address) 、N位的有 效位區(qū)標(biāo)簽(Tag valid bits region)、以及P位的使用期標(biāo)簽(Tag age)。比較控制單元 73接收微控制器的讀取地址與標(biāo)簽地址列寄存器72的數(shù)據(jù)后,輸出比較結(jié)果給有限狀態(tài) 機(jī)71 、同時(shí)輸出內(nèi)部快取存儲(chǔ)器存取地址與外部存儲(chǔ)器讀取地址。同時(shí),比較控制單元73 在沒有任何一列標(biāo)簽地址列的區(qū)塊標(biāo)簽與讀取地址的高8位[15:8]地址相同時(shí),會(huì)將其中 一列標(biāo)簽地址列更新為讀取地址的高8位[15:8]地址,并將該標(biāo)簽地址列的16位的有效 位區(qū)標(biāo)簽清除為0。再者,比較控制單元73在所對(duì)應(yīng)的有效位區(qū)標(biāo)簽為0時(shí),從外部存儲(chǔ)器
923讀取16位組的數(shù)據(jù),并儲(chǔ)存至所對(duì)應(yīng)之內(nèi)部快取存儲(chǔ)器32。 圖8為本發(fā)明串列接口快取控制方法的流程圖。本發(fā)明串列接口快取控制方法使 用于一微控制器系統(tǒng),讓該微控制器系統(tǒng)從一外部存儲(chǔ)器經(jīng)由一串列接口讀取控制器讀取 數(shù)據(jù)后,儲(chǔ)存至一 內(nèi)部快取存儲(chǔ)器,并控制一微控制器來(lái)讀取該內(nèi)部快取存儲(chǔ)器的數(shù)據(jù),該 微控制器所輸出的微控制器的讀取地址為A位。如圖8所示,本發(fā)明串列接口快取控制方 法包含 第一比較步驟(S806):比較L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與前述微控制 器的讀取地址的[A-l, M]位數(shù)據(jù),并輸出一第一比較數(shù)據(jù),該第一比較數(shù)據(jù)包含一旗標(biāo)位 以及多個(gè)指示位,當(dāng)其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與前述微控制器的讀取 地址的[A-l, M]位數(shù)據(jù)相同時(shí),該第一比較數(shù)據(jù)的旗標(biāo)位被使能且指示位為相符的標(biāo)簽地 址列; 第二比較步驟(S808):當(dāng)前述第一比較數(shù)據(jù)的旗標(biāo)位被使能時(shí),檢測(cè)前述微控制
器的讀取地址的[M-1,K]位數(shù)據(jù)對(duì)應(yīng)于前述L個(gè)標(biāo)簽地址列的N位有效位區(qū)標(biāo)簽是否為有
效,并輸出一第二比較數(shù)據(jù),當(dāng)該檢測(cè)結(jié)果為有效時(shí),該第二比較數(shù)據(jù)被使能; 區(qū)塊標(biāo)簽更新步驟(S812):當(dāng)前述第一比較數(shù)據(jù)的旗標(biāo)位未被使能時(shí),將該前述
微控制器的讀取地址的[A-l, M]位數(shù)據(jù)更新到其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽,并
針對(duì)該M位區(qū)塊標(biāo)簽的地址更新; 數(shù)據(jù)下載步驟(S814):當(dāng)前述第一比較數(shù)據(jù)的旗標(biāo)位未被使能或前述第二比較 數(shù)據(jù)未被使能時(shí),微控制器系統(tǒng)會(huì)從前述外部快取存儲(chǔ)器讀取數(shù)據(jù)并儲(chǔ)存到前述內(nèi)部快取 存儲(chǔ)器,并將前述L個(gè)標(biāo)簽地址列的N位有效位區(qū)標(biāo)簽所對(duì)應(yīng)的位設(shè)定為有效,并將前述第 二比較數(shù)據(jù)使能;以及 數(shù)據(jù)讀取步驟(S810):當(dāng)前述第二比較數(shù)據(jù)被使能時(shí),微控制器系統(tǒng)會(huì)從前述內(nèi) 部快取存儲(chǔ)器讀取數(shù)據(jù)。 本發(fā)明串列接口快取控制器與串列接口快取控制方法,由于使用N位有效位區(qū)標(biāo) 簽來(lái)記錄有效的快取區(qū)段,因此該串列接口快取控制器在每次從外部存儲(chǔ)器下載數(shù)據(jù)到內(nèi) 部快取存儲(chǔ)器時(shí),僅需下載少量的數(shù)據(jù)量,例如僅需要習(xí)知快取控制器的1/N的數(shù)據(jù)量,所 以本發(fā)明串列接口快取控制器可以有效的減少數(shù)據(jù)的下載,藉以提升使用本發(fā)明串列接口
快取控制器的控制系統(tǒng)的效率。 以上雖以實(shí)施例說(shuō)明本發(fā)明,但并不因此限定本發(fā)明的范圍,只要不脫離本發(fā)明 的要旨,可進(jìn)行各種變形或變更。
10
權(quán)利要求
一種串列接口快取控制器,其特征在于,所述串列接口快取控制器使用于一微控制器系統(tǒng),讓所述微控制器系統(tǒng)經(jīng)由一串列接口讀取控制器從一外部存儲(chǔ)器讀取數(shù)據(jù)后,將其儲(chǔ)存至一內(nèi)部快取存儲(chǔ)器,并控制一微控制器來(lái)讀取所述內(nèi)部快取存儲(chǔ)器,所述微控制器所輸出的微控制器的讀取地址為A位,其中所述串列接口快取控制器包含一標(biāo)簽地址列寄存器,用來(lái)儲(chǔ)存L個(gè)標(biāo)簽地址列,且所述每一個(gè)標(biāo)簽地址列包含一M位區(qū)塊標(biāo)簽與一N位有效位區(qū)標(biāo)簽,其中所述M位區(qū)塊標(biāo)簽用以記錄所述內(nèi)部快取存儲(chǔ)器所儲(chǔ)存的T位組數(shù)據(jù)的地址區(qū)域,且所述N位有效位區(qū)標(biāo)簽用以記錄所述地址區(qū)域中的有效位區(qū)段,其中M為小于A的整數(shù),且所述每個(gè)有效位區(qū)段的大小為T/N位組;比較控制單元,讀取所述標(biāo)簽地址列寄存器中的L個(gè)標(biāo)簽地址列和所述微控制器的讀取地址,進(jìn)而比較所述L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地址的[A-1,M]位數(shù)據(jù)、比較所述L個(gè)標(biāo)簽地址列的N位有效位區(qū)標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地址的[M-1,K]位數(shù)據(jù),并根據(jù)比較結(jié)果輸出一比較信號(hào)、一內(nèi)部快取存儲(chǔ)器讀取地址以及一外部存儲(chǔ)器讀取地址,其中所述N為2的K次方值;以及一有限狀態(tài)機(jī),根據(jù)所述比較信號(hào),用以控制所述微控制器利用所述內(nèi)部快取存儲(chǔ)器讀取地址從所述內(nèi)部快取存儲(chǔ)器讀取數(shù)據(jù),或是根據(jù)所述外部存儲(chǔ)器讀取地址從所述外部存儲(chǔ)器讀取數(shù)據(jù)到所述內(nèi)部快取存儲(chǔ)器;當(dāng)所述比較控制單元在所述L個(gè)標(biāo)簽地址列中的M位區(qū)塊標(biāo)簽的數(shù)據(jù)中均不存在所述微控制器的讀取地址的[A-1,M]位數(shù)據(jù)時(shí),或是所述L個(gè)標(biāo)簽地址列其中之一中的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地址的[A-1,M]位數(shù)據(jù)相同,但所述N位有效位區(qū)標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地,址的[M-1,K]位數(shù)據(jù)不對(duì)應(yīng)時(shí),所述串列接口快取控制器利用所述外部存儲(chǔ)器讀取地址從所述外部存儲(chǔ)器讀取數(shù)據(jù)至所述內(nèi)部快取存儲(chǔ)器,當(dāng)中,每次從所述外部存儲(chǔ)器所讀取的數(shù)據(jù)少于T位組;其中,所述比較控制單元在所述L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽中的數(shù)據(jù)不存在所述微控制器的讀取地址的[A-1,M]位數(shù)據(jù)時(shí),會(huì)將所述微控制器的讀取地址的[A-1,M]位數(shù)據(jù)更新到所述L個(gè)標(biāo)簽地址列其中之一中的M位區(qū)塊標(biāo)簽。
2. 如權(quán)利要求1所述的串列接口快取控制器,其特征在于,所述比較控制單元經(jīng)由所 述外部存儲(chǔ)器所讀取的數(shù)據(jù)皆為T/N位組。
3. 如權(quán)利要求1所述的串列接口快取控制器,其特征在于,A為16、M為8、L為8、N為 16、K為4、以及T為256。
4. 如權(quán)利要求3所述的串列接口快取控制器,其特征在于,所述比較控制單元經(jīng)由所 述外部存儲(chǔ)器所讀取的數(shù)據(jù)為16位組。
5. 如權(quán)利要求1所述的串列接口快取控制器,其特征在于,所述每列的標(biāo)簽地址列寄 存器還包含P位的使用期標(biāo)簽。
6. 如權(quán)利要求5所述的串列接口快取控制器,其特征在于,所述比較控制單元在所述L 個(gè)標(biāo)簽地址列其中之一中的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地址的[A-1,M]位 數(shù)據(jù)相同時(shí),會(huì)增加所述標(biāo)簽地址列中P位的使用期標(biāo)簽的值。
7. 如權(quán)利要求6所述的串列接口快取控制器,其特征在于,當(dāng)所述L個(gè)標(biāo)簽地址列的M 位區(qū)塊標(biāo)簽的數(shù)據(jù)中均不存在所述微控制器的讀取地址的[A-l, M]位數(shù)據(jù)時(shí),所述比較控 制單元會(huì)將所述這些使用期標(biāo)簽的標(biāo)簽地址列中最小的進(jìn)行更新,并將所述列標(biāo)簽地址列的P位的使用期標(biāo)簽設(shè)定為O。
8. —種串列接口快取控制方法,其特征在于,所述串列接口快取控制方法使用于一微 控制器系統(tǒng),讓所述微控制器系統(tǒng)從一外部存儲(chǔ)器經(jīng)由一串列接口讀取控制器讀取數(shù)據(jù) 后,將其儲(chǔ)存至一 內(nèi)部快取存儲(chǔ)器,并控制一微控制器來(lái)讀取所述內(nèi)部快取存儲(chǔ)器,所述微 控制器所輸出的微控制器的讀取地址為A位,其中所述串列接口快取控制方法包含第一比較步驟比較L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽中的數(shù)據(jù)與所述微控制器的讀取 地址的[A-l, M]位數(shù)據(jù),并輸出一第一比較數(shù)據(jù),所述第一比較數(shù)據(jù)包含一旗標(biāo)位以及多 個(gè)指示位,當(dāng)所述L個(gè)標(biāo)簽地址列其中之一列中的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與所述微控制器的 讀取地址的[A-l, M]位數(shù)據(jù)相同時(shí),所述第一比較數(shù)據(jù)的旗標(biāo)位被使能且指示位為相符的 標(biāo)簽地址列;第二比較步驟檢測(cè)所述微控制器的讀取地址中的[M-1,K]位數(shù)據(jù)對(duì)應(yīng)于所述L個(gè)標(biāo) 簽地址列的N位有效位區(qū)標(biāo)簽,并輸出一第二比較數(shù)據(jù),當(dāng)所述第一比較數(shù)據(jù)的旗標(biāo)位被 使能,且檢測(cè)所述微控制器的讀取地址中的[M-l, K]位數(shù)據(jù)對(duì)應(yīng)于所述L個(gè)標(biāo)簽地址列的 N位有效位區(qū)標(biāo)簽為有效時(shí),所述第二比較數(shù)據(jù)被使能;區(qū)塊標(biāo)簽更新步驟當(dāng)所述第一比較數(shù)據(jù)的旗標(biāo)位未被使能時(shí),將所述微控制器的讀取地址的[A-1,M]位數(shù)據(jù)更新到其中一列的標(biāo)簽地址列的M位區(qū)塊標(biāo)簽;數(shù)據(jù)下載步驟當(dāng)所述第一比較數(shù)據(jù)的旗標(biāo)位未被使能或所述第二比較數(shù)據(jù)未被使能時(shí),所述微控制器系統(tǒng)會(huì)從所述外部快取存儲(chǔ)器讀取數(shù)據(jù)并將其儲(chǔ)存到所述內(nèi)部快取存儲(chǔ)器,并將所述L個(gè)標(biāo)簽地址列的N位有效位區(qū)標(biāo)簽所對(duì)應(yīng)的位設(shè)定為有效,并將所述第二比 較數(shù)據(jù)使能;以及數(shù)據(jù)讀取步驟當(dāng)所述第二比較數(shù)據(jù)被使能時(shí),所述微控制器系統(tǒng)會(huì)從所述內(nèi)部快取存儲(chǔ)器讀取數(shù)據(jù)。
9. 如權(quán)利要求8所述的串列接口快取控制方法,其特征在于,所述數(shù)據(jù)下載步驟從所 述外部存儲(chǔ)器所讀取的數(shù)據(jù)皆為T/N位組。
10. 如權(quán)利要求8述的串列接口快取控制方法,其特征在于,A為16、M為8、L為8、N 為16、K為4、以及T為256。
11. 如權(quán)利要求io所述的串列接口快取控制方法,其特征在于,所述數(shù)據(jù)下載步驟從所述外部存儲(chǔ)器所讀取的數(shù)據(jù)為16位組。
12. —種微控制器系統(tǒng),其特征在于,所述微控制器系統(tǒng)利用一串列接口快取控制器 從一外部存儲(chǔ)器經(jīng)由一 串列接口讀取控制器讀取數(shù)據(jù)后,儲(chǔ)存至一 內(nèi)部快取存儲(chǔ)器,并控 制一微控制器讀取所述內(nèi)部快取存儲(chǔ)器,所述微控制器所輸出的微控制器的讀取地址為A 位,其中所述串列接口快取控制器包含一標(biāo)簽地址列寄存器,用來(lái)儲(chǔ)存L個(gè)標(biāo)簽地址列,所述L個(gè)標(biāo)簽地址列分別包含一 M位 區(qū)塊標(biāo)簽與一 N位有效位區(qū)標(biāo)簽,其中所述M位區(qū)塊標(biāo)簽用以記錄所述內(nèi)部快取存儲(chǔ)器所 儲(chǔ)存的T位組數(shù)據(jù)的地址區(qū)域,且所述N位有效位區(qū)標(biāo)簽用以記錄所述地址區(qū)域中的有效 位區(qū)段,其中M為小于A的正整數(shù),且每個(gè)有效位區(qū)段的大小為T/N位組;一比較控制單元,讀取所述標(biāo)簽地址列寄存器中的L個(gè)標(biāo)簽地址列和所述微控制器的 讀取地址,進(jìn)而比較所述L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地 址的[A-l, M]位數(shù)據(jù)、比較所述L個(gè)標(biāo)簽地址列的N位有效位區(qū)標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地址的[M-l, K]位數(shù)據(jù),并根據(jù)比較結(jié)果輸出一比較信號(hào)、一內(nèi)部快取存儲(chǔ)器讀 取地址以及一外部存儲(chǔ)器讀取地址,其中所述N為2的K次方值;以及一有限狀態(tài)機(jī),接收所述比較信號(hào),控制所述微控制器利用所述內(nèi)部快取存儲(chǔ)器讀取 地址讀取所述內(nèi)部快取存儲(chǔ)器,或利用所述外部存儲(chǔ)器讀取地址從所述外部存儲(chǔ)器讀取中 的數(shù)據(jù)到所述內(nèi)部快取存儲(chǔ)器;當(dāng)所述比較控制單元所述L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽的數(shù)據(jù)中皆不存在所述微 控制器的讀取地址的[A-1, M]位數(shù)據(jù)時(shí),或是所述L個(gè)標(biāo)簽地址列其中之一列中的M位區(qū) 塊標(biāo)簽的數(shù)據(jù)與所述微控制器的讀取地址的[A-1, M]位數(shù)據(jù)相同,但所述N位有效位區(qū)標(biāo) 簽的數(shù)據(jù)與所述微控制器的讀取地址的[M-1, K]位數(shù)據(jù)不對(duì)應(yīng)時(shí),所述串列接口快取控制 器會(huì)從所述外部存儲(chǔ)器讀取地址利用所述外部存儲(chǔ)器讀取數(shù)據(jù)至所述內(nèi)部快取存儲(chǔ)器,當(dāng) 中,每次從所述外部存儲(chǔ)器所讀取的數(shù)據(jù)少于T位組;其中,若所述L個(gè)標(biāo)簽地址列的M位區(qū)塊標(biāo)簽中的數(shù)據(jù)皆不存在所述微控制器的讀取 地址的[A-1,M]位數(shù)據(jù)時(shí),所述比較控制器會(huì)將所述微控制器的讀取地址中的[A-1,M]位 數(shù)據(jù)更新到所述L個(gè)標(biāo)簽地址列其中之一列中的M位區(qū)塊標(biāo)簽。
13. 如權(quán)利要求12所述的微控制器系統(tǒng),其特征在于,所述比較控制單元從所述外部 存儲(chǔ)器所讀取的數(shù)據(jù)均為T/N位組。
14. 如權(quán)利要求12所述的微控制器系統(tǒng),其特征在于,A為16、M為8、L為8、N為16、 K為4、以及T為256。
15. 如權(quán)利要求14所述的微控制器系統(tǒng),其特征在于,所述比較控制單元每次從所述 外部存儲(chǔ)器所讀取的數(shù)據(jù)為16位組。
全文摘要
本發(fā)明提供一種串列接口快取控制方法、控制器以及其微控制器系統(tǒng)。該串列接口快取控制器包含L個(gè)標(biāo)簽地址列,其中,每個(gè)標(biāo)簽地址列包含一M位的區(qū)塊標(biāo)簽與一N位的有效位區(qū)標(biāo)簽。M位的區(qū)塊標(biāo)簽記錄一內(nèi)部快取存儲(chǔ)器所儲(chǔ)存的T位組數(shù)據(jù)的地址區(qū)域,且該N位的有效位區(qū)標(biāo)簽記錄上述地址區(qū)域中的有效位區(qū)段,其中,每個(gè)有效位區(qū)段的大小分別為T/N位組。該串列接口快取控制器每次需從外部存儲(chǔ)器讀取T/N位組數(shù)據(jù)至內(nèi)部快取存儲(chǔ)器,不需讀取整個(gè)地址區(qū)域的T位組數(shù)據(jù)。由于整個(gè)地址區(qū)域的T位組數(shù)據(jù)不一定都會(huì)被微控制器所讀取,因此可以減少微控制器等待的時(shí)間,進(jìn)而提升執(zhí)行速度。
文檔編號(hào)G06F12/08GK101763314SQ200810185029
公開日2010年6月30日 申請(qǐng)日期2008年12月26日 優(yōu)先權(quán)日2008年12月26日
發(fā)明者徐漢華 申請(qǐng)人:凌陽(yáng)創(chuàng)新科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1