本發(fā)明有關(guān)于動(dòng)態(tài)配置方法,更具體地,有關(guān)于動(dòng)態(tài)配置方法以及裝置。
背景技術(shù):
::根據(jù)現(xiàn)有技術(shù),為了節(jié)省便攜式電子裝置的相關(guān)成本,便攜式電子裝置中處理器的計(jì)算能力(calculationcapability)/功率通常都受到限制,其中,便攜式電子裝置可例如移動(dòng)電話(如多功能移動(dòng)電話)、個(gè)人數(shù)字助理(PDA)、平板計(jì)算機(jī)(tablet)或筆記本計(jì)算機(jī)(laptop)。假設(shè)節(jié)省成本不在考量范圍內(nèi),終端用戶可能希望將來(lái)能擁有配備更高計(jì)算能力/功率的處理器的便攜式電子裝置。然而,一些問(wèn)題可能會(huì)隨之產(chǎn)生。例如,相關(guān)技術(shù)的傳統(tǒng)系統(tǒng)架構(gòu)簡(jiǎn)單且可能不支持多核處理器(multi-coreprocessor),卻不能忽略便攜式電子裝置的緊湊型需求(compactrequirement)。又例如,相關(guān)技術(shù)的傳統(tǒng)系統(tǒng)架構(gòu)可能太簡(jiǎn)單而無(wú)法支持多處理器(multipleprocessor),卻仍然必須滿足便攜式電子裝置的緊湊需求。因此,需要一種新穎的方法以實(shí)現(xiàn)配備具有更高計(jì)算能力/功率的處理器的便攜電子裝置。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明提供一種動(dòng)態(tài)配置方法及裝置。本發(fā)明提供一種動(dòng)態(tài)配置方法,包括:在總線凍結(jié)時(shí)段通過(guò)等待從多個(gè)核/處理器中的至少一個(gè)至動(dòng)態(tài)配置緩存器中的一部分的請(qǐng)求,凍結(jié)動(dòng)態(tài)配置緩存器中的該部分與該多個(gè)核/處理器中的該至少一個(gè)之間的總線,其中,該多個(gè)核/處理器用于存取該動(dòng)態(tài)配置緩存器且該多個(gè)核/處理器中的該至少一個(gè)用于存取該動(dòng)態(tài)配置緩存器中的該部分;以及調(diào)整該動(dòng)態(tài)配置緩存器中的該部分的大小,其中,該動(dòng)態(tài)配置緩存器中的該部分用于緩存/存儲(chǔ)該多個(gè)核/處理器中的該至少一個(gè)的信息。本發(fā)明還提供一種動(dòng)態(tài)配置裝置,包括:多個(gè)核/處理器,用于執(zhí)行該動(dòng)態(tài)配置裝置的多個(gè)操作;動(dòng)態(tài)配置緩存器,用于緩存/存儲(chǔ)該多個(gè)核/處理器的信息, 其中,該多個(gè)核/處理器用于存取該動(dòng)態(tài)配置緩存器且該多個(gè)核/處理器中的該至少一個(gè)用于存取該動(dòng)態(tài)配置緩存器中的該部分;以及動(dòng)態(tài)配置緩存控制器,用于在總線凍結(jié)時(shí)段通過(guò)等待從多個(gè)核/處理器中的至少一個(gè)至動(dòng)態(tài)配置緩存器中的一部分的請(qǐng)求,凍結(jié)動(dòng)態(tài)配置緩存器中的該部分與該多個(gè)核/處理器中的該至少一個(gè)之間的總線,并調(diào)整該動(dòng)態(tài)配置緩存器的該部分的大小。附圖說(shuō)明圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)態(tài)配置裝置的示意圖;圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)態(tài)配置方法的流程圖;圖3為根據(jù)本發(fā)明第二實(shí)施例圖2所示動(dòng)態(tài)配置方法的動(dòng)態(tài)配置機(jī)制示意圖;圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例圖3所示動(dòng)態(tài)配置緩存器的配置示意圖;圖5為根據(jù)本發(fā)明第三實(shí)施例圖2所示動(dòng)態(tài)配置方法的動(dòng)態(tài)配置機(jī)制示意圖;圖6為根據(jù)本發(fā)明一個(gè)實(shí)施例圖5所示動(dòng)態(tài)配置緩存器的另一配置示意圖;圖7為根據(jù)本發(fā)明另一個(gè)實(shí)例圖5所示動(dòng)態(tài)配置緩存器的核/處理器保護(hù)配置的示意圖;圖8為根據(jù)本發(fā)明一個(gè)實(shí)施例圖2所示動(dòng)態(tài)配置方法相關(guān)的一些DCCA狀態(tài)及相應(yīng)配置的示意圖;圖9為根據(jù)本發(fā)明另一個(gè)實(shí)施例的動(dòng)態(tài)配置方法的流程圖。具體實(shí)施方式在說(shuō)明書及權(quán)利要求書當(dāng)中使用了某些詞匯來(lái)指稱特定的元件。所屬
技術(shù)領(lǐng)域:
:的技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同的名詞來(lái)稱呼同一個(gè)元件。本說(shuō)明書及權(quán)利要求書并不以名稱的差異作為區(qū)分元件的方式,而是以元件在功能上的差異作為區(qū)分的準(zhǔn)則。在通篇說(shuō)明書及權(quán)利要求項(xiàng)中所提及的「包含」為一開(kāi)放式的用語(yǔ),故應(yīng)解釋成「包含但不限定于」。此外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接于第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或透過(guò)其它裝置或連接手段間接地電氣連接至第二裝置。請(qǐng)參考圖1,圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)態(tài)配置裝置100的示意圖。根 據(jù)不同實(shí)施例,例如第一實(shí)施例或其變形,動(dòng)態(tài)配置裝置100可包括電子裝置的至少一部分(例如一部分或全部)。例如,動(dòng)態(tài)配置裝置100可包括上述電子裝置的一部分,更具體地,動(dòng)態(tài)配置裝置100可為電子裝置內(nèi)部的控制電路(例如集成電路(integratedcircuit,IC))。又例如,動(dòng)態(tài)配置裝置100可為上述電子裝置整體。電子裝置的實(shí)例可包括,手機(jī)(例如,多功能手機(jī))、PDA、便攜式電子裝置以及個(gè)人計(jì)算機(jī),其中,便攜式電子裝置可例如(基于廣義定義的)平板計(jì)算機(jī),個(gè)人計(jì)算機(jī)可例如筆記本計(jì)算機(jī)或臺(tái)式計(jì)算機(jī)。如圖1所示,動(dòng)態(tài)配置裝置100可包括多個(gè)核/處理器110,且動(dòng)態(tài)配置裝置100可更包括片上(on-chip)存儲(chǔ)器模塊120。其中,多個(gè)核/處理器110包括核/處理器110-1,110-2,…,以及110-N。片上存儲(chǔ)器(On-chipmemory)模塊120可包括片上存儲(chǔ)器122(例如靜態(tài)隨機(jī)存儲(chǔ)存儲(chǔ)器(SRAM))和動(dòng)態(tài)配置緩存(dynamicconfigurablecache)控制器124。其中,片上存儲(chǔ)器122可包括多個(gè)存儲(chǔ)庫(kù)(memorybank)122-1,122-2,…,以及122-M。多個(gè)核/處理器110-1,110-2,…,以及110-N被允許存取片上存儲(chǔ)器122。多個(gè)核/處理器110-1,110-2,…,以及110-N可執(zhí)行動(dòng)態(tài)配置裝置100的多個(gè)操作。例如,多個(gè)核/處理器110-1,110-2,…,以及110-N的至少一部分(如一部分或全部)可分別為執(zhí)行動(dòng)態(tài)配置裝置100的操作的一或多個(gè)處理器中的核。又例如,多個(gè)核/處理器110-1,110-2,…,以及110-N的至少一部分(如一部分或全部)可分別為執(zhí)行動(dòng)態(tài)配置裝置100的操作的一或多個(gè)處理器。請(qǐng)注意,根據(jù)不同實(shí)施例,例如第一實(shí)施例或其變形,核/處理器110-1,110-2,…,以及110-N可包括一或多個(gè)中央處理單元(centralprocessingunit,CPU)、一或多個(gè)圖形處理單元(graphicprocessingunit,GPU)、一或多個(gè)數(shù)字信號(hào)處理器(digitalsignalprocessor,DSP)、一或多個(gè)視頻編解碼器(videocoder-decoder,CODEC)以及/或一或多個(gè)音頻CODEC。根據(jù)第一實(shí)施例,動(dòng)態(tài)配置裝置100可包括動(dòng)態(tài)配置緩存器,其中,可以片上存儲(chǔ)器(如圖1所示的片上存儲(chǔ)器122)來(lái)實(shí)現(xiàn)動(dòng)態(tài)配置緩存器。動(dòng)態(tài)配置緩存器可緩存/存儲(chǔ)多個(gè)核/處理器110-1,110-2,…,以及110-N的信息。該多個(gè)核/處理器110-1,110-2,…,及110-N用于存取該動(dòng)態(tài)配置緩存器且該多個(gè)核/處理器中的至少一個(gè)用于存取該動(dòng)態(tài)配置緩存器中的一部分。此外,動(dòng)態(tài)配置緩存控制器124可控制片上存儲(chǔ)器122的操作以控制上述動(dòng)態(tài)配置緩存器的配置。請(qǐng)注意,上述架構(gòu)可看作動(dòng)態(tài)配置緩存架構(gòu)(dynamicconfigurablecachearchitecture,DCCA)。參照?qǐng)D2,DCCA操作的相關(guān)細(xì)節(jié)進(jìn)一步說(shuō)明如下。圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)態(tài)配置方法200的流程圖。動(dòng)態(tài)配置方法200可運(yùn)用于如圖1所示的動(dòng)態(tài)配置裝置100,更具體地,可運(yùn)用于上述的動(dòng)態(tài)配置緩存控制器124。在步驟210中,動(dòng)態(tài)配置緩存控制器124可在總線(Bus)凍結(jié)時(shí)段(freezeperiod)通過(guò)拒絕來(lái)自多個(gè)核/處理器110-1,110-2,…,以及110-N中任何一個(gè)的請(qǐng)求,凍結(jié)上述動(dòng)態(tài)配置緩存器與多個(gè)核/處理器110(例如此實(shí)施例中的多個(gè)核/處理器110-1,110-2,…,以及110-N)之間的總線,其中,該動(dòng)態(tài)配置緩存器以片上存儲(chǔ)器122實(shí)現(xiàn)。動(dòng)態(tài)配置緩存控制器124可在總線凍結(jié)時(shí)段拒絕來(lái)自多個(gè)核/處理器110-1,110-2,…,以及110-N中任何一個(gè)的請(qǐng)求,而不是一直地拒絕任何請(qǐng)求。即,動(dòng)態(tài)配置緩存控制器124可在總線凍結(jié)時(shí)段暫時(shí)地凍結(jié)總線,而不是一直凍結(jié)總線。在步驟220中,動(dòng)態(tài)配置緩存控制器124可調(diào)整動(dòng)態(tài)配置緩存器的一部分的大小,其中,動(dòng)態(tài)配置緩存器的該部分可緩存/存儲(chǔ)多個(gè)核/處理器110-1,110-2,…,以及110-N的其中一個(gè)的信息。在一些實(shí)施例中,動(dòng)態(tài)配置緩存器的該部分可包括存儲(chǔ)庫(kù)122-1,122-2,…,以及122-M中的至少一個(gè)存儲(chǔ)庫(kù)。圖9為根據(jù)本發(fā)明一個(gè)實(shí)施例的動(dòng)態(tài)配置方法900的流程圖。動(dòng)態(tài)配置方法900可運(yùn)用于如圖1所示的動(dòng)態(tài)配置裝置100,更具體地,可運(yùn)用于上述的動(dòng)態(tài)配置緩存控制器124。在步驟910中,動(dòng)態(tài)配置緩存控制器124可在總線凍結(jié)時(shí)段(freezeperiod)通過(guò)等待(pend)或延遲(stoll)從該多個(gè)核/處理器110中的至少一個(gè)(例如本實(shí)施例中的多個(gè)核/處理器110-1,110-2,…,及110-N)至該動(dòng)態(tài)配置緩存器中的一部分的請(qǐng)求,凍結(jié)上述動(dòng)態(tài)配置緩存器與多個(gè)核/處理器110(例如此實(shí)施例中的多個(gè)核/處理器110-1,110-2,…,以及110-N)之間的總線,其中,該動(dòng)態(tài)配置緩存器以片上存儲(chǔ)器122實(shí)現(xiàn)。也就是說(shuō),在總線凍結(jié)期間,從該多個(gè)核/處理器110-1,110-2,…,及110-N中的至少一個(gè)至該動(dòng)態(tài)配置緩存器中的一部分的請(qǐng)求處于等待狀態(tài)。動(dòng)態(tài)配置緩存控制器124可在總線凍結(jié)時(shí)段等待來(lái)自多個(gè)核/處理器110-1,110-2,…,以及110-N中的該至少一個(gè)的請(qǐng)求,而不是一直地等待任何請(qǐng)求。即,動(dòng)態(tài)配置緩存控制器124可在總線凍結(jié)時(shí)段暫時(shí)地凍結(jié)總線,而不是一直凍結(jié)總線。在一個(gè)實(shí)施例中,當(dāng)調(diào)整該動(dòng)態(tài)配置緩存器中的該部分的大小時(shí),僅有與該動(dòng)態(tài)配置緩存器中的該部分相關(guān)的來(lái)自該核/處理器的請(qǐng)求將被等待/延遲。應(yīng)注意,本實(shí)施例中的等待的請(qǐng)求包括存取該動(dòng)態(tài)配置緩存器 中的該部分的請(qǐng)求。動(dòng)態(tài)配置緩存控制器124可響應(yīng)來(lái)自該多個(gè)核/處理器的一個(gè)核/處理器的總線凍結(jié)請(qǐng)求而凍結(jié)該總線。在一個(gè)實(shí)施例中,該總線凍結(jié)請(qǐng)求可為系統(tǒng)隨機(jī)存取存儲(chǔ)器(systemrandomaccessmemory,SYSRAM)請(qǐng)求。等待請(qǐng)求不同于總線凍結(jié)請(qǐng)求。在步驟920中,動(dòng)態(tài)配置緩存控制器124可調(diào)整動(dòng)態(tài)配置緩存器的一部分的大小,其中,動(dòng)態(tài)配置緩存器的該部分可緩存/存儲(chǔ)多個(gè)核/處理器110-1,110-2,…,以及110-N的其中一個(gè)的信息。在一些實(shí)施例中,動(dòng)態(tài)配置緩存器的該部分可包括存儲(chǔ)庫(kù)122-1,122-2,…,以及122-M中的至少一個(gè)存儲(chǔ)庫(kù)。根據(jù)此實(shí)施例,動(dòng)態(tài)配置緩存控制器124可響應(yīng)從該多個(gè)核/處理器110中的一個(gè)核/處理器至該動(dòng)態(tài)配置緩存器的的總線凍結(jié)請(qǐng)求而凍結(jié)總線。例如,響應(yīng)于該核/處理器提交該總線凍結(jié)請(qǐng)求,該總線凍結(jié)請(qǐng)求可能要求分配動(dòng)態(tài)配置緩存器的存儲(chǔ)器空間(memoryspace)。又例如,響應(yīng)于該核/處理器提交該總線凍結(jié)請(qǐng)求,該總線凍結(jié)請(qǐng)求可能要求分配動(dòng)態(tài)配置緩存器的額外空間(additionalspace)。由于存儲(chǔ)器空間/額外空間的需求是暫時(shí)的,動(dòng)態(tài)配置緩存控制器124可響應(yīng)于來(lái)自核/處理器提交的總線凍結(jié)請(qǐng)求的通知而再凍結(jié)(re-freeze)該總線,以釋放該存儲(chǔ)器空間/額外空間,其中,該通知指示不需要該額外空間。此外,對(duì)于一些實(shí)施例,動(dòng)態(tài)配置緩存控制器124可控制總線凍結(jié)時(shí)段的起始與幀(frame)變化(例如從一幀變?yōu)榱硪粠?的時(shí)間點(diǎn)對(duì)齊(align),以實(shí)現(xiàn)維持/改進(jìn)動(dòng)態(tài)配置裝置100的總體性能的目的。此僅為說(shuō)明的目的,本發(fā)明并不限于此。根據(jù)此實(shí)施例的變形,動(dòng)態(tài)配置緩存控制器124可控制總線凍結(jié)時(shí)段的起始延遲一個(gè)預(yù)定義延遲量,以實(shí)現(xiàn)維持/改進(jìn)動(dòng)態(tài)配置裝置100的總體性能的目的。根據(jù)此實(shí)施例的另一個(gè)變形,當(dāng)接收到請(qǐng)求時(shí),動(dòng)態(tài)配置緩存控制器124可觸發(fā)一個(gè)延遲計(jì)數(shù)器開(kāi)始計(jì)數(shù),并使用延遲計(jì)數(shù)器將總線凍結(jié)時(shí)段的起始延遲一個(gè)預(yù)定義延遲量,以實(shí)現(xiàn)維持/改進(jìn)動(dòng)態(tài)配置裝置100的總體性能的目的。在一些實(shí)施例中,在完成調(diào)整動(dòng)態(tài)配置緩存器的該部分的大小的操作之后,動(dòng)態(tài)配置緩存控制器124可控制該總線凍結(jié)時(shí)段結(jié)束。根據(jù)此實(shí)施例或此實(shí)施例的任何變形,在一些實(shí)施例中,無(wú)論總線凍結(jié)時(shí)段的起始是否受控制,動(dòng)態(tài)配置緩存控制器124都可動(dòng)態(tài)控制凍結(jié)時(shí)段的起始。因此在一些實(shí)施例中,動(dòng)態(tài)配置緩存控制器124在運(yùn)行時(shí)間可確定上述動(dòng)態(tài)配置緩存器的不同配置之間的轉(zhuǎn)換時(shí)序(timingofswitching)。對(duì)應(yīng)動(dòng)態(tài)配置緩存器的該部分的使用在不同情形下可能不同。例如,動(dòng)態(tài) 配置緩存器的該部分可暫時(shí)用作緩存。又例如,動(dòng)態(tài)配置緩存器的該部分可暫時(shí)用作暫存器(scratchpadmemory)。由于動(dòng)態(tài)配置緩存器的該部分的使用為靈活的,動(dòng)態(tài)配置緩存控制器124在需要時(shí)可動(dòng)態(tài)控制動(dòng)態(tài)配置緩存器的配置。由此,可實(shí)現(xiàn)維持/改進(jìn)動(dòng)態(tài)配置裝置100的總體性能的目的。圖3為根據(jù)本發(fā)明第二實(shí)施例圖2所示動(dòng)態(tài)配置方法200或圖9所示動(dòng)態(tài)配置方法900的動(dòng)態(tài)配置機(jī)制示意圖。其中,標(biāo)號(hào)320用于表示上述的動(dòng)態(tài)配置緩存器。在此實(shí)施例中,將兩個(gè)CPU312和CPU314以及引擎(engine)316(例如多媒體(multimedia,MM)處理引擎(processingengine))作為步驟210中多個(gè)核/處理器110的實(shí)例。其中,MM處理器可包括視頻CODEC和音頻CODEC等。根據(jù)此實(shí)施例,CPU312和CPU314以及引擎316可分別使用動(dòng)態(tài)配置緩存器320。例如CPU312和CPU314中的任何一個(gè)可使用動(dòng)態(tài)配置緩存器320的一部分(例如步驟220中所述的該部分)作為緩存,更具體地,第二級(jí)(leveltwo,L2)緩存。又例如,引擎316可使用動(dòng)態(tài)配置緩存器320的一部分(例如步驟220或920中所述的該部分)作為暫存器,因此,通過(guò)使用動(dòng)態(tài)配置方法200或動(dòng)態(tài)配置方法900來(lái)實(shí)施調(diào)整,可準(zhǔn)確地分配CPU312和CPU314中的任何一個(gè)使用的緩存大小和/或引擎316使用的暫存器的大小。特別地,當(dāng)引擎316需要(例如上述的)存儲(chǔ)器空間/額外空間并發(fā)送總線凍結(jié)請(qǐng)求(例如上述的請(qǐng)求)要求存儲(chǔ)器空間/額外空間時(shí),動(dòng)態(tài)配置緩存控制器124通過(guò)暫時(shí)為引擎316分配空間(例如一或多個(gè)存儲(chǔ)庫(kù),如上述的一或多個(gè)存儲(chǔ)庫(kù)122-1,122-2,…,及122-M),可向引擎316提供存儲(chǔ)器空間/額外空間。例如,可最初由CPU312和CPU314中的其中一個(gè)使用一或多個(gè)存儲(chǔ)庫(kù),而現(xiàn)在再分配(re-arrange)由引擎316使用這一或多個(gè)存儲(chǔ)庫(kù)。又例如,可最初不使用一或多個(gè)存儲(chǔ)庫(kù),而現(xiàn)在分配由引擎316使用這一或多個(gè)存儲(chǔ)庫(kù)。當(dāng)檢測(cè)到引擎316不需要存儲(chǔ)器空間/額外空間時(shí)(例如,引擎316發(fā)送上述的通知),動(dòng)態(tài)配置緩存控制器124可再凍結(jié)總線以再分配/釋放被引擎316所使用的存儲(chǔ)器空間/額外空間。例如,動(dòng)態(tài)配置緩存控制器124可將一或多個(gè)存儲(chǔ)庫(kù)再分配給CPU312和CPU314中的其中一個(gè)再使用或者不再使用。圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例圖3所示動(dòng)態(tài)配置緩存器320的配置示意圖。例如,由于通過(guò)使用動(dòng)態(tài)配置方法200或動(dòng)態(tài)配置方法900來(lái)實(shí)施調(diào)整,CPU312和CPU314使用的緩存大小等于96KB(kilobyte),且引擎316使用的暫存器大 小等于32KB。因此,將CPU312和CPU314使用的緩存標(biāo)記為“96KB緩存”,且將引擎316使用的暫存器標(biāo)記為“32KB存儲(chǔ)器”。在一些實(shí)施例中,CPU312和CPU314可首先存取緩存(例如96KB緩存)以找到需要的數(shù)據(jù)。當(dāng)在96KB緩存中找不到需要的數(shù)據(jù)時(shí),CPU312和CPU314可通過(guò)系統(tǒng)總線存取外部存儲(chǔ)器(例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamicrandomaccessmemory,DRAM))。圖5為根據(jù)本發(fā)明第三實(shí)施例圖2所示動(dòng)態(tài)配置方法200或圖9所示動(dòng)態(tài)配置方法900的動(dòng)態(tài)配置機(jī)制示意圖,其中,標(biāo)號(hào)520用于表示上述的動(dòng)態(tài)配置緩存器。在此實(shí)施例中,將GPU512和MM處理器516作為步驟210中多個(gè)核/處理器110的實(shí)例。根據(jù)此實(shí)施例,GPU512和MM處理器516可分別使用動(dòng)態(tài)配置緩存器520。例如GPU512可使用動(dòng)態(tài)配置緩存器520的一部分(例如步驟220中所述的該部分)作為緩存。又例如,MM處理器516可使用動(dòng)態(tài)配置緩存器520的一部分(例如步驟220中所述的該部分)作為暫存器,因此,通過(guò)使用動(dòng)態(tài)配置方法200來(lái)實(shí)施調(diào)整,可準(zhǔn)確地分配GPU512使用的緩存大小和/或MM處理器516使用的暫存器的大小。請(qǐng)注意圖5為在上述調(diào)整之前動(dòng)態(tài)配置緩存器520的第一配置示意圖。根據(jù)此配置,GPU512使用的緩存大小等于96KB,且MM處理器516使用的暫存器大小等于32KB。因此,將GPU512使用的緩存標(biāo)記為“96KB緩存”,且將MM處理器516使用的暫存器標(biāo)記為“32KB存儲(chǔ)器”。當(dāng)MM處理器516需要(例如上述的)存儲(chǔ)器空間/額外空間并發(fā)送總線凍結(jié)請(qǐng)求(例如上述的請(qǐng)求)要求存儲(chǔ)器空間/額外空間時(shí),動(dòng)態(tài)配置緩存控制器124通過(guò)暫時(shí)為MM處理器516分配空間(例如一或多個(gè)存儲(chǔ)庫(kù),如上述的一或多個(gè)存儲(chǔ)庫(kù)122-1,122-2,…,及122-M),可向MM處理器516提供存儲(chǔ)器空間/額外空間。例如,根據(jù)如圖6所示的安排,可最初由GPU512使用一或多個(gè)存儲(chǔ)庫(kù),現(xiàn)在再分配由MM處理器516使用這一或多個(gè)存儲(chǔ)庫(kù)。在此情形中,動(dòng)態(tài)配置緩存控制器124在總線凍結(jié)期間可凍結(jié)GPU512和MM處理器516與動(dòng)態(tài)配置緩存器520之間的總線。圖6為根據(jù)本發(fā)明一個(gè)實(shí)施例圖5所示動(dòng)態(tài)配置緩存器520的另一配置示意圖。例如,由于通過(guò)使用動(dòng)態(tài)配置方法200來(lái)實(shí)施調(diào)整,GPU512使用的緩存大小等于64KB,且MM處理器516使用的暫存器大小等于64KB。因此,將GPU512使用的緩存標(biāo)記為“64KB緩存”,且將MM處理器516使用的暫存器標(biāo)記為“64KB存儲(chǔ)器”。同樣地,當(dāng)檢測(cè)到MM處理器516不需要存儲(chǔ)器空間 /額外空間時(shí)(例如MM處理器516發(fā)送例如上述的通知),動(dòng)態(tài)配置緩存控制器124可再凍結(jié)總線以再分配/釋放被MM處理器516所使用的存儲(chǔ)器空間/額外空間。例如,動(dòng)態(tài)配置緩存控制器124可將一或多個(gè)存儲(chǔ)庫(kù)再分配給GPU512再使用或者不再使用。因此,上述的第一配置可再應(yīng)用于動(dòng)態(tài)配置緩存器520。在另一個(gè)示例中,當(dāng)MM處理器516需要上述的存儲(chǔ)空間/額外空間并發(fā)送總線凍結(jié)請(qǐng)求(例如上述的請(qǐng)求)以要求存儲(chǔ)空間/額外空間,動(dòng)態(tài)配置緩存控制器124響應(yīng)該總線凍結(jié)請(qǐng)求在總線凍結(jié)期間可凍結(jié)MM處理器516與專用于MM處理器516的動(dòng)態(tài)配置緩存520的一部分之間的總線。動(dòng)態(tài)配置緩存控制器124可通過(guò)為MM處理器516臨時(shí)分配空間(例如一或多個(gè)存儲(chǔ)庫(kù)(如上述的一或多個(gè)存儲(chǔ)庫(kù)122-1,122-2,…,及122-M))為MM處理器516提供存儲(chǔ)空間/額外空間。例如,一或多個(gè)存儲(chǔ)庫(kù)可初始為空閑存儲(chǔ)空間,且現(xiàn)在重置為由MM處理器所采用。又例如,當(dāng)MM處理器516所需的存儲(chǔ)空間減少,且MM處理器516發(fā)送總線凍結(jié)請(qǐng)求以通知?jiǎng)討B(tài)配置控制器124時(shí),動(dòng)態(tài)配置緩存控制器124響應(yīng)該總線凍結(jié)請(qǐng)求在總線凍結(jié)期間可凍結(jié)MM處理器516與專用于MM處理器516的動(dòng)態(tài)配置緩存520的一部分之間的總線。動(dòng)態(tài)配置緩存控制器124可通過(guò)臨時(shí)分配原來(lái)專用于MM處理器516(例如用于空閑存儲(chǔ)空間或共享存儲(chǔ)空間的一或多個(gè)存儲(chǔ)庫(kù)(如上述的一或多個(gè)存儲(chǔ)庫(kù)122-1,122-2,…,及122-M))為MM處理器516提供減少的存儲(chǔ)空間。圖7為根據(jù)本發(fā)明另一個(gè)實(shí)例圖5所示動(dòng)態(tài)配置緩存器520的核/處理器保護(hù)配置(protectionconfiguration)的示意圖,其中,此實(shí)施例的動(dòng)態(tài)配置緩存控制器124集成于動(dòng)態(tài)配置緩存器520之中。在片上存儲(chǔ)器122內(nèi)部的存儲(chǔ)庫(kù)的數(shù)目M等于4時(shí),符號(hào)BK0、BK1、BK2和BK3可分別表示上述的存儲(chǔ)庫(kù)122-1,122-2,…,和122-M(更具體地,存儲(chǔ)庫(kù)122-1、122-2、122-3和122-4)。根據(jù)此實(shí)施例,將系統(tǒng)隨機(jī)存取存儲(chǔ)器(systemrandomaccessmemory,SYSRAM)請(qǐng)求作為上述請(qǐng)求的實(shí)例。響應(yīng)SYSRAM請(qǐng)求,動(dòng)態(tài)配置緩存控制器124在總線凍結(jié)時(shí)段可控制總線被凍結(jié)。此實(shí)施例的動(dòng)態(tài)配置緩存器520中的動(dòng)態(tài)配置緩存控制器124可發(fā)送凍結(jié)活動(dòng)通知(freezeactivenotification)(在圖7中標(biāo)記為“凍結(jié)活動(dòng)”)至GPU512,以通知GPU512進(jìn)入總線凍結(jié)時(shí)段,GPU512可發(fā)送凍結(jié)完成通知(freezedonenotification)(在圖7中標(biāo)記為“凍結(jié)完成”)作為凍結(jié)活動(dòng)通知的響應(yīng)。在此實(shí)施例中,根據(jù)核/處理器保護(hù)配置,存儲(chǔ)庫(kù)BK0專屬于GPU512,且 不能被MM處理器516所使用。即,存儲(chǔ)庫(kù)BK0為GPU專屬(GPU-dedicated)存儲(chǔ)庫(kù),而存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3中的任何一個(gè)可被GPU512和MM處理器516所共享,更具體地,同一時(shí)間被GPU512和MM處理器516的其中一個(gè)所使用。在存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3中每個(gè)的大小都等于32KB的情況下,GPU512所使用的緩存的大小可大于或等于32KB,且MM處理器516所使用的暫存器可少于或等于96KB。因此,通過(guò)向GPU512提供GPU專屬存儲(chǔ)庫(kù),核/處理器保護(hù)配置可防止GPU512的性能下降。此實(shí)施例的類似描述不在此詳細(xì)重復(fù)。圖8為根據(jù)本發(fā)明一個(gè)實(shí)施例圖2所示動(dòng)態(tài)配置方法200相關(guān)的一些DCCA狀態(tài)及相應(yīng)配置的示意圖。根據(jù)此實(shí)施例,可分別將上述的存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3作為上述存儲(chǔ)庫(kù)122-1,122-2,…,和122-M的實(shí)例(更具體的,存儲(chǔ)庫(kù)122-1、122-2、122-3和122-4)。例如,每個(gè)存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3的大小可等于32KB。如圖8所示,最上方曲線為MM處理器516需求指示(indicator),其中指示的低水平狀態(tài)(lowstate)可表示MM處理器516不需要存儲(chǔ)空間/額外空間。對(duì)于圖8所示的DCCA狀態(tài),DCCA可在多個(gè)狀態(tài)(例如正常狀態(tài)和分配狀態(tài))之間進(jìn)行轉(zhuǎn)換。例如,動(dòng)態(tài)配置緩存控制器124可控制DCCA默認(rèn)處于正常狀態(tài),且相應(yīng)的配置“128KBL2緩存”指示GPU512使用存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3的全部共128KB存儲(chǔ)空間作為L(zhǎng)2緩存。當(dāng)MM處理器516需求指示進(jìn)入其高水平狀態(tài)時(shí),動(dòng)態(tài)配置緩存控制器124可確定轉(zhuǎn)換至(動(dòng)態(tài)配置緩存器520的)另一種配置的時(shí)序會(huì)稍有延遲,因此第一總線凍結(jié)時(shí)段(即圖8的左半部分所示的總線凍結(jié)時(shí)段)在比指示的轉(zhuǎn)折處(transition)(例如上升沿)稍晚的時(shí)間點(diǎn)開(kāi)始。因此,動(dòng)態(tài)配置緩存控制器124在第一總線凍結(jié)時(shí)段可控制DCCA進(jìn)入分配狀態(tài),以根據(jù)動(dòng)態(tài)配置方法200改變動(dòng)態(tài)配置緩存器520的配置。在第一總線凍結(jié)時(shí)段結(jié)束之后,動(dòng)態(tài)配置緩存控制器124可控制DCCA再次處于正常狀態(tài),且相應(yīng)配置“32KBL2緩存和96KBL2存儲(chǔ)器”指示GPU512使用存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3中的32KB存儲(chǔ)空間(例如,如存儲(chǔ)庫(kù)BK0的GPU專屬存儲(chǔ)庫(kù)的存儲(chǔ)空間)作為L(zhǎng)2緩存,且更指示MM處理器516使用庫(kù)BK0、BK1、BK2及BK3中的96KB存儲(chǔ)空間(例如,如存儲(chǔ)庫(kù)BK1、BK2及BK3的一些其他存儲(chǔ)庫(kù)的存儲(chǔ)空間)作為L(zhǎng)2存儲(chǔ)器。當(dāng)MM處理器516的 需求指示進(jìn)入低水平狀態(tài)時(shí),動(dòng)態(tài)配置緩存控制器124可確定轉(zhuǎn)換至(動(dòng)態(tài)配置緩存器520的)另一種配置的時(shí)序會(huì)稍有延遲,因此第二總線凍結(jié)時(shí)段(即圖8的右半部分所示的總線凍結(jié)時(shí)段)在比指示的轉(zhuǎn)折處(例如上升沿)稍晚的時(shí)間點(diǎn)開(kāi)始。因此,動(dòng)態(tài)配置緩存控制器124在第二總線凍結(jié)時(shí)段可控制DCCA進(jìn)入分配狀態(tài),以根據(jù)動(dòng)態(tài)配置方法200改變動(dòng)態(tài)配置緩存器520的配置。在第二總線凍結(jié)時(shí)段結(jié)束之后,動(dòng)態(tài)配置緩存控制器124可控制DCCA再次處于正常狀態(tài),且相應(yīng)配置“128KBL2緩存”指示GPU512使用存儲(chǔ)庫(kù)BK0、BK1、BK2及BK3的128KB存儲(chǔ)空間的全部作為L(zhǎng)2緩存。此實(shí)施例的類似描述在此不詳細(xì)重復(fù)。根據(jù)圖8所示的本實(shí)施例的一個(gè)變形,在第二總線凍結(jié)時(shí)段結(jié)束之后,根據(jù)不同的設(shè)計(jì)需求,動(dòng)態(tài)配置緩存器520的配置可以為任何種配置。例如,在第二總線凍結(jié)時(shí)段結(jié)束之后,上述的存儲(chǔ)庫(kù)122-1,122-2,…,和122-M的一部分(更具體地,存儲(chǔ)庫(kù)122-1、122-2、122-3及122-4中的一個(gè)或多個(gè)存儲(chǔ)庫(kù))可為閑置的(idle),無(wú)需再使用存儲(chǔ)庫(kù)122-1,122-2,…,和122-M的前述部分作為緩存。此變形的類似描述不再詳細(xì)重復(fù)。本發(fā)明的優(yōu)勢(shì)為本發(fā)明提出的方法和裝置可提供動(dòng)態(tài)配置緩存器的釋放/分配硬件以實(shí)現(xiàn)DCCA,而不引入軟件同步懲罰(softwaresynchronizationpenalty)。此外,動(dòng)態(tài)配置緩存控制器在運(yùn)行時(shí)間可確定不同配置之間的交換時(shí)序。而且,根據(jù)DCCA實(shí)現(xiàn)的L2緩存可為用戶透明(user-transparent)存儲(chǔ)系統(tǒng)(即用戶知悉的存儲(chǔ)系統(tǒng)),且因此,L2緩存在需要時(shí)可很好地服務(wù)終端用戶。根據(jù)上述實(shí)施例/變形中任何一個(gè),由于使用DCCA電子裝置可配備具有更高計(jì)算能力/功率的處理器,更具體地,可配備多核處理器或者多個(gè)處理器,而不會(huì)忽略前述的緊湊型需求并可有效地使用緩存/存儲(chǔ)。所屬領(lǐng)域的技術(shù)人員可知在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求及其等同變形所界定者為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3