數(shù)據(jù)處理裝置制造方法
【專利摘要】根據(jù)基于作為地址信息的一部分的標記地址信息而生成的選擇數(shù)據(jù)的值,從多個路中選擇部分路,讀取高速緩存標記。另外,高速緩沖存儲器在進行高速緩存填充時,對與從所述選擇數(shù)據(jù)的值相應(yīng)的部分路中選擇出的高速緩存條目,進行高速緩存填充。對用于路選擇的選擇數(shù)據(jù),例如使用針對標記地址信息的奇偶校驗數(shù)據(jù),基于奇偶校驗數(shù)據(jù)的值,選擇讀取高速緩存標記的路,進而選擇進行高速緩存填充的高速緩存條目的路。
【專利說明】數(shù)據(jù)處理裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及含有組相聯(lián)(set associative)型高速緩沖存儲器的數(shù)據(jù)處理裝置,涉及有效應(yīng)用于例如微型計算機的技術(shù)。
【背景技術(shù)】
[0002]為了能夠使CPU對運算對象數(shù)據(jù)(operand data)或指令進行高速訪問,在大容量的工作存儲區(qū)和CPU之間配置高速緩沖存儲器。作為電路規(guī)模較小且能夠得到較高的高速緩存命中率的高速緩沖存儲器,而使用組相聯(lián)型高速緩沖存儲器(以下有時也簡稱為組相聯(lián)高速緩沖存儲器)。組相聯(lián)高速緩沖存儲器具有能夠在同一個高速緩存條目(cacheentry)中存儲多個不同標記的數(shù)據(jù)的構(gòu)造。在具有多個成對的標記路(tag way)和數(shù)據(jù)路(data way)且各個路的高速緩存條目為例如256種的情況下,利用地址信息的低位側(cè)8位的索引地址信息而選擇各路的高速緩存條目。在標記路中,按照由索引地址指定的各個高速緩存條目,將該索引地址信息的高位側(cè)多位的標記地址信息作為高速緩存標記進行存儲,在數(shù)據(jù)路中,按照由索引地址指定的各個高速緩存條目,存儲由對應(yīng)的索引地址信息及標記地址信息確定的地址的數(shù)據(jù)。在CPU進行的讀訪問或?qū)懺L問中,根據(jù)該訪問地址的索引地址信息而讀出所有的標記路,在讀出的高速緩存標記與訪問地址信息的標記地址信息一致時,與該標記路成對的數(shù)據(jù)路的對應(yīng)高速緩存條目成為數(shù)據(jù)讀或數(shù)據(jù)寫的操作對象。這里所說明的針對組相聯(lián)高速緩沖存儲器的內(nèi)容已經(jīng)是被公眾所知的內(nèi)容。
[0003]如上述代表性內(nèi)容所示,在具有多個標記路的高速緩沖存儲器中,從所有的標記路同時讀出高速緩存標記,快速判斷高速緩存標記和標記地址之間是否一致,但在此情況下,由于所有標記路同時被激活,導(dǎo)致電力消耗增加。針對這一點,專利文獻I通過能夠切換直接映射方式和組相聯(lián)方式,從而實現(xiàn)低耗電化。另外,專利文獻2設(shè)置為:確定路的分割數(shù)量,按順序?qū)β愤M行訪問,不使用對多個路進行并行索引的動作。
[0004]另外,作為高速緩沖存儲器,有時其存儲信息會由于宇宙射線(α射線、β射線)等影響而產(chǎn)生不期望地反轉(zhuǎn)的位反轉(zhuǎn)錯誤(軟件錯誤)。該位反轉(zhuǎn)錯誤能夠使用奇偶校驗位檢測到。特別地,利用了奇偶校驗檢查的專利文獻3,通過對訪問地址數(shù)據(jù)進行奇偶校驗檢查,而不需要針對各個存儲器陣列的奇偶校驗檢查電路,由此,欲通過減少奇偶校驗檢查電路的數(shù)量而實現(xiàn)低耗電。
[0005]現(xiàn)有技術(shù)文獻
[0006]專利文獻
[0007]專利文獻1:日本特開2002 - 236616號公報
[0008]專利文獻2:日本特開2010 - 26716號公報
[0009]專利文獻3:日 本特開2000 - 132460號公報
[0010]根據(jù)本發(fā)明人對組相聯(lián)高速緩沖存儲器的低耗電化的研究,在專利文獻I的情況下,在選擇直接映射方式而成為低耗電時,不得不犧牲高速緩存命中率。在專利文獻2的情況下,不得已而使高速緩存動作遲緩。在專利文獻3的情況下,是通過減少奇偶校驗檢查電路的數(shù)量而實現(xiàn)低耗電的,不能期待進一步的低耗電。
[0011]進而,根據(jù)本發(fā)明人對組相聯(lián)高速緩沖存儲器中的位反轉(zhuǎn)錯誤進行檢測的電路規(guī)模的縮小研究,專利文獻3止于對訪問請求地址自身是否存在錯誤的確認,無法期待對路所保持的數(shù)據(jù)的位反轉(zhuǎn)錯誤進行檢測的電路的縮小。專利文獻I并沒有考慮對于不期望的位反轉(zhuǎn)錯誤的奇偶校驗檢查。專利文獻2中,考慮了在從數(shù)據(jù)陣列讀出的數(shù)據(jù)的轉(zhuǎn)發(fā)定時進行的錯誤檢測,但沒有考慮對路所保持的數(shù)據(jù)的不期望的位反轉(zhuǎn)錯誤進行檢測。
[0012]本發(fā)明的目的在于,從在組相聯(lián)高速緩沖存儲器中選擇路這一方面,不犧牲高速緩存條目的選擇動作速度地實現(xiàn)低耗電。
[0013]本發(fā)明的另一個目的在于,縮小在組相聯(lián)高速緩沖存儲器中對路的位反轉(zhuǎn)錯誤進行檢測的電路的規(guī)模。
[0014]本發(fā)明的前述目的及其它目的和新特征,能夠根據(jù)本說明書的記載及附圖得以明確。
【發(fā)明內(nèi)容】
[0015]如果簡單地說明本申請所公開的發(fā)明中的代表性的部分,則如下述所示。
[0016]S卩,根據(jù)基于作為地址信息的一部分的標記地址信息而生成的選擇數(shù)據(jù)的值,從多個路中選擇部分路,讀取高速緩存標記。另外,高速緩沖存儲器在進行高速緩存填充時,對從與所述選擇數(shù)據(jù)的值相應(yīng)的部分路中選擇的高速緩存條目,進行高速緩存填充。
[0017]作為路選擇時所使用的選擇數(shù)據(jù),例如使用針對標記地址信息的奇偶校驗數(shù)據(jù),基于奇偶校驗數(shù)據(jù)的值而進行讀取高速緩存標記的路的選擇、進而對進行高速緩存填充的高速緩存條目的路進行選擇。
[0018]發(fā)明的效果
[0019]如果簡單地說明本申請所公開的發(fā)明中具有代表性內(nèi)容所得到的效果,則如下述所示。
[0020]即,從在組相聯(lián)高速緩沖存儲器中選擇路這一方面,能夠不犧牲高速緩存條目的選擇動作速度地實現(xiàn)低耗電。
[0021]能夠縮小在組相聯(lián)高速緩沖存儲器中對路的位反轉(zhuǎn)錯誤進行檢測的電路的規(guī)模。【專利附圖】
【附圖說明】
[0022]圖1是例示作為數(shù)據(jù)處理裝置的一個實施方式的微型計算機的框圖。
[0023]圖2是例示在實現(xiàn)組相聯(lián)高速緩沖存儲器功能的情況下的存儲器墊塊(memorymat)的概略結(jié)構(gòu)的框圖。
[0024]圖3是例不對聞速緩沖存儲器的標記路的奇偶校驗功能的基本結(jié)構(gòu)的框圖。
[0025]圖4是代表性地表示著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)的框圖。
[0026]圖5是例示對高速緩存條目的讀取動作系列的高速緩存動作流程的流程圖。
[0027]圖6是例示著眼于組合在圖4的讀取動作系列的結(jié)構(gòu)中的填充動作系列的結(jié)構(gòu)的框圖。
[0028]圖7是例示對高速緩存條目的填充動作系列的高速緩存動作流程的流程圖。
[0029]圖8是例示在能夠選擇性地啟動/停止奇偶校驗檢查功能的情況下,著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)的框圖。
[0030]圖9是例示在能夠選擇性地啟動/停止奇偶校驗檢查功能的情況下,著眼于對高速緩存條目的填充動作系列的結(jié)構(gòu)的框圖。
[0031]圖10是表示在圖4的著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)中應(yīng)用了使用多位奇偶校驗數(shù)據(jù)的結(jié)構(gòu)的例子的框圖。
[0032]圖11是例示在按每個存儲器塊存儲2個路的情況下,著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)的框圖。
[0033]圖12是例示在按每個存儲器塊存儲2個路的情況下,著眼于對高速緩存條目的填充動作系列的結(jié)構(gòu)的框圖。
[0034]圖13是例示在以多線程進行處理的情況下,進行各個線程的處理的虛擬CPU編號(Virtual CPU ID)為上述信息α的情況下的標記條目的結(jié)構(gòu)的說明圖。
[0035]圖14是例示在使用圖13的標記條目的情況下,著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)的框圖。
[0036]圖15是例示在使用圖13的標記條目的情況下,著眼于對高速緩存條目的填充動作系列的結(jié)構(gòu)的框圖。
[0037]圖16是表示存儲器塊16、16Α、15、15Α的具體例子的框圖。
[0038]圖17是例示作為標記路的一個例子而在由存儲器塊16構(gòu)成的TagWAY#0的存儲器單元陣列中所存儲的標記條目的配置的說明圖。
[0039]圖18是例示作為數(shù)據(jù)路的一個例子而在由存儲器塊16構(gòu)成的DataWAY#0的存儲器單元陣列中所存儲的數(shù)據(jù)條目的配置的說明圖。
[0040]圖19是例示作為標記路的其它例子而在由存儲器塊16A構(gòu)成的TagWAY#0及TagffAY#2的存儲器單元陣列中所存儲的標記條目的配置的說明圖。
[0041]圖20是例示作為數(shù)據(jù)路的一個例子而在由存儲器塊16構(gòu)成的DataWAY#0及DataffAY#2的存儲器單元陣列中所存儲的數(shù)據(jù)條目的配置的說明圖。
[0042]圖21是例示在LRU陣列15、15A的存儲器單元陣列中所存儲的LRU條目的配置的說明圖。
[0043]圖22是將對標記路的索引動作方式的主要方式進行總結(jié)表示的說明圖。
【具體實施方式】
[0044]1.實施方式的概要
[0045]首先,說明本申請所公開的發(fā)明的代表實施方式的概要。在針對代表實施方式的概要說明中,添加括號而進行參照的附圖中的附圖標記,僅為例示添加該括號的構(gòu)成要素的概念中包含的要素。
[0046]〔 I〕<基于地址信息選擇部分路>
[0047]本發(fā)明的代表實施方式所涉及的數(shù)據(jù)處理裝置(I)含有在多個路中存儲多個高速緩存條目的組相聯(lián)型高速緩沖存儲器(3)。所述高速緩沖存儲器在讀取高速緩存標記時,與基于作為地址信息的一部分的標記地址信息(TAGadrs)而生成的選擇數(shù)據(jù)(PRTdat)的值對應(yīng)地,從所述多個路(12、13)中選擇部分路,從所選擇的路中,使用所述地址信息中的索引地址讀取高速緩存標記。另外,所述高速緩沖存儲器在進行高速緩存填充時,對從與所述選擇數(shù)據(jù)的值對應(yīng)的部分路中選擇出的高速緩存條目(14),進行高速緩存填充。
[0048]由此,在讀取高速緩存標記時,根據(jù)選擇數(shù)據(jù)的值而僅選擇部分標記路,從中索引高速緩存標記即可,不需要使所有的標記路并行地動作,有助于低耗電。對于作為高速緩存填充對象的高速緩存條目,也作為屬于選擇數(shù)據(jù)所示的路的高速緩存條目,因此,能夠容易地維持保存有高速緩存動作中應(yīng)讀取的高速緩存標記的路、和通過選擇數(shù)據(jù)所選擇的路之間的對應(yīng)關(guān)系,保證上述的低耗電。
[0049]〔2〕<將奇偶校驗數(shù)據(jù)用于選擇數(shù)據(jù)>
[0050]在第I項中,所述高速緩沖存儲器針對作為所述地址信息的一部分的標記地址信息生成奇偶校驗數(shù)據(jù)(PRTdat),來作為所述選擇數(shù)據(jù)。
[0051]由此,在高速緩存條目的替換中,至少使用限定了所使用的路范圍的奇偶校驗數(shù)據(jù)。由此,如果假定供給至高速緩沖存儲器的地址信息沒有錯誤,則高速緩存標記的讀取對象成為與該地址信息相關(guān)的奇偶校驗數(shù)據(jù)的值所對應(yīng)的路,因此,不需要與高速緩存條目對應(yīng)地保存奇偶校驗位。由此,不需要根據(jù)讀取出的高速緩存標記為了進行比較而生成奇偶校驗數(shù)據(jù)的電路,能夠抑制將位反轉(zhuǎn)后的高速緩存標記錯誤地作為正規(guī)的高速緩存標記進行處理的誤動作。即,即使高速緩存標記產(chǎn)生奇偶校驗數(shù)據(jù)的值反轉(zhuǎn)這種位反轉(zhuǎn),也由于該位反轉(zhuǎn)后的高速緩存標記所位于的路并非根據(jù)該奇偶校驗數(shù)據(jù)的值的原本的路,所以不成為索引的對象。由此,能夠在提高針對高速緩存標記的位反轉(zhuǎn)的可靠性的同時,將奇偶校驗生成電路的數(shù)量減半。進而,從能夠?qū)⑵媾夹r炆呻娐返臄?shù)量減半這一點出發(fā),能夠?qū)崿F(xiàn)更低的耗電。
[0052]〔3〕<基于多位的高速緩存錯誤>
[0053]在第I項中,所述高速緩沖存儲器將從所述路中讀取的各個高速緩存標記與所述標記地址進行比較,判斷它們的比較結(jié)果是完全不一致、僅一個一致或者有多個一致的哪一種,在判斷為所述有多個一致時,生成高速緩存錯誤信號(41)。
[0054]由此,在由于高速緩存標記位反轉(zhuǎn)而與標記地址不一致的情況下,只要與通常的高速緩存脫靶相同地進行應(yīng)對即可。即使看起來產(chǎn)生了通過高速緩存標記的多位反轉(zhuǎn)而具有與正規(guī)的高速緩存標記相同的高速緩存標記的高速緩存條目,也能夠通過對上述有多個一致進行判斷,而對這種異常進行應(yīng)對。
[0055]〔4〕<將高速緩存錯誤作為異常要素或中斷要素>
[0056]在第3項中,還具有將所述高速緩存錯誤信號作為異常要素或中斷要素進行輸入的中斷控制器(9)。
[0057]由此,在考慮到位反轉(zhuǎn)對上述高速緩存錯誤的發(fā)生的影響較大時,能夠經(jīng)由中斷處理或異常處理而靈活進行與該狀況對應(yīng)的處理。
[0058]〔5〕<作為數(shù)據(jù)操作對象的高速緩存條目>
[0059]在第3項中,所述高速緩沖存儲器將所述僅一個一致的比較結(jié)果所涉及的高速緩存標記的高速緩存條目,作為數(shù)據(jù)操作的對象。
[0060]由此,能夠容易地轉(zhuǎn)移至與通常的高速緩存命中相應(yīng)的高速緩存條目的數(shù)據(jù)操作。
[0061]〔6〕<對各個路的存儲器塊的激活/非激活控制>
[0062]在第I項中,所述路具有與所述索引地址對應(yīng)地存儲所述高速緩存標記的標記路(12)、以及與所述索引地址對應(yīng)地存儲數(shù)據(jù)的數(shù)據(jù)路(13)。高速緩存條目含有所述高速緩存標記以及與該高速緩存標記對應(yīng)的數(shù)據(jù),所述多個標記路分別由按每個標記路而被選擇為激活或非激活的存儲器塊(16)構(gòu)成。所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)使用了所述選擇數(shù)據(jù)的存儲器塊的激活,進行所述部分標記路的選擇。
[0063]由此,能夠通過對以標記路為單位的多個存儲器塊進行選擇性非激活,而實現(xiàn)低耗電。
[0064]〔7〕< I位奇偶校驗數(shù)據(jù)>
[0065]在第6項中,所述選擇數(shù)據(jù)是相對于作為所述地址信息的一部分的標記地址信息的所有位而為I位的奇偶校驗數(shù)據(jù)PRTdat,第I邏輯值的奇偶校驗數(shù)據(jù)用于選擇所述多個存儲器塊的一半,第2邏輯值的奇偶校驗數(shù)據(jù)用于選擇所述多個存儲器塊的剩余一半。
[0066]由此,能夠?qū)⒆x取用于進行地址比較的高速緩存標記所需的電力消耗大致減半。
[0067]〔8〕<多位奇偶校驗數(shù)據(jù)>
[0068]在第6項中,所述選擇數(shù)據(jù)是由作為所述地址信息的一部分的標記地址信息的多個分割部分的每一分割部分的奇偶校驗位構(gòu)成的多位的奇偶校驗數(shù)據(jù)(PRTdat [1:0]),所述奇偶校驗數(shù)據(jù)的值決定從多個標記路中選擇的標記路。
[0069]由此,能夠利用比較簡單的結(jié)構(gòu),進一步降低讀取用于進行地址比較的高速緩存標記所需的電力消耗。
[0070]〔9〕<進行索引的標記路選擇功能的啟動/停止>
[0071]在第6項中,所述高速緩沖存儲器具有--第I模式(PBS = on),其從所述多個路中基于所述選擇數(shù)據(jù)選擇一部分標記路而讀取高速緩存標記;以及第2模式(PBS = off),其使讀取高速緩存標記的對象標記路為所有的標記路,輸入選擇所述第I模式或第2模式的模式選擇信號(MOD)。
[0072]由此,由于以I路I存儲器塊的結(jié)構(gòu)作為前提,所以與僅能夠?qū)崿F(xiàn)第I模式的電路結(jié)構(gòu)相比,能夠通過最小限度的結(jié)構(gòu)變更而實現(xiàn)在想要使低耗電優(yōu)先的情況下設(shè)定為第I模式、在想要使高高速緩存命中率優(yōu)先的情況下設(shè)定為第2模式的自由度。
[0073]〔 10〕<對多路的每個路的存儲器塊的激活/非激活控制>
[0074]在第I項中,所述路具有與所述索引地址對應(yīng)地存儲所述高速緩存標記的標記路、以及與所述索引地址對應(yīng)地存儲數(shù)據(jù)的數(shù)據(jù)路。高速緩存條目含有所述高速緩存標記以及與該高速緩存標記對應(yīng)的數(shù)據(jù)。所述多個標記路是將每規(guī)定多個的標記路匯集到一個存儲器塊(16A)中而構(gòu)成,構(gòu)成在同一存儲器塊中的多個標記路通過彼此不同的選擇數(shù)據(jù)而被選擇。所述高速緩沖存儲器在讀取高速緩存標記時,使用所述選擇數(shù)據(jù)和所述索引地址信息來讀取高速緩存標記。
[0075]由此,由于在I個存儲器塊中匯集了不會被同時選擇的多個標記路,因此,I個存儲器塊具有的讀出放大器或緩沖放大器的數(shù)量與I個存儲器塊中具有I個標記路的情況大致相等,與所有存儲器塊的數(shù)量減少的量對應(yīng)地,非激活狀態(tài)下的亞閾值漏電流這種漏電流減少,從這一點出發(fā),有時能夠有助于進一步降低耗電。
[0076](11) < I位奇偶校驗數(shù)據(jù)>
[0077]在第10項中,所述選擇數(shù)據(jù)是相對于作為所述地址信息的一部分的標記地址信息的所有位而為I位的奇偶校驗數(shù)據(jù)(PRTdat)。第I邏輯值的奇偶校驗數(shù)據(jù)用于選擇各個所述存儲器塊中的一方的標記路。第2邏輯值的奇偶校驗數(shù)據(jù)用于選擇各個所述多個存儲器塊中的另一方的標記路。
[0078]由此,能夠?qū)⒆x取用于進行地址比較的高速緩存標記所需的電力消耗大致減半。
[0079]〔12〕<多位奇偶校驗數(shù)據(jù)>
[0080]在第10項中,所述選擇數(shù)據(jù)是由作為所述地址信息的一部分的標記地址信息的多個分割部分的每一分割部分的奇偶校驗位構(gòu)成的多位的奇偶校驗數(shù)據(jù)(PRTdat[1:0]),所述奇偶校驗數(shù)據(jù)的值決定從各個存儲器塊中選擇的標記路。
[0081]由此,能夠利用比較簡單的結(jié)構(gòu),進一步降低讀取用于進行地址比較的高速緩存標記所需的電力消耗。
[0082]〔13〕< LRU 數(shù)據(jù)陣列>
[0083]在第I項中,所述高速緩沖存儲器具有存儲用作以下指標的存儲LRU數(shù)據(jù)(LRU [1: O], LRU [2:0])的LRU數(shù)據(jù)陣列(15、15A),該指標用于在決定進行高速緩存填充的高速緩存條目時,通過偽LRU來確定成為高速緩存填充對象的高速緩存條目。所述LRU數(shù)據(jù)陣列具有按針對高速緩存條目的每個索引地址而存儲多位的履歷數(shù)據(jù)的區(qū)域,該多位的履歷數(shù)據(jù)表示基于選擇數(shù)據(jù)所選擇的部分路的每個路的利用履歷。所述高速緩沖存儲器基于使用索引地址信息而從LRU數(shù)據(jù)陣列讀出的所述履歷數(shù)據(jù)、以及對應(yīng)的選擇數(shù)據(jù),選擇進行高速緩存填充的高速緩存條目。
[0084]由此,由于在選擇進行高速緩存填充的高速緩存條目時,同時使用履歷數(shù)據(jù)和選擇數(shù)據(jù),所以能夠與選擇數(shù)據(jù)的位數(shù)對應(yīng)地減少履歷數(shù)據(jù)的位數(shù),從這一點出發(fā),有助于縮小LRU數(shù)據(jù)陣列的電路規(guī)模、以及降低電路產(chǎn)生的電力消耗。
[0085]〔 14〕<與每個路的存儲器塊對應(yīng)的LRU >
[0086]在第13項中,所述多個路分別由按每個標記路而被選擇為激活或非激活的存儲器塊(16)構(gòu)成。所述高速緩沖存儲器在讀取高速緩存標記時,通過使用了所述選擇數(shù)據(jù)的存儲器塊的激活,進行基于所述選擇數(shù)據(jù)的部分路的選擇。所述高速緩沖存儲器在進行高速緩存填充時,根據(jù)在各個存儲器塊中由所述索引地址所指示的高速緩存條目內(nèi)、基于索弓丨地址信息而從所述LRU數(shù)據(jù)陣列(15)讀出的多位的所述履歷數(shù)據(jù)(LRU[1:0])、以及基于所述標記地址而生成的所述選擇數(shù)據(jù)(PRTdat),選擇進行高速緩存填充的高速緩存條目。
[0087]由此,在存儲履歷數(shù)據(jù)時,只要與選擇數(shù)據(jù)的值對應(yīng)地確定履歷數(shù)據(jù)的值即可,對于針對被索引的履歷數(shù)據(jù)的值而激活哪個存儲器塊這一情況,只要根據(jù)此時的選擇數(shù)據(jù)的值確定即可,用于從被激活的存儲器塊中選擇高速緩存條目的地址信息可以僅為索引地址信息。
[0088]〔 15〕<與多路的每個路的存儲器塊對應(yīng)的LRU >
[0089]在第13項中,所述多個路是將每規(guī)定多個的標記路匯集到一個存儲器塊(16A)中而構(gòu)成,構(gòu)成在同一存儲器塊中的多個路通過彼此不同的選擇數(shù)據(jù)而被選擇。所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)所述選擇數(shù)據(jù)來指定被激活的各個存儲器塊中的哪個路被選擇,選擇所指定的路中的哪個高速緩存標記是根據(jù)所述地址信息中的索引地址信息來指定的。所述高速緩沖存儲器在進行高速緩存填充時,根據(jù)多位的履歷數(shù)據(jù)(LRU[2:0])來指定哪個存儲器塊被選擇,根據(jù)所述選擇數(shù)據(jù)(PRTdat)來指定從所指定的存儲器塊中選擇哪個路,根據(jù)所述索引地址(IDXadrs)來指定從所指定的路中將哪個高速緩存條目作為高速緩存填充的對象,其中,所述多位的履歷數(shù)據(jù)根據(jù)索引地址信息而從所述LRU數(shù)據(jù)陣列(15A)被讀出。
[0090]由此,在存儲履歷數(shù)據(jù)時,只要與選擇數(shù)據(jù)的值對應(yīng)地確定履歷數(shù)據(jù)的值即可,對于針對被索引的履歷數(shù)據(jù)的值而選擇哪個存儲器塊的哪個高速緩存條目這一情況,只要根據(jù)此時的選擇數(shù)據(jù)的值和索引地址信息確定即可。
[0091]〔16〕<使用奇偶校驗數(shù)據(jù)選擇路>
[0092]本發(fā)明的其它實施方式所涉及的數(shù)據(jù)處理裝置(I)含有在多個路中存儲多個高速緩存條目的組相聯(lián)型高速緩沖存儲器(3)。所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息(TAGadrs)而生成的奇偶校驗數(shù)據(jù)(PRTdat)的值,指定從所述多個路中選擇哪部分路,根據(jù)所述地址信息中的索引地址信息,指定從所指定的路中讀取哪個高速緩存標記。將所讀取的高速緩存標記與所述標記地址進行比較,判斷它們的比較結(jié)果是完全不一致、僅一個一致以及有多個一致的哪一種,在判斷為所述有多個一致時,生成高速緩存錯誤信號(41)。所述高速緩沖存儲器在進行高速緩存填充時,對從與所述選擇數(shù)據(jù)的值相應(yīng)的部分路中選擇出的高速緩存條目進行高速緩存填充。
[0093]由此,與第I項相同地,能夠容易地維持保存有高速緩存動作中應(yīng)讀取的高速緩存標記的路、和通過選擇數(shù)據(jù)所選擇的路之間的對應(yīng)關(guān)系,有助于低耗電。此外,與第2項相同地,不需要與高速緩存條目對應(yīng)地保存奇偶校驗位,能夠在提高針對高速緩存標記的位反轉(zhuǎn)的可靠性的同時,將奇偶校驗生成電路的數(shù)量減半。另外,與第3項相同地,在由于高速緩存標記位反轉(zhuǎn)而與標記地址不一致的情況下,只要與通常的高速緩存脫靶相同地進行應(yīng)對即可。即使看起來產(chǎn)生了通過高速緩存標記的多位反轉(zhuǎn)而具有與正規(guī)的高速緩存標記相同的高速緩存標記的高速緩存條目,也能夠通過對上述有多個一致進行判斷,而對這種異常進行應(yīng)對。
[0094]〔17〕<使用奇偶校驗數(shù)據(jù)選擇路>
[0095]本發(fā)明的另一個實施方式所涉及的數(shù)據(jù)處理裝置(I)含有在多個路中存儲多個高速緩存條目的組相聯(lián)型高速緩沖存儲器(3)。所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息(TAGadrs)而生成的奇偶校驗數(shù)據(jù)(PRTdat)的值,指定從所述多個路中選擇哪部分路,根據(jù)所述地址信息中的索引地址信息(IDXadrs),指定從所指定的路中讀取哪個高速緩存標記。將所讀取的高速緩存標記與所述標記地址進行比較,判斷它們的比較結(jié)果是完全不一致、僅一個一致以及有多個一致的哪一種,在判斷為所述有多個一致時,生成高速緩存錯誤信號(41)。所述高速緩沖存儲器具有存儲用作以下指標的LRU數(shù)據(jù)(LRU[1:0]、LRU[2:0])的LRU數(shù)據(jù)陣列(15、15A),該指標用于在決定進行高速緩存填充的高速緩存條目時,通過偽LRU來確定成為高速緩存填充對象的高速緩存條目。所述LRU數(shù)據(jù)陣列具有按針對高速緩存條目的每個索引地址而存儲多位的履歷數(shù)據(jù)的區(qū)域,該多位的履歷數(shù)據(jù)表示基于奇偶校驗數(shù)據(jù)所選擇的部分路的每個路的利用履歷。所述高速緩沖存儲器基于使用索引地址信息而從LRU數(shù)據(jù)陣列讀出的所述履歷數(shù)據(jù)、以及對應(yīng)的選擇數(shù)據(jù),選擇進行高速緩存填充的高速緩存條目。
[0096]由此,與第I項相同地,能夠容易地維持保存有高速緩存動作中應(yīng)讀取的高速緩存標記的路、和通過選擇數(shù)據(jù)所選擇的路之間的對應(yīng)關(guān)系,有助于低耗電。此外,與第2項相同地,不需要與高速緩存條目對應(yīng)地保存奇偶校驗位,能夠在提高針對高速緩存標記的位反轉(zhuǎn)的可靠性的同時,將奇偶校驗生成電路的數(shù)量減半。另外,與第3項相同地,在由于高速緩存標記位反轉(zhuǎn)而與標記地址不一致的情況下,只要與通常的高速緩存脫靶相同地進行應(yīng)對即可。即使看起來產(chǎn)生了通過高速緩存標記的多位反轉(zhuǎn)而具有與正規(guī)的高速緩存標記相同的高速緩存標記的高速緩存條目,也能夠通過對上述有多個一致進行判斷,而對這種異常進行應(yīng)對。另外,與第13項相同地,由于在選擇進行高速緩存填充的高速緩存條目時,同時使用履歷數(shù)據(jù)和選擇數(shù)據(jù),所以能夠與選擇數(shù)據(jù)的位數(shù)對應(yīng)地減少履歷數(shù)據(jù)的位數(shù),從這一點出發(fā),有助于縮小LRU數(shù)據(jù)陣列的電路規(guī)模、以及降低電路產(chǎn)生的電力消耗。
[0097]〔18〕<從部分路中選擇作為操作對象的高速緩存條目>
[0098]本發(fā)明的另一個實施方式所涉及的數(shù)據(jù)處理裝置(I)含有將多個路用于存儲多個高速緩存條目的組相聯(lián)型高速緩沖存儲器(3)。所述高速緩沖存儲器在基于地址信息操作路時,從基于作為所述地址信息的一部分的標記地址信息(TAGadrs)而生成的選擇數(shù)據(jù)(PRTdat)所對應(yīng)的部分路中,選擇作為操作對象的高速緩存條目。
[0099]由此,由于只要從與選擇數(shù)據(jù)的值對應(yīng)的部分路中選擇成為用于高速緩存標記讀取或高速緩存填充的操作對象的高速緩存條目即可,從而不需要使所有路并行動作,有助于低耗電。由于作為操作對象的高速緩存條目是使用選擇數(shù)據(jù)而選擇的,所以能夠容易地維持讀取高速緩存標記的路、和作為高速緩存填充的對象的路之間的對應(yīng)關(guān)系。
[0100]〔19〕<從部分路中選擇作為高速緩存標記讀取或高速緩存填充的對象的高速緩存條目>
[0101]本發(fā)明的另 一個實施方式所涉及的數(shù)據(jù)處理裝置(I)含有將多個路用于存儲多個高速緩存條目的組相聯(lián)型高速緩沖存儲器(3)。所述高速緩沖存儲器從基于作為所述地址信息的一部分的標記地址信息(TAGadrs)而生成的選擇數(shù)據(jù)所對應(yīng)的部分路中,讀取與地址標記進行比較的高速緩存標記,并且選擇進行高速緩存填充的高速緩存條目。
[0102]由此,由于只要從與選擇數(shù)據(jù)的值對應(yīng)的部分路中選擇作為高速緩存標記讀取或高速緩存填充的操作對象的高速緩存條目即可,從而不需要使所有路并行動作,有助于低耗電。由于作為操作對象的高速緩存條目是使用選擇數(shù)據(jù)而選擇的,所以能夠容易地維持讀取高速緩存標記的路、和作為高速緩存填充的對象的路之間的對應(yīng)關(guān)系。
[0103]〔20〕<使用選擇數(shù)據(jù)進行讀取高速緩存標記的路選擇、以及基于使用履歷進行高速緩存填充的高速緩存條目選擇>
[0104]本發(fā)明的另一個實施方式所涉及的數(shù)據(jù)處理裝置(I)含有將多個路用于存儲多個高速緩存條目的組相聯(lián)型高速緩沖存儲器(3)。所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息(TAGadrs)而生成的選擇數(shù)據(jù)(PRTdat)的值,指示多個路中的哪個路被選擇,基于所述地址信息中的索引地址(IDXadrs),指示從所指示的路中讀取哪個高速緩存標記。所述高速緩沖存儲器在進行高速緩存填充時,依照針對所有路的高速緩存條目的以所述索引地址為單位進行參照的使用履歷仏冊[1:0]、1^冊[2:0])、和所述選擇數(shù)據(jù)(PRTdat)的值的組合,選擇進行高速緩存填充的高速緩存條目。
[0105]由此,由于只要從與選擇數(shù)據(jù)的值對應(yīng)的部分路中選擇作為高速緩存標記讀取或高速緩存填充的操作對象的高速緩存條目即可,從而不需要使所有路并行動作,有助于低耗電。由于使用選擇數(shù)據(jù)選擇作為操作對象的高速緩存條目,能夠容易地維持讀取高速緩存標記的路、和作為高速緩存填充的對象的路之間的對應(yīng)關(guān)系。此外,由于在選擇進行高速緩存填充的高速緩存條目時,同時使用履歷數(shù)據(jù)和選擇數(shù)據(jù),所以能夠與選擇數(shù)據(jù)的位數(shù)對應(yīng)地減少履歷數(shù)據(jù)的位數(shù),從這一點出發(fā),有助于縮小保持履歷數(shù)據(jù)的電路的規(guī)模、以及降低電路產(chǎn)生的電力消耗。
[0106]2.實施方式的詳細
[0107]進一步詳細描述實施方式。此外,在用于說明實施發(fā)明的方式的所有附圖中,對具有相同功能的要素標注相同的附圖標記,省略其重復(fù)的說明。
[0108]《1.微型計算機》
[0109]圖1中作為數(shù)據(jù)處理裝置的一個實施方式而例示了微型計算機(MCU) I。該圖所示的微型計算機I并沒有特別的限制,可以在單晶硅這樣的I個半導(dǎo)體基板上使用CMOS集成電路制造技術(shù)而形成。
[0110]微型計算機I并沒有特別的限制,其具有CPU (中央處理單元)2,該CPU2獲取指令并進行解釋,基于解釋結(jié)果獲取必要的運算對象數(shù)據(jù),并進行運算處理。在圖中,CPU2是以單核的方式圖示的,但當然也可以是多核結(jié)構(gòu)。另外,CPU2的程序執(zhí)行方式也并不限于單線程,也能夠應(yīng)用于多線程,可以是將一個程序以多線程進行處理的情況、或者將多個程序作為以程序為單位的線程而整體以多線程進行處理的情況的任意一種情況。
[0111]3是高速緩沖存儲器(CACHMRY),配置在內(nèi)部總線4和CPU2之間。在圖中,將CPU執(zhí)行的指令及指令執(zhí)行所使用的運算對象或運算數(shù)據(jù)等數(shù)據(jù)同時一次性地配置在高速緩沖存儲器3中。內(nèi)部總線4上連接有作為代表示出的中斷控制器(INTC)9、由靜態(tài)隨機訪問存儲器(SRAM)等構(gòu)成的RAM5、直接存儲器訪問控制器(Direct Memory Access Controller:DMAC)6、可電改寫的閃速存儲器(FLASH) 7、以及其它周邊電路(PRPHRL) 8。其它周邊電路8包括計時器、微型計算機I通往外部的輸入輸出端口等。并沒有特別的限制,RAM5和FLASH7用于程序及/或數(shù)據(jù)的存儲,例如,將它們作為高速緩沖存儲器3所進行的高速緩存的對象。
[0112]高速緩沖存儲器3并沒有特別的限制,具有高速緩存控制電路(CACHCNT) 10和存儲器墊塊(MRYMAT) 11,實現(xiàn)組相聯(lián)高速緩沖存儲器的功能。
[0113]圖2例示了在實現(xiàn)組相聯(lián)高速緩沖存儲器的功能的情況下的存儲器墊塊11的概略結(jié)構(gòu)。組相聯(lián)高速緩沖存儲器具有多個路,各個路具有標記路(TagWAY) 12和數(shù)據(jù)路(DataffAY) 13,在各個路中形成多個高速緩存條目(CachENTRY) 14。標記路(TagWAY) 12按每個高速緩存條目14具有高速緩存標記、有效位,及鎖定位等。數(shù)據(jù)路(DataWAY) 13按每個高速緩存條目14保存與高速緩存標記對應(yīng)的高速緩存數(shù)據(jù)(CPU執(zhí)行的程序及/或CPU使用的運算對象數(shù)據(jù))。
[0114]在這里,一個數(shù)據(jù)路(DataWAY) 14保存16字節(jié)的高速緩存數(shù)據(jù),將高速緩存條目(CachENTRY) 14的數(shù)量為256條目的4路組相聯(lián)高速緩沖存儲器作為一個例子。在此情況下,在CPU2生成的多位的地址信息內(nèi),最低位的4位是用于從一個數(shù)據(jù)路(DataWAY)13的高速緩存數(shù)據(jù)中選擇32位(4字節(jié))的偏移地址信息,其高位側(cè)的8位是用于選擇一個高速緩存條目(CachENTRY) 14的索引地址信息,更高位側(cè)為標記地址信息。高速緩存標記中使用與對應(yīng)的高速緩存條目14的高速緩存數(shù)據(jù)相應(yīng)的標記地址信息。[0115]LRU數(shù)據(jù)陣列(LRUARY) 15保存有履歷數(shù)據(jù),該履歷數(shù)據(jù)用作選擇進行替換的高速緩存條目(CachENTRY) 14的指標。履歷數(shù)據(jù)與同一索引地址的高速緩存條目相關(guān),為用于確認最近沒有使用的高速緩存條目的信息。在該例子中,LRU數(shù)據(jù)陣列(LRUARY) 15具有256個履歷數(shù)據(jù),通過索引地址信息而訪問履歷數(shù)據(jù)。
[0116]在圖2中,20是高速緩存條目14的寫入通道,21是高速緩存條目的讀出通道。22是對標記路12及數(shù)據(jù)路13進行路的選擇及對選擇的路進行索引的選擇通道。23是向LRU陣列15寫入履歷數(shù)據(jù)的寫入通道,24是履歷數(shù)據(jù)的讀出通道,25是履歷數(shù)據(jù)的選擇通道。
[0117]高速緩沖存儲器3具有對標記路進行奇偶校驗的功能,對于該功能追加,研究了電路規(guī)模的簡化及低耗電。以下,對于這一點,說明高速緩沖存儲器的詳細內(nèi)容。
[0118]《2.對標記路的奇偶校驗功能》 [0119]圖3例不了對聞速緩沖存儲器的標記路的奇偶校驗功能的基本結(jié)構(gòu)。在這里,著眼于η路組相聯(lián)高速緩沖存儲器中的η個標記路TagWAT#0~TagWAT#n — I。
[0120]ACCadrs是CPU生成的訪問地址信息。TAGadrs是訪問地址信息ACCadrs中含有的標記地址信息,IDXadrs是訪問地址信息ACCadrs中含有的索引地址信息。圖中所示的奇偶校驗生成電路(PRTYG) 30、標記比較電路(TAGCMP) 31及多位檢測電路(MLTHIT) 32等由高速緩存控制電路10構(gòu)成。
[0121 ] 奇偶校驗生成電路30對例如標記地址信息TAGadrs的所有位而生成I位奇偶校驗位作為奇偶校驗數(shù)據(jù)PRTYdat。由奇偶選擇信號(ODSEL) 42指定使用偶數(shù)校驗還是奇數(shù)校驗。具體地說,在奇偶選擇信號42為邏輯值I的情況下,奇偶校驗生成電路針對標記地址信息TAGadrs的所有位進行異或EX0R,在該所有位中的邏輯值I為偶數(shù)個時,輸出邏輯值O的奇偶校驗數(shù)據(jù)PRTdate,在該所有位中的邏輯值I為奇數(shù)個時,輸出邏輯值I的奇偶校驗數(shù)據(jù)PRTdate。奇偶選擇信號42為邏輯值O的情況下,奇偶校驗生成電路對標記地址信息TAGadrs的所有位進行同或EXN0R,在該所有位中的邏輯值I為偶數(shù)個時,輸出邏輯值I的奇偶校驗數(shù)據(jù)PRTdate,在該所有位中的邏輯值I為奇數(shù)個時,輸出邏輯值O的奇偶校驗數(shù)據(jù) PRTdate。
[0122]奇偶校驗數(shù)據(jù)PRTdat供給至標記路12。奇偶校驗數(shù)據(jù)PRTYdat的邏輯值I指示選擇奇數(shù)編號的標記路TagWAY#l、TagWAY#3、...的組,奇偶校驗數(shù)據(jù)PRTYdat的邏輯值O指示選擇O及偶數(shù)編號的標記路TagWAY#0、TagWAY#2、…的組。由此,在進行高速緩存填充時,向從與所述奇偶校驗數(shù)據(jù)PRTdat的值相應(yīng)的一組的標記路中所選擇的高速緩存條目進行高速緩存填充。另外,在讀取高速緩存標記時,標記路TagWAY#0~TagWAY#n — I中與奇偶校驗數(shù)據(jù)PRTdat的值相應(yīng)地一組的標記路的動作被選擇,使用索引地址IDXadrs從所選擇的路中讀取高速緩存標記。例如在路數(shù)量為2個的情況下,奇偶校驗數(shù)據(jù)PRTdat為邏輯值O時使用一方的標記路TagWAY#0,在奇偶校驗數(shù)據(jù)PRTdat為邏輯值I時,使用另一方的標記路TagWAY#l。
[0123]由此,在讀取高速緩存標記時,與奇偶校驗數(shù)據(jù)PRTdata的值相應(yīng)地僅選擇一部分的標記路,從中索引高速緩存標記即可,無需使所有標記路并行動作,從這一點出發(fā),能夠?qū)崿F(xiàn)低耗電。此時,由于作為高速緩存填充的對象的高速緩存條目也為屬于與奇偶校驗數(shù)據(jù)PRTda的值相應(yīng)的路的高速緩存條目,因此,由于使保存有高速緩存動作中應(yīng)讀取的高速緩存標記的路、和通過奇偶校驗數(shù)據(jù)PRTda所選擇的路之間的對應(yīng)關(guān)系得以維持,從而保證上述的低耗電。
[0124]此外,在通過高速緩存填充進行的高速緩存條目的替換中,至少使用對所使用的路的范圍進行限定的奇偶校驗數(shù)據(jù)PRTdat。如果假設(shè)供給至高速緩沖存儲器3的訪問地址信息ACCadrs沒有錯誤,則高速緩存標記的讀取對象成為與該標記地址信息TAGadrs所相關(guān)的奇偶校驗數(shù)據(jù)PRTdat的值對應(yīng)的路,因此,無需與高速緩存條目(CashENTRY) 14對應(yīng)地保存奇偶校驗位。由此,不需要根據(jù)所讀取的高速緩存標記來生成用于進行比較的奇偶校驗數(shù)據(jù)的電路,能夠抑制將位反轉(zhuǎn)后的高速緩存標記錯誤地作為正規(guī)的高速緩存標記進行處理的誤動作。即,即使在高速緩存標記中產(chǎn)生奇偶校驗數(shù)據(jù)的值反轉(zhuǎn)這種位反轉(zhuǎn),也由于該位反轉(zhuǎn)后的高速緩存標記所位于的路并非基于該奇偶校驗數(shù)據(jù)PRTdat的值的原本的路,所以不成為索引的對象。由此,能夠在提高針對高速緩存標記的位反轉(zhuǎn)的可靠性的同時,將奇偶校驗生成電路的數(shù)量減半。此外,從能夠?qū)⑵媾夹r炆呻娐返臄?shù)量減半這一點出發(fā),也能夠進一步實現(xiàn)低耗電。
[0125]根據(jù)奇偶校驗數(shù)據(jù)PRTdat的值而從標記路TagWAY#0?TagWAY#n — I內(nèi)的一個組輸出的n/2個高速緩存標記、或者從另一個組輸出的n/2個高速緩存標記,作為CTAG#0?CTAG#n/2而進行圖示。所輸出的高速緩存標記CTAG#0?CTAG#n/2在標記比較電路31中與標記地址TAGadrs進行比較,將該比較結(jié)果與對應(yīng)的標記路相關(guān)聯(lián)而輸出表示比較結(jié)果一致或不一致的信號(命中路判斷信號:HITWAY)40等。命中路判斷信號40向所述多位檢測電路32供給,并且雖然在圖3中沒有圖示,但其還用于在與命中相關(guān)的數(shù)據(jù)路中所索引出的高速緩存條目的選擇。多位檢測電路32基于命中路判斷信號40,判斷比較結(jié)果是完全不一致、僅一個一致或者有多個一致的哪一種,在判斷為有多個一致時,生成高速緩存錯誤信號(CERR)41。全部不一致的判斷結(jié)果為高速緩存脫靶,僅一個一致的判別結(jié)果為高速緩存命中。
[0126]通過生成命中路判斷信號40及高速緩存錯誤信號41,在由于高速緩存標記的位反轉(zhuǎn)而與標記地址之間的比較結(jié)果不一致的情況下,只要與通常的高速緩存脫靶相同地進行應(yīng)對即可。此外,即使看起來產(chǎn)生了因高速緩存標記的多位反轉(zhuǎn)而具有與正規(guī)的高速緩存標記相同的高速緩存標記的高速緩存條目,也能夠通過對上述有多個一致進行判斷,而對這種異常進行應(yīng)對。例如,如果將所述高速緩存錯誤信號41作為異常要素或中斷要素賦予中斷控制器9,則在認為位反轉(zhuǎn)對該高速緩存錯誤的發(fā)生影響較大時,能夠經(jīng)由CPU2進行的中斷處理或異常處理而靈活進行與該狀況對應(yīng)的處理。
[0127]《3.通過奇偶校驗數(shù)據(jù)選擇每個路的存儲器塊》
[0128]在這里,說明使用奇偶校驗數(shù)據(jù)針對每個路的存儲器塊進行激活/非激活控制的情況。
[0129]圖4中代表性地示出著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)。將各路中的高速緩存條目為256條目、數(shù)據(jù)路的I線(line)為16字節(jié)的4路組相聯(lián)高速緩沖存儲器的結(jié)構(gòu)作為一個例子。
[0130]在該例子中,與索引地址IDXadrs對應(yīng)地存儲所述高速緩存標記的標記路TagffAYSO?TagWAY#3、和與所述索引地址IDXadrs對應(yīng)地存儲數(shù)據(jù)的數(shù)據(jù)路DataWAY#0?DataffAY#3,分別由按每個標記路、數(shù)據(jù)路而選擇激活或非激活的存儲器塊16構(gòu)成。cenO?cen3是每個路的存儲器塊16的使能信號(塊使能信號),通過激活(例如高電平)對應(yīng)的塊使能信號cenO?cen3,能夠使該存儲器塊16的內(nèi)部電路動作。例如,通過激活對應(yīng)的塊使能信號cenO?cen3,對輸入地址信號進行響應(yīng)而進行尋址,能夠進行針對讀取數(shù)據(jù)的讀出放大動作。在通過讀取請求信號RDreq的高電平而指示讀出時,如果奇偶校驗數(shù)據(jù)PRTdat為邏輯值O (低電平),則含有標記路TagWAY#0、TagffAY#I及數(shù)據(jù)路DataWAY#0、DataffAY#I的一個路組被激活。與此相對,在通過讀取請求信號RDreq的高電平而指示讀出時,如果奇偶校驗數(shù)據(jù)PRTdat為邏輯值I (高電平),則含有標記路TagWAY#2、TagWAY#3及數(shù)據(jù)路DataWAY#2、DataffAY#3的另一個路組被激活。50為與門,51為轉(zhuǎn)換器。
[0131]被激活的路組的路通過索引地址信息IDXadrs而被索引,從而高速緩存條目被選擇。52示意地表示對索引地址信息IDXadrs進行解碼并選擇對應(yīng)的高速緩存線的選擇電路,在其它附圖中,以各個路中具有該功能的狀態(tài)進行說明。將從選擇了高速緩存條目的標記路輸出的高速緩存標記在判斷電路53、54中與標記地址信息TAGadrs進行比較,生成與比較結(jié)果對應(yīng)的命中路判斷信號40a、40b、命中信號55a、55b、及多路命中信號56a、56b。判斷電路53、54具有圖3所說明的標記比較電路31及多位檢測電路32的功能。命中路判斷信號40a、40b在各個判斷電路53、54中,當存在一個高速緩存標記與標記地址一致時,使選擇器57a、57b選擇與該一致的標記路對應(yīng)的數(shù)據(jù)路的輸出數(shù)據(jù)。命中信號55a、55b是表示在各個判斷電路53、54中是否存在一個高速緩存標記與標記地址一致的信號。多路命中信號56a、56b是表示在各個判斷電路53、54中雙方的高速緩存標記是否與標記地址一致的信號。選擇器58在奇偶校驗數(shù)據(jù)PRTdat為值O時,選擇由此被激活的標記路側(cè)的判斷電路53的輸出,在奇偶校驗數(shù)據(jù)PRTdat為值I時,選擇由此被激活的標記路側(cè)的判斷電路54的輸出。取由選擇器58所選擇的命中信號55a或55b與讀取請求信號RDreq的邏輯積而作為高速緩存命中信號CHIT使用。由選擇器58所選擇的多路命中信號56a或56b作為高速緩存錯誤信號41使用。選擇器59在奇偶校驗數(shù)據(jù)PRTdat為值O時,選擇由此被激活的數(shù)據(jù)路DataWAY#0、dataWAY#l側(cè)被選擇并被供給的高速緩存數(shù)據(jù),在奇偶校驗數(shù)據(jù)PRTdat為值I時,選擇由此被激活的數(shù)據(jù)路DataWAY#2、dataWAY#3側(cè)被選擇并被供給的高速緩存數(shù)據(jù)。由選擇器59所選擇的數(shù)據(jù)作為與高速緩存命中相關(guān)的高速緩存數(shù)據(jù)CDAT而向CPU2輸出。觸發(fā)電路(FF)60根據(jù)路的存儲周期而對輸入信號進行鎖存,確保使用的動作定時。此外,在圖4中,TagWAT#0?TagWAY#3、DataWAY#0?DataWAY3之外的結(jié)構(gòu)包含在例如高速緩存控制電路10中。
[0132]此外,在圖4中,例示了在高速緩存命中的情況下,作為與命中相關(guān)的高速緩存條目的數(shù)據(jù)操作而讀取數(shù)據(jù)的情況,對于數(shù)據(jù)操作為寫入的情況省略了圖示,但應(yīng)該能夠理解在高速緩存數(shù)據(jù)CDAT中設(shè)置有與讀出通道相反的寫入通道。
[0133]圖5例示了對高速緩存條目的讀取動作系列的高速緩存動作流程。
[0134]根據(jù)訪問地址信息ACCadrs生成標記地址信息TAGadrs的奇偶校驗數(shù)據(jù)PRTdat(Sl)。在所生成的奇偶校驗數(shù)據(jù)PRTdat的值為O的情況下(S2),讀取標記路TagWAY#0及TagWAY#l的高速緩存標記(S3),根據(jù)讀取結(jié)果,以不是雙方的高速緩存標記命中作為條件(S4),如果標記路TagWAY#0命中(S5),則數(shù)據(jù)路DataWAY#0所對應(yīng)的高速緩存條目成為讀或?qū)懙牟僮鲗ο?S6)。如果標記路TagWAY#l命中(S7),則數(shù)據(jù)路DataWAY#l所對應(yīng)的高速緩存條目成為讀或?qū)懙牟僮鲗ο?S8)。在步驟S7或S8的情況下,如果沒有高速緩存命中,標記路TagWAY#0和標記路TagWAY#l這兩者都沒有命中,則成為高速緩存脫靶。
[0135]在步驟S2中,奇偶校驗數(shù)據(jù)PRTdat的值為I的情況下,讀取標記路TagWAY#2及TagffAY#3的高速緩存標記(S9),根據(jù)讀取結(jié)果,以不是雙方的高速緩存標記命中作為條件(SlO),如果標記路TagWAY#2命中(Sll),則數(shù)據(jù)路DataWAY#2所對應(yīng)的高速緩存條目成為讀或?qū)懙牟僮鲗ο?S12)。如果標記路TagWAY#3命中(S13),則數(shù)據(jù)路DataWAY#3所對應(yīng)的高速緩存條目成為讀或?qū)懙牟僮鲗ο?S14)。在步驟S12或S14的情況下,如果沒有高速緩存命中,標記路TagWAY#2和標記路TagWAY#3這兩者都沒有命中,則成為高速緩存脫靶。
[0136]在步驟S4或步驟SlO中,在雙方的標記路重復(fù)發(fā)生命中的情況下,成為高速緩存錯誤。
[0137]圖6例示了著眼于組合在圖4的讀取動作系列的結(jié)構(gòu)中的填充動作系列的結(jié)構(gòu)。在該圖中,各個路的結(jié)構(gòu)與圖4相同。LRU數(shù)據(jù)陣列15存儲有LRU數(shù)據(jù)LRUdat,該LRU數(shù)據(jù)LRUdat用于在確定高速緩沖存儲器3進行高速緩存填充的高速緩存條目時,用作通過偽LRU確定作為高速緩存填充對象的高速緩存條目的指標。該LRU數(shù)據(jù)陣列15按對高速緩存條目的每個索引地址IDXadrs而具有存儲2位履歷數(shù)據(jù)LRU[1: O](各位分別表示為LRU[O], LRU[1])的存儲器區(qū)域,該2位履歷數(shù)據(jù)LRU[1:0]示出與奇偶校驗數(shù)據(jù)PRTdat的值對應(yīng)而選擇的部分路中的每一個的利用履歷。履歷數(shù)據(jù)LRU[1:0]通過對高速緩存條目的清除而初始化為邏輯值O。履歷數(shù)據(jù)LRU[0]表示將路#0 (標記路TagWAY#0及數(shù)據(jù)路DataWAY#0)和路#I (標記路TagWAY#I及數(shù)據(jù)路DataWAY#I)的哪一個路的有效的高速緩存條目優(yōu)先以用于替換。履歷數(shù)據(jù)LRU[1]表示將路#2(標記路TagWAY#2及數(shù)據(jù)路DataffAY#2)和路#3 (標記路TagWAY#3及數(shù)據(jù)路DataWAY#3)的哪一個路的有效的高速緩存條目優(yōu)先以用于替換。例如,與索引地址信息對應(yīng)地存儲在LRU數(shù)據(jù)陣列15中的LRU[0],在使用與該索引地址信息對應(yīng)的路#1的高速緩存條目時,反轉(zhuǎn)為邏輯值I。相同地,LRU[1]在使用與該索引地址信息對應(yīng)的路#3的高速緩存條目時,反轉(zhuǎn)為邏輯值I。在這里,履歷數(shù)據(jù)LRU[0]、LRU[1]的各位例如在邏輯值O的情況下將路編號較小的路作為替換對象,在邏輯值I的情況下將路編號較大的路作為替換對象,在每次進行替換時都將對應(yīng)的履歷數(shù)據(jù)位進行反轉(zhuǎn)后更新。例如對于LRU[0],如果將初始值設(shè)為邏輯值0,則初始化的下一次填充時使用路#0,將LRU[0]反轉(zhuǎn)為邏輯值I。在其后的替換中,如果將最近沒有使用的路#1作為替換對象,則將LRU[0]反轉(zhuǎn)為邏輯值O。LRU[O]可以進行與下述相同的切換(toggle)操作。
[0138]7O示意地示出對索引地址信息I DXadr s進行解碼而選擇對應(yīng)的履歷數(shù)據(jù)LRU[1:0]的選擇電路,在其它附圖中,以LRU陣列15中具有該功能的狀態(tài)進行說明。
[0139]71是高速緩存填充用的路選擇電路。路選擇電路71基于使用索引地址信息IDXadrs而從LRU數(shù)據(jù)陣列15讀出的所述履歷數(shù)據(jù)LRU[1:0]、以及奇偶校驗數(shù)據(jù)PRTdat及有效位V等,生成用于選擇高速緩存填充所使用的路的塊選擇信號。塊選擇信號相當于向存儲器塊16分別供給的塊使能信號cenO?cen3。塊選擇信號的選擇邏輯如下所述。
[0140]作為路選擇電路71,例如如果奇偶校驗數(shù)據(jù)PRTdat為邏輯值0,則參照從標記路TagffAT#0, TagffATSl順序索引的高速緩存條目的有效位V。將有效位V為無效的高速緩存條目作為高速緩存填充的對象,路選擇電路71以選擇該高速緩存條目所屬的一個標記路(TagWAT#0及TagWAT#l的其中一個)的方式,將對應(yīng)的塊選擇信號(cenO及Cenl的其中一個)設(shè)為邏輯值I。其它3個塊選擇信號表示為邏輯值O,將各自對應(yīng)的標記路設(shè)為非選擇狀態(tài)。路選擇電路71還進行必要的更新,以使得在對履歷數(shù)據(jù)LRU[0]進行下一次高速緩存填充中,使標記路TagWAT#0、TagffAT#l中的沒有被選擇側(cè)的路的優(yōu)先度提高。在兩者的有效位V都有效的情況下,路選擇電路71以使得根據(jù)履歷數(shù)據(jù)位LRU[O]的值而設(shè)為優(yōu)先的一個路被選擇的方式,將塊選擇信號(cenO或Cenl)設(shè)為邏輯值1,將被索引的高速緩存條目作為高速緩存填充的對象。其它3個塊選擇信號將各自對應(yīng)的標記路設(shè)為非選擇狀態(tài)。在該情況下,路選擇電路71進行使履歷數(shù)據(jù)LRU[0]的值反轉(zhuǎn)的更新。履歷數(shù)據(jù)的更新例如是基于更新信息73對履歷數(shù)據(jù)的改寫而進行的。此外,塊選擇信號cenO?cen3在高速緩存填充的請求信號FLreq被激活時,經(jīng)由與門72而向?qū)?yīng)的路TagWAY#0?TagWAT#3、DataffAT#0 ?DataWAY#3 供給。
[0141]與各高速緩存條目對應(yīng)而設(shè)置256條目X4路=1024個有效位,各有效位V示出所對應(yīng)的高速緩存條目的有效性。這些有效位V存儲在存儲器塊16之外的未圖示的存儲裝置(觸發(fā)電路等)中。基于索引地址IDXadrs,從1024個有效位中確定4個有效位V(與分別屬于4個標記路的一個高速緩存條目對應(yīng)的有效位),并向路選擇電路71供給。路選擇電路71基于奇偶校驗數(shù)據(jù)PRTdat,確定應(yīng)參照的2個有效位V。在奇偶校驗數(shù)據(jù)PRTdat為邏輯值O時,參照分別與TagWAY#0、TagWAY#l對應(yīng)的2個有效位V,在奇偶校驗數(shù)據(jù)PRTdat為邏輯值I時,參照分別與TagWAY#l、TagWAY#2對應(yīng)的2個有效位V。
[0142]圖7中例示了對高速緩存條目的填充動作系列的高速緩存動作流程。
[0143]根據(jù)與訪問地址信息ACCadrs對應(yīng)的填充地址信息FLadrs,生成該標記地址信息TAGadrs的奇偶校驗數(shù)據(jù)PRTdat (S21)。在所生成的奇偶校驗數(shù)據(jù)PRTdat的值為O的情況下(S22),如果路#0為空置(有效位V無效)(S23),則對路#0進行高速緩存填充(S26)。在路#0為非空置且替代地路#1為空置的情況下(S24),對路#1進行高速緩存填充(S27)。在路#0和路#1這兩者都有效的情況下,根據(jù)履歷位LRU [O]的值判斷路優(yōu)先度(S25),如果路#0優(yōu)先,則對路#0進行高速緩存填充(S26),如果路#1優(yōu)先,則對路#1進行高速緩存填充(S27)。在步驟S26或S27之后,如上所述進行履歷位LRU[1]的更新(S28)。
[0144]在步驟S21中,在判斷出奇偶校驗數(shù)據(jù)PRTdat的值為I的情況下,如果路#2為空置(有效位V無效)(S29),則對路#2進行高速緩存填充(S32)。如果路#2為非空置且替代地路#3為空置的情況下(S30),對路#1進行高速緩存填充(S33)。在路#2和路#3這兩者都有效的情況下,根據(jù)履歷位LRU[1]的值判斷路優(yōu)先度(S31),如果路#2優(yōu)先,則對路#2進行高速緩存填充(S32),如果路#3優(yōu)先,則對路#3進行高速緩存填充(S33)。在步驟S32或S33之后,如上所述進行履歷位LRU[1]的更新(S34)。
[0145]根據(jù)上述高速緩存填充動作系列的結(jié)構(gòu),由于在選擇進行高速緩存填充的高速緩存條目時,同時使用履歷數(shù)據(jù)LRU[1:0]和奇偶校驗數(shù)據(jù)PRTdat,所以能夠與奇偶校驗數(shù)據(jù)PRTdat的位數(shù)對應(yīng)地減少履歷數(shù)據(jù)的位數(shù),從這一點出發(fā),有助于縮小LRU數(shù)據(jù)陣列15的電路規(guī)模、以及降低電路產(chǎn)生的電力消耗。
[0146]此外,為了便于說明,將讀取動作系列所涉及的結(jié)構(gòu)及填充動作系列所涉及的結(jié)構(gòu)通過不同的附圖進行說明,但高速緩存控制電路10除了標記路TagWAY#0?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3之外,還同時具有圖4所示的結(jié)構(gòu)及圖6所示的結(jié)構(gòu)。向標記路TagffAYSO?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3分別供給塊使能信號的供給方法如下所述。
[0147]如果以標記路WAY#0為例,則與標記路WAY#0對應(yīng)地設(shè)置OR電路(未圖示),該OR電路(或電路)將輸入至圖4所示的標記路TagWAY#0的塊使能信號cenO和輸入至圖6所述的標記路TagWAY#0的塊使能信號cenO進行OR運算,并將該運算結(jié)果向標記路TagWAY#0供給。在讀取動作時及填充動作時標記路TagWAY#0被選擇時,標記路TagWAY#0接收邏輯值I的塊使能信號。對于數(shù)據(jù)路DataWAY#0,也設(shè)置有OR電路(未圖示),該OR電路將輸入至圖4所示的數(shù)據(jù)路DataWAY#0的塊使能信號cenO和輸入至圖6所示的數(shù)據(jù)路DataWAY#0的塊使能信號cenO進行OR運算,并將該運算結(jié)果向數(shù)據(jù)路DataWAY#0供給。
[0148]對于標記路TagWAY#l?3、數(shù)據(jù)路DataWAY#0?4也相同地,分別設(shè)置有對應(yīng)的OR電路,并將其輸出分別作為塊使能信號Cenl?cen3而向標記路TagWAY#l?3、數(shù)據(jù)路DataffAYSO ?4 供給。
[0149]《4.基于奇偶校驗數(shù)據(jù)對標記路選擇功能的啟動/停止》
[0150]下面,說明能夠選擇性地啟動/停止上述奇偶校驗檢查功能(也簡稱為PBS)的情況。
[0151]圖8例示在能夠選擇性地啟動/停止奇偶校驗檢查功能的情況下,著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)。與圖4的不同之處在于:輸入指示奇偶校驗檢查功能的選擇/非選擇的模式信號MOD并根據(jù)模式信號MOD的值而進行的路激活控制方式、高速緩存命中信號CHIT的生成方式、以及高速緩存數(shù)據(jù)CDAT的輸出控制方式。圖9例示在能夠選擇性地啟動/停止奇偶校驗檢查功能的情況下,著眼于對高速緩存條目的填充動作系列的結(jié)構(gòu)。與圖6的不同之處在于:輸入指示奇偶校驗檢查功能的選擇/非選擇的模式信號MOD并根據(jù)模式信號MOD的值而進行的履歷數(shù)據(jù)的更新功能、以及基于使用履歷數(shù)據(jù)的偽LRU進行的高速緩存填充對象路的選擇功能。它們的不同之處在下面說明,對于與圖4及圖6具有相同功能的構(gòu)成要素,標注與其相同的附圖標記,省略其詳細的說明。
[0152]在圖8中,模式信號MOD的邏輯值I指示選擇奇偶校驗檢查功能,模式信號MOD的邏輯值O指示不選擇奇偶校驗檢查功能。在接收奇偶校驗數(shù)據(jù)PRTdat的反轉(zhuǎn)數(shù)據(jù)或非反轉(zhuǎn)數(shù)據(jù)的與門的一個輸入側(cè),經(jīng)由或門(邏輯和門)82供給模式信號MOD的反轉(zhuǎn)信號。81是使模式信號MOD反轉(zhuǎn)的轉(zhuǎn)換器。由此,路#0?#3的選擇在MOD = I時,與圖4相同地,根據(jù)奇偶校驗數(shù)據(jù)PRTdat的值而選擇一半,在MOD = I時,選擇全部路#0?#3。
[0153]接收模式信號MOD的判斷電路80在MOD = I時,通過與圖4所說明的判斷電路53,54及選擇電路58形成的功能相同的功能,生成高速緩存命中信號CHIT及高速緩存錯誤信號41。在模式信號MOD = O時,不使用奇偶校驗數(shù)據(jù)PRGTdat,而將在各個標記路TagffAYSl?TagWAY#3中所索引得到的高速緩存標記與標記地址信息TAGadrs進行比較,生成高速緩存命中信號CHIT。在該動作模式下,高速緩存錯誤信號41固定為非有效電平(inactive level)。
[0154]LRU陣列15A在MOD = I時,由于圖6所說明的那樣并用奇偶校驗數(shù)據(jù)PRTdat的關(guān)系,所以履歷數(shù)據(jù)為2位即可,但在MOD = O時,需要準備3位。由于不使用奇偶校驗數(shù)據(jù)PRTdat,所以必須作為代替其使用的位而追加履歷位LRU[2]。由此,LRU陣列15A按每個索引地址需要3位履歷數(shù)據(jù)LRU[2:1]的存儲區(qū)域。履歷位LRU[0]示出路#0和路#1之間的優(yōu)先度,履歷位LRU[I]示出路#2和路#3之間的優(yōu)先度,履歷位LRU[2]示出路#0、#1和路#2、#3之間的優(yōu)先度。在MOD= I時,2位履歷數(shù)據(jù)LRU[1:0]有意義,在MOD = O時,3位履歷數(shù)據(jù)LRU [2:0]有意義。
[0155]由此,由于以I路.1存儲器塊的結(jié)構(gòu)作為前提,所以相對于圖4及圖6的結(jié)構(gòu),能夠通過較少的電路變更得到能夠選擇有無奇偶校驗檢查的結(jié)構(gòu)。能夠得到在想要使奇偶校驗檢查功能和低耗電優(yōu)先的情況下設(shè)定為MOD = I的第I模式、在想要使較高的高速緩存命中率優(yōu)先的情況下設(shè)定為MOD = O的第2模式的自由度。
[0156]此外,為了便于說明,與讀取動作系列相關(guān)的結(jié)構(gòu)及與填充動作系列相關(guān)的結(jié)構(gòu)在不同的附圖中進行了記載,但高速緩存控制電路10除了標記路TagWAY#0?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3之外,還同時具有圖8所示的結(jié)構(gòu)及圖9所示的結(jié)構(gòu)。向標記路TagffAYSO?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3分別供給塊使能信號的供給方法與圖4及圖6的情況相同,所以省略說明。
[0157]《5.多位的奇偶校驗數(shù)據(jù)》
[0158]說明在多位的高速緩沖存儲器3中使用奇偶校驗數(shù)據(jù)的情況。
[0159]圖10示出在圖4的著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)中應(yīng)用了使用多位奇偶校驗數(shù)據(jù)的結(jié)構(gòu)的例子。
[0160]在圖4的例子中,奇偶校驗數(shù)據(jù)是針對作為訪問地址信息ACCadrs的一部分的標記地址信息TAGadrs的所有位而為I位的奇偶校驗數(shù)據(jù),邏輯值O的奇偶校驗數(shù)據(jù)用于選擇所有路的多個存儲器塊16的一半,邏輯值I的奇偶校驗數(shù)據(jù)用于選擇所有路的多個存儲器塊16的剩余一半。由此,能夠?qū)⒆x出用于地址比較的高速緩存標記所需的電力消耗大致減半。
[0161]與此相對,在圖10的例子中,路的數(shù)量為8個,S卩,使8個標記路TagWAY#0?TagffAT#7和8個數(shù)據(jù)路DataWAY#0?DataWAT#7分別由存儲器塊16c構(gòu)成,生成2位奇偶校驗數(shù)據(jù)PRTdat[1:O]并用于路的選擇。奇偶校驗數(shù)據(jù)PRTdat[1:O]的第I位(PRTdat[0])是針對標記地址信息TAGadrs的低位的10位的奇偶校驗位,第2位(PRTdat [I])是針對標記地址信息TAGadrs的高位的10位的奇偶校驗位。2位奇偶校驗數(shù)據(jù)PRTdat [1: O]由解碼器90解碼,基于該解碼結(jié)果而決定從多個路中選擇的路。在圖10中,通過使PRTdat[l:0]=00而激活路編號#0、#1的標記路和數(shù)據(jù)路的存儲器塊16。通過使PRTdat[1:O] = 01而激活路編號#2、#3的標記路和數(shù)據(jù)路的存儲器塊16。通過使PRTdat[1:O] = 10而激活路編號#4、#5的標記路和數(shù)據(jù)路的存儲器塊16。通過使PRTdat[1:O] = 11而激活路編號#6、#7的標記路和數(shù)據(jù)路的存儲器塊16。即,用于標記比較的高速緩存讀取系列動作中所激活的存儲器塊的數(shù)量降低為整體的1/4,實現(xiàn)更低的耗電。
[0162]在被激活的標記路TagWAY#0?TagWAT#7中索引出的高速緩存標記,以奇偶校驗數(shù)據(jù)PRTdat[l:0]激活的激活單位通過判斷電路54、54、53A、54A與標記地址信息TAGadrs進行比較,與圖4所說明的內(nèi)容相同地,比較結(jié)果55a、56a、55b、56b、55aA、56aA、55bA、56bA由選擇器58A根據(jù)奇偶校驗數(shù)據(jù)PRTdat[1:O]的值選擇,由此形成高速緩存命中信號CHIT及高速緩存錯誤信號41。在高速緩存命中的情況下操作與命中相關(guān)的高速緩存條目的數(shù)據(jù)。如果在圖10所例示的對讀訪問進行響應(yīng)的高速緩存動作的情況下,發(fā)生高速緩存命中,則基于與命中相關(guān)的數(shù)據(jù)路的選擇數(shù)據(jù)經(jīng)由選擇電路57a、57b,57aA、57bA而被選擇,并作為高速緩存數(shù)據(jù)CDAT輸出。[0163]此外,奇偶校驗數(shù)據(jù)PRTdat的位數(shù)并不限定為2位,可以根據(jù)需要而增加對標記地址信息的分割數(shù)而成為3位以上。
[0164]由于其它結(jié)構(gòu)與圖4相同,所以省略其詳細的說明。雖然針對高速緩存填充的結(jié)構(gòu)省略了圖示,但只要以圖6的結(jié)構(gòu)為主體,使用2位奇偶校驗數(shù)據(jù)PRTdat[1:O]和2位LRU數(shù)據(jù)LRU[1:0]而從8個路的存儲器塊中選擇高速緩存填充的對象路即可。雖然并未特別地進行圖示,但使用2位奇偶校驗數(shù)據(jù)PRTdat[l:0]的情況也能夠容易地應(yīng)用于圖8及圖9所說明的PBS的啟動/停止選擇功能。
[0165]《6.對多個路的每一個的存儲器塊的激活/非激活控制》
[0166]下面,說明按每個存儲器塊存儲多個路而進行路選擇的情況。圖11例示了在按每個存儲器塊存儲2個路的情況下,著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)。圖12例示了在按每個存儲器塊存儲2個路的情況下,著眼于對高速緩存條目的填充動作系列的結(jié)構(gòu)。與圖4及圖6不同點在于,存儲器塊的數(shù)量減半,相對應(yīng)地作為操作對象的高速緩存條目的選擇控制方式和針對高速緩存標記的判斷控制電路不同。對于上述不同點,在以下進行說明,對于與圖4及圖6具有相同功能的構(gòu)成要素,標注相同的附圖標記而省略其詳細的說明。
[0167]在I個存儲器塊16A中匯集存儲2個路,但所匯集的2個路通過奇偶校驗數(shù)據(jù)PRTdat的彼此不同的值而被選擇出。在例如與圖4相同地,奇偶校驗數(shù)據(jù)PRTdat的邏輯值O表示選擇路編號#0、#1的路、奇偶校驗數(shù)據(jù)PRTdat的邏輯值I表示選擇路編號#2、#3的路時,路編號#0和#2的路存儲在同一存儲器塊中,路編號#1和#3的路存儲在同一存儲器塊中,使得在一個存儲器塊內(nèi)不選擇多個路。具體地說,將標記路TagWAY#0和TagWAY#2作為一組,將標記路TagWAY#l和TagWAY#3作為一組,將數(shù)據(jù)路DataWAY#0和DataWAY#2作為一組,將數(shù)據(jù)路DataWAY#l和DataWAY#3作為一組,將各個組存儲在不同的存儲器塊16A中。
[0168]為了實現(xiàn)上述方式,I個存儲器塊16A保持的條目數(shù)為圖4及圖6的情況下的256的2倍,即512條目。在對其進行索引所需的8位地址信息內(nèi),低位的位addr[7:0]為7位索引地址信息INDadrs ([1:4])。最高位的位addr[8]為奇偶校驗數(shù)據(jù)PRTdat。決定最高位的位addr[8]的奇偶校驗數(shù)據(jù)PRTdat,具有作為表示選擇匯集在I個存儲器塊16A中的2個路的哪一個路的選擇位的意義。4個存儲器塊16A的塊使能信號cena、cenb能夠共通地使用例如讀取請求信號RDreq。在此情況下,只要使對從2個存儲器塊讀出的高速緩存標記和標記地址信息TAGadrs進行比較并判斷的電路100具有圖4的判斷電路53、54和選擇電路58的功能而構(gòu)成即可。
[0169]作為用于輸出在存儲器塊16A中索引得到的高速緩存標記、高速緩存數(shù)據(jù)的放大電路而各個存儲器塊16A具有的讀出放大器SA的數(shù)量,只要與圖4的各個存儲器塊16具有的讀出放大器的數(shù)量相等即可??傊?,在圖11的結(jié)構(gòu)中所有存儲器塊16A具有的讀出放大器的合計數(shù)量為圖4的結(jié)構(gòu)中所有存儲器塊16具有的讀出放大器的合計數(shù)量的大約一半。由此,由讀出放大器所消耗的待機電流的大小也成為大致一半。
[0170]在圖12所例示的高速緩存填充系統(tǒng)中,高速緩存填充用的路選擇電路71A,基于奇偶校驗數(shù)據(jù)PRTdat、LRU[1:O]及有效位V而以與圖6所說明的路選擇電路71相同的邏輯決定進行高速緩存填充的路,但輸出選擇信號101在以編號#0或#2的路作為填充對象時設(shè)定為邏輯值O,在以編號#1或#3的路作為填充對象時設(shè)定為邏輯值I。在通過高速緩存填充請求信號Freq的邏輯值I指示高速緩存填充動作時,輸出選擇信號101經(jīng)由轉(zhuǎn)換器102和與門103而成為電平互補的塊使能信號cena和cenb。塊使能信號cena是分配給編號#0或#2的標記路和數(shù)據(jù)路的2個存儲器塊16A的塊使能信號,塊使能信號cenb是分配給編號#1或#3的標記路和數(shù)據(jù)路的2個存儲器塊16A的塊使能信號。關(guān)于在各存儲器塊16A中選擇哪一個路,與前述相同地通過將I位的奇偶校驗數(shù)據(jù)PRTdat用作存儲器塊16A的地址位a[8]來確定。由此,利用偽LRU進行的高速緩存填充的路選擇結(jié)果與圖6完全相同。對LRU陣列15的基于更新信息73進行的履歷數(shù)據(jù)的更新、履歷數(shù)據(jù)的意義等其它結(jié)構(gòu)與圖6相同,因此省略其詳細的說明。
[0171]根據(jù)圖11及圖12的結(jié)構(gòu),在與動作電流相比,讀出放大器等的待機電流成為問題的情況下,有時能夠與圖4及圖6的結(jié)構(gòu)相比更加有助于低耗電。即,由于I個存儲器塊16A中匯集了不會被同時選擇的多個標記路,所以I個存儲器塊16A所具有的讀出放大器或緩沖放大器的數(shù)量與I個存儲器塊中具有I個標記路的情況大致相等,與所有存儲器塊的數(shù)量減少的量對應(yīng)地,非激活狀態(tài)下的亞閾值漏電流(Sub-threshold leakage current)這種的漏電流減少,從這一點出發(fā),有時能夠進一步實現(xiàn)低耗電。
[0172]此外,為了便于說明,與讀取動作系列相關(guān)的結(jié)構(gòu)及與填充動作系列相關(guān)的結(jié)構(gòu)在不同的附圖中進行了記載,但高速緩存控制電路10除了標記路TagWAY#0?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3之外,還同時具有圖11所示的結(jié)構(gòu)及圖12所示的結(jié)構(gòu)。向標記路TagffAYSO?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3分別供給塊使能信號的供給方法與圖4及圖6的情況相同,所以省略說明。
[0173]另外,即使在按每個存儲器塊存儲多個路而進行路選擇的圖11及圖12的情況下,雖然并未特別地進行圖示,但當然也能夠應(yīng)用于如圖10中說明的那樣、使用按標記地址信息的多個分割部分的每一個分割部分的奇偶校驗位的結(jié)構(gòu)。奇偶校驗數(shù)據(jù)PRTdat的位數(shù)并不限定為2位,也可以是3位以上。
[0174]《7.標記地址信息的變例》
[0175]如果地址信息為物理地址,則標記地址信息也成為該物理地址信息的一部分信息。當然,在地址信息為邏輯地址時,標記地址信息也可以成為該邏輯地址信息的一部分信息,但在邏輯地址的情況下有時也包含將邏輯地址變換為物理地址時所需的信息(α ),此時,有利的對策是作為標記地址信息而包含信息α進行考慮,當然,對也包含信息α在內(nèi)的標記地址信息生成奇偶校驗數(shù)據(jù)。例如在以多線程進行處理的情況下,進行各個線程的處理的虛擬CPU編號(Virtual CPU ID)成為上述信息α。在圖13中例示了該情況下的標記條目的結(jié)構(gòu)。在圖13中,標記條目具有:有效位V,其表不該聞速緩存條目的有效性;鎖定位L,其表示是否禁止該高速緩存條目的替換;Virtual CPU ID,其表示虛擬CPU編號;以及Logical Address [31:12],其表示邏輯地址高速緩存標記。
[0176]圖14例示了在使用圖13的標記條目的情況下,著眼于對高速緩存條目的讀取動作系列的結(jié)構(gòu)。標記條目的Virtual CPU ID及Logical Address [31:12]存儲在圖示的標記路中,有效位V及鎖定位L存儲在未圖示的其它存儲裝置(觸發(fā)電路等)中。與圖4的不同點在于,奇偶校驗生成電路30B使用Logical Address[31:12]和Virtual CPU ID[3:0]生成奇偶校驗數(shù)據(jù)PRTdat,另外,判斷電路53B、54B將Logical Address [31:12]和VirtualCPU ID[3:0]作為標記地址信息TAGadrs,作為與索引得到的高速緩存標記之間的比較對象。圖15例示了在使用圖13的標記條目的情況下,著眼于對高速緩存條目的填充動作系列的結(jié)構(gòu)。與圖6的不同點在于,作為高速緩存標記而寫入的條目信息成為與標記地址信息 TAGadrs 對應(yīng)的 Virtual CPU ID [3:0]及 Logical Address [31:12]。
[0177]由于其它結(jié)構(gòu)與圖4及圖6的結(jié)構(gòu)相同,所以省略其詳細的說明。另外,在TAG地址信息及高速緩存標記中含有Virtual CPU ID的情況下,當然也能夠應(yīng)用于圖8及圖9所說明的PBS的啟動/停止選擇功能、上述高位設(shè)備的圖10所說明的奇偶校驗數(shù)據(jù)的多位化、圖11及圖12所說明的將多個路匯集在同一個存儲器塊中的各種結(jié)構(gòu),其詳細內(nèi)容省略說明。
[0178]此外,為了便于說明,與讀取動作系列相關(guān)的結(jié)構(gòu)及與填充動作系列相關(guān)的結(jié)構(gòu)在不同的附圖中進行了記載,但高速緩存控制電路10除了標記路TagWAY#0?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3之外,還同時具有圖13所示的結(jié)構(gòu)及圖14所示的結(jié)構(gòu)。向標記路TagffAYSO?TagWAY#3及數(shù)據(jù)路DataWAY#0?#3分別供給塊使能信號的供給方法與圖4及圖6的情況相同,所以省略說明。
[0179]《8.存儲器塊》
[0180]圖16示出了存儲器塊16、16A、15、15A的具體例子。存儲器塊16、16A、15、15A例如構(gòu)成為靜態(tài)隨機訪問存儲器(SRAM),存儲器陣列(MCA)IlO中以矩陣配置有多個靜態(tài)型存儲器單元MC(在附圖中作為代表示出了 I個)。存儲器單元的選擇端子與作為代表示出的字線WL連接,存儲器單元的數(shù)據(jù)輸入輸出端子與作為代表示出的互補位線BLt、BLb連接。
[0181]字線WL由字驅(qū)動器(WDRV) 111驅(qū)動。行地址解碼器(RDEC) 112對行地址信號RAdd進行解碼而生成字線選擇信號,根據(jù)所生成的字線選擇信號的選擇電平,字驅(qū)動器(WDRV)Ill驅(qū)動字線WL。
[0182]多個互補位線BLt、BLb由列開關(guān)電路(CSW) 113選擇而與讀出放大器(SA) 114或?qū)懭敕糯笃?WA) 115導(dǎo)通。列地址解碼器(⑶EC) 116對列地址信號CAdd進行解碼而生成互補位線選擇信號,接收所生成的互補位線選擇信號的列開關(guān)電路113選擇互補位線BLt、BLb。
[0183]定時控制器(TCNT) 117從外部接收塊使能信號CEN、寫使能信號WEN、及地址信號Add。塊使能信號CEN與上述塊使能信號cen對應(yīng)。定時控制器117通過將塊使能信號CEN設(shè)置為選擇電平而進行激活。即,接收從外部輸入的地址信號ADD而將行地址信號RAdd供給至行地址解碼器112,將列地址信號CAdd供給至列地址解碼器116,并且能夠通過地址解碼器111、116進行選擇動作。此外,對寫使能信號WEN所生成的讀出動作的指示進行響應(yīng)而激活讀出放大器114,對寫使能信號WEN所生成的寫入動作的指示進行響應(yīng)而激活寫放大器115。
[0184]被激活的讀出放大器114對經(jīng)由列開關(guān)113而連接的互補位線BLt、BLb中從存儲器單元MC轉(zhuǎn)發(fā)來的微弱的讀取數(shù)據(jù)進行放大,生成數(shù)據(jù)信號Dout。被激活的寫放大器115將輸入數(shù)據(jù)Din向經(jīng)由列開關(guān)113而連接的互補位線BLt、BLb轉(zhuǎn)發(fā),寫入通過字線WL選擇的存儲器單元MC。
[0185]輸出數(shù)據(jù)Dout及輸入數(shù)據(jù)Din的位數(shù),在標記路的情況下為與標記條目的位數(shù)相應(yīng)的位數(shù),在數(shù)據(jù)路的情況下為與數(shù)據(jù)條目的位數(shù)相應(yīng)的位數(shù)。[0186]圖17例示了作為標記路的一個例子而在由存儲器塊16構(gòu)成的TagWAY#0的存儲器單元陣列(MCA)IlO中所存儲的標記條目的配置。標記條目的數(shù)量全部為256個,存儲器單元陣列的每一行存儲4個標記條目,行數(shù)為64行。一個標記條目由M位(M為任意的整數(shù))構(gòu)成,在圖17中例示了 20位的標記地址信息[31:12]。即,在圖17中示意地表示了圖
4、6、8、9、14、15的各個標記路。
[0187]在該例子中,通過8位地址信號Add(索引地址信息[11:4])選擇256個中的一個標記條目。具體地說,通過地址信號Add信號的高位的6位(行地址)選擇字線上的4個標記條目,通過低位的2位(列地址)而由列開關(guān)選擇4個標記條目中的一個,將所選擇的一個標記條目的互補位線BLt、BLb與讀出放大器114進行電結(jié)合。
[0188]雖然并未特別地進行圖示,但由存儲器塊16構(gòu)成的其它標記路TagWAT#l?TagffAY#3也是相同的。
[0189]圖18例示了作為數(shù)據(jù)路的一個例子而在由存儲器塊16構(gòu)成的DataWAY#0的存儲器單元陣列(MCA)IlO中所存儲的數(shù)據(jù)條目的配置。數(shù)據(jù)條目的數(shù)量全部為256個,存儲器單元陣列的每一行存儲4個數(shù)據(jù)條目,行數(shù)為64行。一個數(shù)據(jù)條目即數(shù)據(jù)路的I線(line)由L位構(gòu)成。L為任意的整數(shù),大于標記路的條目尺寸。在圖18中示意地表示了圖4、圖6、圖8、圖9、14、15的各個數(shù)據(jù)路,條目尺寸為16字節(jié)(L = 128)。在該例子中,通過8位地址信號Add(索引地址信息[11:4])選擇256個中的一個數(shù)據(jù)條目。具體地說,通過地址信號Add信號的高位的6位(行地址)選擇字線上的4個數(shù)據(jù)條目,通過低位的2位(列地址)而由列開關(guān)選擇4個數(shù)據(jù)條目中的一個,將所選擇的一個數(shù)據(jù)條目的互補位線BLt、BLb與讀出放大器114進行電結(jié)合。
[0190]雖然并未特別地進行圖示,但由存儲器塊16構(gòu)成的其它數(shù)據(jù)路DataWAT#l?DataffAY#3也是相同的。
[0191]圖19例示了作為標記路的其它例子而在由存儲器塊16A構(gòu)成的TagWAY#0及TagWAY#2的存儲器單元陣列(MCA)IlO中所存儲的標記條目的配置。標記條目的數(shù)量全部為512個,存儲器單元陣列的每一行存儲4個標記條目,行數(shù)為128行。一個標記條目由M位(M為任意的整數(shù))構(gòu)成,在圖19中例示了 20位的標記地址信息[31:12]。S卩,在圖19中示意地表示了圖11、12的各個標記路。
[0192]在該例子中,通過8位地址信號Add(索引地址信息[11:4])和I位奇偶校驗數(shù)據(jù)PRTdat (addr [8])選擇512個中的一個標記條目。
[0193]雖然并未特別地進行圖示,但由存儲器塊16A構(gòu)成的其它標記路TagWAT#l及TagffAY#3也是相同的。
[0194]圖20例示了作為數(shù)據(jù)路的一個例子而在由存儲器塊16構(gòu)成的DataWAY#0及DataffAY#2的存儲器單元陣列(MCA) 110中所存儲的數(shù)據(jù)條目的配置。數(shù)據(jù)條目的數(shù)量全部為512個,存儲器單元陣列的每一行存儲4個數(shù)據(jù)條目,行數(shù)為128行。一個數(shù)據(jù)條目即數(shù)據(jù)路的I線由L位構(gòu)成。L為任意的整數(shù),大于標記路的條目尺寸。在圖20中示意地表示了圖11、12的各個數(shù)據(jù)路,條目尺寸為16字節(jié)(L= 128)。
[0195]在該例子中,通過8位地址信號Add(索引地址信息[11:4])和I位奇偶校驗數(shù)據(jù)PRTdat (addr [8])選擇512個中的一個標記條目。
[0196]雖然并未特別地進行圖示,但由存儲器塊16A構(gòu)成的其它標記路DataWAY#l及DataffAY#3也是相同的。
[0197]圖21例示了在LRU陣列15、15A的存儲器單元陣列(MCA) 110中所存儲的LRU條目的配置。LRU條目的數(shù)量全部為256個,存儲器單元陣列的每一行存儲4個LRU條目,行數(shù)為64行。一個LRU條目由2位或3位構(gòu)成。需要3位的情況為圖9的情況。
[0198]在該例子中,通過8位地址信號Add(索引地址信息[11:4])選擇256個中的一個LRU條目。具體地說,通過地址信號Add信號的高位的6位(行地址)選擇字線上的4個LRU條目,通過低位的2位(列地址)而由列開關(guān)選擇4個LRU條目中的一個,將所選擇的一個LRU條目的互補位線BLt、BLb與讀出放大器114進行電結(jié)合。
[0199]《8.對標記路的索引動作的總結(jié)》
[0200]圖22總結(jié)示出了對標記路的索引動作方式的主要方式。將對4個標記路TagffAYSO?TagWAY#3進行的動作作為一個例子。在通過索引動作將以路為單位的存儲器塊(BLCK) 16全部激活的方式中,由于同時訪問4個存儲器塊16,所以由此產(chǎn)生的消耗電力與以下動作方式相比最大。
[0201]在如圖4所代表那樣根據(jù)奇偶校驗數(shù)據(jù)PRTdat的值以標記路為單位將存儲器塊16分割選擇的情況下,標記路TagWAY#0?TagWAY#3的存儲所使用的存儲器塊16的數(shù)量與上述相同為4個,但檢測出高速緩存命中或高速緩存脫靶時進行動作的存儲器塊16的數(shù)量為2個。在奇偶校驗數(shù)據(jù)PRTdat = O時,同時訪問標記路TagWAY#0、TagWAY#l,在奇偶校驗數(shù)據(jù)PRTdat = I時,同時訪問標記路TagWAY#2、TagWAY#3。由此,此時的電力消耗與上述相比大致減半。
[0202]如圖11所代表那樣將標記路每2個地匯集而存儲在存儲器塊16A中,在內(nèi)部選擇所需的標記路的情況下,存儲器塊16A的單個存儲容量為上述存儲器塊16的2倍。分配給I個存儲器塊16A的標記路是根據(jù)奇偶校驗數(shù)據(jù)PRTdat的值而不會被同時選擇的兩個標記路。即,將標記路TagWAY#0和TagWAY#l組成一對,將標記路TagWAY#2和TagWAY#3組成另一對。在奇偶校驗數(shù)據(jù)PRTdat = O時,同時訪問存儲有標記路TagWAY#0和TagWAY#2的2個存儲器塊16A,從一個存儲器塊選擇所需的標記路。在奇偶校驗數(shù)據(jù)PRTdat = I時,同時訪問存儲有標記路TagWAY#l和TagWAY#3的2個存儲器塊16A,從一個存儲器塊選擇所需的標記路。進行動作的存儲器塊為2個,各存儲器塊16A的存儲容量為存儲器塊16的2倍,因此,預(yù)見到與以路為單位分割選擇存儲器塊的選擇方式具有大致相同程度的消耗電力,但與全部選擇以路為單位的存儲器塊的選擇方式相比,整體的電力消耗較少。消耗電力對讀出放大器動作、特別是亞閾值漏電流這樣的待機電流產(chǎn)生較大影響。這是由于,只要進行動作的讀出放大器的數(shù)量與從路讀出的高速緩存標記的位數(shù)相同,則所需的讀出放大器的數(shù)量與存儲器塊16相等即可。而且,列類周邊電路的電路規(guī)模也與存儲器塊16大致相同即可,電路規(guī)模也變小,從這一點出發(fā)也實現(xiàn)了低耗電。
[0203]以上,基于實施方式具體地說明了本發(fā)明人所完成的發(fā)明,但本發(fā)明并不限定于此,當然能夠在不脫離其主旨的范圍內(nèi)進行各種變更。
[0204]例如對標記路和數(shù)據(jù)路并行被索引的情況進行了說明,但并不限定于此。選擇數(shù)據(jù)并不限定于奇偶校驗數(shù)據(jù),在不需要奇偶校驗檢查功能的情況下,也可以使用索引地址信息的特定位。高速緩存條目的數(shù)據(jù)結(jié)構(gòu)、標記條目的數(shù)據(jù)結(jié)構(gòu)、以及它們的位數(shù)等能夠適當?shù)刈兏?。另外,標記地址信息并不限定于圖13的虛擬CPU編號和邏輯地址的對,能夠根據(jù)CPU的虛擬地址空間行結(jié)構(gòu)和/或數(shù)據(jù)處理線程的結(jié)構(gòu)來適當變更為地址空間編號(ASID)和邏輯地址的對等。微型計算機并不限定為單CPU核,也能夠應(yīng)用于多CPU核,即使在此情況下,也可以按每個CPU核使用與多線程對應(yīng)的虛擬CPU編號而構(gòu)成索引地址信息。高速緩沖存儲器可以是指令高速緩存、數(shù)據(jù)高速緩存、統(tǒng)一高速緩存的任一種,另外,能夠應(yīng)用于一級高速緩存、二級高速緩存。
[0205]另外,針對標記地址TAGadrs生成奇偶校驗數(shù)據(jù),基于該奇偶校驗數(shù)據(jù)而從多個標記路中選擇一部分I以上的標記路及與其對應(yīng)的數(shù)據(jù)路,除此之外的標記路及與其對應(yīng)的數(shù)據(jù)路不選擇,但根據(jù)標記地址TAGadrs以任意方法生成對標記路進行選擇的數(shù)據(jù),也實現(xiàn)低耗電。例如作為簡單的方法而能夠?qū)擞浀刂稵AGadrs的所有20位中的任意I位用于路選擇信號。
[0206]工業(yè)實用性
[0207]本發(fā)明能夠廣泛地應(yīng)用于使用組相聯(lián)方式進行高速緩存的半導(dǎo)體集成電路、具有一級或二級高速緩存的微型計算機或系統(tǒng)級芯片的所謂SoC這樣的半導(dǎo)體集成電路、模塊化的半導(dǎo)體器件等。
[0208]附圖標記說明
[0209]I微型計算機(MCU)
[0210]2 CPU (中央處理單元)
[0211 ] 3高速緩沖存儲器(CACHMRY)
[0212]4內(nèi)部總線
[0213]9中斷控制器(INTC)
[0214]5隨機訪問存儲器(RAM)
[0215]6直接存儲器訪問控制器(DMAC)
[0216]7閃速存儲器(FLASH)
[0217]8其它周邊電路(PRPHRL)
[0218]10高速緩存控制電路(CACHCNT)
[0219]11 存儲器墊塊(MRYMAT)
[0220]12 標記路(TagWAY)
[0221]13 數(shù)據(jù)路(DataWAY)
[0222]14 高速緩存條目(CachENTRY)
[0223]15 LRU 數(shù)據(jù)陣列(LRUARY)
[0224]16存儲器塊
[0225]TagffATSO ?TagWATfe — I 標記路
[0226]ACCadrs訪問地址信息
[0227]TAGadrs標記地址信息
[0228]IDXadrs索引地址信息
[0229]30奇偶校驗生成電路(PRTYG)
[0230]31標記比較電路(TAGCMP)
[0231]32多位檢測電路(MLTHIT)
[0232]PRTdat奇偶校驗數(shù)據(jù) [0233] cenO?cenlBcena、cenb使能信號(塊使能信號)。
【權(quán)利要求】
1.一種數(shù)據(jù)處理裝置,其含有在多個路中存儲多個高速緩存條目的組相聯(lián)型的高速緩沖存儲器,其中, 所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息而生成的選擇數(shù)據(jù)的值,從所述多個路中選擇部分路,從所選擇的路中,使用所述地址信息中的索引地址讀取高速緩存標記, 所述高速緩沖存儲器在進行高速緩存填充時,對從與所述選擇數(shù)據(jù)的值相應(yīng)的部分路中選擇出的高速緩存條目,進行高速緩存填充。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中, 所述高速緩沖存儲器針對作為所述地址信息的一部分的標記地址信息生成奇偶校驗數(shù)據(jù),來作為所述選擇數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中, 所述高速緩沖存儲器將從所述路 讀取的各個高速緩存標記與所述標記地址進行比較,判斷它們的比較結(jié)果是完全不一致、僅一個一致以及有多個一致的哪一種,在判斷為所述有多個一致時,生成高速緩存錯誤信號。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,其中, 還具有將所述高速緩存錯誤信號作為異常要素或中斷要素進行輸入的中斷控制器。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理裝置,其中, 所述高速緩沖存儲器將所述僅一個一致的比較結(jié)果所涉及的高速緩存標記的高速緩存條目作為數(shù)據(jù)操作的對象。
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中, 所述路具有與所述索引地址對應(yīng)地存儲所述高速緩存標記的標記路、以及與所述索引地址對應(yīng)地存儲數(shù)據(jù)的數(shù)據(jù)路,高速緩存條目含有所述高速緩存標記以及與該高速緩存標記對應(yīng)的數(shù)據(jù),所述多個標記路分別由按每個標記路而被選擇為激活或非激活的存儲器塊構(gòu)成, 所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)使用了所述選擇數(shù)據(jù)的存儲器塊的激活,進行所述部分標記路的選擇。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理裝置,其中, 所述選擇數(shù)據(jù)是相對于作為所述地址信息的一部分的標記地址信息的所有位而為I位的奇偶校驗數(shù)據(jù),第I邏輯值的奇偶校驗數(shù)據(jù)用于選擇所述多個存儲器塊的一半,第2邏輯值的奇偶校驗數(shù)據(jù)用于選擇所述多個存儲器塊的剩余一半。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理裝置,其中, 所述選擇數(shù)據(jù)是由作為所述地址信息的一部分的標記地址信息的按多個分割部分的每一分割部分的奇偶校驗位構(gòu)成的多位的奇偶校驗數(shù)據(jù),所述奇偶校驗數(shù)據(jù)的值決定從多個標記路中選擇的標記路。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理裝置,其中, 所述高速緩沖存儲器具有:第I模式,其基于所述選擇數(shù)據(jù)從所述多個路中選擇部分標記路而讀取高速緩存標記;以及第2模式,其使讀取高速緩存標記的對象標記路為所有的標記路, 所述高速緩沖存儲器輸入選擇所述第I模式或第2模式的模式選擇信號。
10.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中, 所述路具有與所述索引地址對應(yīng)地存儲所述高速緩存標記的標記路、以及與所述索引地址對應(yīng)地存儲數(shù)據(jù)的數(shù)據(jù)路,高速緩存條目含有所述高速緩存標記以及與該高速緩存標記對應(yīng)的數(shù)據(jù),所述多個標記路是將每規(guī)定多個的標記路匯集到一個存儲器塊而構(gòu)成的,構(gòu)成在同一存儲器塊中的多個標記路通過彼此不同的選擇數(shù)據(jù)而被選擇, 所述高速緩沖存儲器在讀取高速緩存標記時,使用所述選擇數(shù)據(jù)和所述索引地址信息來讀取高速緩存標記。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理裝置,其中, 所述選擇數(shù)據(jù)是相對于作為所述地址信息的一部分的標記地址信息的所有位而為I位的奇偶校驗數(shù)據(jù),第I邏輯值的奇偶校驗數(shù)據(jù)用于選擇各個所述存儲器塊中的一方的標記路,第2邏輯值的奇偶校驗數(shù)據(jù)用于選擇各個所述多個存儲器塊中的另一方的標記路。
12.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理裝置,其中, 所述選擇數(shù)據(jù)是由作為所述地址信息的一部分的標記地址信息的按多個分割部分的每一分割部分的奇偶校驗位構(gòu)成的多位的奇偶校驗數(shù)據(jù),所述奇偶校驗數(shù)據(jù)的值決定從各個存儲器塊中選擇的標記路。
13.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中, 所述高速緩沖存儲器具有存儲用作以下指標的LRU數(shù)據(jù)的LRU數(shù)據(jù)陣列,該指標用于在決定進行高速緩存填充的高速緩存條目時,通過偽LRU來確定成為高速緩存填充對象的高速緩存條目, 所述LRU數(shù)據(jù)陣列具有按針對高速緩存條目的每個索引地址而存儲多位的履歷數(shù)據(jù)的區(qū)域,該多位的履歷數(shù)據(jù)表示基于選擇數(shù)據(jù)所選擇的部分路的每個路的利用履歷, 所述高速緩沖存儲器基于使用索引地址信息而從LRU數(shù)據(jù)陣列讀出的所述履歷數(shù)據(jù)、以及對應(yīng)的選擇數(shù)據(jù),選擇進行高速緩存填充的高速緩存條目。
14.根據(jù)權(quán)利要求13所述的數(shù)據(jù)處理裝置,其中, 所述多個路分別由按每個標記路而被選擇為激活或非激活的存儲器塊構(gòu)成, 所述高速緩沖存儲器在讀取高速緩存標記時,通過使用了所述選擇數(shù)據(jù)的存儲器塊的激活,進行基于所述選擇數(shù)據(jù)的部分路的選擇, 所述高速緩沖存儲器在進行高速緩存填充時,根據(jù)在各個存儲器塊中由所述索引地址所指示的高速緩存條目內(nèi)、基于索引地址信息而從所述LRU數(shù)據(jù)陣列讀出的多位的所述履歷數(shù)據(jù)、以及基于所述標記地址而生成的所述選擇數(shù)據(jù),選擇進行高速緩存填充的高速緩存條目。
15.根據(jù)權(quán)利要求13所述的數(shù)據(jù)處理裝置,其中, 所述多個路是將每規(guī)定多個的標記路匯集到一個存儲器塊而構(gòu)成的,構(gòu)成在同一存儲器塊中的多個路通過彼此不同的選擇數(shù)據(jù)而被選擇, 所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)所述選擇數(shù)據(jù)來指定被激活的各個存儲器塊中的哪個路被選擇,選擇所指定的路中的哪個高速緩存標記是根據(jù)所述地址信息中的索引地址信息來指定的, 所述高速緩沖存儲器在進行高速緩存填充時,根據(jù)多位的履歷數(shù)據(jù)來指定哪個存儲器塊被選擇,根據(jù)所述選擇數(shù)據(jù)來指定從所指定的存儲器塊中選擇哪個路,根據(jù)所述索引地址來指定從所指定的路中將哪個高速緩存條目作為高速緩存填充的對象,其中,所述多位的履歷數(shù)據(jù)根據(jù)索引地址信息而從所述LRU數(shù)據(jù)陣列被讀出。
16.一種數(shù)據(jù)處理裝置,其含有在多個路中存儲多個高速緩存條目的組相聯(lián)型的高速緩沖存儲器,其中, 所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息而生成的奇偶校驗數(shù)據(jù)的值,指定從所述多個路中選擇哪部分路,根據(jù)所述地址信息中的索引地址信息,指定從所指定的路中讀取哪個高速緩存標記,將所讀取的高速緩存標記與所述標記地址進行比較,判斷它們的比較結(jié)果是完全不一致、僅一個一致以及有多個一致的哪一種,在判斷為所述有多個一致時,生成高速緩存錯誤信號, 所述高速緩沖存儲器在進行高速緩存填充時,對從與所述選擇數(shù)據(jù)的值相應(yīng)的部分路中選擇出的高速緩存條目進行高速緩存填充。
17.一種數(shù)據(jù)處理裝置,其含有在多個路中存儲多個高速緩存條目的組相聯(lián)型的高速緩沖存儲器,其中, 所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息而生成的奇偶校驗數(shù)據(jù)的值,指定從所述多個路中選擇哪部分路,根據(jù)所述地址信息中的索引地址信息,指定從所指定的路中讀取哪個高速緩存標記,將所讀取的高速緩存標記與所述標記地址進行比較,判斷它們的比較結(jié)果是完全不一致、僅一個一致以及有多個一致的哪一種,在判斷為所述有多個一致時,生成高速緩存錯誤信號, 所述高速緩沖存儲 器具有存儲用作以下指標的LRU數(shù)據(jù)的LRU數(shù)據(jù)陣列,該指標用于在決定進行高速緩存填充的高速緩存條目時,通過偽LRU來確定成為高速緩存填充對象的高速緩存條目, 所述LRU數(shù)據(jù)陣列具有按針對高速緩存條目的每個索引地址而存儲多位的履歷數(shù)據(jù)的區(qū)域,該多位的履歷數(shù)據(jù)表示基于奇偶校驗數(shù)據(jù)所選擇的部分路的每個路的利用履歷, 所述高速緩沖存儲器基于使用索引地址信息而從LRU數(shù)據(jù)陣列讀出的所述履歷數(shù)據(jù)、以及對應(yīng)的選擇數(shù)據(jù),選擇進行高速緩存填充的高速緩存條目。
18.一種數(shù)據(jù)處理裝置,其含有將多個路用于多個高速緩存條目的存儲中的組相聯(lián)型的高速緩沖存儲器,其中, 所述高速緩沖存儲器在基于地址信息對路進行操作時,從與基于作為所述地址信息的一部分的標記地址信息而生成的選擇數(shù)據(jù)相應(yīng)的部分路中,選擇成為操作對象的高速緩存條目。
19.一種數(shù)據(jù)處理裝置,其含有將多個路用于多個高速緩存條目的存儲中的組相聯(lián)型的高速緩沖存儲器,其中, 所述高速緩沖存儲器,從與基于作為地址信息的一部分的標記地址信息而生成的選擇數(shù)據(jù)相應(yīng)的部分路中,讀取與地址標記進行比較的高速緩存標記,并且選擇進行高速緩存填充的高速緩存條目。
20.一種數(shù)據(jù)處理裝置,其含有將多個路用于多個高速緩存條目的存儲中的組相聯(lián)型的高速緩沖存儲器,其中, 所述高速緩沖存儲器在讀取高速緩存標記時,根據(jù)基于作為地址信息的一部分的標記地址信息而生成的選擇數(shù)據(jù)的值,指示多個路中的哪個路被選擇,基于所述地址信息中的索引地址,指示從所指示的路中讀取哪個高速緩存標記, 所述高速緩沖存儲器在進行高速緩存填充時,依照針對所有路的高速緩存條目以所述索引地址為單位進行參照的使用履歷、與所述選擇數(shù)據(jù)的值的組合,選擇進行高速緩存填充的高速緩存條目 。
【文檔編號】G06F12/08GK104011692SQ201180075908
【公開日】2014年8月27日 申請日期:2011年12月26日 優(yōu)先權(quán)日:2011年12月26日
【發(fā)明者】T·E·C·余, 山下源, 伊藤雅之 申請人:瑞薩電子株式會社