專利名稱:控制高速緩沖存儲器的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本文討論的實施方式涉及高速緩沖存儲器控制裝置、半導體集成電 路和高速緩沖存儲器控制方法。
背景技術(shù):
包括諸如CPU (中央處理單元)的處理器核的信息處理裝置通常都
具有高速緩沖存儲器以實現(xiàn)更高速的處理。高速緩沖存儲器是相比于主 存儲單元(如主存儲器)能夠以更高的速度進行訪問的存儲器,并且高
速緩沖存儲器僅存儲在主存儲單元中所存儲的數(shù)據(jù)中CPU經(jīng)常使用的那 些數(shù)據(jù)。因此,當CPU執(zhí)行各種計算處理時,CPU首先訪問高速緩沖存
儲器并向該高速緩沖存儲器請求所需的數(shù)據(jù)。在此情況下,如果高速緩
沖存儲器中沒有存儲所需的數(shù)據(jù),則出現(xiàn)緩存缺失(cache miss),并將所 需的數(shù)據(jù)從主存儲單元傳送到高速緩沖存儲器。即,當對高速緩沖存儲 器執(zhí)行"讀取(READ)"并且作為結(jié)果出現(xiàn)緩存缺失時,通過"移入 (MOVE-IN)"將數(shù)據(jù)從主存儲單元傳送到高速緩沖存儲器。
如上所述,當出現(xiàn)緩存缺失時,通過"移入"將所需的數(shù)據(jù)存入高 速緩沖存儲器中,然后,CPU再次執(zhí)行"讀取",由此從高速緩沖存儲器 中讀取數(shù)據(jù)。因此,到CPU獲得數(shù)據(jù)時執(zhí)行了兩次"讀取"和一次"移 入",從而延遲時間(此后稱作"等待時間")變長。為了通過減小在數(shù) 據(jù)獲取時出現(xiàn)的延時而提高信息處理裝置的性能,可以在從主存儲單元 將數(shù)據(jù)傳送給高速緩沖存儲器的同時,也將該數(shù)據(jù)傳送給CPU (例如, 參見日本特開平10-111798號公報)。
圖7是日本特開平10-111798號公報中描述的信息處理裝置的結(jié)構(gòu)的 圖。圖7中所示的信息處理裝置包括主存儲單元1、指令控制單元2、以 及存儲控制單元3。當指令控制單元2請求數(shù)據(jù)時,存儲控制單元3對數(shù)據(jù)執(zhí)行"讀取"。目卩,通過存儲控制單元3中的選擇器7將來自指令控制
單元2的數(shù)據(jù)請求傳送到高速緩沖存儲器4。當高速緩沖存儲器4中存儲 有所請求的數(shù)據(jù)(緩存命中)時,經(jīng)由選擇器5將該數(shù)據(jù)讀入指令控制 單元2的緩沖器8。在此情況下,如圖8的上部所示,指令控制單元2能 夠從存儲控制單元3獲得數(shù)據(jù),并且到數(shù)據(jù)被獲得的時候僅執(zhí)行了一次 "讀取"(圖8: "RD")。因此,指令控制單元2的數(shù)據(jù)獲取中幾乎沒有 等待時間。
另一方面,當高速緩沖存儲器4中沒有存儲所請求的數(shù)據(jù)(緩存缺 失)時,執(zhí)行"移入"以將存儲在主存儲單元1中的該數(shù)據(jù)傳送到高速 緩沖存儲器4。即,經(jīng)由選擇器7將來自指令控制單元2的數(shù)據(jù)請求傳送 到主存儲單元1,并且經(jīng)由選擇器6將所請求的數(shù)據(jù)傳送到高速緩沖存儲 器4。在該正常情況下,此后指令控制單元2再次請求數(shù)據(jù);存儲控制 單元3執(zhí)行"讀取";經(jīng)由選擇器5將所請求的數(shù)據(jù)從高速緩沖存儲器4 讀入緩沖器8。在此情況下,如圖8的中間部分所示,到指令控制單元2 獲得數(shù)據(jù)的時候,執(zhí)行了兩次"讀取"(RD)和一次"移入"(圖8: "MI")。 因此,指令控制單元2的數(shù)據(jù)獲取中的等待時間變長。
但是,在日本特開平10-111798號公報中,設(shè)置有經(jīng)由選擇器5將主 存儲單元1和指令控制單元2的緩沖器8直接連接的線路L,因此,在經(jīng) 由選擇器6將數(shù)據(jù)從主存儲單元1傳送到高速緩沖存儲器4的同時,經(jīng) 由線路L將該數(shù)據(jù)讀入緩沖器8。因此,如圖8的下部所示,指令控制單 元2能夠在向高速緩沖存儲器4 "移入"(MO數(shù)據(jù)的同時獲得該數(shù)據(jù)。 因此,可以減少等待時間。
近來,針對包括一個處理器核(此后稱作"核")的單核半導體集成 電路,不能忽視諸如功耗增加的問題,并且性能的提高在接近其極限。 可以通過在一個基板上包括多個核的多核結(jié)構(gòu)來實現(xiàn)半導體集成電路的 進一步性能提高。當在具有多核結(jié)構(gòu)的半導體集成電路中,將高速緩沖 存儲器和主存儲單元劃分成多個存儲庫(bank)時,可以提高各個核、 高速緩沖存儲器和主存儲單元之間的吞吐量。
在釆用劃分成多個存儲庫的多核結(jié)構(gòu)的半導體集成電路中將分別
6連接到主存儲單元的多個核、多個高速緩沖存儲器以及多個主存儲控制 單元設(shè)置在基板的外緣;將控制整個數(shù)據(jù)傳輸?shù)目刂茊卧O(shè)置在基板的 中央。主存儲單元的每個分割存儲庫存儲有彼此具有不同地址的數(shù)據(jù), 因此,每個核可以向基板上的所有主存儲控制單元請求數(shù)據(jù)。因此,和
上述的日本特開平10-111798號公報中一樣,為了直接連接主存儲單元和 核,需要將所有的核以及所有的主存儲單元相互連接,這就出現(xiàn)了基板 上的布線很復雜的問題。
艮口,設(shè)置在夾持著置于基板中央的控制單元的各主存儲控制單元的 相對側(cè)的核可以向主存儲控制單元請求數(shù)據(jù)。因此,為了減少核的數(shù)據(jù) 獲取中的等待時間,還需要將在基板上分開設(shè)置的主存儲控制單元和核 直接連接。結(jié)果,需要大幅度地改變和擴展基板上的布線,從而導致半 導體集成電路的尺寸更大。近來,搭載有半導體集成電路的裝置日益小 型化,因此,作為減少核的數(shù)據(jù)獲取中的等待時間的手段而增大半導體 集成電路的尺寸是不現(xiàn)實的。
發(fā)明內(nèi)容
本發(fā)明是鑒于以上問題而提出的,其目的是提供一種使得能夠在出 現(xiàn)緩存缺失時,減少核的數(shù)據(jù)獲取中的等待時間且不增大電路尺寸的高 速緩沖存儲器控制裝置、半導體集成電路和高速緩沖存儲器控制方法。
根據(jù)本發(fā)明的一個方面,提供一種用于控制其中存儲從主存儲單元 傳送的數(shù)據(jù)的高速緩沖存儲器的裝置,該裝置包括計算處理單元,其 執(zhí)行利用數(shù)據(jù)的計算處理;連接單元,其將所述高速緩沖存儲器的輸入 部和輸出部進行連接;控制單元,當將所述主存儲單元中的數(shù)據(jù)從所述 高速緩沖存儲器的所述輸入部輸入到所述高速緩沖存儲器中時,所述控 制單元使所述主存儲單元中的所述數(shù)據(jù)經(jīng)由所述連接單元傳送到所述高 速緩沖存儲器的所述輸出部;以及傳送單元,其將所述控制單元傳送到 所述高速緩沖存儲器的所述輸出部的數(shù)據(jù)傳送到所述計算處理單元。
根據(jù)本發(fā)明的另一個方面,提供一種半導體集成電路,該半導體集 成電路包括處理器核,其執(zhí)行利用數(shù)據(jù)的計算處理;高速緩沖存儲器,其對存儲在主存儲器中的數(shù)據(jù)進行存儲;連接線,其將所述高速緩沖存 儲器的輸入部和輸出部進行連接;控制單元,當將所述主存儲器中的數(shù) 據(jù)輸入到所述高速緩沖存儲器時,所述控制單元使所述主存儲器中的所 述數(shù)據(jù)經(jīng)由所述連接線傳送到所述高速緩沖存儲器的所述輸出部;以及 數(shù)據(jù)總線,其將所述控制單元傳送到所述高速緩沖存儲器的所述輸出部 的數(shù)據(jù)傳送到所述處理器核。
根據(jù)本發(fā)明的又一個方面,提供一種用于在高速緩沖存儲器控制裝 置中,對其中存儲從主存儲單元傳送的數(shù)據(jù)的高速緩沖存儲器進行控制 的方法,該高速緩沖存儲器包括計算處理單元,該計算處理單元執(zhí)行利 用數(shù)據(jù)的計算處理。該方法包括以下步驟寫入步驟,在該寫入步驟中, 通過從所述高速緩沖存儲器的輸入部輸入數(shù)據(jù),將所述主存儲單元中的 數(shù)據(jù)寫入所述高速緩沖存儲器;第一傳送步驟,在該第一傳送步驟中, 將在所述寫入步驟中寫入所述高速緩沖存儲器中的數(shù)據(jù)從所述高速緩沖 存儲器的所述輸入部傳送到所述高速緩沖存儲器的輸出部;以及第二傳 送步驟,在該第二傳送步驟中,將在所述第一傳送步驟中傳送的數(shù)據(jù)從 所述高速緩沖存儲器的所述輸出部傳送到所述計算處理單元。
通過權(quán)利要求中具體指出的要素和組合,將實現(xiàn)并獲得本發(fā)明的目 的和優(yōu)點。
應(yīng)當了解,前面的概述和下面的詳述均都是示例性和解釋性的,而 不對所要求保護的發(fā)明構(gòu)成限制。
圖1是根據(jù)本發(fā)明的實施方式的半導體集成電路的結(jié)構(gòu)的示意圖; 圖2是根據(jù)該實施方式的半導體集成電路的主要部分的結(jié)構(gòu)的圖; 圖3是根據(jù)該實施方式的高速緩沖存儲器控制裝置中的連接關(guān)系的圖; 圖4是當出現(xiàn)緩存缺失時,根據(jù)該實施方式執(zhí)行的操作的順序圖; 圖5是解釋根據(jù)該實施方式如何減少等待時間的圖; 圖6是根據(jù)該實施方式的流水線處理的示例的圖; 圖7是信息處理裝置的結(jié)構(gòu)的示例的圖;以及
8圖8是信息處理裝置的等待時間的解釋圖。
具體實施例方式
參照附圖詳細說明本發(fā)明的實施方式。將對包括設(shè)置在一個基板上 的多個核、多個高速緩沖存儲器以及多個主存儲控制單元的半導體集成 電路進行說明。但是,本發(fā)明也能夠應(yīng)用于包括在一個基板上的僅一個 核、僅一個高速緩沖存儲器和僅一個主存儲控制單元的半導體集成電路。
圖1是根據(jù)所述實施方式的半導體集成電路100的結(jié)構(gòu)的示意圖。
圖1所示的半導體集成電路100包括8個核#0至#7。在半導體集成電 路100中,與劃分成4個存儲庫的主存儲單元(圖1中未示出)相對應(yīng), 高速緩沖存儲器和主存儲控制單元分別被劃分成4個數(shù)據(jù)存儲器# 0至# 3和4個MAC (存儲器存取控制器)#0至弁3。核#0至弁7、數(shù)據(jù)存儲 器弁0至弁3以及MAC弁0至弁3設(shè)置在基板的外沿??刂茊卧O(shè)置在 基板的中央。圖l所示的半導體集成電路IOO包括對從各MAC #0至# 3到各數(shù)據(jù)存儲器# 0至井3的數(shù)據(jù)傳送以及從各數(shù)據(jù)存儲器弁0至# 3到 各核弁O至弁7的數(shù)據(jù)傳送進行控制的高速緩沖存儲器控制裝置。
通過控制單元執(zhí)行"讀取",核弁O至弁7獲得臨時保存在數(shù)據(jù)存儲 器#0至#3中的數(shù)據(jù),并執(zhí)行各種計算處理。如果所需的數(shù)據(jù)沒有保存 在數(shù)據(jù)存儲器#0至#3中(緩存缺失),則核弁0至弁7向MAC弁O至 #3中的一個MAC請求該數(shù)據(jù),其中所述一個MAC與主存儲單元的存 儲有該數(shù)據(jù)的存儲庫相對應(yīng)。當將數(shù)據(jù)從MAC弁0至#3傳送到數(shù)據(jù)存 儲器弁0至弁3時,通過控制單元執(zhí)行"移入",核弁0至弁7獲得與輸入 到數(shù)據(jù)存儲器弁0至#3中的數(shù)據(jù)相同的數(shù)據(jù)。即,核#0至#7從數(shù)據(jù) 存儲器#0至#3的輸入部獲得了與待寫入數(shù)據(jù)存儲器弁O至#3中的數(shù) 據(jù)相同的數(shù)據(jù)。
數(shù)據(jù)存儲器#0至#3中的每一個構(gòu)成高速緩沖存儲器的一部分,并 且臨時保存核#0至#7使用的數(shù)據(jù)。更具體地說,當控制單元執(zhí)行"讀 取"時,數(shù)據(jù)存儲器#0至#3輸出核弁0至弁7請求的數(shù)據(jù)。當控制單 元執(zhí)行"移入"時,數(shù)據(jù)存儲器弁0至弁3從MAC #0至#3獲得核#0至# 7請求的數(shù)據(jù),并且數(shù)據(jù)存儲器# 0至#3把獲得的數(shù)據(jù)存儲于其中。
MAC #0至#3分別對應(yīng)于存儲有地址彼此不同的數(shù)據(jù)的主存儲單 元的4個存儲庫(圖l中未示出)。當出現(xiàn)緩存缺失時,MAC #0至弁3 從主存儲單元獲得核#0至#7請求的數(shù)據(jù),并且MAC #0至弁3將獲 得的數(shù)據(jù)傳送給數(shù)據(jù)存儲器#0至#3。
控制單元通過流水線處理執(zhí)行"讀取"和"移入"。即,當核弁O至 弁7請求數(shù)據(jù)時,控制單元將"讀取"請求輸入到流水線,控制單元在圖 1中未示出的標記存儲器(tagmemoiy)中進行搜索,并且控制單元判斷 數(shù)據(jù)存儲器弁O至#3中是否存儲有所請求的數(shù)據(jù)。如果數(shù)據(jù)存儲器弁O 至#3中存儲有所請求的數(shù)據(jù)(緩存命中),則控制單元使數(shù)據(jù)從數(shù)據(jù)存 儲器弁O至#3輸出到核弁O至#7。而如果數(shù)據(jù)存儲器井O至#3中沒有 存儲所請求的數(shù)據(jù)(緩存缺失),則控制單元將"移入"請求輸入流水線, 并使該數(shù)據(jù)從MAC # 0至井3傳送到數(shù)據(jù)存儲器# 0至弁3 。
除了"讀取"和"移入"之夕卜,控制單元還執(zhí)行回寫(WRITE-BACK), 其將經(jīng)歷了核#0至弁7的計算處理的數(shù)據(jù)回寫到數(shù)據(jù)存儲器井O至弁3 中;移出(MOVE-OUT),其將數(shù)據(jù)從數(shù)據(jù)存儲器#0至#3排出到主存 儲單元;等等。當控制單元將諸如"讀取"請求和"移入"請求的指令 輸入到流水線中時,控制單元將這些指令以適當?shù)拈g隔輸入到流水線中, 以使得當多個指令同時使用諸如數(shù)據(jù)存儲器弁O至#3等的資源時,不會 造成干擾。
圖2是根據(jù)所述實施方式的半導體集成電路100的主要部分的結(jié)構(gòu) 的圖。在圖2中,將與圖1中所示的半導體集成電路100的核弁O至#3、 數(shù)據(jù)存儲器弁0和弁1 、以及MAC弁0和# 1對應(yīng)的部分進行了特別放大。 圖2中所示的半導體集成電路100包括核101-0和101-1、控制單元102、 回寫數(shù)據(jù)隊列(此后稱作"WBDQ") 103、"移入"數(shù)據(jù)隊列(此后稱作 "MIDQ") 104、選擇器105、數(shù)據(jù)存儲器106、選擇器107和108、數(shù) 據(jù)總線109以及MAC 115。圖2中所示的半導體集成電路IOO被配置成 左右對稱,因此,只給出左側(cè)一半的參考標號。圖2中,利用箭頭來指 示主要在數(shù)據(jù)存儲器106附近的數(shù)據(jù)的移動。核101-0和101-1利用在數(shù)據(jù)存儲器106和圖2未示出的主存儲單元 中存儲的數(shù)據(jù)來執(zhí)行各種計算處理。核101-0和101-1向控制單元102請 求計算處理所需的數(shù)據(jù)。當數(shù)據(jù)存儲器106中存儲有該數(shù)據(jù)時(緩存命 中),核101-0和101-1獲得通過執(zhí)行"讀取"而從數(shù)據(jù)存儲器106中讀 取的數(shù)據(jù)。當數(shù)據(jù)存儲器106中沒有存儲該數(shù)據(jù)時(緩存缺失),核101-0 和101-1獲得通過執(zhí)行"移入"而經(jīng)由MAC 115從主存儲單元傳送到數(shù) 據(jù)存儲器106的數(shù)據(jù)。更具體地說,在完成將數(shù)據(jù)寫入數(shù)據(jù)存儲器106 中之后,核101-0和101-1獲得通過執(zhí)行"移入"而傳送到設(shè)置在數(shù)據(jù)存 儲器106的輸入部處的MIDQ 104的數(shù)據(jù)。
控制單元102通過流水線處理執(zhí)行核101-0和101-1請求的"讀取" 或"移入"。gp,當核101-0和101-1請求數(shù)據(jù)時,控制單元102將"讀 取"請求輸入流水線。如果緩存命中,則控制單元102使數(shù)據(jù)從數(shù)據(jù)存 儲器106傳送到核101-0和101-1。如果緩存缺失,則控制單元102使數(shù) 據(jù)從與存儲有所請求的數(shù)據(jù)的主存儲單元對應(yīng)的MAC 115傳送到MIDQ 104,然后,控制單元102將"移入"請求輸入流水線,并使所請求的數(shù) 據(jù)從MIDQ 104傳送到數(shù)據(jù)存儲器106。
WBDQ 103是當執(zhí)行WRITE-BACK時臨時保存從核101-0和101-1 回寫到數(shù)據(jù)存儲器106的數(shù)據(jù)的隊列。g卩,WBDQ 103臨時保存由核101-0 和101-1處理的數(shù)據(jù),并經(jīng)由選擇器105將數(shù)據(jù)輸出至數(shù)據(jù)存儲器106。
MIDQ 104設(shè)置在數(shù)據(jù)存儲器106的輸入部處,MIDQ 104是當出現(xiàn) 緩存缺失而執(zhí)行"移入"時臨時保存從MAC 115向數(shù)據(jù)存儲器106傳送 的數(shù)據(jù)的隊列。即,MIDQ 104臨時保存核101-0和101-1請求的從MAC 115傳送來的數(shù)據(jù),并且MIDQ 104經(jīng)由選擇器105將數(shù)據(jù)輸出到數(shù)據(jù)存 儲器106。在數(shù)據(jù)被寫入數(shù)據(jù)存儲器106之后,MIDQ 104還將同一數(shù)據(jù) 輸出到選擇器107。
選擇器105選擇WBDQ 103和MIDQ 104中保存的一項數(shù)據(jù),并且 選擇器105將所選擇的數(shù)據(jù)輸出到數(shù)據(jù)存儲器106。更具體地說,當控制 單元102的流水線執(zhí)行WRITE-BACK時,選擇器105選擇WBDQ 103 中保存的數(shù)據(jù)。當控制單元102的流水線執(zhí)行"移入"時,選擇器05選擇MIDQ 104中保存的數(shù)據(jù)。
當執(zhí)行了 "移入"時,在保存在MIDQ 104中的數(shù)據(jù)寫入數(shù)據(jù)存儲 器106中之后,選擇器105還通過線路LO將同一數(shù)據(jù)輸出到選擇器107。 即,通過執(zhí)行"移入",選擇器105將與寫入數(shù)據(jù)存儲器106中的數(shù)據(jù)相 同的數(shù)據(jù)輸出到線路LO,并且選擇器105使輸出的數(shù)據(jù)從選擇器107傳 送到核101-0和101-1。
線路LO是將MIDQ 104和數(shù)據(jù)存儲器106之間的接點與選擇器107 進行連接的配線,因此,線路L0連接了數(shù)據(jù)存儲器106的輸入部和輸出 部。因此,線路L0是僅設(shè)置在數(shù)據(jù)存儲器106周圍的很短的線,當新設(shè) 置線路LO時,線路LO幾乎不對周圍的配線造成任何影響。當執(zhí)行"讀 取"時,線路LO將與要輸入到數(shù)據(jù)存儲器106中的數(shù)據(jù)相同的數(shù)據(jù)傳送 到數(shù)據(jù)存儲器106的用于使從數(shù)據(jù)存儲器106輸出的數(shù)據(jù)通過的輸出部。
數(shù)據(jù)存儲器106是構(gòu)成高速緩沖存儲器的一部分的存儲器,并且數(shù) 據(jù)存儲器106臨時存儲核101-0和101-1頻繁使用的數(shù)據(jù)。在該實施方式 中,高速緩沖存儲器包括劃分成存儲庫的數(shù)據(jù)存儲器和標記存儲器,例 如可以將RAM (隨機存取存儲器)用作這些存儲器。
選擇器107設(shè)置在數(shù)據(jù)存儲器106的輸出部處。選擇器107選擇從 MIDQ 104輸出的數(shù)據(jù)和從數(shù)據(jù)存儲器106輸出的數(shù)據(jù)之一,并將選擇的 數(shù)據(jù)輸出到選擇器108或輸出到除了核101-0和101-1以外的其它核。更 具體地說,當通過控制單元102的流水線執(zhí)行"移入"時,選擇器107 選擇從MIDQ 104輸出的數(shù)據(jù)。當通過控制單元102的流水線執(zhí)行"讀 取"時,選擇器107選擇從數(shù)據(jù)存儲器106輸出的數(shù)據(jù)。
換言之,選擇器107選擇當緩存命中時被"讀取"的數(shù)據(jù)和當緩存 缺失時被"移入"的數(shù)據(jù)中的任何一個,作為待傳送到核101-0和0-1 的數(shù)據(jù)。在出現(xiàn)緩存缺失的情況下,當通過執(zhí)行"移入"而將數(shù)據(jù)寫入 數(shù)據(jù)存儲器106中時,選擇器107從線路LO獲得相同的數(shù)據(jù)并將該相同 的數(shù)據(jù)傳送到核101-0和101-1。由此,當執(zhí)行"移入"時,選擇器107 將與輸入到數(shù)據(jù)存儲器106的數(shù)據(jù)相同的數(shù)據(jù),以與執(zhí)行"讀取"時從 數(shù)據(jù)存儲器106輸出的數(shù)據(jù)相同的處理方式進行處理,而傳送到核101-0
12和101-1。因此,即使執(zhí)行"讀取"時不再從數(shù)據(jù)存儲器106輸出執(zhí)行"移 入"時輸入到數(shù)據(jù)存儲器106的數(shù)據(jù),所請求的數(shù)據(jù)也能夠迅速傳送到 核101-0和101-1。
不論是執(zhí)行"讀取"還是"移入",選擇器107都在流水線處理的相 同周期輸出數(shù)據(jù)。即,對于"移入",在對數(shù)據(jù)存儲器106進行寫數(shù)據(jù)訪 問之后,把與被寫入數(shù)據(jù)存儲器106中的數(shù)據(jù)相同的數(shù)據(jù)從MIDQ 104 輸入到選擇器107。對于"讀取",在對數(shù)據(jù)存儲器106進行讀數(shù)據(jù)訪問 之后,把從數(shù)據(jù)存儲器106讀出的數(shù)據(jù)從數(shù)據(jù)存儲器106輸出到選擇器 107。因此,不論是"移入"還是"讀取",數(shù)據(jù)到達選擇器107的流水 線處理周期都是相同的,從而從選擇器107向核101-0和101-1的數(shù)據(jù)傳 送成為完全相同的處理。
選擇器108選擇從選擇器107輸出的數(shù)據(jù)以及從除了數(shù)據(jù)存儲器106 之外的其它數(shù)據(jù)存儲器輸出的數(shù)據(jù)中的任何一個,并且選擇器108將選 擇的數(shù)據(jù)輸出到核101-0和101-1。更具體地說,當核101-0和101-1請 求數(shù)據(jù)存儲器106中存儲的數(shù)據(jù)時,選擇器108選擇從選擇器107輸出 的數(shù)據(jù)。當核101-0和101-1請求除了數(shù)據(jù)存儲器106以外的其它數(shù)據(jù)存 儲器中存儲的數(shù)據(jù)時,選擇器108選擇從作為數(shù)據(jù)請求目的地的數(shù)據(jù)存 儲器輸出的數(shù)據(jù)。
數(shù)據(jù)總線109連接選擇器108和核101-0和101-1 ,并且數(shù)據(jù)總線109 將從數(shù)據(jù)存儲器106或MIDQ 104輸出且經(jīng)過選擇器107和108的數(shù)據(jù), 傳送到核101-0和101-1。 g卩,數(shù)據(jù)總線109共用于控制單元102的流水 線執(zhí)行的"讀取"和"移入"兩者。因此,在執(zhí)行這些指令中的每一個 的預定周期中,數(shù)據(jù)總線109都被占用。
MAC 115連接到存儲有核101-0和101-1可能使用的所有數(shù)據(jù)項的 主存儲單元(圖2中未示出)。當出現(xiàn)緩存缺失時,MAC115從主存儲單 元獲得緩存缺失的數(shù)據(jù),并將獲得的數(shù)據(jù)傳送到MIDQ 104。通過執(zhí)行"移 入",將傳送到MIDQ 104的數(shù)據(jù)從MIDQ 104傳送到數(shù)據(jù)存儲器106。
參照圖3更詳細地介紹根據(jù)該實施方式的核、高速緩沖存儲器以及 MAC的連接關(guān)系。圖3是核101、包括數(shù)據(jù)存儲器106和標記存儲器112的高速緩沖存儲器以及MAC115的連接關(guān)系的示意圖。在圖3中,對與 圖2中相同的組成部分賦予相同的參考標記。在圖3中,除了圖2中所 示的組成部分以外,還示出了移入端口 (此后稱作"MI端口") 110、選 擇器lll、標記存儲器112、移入緩沖器(此后稱作"MI緩沖器")113、 以及移出數(shù)據(jù)隊列(此后稱作"MODQ") 114。
MI端口 110接收來自核101的數(shù)據(jù)請求,并向控制單元102請求執(zhí) 行"讀取"。選擇器111請求控制單元102執(zhí)行"讀取"或"移入"。艮P, 當MI端口 110請求執(zhí)行"讀取"時,選擇器111請求控制單元102執(zhí)行 "讀取"。當MI緩沖器113請求執(zhí)行"移入"時,選擇器111請求控制 單元102執(zhí)行"移入"。
標記存儲器112保存數(shù)據(jù)存儲器106中存儲的數(shù)據(jù)的地址。當"讀 取"請求被輸入到控制單元102的流水線中時,標記存儲器112判斷數(shù) 據(jù)存儲器106中是否存儲有核101請求的數(shù)據(jù)。目卩,當標記存儲器112 保存有所請求的數(shù)據(jù)的地址時,緩存命中,而當標記存儲器112沒有保 存所請求的數(shù)據(jù)的地址時,緩存缺失。
當出現(xiàn)緩存缺失時,MI緩沖器113指令MAC 115將緩存缺失的數(shù) 據(jù)傳送到MIDQ 104。在緩存缺失的數(shù)據(jù)被傳送到MIDQ 104之后,MI 緩沖器113請求控制單元102執(zhí)行"移入"。
在緩存替換期間,MODQ 114臨時保存從數(shù)據(jù)存儲器106經(jīng)由MAC 115向主存儲單元(圖3中未示出)回寫的數(shù)據(jù)。
在上述結(jié)構(gòu)中,當核IOI請求數(shù)據(jù)時,該數(shù)據(jù)請求被MI端口 IIO接 收,并且"讀取"請求經(jīng)由選擇器111而被輸入到控制單元102中???制單元102將"讀取"請求輸入到流水線中,并搜索標記存儲器112以 判斷數(shù)據(jù)存儲器106中是否存儲有所請求的數(shù)據(jù)。作為判斷的結(jié)果,如 果數(shù)據(jù)存儲器106中存儲有所請求的數(shù)據(jù)從而緩存命中時,則從數(shù)據(jù)存 儲器106輸出該數(shù)據(jù),并且經(jīng)由選擇器107、 108和數(shù)據(jù)總線109將該數(shù) 據(jù)傳送到核IOI。由此,完成"讀取"的流水線處理。
另一方面,如果標記存儲器112沒有存儲所請求的數(shù)據(jù)的地址從而 緩存缺失時,則將出現(xiàn)緩存缺失的數(shù)據(jù)的地址從標記存儲器112通知給MI緩沖器113。 MI緩沖器113指令MAC 115向MIDQ 104傳送出現(xiàn)緩 存缺失的數(shù)據(jù)。即,當標記存儲器112中沒有存儲核101請求的數(shù)據(jù)的 地址時,MI緩沖器113指令MAC 115向MIDQ 104傳送核101請求的數(shù) 據(jù)。
MAC 115接收來自MI緩沖器113的指令,從主存儲單元獲得核101 請求的數(shù)據(jù),并將獲得的數(shù)據(jù)傳送到MIDQ104。在核101所請求的數(shù)據(jù) 被傳送到MIDQ 104之后,MI緩沖器113將執(zhí)行"移入"的請求經(jīng)由選 擇器111輸入到控制單元102。在控制單元102中,將"移入"請求輸入 到流水線中,并且響應(yīng)于對"移入"請求的流水線處理,將臨時保存在 MIDQ 104中的數(shù)據(jù)經(jīng)由選擇器105輸入到數(shù)據(jù)存儲器106,從而將該數(shù) 據(jù)寫入數(shù)據(jù)存儲器106中。在把從MIDQ 104輸出的數(shù)據(jù)寫入數(shù)據(jù)存儲 器106中之后,將同一數(shù)據(jù)從MIDQ 104經(jīng)由線路LO輸出到選擇器107。
在此情況下,從MIDQ 104經(jīng)由線路L0向選擇器107輸出數(shù)據(jù)的周 期與執(zhí)行"讀取"時從數(shù)據(jù)存儲器106輸出數(shù)據(jù)的周期是相同的。艮P, 在該實施方式中,沒有在經(jīng)由線路LO將數(shù)據(jù)輸出到選擇器107的同時將 從MIDQ 104輸出的數(shù)據(jù)寫入數(shù)據(jù)存儲器106中。相反,是在寫數(shù)據(jù)結(jié) 束之后,才將該數(shù)據(jù)輸出到選擇器107。由此,對于執(zhí)行"讀取"的情況 和執(zhí)行"移入"的情況,對到達選擇器107的數(shù)據(jù)的流水線處理的周期 是相同的。因此,可以通過共同控制來實現(xiàn)從選擇器107到核101的數(shù) 據(jù)傳送。
當來自MIDQ 104的數(shù)據(jù)經(jīng)由線路LO到達選擇器107時,與執(zhí)行"讀 取"時的情況類似,將該數(shù)據(jù)經(jīng)由選擇器107、 108和數(shù)據(jù)總線109傳送 到核101。由此,"移入"的流水線處理結(jié)束。艮卩,在該實施方式中,即 使出現(xiàn)緩存缺失,核101也在"移入"結(jié)束的同時獲得所請求的數(shù)據(jù)。 換言之,通過"移入"而寫入數(shù)據(jù)存儲器106中的數(shù)據(jù)無需通過"讀取" 進行讀取操作而被傳送到核101。結(jié)果,能夠?qū)⒊霈F(xiàn)緩存缺失時核101的 數(shù)據(jù)獲取中的等待時間減少與執(zhí)行一次"讀取"的時間段對應(yīng)的時間段。
參照圖4和5描述緩存缺失時的等待時間的減少。圖4是當出現(xiàn)緩 存缺失時,根據(jù)本實施方式執(zhí)行的操作的順序圖。當核101需要用于計算等的數(shù)據(jù)時,從核101經(jīng)由MI端口 110和選 擇器lll向控制單元102請求執(zhí)行"讀取"(步驟Si01)。在控制單元102 中,將"讀取"請求輸入流水線中。當處理"讀取"請求時,執(zhí)行在標 記存儲器112中的搜索等。在圖4的示例中,數(shù)據(jù)存儲器106中沒有存 儲核101請求的數(shù)據(jù),從而標記存儲器112中沒有保存該數(shù)據(jù)的地址。 艮卩,因為出現(xiàn)緩存缺失,所以控制單元102經(jīng)由MI緩沖器113指令MAC 115傳送數(shù)據(jù)(步驟S102)。 MAC 115從圖4未示出的主存儲單元獲得核 IOI請求的數(shù)據(jù),并將該數(shù)據(jù)傳送到MIDQ104 (步驟S103), MIDQ 104 臨時保存該數(shù)據(jù)。
在控制單元102中,在輸入"讀取"請求之后,以預定周期的間隔, 將"移入"請求從MI緩沖器113輸入到流水線中。之所以在將"讀取" 請求輸入流水線中之后而在輸入"移入"請求之前設(shè)置預定周期的間隔, 是為了防止諸如數(shù)據(jù)存儲器106和數(shù)據(jù)總線109的資源被多個指令同時 使用。
當實際出現(xiàn)緩存缺失時,如上所述,MI緩沖器113指令MAC 115 向MIDQ 104傳送出現(xiàn)緩存缺失的數(shù)據(jù)。在MAC 115將該數(shù)據(jù)傳送到 MIDQ 104之后,輸入"移入"請求。因此,在"移入"請求被輸入到流 水線中之前,必需完成要通過"移入"而移入的數(shù)據(jù)向MIDQ 104的傳 送。因此,從"讀取"請求輸入到流水線中到"移入"請求輸入到流水 線中之間的時間間隔(例如,IOO個周期或更多)比防止諸如數(shù)據(jù)存儲器 106和數(shù)據(jù)總線109的資源被多個指令同時使用的時間間隔長。
當MIDQ 104中保存有出現(xiàn)緩存缺失的數(shù)據(jù)且"移入"請求被輸入 到控制單元102的流水線中時,將MIDQ 104保存的數(shù)據(jù)經(jīng)由選擇器105 輸出到數(shù)據(jù)存儲器106(步驟S104),并將該數(shù)據(jù)寫入數(shù)據(jù)存儲器106中。 當把數(shù)據(jù)寫入數(shù)據(jù)存儲器106中時,將與該數(shù)據(jù)相同的數(shù)據(jù)從MIDQ 104 經(jīng)由線路LO輸出到選擇器107,并經(jīng)由選擇器107、 108和數(shù)據(jù)總線109 傳送到核101 (步驟S105)。由此,核101能夠在"移入"結(jié)束的同時獲 得請求的數(shù)據(jù)。在此情況下,如果沒有設(shè)置線路L0和選擇器107,則不 能執(zhí)行步驟S105,并且在核101獲得數(shù)據(jù)之前,"移入"結(jié)束之后,圖4中虛線所表示的步驟是必需的。
艮P,不執(zhí)行步驟S105的處理,并且MI緩沖器113再次向控制單元 102請求執(zhí)行"讀取"。在控制單元102中,將"讀取"請求輸入到流水 線中,并且當處理"讀取"請求時,執(zhí)行在標記存儲器112中的搜索等。 在此情況下,由于"移入"己經(jīng)結(jié)束,所以數(shù)據(jù)存儲器106中已存儲有 核101請求的數(shù)據(jù)。即,因為緩存命中,所以指令數(shù)據(jù)存儲器106輸出 所請求的數(shù)據(jù)(步驟S201)。將所請求的數(shù)據(jù)從數(shù)據(jù)存儲器106傳送到核 101 (步驟S202)。
通過設(shè)置線路LO和選擇器107可以省略步驟S201和S202的處理, 因此,可以將等待時間減少在控制單元102的流水線中執(zhí)行一次"讀取" 的時間段。即,如果沒有線路LO和選擇器107,如圖5的上部所示,到 核101獲得數(shù)據(jù)時在流水線中執(zhí)行了兩次"讀取"(RD)和一次"移入" (MI)。但是,如果根據(jù)該實施方式設(shè)置了線路LO和選擇器107,則如 圖5的下部所示,核101能夠通過只執(zhí)行一次"讀取"(RD)和一次"移 入"(MI)就獲得所請求的數(shù)據(jù)。
因此,在該實施方式中,等待時間可以減少執(zhí)行一次"讀取"的時 間段,并且由于減少了輸入流水線中的"讀取"的數(shù)量,結(jié)果就減少了 流水線的使用次數(shù)。
參照圖6描述控制單元102中的流水線處理的具體示例。圖6是當 以"讀取"請求、"移入"請求和"讀取"請求的順序依次將指令輸入到 控制單元102的流水線中時所執(zhí)行的流水線處理的示例的圖。在圖6中, 上邊沿的各數(shù)字表示周期號。各橫越周期的粗線表示在每個周期執(zhí)行了 使用諸如數(shù)據(jù)存儲器106和數(shù)據(jù)總線109的資源的處理。但是,圖6所 示的周期號是為了便于說明,因此,在實際流水線中使用的周期號可以 不同于圖6中的周期號。此后,假設(shè)寫數(shù)據(jù)和讀數(shù)據(jù)中的每一個都需要4 個周期來訪問數(shù)據(jù)存儲器106。還假設(shè)通過數(shù)據(jù)總線109將數(shù)據(jù)傳送到核 101也需要4個周期。
當在第O個周期將"讀取"請求輸入到控制單元102的流水線中時, 從第0個周期到第3個周期的4個周期內(nèi)禁止向流水線輸入任何指令,以使得針對諸如數(shù)據(jù)存儲器106和數(shù)據(jù)總線109的資源,輸入的"讀取" 請求和接下來的指令不會相互干擾。即,如上所述,在執(zhí)行"讀取"期 間,從數(shù)據(jù)存儲器106讀數(shù)數(shù)據(jù)需要4個周期,因此,由于執(zhí)行"讀取", 數(shù)據(jù)存儲器106被占用了 4個周期。類似地,由于傳送與執(zhí)行"讀取" 有關(guān)的數(shù)據(jù),數(shù)據(jù)總線109也被占用了 4個周期。因此,使流水線開始 執(zhí)行新指令等待從第0個周期到第3個周期的4個周期,從而不會發(fā)生 與該新指令的干擾。
當在第0個周期輸入"讀取"請求時從第1個周期到第4個周期 執(zhí)行在標記存儲器112中的地址搜索等;并且從第5個周期到第8個周 期的4個周期內(nèi)執(zhí)行從數(shù)據(jù)存儲器106的數(shù)據(jù)讀取。在第9個周期,將 數(shù)據(jù)從數(shù)據(jù)存儲器106輸出到選擇器107。此后從第IO個周期到第11 個周期,將數(shù)據(jù)從選擇器107傳送到選擇器108;并且從第12個周期到 第15個周期的4個周期內(nèi),數(shù)據(jù)總線109將數(shù)據(jù)傳送到核101。由此, 第一次"讀取"結(jié)束。
由于在第0個周期輸入了 "讀取"請求,所以從第0個周期到第3 個周期內(nèi)禁止向流水線輸入任何指令。但是,當?shù)?個周期開始時,將 新的"移入"請求輸入到流水線中。在此情況下,與輸入"讀取"請求 的情況類似,在4個周期內(nèi)禁止向流水線輸入任何指令。即,如上所述, 在執(zhí)行"移入"期間,需要4個周期來將數(shù)據(jù)寫入數(shù)據(jù)存儲器106中。 因此,由于執(zhí)行"移入",所以數(shù)據(jù)存儲器106被占用了4個周期。類似 地,由于傳送與執(zhí)行"移入"有關(guān)的數(shù)據(jù),所以數(shù)據(jù)總線109也被占用 了 4個周期。因此,使流水線開始執(zhí)行新指令等待從第4個周期到第7 個周期的4個周期,從而不會發(fā)生與該新指令的干擾。
當在第4個周期中輸入了 "移入"請求時從第5個周期到第7個 周期內(nèi),執(zhí)行在標記存儲器112中新登記地址等;并且在第8個周期, 將保存在MIDQ 104中的數(shù)據(jù)經(jīng)由選擇器105輸出到數(shù)據(jù)存儲器106。在 從第9個周期到第12個周期的4個周期內(nèi),執(zhí)行向數(shù)據(jù)存儲器106寫入 數(shù)據(jù)。在第13個周期中,將與寫入數(shù)據(jù)存儲器106中的數(shù)據(jù)相同的數(shù)據(jù) 從MIDQ 104經(jīng)由線路L0輸出到選擇器107。此后,從第14個周期到第15個周期內(nèi),將數(shù)據(jù)從選擇器107傳送到選擇器108。在從第16個周期 到第19個周期的4個周期內(nèi),數(shù)據(jù)總線109將數(shù)據(jù)傳送到核101。由此, "移入"結(jié)束。
在上面應(yīng)注意的是,在第一次"讀取"的執(zhí)行和"移入"的執(zhí)行當 中,都在從各指令的輸入起的第9個周期內(nèi)向選擇器107輸出數(shù)據(jù)。艮卩, 當執(zhí)行"讀取"時,在第0個周期輸入"讀取"請求,并在第9個周期 將數(shù)據(jù)輸出到選擇器107。另一方面,當執(zhí)行"移入"時,在第4個周期 輸入"移入"請求,并在第13個周期將數(shù)據(jù)輸出到選擇器107。因此, 對于從選擇器107到核101的數(shù)據(jù)傳送,針對"讀取"的執(zhí)行和"移入" 的執(zhí)行兩者,可以只執(zhí)行一個共同的控制。
由此,通過設(shè)置用于連接數(shù)據(jù)存儲器106的輸入部和輸出部的線路 L0,從MIDQ 104輸出的數(shù)據(jù)可以按與從數(shù)據(jù)存儲器106輸出的數(shù)據(jù)相 同的方式進行處理。即,可以將數(shù)據(jù)從數(shù)據(jù)存儲器106的輸入部經(jīng)由線 路LO傳送到輸出部的定時設(shè)置成與當執(zhí)行"讀取"時實際從數(shù)據(jù)存儲器 106輸出數(shù)據(jù)的定時一致。結(jié)果,能夠?qū)τ谠趫?zhí)行"讀取"時從選擇器 107到核101的數(shù)據(jù)傳送的控制和對于在執(zhí)行"移入"時從選擇器107到 核101的數(shù)據(jù)傳送的控制設(shè)置成共同的。
由于在第4個周期中輸入了 "移入"請求,所以從第4個周期到第7 個周期內(nèi)禁止向流水線輸入任何指令。但是,在第8個周期,將新的"讀 取"請求輸入到流水線中。此后,與第一次"讀取"類似,從第13個周 期到第16個周期從數(shù)據(jù)存儲器106讀取數(shù)據(jù),并且在第17個周期(其 是從輸入了 "讀取"請求起的第9個周期)中,將從數(shù)據(jù)存儲器106讀 取的數(shù)據(jù)輸出到選擇器107。從第20個周期到第23個周期,數(shù)據(jù)總線 109將數(shù)據(jù)傳送到核101。由此,結(jié)束第二次"讀取"。
以彼此間隔4個周期的方式而將上述兩個"讀取"和一個"移入" 輸入到流水線中。因此,如圖6所示,數(shù)據(jù)存儲器106和數(shù)據(jù)總線109 被這3個指令不間斷地連續(xù)使用。g卩,從第5個周期到第8個周期,數(shù) 據(jù)存儲器106被第一次"讀取"訪問;從第9個周期到第12個周期,數(shù) 據(jù)存儲器106被"移入"訪問;接著從第13個周期到第16個周期,數(shù)據(jù)存儲器106被第二次"讀取"訪問。從第12個周期到第15個周期, 數(shù)據(jù)總線109傳送第一次"讀取"的數(shù)據(jù);從第16個周期到第19個周 期,數(shù)據(jù)總線109傳送"移入"的數(shù)據(jù);接著從第20個周期到第23個 周期,數(shù)據(jù)總線109傳送第二次"讀取"的數(shù)據(jù)。
由此,在該實施方式中,在針對諸如數(shù)據(jù)存儲器106和數(shù)據(jù)總線109 的資源的指令間不會出現(xiàn)干擾,從而資源被不間斷地連續(xù)使用。由此, 能夠?qū)崿F(xiàn)更高效的資源使用。在圖6所示的示例中,假設(shè)"讀取"和"移 入"中的每一個都占用數(shù)據(jù)存儲器106和數(shù)據(jù)總線109達4個周期。但 是,要占用的周期數(shù)不限于4個。占用數(shù)據(jù)存儲器106的周期數(shù)和占用 數(shù)據(jù)總線09的周期數(shù)可以不相等。在這種情況下,可以將占用資源時 的最大周期數(shù)設(shè)置為,禁止輸入指令以使得在與資源的使用有關(guān)的兩個 連續(xù)的指令之間不會出現(xiàn)干擾的期間。
如上所述,根據(jù)該實施方式,將構(gòu)成高速緩沖存儲器的一部分的數(shù) 據(jù)存儲器的輸入部和輸出部進行連接,從而當執(zhí)行"移入"時,與從輸 入部輸入到數(shù)據(jù)存儲器的數(shù)據(jù)相同的數(shù)據(jù)也被傳送到數(shù)據(jù)存儲器的輸出 部。因此,可以用與執(zhí)行"讀取"時從數(shù)據(jù)存儲器中讀取的數(shù)據(jù)相同的 方式來處理通過"移入"而寫入數(shù)據(jù)存儲器中的數(shù)據(jù)。g卩,無需通過"讀 取"再次讀取通過"移入"而寫入數(shù)據(jù)存儲器中的數(shù)據(jù),從而能夠省略 這次"讀取"的執(zhí)行。結(jié)果,當出現(xiàn)緩存缺失時,能夠減少在核的數(shù)據(jù) 獲取中產(chǎn)生的等待時間而無需增大電路的尺寸。
根據(jù)本文描述的高速緩沖存儲器控制裝置、半導體集成電路以及高 速緩沖存儲器控制方法的實施方式,當出現(xiàn)緩存缺失時,能夠減少核獲 取數(shù)據(jù)的等待時間而無需增大電路的尺寸。
在此陳述的所有示例和條件語言旨在出于教導的目的,以幫助讀者 理解本發(fā)明和本發(fā)明人為促進技術(shù)進步而貢獻的構(gòu)思,并且應(yīng)當被解釋
成并不限于這種具體陳述的示例和條件,說明書中對這些示例的組織也 并不涉及表明本發(fā)明的優(yōu)劣。盡管對本發(fā)明的實施方式進行了詳細描述, 但是應(yīng)當明白,可以在不脫離本發(fā)明的精神和范圍的情況下對其作出各 種改變、替換以及更換。
權(quán)利要求
1、一種用于對其中存儲從主存儲單元傳送的數(shù)據(jù)的高速緩沖存儲器進行控制的裝置,該裝置包括計算處理單元,其執(zhí)行利用數(shù)據(jù)的計算處理;連接單元,其將所述高速緩沖存儲器的輸入部和輸出部進行連接;控制單元,當將所述主存儲單元中的數(shù)據(jù)從所述高速緩沖存儲器的所述輸入部輸入到所述高速緩沖存儲器中時,所述控制單元使所述主存儲單元中的所述數(shù)據(jù)經(jīng)由所述連接單元傳送到所述高速緩沖存儲器的所述輸出部;以及傳送單元,其將所述控制單元傳送到所述高速緩沖存儲器的所述輸出部的數(shù)據(jù)傳送到所述計算處理單元。
2、 根據(jù)權(quán)利要求l所述的裝置,該裝置還包括隊列單元,其設(shè)置在所述高速緩沖存儲器的所述輸入部上,當將所 述主存儲單元中的數(shù)據(jù)寫入所述高速緩沖存儲器中時,該隊列單元臨時 保存所述主存儲單元中的所述數(shù)據(jù),其中所述控制單元使從所述隊列單元輸出的數(shù)據(jù)經(jīng)由所述連接單元傳送 到所述高速緩沖存儲器的所述輸出部。
3、 根據(jù)權(quán)利要求1所述的裝置,該裝置還包括選擇單元,其設(shè)置在所述高速緩沖存儲器的所述輸出部上,該選擇 單元選擇要從所述高速緩沖存儲器實際輸出的數(shù)據(jù)和經(jīng)由所述連接單元 傳送的數(shù)據(jù)中的一個,其中所述傳送單元將所述選擇單元選擇的數(shù)據(jù)傳送到所述計算處理單元。
4、 根據(jù)權(quán)利要求3所述的裝置,其中當所述高速緩沖存儲器中沒有存儲所述計算處理單元請求的數(shù)據(jù), 并且從所述主存儲單元向所述高速緩沖存儲器傳送該請求的數(shù)據(jù)時,所 述選擇單元選擇經(jīng)由所述連接單元傳送的數(shù)據(jù)。
5、 根據(jù)權(quán)利要求1所述的裝置,其中在向所述高速緩沖存儲器輸入的數(shù)據(jù)被寫入所述高速緩沖存儲器中 之后,所述控制單元使與被寫入所述高速緩沖存儲器中的數(shù)據(jù)相同的數(shù) 據(jù)經(jīng)由所述連接單元傳送到所述高速緩沖存儲器的所述輸出部。
6、 根據(jù)權(quán)利要求l所述的裝置,其中 所述控制單元包括-流水線處理單元,其流水線處理關(guān)于傳送數(shù)據(jù)的指令,其中 在所述流水線處理單元的流水線處理中,把從所述高速緩沖存儲器實際輸出數(shù)據(jù)的周期與經(jīng)由所述連接單元向所述高速緩沖存儲器的所述輸出部傳送數(shù)據(jù)的周期設(shè)置成一致。
7、 根據(jù)權(quán)利要求6所述的裝置,其中在一個指令的執(zhí)行開始之后,所述流水線處理單元將下一個指令的 執(zhí)行開始延遲對所述高速緩沖存儲器繼續(xù)進行訪問的多個周期。
8、 根據(jù)權(quán)利要求6所述的裝置,其中在一個指令的執(zhí)行開始之后,所述流水線處理單元將下一個指令的 執(zhí)行開始延遲所述傳送單元進行數(shù)據(jù)傳送所需的多個周期。
9、 一種半導體集成電路,該半導體集成電路包括 處理器核,其執(zhí)行利用數(shù)據(jù)的計算處理; 高速緩沖存儲器,其對存儲在主存儲器中的數(shù)據(jù)進行存儲; 連接線路,其將所述高速緩沖存儲器的輸入部和輸出部進行連接; 控制單元,當將所述主存儲器中的數(shù)據(jù)輸入到所述高速緩沖存儲器時,所述控制單元使所述主存儲器中的所述數(shù)據(jù)經(jīng)由所述連接線路傳送 到所述高速緩沖存儲器的所述輸出部;以及數(shù)據(jù)總線,其將所述控制單元傳送到所述高速緩沖存儲器的所述輸 出部的數(shù)據(jù)傳送到所述處理器核。
10、 根據(jù)權(quán)利要求9所述的半導體集成電路,該半導體集成電路包 括多個處理器核,其中,所述高速緩沖存儲器被分割為與所述主存儲器的分別存儲彼此具有 不同地址的數(shù)據(jù)的多個存儲庫相對應(yīng)。
11、 一種用于在高速緩沖存儲器控制裝置中,對其中存儲從主存儲單元傳送的數(shù)據(jù)的高速緩沖存儲器進行控制的方法,該高速緩沖存儲器 包括計算處理單元,該計算處理單元執(zhí)行利用數(shù)據(jù)的計算處理,該方法 包括以下步驟寫入步驟,在該寫入步驟中,通過從所述高速緩沖存儲器的輸入部 輸入數(shù)據(jù),將所述主存儲單元中的數(shù)據(jù)寫入所述高速緩沖存儲器;第一傳送步驟,在該第一傳送步驟中,將在所述寫入步驟中寫入所 述高速緩沖存儲器中的數(shù)據(jù)從所述高速緩沖存儲器的所述輸入部傳送到 所述高速緩沖存儲器的輸出部;以及第二傳送步驟,在該第二傳送步驟中,將在所述第一傳送步驟中傳 送的數(shù)據(jù)從所述高速緩沖存儲器的所述輸出部傳送到所述計算處理單 元。
全文摘要
本發(fā)明提供了控制高速緩沖存儲器的方法和裝置。該裝置用于控制其中存儲從主存儲單元傳送的數(shù)據(jù)的高速緩沖存儲器,該裝置包括計算處理單元,其執(zhí)行利用數(shù)據(jù)的計算處理;連接單元,其將所述高速緩沖存儲器的輸入部和輸出部進行連接;控制單元,當將所述主存儲單元中的數(shù)據(jù)從所述高速緩沖存儲器的所述輸入部輸入到所述高速緩沖存儲器中時,所述控制單元使所述主存儲單元中的所述數(shù)據(jù)經(jīng)由所述連接單元傳送到所述高速緩沖存儲器的所述輸出部;以及傳送單元,其將所述控制單元傳送到所述高速緩沖存儲器的所述輸出部的數(shù)據(jù)傳送到所述計算處理單元。
文檔編號G06F12/08GK101593158SQ20091011846
公開日2009年12月2日 申請日期2009年3月9日 優(yōu)先權(quán)日2008年5月28日
發(fā)明者小島廣行, 石村直也 申請人:富士通株式會社