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

微處理器及使用指令循環(huán)高速緩存的方法

文檔序號(hào):6539688閱讀:216來(lái)源:國(guó)知局
微處理器及使用指令循環(huán)高速緩存的方法
【專利摘要】本發(fā)明提供一種微處理器及使用指令循環(huán)高速緩存的方法,其包括處理器核心以及指令循環(huán)高速緩存。處理器核心提供指令流的提取地址,提取地址包括標(biāo)簽及索引。指令循環(huán)高速緩存自處理器核心接收提取地址。指令循環(huán)高速緩存包括高速緩存陣列以及標(biāo)簽存儲(chǔ)器。高速緩存陣列存儲(chǔ)多個(gè)高速緩存條目。各高速緩存條目包括標(biāo)簽識(shí)別碼。高速緩存陣列輸出提取地址中索引所對(duì)應(yīng)的高速緩存條目的標(biāo)簽識(shí)別碼。標(biāo)簽存儲(chǔ)器存儲(chǔ)多個(gè)標(biāo)簽值并輸出高速緩存陣列輸出的標(biāo)簽識(shí)別碼所對(duì)應(yīng)的標(biāo)簽值。指令循環(huán)高速緩存基于提取地址的標(biāo)簽與標(biāo)簽存儲(chǔ)器輸出的標(biāo)簽值之間的按比特比較,而決定高速緩存命中或高速緩存未中是否發(fā)生。
【專利說(shuō)明】微處理器及使用指令循環(huán)高速緩存的方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明是有關(guān)于一種指令高速緩存(instruction caching),且特別是有關(guān)于微 處理器及使用指令循環(huán)高速緩存的方法。

【背景技術(shù)】
[0002] 指令高速緩存(instruction cache)是微處理器中不可或缺的元件。當(dāng)微處理器 需要提取指令時(shí),其處理器核心會(huì)傳送指令的提取地址(fetch address)至指令高速緩存。 提取地址對(duì)應(yīng)于指令流(instruction stream),且指令流包括一或多個(gè)指令。當(dāng)指令已存 在指令高速緩存內(nèi)時(shí),指令高速緩存可直接對(duì)處理器核心提供指令。否則,指令高速緩存會(huì) 從指令所在的存儲(chǔ)器中提取指令、存儲(chǔ)指令以及將指令提供給處理器核心。由于從外部存 儲(chǔ)器提取指令比從指令高速緩存提取指令花費(fèi)更多的時(shí)間并耗費(fèi)更多功率,指令高速緩存 可減低功率消耗并促進(jìn)微處理器的處理速度。


【發(fā)明內(nèi)容】

