專利名稱:具有動態(tài)存儲分配的集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括多個模塊的集成電路以及用于這種集成電路中的存儲分配的方法。
背景技術(shù):
隨著近來計算和通信資源的發(fā)展,在移動終端的結(jié)構(gòu)方面出現(xiàn)兩大趨勢。第一種趨勢是應(yīng)用程序集中(application convergence)和增加多樣性,例如,將越來越多的不同功能或者子系統(tǒng)集成到單個終端中,以使該終端能夠執(zhí)行新的服務(wù)和應(yīng)用程序。第二種趨勢涉及結(jié)構(gòu)復(fù)雜性的加劇,例如,硬件和軟件結(jié)構(gòu)的整個復(fù)雜性超出了基于由總線連接的核心的常規(guī)結(jié)構(gòu)類型的極限。
一種能夠符合上述趨勢的解決方案是模塊化。當(dāng)選擇模塊的邊界以與像GSM調(diào)制解調(diào)器、顯示器或音響的功能子系統(tǒng)一致時,可以得到雙層的硬件和軟件結(jié)構(gòu)。第一層是子系統(tǒng)內(nèi)(intra-subsystem)結(jié)構(gòu),其中可以應(yīng)用基于由總線連接的核心的常規(guī)結(jié)構(gòu)類型,由此可以重新利用現(xiàn)有的子系統(tǒng)。第二層結(jié)構(gòu)為子系統(tǒng)間(inter-subsystem)結(jié)構(gòu),其中可以應(yīng)用網(wǎng)絡(luò)結(jié)構(gòu),在OSI式分層網(wǎng)絡(luò)結(jié)構(gòu)上執(zhí)行子系統(tǒng)間通信。采用這種雙層結(jié)構(gòu),如在本領(lǐng)域中所公知的那樣,可以進(jìn)行功能子系統(tǒng)的開發(fā),并因此可以重新利用知識產(chǎn)權(quán)(IP)塊。
通常,大多數(shù)移動終端在一些諸如便攜式音頻播放器(音頻子系統(tǒng)和CD或固態(tài)存儲器)、移動電話(GSM調(diào)制解調(diào)器和語音多媒體數(shù)字信號編解碼器)、掌上管理器(觸摸屏+微處理器)或固態(tài)照相機(jī)(照相機(jī)+顯示器+固態(tài)存儲器)的外圍部件的基礎(chǔ)上提供它們的功能。這些不同的子系統(tǒng)例如外圍部件的種類穩(wěn)步增加。這些不同的子系統(tǒng)彼此獨立發(fā)展并且迅速變得更先進(jìn)和更復(fù)雜,以至于它們的性能參數(shù),例如比特率、容量、分辨率和質(zhì)量穩(wěn)步提高。實際的終端包括越來越多的子系統(tǒng)并且子系統(tǒng)的內(nèi)部變得不太重要,因為重點已經(jīng)移向軟件、應(yīng)用程序和服務(wù)。
雖然基于核心和總線的傳統(tǒng)結(jié)構(gòu)關(guān)注有限的計算資源組上的計算、小組具有低等待時間的緊密耦合模塊上的計劃任務(wù)、以及嚴(yán)格的總線協(xié)議,但是子系統(tǒng)之間的結(jié)構(gòu)不再關(guān)注計算而關(guān)注于通信。由不同的子系統(tǒng)共享的資源為通信基礎(chǔ)結(jié)構(gòu)并且可能為共享的存儲器。這些子系統(tǒng)通常以相對較高的等待時間和相對較低的同步速率以及網(wǎng)絡(luò)協(xié)議松散地結(jié)合在一起。
終端通常由多個通過網(wǎng)絡(luò)來彼此相連的子系統(tǒng)構(gòu)成??梢詥为氃O(shè)計諸如UMTS調(diào)制解調(diào)器或視頻多媒體數(shù)字信號編解碼器的子系統(tǒng)。它們包含一個或多個可編程核心、一些協(xié)處理器、本地存儲器(localmemory)和I/O。使用網(wǎng)絡(luò)來連接子系統(tǒng)。通過網(wǎng)絡(luò)來執(zhí)行諸如數(shù)據(jù)、指令、存儲器通信和控制信息的所有的子系統(tǒng)間通信。
所謂的片上系統(tǒng)SoC通常包括多個通過互連系統(tǒng)連接的子系統(tǒng),例如功能元件或具有本地存儲器的模塊。該片上系統(tǒng)SoC適用于執(zhí)行不同的可以映射到子系統(tǒng)組上的應(yīng)用程序。通過子系統(tǒng)執(zhí)行的所有功能需要一定量的存儲器用于執(zhí)行它們的處理。存儲器的確切量將取決于多個參數(shù),例如用于視頻解碼的屏幕尺寸、調(diào)制解調(diào)器的數(shù)據(jù)率等。因此,不同的應(yīng)用程序?qū)τ诖鎯ζ饔胁煌囊?。?dāng)今,消費電子工業(yè)范圍內(nèi)的大部分應(yīng)用領(lǐng)域需要使系統(tǒng)成本以及功耗最小化。為了在上述受限制的環(huán)境中有競爭力,重要的是針對特定應(yīng)用程序優(yōu)化所需要的存儲量。另一方面,隨著上述許多諸如移動電話、PAD、MP3播放器等消費電子市場的集中趨勢,僅著眼于單個特定應(yīng)用程序或有限的應(yīng)用程序組不再可行。終端的任何實現(xiàn)必須是低成本且低功率,其中基本上由材料的帳單,即芯片面積、芯片數(shù)量、管腳數(shù)量和PCB布線層,來限定成本。針對這些終端的一個重要方面就是分配足夠的存儲器以便可以按照需要來執(zhí)行應(yīng)用程序。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種集成電路,該集成電路具有多個通過互連系統(tǒng)連接的模塊并具有優(yōu)化的存儲分配。
通過根據(jù)權(quán)利要求1所述的集成電路和根據(jù)權(quán)利要求8所述的用于存儲分配的方法來解決該目的。
因此,提供包括用于處理應(yīng)用程序的多個模塊M的集成電路,其中所述模塊中的每一個包括本地存儲器LM。該集成電路還包括全局存儲器GM,其可以在多個模塊M之間被共享;以及互連裝置IM,用于互連所述模塊M和所述全局存儲器GM。存儲器管理單元MMU與所述模塊M中的每一個相關(guān)聯(lián)并且確定本地存儲器LM是否為當(dāng)前處理的應(yīng)用程序提供了充足的存儲空間。如果不是這種情況,則存儲器管理單元MMU請求在所述全局存儲器GM中的全局緩沖器FB,該全局緩沖器FB是為其相關(guān)模塊M的處理數(shù)據(jù)而專門保留的。
因此,通過利用本地存儲器LM,只要可能,在將數(shù)據(jù)向外輸送(outsource)給全局存儲器GM之前,可以節(jié)省互連裝置的功率以及帶寬。而且,給片上系統(tǒng)帶來充分的靈活性以便在不需要針對最壞的情景來設(shè)計子系統(tǒng)或模塊的情況下,能夠運(yùn)行這樣的應(yīng)用程序,該應(yīng)用程序需要比在子系統(tǒng)或模塊M中能獲得的本地資源還多的本地資源,例如本地存儲器。特別是當(dāng)最壞情況下的需求遠(yuǎn)遠(yuǎn)高于一般情況時,成本優(yōu)勢是很明顯的。
根據(jù)本發(fā)明的一個方案,存儲器管理單元MMU請求模塊M與所述全局存儲器GM之間的通信路徑,其是為該通信而專門保留的。特別地,利用連續(xù)訪問存儲器所需要的特性來請求該通信路徑。因此,在模塊與全局存儲器之間保證通信路徑。
根據(jù)本發(fā)明的另一方案,所述集成電路還包括資源管理單元RMU。資源管理單元RMU根據(jù)所述存儲器管理單元MMU的請求在所述全局存儲器GM中分配用于所述全局緩沖器FB的存儲空間。因此,為與存儲器管理單元MMU有關(guān)的模塊的處理數(shù)據(jù)專門保留了足夠的存儲空間。
根據(jù)本發(fā)明的又一方案,資源管理單元RMU根據(jù)來自存儲器管理單元的請求在模塊M與全局存儲器GM之間設(shè)置通信路徑。因此,為模塊M與全局存儲器GM之間的通信提供充分的帶寬。
根據(jù)本發(fā)明的優(yōu)選方案,集成電路還包括與模塊中的每一個都有關(guān)的地址轉(zhuǎn)換裝置ATM,用于執(zhí)行在所述模塊上執(zhí)行的應(yīng)用程序的數(shù)據(jù)的地址轉(zhuǎn)換,所述數(shù)據(jù)存儲在所述全局存儲器GM中的所述全局緩沖器FB中。因此。不能存儲在本地存儲器中的數(shù)據(jù)的向外輸送對于模塊的處理是不可見的。
根據(jù)本發(fā)明的又一方案,資源管理單元RMU還適用于執(zhí)行全局存儲器GM的訪問檢驗(access arbitration)。提供訪問檢驗?zāi)軌蚴箶?shù)據(jù)在所需的保證下傳輸。
根據(jù)本發(fā)明的另一方案,所述本地存儲器LM包括用于從所述全局存儲器GM中的全局緩沖器FB中預(yù)取數(shù)據(jù)的預(yù)取緩沖器PB。因此,從應(yīng)用程序中隱藏了由于將處理數(shù)據(jù)向外輸送給全局存儲器而造成的等待時間。
本發(fā)明還涉及用于包括多個用于處理應(yīng)用程序的模塊的集成電路中的存儲分配的方法,其中每一模塊包括本地存儲器LM。集成電路還包括在所述多個模塊之間被共享的全局存儲器。存儲器管理確定在本地存儲器中是否能夠獲得用于在模塊上運(yùn)行的應(yīng)用程序的處理數(shù)據(jù)的足夠空間。如果不是這種情況,請求所述全局存儲器中的緩沖器專門用于在模塊上運(yùn)行的應(yīng)用程序的處理數(shù)據(jù)。
本發(fā)明基于一種概念,即,只要子系統(tǒng)或模塊由于具有某組參數(shù)的函數(shù)或應(yīng)用程序而不具有足夠的本地存儲器,就在共享的存儲器中分配緩沖器并設(shè)置具有充分帶寬的通信路徑,以便能夠?qū)?shù)據(jù)傳向共享存儲器或?qū)?shù)據(jù)從共享存儲器中傳出。
現(xiàn)在將參考附圖詳細(xì)說明本發(fā)明。
附圖簡述
圖1示出根據(jù)第一實施例的片上系統(tǒng)的方框圖。
本發(fā)明的優(yōu)選實施例根據(jù)本發(fā)明的片上系統(tǒng)在資源上可以是低的,即低成本和低功率的系統(tǒng),例如移動電話或便攜式設(shè)備。然而,本發(fā)明的原理也可以應(yīng)用于受限制較少的環(huán)境。
圖1示出根據(jù)第一實施例的片上系統(tǒng)的方框圖。該系統(tǒng)包括模塊M、解釋器(shell)S、互連裝置IM、全局存儲器GM和資源管理單元RMU。模塊M經(jīng)解釋器S和互連裝置IM連接到全局存儲器GM。模塊M包括處理器PROC、指令高速緩沖存儲器I、數(shù)據(jù)高速緩沖存儲器D和本地存儲器LM。處理器PROC和本地存儲器LM經(jīng)總線B彼此相連。本地存儲器LM包括預(yù)取緩沖器PB。本地存儲器LM用作專用于模塊M的私有存儲器。在尺寸上使本地存儲器形成為小存儲器,其足以運(yùn)行具有低存儲需求的應(yīng)用程序。該存儲空間量取決于在模塊M上執(zhí)行的應(yīng)用程序。
模塊M可以是任何子系統(tǒng)并且還可以包括其他功能塊,執(zhí)行專用的應(yīng)用程序或幾個不同的應(yīng)用程序。雖然已經(jīng)說明模塊M包括處理器PROC、指令高速緩沖存儲器I、數(shù)據(jù)高速緩沖存儲器D和本地存儲器LM的組件M,但是也可以將模塊M實施成沒有高速緩沖存儲器、沒有常規(guī)的處理器,但具有至少一個小的專用處理單元。
將解釋器S設(shè)置在模塊M與互連系統(tǒng)IM之間并用于管理模塊與互連系統(tǒng)之間的通信。解釋器S的思想是對模塊隱瞞互連系統(tǒng)的特性。因此,可以使用已經(jīng)存在的模塊,而不必再設(shè)計它們的通信,因為使用解釋器S作為接口。互連系統(tǒng)IM優(yōu)選為片上網(wǎng)絡(luò),但也可以是基于總線的系統(tǒng)。網(wǎng)絡(luò)還可以根據(jù)例如等待時間來動態(tài)地分配經(jīng)過該網(wǎng)絡(luò)的路徑。例如,這種互連IM還可以提供具有諸如帶寬、延遲、去耦(借助于全局存儲器中的緩沖器)等不同參數(shù)的通信信道。針對具有特定參數(shù)的特定類型的通信,可以動態(tài)地選擇合適的信道,即,具有適當(dāng)參數(shù)的信道。
解釋器S包括存儲器管理單元MMU和地址轉(zhuǎn)換單元ATU。存儲器管理單元MMU監(jiān)控本地存儲器LM中的自由存儲空間,并且本地存儲器LM中的可利用的存儲空間一低于預(yù)定的最小值,存儲器管理單元MMU就請求在全局存儲器GM中分配全局緩沖器FB。這背后的思想是從在模塊M上運(yùn)行的應(yīng)用程序中向外輸送處理數(shù)據(jù),其中在本地存儲器中沒有足夠的空間用于該應(yīng)用程序。然后提供地址轉(zhuǎn)換單元ATU以將由在模塊M上運(yùn)行的應(yīng)用程序所使用的地址轉(zhuǎn)換成與全局存儲器GM相應(yīng)的全局地址映射的地址。
如上所述,存儲器管理單元MMU為全局存儲器GM中的緩沖器發(fā)出請求,所述緩沖器應(yīng)該為來自該模塊的處理數(shù)據(jù)而專門保留。將來自存儲器管理單元MMU的該請求發(fā)送到資源管理單元RMU。將資源管理單元RMU設(shè)置成管理系統(tǒng)中的全部資源。此外,存儲器管理單元MMU請求提供經(jīng)由互連系統(tǒng)IM的在模塊M與全局存儲器GM之間的有保證的數(shù)據(jù)路徑。資源管理單元RMU接收這些請求并確定在全局存儲器GM中是否有足夠的可用空間來保留容量為所請求大小的緩沖器以及互連系統(tǒng)IM是否可以為所請求的模塊M與全局存儲器GM之間的通信路徑提供充分的帶寬。如果資源管理單元RMU確定在全局存儲器GM中存在足夠的可用空間并且存在足夠的通信資源可用于通信路徑,則資源管理單元RMU向存儲器管理單元MMU發(fā)送響應(yīng)。資源管理單元RMU將全局存儲器GM中的全局緩沖器FB的可用空間及其地址包括在響應(yīng)中。存儲器管理單元MMU一從資源管理單元RMU接收到該肯定響應(yīng),它就可以激活地址轉(zhuǎn)換單元ATU。地址轉(zhuǎn)換單元ATU用于隱藏來自在模塊M上運(yùn)行的應(yīng)用程序的處理數(shù)據(jù)的向外輸送。為了執(zhí)行該隱藏,使不能再存儲在本地存儲器LM中的處理數(shù)據(jù)的地址設(shè)有偏移量。根據(jù)由資源管理單元RMU所返回的全局存儲器GM中的全局緩沖器FB的地址,來計算這些不能存儲在本地存儲器LM中的處理數(shù)據(jù)的地址的偏移量。
為了獲得該系統(tǒng)性能的額外改進(jìn),可以在存儲在全局緩沖器FB中的數(shù)據(jù)被在模塊M上運(yùn)行的應(yīng)用程序使用之前對其進(jìn)行預(yù)取,并存儲在本地存儲器LM中的預(yù)取緩沖器PB中。通過預(yù)取該數(shù)據(jù),可以從應(yīng)用程序中隱藏全局存儲器GM中的全局緩沖器FB的更長的路徑,并且還可以從應(yīng)用程序中隱藏由向外輸送處理數(shù)據(jù)所引起的等待時間。
全局存儲器GM中的全局緩沖器FB的分配可以在某一應(yīng)用程序的運(yùn)行時間執(zhí)行或還可以在預(yù)定的時間段之后執(zhí)行,或者,可以根據(jù)如上所述的某一事件來執(zhí)行。
如果在系統(tǒng)中存在片上以及片下全局存儲器,則進(jìn)行全局存儲器中的緩沖器分配使得成本、功率和帶寬資源得到優(yōu)化。
根據(jù)本發(fā)明的動態(tài)存儲分配的缺點是通過引入地址轉(zhuǎn)換單元ATU而使模塊的接口或解釋器增加了額外的復(fù)雜性。此外,需要將資源管理單元RMU結(jié)合到片上系統(tǒng)中,以便明了可用的通信資源。數(shù)據(jù)的輸出或向外輸送將引入額外的等待時間。而且,資源管理單元RMU需要在全局存儲器執(zhí)行訪問檢驗,從而可以保證所需的通信路徑。
根據(jù)本發(fā)明的第二實施例,圖1中的模塊M可以是UMTS調(diào)制解調(diào)器,其需要存儲器以執(zhí)行去交織(de-interleaving)功能。該功能所需的存儲量取決于數(shù)據(jù)率、交織時間(interleaving span)(進(jìn)行交織的ms量)和糾錯的編碼率。如果將存儲器的大小定為用于最大數(shù)據(jù)率和最大跨度,則需要2Mbits的存儲器。通常,這種大量的數(shù)據(jù)必須位于全局存儲器GM中。另一方面,如果考慮低數(shù)據(jù)率和最小交織跨度的低需求情況,則僅需要50kbits。該存儲空間量可以容易地存儲在本地存儲器LM中,因此,這將帶來功率優(yōu)點,因為不需要向外輸送數(shù)據(jù)。這樣,減小移動電話所需要的功率總是優(yōu)選的,因為這是移動電話的主要競爭因素(“通話時間”)。
應(yīng)該注意的是,上述實施例是對本發(fā)明進(jìn)行舉例說明,而非限制本發(fā)明,并且在不脫離附屬權(quán)利要求的范圍的情況下,本領(lǐng)域技術(shù)人員能夠設(shè)計許多可選實施例。在權(quán)利要求書中,放在圓括號之間的參考標(biāo)記不應(yīng)該被認(rèn)為是限制權(quán)利要求。詞“包含”不排除除權(quán)利要求中所列舉的那些元件或步驟之外的元件或步驟的存在。在元件之前的詞“一個”不排除多個這種元件的存在。在列舉數(shù)個裝置的裝置權(quán)利要求中,這些裝置中的幾個可以由一個且同類的硬件來實施。在相互不同的從屬權(quán)利要求中列舉特定措施的簡單事實并不表示這些措施的組合使用不能帶來優(yōu)點。
此外,在權(quán)利要求中的任何參考標(biāo)記不應(yīng)該被認(rèn)為是限制權(quán)利要求的范圍。
權(quán)利要求
1.一種集成電路,包括多個用于處理應(yīng)用程序的模塊(M),各自具有本地存儲器(LM),所述集成電路還包括全局存儲器(GM),其可以由所述多個模塊(M)共享;互連裝置(IM),用于將所述模塊(M)和所述全局存儲器(GM)互連;以及一個與所述模塊(M)中的每一個有關(guān)的存儲器管理單元(MMU),用于確定所述本地存儲器(LM)是否為當(dāng)前處理的應(yīng)用程序提供了足夠的存儲空間,并且用于如果在本地存儲器(LM)中不能得到足夠的存儲空間,則請求在所述全局存儲器(GM)中的為所述相關(guān)模塊(M)的處理數(shù)據(jù)保留的全局緩沖器(FB)。
2.根據(jù)權(quán)利要求1所述的集成電路,其中所述存儲管理單元(MMU)請求其相關(guān)的模塊(M)與所述全局存儲器(GM)之間的通信路徑,其中所述通信路徑具有根據(jù)對全局存儲器(GM)所要求的訪問的通信特性。
3.根據(jù)權(quán)利要求1所述的集成電路,還包括資源管理單元(RMU),用于根據(jù)所述存儲器管理單元(MMU)的請求在所述全局存儲器(GM)中分配存儲空間。
4.根據(jù)權(quán)利要求3所述的集成電路,其中所述資源管理單元(RMU)適用于根據(jù)所述存儲器管理單元(MMU)所請求的通信特性來設(shè)置通信路徑。
5.根據(jù)權(quán)利要求4所述的集成電路,還包括與所述模塊(M)中的每一個有關(guān)的地址轉(zhuǎn)換單元(ATU),用于執(zhí)行應(yīng)用程序的數(shù)據(jù)的地址轉(zhuǎn)換,所述數(shù)據(jù)存儲在所述全局存儲器(GM)中的所述全局緩沖器(FB)中。
6.根據(jù)權(quán)利要求3或4所述的集成電路,其中所述資源管理單元(RMU)適用于執(zhí)行用于所述全局存儲器(GM)的訪問檢驗。
7.根據(jù)權(quán)利要求1所述的集成電路,其中所述本地存儲器(LM)包括用于從所述全局緩沖器(FB)預(yù)取數(shù)據(jù)的預(yù)取緩沖器(PB)。
8.一種用于集成電路中的存儲分配的方法,該集成電路包括多個用于處理應(yīng)用程序的模塊(M),其中每一個模塊包括本地存儲器(LM),其中所述集成電路還包括適用于由所述多個模塊(M)共享的全局存儲器(GM),該方法包括以下步驟通過確定所述本地存儲器(LM)是否為當(dāng)前處理的應(yīng)用程序提供了足夠的存儲空間,并且當(dāng)在所述本地存儲器(LM)中不能得到足夠的存儲空間時,請求在所述全局存儲器(GM)中的為所述模塊(M)之一的處理程序保留的全局緩沖器(FB),來進(jìn)行存儲器管理。
全文摘要
提供一種集成電路,其包括多個用于處理應(yīng)用程序的模塊(M),其中所述模塊中的每一個包括本地存儲器(LM)。集成電路還包括可以由多個模塊(M)共享的全局存儲器(GM)和用于將所述模塊(M)和所述全局存儲器(GM)互連的互連裝置(IM)。存儲器管理單元(MMU)與所述模塊(M)中的每一個相關(guān)聯(lián),并確定本地存儲器(LM)是否為當(dāng)前處理的應(yīng)用程序提供了足夠的存儲空間。如果不是這種情況,則存儲器管理單元(MMU)請求在所述全局存儲器(GM)中的專門為其相關(guān)模塊(M)的處理數(shù)據(jù)保留的全局緩沖器(FB)。因此,通過利用本地存儲器(LM),只要可能,在將數(shù)據(jù)向外輸送到全局存儲器之前,可以節(jié)約互連裝置的功率和帶寬。此外,給片上系統(tǒng)帶來充分的靈活性以便在不需要針對最壞的情景來設(shè)計子系統(tǒng)或模塊的情況下,能夠運(yùn)行這樣的應(yīng)用程序,該應(yīng)用程序需要比在子系統(tǒng)或模塊M中能獲得的本地資源還多的本地資源,例如本地存儲器。特別是當(dāng)最壞情況下的需求遠(yuǎn)遠(yuǎn)高于一般情況時,成本優(yōu)勢是很明顯的。
文檔編號G06F12/08GK1829976SQ200480021935
公開日2006年9月6日 申請日期2004年7月16日 優(yōu)先權(quán)日2003年7月28日
發(fā)明者弗朗索瓦絲·J·哈爾姆澤, 阿圖爾·T·伯查德, 哈爾姆·J·H·N·肯特爾 申請人:皇家飛利浦電子股份有限公司