两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)供給設(shè)備、緩存設(shè)備及數(shù)據(jù)供給方法

文檔序號:6369793閱讀:144來源:國知局
專利名稱:數(shù)據(jù)供給設(shè)備、緩存設(shè)備及數(shù)據(jù)供給方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于在計算機(jī)系統(tǒng)中有效供給數(shù)據(jù)的數(shù)據(jù)供給技術(shù)。
背景技術(shù)
近年來,各種裝置需要改善處理性能和降低成本。通常,計算機(jī)系統(tǒng)包括執(zhí)行應(yīng)用的處理器、數(shù)據(jù)處理電路以及用于存儲程序或要處理的數(shù)據(jù)的諸如存儲器的存儲設(shè)備。理想的情況是,計算機(jī)系統(tǒng)中的存儲設(shè)備能夠高速讀/寫由處理器和數(shù)據(jù)處理電路使用的所有程序和數(shù)據(jù)。例如,如果諸如靜態(tài)隨機(jī)存取存儲器(SRAM)的具有比較短的訪問延遲的存儲單元被設(shè)置為各處理器和數(shù)據(jù)處理電路的專用本地存儲器,則能夠容易地改善處理性倉泛。
另一方面,在實現(xiàn)裝置的成本降低時,期望單個存儲設(shè)備能夠由多個處理器和數(shù)據(jù)處理電路共享,從而能夠減少存儲設(shè)備的數(shù)量。此外,當(dāng)存儲器用作存儲設(shè)備時,在大多數(shù)情況下,此時廣泛使用的便宜的動態(tài)隨機(jī)存取存儲器(DRAM)被用作存儲器。然而,如果用使用便宜的DRAM,則與上述SRAM相比,將增加訪問延遲。此外,如果單個存儲設(shè)備在多個處理器和數(shù)據(jù)處理電路中被共享,則在處理器和數(shù)據(jù)處理電路中發(fā)生存儲設(shè)備的讀/寫競爭。在這種情況下,對各訪問進(jìn)行仲裁,結(jié)果,將增加處理器或數(shù)據(jù)處理電路的訪問延遲。因此,各處理器或數(shù)據(jù)處理電路的處理性能降低。為了防止上述處理器或數(shù)據(jù)處理電路的性能降低,通常在處理器或數(shù)據(jù)處理電路與存儲設(shè)備之間設(shè)置緩存設(shè)備。只要能夠從設(shè)置的緩存設(shè)備中讀出期望的數(shù)據(jù),則各處理器或數(shù)據(jù)處理電路不訪問存儲設(shè)備(提交數(shù)據(jù)請求)。以這種方式,減少了從各處理器或數(shù)據(jù)處理電路對存儲設(shè)備的訪問,并能夠減少必要的總接入帶寬。雖然電路大小根據(jù)諸如緩存設(shè)備的數(shù)據(jù)供給機(jī)構(gòu)的使用而自然增加,但與如上所述使用專用的本地存儲器時相比,電路大小仍然較小。通過在計算機(jī)系統(tǒng)中使用最優(yōu)的緩存設(shè)備,能夠?qū)崿F(xiàn)具有高處理性能的低成本裝置。如果在緩存設(shè)備中存在期望的數(shù)據(jù)(緩存命中),則處理器或數(shù)據(jù)處理電路不需要訪問存儲設(shè)備中的數(shù)據(jù),從而減少訪問延遲。另一方面,如果在緩存設(shè)備中不存在期望的數(shù)據(jù)(緩存失效),則處理器或數(shù)據(jù)處理電路自然訪問存儲設(shè)備中的期望的數(shù)據(jù)(提交數(shù)據(jù)請求)。在這種情況下,訪問延遲與沒有設(shè)置緩存設(shè)備的情況類似。通常,處理器或數(shù)據(jù)處理電路按順序處理數(shù)據(jù)。因此,當(dāng)緩存失效發(fā)生時,處理器或數(shù)據(jù)處理電路暫時停止操作一段時間,直到從存儲設(shè)備讀出期望的數(shù)據(jù)。通過這種停止操作自然降低了處理器或數(shù)據(jù)處理電路的處理性能。這被稱為阻塞操作。此外,當(dāng)緩存失效發(fā)生時從存儲設(shè)備讀出數(shù)據(jù)的處理被稱為“再充填”,讀出的數(shù)據(jù)被稱為“再充填數(shù)據(jù)”。此外,一次讀取的數(shù)據(jù)的單位被稱為“再充填長度”,讀取時間的長度被稱為“再充填延遲”。為了提高處理性能,日本專利第3846638號公報討論了具有能夠隱藏上述再充填延遲的緩存機(jī)構(gòu)的數(shù)據(jù)供給設(shè)備。首先,在日本專利第3846638號公報中討論的管線處理器針對預(yù)定管線段中的處理所需的數(shù)據(jù),確定在該預(yù)定管線段的前段(預(yù)處理)中是否包括緩存失效。如果確定緩存失效,則請求前段(預(yù)處理)中所需的數(shù)據(jù),并執(zhí)行再充填。此時,在日本專利第3846638號公報中討論的管線處理器包括比再充填延遲更長的中間隊列(FIFO)。在日本專利第3846638號公報中討論的管線處理器將包括“再充填”中的處理的后續(xù)處理依次存儲在中間隊列(FIFO)中。換句話說,在日本專利第3846638號公報中討論的管線處理器能夠在將處理存儲在中間隊列(FIFO)中的同時,繼續(xù)下一處理的緩存失效/命中確定。因此,與上述阻塞操作不同,不必在每當(dāng)緩存失效發(fā)生時,暫時停止處理器的處理。另一方面,在日本專利第3846638號公報中討論的管線處理器在從存儲設(shè)備讀出數(shù)據(jù)(這是每當(dāng)緩存失效發(fā)生時所必須的)之后,需要在更新緩存存儲器之前將再充填數(shù)據(jù)暫時存儲在充填FIFO中。由于在中間隊列(FIFO)中存在在緩存失效的數(shù)據(jù)處理之前的緩存命中的數(shù)據(jù),因此,如果在預(yù)定的管線段中沒有完成緩存命中的數(shù)據(jù)處理,則無法更新緩存存儲器。因此,在日本專利第3846638號公報中討論的管線處理器必然包括上述充填FIFO。用于通過使用中間隊列(FIFO)進(jìn)行下一數(shù)據(jù)處理的緩存失效/命中確定的操作被 稱為非阻塞操作。在中間隊列(FIFO)中,數(shù)據(jù)處理命令被延遲。如果在延遲期間完成再充填,并且緩存失效的再充填數(shù)據(jù)存儲在充填FIFO中,則能夠從充填FIFO供給再充填數(shù)據(jù),并且能夠執(zhí)行數(shù)據(jù)處理。換句話說,在日本專利第3846638號公報中討論的具有緩存機(jī)構(gòu)的數(shù)據(jù)供給設(shè)備能夠繼續(xù)數(shù)據(jù)處理,同時隱藏在緩存失效期間的再充填延遲而無需暫時停止處理。然而,根據(jù)日本專利第3846638號公報中討論的技術(shù),除了緩存存儲器之外,還需要用于暫時存儲再充填數(shù)據(jù)的充填FIFO。

發(fā)明內(nèi)容
本發(fā)明旨在減小數(shù)據(jù)供給設(shè)備的電路大小同時維持其處理性能。根據(jù)本發(fā)明的一方面,提供了一種數(shù)據(jù)供給設(shè)備,該數(shù)據(jù)供給設(shè)備包括輸出單元;提取單元,其包括用于存儲數(shù)據(jù)的存儲區(qū)域,并被配置為將存儲在所述存儲區(qū)域中的數(shù)據(jù)供給至所述輸出單元;以及預(yù)取單元,其被配置為從存儲器請求要發(fā)送至所述輸出單元的數(shù)據(jù),其中,所述提取單元被配置為將從所述存儲器接收的數(shù)據(jù)存儲在作為所述存儲區(qū)域的一部分的接收區(qū)域中,并根據(jù)來自所述預(yù)取單元的請求分配存儲有與所述請求對應(yīng)的數(shù)據(jù)的所述接收區(qū)域的一部分作為發(fā)送區(qū)域,并且其中,所述輸出單元被配置為輸出存儲在所述發(fā)送區(qū)域中的數(shù)據(jù)。通過以下參照附圖對示例性實施例的描述,本發(fā)明的其他特征將變得清楚。