[0003] 嵌入式系統(tǒng)(embedded system)的應(yīng)用程序通常在最深層循環(huán)(innermost loop) 花費(fèi)很多執(zhí)行時(shí)間。因此,本發(fā)明提供一種微處理器及使用指令循環(huán)高速緩存的方法,藉以 降低功率損耗并改善指令提取的效率。
[0004] 依據(jù)本發(fā)明一實(shí)施例,本發(fā)明提供一種微處理器。微處理器包括處理器核心以及 指令循環(huán)高速緩存。處理器核心提供指令流的提取地址。指令流包括一或多個(gè)指令。提取 地址包括標(biāo)簽(tag)以及索引(index)。指令循環(huán)高速緩存自處理器核心接收提取地址。 指令循環(huán)高速緩存包括高速緩存陣列以及標(biāo)簽存儲(chǔ)器。高速緩存陣列耦接至處理器核心。 高速緩存陣列存儲(chǔ)第一預(yù)定數(shù)量個(gè)高速緩存條目。各高速緩存條目包括標(biāo)簽識(shí)別碼(tag identification ;tag ID)。高速緩存陣列輸出提取地址中索引所對(duì)應(yīng)的高速緩存條目的標(biāo) 簽識(shí)別碼。標(biāo)簽存儲(chǔ)器耦接至處理器核心以及高速緩存陣列。標(biāo)簽存儲(chǔ)器經(jīng)配置用以存儲(chǔ) 第二預(yù)定數(shù)量個(gè)標(biāo)簽值,并輸出高速緩存陣列輸出的標(biāo)簽識(shí)別碼所對(duì)應(yīng)的標(biāo)簽值。指令循 環(huán)高速緩存基于提取地址的標(biāo)簽與標(biāo)簽存儲(chǔ)器輸出的標(biāo)簽值之間的按比特比較,而決定高 速緩存命中(cache hit)或高速緩存未中(cache miss)是否發(fā)生。
[0005] 依據(jù)本發(fā)明另一實(shí)施例,本發(fā)明提供一種使用前述指令循環(huán)高速緩存的方法。此 方法包括下列步驟。初始時(shí)進(jìn)入正常狀態(tài),其中指令循環(huán)高速緩存與包括正常狀態(tài)及內(nèi)部 狀態(tài)的有限狀態(tài)機(jī)(finite state machine)相關(guān)。當(dāng)目前狀態(tài)為正常狀態(tài)且處理器核心發(fā) 送至指令循環(huán)高速緩存的標(biāo)簽值與之前存儲(chǔ)在指令循環(huán)高速緩存中的每一標(biāo)簽值不同時(shí), 以該標(biāo)簽值更新指令循環(huán)高速緩存。當(dāng)目前狀態(tài)為內(nèi)部狀態(tài),且處理器核心發(fā)送至指令循 環(huán)高速緩存的標(biāo)簽值與之前存儲(chǔ)在指令循環(huán)高速緩存中的每一標(biāo)簽值不同時(shí),進(jìn)入正常狀 態(tài)。當(dāng)目前狀態(tài)為正常狀態(tài)時(shí),對(duì)應(yīng)于接收內(nèi)部信號(hào)而進(jìn)入內(nèi)部狀態(tài)。基于由處理器核心 發(fā)送至該指令循環(huán)高速緩存的提取地址的標(biāo)簽以及存儲(chǔ)在指令循環(huán)高速緩存中的標(biāo)簽值 其中之一之間的比較,判斷指令循環(huán)高速緩存內(nèi)是否發(fā)生高速緩存命中或高速緩存未中。
[0006] 依據(jù)本發(fā)明另一實(shí)施例,本發(fā)明提供一種使用前述指令循環(huán)高速緩存的方法。此 方法包括下列步驟。每當(dāng)提示指令被提取并識(shí)別時(shí),發(fā)送與提示指令相關(guān)的標(biāo)簽值至指令 循環(huán)高速緩存。提示指令通過(guò)標(biāo)簽值而與提示指令被執(zhí)行之后將被執(zhí)行的指令循環(huán)相關(guān)。 基于指令的提取地址的標(biāo)簽與存儲(chǔ)在指令循環(huán)高速緩存中的標(biāo)簽值其中之一之間的比較, 指令循環(huán)高速緩存判斷高速緩存命中或高速緩存未中是否發(fā)生。
[0007] 為讓本案的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì) 說(shuō)明如下。

【專利附圖】

