專(zhuān)利名稱(chēng):高速緩沖存儲(chǔ)器及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于提高處理器的內(nèi)存存取速度的高速緩沖存儲(chǔ)器及其控制方法。
背景技術(shù):
以往,高速緩沖存儲(chǔ)器被廣泛應(yīng)用于縮短主存儲(chǔ)裝置的存取時(shí)間和提高處理器的處理能力。
例如(日本)特開(kāi)平6-266620號(hào)公報(bào)等公開(kāi)的高速緩沖存儲(chǔ)器,將主內(nèi)存中的塊單位數(shù)據(jù)保存在各項(xiàng)目,并通過(guò)該項(xiàng)目,進(jìn)行數(shù)據(jù)的傳輸控制和互斥控制,該數(shù)據(jù)對(duì)應(yīng)于來(lái)自進(jìn)行多任務(wù)處理的處理單元的存取。該高速緩沖存儲(chǔ)器在結(jié)構(gòu)上,根據(jù)對(duì)每個(gè)項(xiàng)目設(shè)置任務(wù)識(shí)別信息注冊(cè)部,該任務(wù)識(shí)別信息注冊(cè)部對(duì)處理單元的各任務(wù)的識(shí)別信息進(jìn)行注冊(cè),該處理單元是將在項(xiàng)目中保存的塊作為互斥控制的對(duì)象而設(shè)置的。該高速緩沖存儲(chǔ)器以任務(wù)單位,進(jìn)行項(xiàng)目中保存的塊的互斥控制及該互斥控制的設(shè)置和解除。
根據(jù)該高速緩沖存儲(chǔ)器,謀求高效進(jìn)行多任務(wù)處理中的互斥控制、消除任務(wù)間共享的數(shù)據(jù)的矛盾。
但是,上述已有技術(shù)中的高速緩沖存儲(chǔ)器中存在這樣一個(gè)問(wèn)題,即隨著處理器的任務(wù)切換,高速緩沖存儲(chǔ)器的命中率會(huì)受到不在運(yùn)行中的其他任務(wù)的影響。
例如,在任務(wù)A的指令串(或數(shù)據(jù))被存放在高速緩沖存儲(chǔ)器的狀態(tài)下,當(dāng)從運(yùn)行任務(wù)A被切換到運(yùn)行任務(wù)B時(shí),由于任務(wù)B的運(yùn)行,高速緩沖存儲(chǔ)器中的任務(wù)A的指令串(或數(shù)據(jù))被逐出。而問(wèn)題是,若任務(wù)A的指令串(或數(shù)據(jù))從高速緩沖存儲(chǔ)器被逐出,則再次運(yùn)行任務(wù)A時(shí),將發(fā)生高速緩存缺失。尤其是對(duì)于壓縮聲音數(shù)據(jù)及壓縮圖像數(shù)據(jù)的解碼/編碼處理等需要實(shí)時(shí)性的處理中,由于上述任務(wù)切換帶來(lái)的其他任務(wù)的影響,導(dǎo)致任務(wù)切換后高速緩存的置換處理侵占任務(wù)的分配時(shí)間,無(wú)法確保所需的處理時(shí)間,從而造成損害實(shí)時(shí)性或無(wú)法確定處理時(shí)間的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提供一種高速緩沖存儲(chǔ)器,其目的在于防止高速緩沖存儲(chǔ)器接受任務(wù)切換帶來(lái)的其他任務(wù)的影響,并簡(jiǎn)便地確保任務(wù)的實(shí)質(zhì)處理時(shí)間。
為了達(dá)到上述目的,根據(jù)本發(fā)明的高速緩沖存儲(chǔ)器是N-路組聯(lián)方式的高速緩沖存儲(chǔ)器,其特征在于,包括控制寄存器,示出N個(gè)通路中的1個(gè)或多個(gè)通路;控制單元,使控制寄存器示出的通路激活;以及更新單元,對(duì)控制寄存器的內(nèi)容進(jìn)行更新。
根據(jù)該結(jié)構(gòu),只使由控制寄存器示出的通路激活,而且控制寄存器的內(nèi)容是可以更新的,因此可以根據(jù)處理器執(zhí)行的處理,動(dòng)態(tài)設(shè)置激活通路。若任務(wù)和通路相對(duì)應(yīng),則可以消除這樣一個(gè)現(xiàn)象,即,在任務(wù)切換后,所需要的數(shù)據(jù)被其他任務(wù)從高速緩沖存儲(chǔ)器中逐出的現(xiàn)象。而且可以防止命中率受到任務(wù)切換帶來(lái)的影響。結(jié)果,可以簡(jiǎn)便地確保任務(wù)所需要的實(shí)質(zhì)處理時(shí)間。
在此,上述控制單元可以采取這樣一個(gè)結(jié)構(gòu)即對(duì)由控制寄存器示出的激活通路以外的通路(稱(chēng)為非激活通路),至少限制置換。
根據(jù)該結(jié)構(gòu),對(duì)于非激活通路,至少限制置換。即,對(duì)于非激活通路,可以設(shè)為完全禁用,也可以只將置換設(shè)為禁用。在后者的情況下,對(duì)高速緩沖存儲(chǔ)器的讀/寫(xiě)不受限制,因此能夠防止命中率降低,并且能有效利用非激活通路。
這里,也可以采用這樣一個(gè)結(jié)構(gòu)上述高速緩沖存儲(chǔ)器還包括標(biāo)記保持單元,對(duì)每個(gè)通路設(shè)置,并將高速緩存數(shù)據(jù)的地址作為標(biāo)記保持;以及N個(gè)比較單元,通過(guò)比較標(biāo)記地址和N個(gè)標(biāo)記,判定是命中還是非命中,該標(biāo)記地址是由處理器輸出的內(nèi)存存取地址的高位部分,該N個(gè)標(biāo)記是由標(biāo)記保持單元輸出的標(biāo)記,上述控制單元將與控制寄存器示出的激活通路以外的通路對(duì)應(yīng)的比較單元設(shè)為禁用。
根據(jù)該結(jié)構(gòu),由于將與非激活通路對(duì)應(yīng)的比較單元設(shè)為禁用,所以能夠減少比較單元的耗電量。
在此,也可以采用這樣一個(gè)結(jié)構(gòu)上述控制單元還對(duì)與控制寄存器示出的激活通路以外的通路對(duì)應(yīng)的高速緩存地址保持單元,將向比較單元的標(biāo)記輸出設(shè)為禁用。
根據(jù)該結(jié)構(gòu),由于與非激活通路對(duì)應(yīng)的標(biāo)記輸出和比較單元被設(shè)為禁用,所以能夠減少標(biāo)記保持單元的耗電量。
這里,可以采用這樣一個(gè)結(jié)構(gòu)上述控制單元當(dāng)由處理器輸出內(nèi)存存取地址時(shí),控制比較單元對(duì)該存取地址最多進(jìn)行兩次標(biāo)記比較,在第一次標(biāo)記比較中,將與由控制寄存器示出的激活通路以外的通路對(duì)應(yīng)的比較單元設(shè)為禁用,當(dāng)?shù)谝淮螛?biāo)記比較中被判定為非命中時(shí),不將與激活通路以外通路對(duì)應(yīng)的比較單元設(shè)為禁用,使之進(jìn)行第二次標(biāo)記比較。
根據(jù)該結(jié)構(gòu),在第一次標(biāo)記比較中的命中率越高,越能減少比較單元的耗電量,并且當(dāng)?shù)谝淮螛?biāo)記比較中非命中時(shí)進(jìn)行第二次標(biāo)記比較,所以也可以有效利用非激活通路的高速緩存數(shù)據(jù)。
這里,也可以采用這樣一個(gè)結(jié)構(gòu)上述控制單元在上述第二次標(biāo)記比較中,將與激活通路對(duì)應(yīng)的比較單元設(shè)為禁用。
根據(jù)該結(jié)構(gòu),由于在第二次比較中只有對(duì)應(yīng)于非激活通路的比較單元進(jìn)行標(biāo)記比較,所以可以進(jìn)一步減少耗電量。
在此,也可以采用這樣一個(gè)結(jié)構(gòu)上述控制單元對(duì)由控制寄存器示出的激活通路以外的通路,禁止其狀態(tài)的更新。
根據(jù)該結(jié)構(gòu),例如禁止表示非激活通路狀態(tài)的標(biāo)志類(lèi)的更新,從而能夠防止對(duì)非激活通路的任務(wù)切換帶來(lái)的影響。
這里,也可以采用這樣一個(gè)結(jié)構(gòu)上述控制單元對(duì)由控制寄存器示出的激活通路以外的通路,禁止表示其存取順序信息的更新。
根據(jù)該結(jié)構(gòu),由于禁止表示存取順序的信息的更新,所以在被分配到激活通路的任務(wù)非命中的情況下,置換順序不能因更新單元的更新而變化。
在此,也可以采用這樣一個(gè)結(jié)構(gòu)上述高速緩沖存儲(chǔ)器還包括重置單元,當(dāng)控制寄存器的內(nèi)容被上述更新單元更新時(shí),將表示對(duì)通路的存取順序的信息進(jìn)行重置。再者,也可以采用這樣一個(gè)結(jié)構(gòu)上述表示存取順序的信息是每個(gè)高速緩存項(xiàng)目的1位數(shù)據(jù);上述高速緩沖存儲(chǔ)器還包括寄存器,保持表示循環(huán)位置的數(shù)據(jù),該循環(huán)位置用于以循環(huán)方式從可置換的多個(gè)通路中選擇1個(gè)通路;上述重置單元,當(dāng)由上述更新單元更新控制寄存器的內(nèi)容時(shí),重置上述寄存器。
根據(jù)該結(jié)構(gòu),可以在分配非激活通路的任務(wù)非命中的情況下,消除對(duì)置換順序帶來(lái)的影響。
這里,可以采用這樣一個(gè)結(jié)構(gòu)上述更新單元包括保持單元,保持每個(gè)任務(wù)的通路數(shù)據(jù),該通路數(shù)據(jù)指定應(yīng)激活的通路;以及改寫(xiě)單元,改寫(xiě)上述控制寄存器,以保持與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù)。
根據(jù)該結(jié)構(gòu),由于在每次切換任務(wù)時(shí),對(duì)控制寄存器進(jìn)行動(dòng)態(tài)改寫(xiě),所以可以使其他每個(gè)任務(wù)與激活通路相對(duì)應(yīng)。
在此,可以采用這樣一個(gè)結(jié)構(gòu)上述保持單元將上述通路數(shù)據(jù)作為內(nèi)存中存儲(chǔ)的每個(gè)任務(wù)的上下文數(shù)據(jù)的一部分而保持;上述改寫(xiě)單元在任務(wù)切換時(shí),將控制寄存器中的當(dāng)前任務(wù)的通路數(shù)據(jù)保留在內(nèi)存,并將下一任務(wù)的通路數(shù)據(jù)從內(nèi)存恢復(fù)到上述控制寄存器。
根據(jù)該結(jié)構(gòu),由于OS(Operating System;操作系統(tǒng))的任務(wù)切換,可以簡(jiǎn)便地實(shí)現(xiàn)控制寄存器的更新,而不需要大量追加高速緩沖存儲(chǔ)器的硬件。
在此,可以采用這樣一個(gè)結(jié)構(gòu)上述保持單元保持每個(gè)任務(wù)的上述通路數(shù)據(jù),上述改寫(xiě)單元包括地址存儲(chǔ)單元,存儲(chǔ)內(nèi)存中所存儲(chǔ)的各任務(wù)的地址范圍;判別單元,根據(jù)地址存儲(chǔ)單元中所存儲(chǔ)的地址范圍和由處理器輸出的讀取指令地址,對(duì)正在運(yùn)行的任務(wù)進(jìn)行判別;選擇單元,從上述保持單元中選擇與被判別的正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù);以及寫(xiě)入單元,將被選擇的通路數(shù)據(jù)寫(xiě)入上述控制寄存器。
根據(jù)該結(jié)構(gòu),控制寄存器的更新是通過(guò)高速緩沖存儲(chǔ)器本身主動(dòng)判斷來(lái)進(jìn)行的,所以對(duì)任何處理器,都能使與每個(gè)任務(wù)對(duì)應(yīng)的通路激活。
這里,可以采用這樣一個(gè)結(jié)構(gòu)上述保持單元保持每個(gè)任務(wù)的上述通路數(shù)據(jù);上述改寫(xiě)單元包括選擇單元,按照由處理器輸出的任務(wù)編號(hào),從上述保持單元選擇與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù);以及寫(xiě)入單元,將被選擇的通路數(shù)據(jù)寫(xiě)入上述控制寄存器。
根據(jù)該結(jié)構(gòu),由于使用處理器輸出的任務(wù)編號(hào),所以不需要大量追加硬件,而簡(jiǎn)便地更新控制寄存器,可使與每個(gè)任務(wù)對(duì)應(yīng)的通路激活。
在此,也可以采用這樣一個(gè)結(jié)構(gòu)保持在上述保持單元的通路數(shù)據(jù)被操作系統(tǒng)分配給任務(wù)。
根據(jù)該結(jié)構(gòu),通過(guò)由操作系統(tǒng)將通路分配給任務(wù),對(duì)各任務(wù)的通路分配的最優(yōu)化變得容易。
這里,也可以采用這樣一個(gè)結(jié)構(gòu)上述高速緩沖存儲(chǔ)器可以在高速緩存項(xiàng)目的行大小和行大小的2的n次方分之1之間切換各通路中的置換單位;上述控制寄存器還示出每個(gè)通路的置換大小;上述控制單元以控制寄存器示出的置換大小為單位進(jìn)行置換控制。
再者,也可以采用這樣一個(gè)結(jié)構(gòu)上述控制單元對(duì)由控制寄存器示出的激活通路以外的通路至少限制置換;對(duì)由控制寄存器示出的激活通路,以控制寄存器示出的大小為單位進(jìn)行置換。
在此,也可以采用這樣一個(gè)結(jié)構(gòu)上述更新單元包括保持單元,保持每個(gè)任務(wù)的通路數(shù)據(jù)和每個(gè)任務(wù)的置換大小,該通路數(shù)據(jù)指定應(yīng)激活的通路;以及改寫(xiě)單元,改寫(xiě)上述控制寄存器,以保持與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù)及置換大小。
根據(jù)該結(jié)構(gòu),在對(duì)每個(gè)任務(wù)切換激活通路的同時(shí),也可以切換置換單位,所以能夠根據(jù)任務(wù)處理內(nèi)容來(lái)減少非命中。
這里,本發(fā)明的控制方法是N-路組聯(lián)方式的高速緩沖存儲(chǔ)器的控制方法,包括將通路數(shù)據(jù)設(shè)置到控制寄存器的步驟,該通路數(shù)據(jù)表示N個(gè)通路中的1個(gè)或多個(gè)通路;以及控制步驟,使控制寄存器示出的通路激活。
在此,上述控制步驟也可以對(duì)由控制寄存器示出的激活通路以外的通路,至少限制置換。
這里,也可以采用這樣一個(gè)結(jié)構(gòu)上述控制方法還包括更新步驟,從保持部讀出與對(duì)正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù),并將讀出的通路數(shù)據(jù)寫(xiě)入上述控制寄存器,該保持部保持每個(gè)任務(wù)的通路數(shù)據(jù),該通路數(shù)據(jù)指定應(yīng)激活的通路。
如上所述,根據(jù)本發(fā)明的高速緩沖存儲(chǔ)器,由于處理器根據(jù)所執(zhí)行的處理動(dòng)態(tài)設(shè)置激活通路,所以在任務(wù)和通路相對(duì)應(yīng)的情況下,可以解除這樣一個(gè)現(xiàn)狀,即在任務(wù)切換后所需要的任務(wù)被其他任務(wù)從高速緩沖存儲(chǔ)器逐出的現(xiàn)狀,并能防止任務(wù)切換帶來(lái)的其他任務(wù)給命中率的影響。
圖1是表示本發(fā)明的實(shí)施方式1中包括處理器、高速緩沖存儲(chǔ)器、內(nèi)存在內(nèi)的系統(tǒng)大致結(jié)構(gòu)的方框圖。
圖2是表示高速緩沖存儲(chǔ)器結(jié)構(gòu)例的方框圖。
圖3是表示通路寄存器的位結(jié)構(gòu)的示意圖。
圖4是表示通路寄存器與通路之間對(duì)應(yīng)關(guān)系的示意圖。
圖5是表示控制部中的置換處理的流程圖。
圖6是表示任務(wù)切換處理的流程圖。
圖7是表示任務(wù)區(qū)域的上下文中包含的每個(gè)任務(wù)的通路數(shù)據(jù)的示意圖。
圖8是表示本發(fā)明的實(shí)施方式2中的高速緩沖存儲(chǔ)器的結(jié)構(gòu)的方框圖。
圖9是表示高速緩存項(xiàng)目的位結(jié)構(gòu)的示意圖。
圖10是表示設(shè)置部結(jié)構(gòu)的方框圖。
圖11是表示標(biāo)志更新例的示意圖。
圖12是表示標(biāo)志更新處理流程的示意圖。
圖13是表示置換處理流程的示意圖。
圖14是表示本發(fā)明的實(shí)施方式3中高速緩沖存儲(chǔ)器的結(jié)構(gòu)的方框圖。
圖15是表示高速緩存項(xiàng)目的位結(jié)構(gòu)的示意圖。
圖16是表示置換大小寄存器的位結(jié)構(gòu)的示意圖。
圖17是表示12基本(base)標(biāo)志的更新例的示意圖。
圖18是表示基本(base)置換處理的流程圖。
圖19是表示本發(fā)明的實(shí)施方式4中的比較控制部及各通路關(guān)鍵部分的結(jié)構(gòu)的方框圖。
圖20是表示啟用電路控制邏輯的真值表。
具體實(shí)施例方式
(實(shí)施方式1)圖1是表示本發(fā)明的實(shí)施方式1中包括處理器1、高速緩沖存儲(chǔ)器3、內(nèi)存2的系統(tǒng)大致結(jié)構(gòu)的方框圖。如圖1所示,本發(fā)明的高速緩沖存儲(chǔ)器3位于具有處理器1及內(nèi)存2的系統(tǒng)中。處理器1是進(jìn)行多任務(wù)控制的處理器,切換并運(yùn)行內(nèi)存2中的任務(wù)1~4等。高速緩沖存儲(chǔ)器3是N-路組聯(lián)方式的高速緩沖存儲(chǔ)器,其結(jié)構(gòu)是使N個(gè)通路中的一個(gè)或多個(gè)通路對(duì)應(yīng)于每個(gè)任務(wù),并使該任務(wù)運(yùn)行中相應(yīng)的通路激活。各個(gè)任務(wù)可以對(duì)激活通路使用作為高速緩沖存儲(chǔ)器的所有功能。并且,各個(gè)任務(wù)對(duì)于未激活的通路(稱(chēng)為非激活通路),作為高速緩沖存儲(chǔ)器的所有功能中可利用的功能受限制。本實(shí)施方式中,對(duì)非激活通路,置換的功能受限制,除此以外的讀寫(xiě)等不受限制。
下面,作為高速緩沖存儲(chǔ)器3的具體例,說(shuō)明對(duì)8路組聯(lián)方式的高速緩沖存儲(chǔ)器適用本發(fā)明時(shí)的結(jié)構(gòu)。
圖2是表示高速緩沖存儲(chǔ)器3結(jié)構(gòu)例的方框圖。如圖2所示,高速緩沖存儲(chǔ)器3具備地址寄存器20、解碼器30、8個(gè)通路31a~31h(以下簡(jiǎn)稱(chēng)為通路0~7)、8個(gè)比較器32a~32h、8個(gè)與門(mén)電路33a~33h、或門(mén)電路34、選擇器35、選擇器36、多路復(fù)用器37、控制部38。
地址寄存器20是保持對(duì)內(nèi)存2的存取地址的寄存器。該存取地址為32位。如圖2所示,存取地址從最高位起,依次包括21位的標(biāo)記地址、4位的組索引(圖中的SI)、5位的字索引(圖中的WI)。
這里,標(biāo)記地址指映射到通路的內(nèi)存中區(qū)域(其大小為組數(shù)×塊)。該區(qū)域的大小是由比標(biāo)記地址低位的地址位(A10~A0)來(lái)規(guī)定大小,即2k字節(jié),也是1個(gè)通路的大小。組索引(SI)指跨通路0~3的多個(gè)組的1個(gè)。這個(gè)組數(shù),因?yàn)榻M索引為4位,所以是16組。由標(biāo)記地址及組索引所確定的塊是置換單位,保存在高速緩沖存儲(chǔ)器中時(shí)被稱(chēng)為行數(shù)據(jù)或行。行數(shù)據(jù)的大小由比組索引低位的地址位來(lái)規(guī)定,即128字節(jié)。假定1個(gè)字為4字節(jié),則1個(gè)行數(shù)據(jù)為32個(gè)字。字索引(WI)指構(gòu)成行數(shù)據(jù)的多個(gè)字中的1個(gè)字。地址寄存器20中最低的兩位(A1、A0)在字存取時(shí)被忽略。
解碼器30對(duì)組索引的4位進(jìn)行解碼,從16個(gè)組中選擇1個(gè)組,這些16個(gè)組由高速緩存項(xiàng)目組成,該高速緩存項(xiàng)目按8個(gè)通路0~7相同順序排列。
通路0~7為具有相同結(jié)構(gòu)的8個(gè)通路,具有8×2k字節(jié)的容量。通路0具有16個(gè)高速緩存項(xiàng)目。1個(gè)高速緩存項(xiàng)目保持有效標(biāo)志V、21位的標(biāo)記、128字節(jié)的行數(shù)據(jù)。有效標(biāo)志V表示該高速緩存項(xiàng)目是否有效。標(biāo)記是21位的標(biāo)記地址的拷貝。行數(shù)據(jù)是由標(biāo)記地址及組索引來(lái)確定的塊中的128字節(jié)數(shù)據(jù)的拷貝。另外,通路1~7也與通路0相同。經(jīng)解碼器30,由組索引的4位來(lái)選擇的跨4個(gè)通路的4個(gè)高速緩存項(xiàng)目被稱(chēng)為組。此外,在圖2中省略了表示曾有過(guò)寫(xiě)入的臟標(biāo)志。
比較器32a比較地址寄存器20中的標(biāo)記地址與由組索引所選擇的組中包含的4個(gè)標(biāo)記中的通路0的標(biāo)記是否一致。比較器32b~32h也一樣,只是它們分別對(duì)應(yīng)于通路31b~31h。
與門(mén)電路33a對(duì)有效標(biāo)志與比較器32a的比較結(jié)果是否一致進(jìn)行比較。假設(shè)該比較結(jié)果為h0。當(dāng)比較結(jié)果h0為1時(shí),意味著與地址寄存器20中的標(biāo)記地址及組索引對(duì)應(yīng)的行數(shù)據(jù)存在,即意味著在通路0中命中。比較結(jié)果h0為0時(shí),則意味著非命中。與門(mén)電路33b~33h也一樣,只是它們分別對(duì)應(yīng)于通路31b~31h。其比較結(jié)果h1~h7表示在通路1~7中命中了還是非命中。
或門(mén)電路34對(duì)比較結(jié)果h0~h3進(jìn)行或運(yùn)算。假設(shè)該或運(yùn)算的結(jié)果為hit。hit表示是否被高速緩沖存儲(chǔ)器命中。
選擇器35從被選擇的組中的通路0~7的行數(shù)據(jù)中,選擇命中的通路的行數(shù)據(jù)。
選擇器36從由選擇器35選擇的32字的行數(shù)據(jù)中,選擇由字索引所表示的1個(gè)字。
多路復(fù)用器37在將數(shù)據(jù)寫(xiě)入高速緩存項(xiàng)目時(shí),向通路0~7中的1個(gè)輸出寫(xiě)入的數(shù)據(jù)。該寫(xiě)入數(shù)據(jù)可以以字為單位。
控制部38在內(nèi)部具有通路寄存器371,對(duì)整個(gè)高速緩沖存儲(chǔ)器3進(jìn)行控制。通路寄存器371是用于保持?jǐn)?shù)據(jù)的寄存器,該數(shù)據(jù)表示通路0~7中的激活通路??刂撇?8對(duì)由通路寄存器371所示出的激活通路,無(wú)限制地控制作為高速緩沖存儲(chǔ)器的所有功能,對(duì)非激活通路限制置換的功能。
圖3是表示通路寄存器371的位結(jié)構(gòu)的示意圖。如圖3所示,通路寄存器371是32位寄存器,它的最低8位保持對(duì)應(yīng)于通路0~7的W0標(biāo)志~W7標(biāo)志。例如,W0標(biāo)志為1時(shí),表示通路0是激活通路,為0時(shí),表示通路0是非激活通路。W1標(biāo)志~W7標(biāo)志也相同。以下將W0標(biāo)志~W7標(biāo)志的集合稱(chēng)為激活通路數(shù)據(jù)。該通路寄存器371可以從處理器1直接讀寫(xiě),成為各任務(wù)的上下文的一部分。即每個(gè)任務(wù)具有激活通路數(shù)據(jù),通過(guò)任務(wù)切換,通路寄存器371的內(nèi)容被改寫(xiě)為對(duì)應(yīng)于正在運(yùn)行的任務(wù)的激活通路數(shù)據(jù)。
圖4是表示通路寄存器371與通路之間的對(duì)應(yīng)關(guān)系的示意圖。在圖4左側(cè),由通路寄存器371中所保持的激活通路數(shù)據(jù)為“00111000”,因此通路2、3、4為激活通路,通路0、1、5、6、7成為非激活。在任務(wù)切換時(shí),通路寄存器371例如被改寫(xiě)為圖4右側(cè)所示的激活通路數(shù)據(jù)。圖4右側(cè)中,通路5~7為激活通路,0~4為非激活通路。
圖5是表示控制部38中的置換處理的流程圖。在圖5中,控制部38對(duì)是否發(fā)生了非命中進(jìn)行判定(S51),當(dāng)判定為發(fā)生非命中時(shí),則從由組索引所選擇的組中的4個(gè)通路的高速緩存項(xiàng)目中選擇一個(gè)置換對(duì)象(步驟S52)。該置換對(duì)象的選擇可以采用LRU方式。
而且,控制部38還參照通路寄存器371,判定被選擇的通路是否激活(S53),當(dāng)沒(méi)有激活時(shí),則返回步驟S52,重新選擇其他通路的高速緩存項(xiàng)目??刂撇?8對(duì)被選擇的激活通路的高速緩存項(xiàng)目進(jìn)行置換(S54)。
這樣,控制部38對(duì)通路寄存器371示出的非激活通路限制置換;控制部38對(duì)激活通路不限制置換,而對(duì)作為高速緩沖存儲(chǔ)器的所有功能進(jìn)行控制。這里,限制置換就相當(dāng)于禁止置換。
圖6是表示處理器1中的任務(wù)切換處理的流程圖。任務(wù)切換處理因時(shí)間的經(jīng)過(guò)及事件的發(fā)生而被啟動(dòng)。在圖6中,處理器1將當(dāng)前正在運(yùn)行的任務(wù)的上下文保留在內(nèi)存2中的例如堆棧區(qū)(步驟S61),接著使下面應(yīng)該運(yùn)行的任務(wù)的上下文從堆棧區(qū)恢復(fù)(步驟S62)。這里,如圖7所示,堆棧區(qū)被確保在內(nèi)存2,是用于存儲(chǔ)各任務(wù)的上下文的區(qū)域。各任務(wù)的上下文包括處理器的通用寄存器的數(shù)據(jù)、各種控制寄存器的數(shù)據(jù),并在本實(shí)施方式中還包括保存在通路寄存器中的激活通路數(shù)據(jù)。
這樣,通路寄存器371在進(jìn)行任務(wù)切換時(shí)被改寫(xiě),因此總是保持與正在運(yùn)行的任務(wù)對(duì)應(yīng)的激活通路數(shù)據(jù)。
如上所述,根據(jù)本實(shí)施方式的高速緩沖存儲(chǔ)器,從被處理器1運(yùn)行的任務(wù)來(lái)看,無(wú)論是對(duì)激活通路還是非激活通路,都可以向高速緩沖存儲(chǔ)器進(jìn)行讀及寫(xiě),但對(duì)于非命中時(shí)成為置換對(duì)象的通路,只限于激活通路。
例如,在圖4中,假設(shè)該圖左側(cè)為任務(wù)1運(yùn)行時(shí)的激活通路,右側(cè)為任務(wù)2運(yùn)行時(shí)的激活通路。隨著任務(wù)運(yùn)行的經(jīng)過(guò),任務(wù)1的高速緩存數(shù)據(jù)將被逐漸保存到通路2~3,任務(wù)2的高速緩存數(shù)據(jù)將被逐漸存放到通路4~7。換句話說(shuō),通路2~3中保存的任務(wù)1的高速緩存數(shù)據(jù)不會(huì)因任務(wù)2的運(yùn)行而被逐出(不被置換)。通路4~7中保存的任務(wù)2的高速緩存數(shù)據(jù)也不會(huì)因任務(wù)1的運(yùn)行而被逐出(不被置換)。這樣,就可以消除這樣一個(gè)問(wèn)題,即隨著任務(wù)的切換,任務(wù)1中所需要的高速緩存數(shù)據(jù)被其他任務(wù)置換,而再次運(yùn)行任務(wù)1時(shí)又將被逐出的數(shù)據(jù)置換到高速緩沖存儲(chǔ)器的問(wèn)題。從而可以減少任務(wù)切換引起的置換的發(fā)生,抑制其他任務(wù)造成的影響。
<變形例>
另外,根據(jù)本發(fā)明的高速緩沖存儲(chǔ)器不限于上述實(shí)施方式的結(jié)構(gòu),而還可以有各種變化。下面,對(duì)幾個(gè)變形例進(jìn)行說(shuō)明。
(1)對(duì)于多個(gè)任務(wù)與多個(gè)通路的對(duì)應(yīng)關(guān)系,可以讓由1個(gè)任務(wù)獨(dú)占的通路與由多個(gè)任務(wù)共享的通路混合存在。例如,圖4中,假設(shè)任務(wù)1獨(dú)占通路2~4,任務(wù)2獨(dú)占通路5~7,其他任務(wù)共享通路0、1。此時(shí),因?yàn)槿蝿?wù)1及2獨(dú)占通路,可以減少任務(wù)切換造成的高速緩存缺失,所以適合需要實(shí)時(shí)性的處理。任務(wù)1及2以外的任務(wù),則適合不需要實(shí)時(shí)性的處理等。
(2)在上述實(shí)施方式中,控制部38對(duì)激活通路控制高速緩沖存儲(chǔ)器的所有功能,對(duì)非激活通路禁止置換,但并不只限于此。
例如,控制部38也可以采用這樣一個(gè)結(jié)構(gòu)對(duì)通路寄存器371示出的非激活通路,禁止更新其狀態(tài)的結(jié)構(gòu)。例如,可以通過(guò)禁止表示通路狀態(tài)的標(biāo)志類(lèi)的更新,防止任務(wù)切換對(duì)非激活通路的影響。
此外,控制部38還可以采用這樣一個(gè)結(jié)構(gòu)對(duì)由通路寄存器371所示出的非激活通路,禁止更新表示其存取順序信息的結(jié)構(gòu)。這樣,由于禁止更新表示存取順序的信息,置換順序?qū)⒉粫?huì)受其他任務(wù)的運(yùn)行的影響。
或者,控制部38也可以對(duì)非激活通路禁止所有功能。此時(shí),可以使輸出啟用信號(hào)變?yōu)榻?,以禁止非激活通路的?biāo)記輸出。這樣,可以減少非激活通路的耗電量。此外,當(dāng)禁止所有功能時(shí),最好讓任務(wù)與通路對(duì)應(yīng)起來(lái),以使各任務(wù)獨(dú)占通路,而不是共享。這樣,可以防止內(nèi)存與高速緩沖存儲(chǔ)器之間數(shù)據(jù)發(fā)生矛盾。
再有,控制部38除了禁止置換外,還可以采用這樣一個(gè)結(jié)構(gòu)不更新用于表示存取順序的LRU的順序數(shù)據(jù)。
(3)也可以采用這樣一個(gè)結(jié)構(gòu)當(dāng)通路寄存器371的內(nèi)容被更新時(shí),重置LRU方式中使用的存取順序信息。
(4)此外,控制部38還可以采用這樣一個(gè)結(jié)構(gòu)限制置換次數(shù),以取代禁止置換的結(jié)構(gòu);禁止對(duì)通路中確定的高速緩存項(xiàng)目的置換,而對(duì)其他高速緩存項(xiàng)目進(jìn)行置換。
(5)上述實(shí)施方式中,以8路組聯(lián)的高速緩沖存儲(chǔ)器為例進(jìn)行了說(shuō)明,但通路數(shù)既可以是4路也可以是16路,無(wú)論幾路都可以。同時(shí),上述實(shí)施方式中以組數(shù)16為例進(jìn)行說(shuō)明,但組數(shù)也是無(wú)論幾組都可以。
(6)上述實(shí)施方式中,以組聯(lián)的高速緩沖存儲(chǔ)器為例進(jìn)行了說(shuō)明,但也可以是全聯(lián)方式的高速緩沖存儲(chǔ)器。當(dāng)全聯(lián)方式時(shí),可以說(shuō)組是一個(gè)套。
(7)圖4所示的激活通路數(shù)據(jù),也可以由操作系統(tǒng)來(lái)分配到各個(gè)任務(wù)。即操作系統(tǒng)生成運(yùn)行對(duì)象的任務(wù)時(shí),對(duì)該任務(wù)分配應(yīng)該使其激活的通路,并根據(jù)分配的結(jié)果生成該任務(wù)的激活通路數(shù)據(jù)。而且,如圖7所示,操作系統(tǒng)可以將所生成的激活通路數(shù)據(jù)設(shè)置為該任務(wù)的上下文數(shù)據(jù)的一部分。
(8)當(dāng)多個(gè)任務(wù)共享內(nèi)存數(shù)據(jù)時(shí),這些任務(wù)應(yīng)該共享完全相同的通路。例如,當(dāng)任務(wù)A與任務(wù)B共享內(nèi)存數(shù)據(jù)時(shí),如果對(duì)任務(wù)A分配了通路5、6、7,則操作系統(tǒng)可以對(duì)任務(wù)B也分配通路5、6、7。
(實(shí)施方式2)通過(guò)實(shí)施方式1,說(shuō)明了通過(guò)任務(wù)切換來(lái)改寫(xiě)通路寄存器371的結(jié)構(gòu)。下面,通過(guò)本實(shí)施方式,對(duì)高速緩沖存儲(chǔ)器中判別任務(wù)并根據(jù)判別結(jié)果改寫(xiě)通路寄存器371的結(jié)構(gòu)進(jìn)行說(shuō)明。此外,實(shí)施方式1中置換算法采用眾所周知的LRU方式,而本實(shí)施方式中則對(duì)進(jìn)行偽LRU方式的結(jié)構(gòu)進(jìn)行說(shuō)明,該偽LRU方式采用1位標(biāo)志取代表示存取順序的數(shù)據(jù)。
圖8是表示本發(fā)明的實(shí)施方式2中的高速緩沖存儲(chǔ)器的結(jié)構(gòu)的方框圖。圖8所示的高速緩沖存儲(chǔ)器與圖2所示的結(jié)構(gòu)相比,不同之處在于包括通路131a~131d通路,取代了31a~31d;包括控制部138,取代了控制部38。下面,省略相同點(diǎn)的說(shuō)明,以不同點(diǎn)為主進(jìn)行說(shuō)明。
通路131a與通路31a相比,不同之處在于各高速緩存項(xiàng)目中,增加了使用標(biāo)志和新標(biāo)志。高速緩存項(xiàng)目的位結(jié)構(gòu)如圖9所示。1個(gè)高速緩存項(xiàng)目保持有效標(biāo)志V、21位的標(biāo)記、128字節(jié)的行數(shù)據(jù)、使用標(biāo)志U、新標(biāo)志N及臟標(biāo)志D。其中,使用標(biāo)志U表示是否有過(guò)對(duì)該高速緩存項(xiàng)目的存取,在非命中引起的置換時(shí),被用于代替組內(nèi)8個(gè)高速緩存項(xiàng)目中的存取順序。更準(zhǔn)確地說(shuō),使用標(biāo)志U為1意味著曾有過(guò)存取,為0則意味著未曾有過(guò)存取。若組內(nèi)的8個(gè)使用標(biāo)志全部變?yōu)?,則就被重置為0,因此是表示組內(nèi)8個(gè)高速緩存項(xiàng)目中有無(wú)使用的相對(duì)值。換句話說(shuō),使用標(biāo)志U表示被存取的時(shí)間是舊還是新的兩種相對(duì)狀態(tài)。即,使用標(biāo)志U為1的高速緩存項(xiàng)目意味著,與使用標(biāo)志為0的高速緩存項(xiàng)目相比,它是新被存取的。此外,新標(biāo)志N在剛置換后(或剛填充后)被設(shè)置為初始值1,當(dāng)有了對(duì)該高速緩存項(xiàng)目的存取后,則被重置為0。即新標(biāo)志N的1意味著該高速緩存項(xiàng)目被置換(或填充)后一次也沒(méi)有被存取,處于新的狀態(tài)。
控制部138與控制部38相比,不同之處在于增加了設(shè)置部372,以及進(jìn)行使用標(biāo)志U及新標(biāo)志N的設(shè)置及更新。
設(shè)置部372對(duì)處理器1中運(yùn)行的任務(wù)進(jìn)行判別,并將對(duì)應(yīng)于已判別的任務(wù)的激活通路數(shù)據(jù)設(shè)置到通路寄存器371。
<設(shè)置部的結(jié)構(gòu)>
圖10是表示設(shè)置部372結(jié)構(gòu)例的方框圖。如圖10所示,設(shè)置部372具有判別部100a~100d、激活通路數(shù)據(jù)保持部110a~110d和選擇器111。
判別部100a具有起始地址保持部101、結(jié)束地址保保持部102、比較器103、104和與門(mén)電路105,對(duì)正在運(yùn)行的任務(wù)是否是任務(wù)1進(jìn)行判別。
起始地址保持部101、結(jié)束地址保持部102可以由處理器1進(jìn)行讀寫(xiě),分別保持內(nèi)存2中所保存的任務(wù)1的起始地址和結(jié)束地址。該起始地址及結(jié)束地址,事先被處理器1寫(xiě)入,并可以進(jìn)行動(dòng)態(tài)更改。
比較器103將從處理器1輸出的讀取指令地址(IF地址)和從起始地址保持部101輸出的起始地址進(jìn)行比較,在IF地址比起始地址大的情況下,輸出1。
比較器104將從處理器1輸出的IF地址和從結(jié)束地址保持部102輸出的結(jié)束地址進(jìn)行比較,在結(jié)束地址比IF地址大的情況下,輸出1。
與門(mén)電路105再比較器103及104的比較結(jié)果均為1時(shí),即IF地址讀取到任務(wù)1的指令時(shí),表示正在運(yùn)行的任務(wù)為任務(wù)1。
判別部100b~100d也一樣,對(duì)正在運(yùn)行的任務(wù)是否為任務(wù)2~3進(jìn)行判別。
激活通路數(shù)據(jù)保持部110a~110d可以從處理器1讀寫(xiě),保持對(duì)應(yīng)于判別部100a~100d的任務(wù)的激活通路數(shù)據(jù)。該激活通路數(shù)據(jù)可以事先由處理器1寫(xiě)入,并可動(dòng)態(tài)更改。
選擇器111按照判別部100a~100d的判別結(jié)果,選擇對(duì)應(yīng)于正在運(yùn)行的任務(wù)的激活通路數(shù)據(jù),輸出到通路寄存器371。這樣,通路寄存器371保持對(duì)應(yīng)于正在運(yùn)行的任務(wù)的激活通路數(shù)據(jù)。
<使用標(biāo)志的更新例>
圖11是表示由控制部138更新使用標(biāo)志U的更新例的示意圖。圖11中,為說(shuō)明方便起見(jiàn),以4路而不是8路為例進(jìn)行說(shuō)明。圖11的上段、中段、下段表示構(gòu)成跨通路0~3的組N的4個(gè)高速緩存項(xiàng)目。4個(gè)高速緩存項(xiàng)目右端的1或0分別為使用標(biāo)志的值。將該4個(gè)使用標(biāo)志U記為U0~U3。
圖11的上段中,(U0~U3)=(1、0、1、0),意味著通路0、2的高速緩存項(xiàng)目曾被存取過(guò)、通路1、3的高速緩存項(xiàng)目沒(méi)有被存取過(guò)。
在此狀態(tài)下,當(dāng)內(nèi)存存取命中組N內(nèi)的通路1的高速緩存項(xiàng)目時(shí),如圖11中段所示,被更新為(U0~U3)=(1、1、1、0)。即如實(shí)線所示,通路1的使用標(biāo)志U1從0更新為1。
而在圖11中段的狀態(tài)下,內(nèi)存存取命中組N內(nèi)的通路3的高速緩存項(xiàng)目時(shí),如圖11下段所示,被更新為(U0~U3)=(0、0、0、1)。即如實(shí)線所示,通路3的使用標(biāo)志U1從0被更新為1。并且,如虛線所示,除通路3以外的使用標(biāo)志U0~U2從1被更新為0。這樣,就意味著,與通路0~2的各高速緩存項(xiàng)目相比,通路3的高速緩存項(xiàng)目是新被存取的的情況。
控制部138在高速緩存缺失時(shí),根據(jù)使用標(biāo)志,決定置換對(duì)象的高速緩存項(xiàng)目,來(lái)進(jìn)行置換。例如,控制部138在圖11上段中,將通路1與通路3中的謀一個(gè)決定為置換對(duì)象,在圖11中段,將通路3決定為置換對(duì)象,在圖11下段,將通路0~2中的謀一個(gè)決定為置換對(duì)象。
<使用標(biāo)志、新標(biāo)志的更新處理>
圖12是表示控制部138的使用標(biāo)志及新標(biāo)志的標(biāo)志更新處理的流程圖。圖12中,假設(shè)有效標(biāo)志為0(無(wú)效)的高速緩存項(xiàng)目的使用標(biāo)志U被初始化為0。
圖12中,當(dāng)高速緩存命中時(shí)(步驟S61),控制部138將由組索引所選擇的組中命中的通路的使用標(biāo)志U設(shè)置為1(步驟S62),若被選擇的組內(nèi)命中的通路的高速緩存項(xiàng)目的新標(biāo)志為1,則重置為0(步驟S171)。
并且,控制部138讀出該組內(nèi)其他通路的使用標(biāo)志U(步驟S63),對(duì)所讀出的使用標(biāo)志U是否均為1進(jìn)行判定(步驟S64),如果不均為1,則結(jié)束;如果均為1,則將其他通路的所有的使用標(biāo)志U都重置為0(步驟S65)。
這樣,控制部138如圖11所示的更新例那樣更新使用標(biāo)志。并且,新標(biāo)志N在高速緩存項(xiàng)目的置換后,在第一次被存取時(shí)被重置。
<置換處理>
圖13是表示控制部138的置換處理流程的示意圖。圖13中,控制部138載內(nèi)存存取錯(cuò)誤時(shí)(步驟S91),讀出由組索引所選擇的組中的8個(gè)通路的使用標(biāo)志U和8個(gè)新標(biāo)志N0~N7(步驟S92),并判定所讀出的8個(gè)新標(biāo)志N0~N7是否均為1(步驟S 161),在均為1時(shí),前進(jìn)到步驟S93,在不均為1(有0)時(shí),從使用標(biāo)志U為0的通路中剔除新標(biāo)志N為1的通路(步驟S162)。
而且,控制部138選擇使用標(biāo)志U為0的一個(gè)通路(步驟S93)。此時(shí),當(dāng)有多個(gè)使用標(biāo)志U為0的通路時(shí),則控制部138隨機(jī)選擇1個(gè),或以循環(huán)方式選擇1個(gè)。進(jìn)而,控制部138以該組中被選擇的通路的高速緩存項(xiàng)目為對(duì)象進(jìn)行置換(步驟S94),置換后將該高速緩存項(xiàng)目的使用標(biāo)志U初始化為1,將新標(biāo)志初始化為1(步驟S95)。另外,此時(shí),有效標(biāo)志V、臟標(biāo)志D分別被初始化為1、0。此外,為了以循環(huán)方式來(lái)從使用標(biāo)志U為0的多個(gè)通路中選擇1個(gè)通路,采用以下方式即可控制部138將表示循環(huán)位置(所選擇的通路的位置)的數(shù)據(jù)保持在寄存器,并更新,從使用標(biāo)志U為0的通路中選擇下一個(gè)循環(huán)位置。
這樣,置換對(duì)象通過(guò)選擇新標(biāo)志為0且使用標(biāo)志為0的一個(gè)高速緩存項(xiàng)目而確定。但8個(gè)新標(biāo)志均為1時(shí),將從新標(biāo)志為1且使用標(biāo)志U為0的通路中選擇1個(gè)置換對(duì)象。由于這種置換算法,采用1位的使用標(biāo)志,取代以往的LRU方式中表示存取順序的數(shù)據(jù),所以因此可以稱(chēng)為偽LRU方式。
如上所述,根據(jù)本實(shí)施方式的高速緩沖存儲(chǔ)器,通過(guò)具備設(shè)置部372,高速緩沖存儲(chǔ)器本身可以判別正在運(yùn)行的任務(wù),將對(duì)應(yīng)于所判別的任務(wù)的激活通路數(shù)據(jù)設(shè)置到通路寄存器371,并根據(jù)各個(gè)任務(wù)進(jìn)行激活通路的切換。這樣,與實(shí)施方式1同樣,可以減少任務(wù)切換引起的無(wú)用的置換的發(fā)生,提高命中率。
此外,根據(jù)本實(shí)施方式的高速緩沖存儲(chǔ)器,對(duì)每個(gè)高速緩存項(xiàng)目設(shè)置1位的使用標(biāo)志,來(lái)取代以往的LRU方式中對(duì)各高速緩存項(xiàng)目設(shè)置表示存取順序的數(shù)據(jù)。這樣,就可以用更新使用標(biāo)志的簡(jiǎn)單的標(biāo)志更新電路(標(biāo)志更新部39)替換以往的更新存取順序數(shù)據(jù)的復(fù)雜的電路。同時(shí),在置換部40,可以通過(guò)選擇使用標(biāo)志為0的1個(gè)高速緩存項(xiàng)目,簡(jiǎn)便地確定置換對(duì)象。這樣,根據(jù)本實(shí)施方式的高速緩沖存儲(chǔ)器,可以在很大程度上縮減硬件規(guī)模。并且,獲得與以往的LRU幾乎同等的命中率。
而且,當(dāng)新標(biāo)志為1時(shí),本實(shí)施方式中的控制部138將該高速緩存項(xiàng)目從置換對(duì)象中剔除。其理由如下所示。即,即使使用標(biāo)志U的初始值為1,但在其他通路的使用標(biāo)志依次變?yōu)?的情況下,則將被重置為0。也就是說(shuō),即使是使用標(biāo)志U為0的高速緩存項(xiàng)目,置換后也可能一次也沒(méi)有被存取。當(dāng)使用標(biāo)志如此變?yōu)?時(shí),由于發(fā)生高速緩存缺失,則置換后一次也沒(méi)有被存取的高速緩存項(xiàng)目可能再次被選擇為置換對(duì)象。因此,通過(guò)設(shè)置新標(biāo)志N,可以防止置換后一次也沒(méi)有被存取的高速緩存項(xiàng)目被置換。
<變形例>
另外,本發(fā)明的高速緩沖存儲(chǔ)器不限于上述實(shí)施方式的結(jié)構(gòu),而且還可以有各種變化。下面,對(duì)幾個(gè)變形例進(jìn)行說(shuō)明。
(1)實(shí)施方式1的變形例(1)~(6)也可以適用于本實(shí)施方式。
(2)當(dāng)由處理器1輸出表示正在運(yùn)行的任務(wù)的任務(wù)編號(hào)(或線程編號(hào)、進(jìn)程編號(hào)等)時(shí),也可以采用這樣一個(gè)結(jié)構(gòu)具備保持及更新任務(wù)編號(hào)的任務(wù)編號(hào)保持部,取代上述判別部100a~100d。此時(shí),選擇器111只要選擇對(duì)應(yīng)于任務(wù)編號(hào)的激活通路數(shù)據(jù)即可。
(3)控制部138如圖11下段所示,組內(nèi)其他通路的使用標(biāo)志U如果均為1則置為0,將命中的通路本身的使用標(biāo)志U更新為1,但也可以采用這樣一個(gè)結(jié)構(gòu),取代該結(jié)構(gòu),所述這樣的一個(gè)結(jié)構(gòu)是命中的通路本身的使用標(biāo)志也更新為0。
(4)也可以采用這樣一個(gè)結(jié)構(gòu),即,當(dāng)通路寄存器371的內(nèi)容被更新時(shí),控制部138重置所有的使用標(biāo)志。而且,在使用標(biāo)志重置的同時(shí),控制部138還可以重置上述循環(huán)方式中表示循環(huán)位置的信息,上述循環(huán)方式是用于從使用標(biāo)志U為0的多個(gè)通路中選擇1個(gè)的方式。
(5)也可以采用這樣一個(gè)結(jié)構(gòu)不具備上述實(shí)施方式中的新標(biāo)志。
(實(shí)施方式3)實(shí)施方式1、2中公開(kāi)了高速緩存項(xiàng)目的置換單位是以行(128字節(jié))單位構(gòu)成的結(jié)構(gòu),而本實(shí)施方式對(duì)這樣一個(gè)結(jié)構(gòu)進(jìn)行說(shuō)明,即,置換單位按各個(gè)任務(wù),可在行單位和子行(32字節(jié))單位之間可以進(jìn)行切換。
圖14是表示本發(fā)明的實(shí)施方式3中高速緩沖存儲(chǔ)器的結(jié)構(gòu)的方框圖。圖14所示的高速緩沖存儲(chǔ)器與圖8所示的結(jié)構(gòu)相比,不同之處在于包括通路231a~231h,來(lái)取代了通路131a~131h;增加了選擇器233a~233h;包括控制部238,來(lái)取代了控制部138。下面,省略相同點(diǎn)的說(shuō)明,以不同點(diǎn)為主進(jìn)行說(shuō)明。
通路231a~231h與圖8的通路131a~131h相比,不同之處在于在高速緩存項(xiàng)目?jī)?nèi)按各子行保持有效標(biāo)志和臟標(biāo)志,而不是按每1位保持。高速緩存項(xiàng)目的位結(jié)構(gòu)如圖15所示。如圖15所示,1個(gè)高速緩存項(xiàng)目保持有效標(biāo)志V0~V3、標(biāo)記、行數(shù)據(jù)、使用標(biāo)志U、新標(biāo)志N、臟標(biāo)志D0~D3。關(guān)于使用標(biāo)志U及新標(biāo)志前面已經(jīng)說(shuō)明,這里省略。行數(shù)據(jù)(128字節(jié))由4個(gè)子行(32字節(jié))組成。有效標(biāo)志V0~V3對(duì)應(yīng)于4個(gè)子行0~3,表示對(duì)應(yīng)的子行是否有效。臟標(biāo)志D0~D3對(duì)應(yīng)于4個(gè)子行0~3,表示是否曾經(jīng)向?qū)?yīng)的子行寫(xiě)入。有效標(biāo)志及臟標(biāo)志按子行單位配置,這是為了使置換也可以按子行單位進(jìn)行。此外,回寫(xiě)(或直寫(xiě))也可以按子行單位進(jìn)行。
對(duì)于選擇器233a,由通路231a輸入與由源索引SI所選擇的組對(duì)應(yīng)的有效標(biāo)志V0~V3和字索引WI的最高2位,并選擇與由該最高2位所指定的子行對(duì)應(yīng)的有效標(biāo)志。選擇器233b~233h也一樣,只是分別對(duì)應(yīng)于通路231b~231h。這樣,使選擇器233a~233h可以按子行單位判定是否命中。
控制部238與控制部138相比,不同之處在于,刪除了設(shè)置部372以及增加了RS(置換大小)寄存器373。
刪除設(shè)置部372是因?yàn)橥芳拇嫫?71與實(shí)施方式1同樣,在任務(wù)切換時(shí)被改寫(xiě)。
RS寄存器373按每個(gè)通路保持表示置換大小的置換大小數(shù)據(jù)。RS寄存器373的位結(jié)構(gòu)例如圖16所示。圖16中,RS寄存器373保持由RS0~RS7組成的置換大小數(shù)據(jù)。在RS0~RS7的各位為1時(shí),向控制部238指示置換大小為子行(32字節(jié));在為0時(shí),向控制部238指示置換大小為行(128字節(jié))。該RS寄存器373與通路寄存器371同樣,可以由處理器1讀寫(xiě),作為上下文的一部分在任務(wù)切換時(shí)被改寫(xiě)。這樣,就可以按每個(gè)通路且按各個(gè)任務(wù)設(shè)置置換大小是行還是子行。
圖17是表示控制部238的標(biāo)志更新處理的流程圖。圖17與圖12所示的流程圖相比,不同之處在于,增加了用于按子行單位設(shè)置臟標(biāo)志的步驟S175~S177。即控制部238在曾經(jīng)發(fā)生對(duì)高速緩沖存儲(chǔ)器的寫(xiě)入時(shí)(步驟S175),對(duì)寫(xiě)入的子行進(jìn)行判別(步驟S176),并將對(duì)應(yīng)于被判別的子行的臟標(biāo)志設(shè)置為1(步驟S177)。步驟S175~S177的處理,例如在控制部238按每個(gè)通路配備1個(gè)輸入4個(gè)輸出的多路復(fù)用器,從而能簡(jiǎn)單地實(shí)現(xiàn)。該多路復(fù)用器可以采用以下結(jié)構(gòu)被輸入邏輯“1”,使4個(gè)輸出對(duì)應(yīng)于高速緩存項(xiàng)目中的臟標(biāo)志D0~D3,由字索引WI的最高2位來(lái)控制輸出目的地。
這樣,控制部238根據(jù)高速緩存寫(xiě)對(duì)以子行為單位配置的臟標(biāo)志D0~D3進(jìn)行更新。
圖18是表示控制部238中的置換處理的流程圖。圖18與圖13所示的流程圖相比,不同之處在于具有步驟S181~183,來(lái)取代了步驟S94;具有步驟S95a,來(lái)取代了步驟S95。
控制部238從RS寄存器373讀出與由步驟S93所選擇的通路對(duì)應(yīng)的RS標(biāo)志,判定作為置換大小被指定了子行還是行(步驟S181),并在指定子行的情況下,置換該通路的子行(步驟S182);在指定行的情況下,置換該通路的行(步驟S182)。而且,控制部238對(duì)與被置換的子行或行對(duì)應(yīng)的有效標(biāo)志及臟標(biāo)志進(jìn)行初期化(步驟S95a)。即把與被置換的子行對(duì)應(yīng)的有效標(biāo)志、臟標(biāo)志分別設(shè)置為1、0。當(dāng)按行單位置換時(shí),將與4個(gè)子行對(duì)應(yīng)的4個(gè)有效標(biāo)志、臟標(biāo)志分別設(shè)置為1、0。
如上所述,根據(jù)本實(shí)施方式的高速緩沖存儲(chǔ)器,在實(shí)施方式1或2的基礎(chǔ)上,還可以按每個(gè)通路及每個(gè)任務(wù)設(shè)置行置換單位和子行置換單位,因此可以根據(jù)任務(wù)所需要的數(shù)據(jù)大小切換置換單位,由此可以進(jìn)一步減少高速緩存缺失。例如,假設(shè)任務(wù)1執(zhí)行音頻數(shù)據(jù)的解碼/編碼處理,任務(wù)2執(zhí)行視頻數(shù)據(jù)的解碼/編碼處理。此時(shí),任務(wù)1可以以行大小為置換單位,任務(wù)2可以以子行為置換單位。這樣,可以提高任務(wù)1、2的高速緩存利用效率。這是因?yàn)槿蝿?wù)1序列存取的數(shù)據(jù)的長(zhǎng)度比較長(zhǎng),任務(wù)2序列存取的數(shù)據(jù)的長(zhǎng)度比較短。
<變形例>
另外,本發(fā)明的高速緩沖存儲(chǔ)器不限于上述實(shí)施方式的結(jié)構(gòu),還可以有各種變形。下面,對(duì)幾個(gè)變形例進(jìn)行說(shuō)明。
(1)實(shí)施方式2中的變形例(1)、(3)、(4)、(5)也可以適用于本實(shí)施方式。
(2)上述實(shí)施方式中,假定子行的大小為行的大小的1/4,但也可以是1/2、1/8、1/16等其他大小。此時(shí),各高速緩存項(xiàng)目分別保持與子行相同數(shù)量的有效標(biāo)志及臟標(biāo)志即可。
(實(shí)施方式4)實(shí)施方式1~3說(shuō)明了對(duì)非激活通路至少限制置換的實(shí)例,而本實(shí)施方式中,進(jìn)一步說(shuō)明以下結(jié)構(gòu)禁止在比較器中比較、和禁止從高速緩存項(xiàng)目輸出標(biāo)記的結(jié)構(gòu),該比較器是比較器32a~32h中對(duì)應(yīng)于非激活通路的比較器,該高速緩存項(xiàng)目對(duì)應(yīng)于非激活通路。
為此,本實(shí)施方式的高速緩沖存儲(chǔ)器的結(jié)構(gòu)是在如圖14所示的控制部238內(nèi)部增加了比較控制部372。
圖19是表示比較控制部372及通路231a~231h關(guān)鍵部分的結(jié)構(gòu)的方框圖。
在圖19中,高速緩存地址項(xiàng)目300a~300h被包含在高速緩沖存儲(chǔ)器中的通路0~8中,分別保持與組數(shù)相同數(shù)量(實(shí)施方式中為16)的標(biāo)記。高速緩存地址項(xiàng)目300a被包含在通路0中,包括16個(gè)標(biāo)記保持部301~316和16個(gè)與門(mén)電路321~336。其他高速緩存地址項(xiàng)目300b~300h也相同。
與門(mén)電路321對(duì)應(yīng)于16個(gè)組中的組0,通過(guò)對(duì)組索引進(jìn)行解碼的解碼器30,組0對(duì)選擇信號(hào)(set0)與啟用信號(hào)E0進(jìn)行與運(yùn)算。這樣,與門(mén)電路321只有在選擇信號(hào)set0=1、且啟用信號(hào)E0=1時(shí),將從標(biāo)記保持部301的標(biāo)記輸出和比較器32a設(shè)為啟用。
比較器32a~32h分別具有啟用端子EN,當(dāng)啟用端子的輸入為1時(shí),執(zhí)行地址寄存器20中的標(biāo)記地址與來(lái)自高速緩存地址項(xiàng)目301的標(biāo)記的比較。
比較控制部372的結(jié)構(gòu),具備對(duì)應(yīng)于8個(gè)通路的8個(gè)啟用電路381a~381h和次數(shù)計(jì)數(shù)器382,在比較器32a~32h中進(jìn)行控制,使得最多進(jìn)行兩次標(biāo)記比較,第一次標(biāo)記比較中,將與由通路寄存器371示出的激活通路對(duì)應(yīng)的的比較器設(shè)為啟用,且將與非激活通路對(duì)應(yīng)的比較器設(shè)為禁用,由此將激活通路的標(biāo)記作為比較對(duì)象,并且,當(dāng)?shù)谝淮螛?biāo)記比較中被判定為非命中時(shí),將與激活通路對(duì)應(yīng)的比較器設(shè)為禁用,通過(guò)將與激活通路對(duì)應(yīng)的比較器設(shè)為啟用,由此將非激活通路的標(biāo)記作為比較對(duì)象,進(jìn)行第二次標(biāo)記比較。此外,在控制各比較器的啟用/禁用的同時(shí),來(lái)自通路231a~231h的標(biāo)記輸出也控制啟用/禁用。由此減少被禁用的比較器及標(biāo)記輸出的耗電量。
啟用電路381a~381h對(duì)應(yīng)于通路231a~231h,按照通路寄存器371中保持的激活通路數(shù)據(jù),在第一次標(biāo)記比較中,只將比較器32a~32h中與激活通路對(duì)應(yīng)的比較器設(shè)為啟用,在第二次標(biāo)記比較中,只將與非激活通路對(duì)應(yīng)的比較器設(shè)為啟用。
即啟用電路381a~381h生成啟用信號(hào)E0~E7,由該啟用信號(hào)E0~E7,將標(biāo)記輸出和8個(gè)比較器32a~32h設(shè)置為啟用/禁用,該標(biāo)記輸出來(lái)自與高速緩沖存儲(chǔ)器中通路0~8對(duì)應(yīng)的8個(gè)高速緩存地址項(xiàng)目。例如,啟用電路381a由互斥性邏輯和電路,生成表示通路0是否激活的W0位、和按照次數(shù)計(jì)數(shù)器382的計(jì)數(shù)值生成啟用信號(hào)E0。
次數(shù)計(jì)數(shù)器382是計(jì)數(shù)比較次數(shù)的計(jì)數(shù)器,按0(第一次)、1(第二次)計(jì)數(shù)。但當(dāng)?shù)谝淮蚊袝r(shí),不予計(jì)數(shù)。
圖20所示為以次數(shù)計(jì)數(shù)器382的計(jì)數(shù)值和激活通路數(shù)據(jù)Wn(n=0~7)為輸入、以啟用信號(hào)En為輸出的啟用電路控制邏輯的真值表。在圖20中,例如,在通路0~2激活、通路3~7非激活(W0=1)的情況下,在第一次的比較中,啟用信號(hào)E0~E2為1(啟用),啟用信號(hào)E3~E7為禁用。當(dāng)?shù)谝淮伪容^中命中時(shí),次數(shù)計(jì)數(shù)器不計(jì)數(shù),因此不進(jìn)行第二次比較。當(dāng)?shù)谝淮伪容^中沒(méi)有命中時(shí),次數(shù)計(jì)數(shù)器計(jì)數(shù),所以進(jìn)行第二次比較。此時(shí),在第二次的比較中,啟用信號(hào)E0~E2設(shè)為0(禁用),啟用信號(hào)E3~E7為1(啟用)。
根據(jù)上述結(jié)構(gòu),在第一次標(biāo)記比較中,不將非激活通路作為比較對(duì)象,因此可以減少比較器的耗電量及標(biāo)記輸出的耗電量。而且,當(dāng)?shù)谝淮螛?biāo)記比較中沒(méi)有命中時(shí),則只以非激活通路為比較對(duì)象進(jìn)行第二次標(biāo)記比較,因此可以有效利用所有通路的高速緩存數(shù)據(jù)。
另外,在第二次的比較中,也可以將所有的比較器設(shè)為啟用。此時(shí),在第一次比較中命中的情況下,不進(jìn)行第二次比較,因而可以減少耗電量。即,對(duì)每個(gè)任務(wù)分配激活通路,因此在第一次比較中可以獲得較高的命中率。
此外,也可以采用不進(jìn)行第二次比較的結(jié)構(gòu)。由于第一次的比較中可以獲得較高的命中率,因而具有減少耗電量的效果。
產(chǎn)業(yè)上的可利用性本發(fā)明適用于用于提高內(nèi)存存取速度的高速緩沖存儲(chǔ)器及其控制方法,例如,可適用于單片高速緩沖存儲(chǔ)器、芯片外高速緩沖存儲(chǔ)器、數(shù)據(jù)高速緩沖存儲(chǔ)器、指令高速緩沖存儲(chǔ)器等。
權(quán)利要求
1.一種N-路組聯(lián)方式的高速緩沖存儲(chǔ)器,其特征在于,包括控制寄存器,示出N個(gè)通路中的1個(gè)或多個(gè)通路;控制單元,使控制寄存器示出的通路激活;以及更新單元,對(duì)控制寄存器的內(nèi)容進(jìn)行更新。
2.如權(quán)利要求1所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元對(duì)控制寄存器示出的激活通路以外的通路,至少限制置換。
3.如權(quán)利要求1所述的高速緩沖存儲(chǔ)器,其特征在于,還包括標(biāo)記保持單元,對(duì)每個(gè)通路設(shè)置,并將高速緩存數(shù)據(jù)的地址作為標(biāo)記保持;以及N個(gè)比較單元,通過(guò)比較標(biāo)記地址和N個(gè)標(biāo)記,判定是命中還是非命中,該標(biāo)記地址是由處理器輸出的內(nèi)存存取地址的高位部分,該N個(gè)標(biāo)記是由標(biāo)記保持單元輸出的標(biāo)記,上述控制單元將與控制寄存器示出的激活通路以外的通路對(duì)應(yīng)的比較單元設(shè)為禁用。
4.如權(quán)利要求3所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元還對(duì)與控制寄存器示出的激活通路以外的通路對(duì)應(yīng)的高速緩存地址保持單元,將向比較單元的標(biāo)記輸出設(shè)為禁用。
5.如權(quán)利要求3所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元當(dāng)由處理器輸出內(nèi)存存取地址時(shí),控制比較單元對(duì)該存取地址最多進(jìn)行兩次標(biāo)記比較,在第一次標(biāo)記比較中,將與由控制寄存器示出的激活通路以外的通路對(duì)應(yīng)的比較單元設(shè)為禁用,當(dāng)?shù)谝淮螛?biāo)記比較中被判定為非命中時(shí),不將與激活通路以外通路對(duì)應(yīng)的比較單元設(shè)為禁用,使之進(jìn)行第二次標(biāo)記比較。
6.如權(quán)利要求5所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元在上述第二次標(biāo)記比較中,將與激活通路對(duì)應(yīng)的比較單元設(shè)為禁用。
7.如權(quán)利要求2所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元對(duì)由控制寄存器示出的激活通路以外的通路,禁止其狀態(tài)的更新。
8.如權(quán)利要求2所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元對(duì)由控制寄存器示出的激活通路以外的通路,禁止表示其存取順序信息的更新。
9.如權(quán)利要求2所述的高速緩沖存儲(chǔ)器,其特征在于,上述高速緩沖存儲(chǔ)器還包括重置單元,當(dāng)控制寄存器的內(nèi)容被上述更新單元更新時(shí),將表示對(duì)通路的存取順序的信息進(jìn)行重置。
10.如權(quán)利要求9所述的高速緩沖存儲(chǔ)器,其特征在于上述表示存取順序的信息是每個(gè)高速緩存項(xiàng)目的1位數(shù)據(jù);上述高速緩沖存儲(chǔ)器還包括寄存器,保持表示循環(huán)位置的數(shù)據(jù),該循環(huán)位置用于以循環(huán)方式從可置換的多個(gè)通路中選擇1個(gè)通路;上述重置單元,當(dāng)由上述更新單元更新控制寄存器的內(nèi)容時(shí),重置上述寄存器。
11.如權(quán)利要求2所述的高速緩沖存儲(chǔ)器,其特征在于,上述更新單元包括保持單元,保持每個(gè)任務(wù)的通路數(shù)據(jù),該通路數(shù)據(jù)指定應(yīng)激活的通路;以及改寫(xiě)單元,改寫(xiě)上述控制寄存器,以保持與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù)。
12.如權(quán)利要求11所述的高速緩沖存儲(chǔ)器,其特征在于上述保持單元將上述通路數(shù)據(jù)作為內(nèi)存中存儲(chǔ)的每個(gè)任務(wù)的上下文數(shù)據(jù)的一部分而保持;上述改寫(xiě)單元在任務(wù)切換時(shí),將控制寄存器中的當(dāng)前任務(wù)的通路數(shù)據(jù)保留在內(nèi)存,并將下一任務(wù)的通路數(shù)據(jù)從內(nèi)存恢復(fù)到上述控制寄存器。
13.如權(quán)利要求12所述的高速緩沖存儲(chǔ)器,其特征在于上述保持單元保持每個(gè)任務(wù)的上述通路數(shù)據(jù),上述改寫(xiě)單元包括地址存儲(chǔ)單元,存儲(chǔ)內(nèi)存中所存儲(chǔ)的各任務(wù)的地址范圍;判別單元,根據(jù)地址存儲(chǔ)單元中所存儲(chǔ)的地址范圍和由處理器輸出的讀取指令地址,對(duì)正在運(yùn)行的任務(wù)進(jìn)行判別;選擇單元,從上述保持單元中選擇與被判別的正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù);以及寫(xiě)入單元,將被選擇的通路數(shù)據(jù)寫(xiě)入上述控制寄存器。
14.如權(quán)利要求12所述的高速緩沖存儲(chǔ)器,其特征在于上述保持單元保持每個(gè)任務(wù)的上述通路數(shù)據(jù);上述改寫(xiě)單元包括選擇單元,按照由處理器輸出的任務(wù)編號(hào),從上述保持單元選擇與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù);以及寫(xiě)入單元,將被選擇的通路數(shù)據(jù)寫(xiě)入上述控制寄存器。
15.如權(quán)利要求11所述的高速緩沖存儲(chǔ)器,其特征在于保持在上述保持單元的通路數(shù)據(jù)被操作系統(tǒng)分配給任務(wù)。
16.如權(quán)利要求1所述的高速緩沖存儲(chǔ)器,其特征在于上述高速緩沖存儲(chǔ)器可以在高速緩存項(xiàng)目的行大小和行大小的2的n次方分之1大小之間切換各通路中的置換單位;上述控制寄存器還示出每個(gè)通路的置換大??;上述控制單元以控制寄存器示出的置換大小為單位進(jìn)行置換控制。
17.如權(quán)利要求16所述的高速緩沖存儲(chǔ)器,其特征在于上述控制單元對(duì)由控制寄存器示出的激活通路以外的通路至少限制置換;對(duì)由控制寄存器示出的激活通路,以控制寄存器示出的大小為單位進(jìn)行置換。
18.如權(quán)利要求17所述的高速緩沖存儲(chǔ)器,其特征在于,上述更新單元包括保持單元,保持每個(gè)任務(wù)的通路數(shù)據(jù)和每個(gè)任務(wù)的置換大小,該通路數(shù)據(jù)指定應(yīng)激活的通路;以及改寫(xiě)單元,改寫(xiě)上述控制寄存器,以保持與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù)及置換大小。
19.如權(quán)利要求1所述的高速緩沖存儲(chǔ)器,其特征在于,還包括存儲(chǔ)單元,對(duì)保持作為高速緩存單位的數(shù)據(jù)的每個(gè)高速緩存項(xiàng)目,存儲(chǔ)表示有無(wú)存取的1位的存取信息;以及選擇單元,從與表示無(wú)存取的存取信息對(duì)應(yīng)的高速緩存項(xiàng)目中,選擇置換對(duì)象的高速緩存項(xiàng)目。
20.如權(quán)利要求19所述的高速緩沖存儲(chǔ)器,其特征在于上述高速緩沖存儲(chǔ)器還包括寄存器,保持表示循環(huán)位置的數(shù)據(jù),該循環(huán)位置用于以循環(huán)方式從可置換的多個(gè)通路中選擇1個(gè)通路;以及重置單元,當(dāng)控制寄存器的內(nèi)容被上述更新單元更新時(shí),將表示對(duì)通路的存取順序的信息和上述寄存器中表示循環(huán)位置的數(shù)據(jù)進(jìn)行重置。
21.一種控制N-路組聯(lián)方式的高速緩沖存儲(chǔ)器的控制方法,其特征在于,包括將通路數(shù)據(jù)設(shè)置到控制寄存器的步驟,該通路數(shù)據(jù)表示N個(gè)通路中的1個(gè)或多個(gè)通路;以及控制步驟,使控制寄存器示出的通路激活。
22.如權(quán)利要求21所述的控制方法,其特征在于上述控制步驟中,對(duì)控制寄存器示出的激活通路以外的通路,至少限制置換。
23.如權(quán)利要求22所述的控制方法,其特征在于,還包括更新步驟,從保持部讀出與正在運(yùn)行的任務(wù)對(duì)應(yīng)的通路數(shù)據(jù),并將讀出的通路數(shù)據(jù)寫(xiě)入上述控制寄存器,該保持部保持每個(gè)任務(wù)的通路數(shù)據(jù),該通路數(shù)據(jù)指定應(yīng)激活的通路。
全文摘要
本發(fā)明的高速緩沖存儲(chǔ)器為N-路組聯(lián)方式的高速緩沖存儲(chǔ)器,包括控制寄存器,示出N個(gè)通路中的1個(gè)或多個(gè)通路;控制單元,使控制寄存器示出的通路激活;以及更新單元,對(duì)控制寄存器的內(nèi)容進(jìn)行更新,上述控制單元對(duì)由控制寄存器所示出的激活通路以外的通路至少限制置換。
文檔編號(hào)G06F12/12GK1879092SQ20048003337
公開(kāi)日2006年12月13日 申請(qǐng)日期2004年9月8日 優(yōu)先權(quán)日2003年11月12日
發(fā)明者田中哲也, 岡林葉月, 中西龍?zhí)? 清原督三, 山本崇夫, 金子圭介 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社