被并入說明書并構(gòu)成說明書的一部分的附圖,例示了本發(fā)明的示例性實施例、特征及方面,并且與文字描述一起用來說明本發(fā)明的原理。圖I是示出處理裝置的示例的框圖。圖2是示出緩存確定單元的示例的框圖。圖3A是示出數(shù)據(jù)獲取單元進(jìn)行的處理的示例的流程圖。圖3B是示出數(shù)據(jù)獲取單元進(jìn)行的處理的示例的流程圖。
圖4A示出緩存存儲器的結(jié)構(gòu)。圖4B、4C和4D示出緩存存儲器的操作的示例。圖5A是示出緩存確定單元的示例的框圖。圖5B是示出緩存確定單元的示例的框圖。圖6是示出數(shù)據(jù)供給設(shè)備的示例的框圖。圖7A是示出直接映射緩存存儲器的示例的框圖。圖7B是示出四路組相聯(lián)緩存存儲器的示例的框圖。圖8A是示出數(shù)據(jù)獲取單元進(jìn)行的處理的示例的流程圖。
圖SB是示出數(shù)據(jù)獲取單元進(jìn)行的處理的示例的流程圖。圖9是示出進(jìn)行阻塞操作的處理裝置的示例的框圖。
具體實施例方式下面,將參照附圖,來詳細(xì)描述本發(fā)明的各種示例性實施例、特征及方面。首先,將另外描述上述日本專利第3846638號公報。如上所述,根據(jù)日本專利第3846638號公報中討論的技術(shù),除了緩存存儲器之外,還需要用于暫時存儲再充填數(shù)據(jù)的充填 FIFO。低成本的DRAM用作緩存數(shù)據(jù)的存儲設(shè)備。通常,從存儲器帶效率的觀點來看,以針對某些連續(xù)的存儲區(qū)域共同進(jìn)行DRAM的讀/寫的方式提交請求較好。該數(shù)據(jù)請求被稱為資料組存取(burst access) 0因此,期望以資料組存取為單位訪問和讀/寫DRAM。由于在制造DRAM中對精細(xì)半導(dǎo)體加工和產(chǎn)品需求的提高,DRAM的內(nèi)部操作效率隨著制造年代逐年增加。資料組存取的讀/寫單位自然也逐年增加。由于對高性能設(shè)備的不斷增長的需求,因此可以設(shè)想DRAM的讀/寫單位也將繼續(xù)增加。關(guān)于緩存設(shè)備,與一個緩存標(biāo)簽(緩存地址)對應(yīng)的緩存數(shù)據(jù)(緩存行)經(jīng)常被調(diào)整為資料組存取的讀/寫單位的整數(shù)倍。與一個緩存失效對應(yīng)的再充填數(shù)據(jù)的讀/寫單位(再充填長度)將與緩存行相同。例如,與上述DRAM相關(guān)的再充填數(shù)據(jù)的讀/寫單位是32至128個字節(jié)。上述充填FIFO需要具有能夠?qū)⑴c緩存失效的命令的數(shù)量對應(yīng)的充填數(shù)據(jù)的量存儲在中間隊列(FIFO)的容量。實現(xiàn)緩存設(shè)備的設(shè)備的再充填延遲為數(shù)十至數(shù)百個周期,中間隊列(FIFO)的段數(shù)與該周期數(shù)對應(yīng)。例如,如果緩存命中率是75%,則中間隊列(FIFO)的25%將是緩存失效。如果中間隊列(FIFO)包括128段,則充填FIFO將為128段的25%。因此,32段將是充填FIFO所必需的??紤]到上述再充填數(shù)據(jù)的讀取單位,充填FIFO的容量是IK到4K字節(jié)。在實現(xiàn)緩存設(shè)備的設(shè)備中,這沒有小到可以忽略。在日本專利第3846638公報中討論的緩存設(shè)備包括以下存儲區(qū)域(I)用于通過預(yù)取(prefetch)邏輯確定緩存命中/失效的緩存標(biāo)簽的存儲區(qū)域(2)中間隊列(FIFO)的存儲區(qū)域(3)提取(fetch)邏輯充填FIFO的存儲區(qū)域(4)用于存儲提取邏輯緩存數(shù)據(jù)的緩存存儲器的存儲區(qū)域如上所述,影響電路大小的存儲區(qū)域是具有長的再充填長度的(3) “充填FIFO”和(4) “緩存存儲器”。如果(3) “充填FIFO”和(4) “緩存存儲器”作為不同的硬件設(shè)備存在(如日本專利第3846638號公報所討論的),則電路大小將增加。雖然在(2) “中間隊列(FIFO) ”中的FIFO的段數(shù)較大,但是由于中間隊列用于傳輸表示緩存命中/失效的結(jié)果的標(biāo)志以及數(shù)據(jù)存儲在緩存存儲器中的地址,所以與如 下所述的再充填長度相比,F(xiàn)IFO本身的數(shù)據(jù)長度非常短。接下來,將詳細(xì)描述根據(jù)本發(fā)明的示例性實施例的包括作為數(shù)據(jù)供應(yīng)設(shè)備的緩存設(shè)備的處理裝置和緩存設(shè)備。圖I是示出處理裝置的整體結(jié)構(gòu)的示例的框圖。處理裝置包括中央處理單元(CPU) 160、作為外部存儲設(shè)備(外部存儲器)的DRAM 165、DRAM控制器166和系統(tǒng)總線164。此外,對于DRAM 165的數(shù)據(jù)的讀/寫,處理裝置還包括用于讀提取據(jù)的直接存儲器存取控制器(DMAC) (RDMAC) 162和用于寫入數(shù)據(jù)的WDMAC 163。處理裝置還包括進(jìn)行諸如圖像處理的數(shù)據(jù)處理的數(shù)據(jù)處理設(shè)備101、以及根據(jù)本發(fā)明的示例性實施例的數(shù)據(jù)供給設(shè)備(緩存設(shè)備)110。數(shù)據(jù)處理設(shè)備可以包括任意數(shù)量的處理設(shè)備。各處理裝置可以包括用于高速平穩(wěn)處理的管線電路,但也可以包括能夠進(jìn)行低速靈活處理的處理器和程序。CPU 160經(jīng)由控制總線161控制RDMAC 162,WDMAC 163和數(shù)據(jù)處理設(shè)備101,并進(jìn)行整個處理裝置的整體控制。根據(jù)來自CPU 160的指令,RDMAC 162經(jīng)由系統(tǒng)總線164和DRAM控制器166讀出存儲在DRAM 165中的諸如圖像或程序的數(shù)據(jù)。然后,RDMAC 162將獲取的數(shù)據(jù)輸入數(shù)據(jù)處理設(shè)備101。數(shù)據(jù)處理設(shè)備101處理數(shù)據(jù)并將諸如處理的圖像的處理的數(shù)據(jù)傳輸至WDMAC163。從CPU 160預(yù)先給WDMAC 163指令,一旦從數(shù)據(jù)處理設(shè)備101接收到數(shù)據(jù),WDMAC 163經(jīng)由系統(tǒng)總線164和DRAM控制器166將數(shù)據(jù)存儲在DRAM 165中。處理裝置通過執(zhí)行上述操作進(jìn)行諸如圖像處理的數(shù)據(jù)處理。在上述數(shù)據(jù)處理期間,數(shù)據(jù)處理設(shè)備101經(jīng)由緩存設(shè)備11(接口 112和116、FIF0140、預(yù)取邏輯141、提取邏輯142)從DRAM 165讀出必要數(shù)據(jù)(圖像、視頻、設(shè)置值、表、屬性信息等),并使用用于數(shù)據(jù)處理的數(shù)據(jù)。此外,如果數(shù)據(jù)處理設(shè)備101包括處理器和程序,則數(shù)據(jù)處理設(shè)備101能夠經(jīng)由緩存設(shè)備110連續(xù)讀出程序并執(zhí)行數(shù)據(jù)處理。接下來,將詳細(xì)描述數(shù)據(jù)供給設(shè)備(緩存設(shè)備)110的操作。當(dāng)數(shù)據(jù)處理設(shè)備101經(jīng)由數(shù)據(jù)供給設(shè)備(緩存設(shè)備)110從DRAM 165讀出數(shù)據(jù)時,數(shù)據(jù)處理設(shè)備101將DRAM 165中數(shù)據(jù)的存儲地址113經(jīng)由接口(I/F) 112輸入至緩存確定單元120。基于輸入的存儲地址113,緩存確定單元120確定緩存命中或緩存失效。接下來,將參照圖2詳細(xì)描述圖I中示出的處理裝置中的緩存確定單元120的電路結(jié)構(gòu)的示例。在以下描述中,將描述其內(nèi)容尋址(行選)存儲器類型為全相聯(lián)緩存的緩存設(shè)備。首先,上述存儲器地址113被輸入至緩存確定單元120。緩存確定單元120包括8個緩存標(biāo)簽230。因此,緩存確定單元120是8節(jié)點全相聯(lián)緩存設(shè)備。此外,編號([O]至)被預(yù)先分配給8個緩存標(biāo)簽230。各編號表示相應(yīng)的緩存存儲器的“相對”緩存行號。以下描述編號是“相對”的原因。由8個比較器220確定已經(jīng)輸入的存儲器地址113是否與8個緩存標(biāo)簽230 “匹配”。然后,8個比較結(jié)果228從比較器220輸出至確定器250。
如果8個比較結(jié)果228包含至少一個“匹配”,則確定為緩存命中。如果8個比較結(jié)果228沒有一個與存儲地址113匹配,則確定為緩存失效。從緩存確定單元120輸出確定結(jié)果作為緩存失效標(biāo)志240。如果評價結(jié)果是緩存命中,則從緩存確定單元120輸出“匹配的”緩存標(biāo)簽的“相對”行號作為行號245。此外,如果測定結(jié)果是緩存失效(在圖2的確定255中是),則已經(jīng)輸入的存儲器地址113被寫入緩存標(biāo)簽230,并更新緩存標(biāo)簽。緩存標(biāo)簽230是移位寄存器配置的存儲區(qū)域。如果確定結(jié)果是緩存失效,則緩存標(biāo)簽的值根據(jù)移位操作而被轉(zhuǎn)移到下游緩存標(biāo)簽。換句話說,緩存標(biāo)簽[I]的值被寫入緩存標(biāo)簽[O],緩存標(biāo)簽[2]的值被寫入緩存標(biāo)簽[I]。
然后,重復(fù)寫入,并將緩存標(biāo)簽[7]的值寫入緩存標(biāo)簽[6]。最后,存儲地址113的值被寫入緩存標(biāo)簽[7]。如果確定結(jié)果是緩存失效,則如上所述進(jìn)行緩存標(biāo)簽的更新,并從緩存確定單元120輸出行[7]的值作為行號245的值。通過移出緩存標(biāo)簽[O]的最早的標(biāo)簽信息來置換緩存標(biāo)簽的上述原理被稱為“FIFO原理(循環(huán))”。由于能夠容易地實現(xiàn)全相聯(lián)緩存設(shè)備,因此一般將“FIFO原理(循環(huán))”用作置換方法。最后,緩存確定單元120將如上所述獲得的緩存失效標(biāo)志240和行號245與已經(jīng)輸入的存儲地址113組合在一起,并將它們輸出作為緩存確定結(jié)果125。根據(jù)圖I所示的處理裝置,采用非阻塞緩存機(jī)構(gòu)來隱藏在遭遇緩存失效時發(fā)生的再充填延遲。根據(jù)該緩存機(jī)構(gòu),即使緩存確定結(jié)果125是緩存失效,稍后需要的信息也將設(shè)置在中間隊列(FIFO) 140中。該信息是“行號和緩存失效標(biāo)志”135。然后,數(shù)據(jù)處理設(shè)備101從DRAM 165讀出緩存失效的緩存數(shù)據(jù)。在數(shù)據(jù)存儲在緩存存儲器190中之前,執(zhí)行下一數(shù)據(jù)的緩存確定處理。根據(jù)該處理,能夠在執(zhí)行從DRAM 165向緩存存儲器190再充填緩存失效的緩存數(shù)據(jù)的同時,執(zhí)行后續(xù)數(shù)據(jù)的緩存確定處理。因此,可以減少由于緩存失效而導(dǎo)致的性能降低。此外,如下所述,訪問仲裁單元130在緩存失效發(fā)生時從緩存確定單元120提取與存儲地址113對應(yīng)的存儲地址132,并隨后將存儲地址132存儲在發(fā)送FIFO 150中。DRAM控制器166接收發(fā)送FIFO 150中的存儲地址132并從DRAM 165讀出期望的數(shù)據(jù)(再充填數(shù)據(jù))。然后數(shù)據(jù)被寫入緩存存儲器190。數(shù)據(jù)獲取單元180從中間隊列(FIFO) 140提取“緩存失效標(biāo)志”,并確定緩存確定結(jié)果為緩存失效還是緩存命中。如果緩存確定的結(jié)果為緩存命中,則數(shù)據(jù)獲取單元180直接從緩存存儲器190讀出緩存數(shù)據(jù)185并將數(shù)據(jù)傳輸?shù)絀/F 116。另一方面,如果緩存確定的結(jié)果為緩存失效,則以下參照“數(shù)據(jù)獲取單元”所述,更新期望的緩存數(shù)據(jù)。然后,更新后的數(shù)據(jù)(緩存數(shù)據(jù)185)被傳輸?shù)絀/F 116。從DRAM 165讀出緩存失效的緩存數(shù)據(jù)以及更新緩存存儲器190的處理是上述再充填處理的處理過程。訪問仲裁單元130在輸入的緩存確定結(jié)果125是有效時進(jìn)行操作,而在輸入的緩存確定結(jié)果125無效時等待。此外,訪問仲裁單元130根據(jù)作為緩存確定的結(jié)果的“緩存失效標(biāo)志”有效/無效,來執(zhí)行以下處理。
作為緩存確定的結(jié)果,如果“緩存失效標(biāo)志”有效(緩存失效),則訪問仲裁單元130確定空間是否在連接到訪問仲裁單元130的兩個FIFO中可用。換句話說,訪問仲裁單元130確定空間是否在發(fā)送FIFO 150和中間隊列(FIFO) 140中的各個的存儲區(qū)域中可用。此外,訪問仲裁單元130確定從數(shù)據(jù)獲取單元180發(fā)送的預(yù)取許可信號181的狀態(tài)。如果空間在兩個FIFO中的各個中可用,并且預(yù)取許可信號181的狀態(tài)為“許可”,則訪問仲裁單元130在中間隊列(FIFO) 140中寫入“行號和緩存失效標(biāo)志”135。同時,訪問仲裁單元130將存儲地址132寫入發(fā)送FIF0150。如果空間在兩個FIFO中不可用或者預(yù)取許可信號181的狀態(tài)為“禁止”,則訪問仲裁單元130停止(暫停)緩存確定單元120,并等待直到空間在兩個FIFO中的各個的存儲區(qū)域中變得可用,并且預(yù)取許可信號181變?yōu)椤霸S可”。作為緩存確定的結(jié)果,如果“緩存失效標(biāo)志”無效(緩存命中),則訪問仲裁單元130確定空間是否在中間隊列(FIFO)HO中可用。如果空間可用,則訪問仲裁單元130將“行號和緩存失效標(biāo)志”135寫入中間隊列(FIFO) 140。如果空間不可用,則訪問仲裁單元130停止(暫停)緩存確定單元120并等待直到空間在存儲區(qū)域中變得可用。根據(jù)圖I中的配置,“緩存失效標(biāo)志”是I位信號,“行號”是3位信號。因此,在中間隊列(FIFO) 140中 的“行號和緩存失效標(biāo)志”的數(shù)據(jù)長度為4位。因此,即使中間隊列(FIFO) 140包括128個段,不是很大的64個字節(jié)也將滿足容量。因此,容易增加全相聯(lián)緩存標(biāo)簽的結(jié)點數(shù)和中間隊列(FIFO)的段數(shù)。因此,中間隊列(FIFO) 140不限制配置。此外,上述“緩存確定單元”和“訪問仲裁單元”的配置基于與以下所述的“數(shù)據(jù)獲取單元”對應(yīng)的預(yù)取配置(裝置/電路/邏輯)。此外,“緩存確定單元”和“訪問仲裁單元”連接到需要數(shù)據(jù)的預(yù)定管線段的前面的管線段,并執(zhí)行預(yù)定的管線段的預(yù)處理。數(shù)據(jù)獲取單元180確定要處理的數(shù)據(jù)是否存在于中間隊列(FIFO) 140的存儲區(qū)域中。如果中間隊列(FIFO) 140為空,則表示要處理的緩存確定結(jié)果不存在,并且數(shù)據(jù)獲取單元180等待直到數(shù)據(jù)存儲在存儲區(qū)域。數(shù)據(jù)獲取單元180從中間隊列(FIFO) 140獲取作為緩存確定的確定結(jié)果的“行號和緩存失效標(biāo)志”。然后,數(shù)據(jù)獲取單元180根據(jù)緩存失效標(biāo)志有效/無效來獲取下一緩存數(shù)據(jù)。圖3A例示數(shù)據(jù)獲取單元180的緩存數(shù)據(jù)獲取操作的示例。如圖4A所示,根據(jù)本示例性實施例的緩存存儲器190包括“數(shù)據(jù)區(qū)域(發(fā)送區(qū)域,緩存區(qū)域)”和“接收區(qū)域”。此外,接收指針和數(shù)據(jù)指針包含在數(shù)據(jù)獲取單元180中。接收指針管理接收區(qū)域的信息,數(shù)據(jù)指針管理數(shù)據(jù)區(qū)域的信息。在步驟S305中,數(shù)據(jù)獲取單元180從中間隊列(FIFO) 140獲取“行號和緩存失效標(biāo)志”。在步驟S320中,數(shù)據(jù)獲取單元180確定緩存失效標(biāo)志是否有效。如果緩存失效標(biāo)志無效(緩存命中)(在步驟S320中的否),則處理前進(jìn)到步驟S360。在步驟S360中,數(shù)據(jù)獲取單元180基于從中間隊列(FIFO)獲取的行號以及緩存存儲器190的接收指針和數(shù)據(jù)指針,計算緩存數(shù)據(jù)的存儲地址。然后,數(shù)據(jù)獲取單元180根據(jù)獲取的地址從緩存存儲器190獲取存儲的數(shù)據(jù)作為讀取數(shù)據(jù)192。在步驟S365中,數(shù)據(jù)獲取單元180將已被請求的緩存數(shù)據(jù)185經(jīng)由I/F 116傳輸?shù)綌?shù)據(jù)處理設(shè)備101。下面將描述存儲地址的計算方法。另一方面,在步驟S320中,如果緩存失效標(biāo)志有效(緩存失效)(步驟S320中的是),則處理進(jìn)入到步驟S340。在步驟S340中,數(shù)據(jù)獲取單元180確定是否存在接收指針和數(shù)據(jù)指針之間的差。如果不存在指針之間的差(值為0)(步驟S340中的否),則數(shù)據(jù)獲取單元180確定來自DRAM 165的請求的再充填數(shù)據(jù)尚未到達(dá)緩存存儲器190,并且處理前進(jìn)到步驟S345。在步驟S345中,數(shù)據(jù)獲取單元180等待直到從DRAM 165傳輸再充填數(shù)據(jù)。如果存在指針之間的差(值不為O)(步驟S340中的是),則處理前進(jìn)到步驟S350。在步驟S350中,由于從DRAM 165發(fā)送的請求的再充填數(shù)據(jù)已經(jīng)存儲在緩存存儲器190中,因此數(shù)據(jù)獲取單元180更新數(shù)據(jù)指針。步驟S350之后的處理與在步驟S320中緩存失效標(biāo)志被確定為無效時進(jìn)行的處理類似。與上述緩存數(shù)據(jù)的獲取操作并行地,數(shù)據(jù)獲取單元180接收請求的再充填數(shù)據(jù)。圖3B例示了數(shù)據(jù)獲取單元180對再充填數(shù)據(jù)的接收操作的示例。在步驟S380中,數(shù)據(jù)獲取單元180確定是否從DRAM 165接收到請求的再充填數(shù)據(jù)。如果已接收到再充填數(shù)據(jù)(步驟S380中的是),則處理進(jìn)入到步驟S385。在步驟S385中,數(shù)據(jù)獲取單元180更新接收指針。在步驟S390中,數(shù)據(jù)獲取單元180確定接收指針和 數(shù)據(jù)指針之間的差是否等于預(yù)定的接收閾值。如果指針之間的差等于預(yù)定的接收閾值(步驟S390中的是),則數(shù)據(jù)獲取單元180確定數(shù)據(jù)獲取單元180不能再接收再充填數(shù)據(jù),處理進(jìn)入到步驟S394。在步驟S394中,數(shù)據(jù)獲取單元180將預(yù)取許可信號181變?yōu)椤敖埂?,然后處理結(jié)束。在步驟S390中,如果指針之間的差小于預(yù)定的接收閾值(步驟S390中的否),則處理進(jìn)入到步驟S392。在步驟S392中,由于能夠接收從DRAM 165發(fā)送的再充填數(shù)據(jù),因此數(shù)據(jù)獲取單元180不改變預(yù)取許可信號181,預(yù)取許可信號181保持“許可”。根據(jù)電路配置,訪問仲裁單元130處于數(shù)據(jù)獲取單元180的前段。因此,即使訪問仲裁單元130在從數(shù)據(jù)獲取單元180接收預(yù)取許可信號181之后停止訪問DRAM中的數(shù)據(jù)(數(shù)據(jù)請求),這也可能太遲。考慮到由于電路中各單元的位置關(guān)系而導(dǎo)致的延遲差,可以預(yù)先將接收閾值設(shè)置為小于能夠接收的段數(shù)的值。此外,作為精確的方法,可以新定義再充填等待數(shù)。然后,能夠根據(jù)再充填等待數(shù)生成預(yù)取許可信號181。新定義的再充填等待數(shù)從“O”開始,并且每當(dāng)緩存失效發(fā)生時由訪問仲裁單元130遞增I,每當(dāng)再充填數(shù)據(jù)被傳輸?shù)綌?shù)據(jù)獲取單元180時遞減I。換句話說,再充填等待數(shù)表示在已經(jīng)提交數(shù)據(jù)請求時還沒有到達(dá)提取配置的再充填數(shù)據(jù)的條數(shù)。接收的再充填數(shù)據(jù)的條數(shù)(接收指針和數(shù)據(jù)指針之間的差)和再充填等待數(shù)的總數(shù)是在將來要接收的再充填數(shù)據(jù)的條數(shù)。如果在將來要接收的再充填數(shù)據(jù)的條數(shù)小于接收閾值,則預(yù)取許可信號181為“許可”。如果在將來要接收的再充填數(shù)據(jù)的條數(shù)等于接收閾值,則預(yù)取許可信號181為“禁止”。將參照圖4B、4C和4D描述由數(shù)據(jù)獲取單元180和緩存存儲器190進(jìn)行的操作的示例。首先,狀態(tài)[O]是剛好在復(fù)位處理之后的緩存存儲器190的初始狀態(tài)。當(dāng)緩存存儲器190處于初始狀態(tài)時,接收指針指示“O”。此外,指示數(shù)據(jù)區(qū)域的頂端的數(shù)據(jù)指針指示“O”。根據(jù)圖4B、4C和4D中的示例,接收區(qū)域包括4段,數(shù)據(jù)區(qū)域包括8段。緩存存儲器190是包括總共12段的存儲區(qū)域。編號“O”到“11”中的各個被分配給從圖中存儲區(qū)域的底端到頂端的各段。各數(shù)字表示緩存存儲器190的地址。此外,存儲區(qū)域的一段是能夠存儲與一次DRAM訪問(數(shù)據(jù)請求)對應(yīng)的再充填數(shù)據(jù)(再充填長度)的存儲區(qū)域。換句話說,一段對應(yīng)于一個緩存行。
如果訪問仲裁單元130由于一次失效命中而接收一次再充填請求,并且如果所請求的再充填數(shù)據(jù)到達(dá)數(shù)據(jù)獲取單元180 ([A]接收一條充填數(shù)據(jù)),則緩存存儲器190的狀態(tài)變?yōu)闋顟B(tài)[I]。在狀態(tài)[I]中,根據(jù)圖3B所示的操作過程,一條再充填數(shù)據(jù)存儲在緩存存儲器190中。然后,接收指針增加到“I”。由于數(shù)據(jù)指針保持在“0”,因此接收指針和數(shù)據(jù)指針之間的差將是“I”。該差表示接收數(shù)(接收的數(shù)量)。由于接收區(qū)域中的段數(shù)是4,所以接收區(qū)域?qū)槭O碌娜?。接下來,發(fā)生一次緩存失效([B]發(fā)生一次緩存失效),緩存失效的數(shù)據(jù)經(jīng)由中間隊列(FIFO) 140被輸入數(shù)據(jù)獲取單元180。然后,緩存存儲器190的狀態(tài)被改變?yōu)闋顟B(tài)[2]。在狀態(tài)[2]中,根據(jù)圖3A所示的操作過程,一條緩存數(shù)據(jù)有效。因此,數(shù)據(jù)指針指示“I”。數(shù)據(jù)指針指示數(shù)據(jù)區(qū)域的上限,并將數(shù)據(jù)指針指示的位置虛擬確定為數(shù)據(jù)區(qū)域的行號“8”。關(guān)于數(shù)據(jù)指針指示“I”的狀態(tài)[2],有效的緩存數(shù)據(jù)在緩存存儲器190的地址為“O”的區(qū)域中。 由數(shù)據(jù)指針指示的“I”對應(yīng)于行號“8”,而地址為“O”的區(qū)域?qū)?yīng)于行號“7” (=8-1)。這對應(yīng)于上述關(guān)于“緩存確定單元”的操作,其中,當(dāng)確定的結(jié)果是緩存失效時行號是“7”。然后,接收上述再充填數(shù)據(jù)的接收區(qū)域的一部分被數(shù)據(jù)區(qū)域替代。與環(huán)FIFO的情況相同,認(rèn)為緩存存儲器190的“11”的下一地址是“O”。由于地址“O”對應(yīng)于行號“7”,因此地址“11”的區(qū)域?qū)?yīng)于行號“6”。此外,地址“ 10”的區(qū)域?qū)?yīng)于行號“5”。同一規(guī)則適用于其他地址,地址“5”的區(qū)域?qū)?yīng)于行號“O”。數(shù)據(jù)區(qū)域為從地址“5”到“11”和“O”。剩下的地址“I”到“4”對應(yīng)于接收區(qū)域。在狀態(tài)[2]中,因為數(shù)據(jù)指針的值等于接收指針的值,所以接收到的再充填數(shù)據(jù)變?yōu)榇鎯Φ木彺鏀?shù)據(jù)。因此,恢復(fù)接收區(qū)域的一段。換句話說,接收區(qū)域的一部分被數(shù)據(jù)區(qū)域替代,更新緩存存儲器的接收區(qū)域的分配。此外,當(dāng)發(fā)生四次連續(xù)的失效命中時,訪問仲裁單元130提交四次再充填請求。然后,當(dāng)由數(shù)據(jù)獲取單元180接收四條再充填數(shù)據(jù)([C]接收四條再充填數(shù)據(jù))時,緩存存儲器190的狀態(tài)變?yōu)闋顟B(tài)[3]。在狀態(tài)[3]中,四條再充填數(shù)據(jù)存儲在緩存存儲器190中。然后,接收指針指示“5”。由于數(shù)據(jù)指針的值是不變的(“I”),所以接收指針和數(shù)據(jù)指針之間的差將是“4”。該差表示接收數(shù)。由于接收區(qū)域包括4段,所以在接收區(qū)域不存在可用的段。為了簡化說明,上述接收閾值被設(shè)置為“4”,這與接收區(qū)域的段數(shù)相同。由于接收數(shù)等于接收閾值,所以不能再接收再充填數(shù)據(jù)。因此,數(shù)據(jù)獲取單元180將預(yù)取許可信號181變?yōu)椤敖埂?,并將該信號傳輸?shù)皆L問仲裁單元130。因此,非阻塞訪問被暫時停止。預(yù)取配置停止向存儲設(shè)備的數(shù)據(jù)請求。此外,緩存失效連續(xù)發(fā)生四次([D]緩存失效連續(xù)發(fā)生四次),數(shù)據(jù)連續(xù)輸入數(shù)據(jù)獲取單元180。因此,緩存存儲器190的狀態(tài)變?yōu)闋顟B(tài)[4]。在狀態(tài)[4]中,4條緩存數(shù)據(jù)有效。然后,數(shù)據(jù)指針指示“5”,可用的數(shù)據(jù)區(qū)域?qū)槭S嗟娜?。然后,四條再充填數(shù)據(jù)被接收([E]接收到4條再充填數(shù)據(jù)),狀態(tài)變?yōu)闋顟B(tài)[5]。此外,緩存失效連續(xù)發(fā)生四次([F]緩存失效連續(xù)發(fā)生四次),狀態(tài)變?yōu)闋顟B(tài)[6]。
在狀態(tài)[6]中,接收指針和數(shù)據(jù)指針都指示“9”。數(shù)據(jù)區(qū)域為地址“I”到“8”,接收區(qū)域的為地址“9”到“11”和“O”。當(dāng)狀態(tài)從狀態(tài)[5]變?yōu)闋顟B(tài)[6]時,剩余的數(shù)據(jù)區(qū)域減少為O段。從此之后,一些有效的緩存數(shù)據(jù)存儲在數(shù)據(jù)區(qū)域的所有8個段中。此外,在狀態(tài)[6]中,在狀態(tài)[2] 中地址“O”處存儲的緩存數(shù)據(jù)存在于數(shù)據(jù)區(qū)域之外的接收區(qū)域。該緩存數(shù)據(jù)是最早的,并且在狀態(tài)[5]到狀態(tài)[6]的處理期間從數(shù)據(jù)區(qū)域丟棄。由于從早的緩存數(shù)據(jù)起按順序置換緩存數(shù)據(jù),所以該方法與FIFO(循環(huán))的置換方法匹配。以這種方式,接收區(qū)域的一部分被數(shù)據(jù)區(qū)域的一部分置換,數(shù)據(jù)區(qū)域的一部分被接收區(qū)域的一部分置換。因此,更新接收區(qū)域的分配。根據(jù)與上述操作類似的操作,緩存存儲器190的狀態(tài)根據(jù)操作[G]和[H]變?yōu)闋顟B(tài)[7]和狀態(tài)[8]。雖然非阻塞操作在圖4C的狀態(tài)[3]停止,但由于接收數(shù)已達(dá)到接收閾值,所以有效的緩存數(shù)據(jù)沒有存儲在從狀態(tài)[O](初始狀態(tài))到狀態(tài)[3]的數(shù)據(jù)區(qū)域中。換句話說,從狀態(tài)[O](初始狀態(tài))直到所有的數(shù)據(jù)區(qū)域充填滿緩存數(shù)據(jù),接收閾值可以被設(shè)置為12段以替代4段。以這種方式,增加了初始狀態(tài)中的接收區(qū)域。根據(jù)上述配置,能夠防止在早期階段可能發(fā)生的非阻塞操作,并且能夠進(jìn)一步改善性能。由于接收區(qū)域和數(shù)據(jù)區(qū)域是一體的,所以能夠?qū)崿F(xiàn)這種改善。上述“數(shù)據(jù)獲取單元”具有用于獲取請求的數(shù)據(jù)的提取配置(設(shè)備/電路/邏輯)。獲取的數(shù)據(jù)被提供至預(yù)定的管線段。使用根據(jù)本示例性實施例的緩存設(shè)備,能夠通過簡單的配置實現(xiàn)能夠進(jìn)行非阻塞操作的全相聯(lián)緩存設(shè)備。此外,雖然傳統(tǒng)的技術(shù)除了非阻塞操作的緩存存儲器之外還需要用于接收的充填FIFO,但根據(jù)本示例性實施例的方法,由于緩存存儲器區(qū)域的一部分沒有分配給接收區(qū)域,所以充填FIFO不是必需的。通常,如果通過內(nèi)置SRAM實現(xiàn)存儲區(qū)域,則當(dāng)同一容量的存儲區(qū)域由多個內(nèi)置SRAM而不是一個內(nèi)置SRAM構(gòu)成時,電路大小增加。根據(jù)本不例性實施例的方法,由于傳統(tǒng)技術(shù)的充填FIFO的操作和緩存存儲器通過一個內(nèi)置SRAM實現(xiàn),所以能夠減少緩存設(shè)備的電路大小。此外,根據(jù)傳統(tǒng)的技術(shù),當(dāng)緩存失效發(fā)生時,再充填數(shù)據(jù)被暫時寫入充填FIFO,從充填FIFO讀出再充填數(shù)據(jù),并且再充填數(shù)據(jù)再次被寫入緩存存儲器以用作緩存數(shù)據(jù)。換句話說,根據(jù)傳統(tǒng)的技術(shù),在數(shù)據(jù)能夠用作緩存數(shù)據(jù)之前,關(guān)于充填FIFO和緩存存儲器,需要至少兩次寫入和一次讀取。根據(jù)本示例性實施例的方法,由于數(shù)據(jù)接收區(qū)域和數(shù)據(jù)存儲區(qū)域集成在一個存儲區(qū)域中,因此當(dāng)緩存失效發(fā)生時,關(guān)于存儲區(qū)域只需要一次寫入和一次讀取。如果本示例性實施例的方法由硬件實現(xiàn),則也能夠簡化內(nèi)置SRAM的控制電路。此外,如果本示例性實施例的方法由軟件實現(xiàn),則由于能夠減少對存儲區(qū)域的訪問次數(shù),所以能夠?qū)崿F(xiàn)高速處理。本示例性實施例的目的是在緩存存儲器中集成接收區(qū)域,并減少對緩存存儲器的訪問次數(shù)。因此,沒有必要通過使用接收指針和數(shù)據(jù)指針將緩存存儲器與接收區(qū)域相關(guān)聯(lián)。例如,如果準(zhǔn)備包括緩存存儲器和接收區(qū)域之間的關(guān)系的對應(yīng)表(鏈表),則能夠根據(jù)預(yù)取單元的信息更新該對應(yīng)表(鏈表)。以這種方式,能夠減少對緩存存儲器的訪問次數(shù)。此外,本示例性實施例也能夠被應(yīng)用于利用FIFO原理(循環(huán))的全相聯(lián)緩存設(shè)備。接下來,將描述本示例性實施例的數(shù)據(jù)供給方法應(yīng)用于與全相聯(lián)緩存設(shè)備不同的利用內(nèi)容尋址(行選)存儲器的緩存設(shè)備(諸如直接映射緩存或組相聯(lián)緩存)的情況。由于上述配置使用內(nèi)容尋址(行選)存儲器的全相聯(lián)緩存存儲器,因此,通常,緩存標(biāo)簽由寄存器配置。因此,如果大量緩存標(biāo)簽使用在電路中,則電路大小增加。直接映射緩存和組相聯(lián)緩存的優(yōu)點是它們能夠通過針對緩存標(biāo)簽使用諸如SRAM的存儲設(shè)備(標(biāo)志存儲器)減小電路大小。使用寄存器的緩存標(biāo)簽也能夠用于直接映射緩存和組相聯(lián)緩存。接下來,將參照圖5A和5B描述直接映射緩存和組相聯(lián)緩存的“緩存確定單元”和“數(shù)據(jù)獲取單元”。主要描述與圖2所示的配置的差異,將不重復(fù)與參照圖2描述的組件類似的組件的描述。首先,將參照圖5A詳細(xì)描述圖I所示的處理裝置中的緩存確定單元120的電路配 置的示例。首先,上述存儲地址113被輸入到緩存確定單元120。緩存確定單元120在標(biāo)簽存儲器(SRAM)中包括N個緩存標(biāo)簽530。因此,緩存確定單元120是N行直接映射緩存。此夕卜,編號[O]至[N-1]被預(yù)先分配給N個緩存標(biāo)簽530。每個編號對應(yīng)于緩存存儲器的相應(yīng)緩存行號。緩存確定單元120從存儲地址113中提取與上述緩存標(biāo)簽[O]至[N_l]對應(yīng)的信號,并將信號設(shè)置為低位地址515。然后,緩存確定單元120提取表示剩余的值的信號并將該信號設(shè)置為高位地址512。接下來,通過使用低位地址515,緩存確定單元120從緩存標(biāo)簽530提取相應(yīng)的緩存標(biāo)簽[K] 535。然后,緩存確定單元120使用比較器520以確定高位地址512是否匹配緩存標(biāo)簽[K]535。確定的結(jié)果(一個比較結(jié)果528)從比較器520輸出至確定器550。如果比較結(jié)果528為“匹配”,則確定為緩存命中。如果比較結(jié)果528不是“匹配”,則確定為緩存失效。確定的結(jié)果從緩存確定單元120作為緩存失效標(biāo)志240輸出。此外,如果評價結(jié)果是緩存失效(確定555中的是),則存儲地址113被寫入緩存標(biāo)簽530,并更新緩存標(biāo)簽。如果使用直接映射緩存,則因為只有一個緩存標(biāo)簽存在,所以沒有必要考慮置換方法。無論評價結(jié)果是緩存命中還是緩存失效,低位地址515的值都從緩存確定單元120作為行號245輸出。從以上描述可以看出,一般的直接映射緩存的緩存確定配置(設(shè)備/電路/邏輯)能夠用于緩存確定單元120。類似地,將參照圖5B詳細(xì)描述圖I所示的處理裝置中的緩存確定單元120的電路配置的示例。圖5B例示4路組相聯(lián)緩存的示例。由于許多操作與上述直接映射緩存的緩存確定單元的操作類似,所以僅描述不同點。圖5B所示的緩存確定單元120在緩存存儲器(SRAM)中包括4XN個緩存標(biāo)簽530。因此,緩存確定單元120是N行4路組相聯(lián)緩存的緩存設(shè)備。此外,編號
[*]到[N-1][*]中的各個被預(yù)先分配給N個緩存標(biāo)簽530中的各個。該編號表示相應(yīng)的緩存存儲器的緩存行號。此外,[*]是路數(shù)。由于圖5B所示的緩存設(shè)備是4路緩存,因此值[O]到[3]中的一個被輸入[*]。接下來,緩存的確定單元120使用低位地址515從緩存標(biāo)簽530提取四個相應(yīng)的緩存標(biāo)簽(緩存標(biāo)簽[K] [O]至[K] [3]) 535。然后,緩存確定單元120使用四個比較器520,以確定高位地址512是否匹配四個緩存標(biāo)簽[K] [O]至[K] [3]535中的各個。然后,一個比較結(jié)果528從四個比較器520中的各個輸出至確定器550。如果四個比較結(jié)果528中的任一個為“匹配”,則確定為緩存命中。此外,如果四個比較結(jié)果528中沒有一個為“匹配”,則確定為緩存失效。確定結(jié)果從緩存確定單元120作為緩存失效標(biāo)志240輸出。此外,如果確定結(jié)果是緩存失效(確定555中的是),則根據(jù)FIFO原理(循環(huán))的置換方法選擇最早的路數(shù)。該路數(shù)的緩存標(biāo)簽被存儲地址113置換,而其他路數(shù)的其他緩存標(biāo)簽保持不變。然后,更新緩存標(biāo)簽530。 從上面的描述可以看出,一般的組相聯(lián)緩存的緩存確定配置(設(shè)備/電路/邏輯)能夠用于緩存確定單元120。接下來,將參照圖6描述具有與圖I所示的數(shù)據(jù)供給設(shè)備不同的配置的數(shù)據(jù)供給設(shè)備(緩存設(shè)備)。根據(jù)如圖6所示的配置,如果緩存失效發(fā)生并且從存儲設(shè)備請求數(shù)據(jù), 則緩存失效發(fā)生時的行號存儲在“行號的中間隊列(FIF0)645”中。然后,數(shù)據(jù)獲取單元180從中間隊列(FIFO)645中獲取表示緩存失效發(fā)生時再充填數(shù)據(jù)在緩存存儲器中的存儲位置的行號。如果空間在中間隊列(FIF0)645中不可用,則訪問仲裁單元130自然停止。將參照圖7A和7B描述兩種內(nèi)容尋址(行選)存儲器類型的緩存存儲器190的示例。圖7A例示緩存存儲器190是直接映射緩存的示例。圖7B例示緩存存儲器190是4路組相聯(lián)緩存的示例。圖7A和圖7B中的存儲區(qū)域具有同一容量。在圖7A和7B中,針對一個緩存行預(yù)先分配8個存儲位置。根據(jù)直接映射緩存,7個接收區(qū)域和I個數(shù)據(jù)區(qū)域被分配給一個緩存行。根據(jù)4路組相聯(lián)緩存,4個接收區(qū)域和4個數(shù)據(jù)區(qū)域被分配給一個緩存行。每個緩存存儲器具有一個緩存行的多個存儲位置,并且根據(jù)從外部設(shè)備對數(shù)據(jù)獲取單元180設(shè)置的寄存器設(shè)置,能夠?qū)⒍鄠€存儲位置劃分為接收區(qū)域和數(shù)據(jù)區(qū)域。首先,根據(jù)針對一個地址可尋址的緩存標(biāo)簽的數(shù)量分配數(shù)據(jù)區(qū)域的存儲位置。換句話說,針對直接映射緩存的數(shù)據(jù)區(qū)域設(shè)置一個存儲位置,針對4路組相聯(lián)緩存的數(shù)據(jù)區(qū)域設(shè)置4個存儲位置。然后,剩余的存儲位置被設(shè)置為接收區(qū)域。以這種方式,通過改變接收區(qū)域和數(shù)據(jù)區(qū)域中存儲位置的分布,同一容量的緩存存儲器能夠用于不同分布類型的內(nèi)容尋址(行選)存儲器。即使緩存確定單元120被改變?yōu)槭褂貌煌愋偷膬?nèi)容尋址(行選)存儲器的確定電路,也能夠使用數(shù)據(jù)獲取單元180和緩存存儲器190而無需任何改變。雖然根據(jù)內(nèi)容尋址(行選)存儲器的類型從存儲區(qū)域分配數(shù)據(jù)區(qū)域,但是關(guān)于剩余的存儲區(qū)域,至少一個存儲位置需要作為接收區(qū)域。不必總是將所有剩余存儲區(qū)域分配給接收區(qū)域。例如,通過改變計算接收指針和數(shù)據(jù)指針的方式,剩余的存儲位置能夠用于不同的目的。圖8A例示由數(shù)據(jù)獲取單元180進(jìn)行的緩存數(shù)據(jù)的獲取操作的示例。圖SB例示再充填數(shù)據(jù)的接收操作的示例。在圖7A和7B中所示的數(shù)據(jù)獲取單元180包括各緩存行的接收指針和數(shù)據(jù)指針。當(dāng)數(shù)據(jù)獲取單元180進(jìn)行數(shù)據(jù)獲取操作和再充填數(shù)據(jù)接收操作時,數(shù)據(jù)獲取單元180需要基于相關(guān)的行號選擇相應(yīng)的接收指針和數(shù)據(jù)指針。關(guān)于圖8A中的數(shù)據(jù)獲取操作,在步驟S805中,數(shù)據(jù)獲取單元180從中間隊列(FIFO) 140獲取“行號和緩存失效標(biāo)志”作為要處理的緩存確定結(jié)果。在步驟S802中,數(shù)據(jù)獲取單元180獲取與行號對應(yīng)的接收指針和數(shù)據(jù)指針。關(guān)于圖SB中的再充填數(shù)據(jù)接收操作,在步驟S882中,數(shù)據(jù)獲取單元180從緩存失效的行號的中間隊列(FIFO)645獲取相關(guān)行號。在步驟S885中,基于所獲取的行號,數(shù)據(jù)獲取單元180獲取并更新相應(yīng)的接收指針。獲取的在相應(yīng)的接收指針和數(shù)據(jù)指針之后的數(shù)據(jù)獲取操作和再充填數(shù)據(jù)操作與以上參照圖3A和3B描述的操作類似。在由上述方法獲取行號并且由行號確定緩存存儲器中的存儲區(qū)域之后的操作以 及接收指針與數(shù)據(jù)指針之間的關(guān)系與以上參照圖3A和3B描述的操作和關(guān)系類似。從數(shù)據(jù)獲取單元180發(fā)送到訪問仲裁單元130的預(yù)取許可信號681是所有緩存行的一組一位許可信號,基于與各緩存行對應(yīng)的接收指針和數(shù)據(jù)指針計算各許可信號。這點與上述配置不同。組相聯(lián)緩存的內(nèi)容尋址(行選)存儲器采用如同上述配置的FIFO原理(循環(huán))的置換方法。然而,由于直接映射緩存的內(nèi)容尋址(行選)存儲器的內(nèi)容尋址數(shù)是一,所以它不被稱為FIFO(循環(huán))置換方法。在這點上,直接映射緩存的內(nèi)容尋址(行選)存儲器與其他類型的內(nèi)容尋址(行選)存儲器不同。上述“數(shù)據(jù)獲取單元”具有用于根據(jù)諸如直接映射緩存或組相聯(lián)緩存的內(nèi)容尋址(行選)存儲器的類型獲取所請求的數(shù)據(jù)的提取配置(設(shè)備/電路/邏輯)。根據(jù)圖5A和5B所示的數(shù)據(jù)供給設(shè)備(緩存設(shè)備),通過簡單配置能夠?qū)崿F(xiàn)能夠使用直接映射緩存或組相聯(lián)緩存進(jìn)行非阻塞操作的緩存設(shè)備。此外,雖然除根據(jù)傳統(tǒng)技術(shù)的緩存存儲器之外,還需要用于非阻塞操作的接收的充填FIFO,但是根據(jù)本示例性實施例的方法,僅緩存存儲器的區(qū)域的一部分需要分配給接收區(qū)域,并且也沒有必要準(zhǔn)備充填FIFO。此外,根據(jù)內(nèi)容尋址數(shù),在緩存確定電路中的預(yù)取配置中的直接映射緩存能夠被預(yù)取配置中的組相聯(lián)緩存置換,反之亦然。如果改變緩存確定電路,則關(guān)于提取配置中的數(shù)據(jù)獲取單元和緩存存儲器,改變存儲區(qū)域中的接收區(qū)域和數(shù)據(jù)區(qū)域的容量。根據(jù)本示例性實施例,能夠?qū)崿F(xiàn)與各種內(nèi)容尋址數(shù)對應(yīng)的數(shù)據(jù)供給設(shè)備(緩存設(shè)備),同時減少設(shè)計工時。在上述示例中,本示例性實施例的數(shù)據(jù)供給方法應(yīng)用于緩存設(shè)備。然而,顯而易見的是,數(shù)據(jù)供給方法可以應(yīng)用于緩存設(shè)備以外的設(shè)備。雖然緩存確定單元120根據(jù)輸入存儲地址確定緩存命中/失效,并且緩存設(shè)備從緩存存儲器獲取相應(yīng)的緩存數(shù)據(jù),但是數(shù)據(jù)處理設(shè)備101能夠向訪問仲裁單元130直接請求存儲地址的數(shù)據(jù)而無需涉及緩存確定單元120 (不包括緩存確定單元120)。此時,數(shù)據(jù)處理設(shè)備101例如通過定序電路,以預(yù)先確定的模式重復(fù)提交對存儲設(shè)備更新數(shù)據(jù)的請求(與緩存失效對應(yīng))和來自存儲設(shè)備的再充填數(shù)據(jù)的請求(與緩存命中對應(yīng))。雖然數(shù)據(jù)獲取單元180根據(jù)預(yù)確定的模式接收再充填數(shù)據(jù),但是數(shù)據(jù)獲取單元180也在數(shù)據(jù)緩沖器(與緩存存儲器對應(yīng))中更新數(shù)據(jù)。因此,數(shù)據(jù)獲取單元180向數(shù)據(jù)處理設(shè)備101連續(xù)供給存儲設(shè)備中的請求數(shù)據(jù),同時更新數(shù)據(jù)。根據(jù)上述的數(shù)據(jù)供給設(shè)備,通過非常簡單的配置能夠?qū)崿F(xiàn)關(guān)于數(shù)據(jù)獲取和數(shù)據(jù)緩沖器中的數(shù)據(jù)更新的非阻塞操作。此外,雖然除了根據(jù)傳統(tǒng)技術(shù)的非阻塞操作的緩存存儲器,還需要用于接收的充填FIF0,但是本示例性實施例的方法不需要充填FIF0,因為數(shù)據(jù)緩沖器的一部分區(qū)域被分配給接收區(qū)域。此外,根據(jù)以上描述,已描述能夠根據(jù)非阻塞操作改進(jìn)性能的設(shè)備。然而,顯而易見的是,根據(jù)本示例性實施例的處理裝置適用于不涉及中間隊列(FIFO)的阻塞操作。例如,在圖9中例示不包括中間隊列(FIFO)的處理裝置的示例。訪問仲裁單元直接將“行號和緩存失效標(biāo)志”935傳輸?shù)綌?shù)據(jù)獲取單元。然后,預(yù)取許可信號981從數(shù)據(jù)獲取單元發(fā)送到訪問仲裁單元。以這種方式實現(xiàn)阻塞操作。如果緩存失效標(biāo)志為“有效”,則直到在接收區(qū)域中再充填所請求的數(shù)據(jù),預(yù)取許可信號981被改為“禁止”,使得停止訪問仲裁單元的預(yù)取操作。另一方面,如果緩存失效標(biāo)志為“無效”,則預(yù)取許可信號981作為“許可”保持不變,并繼續(xù)訪問仲裁單元的預(yù)取操作。 由于接收指針和數(shù)據(jù)指針之間的差保持在“0”,直到再充填請求的數(shù)據(jù),因此根據(jù)參照圖3A和3B描述的處理流程,數(shù)據(jù)獲取單元停留在“等待”。因此,處理裝置能夠處理上述阻塞操作而不出現(xiàn)矛盾。關(guān)于阻塞操作,處理裝置能夠處理阻塞操作,即使接收區(qū)域為O段。然而,為了滿足本示例性實施例的目的,維持在接收區(qū)域的一段接收再充填數(shù)據(jù)并將數(shù)據(jù)存儲為緩存數(shù)據(jù)的過程。因此,數(shù)據(jù)獲取單元并不需要根據(jù)操作進(jìn)行修改。此外,根據(jù)以上描述,作為本示例性實施例的特征的用于管理接收區(qū)域的信息(接收指針)和用于管理數(shù)據(jù)區(qū)域的信息(數(shù)據(jù)指針)包括在數(shù)據(jù)獲取單元中。因此,一般的緩存確定配置(設(shè)備/電路/邏輯)能夠用于緩存確定單元。然而,該管理信息也可以與緩存標(biāo)簽一起存儲在緩存確定單元中。然后,可以由緩存確定單元預(yù)先進(jìn)行由數(shù)據(jù)獲取單元進(jìn)行的緩存數(shù)據(jù)的存儲位置地址的計算以及接收指針和數(shù)據(jù)指針之間的差的計算。然后,計算結(jié)果可以經(jīng)由中間隊列(FIFO)發(fā)送到數(shù)據(jù)獲取單元。特別地,關(guān)于圖5A和5B的配置,針對各緩存行,需要存儲管理信息。通過將管理信息與緩存標(biāo)簽一起存儲在緩存確定單元中的標(biāo)簽存儲器中,能夠在存儲配置中實現(xiàn)緩存標(biāo)簽和管理信息的集成。此外,根據(jù)以上描述,用于管理接收區(qū)域的信息(接收指針)和用于管理數(shù)據(jù)區(qū)域的信息(數(shù)據(jù)指針)用于描述操作。然而,不必僅由表示存儲區(qū)域中的存儲位置的指針來進(jìn)行管理。例如,也可以由表示接收區(qū)域的狀態(tài)的接收指針和接收數(shù)來管理。根據(jù)該管理,數(shù)據(jù)指針可以被認(rèn)為是通過從接收指針中減去接收數(shù)所得到的值。然后,每當(dāng)接收再充填數(shù)據(jù)時,接收數(shù)遞增一,并更新接收指針。此外,根據(jù)從預(yù)取配置輸出的信息(緩存失效標(biāo)志),如果該標(biāo)志表示緩存失效,則接收數(shù)遞減一。如果標(biāo)志表示緩存命中,則接收數(shù)不變。上述配置的優(yōu)點是本示例性實施例的數(shù)據(jù)供給設(shè)備只能夠通過使用接收區(qū)域的管理信息來控制。換句話說,由于數(shù)據(jù)供給設(shè)備只能夠通過接收區(qū)域的管理信息來控制,并且在數(shù)據(jù)的接收中所需的接收區(qū)域被分配給用于存儲數(shù)據(jù)的存儲區(qū)域,因此上述配置合乎本示例性實施例的目的。(其他實施例)本發(fā)明的各方面還可以通過讀出并執(zhí)行記錄在存儲設(shè)備上的用于執(zhí)行上述實施例的功能的程序的系統(tǒng)或裝置的計算機(jī)(或諸如CPU或MPU的設(shè)備)來實現(xiàn),以及通過由系統(tǒng)或裝置的計算機(jī)通過例如讀出并執(zhí)行記錄在存儲設(shè)備上的用于執(zhí)行上述實施例的功能的程序來執(zhí)行各步驟的方法來實現(xiàn)。鑒于此,例如經(jīng)由網(wǎng)絡(luò)或者從用作存儲設(shè)備的各種類型的記錄介質(zhì)(例如計算機(jī)可讀介質(zhì))向計算機(jī)提供程序。雖然參照示例性實施例對本發(fā)明進(jìn)行了描述,但是應(yīng)當(dāng)理解,本發(fā)明并不限于所 公開的示例性實施例。應(yīng)當(dāng)對所附權(quán)利要求的范圍給予最寬的解釋,以使其涵蓋所有這些變型例以及等同的結(jié)構(gòu)和功能。
權(quán)利要求
1.一種數(shù)據(jù)供給設(shè)備,所述數(shù)據(jù)供給設(shè)備包括 輸出單兀; 提取單元,其包括用于存儲數(shù)據(jù)的存儲區(qū)域,并被配置為將存儲在所述存儲區(qū)域中的數(shù)據(jù)供給至所述輸出單元;以及 預(yù)取單元,其被配置為從存儲器請求要發(fā)送至所述輸出單元的數(shù)據(jù), 其中,所述提取單元被配置為將從所述存儲器接收的數(shù)據(jù)存儲在作為所述存儲區(qū)域的一部分的接收區(qū)域中,并根據(jù)來自所述預(yù)取單元的請求分配存儲有與所述請求對應(yīng)的數(shù)據(jù)的所述接收區(qū)域的一部分作為發(fā)送區(qū)域,并且 其中,所述輸出單元被配置為輸出存儲在所述發(fā)送區(qū)域中的數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)供給設(shè)備,其中,所述預(yù)取單元被配置為分配所述存儲區(qū)域的一部分作為所述接收區(qū)域以將從所述存儲器供給的數(shù)據(jù)存儲在所述接收區(qū)域中,并根據(jù)來自所述預(yù)取單元的請求重新分配存儲有與所述請求對應(yīng)的數(shù)據(jù)的所述接收區(qū)域的一部分作為所述發(fā)送區(qū)域。
3.根據(jù)權(quán)利要求I或2所述的數(shù)據(jù)供給設(shè)備,所述數(shù)據(jù)供給設(shè)備還包括管線單元,所述管線單元包括多個段, 其中,所述提取單元被配置為將數(shù)據(jù)供給至所述多個段中的一個;并且 其中,所述預(yù)取單元被配置為根據(jù)在由所述提取單元供給數(shù)據(jù)的段之前的段的操作請求數(shù)據(jù)。
4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)供給設(shè)備,其中,所述數(shù)據(jù)供給設(shè)備被配置為在所述預(yù)取單元請求的數(shù)據(jù)到達(dá)所述提取單元的情況下更新用于管理所述接收區(qū)域的管理信息。
5.根據(jù)權(quán)利要求I所述的數(shù)據(jù)供給設(shè)置,其中,所述數(shù)據(jù)供給設(shè)備被配置為改變所述接收區(qū)域相對于所述存儲區(qū)域的容量。
6.根據(jù)權(quán)利要求4所述的數(shù)據(jù)供給設(shè)備,其中,所述數(shù)據(jù)供給設(shè)備被配置為基于所述接收區(qū)域的管理信息停止來自所述預(yù)取單元的數(shù)據(jù)請求。
7.根據(jù)權(quán)利要求4所述的數(shù)據(jù)供給設(shè)備,其中,所述數(shù)據(jù)供給設(shè)備被配置為基于所述接收區(qū)域的管理信息等待來自所述提取單元的數(shù)據(jù)供給。
8.根據(jù)權(quán)利要求I所述的數(shù)據(jù)供給設(shè)備,所述數(shù)據(jù)供給設(shè)備還包括位于所述預(yù)取單元與所述提取單元之間的中間隊列。
9.根據(jù)權(quán)利要求I所述的數(shù)據(jù)供給設(shè)備,其中,所述提取單元被配置為管理表示所述接收區(qū)域的接收指針和表示所述發(fā)送區(qū)域的數(shù)據(jù)指針,并通過更新所述接收指針或所述數(shù)據(jù)指針來改變所述接收區(qū)域或所述發(fā)送區(qū)域的分配。
10.一種包括根據(jù)權(quán)利要求I所述的數(shù)據(jù)供給設(shè)備的緩存設(shè)備,所述緩存設(shè)備還包括緩存確定單元, 其中,所述緩存設(shè)備被配置為將與所述緩存確定單元對應(yīng)的緩存數(shù)據(jù)存儲在所述提取單元的所述存儲區(qū)域中。
11.根據(jù)權(quán)利要求10所述的緩存設(shè)備,其中,所述緩存設(shè)備被配置為使用循環(huán)置換方法。
12.根據(jù)權(quán)利要求10所述的緩存設(shè)備,其中,所述存儲區(qū)域是內(nèi)容尋址(行選)存儲器類型,所述緩存設(shè)備是全相聯(lián)緩存設(shè)備。
13.根據(jù)權(quán)利要求10所述的緩存設(shè)備,其中,所述存儲區(qū)域是內(nèi)容尋址(行選)存儲器類型,所述緩存設(shè)備是組相聯(lián)緩存設(shè)備。
14.根據(jù)權(quán)利要求10所述的緩存設(shè)備,其中,所述存儲區(qū)域是內(nèi)容尋址(行選)存儲器類型,所述緩存設(shè)備是直接映射緩存設(shè)備。
15.一種存儲器的數(shù)據(jù)供給設(shè)備的數(shù)據(jù)供給方法,所述數(shù)據(jù)供給設(shè)備包括輸出單元(116);預(yù)取單元,其被配置為請求要發(fā)送至所述輸出單元的數(shù)據(jù);以及存儲區(qū)域,其被配置為存儲數(shù)據(jù),所述數(shù)據(jù)供給方法包括 將從所述存儲器接收的數(shù)據(jù)存儲在作為所述存儲區(qū)域的一部分的接收區(qū)域中; 根據(jù)來自所述預(yù)取單元的請求分配存儲有與所述請求對應(yīng)的數(shù)據(jù)的所述接收區(qū)域的 一部分作為發(fā)送區(qū)域;以及 經(jīng)由所述輸出單元輸出存儲在所述發(fā)送區(qū)域中的數(shù)據(jù)。
全文摘要
本發(fā)明提供數(shù)據(jù)供給設(shè)備、緩存設(shè)備及數(shù)據(jù)供給方法。該數(shù)據(jù)供給設(shè)備包括輸出單元;提取單元,其包括用于存儲數(shù)據(jù)的存儲區(qū)域,并被配置為將存儲在存儲區(qū)域中的數(shù)據(jù)供給至輸出單元;以及預(yù)取單元,其被配置為從存儲器請求要發(fā)送至輸出單元的數(shù)據(jù),其中,提取單元被配置為將從存儲器接收的數(shù)據(jù)存儲在作為存儲區(qū)域的一部分的接收區(qū)域中,并根據(jù)來自預(yù)取單元的請求分配存儲有與請求對應(yīng)的數(shù)據(jù)的接收區(qū)域的一部分作為發(fā)送區(qū)域,并且其中,輸出單元被配置為輸出存儲在發(fā)送區(qū)域中的數(shù)據(jù)。
文檔編號G06F12/08GK102968386SQ20121015332
公開日2013年3月13日 申請日期2012年5月17日 優(yōu)先權(quán)日2011年5月18日
發(fā)明者伊藤忠幸 申請人:佳能株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
烟台市| 烟台市| 兰西县| 增城市| 清水河县| 贺兰县| 浪卡子县| 扎囊县| 广丰县| 响水县| 岳普湖县| 托里县| 嘉黎县| 和田市| 屯昌县| 西昌市| 佛坪县| 淳安县| 石台县| 井陉县| 沭阳县| 兴仁县| 伊吾县| 揭东县| 广水市| 塘沽区| 梅州市| 门头沟区| 锦屏县| 班戈县| 城市| 淳安县| 中方县| 镇江市| 东乌珠穆沁旗| 仲巴县| 香格里拉县| 健康| 东乡县| 岳西县| 天津市|