【附圖說(shuō)明】
[0008] 圖1是依照本發(fā)明一實(shí)施例所示出的一種微處理器的示意圖;
[0009] 圖2是依照本發(fā)明一實(shí)施例所示出的存儲(chǔ)器內(nèi)的一種高速緩存線(cache line) 的不意圖;
[0010] 圖3是依照本發(fā)明一實(shí)施例所示出的微處理器的一種指令循環(huán)高速緩存的示意 圖;
[0011] 圖4是依照本發(fā)明一實(shí)施例所示出的一種指令循環(huán)的示意圖;
[0012] 圖5是依照本發(fā)明一實(shí)施例所示出的一種使用指令循環(huán)高速緩存的方法的流程 圖;
[0013] 圖6是依照本發(fā)明一實(shí)施例所示出的一種指令循環(huán)的示意圖;
[0014] 圖7是依照本發(fā)明一實(shí)施例所示出的另一種指令循環(huán)的示意圖;
[0015] 圖8是依照本發(fā)明一實(shí)施例所示出的一種使用指令循環(huán)高速緩存的方法的流程 圖;
[0016] 圖9是依照本發(fā)明一實(shí)施例所示出的相關(guān)于指令循環(huán)高速緩存的一種有限狀態(tài) 機(jī)的不意圖;
[0017] 圖10是依照本發(fā)明一實(shí)施例所示出的一種指令循環(huán)的示意圖;
[0018] 圖11是依照本發(fā)明一實(shí)施例所示出的微處理器的一種指令循環(huán)高速緩存的示意 圖;
[0019] 圖12是依照本發(fā)明一實(shí)施例所示出的一種指令循環(huán)的示意圖。
[0020] 附圖標(biāo)記說(shuō)明:
[0021] 100 :微處理器;
[0022] 120 :處理器核心;
[0023] 125 :循環(huán)標(biāo)簽信號(hào);
[0024] 140 :指令循環(huán)高速緩存;
[0025] 160 :存儲(chǔ)器;
[0026] 320、1120 :高速緩存陣列;
[0027] 322、1122 :標(biāo)簽識(shí)別碼(ID);
[0028] 324 :有效比特;
[0029] 326、1126 :指令/指令類別;
[0030] 340、1140 :標(biāo)簽存儲(chǔ)器;
[0031] 360、1160 :比較器;
[0032] 365 :命中信號(hào);
[0033] 380、1180 :控制器;
[0034] IO ?17、Hint A、Hint B、Call F、F、RET、A、B、JA、JB :指令;
[0035] 505 ?545、805、812 ?818、832 :方法步驟。

