專利名稱:運(yùn)算裝置、高速緩存裝置及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及運(yùn)算裝置、高速緩存(cache)裝置及其控制方法。
背景技術(shù):
存在要求確定包含于第一數(shù)據(jù)組中的各單個(gè)數(shù)據(jù)是否與第二數(shù)據(jù)組中的至少一些數(shù)據(jù)匹配的許多應(yīng)用。日本專利No. 3588487提出了逆流流水線(counterflow pipeline)技術(shù)以獲得這種確定。以下將參照?qǐng)D11描述逆流流水線技術(shù)。逆流流水線技術(shù)使用作為兩個(gè)流水線的第一流水線1110和第二流水線1120。第一流水線1110具有多個(gè)第一節(jié)點(diǎn)1111,并且這些第一節(jié)點(diǎn)1111在一定的定時(shí)存儲(chǔ)第一數(shù)據(jù)組的數(shù)據(jù)A
至A[3]。 第一流水線1110沿右方向移動(dòng)(shift)數(shù)據(jù)。作為數(shù)據(jù)移動(dòng)的結(jié)果,例如,存儲(chǔ)數(shù)據(jù)A[2] 的第一節(jié)點(diǎn)1111存儲(chǔ)數(shù)據(jù)A[3]。第二流水線1120具有多個(gè)第二節(jié)點(diǎn)1121,并且這些第二節(jié)點(diǎn)1121在一定的定時(shí)存儲(chǔ)第二數(shù)據(jù)組的數(shù)據(jù)B
至B[3]。第二流水線1120沿左方向移動(dòng)數(shù)據(jù)。確定單元1130與第一節(jié)點(diǎn)1111和第二節(jié)點(diǎn)1121連接,并且確定存儲(chǔ)于這些節(jié)點(diǎn)中的數(shù)據(jù)是否匹配。對(duì)于逆流流水線技術(shù),由于兩個(gè)流水線中的數(shù)據(jù)沿相反的方向移動(dòng), 因此,通過(guò)循環(huán)(round-robin)方法比較第一組和第二組的數(shù)據(jù)。為了獲得較快的逆流流水線運(yùn)算,兩個(gè)流水線獨(dú)立地移動(dòng)。但是,當(dāng)?shù)谝涣魉€ 1110和第二流水線1120同時(shí)移動(dòng)時(shí),一些數(shù)據(jù)不能被比較。例如,在圖11所示的定時(shí),比較數(shù)據(jù)A[2]和B[l]。當(dāng)?shù)谝缓偷诙魉€同時(shí)移動(dòng)時(shí),在下一定時(shí)比較數(shù)據(jù)A[2]和數(shù)據(jù) B[3]。因此,數(shù)據(jù)A[2]從不與數(shù)據(jù)B[2]比較。為了抑制這樣的數(shù)據(jù)比較差錯(cuò),在日本專利 No. 3588487中,監(jiān)視第一流水線1110和第二流水線1120的節(jié)點(diǎn)的狀態(tài)。在將出現(xiàn)數(shù)據(jù)比較差錯(cuò)的狀態(tài)中,兩個(gè)流水線被停止,并且在完成比較之后被允許移動(dòng)數(shù)據(jù)。并且,在日本專利No. 3588487中描述的逆流流水線技術(shù)中,數(shù)據(jù)僅經(jīng)受一對(duì)一的比較處理,但一個(gè)數(shù)據(jù)不能同時(shí)與多個(gè)數(shù)據(jù)比較,或者,不能動(dòng)態(tài)地改變要與一個(gè)數(shù)據(jù)同時(shí)比較的數(shù)據(jù)的數(shù)量。
發(fā)明內(nèi)容
如上所述,日本專利No. 3588487中描述的逆流流水線技術(shù)難以確實(shí)地(surely) 且靈活地比較數(shù)據(jù)。由此,本發(fā)明的一個(gè)方面提供一種用于使用逆流流水線確實(shí)地且靈活地比較數(shù)據(jù)的技術(shù)。本發(fā)明的一個(gè)方面提供一種運(yùn)算裝置,該運(yùn)算裝置包括多個(gè)第一保持單元,所述多個(gè)第一保持單元中的每一個(gè)包含串行連接的多個(gè)第一節(jié)點(diǎn),并且將保持在各第一節(jié)點(diǎn)中的第一數(shù)據(jù)移動(dòng)到位于第一方向上的相鄰節(jié)點(diǎn);多個(gè)第二保持單元,所述多個(gè)第二保持單元中的每一個(gè)包含串行連接的多個(gè)第二節(jié)點(diǎn),并且將保持在各第二節(jié)點(diǎn)中的第二數(shù)據(jù)移動(dòng)到位于第二方向上的相鄰節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng); 運(yùn)算單元,所述運(yùn)算單元對(duì)于作為第一保持單元的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),使用保持在關(guān)注節(jié)點(diǎn)中的第一數(shù)據(jù)和保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)中的第二數(shù)據(jù)來(lái)執(zhí)行運(yùn)算;以及輸入單元,所述輸入單元將第一數(shù)據(jù)并行輸入到所述多個(gè)第一保持單元之中的至少兩個(gè),并且將第二數(shù)據(jù)串行輸入到所述多個(gè)第二保持單元之中的至少兩個(gè)。本發(fā)明的另一方面提供一種高速緩存裝置,所述高速緩存裝置包括多個(gè)數(shù)據(jù)處理裝置,所述多個(gè)數(shù)據(jù)處理裝置中的每一個(gè)包括第一流水線,所述第一流水線包含多個(gè)第一節(jié)點(diǎn),并且將保持在一個(gè)第一節(jié)點(diǎn)中的地址移動(dòng)到相對(duì)于所述一個(gè)第一節(jié)點(diǎn)位于第一方向上的另一第一節(jié)點(diǎn);第二流水線,所述第二流水線包含多個(gè)第二節(jié)點(diǎn),并且將保持在一個(gè)第二節(jié)點(diǎn)中的高速緩存標(biāo)記移動(dòng)到相對(duì)于所述一個(gè)第二節(jié)點(diǎn)位于與第一方向相反的第二方向上的另一第二節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng);以及比較單元,所述比較單元對(duì)于作為第一流水線的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),比較保持在關(guān)注節(jié)點(diǎn)中的地址與保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的第二節(jié)點(diǎn)中的至少一個(gè)中的高速緩存標(biāo)記,以確定地址是否與高速緩存標(biāo)記匹配;所述高速緩存裝置還包括高速緩存存儲(chǔ)器,所述高速緩存存儲(chǔ)器對(duì)存儲(chǔ)在外部存儲(chǔ)器件中的數(shù)據(jù)中的一些進(jìn)行存儲(chǔ);獲取單元,所述獲取單元從處理裝置獲取數(shù)據(jù)的請(qǐng)求;第一輸入單元,所述第一輸入單元復(fù)制獲取的數(shù)據(jù)的地址,并且將復(fù)制的地址輸入到所述多個(gè)數(shù)據(jù)處理裝置的第一流水線;第二輸入單元,所述第二輸入單元將存儲(chǔ)于高速緩存存儲(chǔ)器中的數(shù)據(jù)的高速緩存標(biāo)記輸入到所述多個(gè)數(shù)據(jù)處理裝置之一的第二流水線;以及確定單元,所述確定單元當(dāng)確定比較單元的比較結(jié)果指示匹配時(shí),確定獲取的數(shù)據(jù)的高速緩存命中(hit),其中,所述多個(gè)數(shù)據(jù)處理裝置的第二流水線被串行連接。本發(fā)明的又一方面提供一種運(yùn)算裝置的控制方法,所述運(yùn)算裝置包括多個(gè)第一保持單元,所述多個(gè)第一保持單元中的每一個(gè)包含串行連接的多個(gè)第一節(jié)點(diǎn),并且將保持在各第一節(jié)點(diǎn)中的第一數(shù)據(jù)移動(dòng)到位于第一方向上的相鄰節(jié)點(diǎn);多個(gè)第二保持單元,所述多個(gè)第二保持單元中的每一個(gè)包含串行連接的多個(gè)第二節(jié)點(diǎn),并且將保持在各第二節(jié)點(diǎn)中的第二數(shù)據(jù)移動(dòng)到位于第二方向上的相鄰節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng);以及運(yùn)算單元,所述運(yùn)算單元對(duì)于作為第一保持單元的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),使用保持在關(guān)注節(jié)點(diǎn)中的第一數(shù)據(jù)和保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)中的第二數(shù)據(jù)來(lái)執(zhí)行運(yùn)算,所述方法包括將第一數(shù)據(jù)并行輸入到所述多個(gè)第一保持單元之中的至少兩個(gè),并且將第二數(shù)據(jù)串行輸入到所述多個(gè)第二保持單元之中的至少兩個(gè)。本發(fā)明的再一方面提供一種高速緩存裝置的控制方法,所述高速緩存裝置包括多個(gè)數(shù)據(jù)處理裝置,所述多個(gè)數(shù)據(jù)處理裝置中的每一個(gè)包括第一流水線,所述第一流水線包含多個(gè)第一節(jié)點(diǎn),并且將保持在一個(gè)第一節(jié)點(diǎn)中的地址移動(dòng)到相對(duì)于所述一個(gè)第一節(jié)點(diǎn)位于第一方向上的另一第一節(jié)點(diǎn);第二流水線,所述第二流水線包含多個(gè)第二節(jié)點(diǎn),并且將保持在一個(gè)第二節(jié)點(diǎn)中的高速緩存標(biāo)記移動(dòng)到相對(duì)于所述一個(gè)第二節(jié)點(diǎn)位于與第一方向相反的第二方向上的另一第二節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng);以及比較單元,所述比較單元對(duì)于作為第一流水線的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),比較保持在關(guān)注節(jié)點(diǎn)中的地址與保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的第二節(jié)點(diǎn)中的至少一個(gè)中的高速緩存標(biāo)記,以確定地址是否與高速緩存標(biāo)記匹配,所述方法包括在高速緩存存儲(chǔ)器中存儲(chǔ)被存儲(chǔ)在外部存儲(chǔ)器件中的數(shù)據(jù)中的一些;控制獲取單元以從處理裝置獲取數(shù)據(jù)的請(qǐng)求;控制第一輸入單元以復(fù)制獲取的數(shù)據(jù)的地址并且將復(fù)制的地址輸入到所述多個(gè)數(shù)據(jù)處理裝置的第一流水線;控制第二輸入單元以將存儲(chǔ)于高速緩存存儲(chǔ)器中的數(shù)據(jù)的高速緩存標(biāo)記輸入到所述多個(gè)數(shù)據(jù)處理裝置之一的第二流水線;以及控制確定單元以在確定比較單元的比較結(jié)果指示匹配時(shí)確定獲取的數(shù)據(jù)的高速緩存命中,其中,所述多個(gè)數(shù)據(jù)處理裝置的第二流水線被串行連接。從(參照附圖)對(duì)示例性實(shí)施例的以下描述,本發(fā)明的進(jìn)一步的特征將變得明顯。
圖1是示出圖像處理裝置100的基本布置的示例性總體框圖;圖2是示出高速緩存確定單元120的基本布置的示例性電路圖;圖3是示出數(shù)據(jù)處理裝置200的基本布置的示例性電路圖;圖4是高速緩存確定單元400的示例性電路圖;圖5是高速緩存確定單元500的示例性電路圖;圖6是用于詳細(xì)解釋解碼器552的示例性電路圖;圖7示出分割(partition)信息表的示例性格式;圖8是示出分割信息表的實(shí)際例子的示例性示圖;圖9是用于解釋高速緩存存儲(chǔ)器900的示例性示圖;圖10是使用縱橫開(kāi)關(guān)(crossbar switch)時(shí)的示例性電路圖;以及圖11是用于解釋常規(guī)的逆流流水線技術(shù)的框圖。
具體實(shí)施例方式
以下將參照附圖描述本發(fā)明的實(shí)施例。[圖像處理裝置100]圖1是示出包含高速緩存裝置110的圖像處理裝置100的總體布置的例子的示例性框圖。在高速緩存裝置110中,數(shù)據(jù)處理裝置(后面將描述)被應(yīng)用作為完全相聯(lián)的 (fully-associative)高速緩存確定單元120。圖像處理裝置100包含CPU 160、作為外部存儲(chǔ)器件的DRAM165、DRAM控制器166 和系統(tǒng)總線164。圖像處理裝置100還包含作為用于讀出數(shù)據(jù)的DMAC(Direct Memory Access Controller,直接存儲(chǔ)器訪問(wèn)控制器)的RDMAC 162和用于寫(xiě)入數(shù)據(jù)的WDMAC 163, 以從/向DRAM 165讀/寫(xiě)數(shù)據(jù)。圖像處理裝置100進(jìn)一步包含執(zhí)行諸如圖像處理的處理的處理裝置(P.A.)A 101至D 104、以及高速緩存裝置110。多個(gè)處理裝置共享高速緩存裝置110。即,高速緩存裝置110是共享的高速緩存裝置。圖像處理裝置100可包含任意數(shù)量的處理裝置,每個(gè)處理裝置可通過(guò)執(zhí)行快速固定(permanent)處理的流水線電路、或者通過(guò)雖然處理速度低但可靈活改變處理內(nèi)容的處理器和程序來(lái)配置。CPU 160經(jīng)由控制總線161控制RDMAC 162、WDMAC 163和處理裝置A 101至D 104,由此系統(tǒng)性地控制整個(gè)圖像處理裝置100。依據(jù)來(lái)自CPU 160的指令,RDMAC 162經(jīng)由系統(tǒng)總線164和DRAM控制器166讀出存儲(chǔ)于DRAM 165中的圖像數(shù)據(jù),并且將讀出的圖像數(shù)據(jù)輸入到處理裝置A 101。處理裝置A 101執(zhí)行希望的圖像處理,并且將作為處理結(jié)果的圖像數(shù)據(jù)輸出到處理裝置B 102。處理裝置B102、C 103和D 104如處理裝置A 101中那樣類似地執(zhí)行各種類型的圖像處理,并且將作為處理結(jié)果的圖像數(shù)據(jù)輸出到隨后的處理裝置。處理裝置D 104將作為處理結(jié)果的圖像數(shù)據(jù)輸出到WDMAC 163。WDMAC 163依據(jù)來(lái)自CPU 160的指令經(jīng)由系統(tǒng)總線164和DRAM控制器166將從處理裝置D 104接收的圖像數(shù)據(jù)存儲(chǔ)在DRAM 165中。圖像處理裝置100通過(guò)執(zhí)行上述的系列的操作來(lái)實(shí)施圖像處理。在上述的圖像處理期間,處理裝置A 101至D 104可經(jīng)由共享的高速緩存裝置110 從DRAM 165讀出各種需要的數(shù)據(jù)(設(shè)置、表、屬性信息等),并且可在圖像處理中使用讀出的數(shù)據(jù)。當(dāng)通過(guò)處理器和程序來(lái)配置處理裝置中的任一個(gè)時(shí),可經(jīng)由高速緩存裝置110依次讀出程序以實(shí)施處理。[高速緩存裝置110]以下將詳細(xì)描述高速緩存裝置110的布置和操作。上述的處理裝置A 101至D 104 在它們經(jīng)由高速緩存裝置110從DRAM 165讀出數(shù)據(jù)時(shí)將DRAM 165上的數(shù)據(jù)的存儲(chǔ)地址輸出到I/F 112。高速緩存裝置110包含用于訪問(wèn)請(qǐng)求的環(huán)形總線111,以傳送DRAM 165上的數(shù)據(jù)的存儲(chǔ)地址。與各自的處理裝置對(duì)應(yīng)的I/F 112經(jīng)由該環(huán)形總線111相互連接。從各自的處理裝置輸出的存儲(chǔ)地址113經(jīng)由I/F 112和環(huán)形總線111被輸入到高速緩存確定單元120。高速緩存確定單元120基于輸入的存儲(chǔ)地址113確定高速緩存命中或遺漏(miss)。[高速緩存確定單元120]以下將參照?qǐng)D2詳細(xì)描述高速緩存確定單元120的電路布置的例子。高速緩存確定單元120包含數(shù)據(jù)處理裝置200和高速緩存確定裝置觀0。要輸入到高速緩存確定單元120(第一輸入)的存儲(chǔ)地址113包含 地址有效(validity)信號(hào) “valid”; 地址信號(hào)“data” ;和 處理裝置101至104中的每一個(gè)的識(shí)別信號(hào)“ID”。這些信號(hào)被輸入到數(shù)據(jù)處理裝置200。[數(shù)據(jù)處理裝置200]以下將參照?qǐng)D3詳細(xì)描述數(shù)據(jù)處理裝置200的電路布置的例子。圖3是關(guān)注于數(shù)據(jù)處理裝置200的一部分的示圖。第一流水線300具有多個(gè)節(jié)點(diǎn)(第一節(jié)點(diǎn))。如果選擇這些節(jié)點(diǎn)中的一個(gè)作為關(guān)注節(jié)點(diǎn)(例如,節(jié)點(diǎn)310),那么數(shù)據(jù)元素(data element)(第一數(shù)據(jù))從關(guān)注節(jié)點(diǎn)沿第一方向(圖1中的右方向)移動(dòng)到下游側(cè)的下一第一節(jié)點(diǎn)(例如,節(jié)點(diǎn)330)。如圖2所示,第一流水線300從數(shù)據(jù)處理裝置200外面接收 地址有效信號(hào)“valid” ; 地址信號(hào) “data,,; 作為地址信號(hào)的處理結(jié)果的處理結(jié)果信號(hào)“tag_id” ;和 處理裝置的識(shí)別信號(hào)“ID”。信號(hào)“Valid”、“data”和“ID”包含于存儲(chǔ)地址113中,并且,信號(hào)“tag_id”例如
為缺省值?;剡^(guò)來(lái)參照?qǐng)D3,例如,節(jié)點(diǎn)310接收 地址有效信號(hào) “valid[l-l]”312 ; 地址信號(hào) “data[l-l] ” 314 ;和 各處理裝置的識(shí)別信號(hào)“ID[1-1],,。在圖3中,為了簡(jiǎn)化,信號(hào)“valid”和“ID”由一條信號(hào)線表示。并且,數(shù)據(jù)處理電路320接收 地址信號(hào) “data[l-l] ” 314 ;和 作為地址信號(hào)的處理結(jié)果的處理結(jié)果信號(hào)“tag_id[l-l]”316。數(shù)據(jù)處理電路320對(duì)這些輸入信號(hào)施加后面將描述的處理,并且將處理結(jié)果輸出到節(jié)點(diǎn)310。當(dāng)作為驅(qū)動(dòng)信號(hào)的信號(hào)“enable” 121有效(被斷言(asserted))時(shí),包含流水線寄存器的節(jié)點(diǎn)310使用從上游側(cè)的節(jié)點(diǎn)和數(shù)據(jù)處理電路320輸入的數(shù)據(jù)元素來(lái)更新目前為止存儲(chǔ)的數(shù)據(jù)元素。另一方面,當(dāng)信號(hào)“enable”121無(wú)效(被去斷言(deasserted))時(shí),節(jié)點(diǎn)310忽略從上游側(cè)輸入的數(shù)據(jù)元素,使存儲(chǔ)的數(shù)據(jù)元素保持原樣,并且不更新數(shù)據(jù)元素。 為了便于描述,在第一流水線300之中,包含一個(gè)節(jié)點(diǎn)和向該節(jié)點(diǎn)輸入處理結(jié)果信號(hào)的數(shù)據(jù)處理電路的區(qū)段(section)將被稱為級(jí)(stage)。特別地,在圖3中,包含節(jié)點(diǎn)310和數(shù)據(jù)處理電路320的區(qū)段將被稱為第一級(jí)。節(jié)點(diǎn)310向下游側(cè)的節(jié)點(diǎn)330和數(shù)據(jù)處理電路340輸出存儲(chǔ)的數(shù)據(jù),即 地址有效信號(hào) “valid[1] ” 332 ; 地址信號(hào) “data[l],,334 ; 處理結(jié)果信號(hào) “tag_id[l] ” 336 ;和 識(shí)別信號(hào) “ID[1]”。在圖3中,在第一流水線300之中,包含節(jié)點(diǎn)330和數(shù)據(jù)處理電路340的區(qū)段將被稱為第二級(jí)。如第一級(jí)中那樣,在第二級(jí)中執(zhí)行各種類型的數(shù)據(jù)處理。處理之后的數(shù)據(jù)元素被暫時(shí)存儲(chǔ)在節(jié)點(diǎn)330中。該存儲(chǔ)操作與第一級(jí)中的存儲(chǔ)操作相同。并且,節(jié)點(diǎn)330輸出 地址有效信號(hào) “valid[l+l] "352 ; 地址信號(hào) “data[1+1] "354 ; 處理結(jié)果信號(hào) “tag_id[l+l],,;356 ;和 識(shí)別信號(hào) “ID[1+1]”。通過(guò)該操作,在第一流水線300中,數(shù)據(jù)元素(有效信號(hào)“valid”、地址信號(hào) “data”、處理結(jié)果信號(hào)“tag_id”和識(shí)別信號(hào)“ID” )從作為“上游側(cè)”的圖面上的左側(cè)向作為“下游側(cè)”的圖面上的右側(cè)移動(dòng)。除了第一流水線300以外,數(shù)據(jù)處理裝置200還包含第二流水線360。該第二流水線360具有多個(gè)節(jié)點(diǎn)(第二節(jié)點(diǎn)),并且將保持在這些第二節(jié)點(diǎn)中的流水線寄存器中的數(shù)據(jù)元素移動(dòng)到沿與第一流水線相反的方向(第二方向)定位的相鄰節(jié)點(diǎn)。更具體而言,第二流水線360從作為“上游側(cè)”的圖面上的右側(cè)向作為“下游側(cè)”的圖面上的左側(cè)移動(dòng)數(shù)據(jù)元素。如圖2所示,第二流水線360從數(shù)據(jù)處理裝置200外面接收地址有效信號(hào)“tag_Valid” 和地址信號(hào)“tag_data” (第二輸入)?;剡^(guò)來(lái)參照?qǐng)D3,節(jié)點(diǎn)370從上游側(cè)接收地址有效信號(hào)“tag_Valid[i+2] ” 372和地址信號(hào)“tag_data[i+2] ” 374。在上述的數(shù)據(jù)處理電路340中使用這些輸入信號(hào)。當(dāng)驅(qū)動(dòng)信號(hào)“shift”362有效(被斷言)時(shí),節(jié)點(diǎn)370使用從上游側(cè)的節(jié)點(diǎn)輸入的數(shù)據(jù)元素來(lái)更新目前為止存儲(chǔ)的數(shù)據(jù)元素。另一方面,當(dāng)驅(qū)動(dòng)信號(hào)“shift” 362無(wú)效(被去斷言)時(shí),節(jié)點(diǎn)370忽略從上游側(cè)輸入的數(shù)據(jù)元素,使存儲(chǔ)的數(shù)據(jù)元素保持原樣,并且不更新數(shù)據(jù)元素。在第二流水線360之中,包含一個(gè)節(jié)點(diǎn)的區(qū)段將被稱為級(jí)。特別地,在圖3 中,包含節(jié)點(diǎn)370的區(qū)段將被稱為第一級(jí)。節(jié)點(diǎn)370將存儲(chǔ)于流水線寄存器中的地址有效信號(hào)“tag_Valid[i+l]”382和地址信號(hào)“tag_data[i+l] ” 384輸出到節(jié)點(diǎn)380與數(shù)據(jù)處理電路320和340。并且,節(jié)點(diǎn)380 將有效信號(hào)“tag_Valid[i],,392和地址信號(hào)“tag_data[i],,394輸出到下游側(cè)。通過(guò)該操作,在第二流水線360之中,作為數(shù)據(jù)元素的有效信號(hào)“tag_Valid”和地址信號(hào)“tag_data” 從作為“上游側(cè)”的圖面上的右側(cè)移動(dòng)到作為“下游側(cè)”的圖面上的左側(cè)。[數(shù)據(jù)處理電路]以下將詳細(xì)描述數(shù)據(jù)處理電路320和340。數(shù)據(jù)處理電路比較兩個(gè)方向上的地址信號(hào)“data”和“tag_data”(第一比較)。當(dāng)這些信號(hào)彼此相等時(shí),數(shù)據(jù)處理電路將信號(hào) “tag_data”的存儲(chǔ)標(biāo)號(hào)(index)(上述的“ [i] ”、“ [i+Ι] ”或“ [i+2] ”)存儲(chǔ)作為信號(hào)“tag_ id”。然后,同步于“data”,信號(hào)“tag_id”作為第一流水線300的數(shù)據(jù)處理結(jié)果從作為“上游側(cè)”的圖面上的左側(cè)移動(dòng)到作為“下游側(cè)”的圖面上的右側(cè)。以此方式,在信號(hào)“tag_ id[l] ”336中,設(shè)定第二流水線360的數(shù)據(jù)元素的存儲(chǔ)標(biāo)號(hào),其具有與第一流水線300的第 1個(gè)數(shù)據(jù)元素“data[l] ” 334的值相等的值。更具體而言,當(dāng)有效信號(hào)“tag_Valid[i]”392有效時(shí),數(shù)據(jù)處理電路320控制比較電路322以比較地址信號(hào)“data[l-l] ”314和“tag_data[i] ”394。當(dāng)作為比較結(jié)果這些信號(hào)彼此相等時(shí),選擇器3 選擇信號(hào)“tag_data[i]”394的存儲(chǔ)標(biāo)號(hào)“Node = i”。該選擇值在信號(hào)“tag_id[l-l] ”316中被設(shè)定作為第二流水線360的數(shù)據(jù)元素的存儲(chǔ)標(biāo)號(hào),其具有與第一流水線300的信號(hào)“data[l-l],,314的值相等的值。如上所述,當(dāng)?shù)谝涣魉€300和第二流水線360同時(shí)操作時(shí),在一些情況下可能出現(xiàn)比較差錯(cuò)。為了避免這種差錯(cuò),當(dāng)有效信號(hào)“tag_Valid[i+l]”382有效時(shí),數(shù)據(jù)處理電路 320控制比較電路324以比較地址信號(hào)“data[1-1] ” 314 ^P "tag_data[i+l],,384(第二比較)。當(dāng)作為比較結(jié)果這些信號(hào)彼此相等時(shí),選擇器3 優(yōu)先選擇信號(hào)“tag_data[i+l] ”384 的存儲(chǔ)標(biāo)號(hào)“Node = i+1”。當(dāng)作為兩個(gè)比較結(jié)果兩對(duì)比較信號(hào)不彼此相等時(shí),選擇器3 選擇輸入的處理結(jié)果信號(hào)“tag_id[l-l]”316。當(dāng)驅(qū)動(dòng)信號(hào)“shift” 362有效(被斷言)并且第二流水線360 操作時(shí),第二流水線360的數(shù)據(jù)元素向作為“下游側(cè)”的圖面上的左側(cè)移動(dòng)。因此,在這種情況下,各信號(hào)“tag_data”的存儲(chǔ)標(biāo)號(hào)指示左相鄰的存儲(chǔ)標(biāo)號(hào)。由此,通過(guò)使用減量器(減法器)328將選擇器326的選擇結(jié)果減“ 1 ”,調(diào)整存儲(chǔ)標(biāo)號(hào)。以下將補(bǔ)充存儲(chǔ)標(biāo)號(hào)選擇方法。選擇存儲(chǔ)標(biāo)號(hào)“Node = i”、“Node = i+1”和“tag_ id[l-l]”316中的一個(gè)。選擇存儲(chǔ)標(biāo)號(hào)的準(zhǔn)則可以是簡(jiǎn)單的準(zhǔn)則,例如,“優(yōu)先選擇具有較大值的存儲(chǔ)標(biāo)號(hào)”。例如,以下將檢查其中數(shù)據(jù)信號(hào)“data[l-l] ”314和“tag_data[i+l] ”384 彼此相等并且驅(qū)動(dòng)信號(hào)“shift” 362有效的情況。在這種情況下,為了避免上述的比較差錯(cuò),選擇“Node = i+1”是重要的,并且,該操作與方法“優(yōu)先選擇具有較大值的存儲(chǔ)標(biāo)號(hào)” 匹配。另一方面,當(dāng)驅(qū)動(dòng)信號(hào)“shift” 362無(wú)效時(shí),不需要避免上述的比較差錯(cuò),并且,不需要選擇“Node = i+1”。但是,不管“Node = i+1”的選擇/不選擇,作為第一流水線300的下游級(jí)的第二級(jí)都再次評(píng)價(jià)地址信號(hào)“data[l],,334和“tag_data[i+l],,384之間的比較。 出于該原因,當(dāng)驅(qū)動(dòng)信號(hào)“shift”362無(wú)效時(shí),可以進(jìn)行或者可以不進(jìn)行第一級(jí)中的與信號(hào)"tag_data[i+l]"384的比較。相反,可以通過(guò)方法“優(yōu)先選擇具有較大值的存儲(chǔ)標(biāo)號(hào)”進(jìn)行選擇。在信號(hào)“tag_id[l-l]”316中設(shè)定以此方式選擇的值,所述值指示第二流水線360 的數(shù)據(jù)元素的存儲(chǔ)標(biāo)號(hào),其具有與信號(hào)“data[l-l] ” 314的值相等的值。僅出于示例性的目的給出已參照?qǐng)D3解釋的例子。例如,可以在選擇器3 中代入驅(qū)動(dòng)信號(hào)“shift”362,以控制在驅(qū)動(dòng)信號(hào)“shift”362無(wú)效時(shí)不選擇“Node = i+1”。當(dāng)兩個(gè)比較電路322和3 的比較結(jié)果為〈偽(false)〉時(shí),選擇輸入數(shù)據(jù)信號(hào)“tag_id[l-l]”316。 在任何情況下,當(dāng)驅(qū)動(dòng)信號(hào)“shift” 362有效時(shí),執(zhí)行將存儲(chǔ)標(biāo)號(hào)減“1”的調(diào)整以應(yīng)對(duì)存儲(chǔ)位置向“下游側(cè)”的移動(dòng)。出于該原因,不執(zhí)行不選擇“Node = i+1”的控制,并且,在選擇 "Node = i+1”之后再次執(zhí)行將存儲(chǔ)標(biāo)號(hào)減“1”的調(diào)整。這同樣適用于數(shù)據(jù)處理電路340。當(dāng)有效信號(hào)“tag_Valid[i+l]”382有效時(shí),比較電路342比較地址信號(hào)“data[l] ”334和“tag_data[i+l] ”384。當(dāng)作為比較結(jié)果兩個(gè)信號(hào)彼此相等時(shí),選擇器346選擇信號(hào)“tag_data[i+l]”384的存儲(chǔ)標(biāo)號(hào)“Node = i+1”。為了準(zhǔn)備第二流水線360的操作,當(dāng)有效信號(hào)“tag_Valid[i+2]”372有效時(shí),數(shù)據(jù)處理電路 340控制比較電路344以比較數(shù)據(jù)信號(hào)“data[1],,334和“tag_data[i+2] ” 374。當(dāng)作為比較結(jié)果這些信號(hào)彼此相等時(shí),選擇器346優(yōu)先選擇信號(hào)“tag_data[i+2] ” 374的存儲(chǔ)標(biāo)號(hào) "Node = i+2”。當(dāng)作為兩個(gè)比較結(jié)果兩對(duì)比較信號(hào)不彼此相等時(shí),選擇器346選擇處理結(jié)果信號(hào)“tag_id[l]”336。當(dāng)驅(qū)動(dòng)信號(hào)“shift” 362有效并且第二流水線360因此操作時(shí), 信號(hào)“tag_data”的存儲(chǔ)標(biāo)號(hào)向作為“下游側(cè)”的圖面上的左側(cè)移動(dòng)“1”。出于該原因,從選擇器346的選擇結(jié)果使用減量器(減法器)348將存儲(chǔ)標(biāo)號(hào)減“1”。以此方式,可以調(diào)整匹配檢測(cè)結(jié)果,并且,可以通過(guò)簡(jiǎn)單的處理來(lái)實(shí)現(xiàn)更精確并且更快速的數(shù)據(jù)處理。如上所述, 數(shù)據(jù)處理裝置200可在流水線的各自的級(jí)中確實(shí)地且快速地比較沿相反方向移動(dòng)的數(shù)據(jù)元素。上述的數(shù)據(jù)處理電路320和340中的每一個(gè)具有第二流水線360中要比較的數(shù)據(jù)元素針對(duì)第一流水線300的每一個(gè)數(shù)據(jù)元素的比較電路。并且,數(shù)據(jù)處理電路320和340 中的每一個(gè)在第二流水線360操作的假定下具有第二流水線360的“上游”數(shù)據(jù)元素對(duì)于第二流水線360的要比較的數(shù)據(jù)元素的新的比較電路。由于這些電路可避免可能在日本專利No. 3588487的布置中出現(xiàn)的對(duì)于各特定級(jí)的聯(lián)鎖(interlocking)(內(nèi)部停止)的問(wèn)題, 因此,可以總是獲得高的處理性能而不停止數(shù)據(jù)處理。在數(shù)據(jù)處理裝置200中,為了計(jì)算兩個(gè)數(shù)據(jù)元素彼此相等時(shí)的存儲(chǔ)位置,數(shù)據(jù)處理電路320和340中的每一個(gè)在第二流水線360操作的假定下包含用于將處理結(jié)果減“ 1” 的減量器。然后,第二流水線的數(shù)據(jù)元素的存儲(chǔ)標(biāo)號(hào)被事先分配,以從第二流水線的“下游
側(cè)”向“上游側(cè)”如“0、1、2.....i、i+1、i+2.....N-l(i和N是正值,i < N)”那樣增加。
將在后面描述這種分配的優(yōu)點(diǎn)。當(dāng)以相反的次序分配存儲(chǔ)標(biāo)號(hào)時(shí),減量器自然用作被用于將存儲(chǔ)標(biāo)號(hào)加“1”的增量器。以下將再次參照?qǐng)D2描述數(shù)據(jù)處理裝置200的布置。在數(shù)據(jù)處理裝置200中,第一流水線300和第二流水線360均包含八個(gè)級(jí)。圖2中的Data Slot
至Data Slot [7]與圖3所示的第一流水線300的節(jié)點(diǎn)310和330對(duì)應(yīng)。圖2中的Tag Slot
至Tag Slot [7] 與圖3所示的第二流水線360的節(jié)點(diǎn)370和380對(duì)應(yīng)。Judge
至Judge[7]與圖3所示的數(shù)據(jù)處理電路320和340對(duì)應(yīng)。如上所述,通過(guò)設(shè)置多個(gè)級(jí),數(shù)據(jù)處理裝置200可通過(guò)流水線操作來(lái)對(duì)許多數(shù)據(jù)元素進(jìn)行并行分布和比較。存儲(chǔ)地址113通過(guò)數(shù)據(jù)處理裝置200的第一流水線300的Data Slot移動(dòng)。數(shù)據(jù)處理裝置200可同時(shí)存儲(chǔ)八個(gè)信號(hào)“tag_data”,并且高速緩存標(biāo)記(tag)信息被存儲(chǔ)于這八個(gè)信號(hào)“tag_data”中的每一個(gè)中。使用數(shù)據(jù)處理裝置200的例子的高速緩存裝置與8 節(jié)點(diǎn)、完全相聯(lián)的高速緩存裝置對(duì)應(yīng)。并且,從第二流水線360的“下游側(cè)”依次串行設(shè)定第0個(gè)到第7個(gè)存儲(chǔ)位置,并且,第二流水線360具有當(dāng)驅(qū)動(dòng)信號(hào)“shift” 362有效(被斷言)時(shí)向“下游側(cè)”移動(dòng)數(shù)據(jù)元素的移動(dòng)結(jié)構(gòu)。通過(guò)該移動(dòng)結(jié)構(gòu),最舊的高速緩存標(biāo)記被存儲(chǔ)于第0個(gè)存儲(chǔ)位置處的信號(hào)“tag_data”中,最新的高速緩存標(biāo)記被存儲(chǔ)于第7個(gè)存儲(chǔ)位置處的信號(hào)“tag_data”中。每次出現(xiàn)高速緩存遺漏時(shí),高速緩存標(biāo)記從第7個(gè)存儲(chǔ)位置處的信號(hào)“tag_data”依次移動(dòng)到第0個(gè)存儲(chǔ)位置處的信號(hào)“tag_data”,并然后從第二流水線 360被掃出(sweep out)。盡管高速緩存確定單元120具有非常簡(jiǎn)單的結(jié)構(gòu),但其總是從最舊的高速緩存標(biāo)記和高速緩存數(shù)據(jù)依次舍棄高速緩存標(biāo)記和高速緩存數(shù)據(jù)。結(jié)果,不需要執(zhí)行一般的高速緩存機(jī)構(gòu)的復(fù)雜替換(replace)控制。[高速緩存命中確定]以下將描述高速緩存命中確定序列。“高速緩存命中確定”是要確定由存儲(chǔ)地址 113指定的數(shù)據(jù)是否被存儲(chǔ)于高速緩存存儲(chǔ)器190中。當(dāng)指定的數(shù)據(jù)被存儲(chǔ)于高速緩存存儲(chǔ)器190中時(shí),確定高速緩存命中;否則,確定高速緩存遺漏。通過(guò)高速緩存確定裝置280 進(jìn)行高速緩存命中確定。高速緩存確定裝置280通過(guò)檢查從數(shù)據(jù)處理裝置200輸出的處理結(jié)果信號(hào)“tag_id^2的補(bǔ)碼表示(complement representation))的具有1位長(zhǎng)度的符號(hào)位,確定高速緩存命中或遺漏。當(dāng)作為來(lái)自數(shù)據(jù)處理裝置200的輸出的有效信號(hào)“valid” 有效(被斷言)并且其符號(hào)位是“1”時(shí),信號(hào)“tag_id”取負(fù)值,并且,高速緩存確定裝置 280確定高速緩存遺漏。當(dāng)有效信號(hào)“valid”有效(被斷言)并且其符號(hào)位是“0”時(shí),信號(hào) “tag_id”取非負(fù)值,并且,高速緩存確定裝置280確定高速緩存命中。當(dāng)有效信號(hào)“valid” 無(wú)效(被去斷言)時(shí),高速緩存確定裝置280跳過(guò)(skip)確定。并且,當(dāng)來(lái)自訪問(wèn)仲裁 (arbitration)單元130的信號(hào)“enable”無(wú)效(被去斷言)時(shí),高速緩存確定裝置280跳過(guò)確定。作為數(shù)據(jù)處理裝置200的輸出的地址信號(hào)“data”、有效信號(hào)“valid”和識(shí)別信號(hào) “ID”同步于信號(hào)“tag_id”被輸入到高速緩存確定裝置觀0。當(dāng)通過(guò)以上的處理確定高速緩存遺漏時(shí),作為高速緩存遺漏時(shí)的地址“cachejiiissjddress”從高速緩存確定裝置280 輸出該地址信號(hào)“data”。在高速緩存遺漏的情況下,高速緩存確定裝置280使驅(qū)動(dòng)信號(hào) “shift” 362有效(斷言),并且作為高速緩存標(biāo)記“tag_data”輸出高速緩存遺漏時(shí)的地址“cachejiiissjddress”。每次高速緩存遺漏被確定,都使驅(qū)動(dòng)信號(hào)“shift” 362有效,并且,如上所述處理結(jié)果“tag_id”被遞減(decrement)。即使當(dāng)處理結(jié)果“tag_id”初始保持正值時(shí),如果高速緩存遺漏被重復(fù),那么第二流水線360移動(dòng),并且,常常從第二流水線360掃出高速緩存標(biāo)記“tag_data”。如從以上的描述可以看出的那樣,由于最舊的高速緩存標(biāo)記的存儲(chǔ)標(biāo)號(hào)為零,因此掃出的處理結(jié)果 “tag_id”取負(fù)值。這是僅需要在上述的高速緩存確定中檢查信號(hào)“tag_id”的符號(hào)的原因。 即,分配存儲(chǔ)位置的序號(hào)(number)的方法被設(shè)計(jì),使得最舊的高速緩存標(biāo)記與第0個(gè)對(duì)應(yīng)并且最新的高速緩存標(biāo)記與第(N-I)個(gè)對(duì)應(yīng)。結(jié)果,可通過(guò)確定第一流水線300的最后級(jí)中的數(shù)據(jù)處理結(jié)果的符號(hào),獲得高速緩存命中確定。因此,可以非常簡(jiǎn)單地完成高速緩存確定。當(dāng)從第二流水線360的“上游側(cè)”向“下游側(cè)”從第0個(gè)到第(N-I)個(gè)分配存儲(chǔ)標(biāo)號(hào)時(shí), 可通過(guò)檢查信號(hào)“tag_id”的值是否比作為第二流水線的元素的數(shù)量的N小,獲得高速緩存命中確定。對(duì)于如上所述總是從最舊的高速緩存數(shù)據(jù)依次舍棄高速緩存數(shù)據(jù)的機(jī)構(gòu),高速緩存存儲(chǔ)器190可使用環(huán)形FIFO。在這種情況下,高速緩存確定單元120和高速緩存存儲(chǔ)器 190可容易地被同步化。注意,當(dāng)高速緩存確定指示高速緩存命中時(shí),希望的高速緩存數(shù)據(jù)被存儲(chǔ)于由“tag_id”指示的位置處的高速緩存存儲(chǔ)器中。通過(guò)上述的處理,高速緩存確定單元120向訪問(wèn)仲裁單元130輸出以下的內(nèi)容作為基于輸入存儲(chǔ)地址113的確定結(jié)果125 地址有效信號(hào)“valid,,, 作為高速緩存遺漏時(shí)的DRAM 165的數(shù)據(jù)存儲(chǔ)地址的地址信號(hào)“CaChe_miSS_ address,,, 處理裝置的識(shí)別信號(hào)“ID” ; 作為高速緩存數(shù)據(jù)的存儲(chǔ)地址的信號(hào)“ tag_id”,和·高速緩存確定結(jié)果 “ cachejni ss_f lag,,。[訪問(wèn)仲裁單元]130以下將參照?qǐng)D1描述訪問(wèn)仲裁單元130的操作。當(dāng)確定結(jié)果125中的有效信號(hào) “valid”有效(被斷言)時(shí),訪問(wèn)仲裁單元130操作;否則,它等待。訪問(wèn)仲裁單元130根據(jù)確定結(jié)果125中的高速緩存確定結(jié)果“CaChe_miSS_flag”的有效(被斷言)/無(wú)效(被去斷言)狀態(tài),執(zhí)行以下的處理。 當(dāng)高速緩存確定結(jié)果“CaChe_miSS_flag”有效時(shí),訪問(wèn)仲裁單元130評(píng)價(jià)發(fā)送隊(duì)列150、接收隊(duì)列170和等待隊(duì)列140的各自存儲(chǔ)區(qū)域的空狀態(tài)。當(dāng)三個(gè)隊(duì)列均具有空區(qū)域時(shí),訪問(wèn)仲裁單元130使信號(hào)“ID、tag_id、chche_miss_flag” 135在等待隊(duì)列140中入列(enqueue)。同時(shí),訪問(wèn)仲裁單元130使地址信號(hào)“cachejniss_address” 132在發(fā)送隊(duì)列150中入列。如果不存在空區(qū)域,那么訪問(wèn)仲裁單元130使驅(qū)動(dòng)信號(hào)“enable” 121無(wú)效 (去斷言)以停止高速緩存確定單元120,并且進(jìn)行等待直到存儲(chǔ)區(qū)域變?yōu)榭铡?當(dāng)高速緩存確定結(jié)果“CaChe_miSS_flag”無(wú)效時(shí),訪問(wèn)仲裁單元130評(píng)價(jià)等待隊(duì)列140的空狀態(tài)。如果存在空區(qū)域,那么訪問(wèn)仲裁單元130使信號(hào)“ID、tag_id、cache. miss_flag" 135在等待隊(duì)列140中入列。如果不存在空區(qū)域,那么訪問(wèn)仲裁單元130使驅(qū)動(dòng)信號(hào)“enable” 121無(wú)效(去斷言)以停止高速緩存確定單元120,并且進(jìn)行等待直到存儲(chǔ)區(qū)域變?yōu)榭?。[高速緩存存儲(chǔ)器仲裁單元180]以下將描述高速緩存存儲(chǔ)器仲裁單元180的操作。高速緩存存儲(chǔ)器仲裁單元180 評(píng)價(jià)是否在接收隊(duì)列170和等待隊(duì)列140的存儲(chǔ)區(qū)域中保持?jǐn)?shù)據(jù)。高速緩存存儲(chǔ)器仲裁單元180使要被處理的高速緩存確定結(jié)果“103叫_丨(1、(^(^6_1^%_打叫”從等待隊(duì)列140出列(dequeue)。當(dāng)?shù)却?duì)列140為空時(shí),由于不存在要被處理的高速緩存確定結(jié)果,因此高速緩存存儲(chǔ)器仲裁單元180進(jìn)行等待而沒(méi)有任何處理。接下來(lái),高速緩存存儲(chǔ)器仲裁單元 180取決于高速緩存確定結(jié)果“CaChe_miSS_flag”是無(wú)效(被去斷言)還是有效(被斷言)而執(zhí)行以下的處理。 當(dāng)高速緩存確定結(jié)果“CaChe_miSS_flag”無(wú)效(被去斷言)時(shí),這意味著高速緩存命中。由此,高速緩存存儲(chǔ)器仲裁單元180基于從等待隊(duì)列140出列的數(shù)據(jù)元素中的 “tag_id”和FIFO高速緩存存儲(chǔ)器190的寫(xiě)入指針,計(jì)算高速緩存存儲(chǔ)器190中的存儲(chǔ)地址。高速緩存存儲(chǔ)器仲裁單元180從高速緩存存儲(chǔ)器190基于該存儲(chǔ)地址讀出高速緩存的數(shù)據(jù)作為數(shù)據(jù)“read_data”192。然后,高速緩存存儲(chǔ)器仲裁單元180將高速緩存數(shù)據(jù) “valid、ID、cache_data” 185 輸出到 I/F 116。 當(dāng)高速緩存確定結(jié)果“CaChe_miSS_flag”有效(被斷言)時(shí),這意味著高速緩存遺漏。高速緩存存儲(chǔ)器仲裁單元180確認(rèn)是否在接收隊(duì)列170中從DRAM 165接收到未存儲(chǔ)于高速緩存存儲(chǔ)器190中的數(shù)據(jù)。如果沒(méi)有接收到數(shù)據(jù),那么高速緩存存儲(chǔ)器仲裁單元180 進(jìn)行等待,直到接收到數(shù)據(jù)。如果接收到數(shù)據(jù),那么高速緩存存儲(chǔ)器仲裁單元180使要被更新的高速緩存數(shù)據(jù)從接收隊(duì)列170出列。然后,高速緩存存儲(chǔ)器仲裁單元180在由寫(xiě)入指針?biāo)甘镜母咚倬彺娲鎯?chǔ)器190的存儲(chǔ)區(qū)域中寫(xiě)入出列的數(shù)據(jù)作為數(shù)據(jù)“write_data”182。 同時(shí),高速緩存存儲(chǔ)器仲裁單元180將高速緩存數(shù)據(jù)“valid、ID、cache_data" 185輸出到 I/F 116。接下來(lái),高速緩存存儲(chǔ)器仲裁單元180使高速緩存存儲(chǔ)器190的寫(xiě)入指針遞增 (increment)。當(dāng)超過(guò)FIFO容量時(shí),高速緩存存儲(chǔ)器仲裁單元180將寫(xiě)入指針復(fù)位為零。高速緩存裝置110將通過(guò)上述的處理所獲得的高速緩存數(shù)據(jù)分發(fā)給處理裝置101 至104。高速緩存裝置110包含用于分發(fā)高速緩存數(shù)據(jù)的環(huán)形總線115。與這些處理裝置對(duì)應(yīng)的I/F 116經(jīng)由該環(huán)形總線115相互連接。與各自的處理裝置連接的I/F 116中的每一個(gè)接收作為來(lái)自高速緩存存儲(chǔ)器仲裁單元180的輸出的高速緩存數(shù)據(jù)“valid、ID、cache, data” 185。然后,當(dāng)接收的高速緩存數(shù)據(jù)的識(shí)別信號(hào)“ID”與連接的處理裝置的識(shí)別信號(hào) “ID”匹配時(shí),相應(yīng)的I/F 116將高速緩存數(shù)據(jù)輸出到處理裝置。如果兩個(gè)識(shí)別信號(hào)不匹配, 那么各I/F 116經(jīng)由環(huán)形總線115向位于隨后的位置處的另一 I/F 116發(fā)送接收的高速緩存數(shù)據(jù)。高速緩存裝置110采用非阻擋高速緩存機(jī)構(gòu),以隱藏作為高速緩存遺漏時(shí)的處罰的重填等待時(shí)間(refill latency)。即使當(dāng)確定結(jié)果125指示高速緩存遺漏時(shí),該機(jī)構(gòu)也在等待隊(duì)列140中保存后面需要的信息“10、丨呢_丨(1、(^(^6_1^%_打叫”135。然后,高速緩存裝置110在完成從DRAM 165讀出高速緩存遺漏數(shù)據(jù)并且將其存儲(chǔ)于高速緩存存儲(chǔ)器190 中的處理之前,執(zhí)行下一像素的高速緩存確定處理。通過(guò)該處理,即使在從DRAM 165向高速緩存存儲(chǔ)器190重填高速緩存遺漏數(shù)據(jù)時(shí),高速緩存裝置110也可對(duì)于隨后的像素執(zhí)行高速緩存確定。因此,可以抑制高速緩存遺漏時(shí)的性能劣化。高速緩存裝置110可使用非常簡(jiǎn)單的機(jī)構(gòu)來(lái)實(shí)現(xiàn)可被多個(gè)處理裝置共享的完全相聯(lián)的高速緩存裝置。當(dāng)多個(gè)處理裝置共享一個(gè)高速緩存裝置110時(shí),具有低的相關(guān)性的地址被接連輸入到高速緩存確定單元120。由于采用一般直接映射方法的高速緩存確定單元從各地址的低位(lower bits)計(jì)算用于管理高速緩存標(biāo)記的標(biāo)記存儲(chǔ)器的存儲(chǔ)地址,因此,具有低的相關(guān)性的這種地址容易導(dǎo)致高速緩存沖突。與處理裝置的數(shù)量對(duì)應(yīng)地增加組相聯(lián)(set-associative)節(jié)點(diǎn)的數(shù)量是減少高速緩存沖突可能性的一種解決方案。但是, 當(dāng)處理裝置的數(shù)量變得非常大時(shí),必須應(yīng)對(duì)非常大量的節(jié)點(diǎn)。由此,由于高速緩存確定單元中的選擇器的邏輯級(jí)的數(shù)量大,因此一般的高速緩存裝置實(shí)現(xiàn)方法變得難以使定時(shí)收斂(converge),并且不能以高的操作頻率來(lái)操作高速緩存確定單元。作為對(duì)比,由于高速緩存確定單元120通過(guò)流水線配置來(lái)獲得確定,因此它可以以非常高的操作頻率操作。并且,由于從較舊的數(shù)據(jù)依次自動(dòng)刪除數(shù)據(jù),因此高速緩存確定單元120不需要現(xiàn)有技術(shù)中所需要的高速緩存沖突時(shí)的任何復(fù)雜的替換控制。出于該原因,高速緩存確定單元120和高速緩存存儲(chǔ)器仲裁單元180可通過(guò)非常簡(jiǎn)單的機(jī)構(gòu)被同步化,并且,可以使用FIFO作為高速緩存存儲(chǔ)器。由此,這種布置對(duì)于提高高速緩存裝置110的操作頻率是有利的。更重要的是, 高速緩存裝置110采用完全相聯(lián)方法,并且,決不導(dǎo)致由于地址的低位相同所造成的高速緩存沖突。將描述使用圖4所示的高速緩存確定單元400的高速緩存裝置。圖4是用于解釋高速緩存確定單元400的電路布置的例子的電路圖。代替圖1所示的高速緩存裝置110 的高速緩存確定單元120,使用高速緩存確定單元400。與上述的高速緩存裝置110的基本布置中相同的部分的描述將不被重復(fù)。高速緩存確定單元400包含復(fù)制裝置410、運(yùn)算裝置430和高速緩存確定裝置480。運(yùn)算裝置430包含多個(gè)數(shù)據(jù)處理裝置(D. P. A.) 200_1至 200_N,這些數(shù)據(jù)處理裝置中的每一個(gè)具有與使用圖2描述的數(shù)據(jù)處理裝置200相同的布置。以此方式,由于高速緩存確定單元400包含多個(gè)上述的數(shù)據(jù)處理裝置,因此增加了可同時(shí)比較的數(shù)據(jù)元素的數(shù)量。由于圖4所示的高速緩存確定單元400包含多個(gè)基本的數(shù)據(jù)處理裝置,因此可以再利用已設(shè)計(jì)和驗(yàn)證的數(shù)據(jù)處理裝置,由此提高開(kāi)發(fā)效率。包含于高速緩存確定單元400中的各自的Data Slot與圖3所示的節(jié)點(diǎn)310和 330相同,并且當(dāng)信號(hào)“enable” 121有效(被斷言)時(shí)使用新的數(shù)據(jù)元素更新目前為止存儲(chǔ)的數(shù)據(jù)元素。節(jié)點(diǎn)411從I/F 112接收存儲(chǔ)地址113。如上所述,存儲(chǔ)地址113包含有效信號(hào)“valid”、地址信號(hào)“data”和識(shí)別信號(hào)“ID”。復(fù)制裝置410如420指示的那樣復(fù)制存儲(chǔ)地址113,以在節(jié)點(diǎn)412_1至412_N中將其重定時(shí)(retime)。節(jié)點(diǎn)412_1至412_N分別將存儲(chǔ)的數(shù)據(jù)元素輸出到相應(yīng)的數(shù)據(jù)處理裝置200_1至200_N的第一流水線300。以此方式,同一存儲(chǔ)地址113的復(fù)制品在相同的定時(shí)被并行輸入到各自的數(shù)據(jù)處理裝置的第一流水線300。運(yùn)算裝置430接收從高速緩存確定裝置480的解碼器452輸出的信號(hào)“CaChe_ miss_flag"444作為輸入到各自的數(shù)據(jù)處理裝置200_1至200_N的驅(qū)動(dòng)信號(hào)“shift”。然后,所有的數(shù)據(jù)處理裝置200_1至200_N的第二流水線360的數(shù)據(jù)元素同步移動(dòng)。從高速緩存確定裝置480輸出的信號(hào)“cache_miss_flag”和“cache_miss_address”作為信號(hào)“tag_ valid”和“tag_data”被輸入到數(shù)據(jù)處理裝置(1)200_1的第二流水線360。從數(shù)據(jù)處理裝置(1)的第二流水線360輸出的信號(hào)“tag_Valid”和“tag_data”作為信號(hào)“tag_Valid” 和“tag_data”被輸入到數(shù)據(jù)處理裝置O)200_2的第二流水線360(440_1)。這同樣適用于隨后的數(shù)據(jù)處理裝置G40_2、440_N)。從數(shù)據(jù)處理裝置(i)的第二流水線360輸出的信號(hào) "tag_valid"和“tag_data,,作為信號(hào)“tag_Valid,,和“tag_data,,被輸入到數(shù)據(jù)處理裝置 (i+1)的第二流水線360。以此方式,在運(yùn)算裝置430中,數(shù)據(jù)處理裝置被順次連接,使得某數(shù)據(jù)處理裝置的第二流水線的輸出“tag_Valid、tag_data"與隨后的數(shù)據(jù)處理裝置的第二流水線的輸入串行連接。高速緩存確定裝置480從所有的數(shù)據(jù)處理裝置200_1至200_N接收處理結(jié)果 "tag_id(l)、tag_id(2).....tag_id(N) ” 450。高速緩存確定裝置480進(jìn)一步接收從數(shù)據(jù)處理裝置200_1至200_N中的任一個(gè)的第一流水線300輸出的信號(hào)“valicUdata”。解碼器 452確認(rèn)有效信號(hào)“valid” 453是否有效(被斷言)以及信號(hào)“enable” 121是否有效。如果兩個(gè)信號(hào)均有效,那么高速緩存確定裝置480控制解碼器452以確認(rèn)N個(gè)處理結(jié)果“tag_ id(l)、tag_id(2)、. · ·、tag_id(N) ”450 的符號(hào)位 451。如果符號(hào)位 451 包含至少一個(gè)“0”, 那么作為高速緩存確定結(jié)果解碼器452確定高速緩存命中,并且輸出“0”作為信號(hào)“cache_ miss_flag"4440如果所有的符號(hào)位451為“ 1”,那么作為高速緩存確定結(jié)果解碼器452確定高速緩存遺漏,并且輸出“1”作為信號(hào)“caChe_miSS_flag”444。在高速緩存命中的情況下,解碼器452將與符號(hào)位的“0”對(duì)應(yīng)的數(shù)據(jù)處理裝置的序號(hào)456輸出到選擇器454。選
擇器454從處理結(jié)果“tag_id(l)、tag_id(2).....tag_id(N) ” 450選擇由序號(hào)456指示的
數(shù)據(jù)處理裝置的“tag_id”,并且作為信號(hào)“tag_id”458將其輸出。當(dāng)信號(hào)“enable” 121有效(被斷言)時(shí),節(jié)點(diǎn)460使用輸入的數(shù)據(jù)元素更新目前為止存儲(chǔ)的數(shù)據(jù)元素。然后,節(jié)點(diǎn) 460將由自身存儲(chǔ)的數(shù)據(jù)元素作為確定結(jié)果125輸出到訪問(wèn)仲裁單元130。如上所述,在使用圖4所示的高速緩存確定單元400的高速緩存裝置中,單個(gè)地址信號(hào)“data”在各自的數(shù)據(jù)處理裝置中同時(shí)與多個(gè)不同的地址信號(hào)“tag_Valid”比較。于是,可以容易地實(shí)現(xiàn)具有更大量的節(jié)點(diǎn)的完全相聯(lián)的高速緩存裝置。使用高速緩存確定單元400的高速緩存裝置包含各具有基本布置的多個(gè)數(shù)據(jù)處理裝置,并且可通過(guò)僅連接各自的數(shù)據(jù)處理裝置的第一流水線300和第二流水線360而實(shí)現(xiàn)。出于該原因,可以再利用已設(shè)計(jì)并驗(yàn)證的數(shù)據(jù)處理裝置。結(jié)果,例如,在需要增加/減少完全相聯(lián)的高速緩存裝置的節(jié)點(diǎn)的數(shù)量的開(kāi)發(fā)中,可以提高開(kāi)發(fā)效率。并且,高速緩存確定單元400使用流水線配置執(zhí)行數(shù)據(jù)處理,并且可通過(guò)僅計(jì)算所有符號(hào)位的邏輯積來(lái)確定高速緩存遺漏。以此方式,高速緩存裝置可以以與常規(guī)的高速緩存裝置相比非常高的操作頻率操作。注意,在高速緩存遺漏的情況下,可作為位于最后的位置處的數(shù)據(jù)處理裝置 (N) 200_N的第二流水線360的輸出來(lái)掃出數(shù)據(jù)元素“tag_data、tag_valid"0這些掃出的數(shù)據(jù)元素被輸出到節(jié)點(diǎn)460,節(jié)點(diǎn)460可將作為“swe印_address、swe印_address_valid”包含這些數(shù)據(jù)元素的確定結(jié)果125輸出到訪問(wèn)仲裁單元130。使用這些數(shù)據(jù)元素,可以實(shí)現(xiàn)回寫(xiě)(write-back)高速緩存裝置。在回寫(xiě)高速緩存裝置中,暫時(shí)存儲(chǔ)于高速緩存存儲(chǔ)器190中的高速緩存數(shù)據(jù)被通過(guò)處理裝置A 101至D 104寫(xiě)出的寫(xiě)入數(shù)據(jù)替換。出于該原因,暫時(shí)存儲(chǔ)于高速緩存存儲(chǔ)器190中的數(shù)據(jù)必須被保存于作為外部存儲(chǔ)器的DRAM 165中。為了應(yīng)對(duì)回寫(xiě)高速緩存裝置并允許處理裝置A 101至D 104執(zhí)行寫(xiě)入操作,要輸出的存儲(chǔ)地址113包含 寫(xiě)入標(biāo)記 “write_enable” ;和 寫(xiě)入數(shù)據(jù) “write_data”。當(dāng)寫(xiě)入標(biāo)記“Write_enable”有效(被斷言)時(shí),寫(xiě)入數(shù)據(jù)“Write_data”在高速緩存存儲(chǔ)器190的存儲(chǔ)地址處被寫(xiě)入。當(dāng)寫(xiě)入標(biāo)記“write_enable”無(wú)效(被去斷言)時(shí), 執(zhí)行上述的讀取高速緩存裝置的操作。然后,在高速緩存確定單元400中的各自的數(shù)據(jù)處理裝置200_1至200_N的第一流水線300中同步于包含于存儲(chǔ)地址113中的其它的數(shù)據(jù)元素而移動(dòng)數(shù)據(jù)元素“write_enable”和“write_data”。數(shù)據(jù)處理裝置(N) 200_N將數(shù)據(jù)元素 “write_enable”和“write_data”同步于其它的數(shù)據(jù)元素而輸出到節(jié)點(diǎn)460。節(jié)點(diǎn)460將包含這些數(shù)據(jù)的確定結(jié)果125輸出到訪問(wèn)仲裁單元130。即,該確定結(jié)果125包含
作為高速緩存遺漏時(shí)的DRAM的數(shù)據(jù)存儲(chǔ)地址的地址信號(hào)“ cache_miss_ address,,; 處理裝置的識(shí)別信號(hào)“ID” ; 高速緩存數(shù)據(jù)的存儲(chǔ)地址“tag_id” ; 高速緩存確定結(jié)果 “cache_miss_flag” ; 寫(xiě)入標(biāo)記 “write_enable” ; 寫(xiě)入數(shù)據(jù) “write_data”; 掃出的地址信號(hào);和 掃出的地址有效信號(hào)確定結(jié)果125經(jīng)由等待隊(duì)列140到達(dá)高速緩存存儲(chǔ)器仲裁單元180。高速緩存存儲(chǔ)器仲裁單元180以與如上所述相同的方式使用“ID、tag_id”計(jì)算高速緩存存儲(chǔ)器190的存儲(chǔ)地址。當(dāng)高速緩存確定結(jié)果“CaChe_miSS_flag”無(wú)效(被去斷言)時(shí),由于這意味著高速緩存命中,因此高速緩存存儲(chǔ)器仲裁單元180將寫(xiě)入數(shù)據(jù)“Write_data”寫(xiě)入在高速緩存存儲(chǔ)器190的存儲(chǔ)地址處。另一方面,當(dāng)高速緩存確定結(jié)果“CaChe_miSS_flag”有效 (被斷言)時(shí),由于這意味著高速緩存遺漏,因此高速緩存存儲(chǔ)器仲裁單元180不能立即將寫(xiě)入數(shù)據(jù)“Write_data”寫(xiě)入在高速緩存存儲(chǔ)器190中。當(dāng)掃出的地址有效信號(hào)“8恥印_ addressjalid”有效(被斷言)時(shí),暫時(shí)存儲(chǔ)于高速緩存存儲(chǔ)器190的存儲(chǔ)地址處的數(shù)據(jù)被重寫(xiě)(overwrite)。由此,高速緩存存儲(chǔ)器仲裁單元180從高速緩存存儲(chǔ)器190讀出存儲(chǔ)地址處的高速緩存數(shù)據(jù),并且在由掃出的地址信號(hào)“Sm^p_address”指示的DRAM 165的區(qū)域中保存該高速緩存數(shù)據(jù)。之后,高速緩存存儲(chǔ)器仲裁單元180在高速緩存存儲(chǔ)器190 中重填由地址信號(hào)“cache_miSS_addreSS”指示的作為外部存儲(chǔ)器的DRAM 165的區(qū)域中的數(shù)據(jù)。此時(shí),高速緩存存儲(chǔ)器仲裁單元180通過(guò)寫(xiě)入數(shù)據(jù)“write_data”重寫(xiě)從DRAM 165 讀出的數(shù)據(jù),并且在高速緩存存儲(chǔ)器190的存儲(chǔ)地址處暫時(shí)存儲(chǔ)重寫(xiě)的數(shù)據(jù)。當(dāng)讀出的數(shù)據(jù)和“write_data”具有相同的大小(相同的字節(jié)數(shù))時(shí),高速緩存存儲(chǔ)器仲裁單元180可跳過(guò)該重填操作。當(dāng)掃出的地址有效信號(hào)“swe^_address_valid”無(wú)效(被去斷言)時(shí), 不在高速緩存存儲(chǔ)器190的存儲(chǔ)地址處暫時(shí)存儲(chǔ)有效的高速緩存數(shù)據(jù)。因此,高速緩存存儲(chǔ)器仲裁單元180不需要在高速緩存存儲(chǔ)器190的存儲(chǔ)地址處保存暫時(shí)存儲(chǔ)的高速緩存數(shù)據(jù)。在這種情況下,如果必要的話,高速緩存存儲(chǔ)器仲裁單元180可在執(zhí)行上述的重填操作的同時(shí)在高速緩存存儲(chǔ)器190的存儲(chǔ)地址處暫時(shí)存儲(chǔ)數(shù)據(jù)“write_data”作為高速緩存數(shù)據(jù)。通過(guò)上述的布置,可以容易地實(shí)現(xiàn)回寫(xiě)高速緩存裝置。用作回寫(xiě)高速緩存裝置的高速緩存裝置的高速緩存確定單元400也具有與讀取高速緩存裝置相同的優(yōu)點(diǎn)。特別地, 從較舊的數(shù)據(jù)依次自動(dòng)刪除數(shù)據(jù),并且,不需要執(zhí)行高速緩存沖突時(shí)的復(fù)雜替換控制。于是,僅需要在作為外部存儲(chǔ)器的DRAM 165中從較舊的數(shù)據(jù)依次保存暫時(shí)存儲(chǔ)于高速緩存存儲(chǔ)器中的高速緩存數(shù)據(jù)。如上所述,可通過(guò)非常簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)回寫(xiě)高速緩存裝置所特有的回寫(xiě)控制。以下將描述使用圖5所示的高速緩存確定單元500的高速緩存裝置。圖5是用于解釋包含分割信息表的高速緩存確定單元500的電路布置的示例性電路圖。替代圖1所示的高速緩存裝置110的高速緩存確定單元120,使用高速緩存確定單元500。
高速緩存確定單元500包含復(fù)制裝置510、運(yùn)算裝置530和高速緩存確定裝置 580。運(yùn)算裝置530包含多個(gè)數(shù)據(jù)處理裝置200_1至200_N,這些數(shù)據(jù)處理裝置中的每一個(gè)具有與使用圖2描述的數(shù)據(jù)處理裝置200相同的布置。以此方式,如高速緩存確定單元400 中那樣,高速緩存確定單元500包含多個(gè)上述的數(shù)據(jù)處理裝置,由此增加了可同時(shí)比較的數(shù)據(jù)元素的數(shù)量。并且,當(dāng)多個(gè)處理裝置A 101至D 104共享高速緩存裝置110時(shí),高速緩存確定單元500可對(duì)于各自的處理裝置切換要被各處理裝置專用的高速緩存容量(節(jié)點(diǎn)的數(shù)量)。通過(guò)切換各處理裝置的專用分配,可以給具有高的優(yōu)先級(jí)的圖像處理分配較大的高速緩存容量(節(jié)點(diǎn)的數(shù)量)。即,在執(zhí)行圖像處理時(shí),根據(jù)圖像處理的目的來(lái)適應(yīng)性地切換高速緩存容量(節(jié)點(diǎn)的數(shù)量)的專用分配,由此以希望的效率執(zhí)行圖像處理。與復(fù)制裝置410中不同,圖5所示的復(fù)制裝置510包含分割信息表515。因此,將不給出與復(fù)制裝置410中的部分共同的部分的描述,并且,以下將描述分割信息表515。在分割信息表515中,CPU 160事先設(shè)定分割信息,以切換要被各自的處理裝置專用的高速緩存容量(節(jié)點(diǎn)的數(shù)量)的分配。分割信息表示要被各自的處理裝置專用的數(shù)據(jù)處理裝置 200_1至200_N的分配(組)。以下將參照?qǐng)D7和圖8詳細(xì)描述分割信息表515。分割信息表515如以圖7所示的格式700那樣允許對(duì)于處理裝置的各識(shí)別信號(hào)ID 702設(shè)定分割信息704。當(dāng)存在M個(gè)處理裝置并且在運(yùn)算裝置530中存在N個(gè)數(shù)據(jù)處理裝置200時(shí),對(duì)應(yīng)于識(shí)別信號(hào)ID 702 = 1至M中的每一個(gè)存儲(chǔ)N位分割信息704。N位分割信息704從最高有效位(the most significant bit)依次用作標(biāo)記,該標(biāo)記的每個(gè)位指示是否要使用由該位指示的數(shù)據(jù)處理裝置200。當(dāng)各位為“1”時(shí),它指示所指示的數(shù)據(jù)處理裝置的 < 使用 > ;當(dāng)它是“0”時(shí),它指示〈不使用〉。以下將參照?qǐng)D8描述分割信息表515的實(shí)際例子800。在實(shí)際例子800中,對(duì)應(yīng)于四個(gè)識(shí)別信號(hào)ID 702 = 1至4存儲(chǔ)四條8位分割信息704。這四個(gè)識(shí)別信號(hào)ID 702分別與圖1所示的四個(gè)處理裝置A 101至D 104相關(guān)聯(lián)。然后,8位分割信息704的各單個(gè)位從最高有效位依次與圖5所示的數(shù)據(jù)處理裝置(1)200_1至(N)200_N中的每一個(gè)相關(guān)聯(lián)。例如,處理裝置A 101的分割信息為“10000000”,并且具有指示處理裝置A 101使用數(shù)據(jù)處理裝置(1)(在820處示出)、但它不使用剩余的數(shù)據(jù)處理裝置( 至(8)的設(shè)置。處理裝置 B 102的分割信息為“01110000”,并且具有指示處理裝置B 102使用數(shù)據(jù)處理裝置(2)至
(在822處示出)、但它不使用剩余的數(shù)據(jù)處理裝置(1)和( 至(8)的設(shè)置。同樣地, 處理裝置C 103的設(shè)置指示它使用數(shù)據(jù)處理裝置( 和(7),但它不使用剩余的數(shù)據(jù)處理裝置。處理裝置D 104的設(shè)置指示它使用數(shù)據(jù)處理裝置(6)和(8),但它不使用剩余的數(shù)據(jù)處理裝置。在該實(shí)際例子800中,處理裝置AlOl專用數(shù)據(jù)處理裝置(1),處理裝置B 102 專用數(shù)據(jù)處理裝置( 至G),處理裝置C 103專用數(shù)據(jù)處理裝置( 和(7),并且,處理裝置D 104專用數(shù)據(jù)處理裝置(6)和(8)。各條分割信息704的設(shè)置僅需要在多個(gè)處理裝置之間是排他的,并且,可以像處理裝置C103和D 104的設(shè)置中那樣不連續(xù)地分配數(shù)據(jù)處理裝置(在擬4處示出)。回過(guò)來(lái)參照?qǐng)D5,復(fù)制裝置510使用輸入的識(shí)別信號(hào)“ID”從分割信息表515讀出與該識(shí)別信號(hào)“ID”對(duì)應(yīng)的分割信息“partition” 518,并且將讀出的信息輸入到節(jié)點(diǎn)511。 節(jié)點(diǎn)511復(fù)制輸入有效信號(hào)“valid”和輸入數(shù)據(jù)信號(hào)“data、ID、partition”,并且將它們輸出到節(jié)點(diǎn)512_1至512_N。節(jié)點(diǎn)512_1至512_N分別將由它們自身存儲(chǔ)的數(shù)據(jù)元素輸出到相應(yīng)的數(shù)據(jù)處理裝置200_1至200_N的第一流水線300。以此方式,復(fù)制裝置510復(fù)制如數(shù)據(jù)處理裝置200的數(shù)量那樣多的數(shù)據(jù)元素以將它們重定時(shí)。[第二流水線360的連接切換]在運(yùn)算裝置530中,如虛線部分540所示,連接各自的數(shù)據(jù)處理裝置的第二流水線 360。根據(jù)從數(shù)據(jù)處理裝置(N) 200_N輸出的分割信息“partition” 535自動(dòng)切換第二流水線360的連接。運(yùn)算裝置530分別計(jì)算從解碼器552輸出的信號(hào)“cache_miSS_flag”559 和從數(shù)據(jù)處理裝置(N)輸出的分割信息“partition” 535的與數(shù)據(jù)處理裝置(1)至(N)對(duì)應(yīng)的各自位的邏輯積。然后,運(yùn)算裝置530輸入計(jì)算的邏輯積作為相應(yīng)的數(shù)據(jù)處理裝置的
驅(qū)動(dòng)信號(hào)“shift” (544_U544_2.....544_N)。結(jié)果,所有數(shù)據(jù)處理裝置之中的僅僅與分割
信息中的 < 使用 > 對(duì)應(yīng)的數(shù)據(jù)處理裝置的第二流水線360的數(shù)據(jù)元素被同步移動(dòng)。接下來(lái),運(yùn)算裝置530對(duì)切換第二流水線360的連接所需要的數(shù)據(jù)元素進(jìn)行匯編 (compile)。從各自的數(shù)據(jù)處理裝置(1)至(N)的第二流水線360輸出的數(shù)據(jù)元素532_1 至 532_N、“cache_miss_flag”559 和"cache_miss_address (data) ” 555 被匯聚(bundle) 于總線542上。然后,數(shù)據(jù)從總線542被輸入到用于選擇對(duì)于數(shù)據(jù)處理裝置(1)至(N)的第二流水線 360 的輸入的選擇器 545_1、545_2、. · ·、545_N。選擇器 545_1、545_2、. · ·、545_ N基于分割信息“partiti0n”535選擇相應(yīng)的數(shù)據(jù)元素,并且將選擇的數(shù)據(jù)元素輸入到數(shù)據(jù)處理裝置(1)至(N)的第二流水線360。并且,可以添加用于輸出在高速緩存遺漏時(shí)被掃出的數(shù)據(jù)元素的選擇器M8。掃出的數(shù)據(jù)元素基于分割信息“partiti0n”535從總線542被選擇,并且作為數(shù)據(jù)元素”被輸出。如上所述,當(dāng)高速緩存裝置110被用作回寫(xiě)高速緩存裝置時(shí),使用這些數(shù)據(jù)元素。例如,實(shí)際例子800中對(duì)于第二流水線的輸入選擇方法如下。如從實(shí)際例子800可以看出的那樣,當(dāng)從數(shù)據(jù)處理裝置(N)的第一流水線300輸出的識(shí)別序號(hào)“ID”是“1”時(shí),分割信息包含設(shè)置“10000000”。當(dāng)與“ID” = “1”的數(shù)據(jù)元素相關(guān)聯(lián)的高速緩存確定結(jié)果是高速緩存遺漏時(shí),數(shù)據(jù)處理裝置(1)的第二流水線360被移動(dòng)。由此,作為對(duì)于數(shù)據(jù)處理裝置(1)的第二流水線的輸入,從總線542上的那些數(shù)據(jù)選擇數(shù)據(jù)“cache_miSS_flag”559和 "cache_miss_address (data) ”555。作為掃出的數(shù)據(jù)兀素"sweep_address、sweep_address_ valid”,選擇來(lái)自數(shù)據(jù)處理裝置(1)的第二流水線360的數(shù)據(jù)元素532_1。另一方面,如從實(shí)際例子800可以看出的那樣,當(dāng)從數(shù)據(jù)處理裝置(N)的第一流水線300輸出的識(shí)別序號(hào) “ID”是“2”時(shí),分割信息包含設(shè)置“01110000”。當(dāng)與“ID” = “2”的數(shù)據(jù)元素相關(guān)聯(lián)的高速緩存確定結(jié)果是高速緩存遺漏時(shí),數(shù)據(jù)處理裝置( 至(4)的第二流水線被移動(dòng)。由此, 作為對(duì)于數(shù)據(jù)處理裝置O)的第二流水線360的輸入,從總線542上的那些數(shù)據(jù)選擇數(shù)據(jù) "cache_miss_flag”559 和“cache_miss_address (data) ”555。作為對(duì)于數(shù)據(jù)處理裝置(3) 的第二流水線的輸入,來(lái)自數(shù)據(jù)處理裝置O)的第二流水線的輸出5322被選擇。作為對(duì)于數(shù)據(jù)處理裝置的第二流水線的輸入,來(lái)自數(shù)據(jù)處理裝置(3)的第二流水線的輸出被選擇。并且,作為掃出的數(shù)據(jù)元素“8 6印_3(1(1儀88、8 6印_3(1(1儀88]31丨(1”,來(lái)自數(shù)據(jù)處理裝置⑷的第二流水線的輸出被選擇。這同樣適用于與“ID” = “3”和“4”的數(shù)據(jù)元素相關(guān)聯(lián)的第二流水線的連接的切換。即使當(dāng)分割信息像實(shí)際例子800的部分824中那樣包含不連續(xù)的設(shè)置時(shí),也以數(shù)據(jù)處理裝置的裝置序號(hào)的升序依次連接第二流水線。即,來(lái)自要使用的數(shù)據(jù)處理裝置的第二流水線的輸出僅需要根據(jù)分割信息“partition” 535的設(shè)置與要使用的下一數(shù)據(jù)處理裝置的第二流水線的輸入串行連接。高速緩存確定裝置580接收所有數(shù)據(jù)處理裝置200_1至200_N的處理結(jié)果“tag_
id(l), tag_id(2).....tag_id(N)”550。高速緩存確定裝置580從數(shù)據(jù)處理裝置200_1
至200_N中的任一個(gè)接收信號(hào)“valid、data、ID、partition”。在圖5中,從數(shù)據(jù)處理裝置 (N) 200_N輸入這些信號(hào),但是可從另一數(shù)據(jù)處理裝置輸入它們。與解碼器452不同,解碼器 552接收分割信息“partiti0n”535。以下將參照?qǐng)D6詳細(xì)描述解碼器552。解碼器552計(jì)算以下的四個(gè)信號(hào)(1位信號(hào))的邏輯積 有效信號(hào) “valid” 553 ; 通過(guò)反轉(zhuǎn)(invert)數(shù)據(jù)處理裝置(1)至(N)中的一個(gè)的處理結(jié)果“tag_id”的符號(hào)位(反轉(zhuǎn)符號(hào)位551的任意的1位)獲得的信號(hào); 分割信息“partition” 535的與數(shù)據(jù)處理裝置(1)至(N)中的一個(gè)對(duì)應(yīng)的1位信號(hào);和 驅(qū)動(dòng)信號(hào)“enable” 121。當(dāng)邏輯積中的至少一個(gè)是“1”時(shí),解碼器552將高速緩存命中確定為高速緩存確定結(jié)果;當(dāng)所有的邏輯積為“0”時(shí),它將高速緩存遺漏確定為高速緩存確定結(jié)果。當(dāng)所有的邏輯積為“0”時(shí),解碼器552使信號(hào)“cache_miSS_flag”559有效(斷言)并且輸出該信號(hào)。在高速緩存命中的情況下,解碼器552將與邏輯積=“1”對(duì)應(yīng)的數(shù)據(jù)處理裝置的裝置序號(hào)(1至N中的任一個(gè))556輸出到選擇器554。高速緩存確定裝置580使用選擇器554 基于高速緩存命中裝置序號(hào)556從多個(gè)處理結(jié)果“tag_id(l)至tag_id(N) ” 550選擇高速緩存命中時(shí)的處理結(jié)果“tag_id” 558,并且將其輸出到節(jié)點(diǎn)560。以下將描述使用高速緩存確定單元500的高速緩存裝置的高速緩存存儲(chǔ)器仲裁單元180的操作和高速緩存存儲(chǔ)器900的布置。首先將描述圖9所示的高速緩存存儲(chǔ)器 900。替代圖1所示的高速緩存存儲(chǔ)器190,使用高速緩存存儲(chǔ)器900。高速緩存存儲(chǔ)器900 也由FIFO配置。高速緩存存儲(chǔ)器900被分成與數(shù)據(jù)處理裝置(1)至(N)對(duì)應(yīng)的區(qū)域。根據(jù)分割信息的設(shè)置,對(duì)于各ID確定作為FIFO的基準(zhǔn)的基本指針和各區(qū)域的行數(shù)(number of lines)。即使當(dāng)區(qū)域像實(shí)際例子800的部分824中那樣是不連續(xù)的時(shí),也通過(guò)上述的第二流水線連接切換器件的功能來(lái)確保要使用的區(qū)域是連續(xù)的。這意味著,如附圖標(biāo)記901所示,與數(shù)據(jù)處理裝置(6)和(7)對(duì)應(yīng)的區(qū)域在被替換的同時(shí)在高速緩存存儲(chǔ)器900上被確保。于是,即使當(dāng)“ ID ” = “ 3 ”和“ 4 ”時(shí),也可如“ ID ” = “ 1”和“ 2,,的情況中那樣通過(guò)簡(jiǎn)單的FIFO控制來(lái)獲得對(duì)于高速緩存存儲(chǔ)器900的數(shù)據(jù)訪問(wèn)。高速緩存存儲(chǔ)器仲裁單元180 獲取根據(jù)讀出“ID”的上述的基本指針和行數(shù)以及各ID的寫(xiě)入指針。當(dāng)確定高速緩存命中時(shí),高速緩存存儲(chǔ)器仲裁單元180基于同時(shí)讀出的結(jié)果“tag_id”以及高速緩存存儲(chǔ)器900 的基本指針和寫(xiě)入指針來(lái)計(jì)算地址。然后,高速緩存存儲(chǔ)器仲裁單元180將讀出的高速緩存數(shù)據(jù)作為數(shù)據(jù)“write_data”182寫(xiě)入在由高速緩存存儲(chǔ)器900的基本指針和寫(xiě)入指針的總值所指示的存儲(chǔ)區(qū)域中。如上所述,高速緩存確定單元500使用流水線配置執(zhí)行數(shù)據(jù)處理。通過(guò)計(jì)算與各自數(shù)據(jù)處理裝置對(duì)應(yīng)的輸出的反轉(zhuǎn)符號(hào)位和分割信息的至多1位邏輯積,可以確定高速緩存命中。結(jié)果,與常規(guī)的高速緩存裝置相比,該高速緩存裝置可以以非常高的操作頻率來(lái)操作。由于從較舊的數(shù)據(jù)依次自動(dòng)刪除數(shù)據(jù),因此不需要高速緩存沖突時(shí)的復(fù)雜替換控制。并且,高速緩存存儲(chǔ)器對(duì)于預(yù)定的區(qū)域僅需要環(huán)形FIFO操作。為了實(shí)現(xiàn)高速緩存存儲(chǔ)器900, 僅需要使用具有多個(gè)寫(xiě)入指針的多儲(chǔ)蓄庫(kù)(multi-bank)FIFO。并且,可使用多個(gè)FIFO來(lái)實(shí)現(xiàn)高速緩存存儲(chǔ)器900。在以上描述的例子中,準(zhǔn)備分割信息表,并且,對(duì)于各處理裝置切換分割信息。但是,當(dāng)各處理裝置對(duì)于處理裝置的各自處理內(nèi)容(操作狀態(tài))指定分割信息時(shí),可以實(shí)現(xiàn)以上的處理。圖5中描述的多個(gè)數(shù)據(jù)處理裝置(1)至(N)的第一流水線300和第二流水線360 的各自節(jié)點(diǎn)基于一個(gè)系統(tǒng)的時(shí)鐘信號(hào)(未示出)而操作。但是,可通過(guò)將不同系統(tǒng)的同相時(shí)鐘信號(hào)分別輸入到數(shù)據(jù)處理裝置(1)至(N),操作多個(gè)數(shù)據(jù)處理裝置(1)至(N)。在優(yōu)先節(jié)電時(shí),對(duì)于數(shù)據(jù)處理裝置(1)至(N)中的一個(gè)的時(shí)鐘信號(hào)被停止,以停止該數(shù)據(jù)處理裝置。例如,在上述的實(shí)際例子800中,當(dāng)只有處理裝置A 101操作并且處理裝置B 102至D 104停止時(shí),在分割信息表515中的與“ID” = “2”至“4”對(duì)應(yīng)的各條分割信息中設(shè)置信息 “00000000”。然后,數(shù)據(jù)處理裝置(1)以外的數(shù)據(jù)處理裝置被停止。另一方面,為了在優(yōu)先節(jié)電的同時(shí)操作處理裝置A 101至D 104(盡管是以低速),在與“ID”=“1”至“4”對(duì)應(yīng)的各條分割信息中設(shè)置信息“10000000”。通過(guò)該設(shè)置,數(shù)據(jù)處理裝置(1)被所有的處理裝置 A 101至D 104共享。由于不使用剩余的數(shù)據(jù)處理裝置,因此可以停止它們。并且,通過(guò)對(duì)于數(shù)據(jù)處理裝置(1)至(N)的各自區(qū)域使用不同SRAM來(lái)實(shí)現(xiàn)高速緩存存儲(chǔ)器900。對(duì)應(yīng)于停止的數(shù)據(jù)處理裝置,停止對(duì)于不使用的SRAM的時(shí)鐘信號(hào)(或電源電壓)的供給。以此方式,可以獲得進(jìn)一步的節(jié)電。圖10是用于解釋替代環(huán)形總線使用縱橫開(kāi)關(guān)的布置的示例性電路圖。圖10示出M 個(gè)處理裝置⑴至(M)和N個(gè)數(shù)據(jù)處理裝置(1)至(N)之間的連接的例子,替代上述的經(jīng)由環(huán)形總線的連接,經(jīng)由縱橫開(kāi)關(guān)1020和1060獲得所述連接。為了允許所述多個(gè)處理裝置專用數(shù)據(jù)處理裝置中的每一個(gè),在數(shù)據(jù)處理裝置之前和之后插入基于分割信息“partition” 切換的縱橫開(kāi)關(guān)1020和1060。通過(guò)該布置,多個(gè)處理裝置可并行使用多個(gè)數(shù)據(jù)處理裝置。 通過(guò)這樣的并行處理,多個(gè)處理裝置可被加速。也可通過(guò)讀出并執(zhí)行記錄在存儲(chǔ)器件上的程序以執(zhí)行上述實(shí)施例的功能的系統(tǒng)或裝置的計(jì)算機(jī)(或諸如CPU或MPU的器件)、以及通過(guò)由系統(tǒng)或裝置的計(jì)算機(jī)通過(guò)例如讀出并執(zhí)行記錄在存儲(chǔ)器件上的程序以執(zhí)行上述實(shí)施例的功能來(lái)執(zhí)行其步驟的方法,實(shí)現(xiàn)本發(fā)明的各方面。出于該目的,例如經(jīng)由網(wǎng)絡(luò)或從用作存儲(chǔ)器件的各種類型的記錄介質(zhì)(例如,計(jì)算機(jī)可讀介質(zhì))給計(jì)算機(jī)提供程序。雖然已參照示例性實(shí)施例描述了本發(fā)明,但要理解,本發(fā)明不限于公開(kāi)的示例性實(shí)施例。所附的權(quán)利要求的范圍要被賦予最寬的解釋,以包含所有這樣的修改以及等同的結(jié)構(gòu)和功能。
權(quán)利要求
1.一種運(yùn)算裝置,包括多個(gè)第一保持單元,所述多個(gè)第一保持單元中的每一個(gè)包含串行連接的多個(gè)第一節(jié)點(diǎn),并且將保持在各第一節(jié)點(diǎn)中的第一數(shù)據(jù)移動(dòng)到位于第一方向上的相鄰節(jié)點(diǎn);多個(gè)第二保持單元,所述多個(gè)第二保持單元中的每一個(gè)包含串行連接的多個(gè)第二節(jié)點(diǎn),并且將保持在各第二節(jié)點(diǎn)中的第二數(shù)據(jù)移動(dòng)到位于第二方向上的相鄰節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng);運(yùn)算單元,所述運(yùn)算單元對(duì)于作為第一保持單元的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),使用保持在關(guān)注節(jié)點(diǎn)中的第一數(shù)據(jù)和保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)中的第二數(shù)據(jù)來(lái)執(zhí)行運(yùn)算;以及輸入單元,所述輸入單元將第一數(shù)據(jù)并行輸入到所述多個(gè)第一保持單元之中的至少兩個(gè),并且將第二數(shù)據(jù)串行輸入到所述多個(gè)第二保持單元之中的至少兩個(gè)。
2.根據(jù)權(quán)利要求1的運(yùn)算裝置,還包括獲取單元,所述獲取單元從外部裝置獲取第一數(shù)據(jù)和第二數(shù)據(jù); 第一輸入單元,所述第一輸入單元復(fù)制獲取的第一數(shù)據(jù),并且將復(fù)制的第一數(shù)據(jù)輸入到所述多個(gè)第一保持單元中的每一個(gè);以及第二輸入單元,所述第二輸入單元將獲取的第二數(shù)據(jù)輸入到所述多個(gè)第二保持單元之ο
3.根據(jù)權(quán)利要求1的運(yùn)算裝置,還包括多個(gè)運(yùn)算電路,所述多個(gè)運(yùn)算電路中的每一個(gè)包含一個(gè)第一保持單元和一個(gè)第二保持單元,其中,所述多個(gè)運(yùn)算電路被分組成多個(gè)組,以及輸入單元對(duì)于各組將第二數(shù)據(jù)輸入到組中的一個(gè)運(yùn)算電路的第二保持單元,并且第二保持單元對(duì)于各組被串行連接。
4.根據(jù)權(quán)利要求3的運(yùn)算裝置,還包括 動(dòng)態(tài)改變所述組的單元。
5.一種確定裝置,包括根據(jù)權(quán)利要求1的運(yùn)算裝置,其中各第一保持單元是第一流水線,所述第一流水線包含多個(gè)第一節(jié)點(diǎn),并且將保持在一個(gè)第一節(jié)點(diǎn)中的第一數(shù)據(jù)移動(dòng)到相對(duì)于所述一個(gè)第一節(jié)點(diǎn)位于第一方向上的另一第一節(jié) 各第二保持單元是第二流水線,所述第二流水線包含多個(gè)第二節(jié)點(diǎn),并且將保持在一個(gè)第二節(jié)點(diǎn)中的第二數(shù)據(jù)移動(dòng)到相對(duì)于所述一個(gè)第二節(jié)點(diǎn)位于與第一方向相反的第二方向上的另一第二節(jié)點(diǎn);以及運(yùn)算單元是比較單元,所述比較單元對(duì)于作為第一流水線的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),比較保持在關(guān)注節(jié)點(diǎn)中的第一數(shù)據(jù)是否與保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)中的第二數(shù)據(jù)匹配。
6.一種高速緩存裝置,所述高速緩存裝置包括多個(gè)數(shù)據(jù)處理裝置,所述多個(gè)數(shù)據(jù)處理裝置中的每一個(gè)包括第一流水線,所述第一流水線包含多個(gè)第一節(jié)點(diǎn),并且將保持在一個(gè)第一節(jié)點(diǎn)中的地址移動(dòng)到相對(duì)于所述一個(gè)第一節(jié)點(diǎn)位于第一方向上的另一第一節(jié)點(diǎn);第二流水線,所述第二流水線包含多個(gè)第二節(jié)點(diǎn),并且將保持在一個(gè)第二節(jié)點(diǎn)中的高速緩存標(biāo)記移動(dòng)到相對(duì)于所述一個(gè)第二節(jié)點(diǎn)位于與第一方向相反的第二方向上的另一第二節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng);以及比較單元,所述比較單元對(duì)于作為第一流水線的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn), 比較保持在關(guān)注節(jié)點(diǎn)中的地址與保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的第二節(jié)點(diǎn)中的至少一個(gè)中的高速緩存標(biāo)記,以確定地址是否與高速緩存標(biāo)記匹配;所述高速緩存裝置還包括高速緩存存儲(chǔ)器,所述高速緩存存儲(chǔ)器對(duì)存儲(chǔ)在外部存儲(chǔ)器件中的數(shù)據(jù)中的一些進(jìn)行存儲(chǔ);獲取單元,所述獲取單元從處理裝置獲取數(shù)據(jù)的請(qǐng)求;第一輸入單元,所述第一輸入單元復(fù)制獲取的數(shù)據(jù)的地址,并且將復(fù)制的地址輸入到所述多個(gè)數(shù)據(jù)處理裝置的第一流水線;第二輸入單元,所述第二輸入單元將存儲(chǔ)于高速緩存存儲(chǔ)器中的數(shù)據(jù)的高速緩存標(biāo)記輸入到所述多個(gè)數(shù)據(jù)處理裝置之一的第二流水線;以及確定單元,所述確定單元當(dāng)確定比較單元的比較結(jié)果指示匹配時(shí),確定獲取的數(shù)據(jù)的高速緩存命中,其中,所述多個(gè)數(shù)據(jù)處理裝置的第二流水線被串行連接。
7.根據(jù)權(quán)利要求6的高速緩存裝置,其中,所述多個(gè)數(shù)據(jù)處理裝置被分組成多個(gè)組,第二輸入單元對(duì)于各組將高速緩存標(biāo)記輸入到組中的一個(gè)數(shù)據(jù)處理裝置的第二流水線,以及所述多個(gè)數(shù)據(jù)處理裝置的第二流水線對(duì)于各組被串行連接。
8.根據(jù)權(quán)利要求7的高速緩存裝置,還包括動(dòng)態(tài)改變所述組的單元。
9.根據(jù)權(quán)利要求7的高速緩存裝置,其中,高速緩存存儲(chǔ)器被分成與所述多個(gè)數(shù)據(jù)處理裝置分別對(duì)應(yīng)的區(qū)域,以及與不包含于所述多個(gè)組中的任一個(gè)中的數(shù)據(jù)處理裝置對(duì)應(yīng)的高速緩存存儲(chǔ)器的區(qū)域被暫停。
10.根據(jù)權(quán)利要求6的高速緩存裝置,其中,當(dāng)驅(qū)動(dòng)信號(hào)有效時(shí),第一流水線將保持在所述多個(gè)第一節(jié)點(diǎn)中的每一個(gè)中的地址移動(dòng)到第一方向上位于下游側(cè)的相鄰的第一節(jié)點(diǎn), 以及當(dāng)驅(qū)動(dòng)信號(hào)有效并且確定單元確定高速緩存遺漏時(shí),第二流水線將保持在所述多個(gè)第二節(jié)點(diǎn)中的每一個(gè)中的高速緩存標(biāo)記移動(dòng)到第二方向上位于下游側(cè)的相鄰的第二節(jié)點(diǎn)。
11.根據(jù)權(quán)利要求6的高速緩存裝置,其中,當(dāng)確定單元確定高速緩存遺漏時(shí),第二輸入單元將從第一流水線輸出的地址輸入到第二流水線作為高速緩存標(biāo)記。
12.根據(jù)權(quán)利要求6的高速緩存裝置,其中,來(lái)自處理裝置的數(shù)據(jù)的請(qǐng)求是對(duì)于外部存儲(chǔ)器件的數(shù)據(jù)的寫(xiě)入請(qǐng)求,以及高速緩存裝置還包括使用從第二流水線輸出的高速緩存標(biāo)記在高速緩存存儲(chǔ)器中寫(xiě)入與寫(xiě)入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)的單元。
13.—種運(yùn)算裝置的控制方法,所述運(yùn)算裝置包括多個(gè)第一保持單元,所述多個(gè)第一保持單元中的每一個(gè)包含串行連接的多個(gè)第一節(jié)點(diǎn),并且將保持在各第一節(jié)點(diǎn)中的第一數(shù)據(jù)移動(dòng)到位于第一方向上的相鄰節(jié)點(diǎn),多個(gè)第二保持單元,所述多個(gè)第二保持單元中的每一個(gè)包含串行連接的多個(gè)第二節(jié)點(diǎn),并且將保持在各第二節(jié)點(diǎn)中的第二數(shù)據(jù)移動(dòng)到位于第二方向上的相鄰節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng),以及運(yùn)算單元,所述運(yùn)算單元對(duì)于作為第一保持單元的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn),使用保持在關(guān)注節(jié)點(diǎn)中的第一數(shù)據(jù)和保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)中的第二數(shù)據(jù)來(lái)執(zhí)行運(yùn)算,所述控制方法包括將第一數(shù)據(jù)并行輸入到所述多個(gè)第一保持單元之中的至少兩個(gè),并且將第二數(shù)據(jù)串行輸入到所述多個(gè)第二保持單元之中的至少兩個(gè)。
14. 一種高速緩存裝置的控制方法,所述高速緩存裝置包括多個(gè)數(shù)據(jù)處理裝置,所述多個(gè)數(shù)據(jù)處理裝置中的每一個(gè)包括第一流水線,所述第一流水線包含多個(gè)第一節(jié)點(diǎn),并且將保持在一個(gè)第一節(jié)點(diǎn)中的地址移動(dòng)到相對(duì)于所述一個(gè)第一節(jié)點(diǎn)位于第一方向上的另一第一節(jié)點(diǎn),第二流水線,所述第二流水線包含多個(gè)第二節(jié)點(diǎn),并且將保持在一個(gè)第二節(jié)點(diǎn)中的高速緩存標(biāo)記移動(dòng)到相對(duì)于所述一個(gè)第二節(jié)點(diǎn)位于與第一方向相反的第二方向上的另一第二節(jié)點(diǎn),其中,各第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng),以及比較單元,所述比較單元對(duì)于作為第一流水線的所述多個(gè)第一節(jié)點(diǎn)之一的關(guān)注節(jié)點(diǎn), 比較保持在關(guān)注節(jié)點(diǎn)中的地址與保持在關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的第二節(jié)點(diǎn)中的至少一個(gè)中的高速緩存標(biāo)記,以確定地址是否與高速緩存標(biāo)記匹配,所述控制方法包括 在高速緩存存儲(chǔ)器中存儲(chǔ)被存儲(chǔ)在外部存儲(chǔ)器件中的數(shù)據(jù)中的一些; 控制獲取單元以從處理裝置獲取數(shù)據(jù)的請(qǐng)求;控制第一輸入單元以復(fù)制獲取的數(shù)據(jù)的地址并且將復(fù)制的地址輸入到所述多個(gè)數(shù)據(jù)處理裝置的第一流水線;控制第二輸入單元以將存儲(chǔ)于高速緩存存儲(chǔ)器中的數(shù)據(jù)的高速緩存標(biāo)記輸入到所述多個(gè)數(shù)據(jù)處理裝置之一的第二流水線;以及控制確定單元以在確定比較單元的比較結(jié)果指示匹配時(shí)確定獲取的數(shù)據(jù)的高速緩存命中,其中,所述多個(gè)數(shù)據(jù)處理裝置的第二流水線被串行連接。
全文摘要
本發(fā)明涉及運(yùn)算裝置、高速緩存裝置及其控制方法。提供一種裝置,該裝置包括第一保持單元,該第一保持單元中的每一個(gè)包含串行連接的第一節(jié)點(diǎn),并且在第一方向上移動(dòng)各第一節(jié)點(diǎn)中的第一數(shù)據(jù);第二保持單元,該第二保持單元中的每一個(gè)包含串行連接的第二節(jié)點(diǎn),并且在第二方向上移動(dòng)各第二節(jié)點(diǎn)中的第二數(shù)據(jù)。各第一節(jié)點(diǎn)與第二節(jié)點(diǎn)中的至少一個(gè)對(duì)應(yīng)。該裝置還包括運(yùn)算單元,該運(yùn)算單元對(duì)于作為第一節(jié)點(diǎn)的關(guān)注節(jié)點(diǎn),使用關(guān)注節(jié)點(diǎn)中的第一數(shù)據(jù)和關(guān)注節(jié)點(diǎn)所對(duì)應(yīng)的第二節(jié)點(diǎn)中的至少一個(gè)中的第二數(shù)據(jù)執(zhí)行運(yùn)算;以及輸入單元,該輸入單元將第一數(shù)據(jù)并行輸入到第一保持單元之中的至少兩個(gè),并且將第二數(shù)據(jù)串行輸入到第二保持單元之中的至少兩個(gè)。
文檔編號(hào)G06F12/08GK102331922SQ201110145879
公開(kāi)日2012年1月25日 申請(qǐng)日期2011年6月1日 優(yōu)先權(quán)日2010年6月7日
發(fā)明者伊藤忠幸 申請(qǐng)人:佳能株式會(huì)社