【具體實(shí)施方式】
[0036] 圖1是依照本發(fā)明一實(shí)施例所示出的一種微處理器的示意圖。微處理器100包 括處理器核心120以及指令循環(huán)高速緩存140。指令循環(huán)高速緩存140耦接在處理器核 心120以及外部存儲(chǔ)器160。處理器核心120可提供指令流中的一或多個(gè)提取地址至指令 循環(huán)高速緩存140。指令流可包括一或多個(gè)指令。各提取地址包括一個(gè)標(biāo)簽以及索引。在 此,指令的提取地址是代表指令存儲(chǔ)在存儲(chǔ)器160中的地址。提取地址并非指令其運(yùn)算元 (operand)中所包括的地址。
[0037] 指令循環(huán)高速緩存140接收處理器核心120所提供的提取地址,并對(duì)應(yīng)于此提取 地址以確認(rèn)高速緩存命中或高速緩存未中是否發(fā)生。當(dāng)高速緩存命中發(fā)生時(shí),指令循環(huán)高 速緩存140可對(duì)應(yīng)于提取地址,而直接從指令循環(huán)高速緩存140本身提供指令至處理器核 心120。當(dāng)高速緩存未中發(fā)生時(shí),指令循環(huán)高速緩存140則對(duì)應(yīng)于提取地址,而從存儲(chǔ)器160 中的提取并存儲(chǔ)指令,且將上述指令提供給處理器核心120。
[0038] 處理器核心120可通過(guò)循環(huán)標(biāo)簽(loop-tag)信號(hào)125而提供一或多個(gè)標(biāo)簽值(tag value)至指令循環(huán)高速緩存140,藉以對(duì)應(yīng)反向分支(backward branch)指令或提示指令 (hint instruction)。循環(huán)標(biāo)簽信號(hào)125中所傳送的標(biāo)簽值可以和處理器核心120傳送至 指令循環(huán)高速緩存140的提取地址的標(biāo)簽相異。循環(huán)標(biāo)簽信號(hào)125中所傳送的標(biāo)簽值也可 以和處理器核心120傳送至指令循環(huán)高速緩存140的提取地址相關(guān)。在此情況下,循環(huán)標(biāo) 簽信號(hào)可以用控制信號(hào)來(lái)實(shí)現(xiàn),藉以表示提取地址與標(biāo)簽值有關(guān)。以下將詳細(xì)說(shuō)明。
[0039] 圖2是依照本發(fā)明一實(shí)施例所示出的存儲(chǔ)器內(nèi)的一種高速緩存線(cache line) 的示意圖。存儲(chǔ)器160的地址可分為標(biāo)簽以及索引。在本實(shí)施例中,一個(gè)地址有32比特, 而標(biāo)簽有30比特且索引有2比特。在另一實(shí)施例中,地址、標(biāo)簽以及索引可以是不同的比 特?cái)?shù)。在相同高速緩存線中的地址具有相同的標(biāo)簽。舉例而言,指令I(lǐng)O至13位于地址0 至3,且屬于相同的高速緩存線并具有相同標(biāo)簽0。指令14至17位于地址4至7,且屬于相 同的高速緩存線并具有相同標(biāo)簽1。
[0040] 圖3是依照本發(fā)明一實(shí)施例所示出的微處理器的一種指令循環(huán)高速緩存的示 意圖。指令循環(huán)高速緩存140包括高速緩存陣列(cache array) 320、標(biāo)簽存儲(chǔ)器(tag st〇rage)340、比較器360以及控制器380。高速緩存陣列320耦接至處理器核心120與存 儲(chǔ)器160。標(biāo)簽存儲(chǔ)器340耦接至處理器核心120與高速緩存陣列320。比較器360耦接 至高速緩存陣列320與標(biāo)簽存儲(chǔ)器340??刂破?80耦接至處理器核心120、存儲(chǔ)器160、 高速緩存陣列320、標(biāo)簽存儲(chǔ)器340以及比較器360。為求簡(jiǎn)化,標(biāo)簽存儲(chǔ)器340與控制器 380的耦接關(guān)系未示出在圖3中。
[0041] 高速緩存陣列320可以存儲(chǔ)2N個(gè)高速緩存條目(cache entry),其中N為處理器 核心120所提供的提取地址其索引的比特?cái)?shù)。因此,在本實(shí)施例中,高速緩存陣列320的大 小即是一個(gè)高速緩存線。當(dāng)高速緩存線為小時(shí),指令循環(huán)高速緩存140也將相對(duì)為小。
[0042] 圖3以列(row)的形式描繪出高速緩存陣列320中的每一個(gè)高速緩存條目。各個(gè) 高速緩存條目包括3個(gè)類別,也即,標(biāo)簽識(shí)別碼(tag identification ;tag ID,以下簡(jiǎn)稱為 標(biāo)簽ID)322、有效比特(valid bit)324以及指令326。標(biāo)簽識(shí)別碼322用以從存儲(chǔ)在標(biāo)簽 存儲(chǔ)器340的標(biāo)簽值中選擇其中之一。有效比特324表示包括有效比特324的高速緩存條 目為有效或無(wú)效。當(dāng)高速緩存條目的有效比特324被設(shè)定時(shí),此高速緩存條目為有效。指 令326為之前從存儲(chǔ)器160中提取,并在此時(shí)被存儲(chǔ)在高速緩存條目中的指令。高速緩存 陣列320輸出高速緩存條目的標(biāo)簽ID322,且此高速緩存條目的為處理器核心120所提供的 提取地址的索引所對(duì)應(yīng)。換言之,高速緩存條目可以由0編號(hào)至2N-1,且高速緩存陣列320 可輸出編號(hào)與提取地址的索引相符的高速緩存條目的標(biāo)簽ID322。
[0043] 標(biāo)簽存儲(chǔ)器340存儲(chǔ)2M個(gè)標(biāo)簽值,其中M為各高速緩存條目的標(biāo)簽ID322的比特 數(shù)。標(biāo)簽存儲(chǔ)器340中的標(biāo)簽值由0編號(hào)至2M-1。在本實(shí)施例中,M為1。處理器核心120 通過(guò)循環(huán)標(biāo)簽信號(hào)125而提供標(biāo)簽值,而不是通過(guò)前述的提取地址。標(biāo)簽存儲(chǔ)器340輸出 高速緩存陣列320所輸出的標(biāo)簽ID322對(duì)應(yīng)的標(biāo)簽值。換句話說(shuō),標(biāo)簽存儲(chǔ)器340輸出標(biāo) 簽值,且此標(biāo)簽值其數(shù)值與高速緩存陣列320輸出的標(biāo)簽ID相符。
[0044] 比較器360對(duì)處理器核心120提供的提取地址的標(biāo)簽以及標(biāo)簽存儲(chǔ)器340輸出的 標(biāo)簽值進(jìn)行按比特比較(bitwise comparison)。高速緩存陣列320將提取地址的索引所 對(duì)應(yīng)的高速緩存條目的有效比特324輸出至比較器360。當(dāng)提取地址的標(biāo)簽與標(biāo)簽存儲(chǔ)器 340所輸出的標(biāo)簽值相同,且高速緩存陣列320輸出的有效比特324被設(shè)定時(shí),比較器360 設(shè)立(assert)命中信號(hào)365以表示高速緩存命中。否則,比較器360重置(de-assert)命 中信號(hào)365,藉以表不高速緩存未中。
[0045] 控制器380依據(jù)命中信號(hào)365,而將對(duì)應(yīng)于提取地址的指令提供至處理器核心 120。盡管在圖3中是以多路復(fù)用器來(lái)描述控制器380,但控制器380實(shí)際上并不僅限于多 路復(fù)用器。以下更詳加說(shuō)明。
[0046] 圖4是依照本發(fā)明一實(shí)施例所示出的一種指令循環(huán)的示意圖。在存儲(chǔ)器160中有 5個(gè)指令10-14。指令10-13的地址具有相同的標(biāo)簽A。指令14的地址的標(biāo)簽為A+1。指 令14為反向分支指令,且其分支目標(biāo)為指令12。因此,指令循環(huán)包括3個(gè)指令12-14。
[0047] 每當(dāng)處理器核心120執(zhí)行反向分支指令而且此反向分支指令被取用(taken)時(shí), 處理器核心120會(huì)將與反向分支指令相關(guān)的至少一個(gè)標(biāo)簽值發(fā)送至指令循環(huán)高速緩存 140。上述與反向分支指令相關(guān)的至少一個(gè)標(biāo)簽值可以是一或多個(gè)連續(xù)的標(biāo)簽值,并是由反 向分支指令的目標(biāo)地址的標(biāo)簽開始。在本實(shí)施例中,處理器核心120發(fā)送2個(gè)連續(xù)的標(biāo)簽 值,且指令14的目標(biāo)地址為12的提取地址。因此,處理器核心120通過(guò)循環(huán)標(biāo)簽信號(hào)125, 而將A和A+1的標(biāo)簽值發(fā)送至指令循環(huán)高速緩存140。
[0048] 圖5是依照本發(fā)明一實(shí)施例所示出的一種使用指令循環(huán)高速緩存的方法的流程 圖。圖5的方法可由指令循環(huán)高速緩存140的控制器380來(lái)執(zhí)行。當(dāng)微處理器100重置時(shí), 在步驟505中,控制器380通過(guò)清除每一個(gè)高速緩存條目的有效比特324,而使所有的高速 緩存條目無(wú)效。在步驟510中,控制器380接收由處理器核心120所發(fā)送的一或多個(gè)標(biāo)簽 值,并確認(rèn)處理器核心120所發(fā)送的標(biāo)簽值是否與存儲(chǔ)在標(biāo)簽存儲(chǔ)器340中的標(biāo)簽值不同。 當(dāng)控制器380從處理器核心120所接收的任何一個(gè)標(biāo)簽值與之前存儲(chǔ)在標(biāo)簽存儲(chǔ)器340中 的標(biāo)簽值不同時(shí),此流程會(huì)進(jìn)入步驟515。否則,此流程將進(jìn)入步驟520。
[0049] 在步驟515中,控制器380以從處理器核心120接收到的至少一個(gè)標(biāo)簽來(lái)更新標(biāo) 簽存儲(chǔ)器340。當(dāng)標(biāo)簽存儲(chǔ)器340有空位可容納從處理器核心120接收到的至少一個(gè)標(biāo)簽 值時(shí),控制器380可簡(jiǎn)單地通過(guò)將從處理器核心120接收到的至少一個(gè)標(biāo)簽值加入至標(biāo)簽 存儲(chǔ)器340以更新標(biāo)簽存儲(chǔ)器340。否則,控制器380以從處理器核心120接收到的至少一 個(gè)標(biāo)簽值來(lái)取代之前存儲(chǔ)在標(biāo)簽存儲(chǔ)器340的標(biāo)簽值,并通過(guò)清除每一個(gè)高速緩存條目的 有效比特324而使所有的高速緩存條目無(wú)效,藉以更新標(biāo)簽存儲(chǔ)器340。之后,流程回到步 驟 510。
[0050] 在步驟520中,控制器380確認(rèn)是否從處理器核心120接收到指令的提取地址。 當(dāng)未收到提取地址時(shí),流程回到步驟510。而當(dāng)收到所述的提取地址時(shí),流程進(jìn)入步驟525。 在步驟525中,控制器380確認(rèn)比較器360是否設(shè)立命中信號(hào)365。當(dāng)命中信號(hào)365未設(shè)立 時(shí),流程進(jìn)入步驟535。當(dāng)命中信號(hào)365被設(shè)立時(shí),則在步驟530中,控制器380將提取地 址的索引所對(duì)應(yīng)的高速緩存條目的指令326提供至處理器核心120。之后,流程回到步驟 510。
[0051] 在步驟535中,控制器380從存儲(chǔ)器160中提取位于提取地址的指令,并將指令提 供至處理器核心120。在步驟540中,控制器380確認(rèn)提取地址的標(biāo)簽是否與存儲(chǔ)在標(biāo)簽存 儲(chǔ)器340中的任何一個(gè)標(biāo)簽值相同,且提取地址的索引所對(duì)應(yīng)的高速緩存條目為無(wú)效。當(dāng) 步驟540中的確認(rèn)結(jié)果為否時(shí),流程回到步驟510。而當(dāng)步驟540中的確認(rèn)結(jié)果為是時(shí),則 在步驟545中,控制器380將位于提取地址的存儲(chǔ)器160中的指令填入至提取地址的索引 所對(duì)應(yīng)的高速緩存條目。此外,控制器380設(shè)定標(biāo)簽ID322與所述高速緩存條目的有效比 特324。之后,流程回到步驟510。
[0052] 下表一示出微處理器100如何以圖4中的循環(huán)指令進(jìn)行高速緩存。以下討論請(qǐng)參 照?qǐng)D3、圖4以及圖5。
[0053] 表一
[0054]

【權(quán)利要求】
1. 一種微處理器,其特征在于,包括: 處理器核心,提供指令流的提取地址,其中該指令流包括一或多個(gè)指令,且其中該提取 地址包括標(biāo)簽及索引;以及 指令循環(huán)高速緩存,自該處理器核心接收該提取地址,包括: 高速緩存陣列,耦接至該處理器核心,存儲(chǔ)第一預(yù)定數(shù)量個(gè)高速緩存條目,其中每一上 述高速緩存條目包括標(biāo)簽識(shí)別碼,且其中該高速緩存陣列輸出該提取地址中該索引所對(duì)應(yīng) 的該高速緩存條目的該標(biāo)簽識(shí)別碼;以及 標(biāo)簽存儲(chǔ)器,耦接至該處理器核心以及該高速緩存陣列,經(jīng)配置用以存儲(chǔ)第二預(yù)定數(shù) 量個(gè)標(biāo)簽值并輸出該高速緩存陣列輸出的該標(biāo)簽識(shí)別碼所對(duì)應(yīng)的該標(biāo)簽值,其中該指令循 環(huán)高速緩存基于該提取地址的該標(biāo)簽與該標(biāo)簽存儲(chǔ)器輸出的該標(biāo)簽值之間的按比特比較, 而決定高速緩存命中或高速緩存未中是否發(fā)生。
2. 根據(jù)權(quán)利要求1所述的微處理器,其特征在于,每當(dāng)反向分支指令被取用時(shí),該處理 器核心發(fā)送與該反向分支指令相關(guān)的至少一標(biāo)簽值至該指令循環(huán)高速緩存。
3. 根據(jù)權(quán)利要求1所述的微處理器,其特征在于,每當(dāng)該處理器核心提取并識(shí)別提示 指令時(shí),該處理器核心發(fā)送與該提示指令相關(guān)的標(biāo)簽值至該指令循環(huán)高速緩存。
4. 根據(jù)權(quán)利要求1所述的微處理器,其特征在于,每一上述高速緩存條目還包括有效 比特,且該指令循環(huán)高速緩存還包括: 比較器,耦接至該處理器核心、該標(biāo)簽存儲(chǔ)器以及該高速緩存陣列,當(dāng)該提取地址的該 標(biāo)簽與該標(biāo)簽存儲(chǔ)器輸出的該標(biāo)簽值相同,且該提取地址中該索引所對(duì)應(yīng)的該高速緩存條 目的該有效比特被設(shè)定時(shí),設(shè)立命中信號(hào)以表示該高速緩存命中,否則重置該命中信號(hào)以 表示該高速緩存未中。
5. 根據(jù)權(quán)利要求1所述的微處理器,其特征在于,當(dāng)該高速緩存陣列輸出的該標(biāo)簽識(shí) 別碼與預(yù)定值相同時(shí),該標(biāo)簽存儲(chǔ)器輸出無(wú)效標(biāo)簽值,該無(wú)效標(biāo)簽值為與任何提取地址的 該標(biāo)簽皆不同的唯一值,且該指令循環(huán)高速緩存還包括: 比較器,耦接至該處理器核心以及該標(biāo)簽存儲(chǔ)器,當(dāng)該提取地址的該標(biāo)簽與該標(biāo)簽存 儲(chǔ)器輸出的該標(biāo)簽值相同時(shí),設(shè)立命中信號(hào)以表示該高速緩存命中,否則重置該命中信號(hào) 以表示該高速緩存未中。
6. 根據(jù)權(quán)利要求1所述的微處理器,其特征在于,每一上述高速緩存條目還包括指令, 且該指令循環(huán)高速緩存還包括: 控制器,耦接至該處理器核心、該高速緩存陣列、該標(biāo)簽存儲(chǔ)器以及存儲(chǔ)器,當(dāng)該高速 緩存命中發(fā)生時(shí),提供該提取地址中該索引所對(duì)應(yīng)的該高速緩存條目的該指令至該處理器 核心,當(dāng)該高速緩存未中發(fā)生時(shí),提供位于該提取地址的該存儲(chǔ)器中的指令至該處理器核 心,當(dāng)該高速緩存未中發(fā)生、該提取地址的該標(biāo)簽與存儲(chǔ)在該標(biāo)簽存儲(chǔ)器的標(biāo)簽值其中之 一相同、且該提取地址中該索引所對(duì)應(yīng)的該高速緩存條目為無(wú)效時(shí),將位于該提取地址的 該存儲(chǔ)器中的該指令填入至該提取地址中該索引所對(duì)應(yīng)的該高速緩存條目。
7. 根據(jù)權(quán)利要求6所述的微處理器,其特征在于,當(dāng)接收自該處理器核心的該標(biāo)簽值 與之前存儲(chǔ)在該標(biāo)簽存儲(chǔ)器中的每一標(biāo)簽值不同時(shí),該控制器以接收自該處理器核心的標(biāo) 簽值更新該標(biāo)簽存儲(chǔ)器。
8. 根據(jù)權(quán)利要求7所述的微處理器,其特征在于,該控制器與包括正常狀態(tài)及內(nèi)部狀 態(tài)的有限狀態(tài)機(jī)相關(guān),該控制器在初始時(shí)進(jìn)入該正常狀態(tài),當(dāng)該控制器為該正常狀態(tài)且接 收自該處理器核心的該標(biāo)簽值與之前存儲(chǔ)在該標(biāo)簽存儲(chǔ)器中的每一標(biāo)簽值不同時(shí),該控制 器以接收自該處理器核心的該標(biāo)簽值來(lái)更新該標(biāo)簽存儲(chǔ)器,當(dāng)該控制器為該內(nèi)部狀態(tài)且接 收自該處理器核心的該標(biāo)簽值與先前存儲(chǔ)在該標(biāo)簽存儲(chǔ)器中的每一標(biāo)簽值不同時(shí),該控制 器進(jìn)入該正常狀態(tài),當(dāng)該控制器為該正常狀態(tài)并接收內(nèi)部信號(hào)時(shí),該控制器進(jìn)入該內(nèi)部狀 態(tài)。
9. 一種使用指令循環(huán)高速緩存的方法,其特征在于,包括: 初始時(shí)進(jìn)入正常狀態(tài),其中該指令循環(huán)高速緩存與包括該正常狀態(tài)及內(nèi)部狀態(tài)的有限 狀態(tài)機(jī)相關(guān); 當(dāng)目前狀態(tài)為該正常狀態(tài)且處理器核心發(fā)送至該指令循環(huán)高速緩存的標(biāo)簽值與之前 存儲(chǔ)在該指令循環(huán)高速緩存中的每一標(biāo)簽值不同時(shí),以該標(biāo)簽值更新該指令循環(huán)高速緩 存; 當(dāng)該目前狀態(tài)為該內(nèi)部狀態(tài),且該處理器核心發(fā)送至該指令循環(huán)高速緩存的該標(biāo)簽值 與之前存儲(chǔ)在該指令循環(huán)高速緩存中的每一標(biāo)簽值不同時(shí),進(jìn)入該正常狀態(tài); 當(dāng)該目前狀態(tài)為該正常狀態(tài)時(shí),對(duì)應(yīng)于接收內(nèi)部信號(hào)而進(jìn)入該內(nèi)部狀態(tài);以及 基于由該處理器核心發(fā)送至該指令循環(huán)高速緩存的提取地址的標(biāo)簽以及存儲(chǔ)在該指 令循環(huán)高速緩存中的標(biāo)簽值其中之一之間的比較,判斷該指令循環(huán)高速緩存內(nèi)是否發(fā)生高 速緩存命中或高速緩存未中。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述更新該指令循環(huán)高速緩存的步驟包 括: 將發(fā)送自該處理器核心的該標(biāo)簽值加入至該指令循環(huán)高速緩存,或以發(fā)送自該處理器 核心的該標(biāo)簽值取代之前存儲(chǔ)在該指令循環(huán)高速緩存中的標(biāo)簽值。
11. 一種使用指令循環(huán)高速緩存的方法,其特征在于,包括: 每當(dāng)提示指令被提取并識(shí)別時(shí),發(fā)送與該提示指令相關(guān)的標(biāo)簽值至該指令循環(huán)高速緩 存,其中該提示指令通過(guò)該標(biāo)簽值而與該提示指令被執(zhí)行之后將被執(zhí)行的指令循環(huán)相關(guān), 且其中基于指令的提取地址的標(biāo)簽與存儲(chǔ)在該指令循環(huán)高速緩存中的標(biāo)簽值其中之一之 間的比較,該指令循環(huán)高速緩存判斷高速緩存命中或高速緩存未中是否發(fā)生。
12. 根據(jù)權(quán)利要求11所述的方法,其特征在于,該提示指令為條件式分支指令,該條件 式分支指令的分支條件總是不成立,且與該提示指令相關(guān)的該標(biāo)簽值為該條件式分支指令 的目標(biāo)地址的標(biāo)簽。
13. 根據(jù)權(quán)利要求12所述的方法,其特征在于,該目標(biāo)地址指向該指令循環(huán)或該指令 循環(huán)中將被呼叫的函數(shù)。
14. 根據(jù)權(quán)利要求11所述的方法,其特征在于,該提示指令為無(wú)操作指令,該提示指令 被緊接地設(shè)置在該指令循環(huán)之前,且與該提示指令相關(guān)的該標(biāo)簽值為該指令循環(huán)的第一個(gè) 指令的提取地址的標(biāo)簽。
【文檔編號(hào)】G06F9/30GK104516829SQ201410080470
【公開日】2015年4月15日 申請(qǐng)日期:2014年3月6日 優(yōu)先權(quán)日:2013年9月26日
【發(fā)明者】陳忠和, 喬偉豪 申請(qǐng)人:晶心科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1