專利名稱:處理器集群的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理器集群。
嵌入式計(jì)算機(jī)芯片展示了這樣一種傾向其中,對于每新一代的嵌入式計(jì)算機(jī)芯片,芯片面積中越來越大的比例面積專門用于存儲(chǔ)器,與此同時(shí),專門用于計(jì)算結(jié)構(gòu)的芯片面積的比例不斷縮小。這些是基于以下的觀察。首先,已早為人們所熟悉的是,一個(gè)平衡的計(jì)算系統(tǒng)均裝備有相當(dāng)數(shù)量的存儲(chǔ)器,其中存儲(chǔ)器的數(shù)量正比于CPU(中央處理器)的計(jì)算能力。對于每一代嵌入式計(jì)算機(jī)芯片,芯片最大可得的時(shí)鐘頻率提高了30%。專門用于存儲(chǔ)器結(jié)構(gòu)的相對芯片面積傾向于以相同的數(shù)量增長。因此,存儲(chǔ)器最終變成確定集成電路生產(chǎn)成本的居主導(dǎo)地位的因素,同時(shí)處理器或DSP核心中的計(jì)算邏輯變得相對便宜。
本發(fā)明的一個(gè)目的是,提供一種處理器集群,一方面這種處理器集群擁有一個(gè)相當(dāng)寬的可應(yīng)用性,另一方面這種處理器集群可擁有數(shù)量相當(dāng)有限的存儲(chǔ)器。為了這個(gè)目的,根據(jù)本發(fā)明,該處理器集群是在一個(gè)單個(gè)集成電路上實(shí)現(xiàn)的,該處理器集群包括一個(gè)可配置的高速緩沖存儲(chǔ)器和多個(gè)處理器,至少兩個(gè)處理器擁有互不相同的指令集。該處理器集群還包括一個(gè)選擇單元,用于有選擇地激活該系列處理器之一,并給予所述被選擇的處理器對高速緩沖存儲(chǔ)器的存取權(quán)。高速緩沖存儲(chǔ)器是一種相當(dāng)快的存儲(chǔ)器,用于容納最近被存取的代碼或數(shù)據(jù)。根據(jù)訪問的局部性法則,最近所使用的數(shù)據(jù)或代碼很可能會(huì)在最近的將來再次被存取。因此,一個(gè)接近處理器集群的高速緩沖存儲(chǔ)器的存在,明顯改進(jìn)了處理器的性能。
可以對處理器集群加以配置,以至于能夠嚴(yán)格地僅激活一個(gè)處理器,并擁有一個(gè)與高速緩沖存儲(chǔ)器的連接。對所述連接的實(shí)際的激活發(fā)生在制造集成電路之后。一方面,從多個(gè)處理器中選擇一個(gè)擁有不同指令集的處理器的可能性,使處理器集群能夠擁有廣泛的可應(yīng)用性。另一方面,因?yàn)閮H一個(gè)高速緩沖存儲(chǔ)器出現(xiàn)在集成電路上,所以該集成電路可擁有相當(dāng)有限數(shù)量的存儲(chǔ)器。
現(xiàn)場可編程集成電路同樣是人們所熟悉的。然而,提供多個(gè)處理器本體的現(xiàn)有方法包括在一個(gè)集成電路上組合多個(gè)處理器,其中每一處理器擁有其自己專用的高速緩沖存儲(chǔ)器。如以上所解釋的,這一技術(shù)傾向使存儲(chǔ)器資源更加昂貴,與此同時(shí),計(jì)算邏輯資源正變得越來越便宜。在這一情況下,本發(fā)明提供了具有多種類型互不相同的處理器的集成電路,它的一個(gè)更具成效比的實(shí)施方式。
應(yīng)該加以提及的是,EP 0927936描述了一種包括一個(gè)微處理器、一個(gè)用戶可配置的片上程序存儲(chǔ)器、以及一個(gè)用于重新配置存儲(chǔ)器的控制器的處理器結(jié)構(gòu)。其中,所描述的微處理器是一個(gè)VLIW處理器,該VLIW處理器包括多個(gè)執(zhí)行單元,例如一個(gè)運(yùn)算器+加載/存儲(chǔ)單元、一個(gè)乘法器、一個(gè)運(yùn)算器+移位器、以及一個(gè)進(jìn)一步的運(yùn)算器。控制器允許按一種模式把存儲(chǔ)器映射到內(nèi)部地址空間,并允許按另一種模式把存儲(chǔ)器配置為一個(gè)片上高速緩沖存儲(chǔ)器。然而,這一文檔沒有描述一個(gè)其中通過獨(dú)立單元裝配處理器的可配置的處理器結(jié)構(gòu)。取而代之,在根據(jù)本發(fā)明的處理器集群中,通過一個(gè)現(xiàn)場可編程的交換器把多個(gè)固定的不可改變處理器核心連接于一個(gè)單高速緩沖存儲(chǔ)器。
還應(yīng)該加以提及的是,US 5937203描述了一種包括可調(diào)諧單元(122A,...,122N)的處理器結(jié)構(gòu)。每一個(gè)可調(diào)諧單元(122A,...,122N)連接于一個(gè)相應(yīng)的存儲(chǔ)器(113A,...,113N)。例子有可調(diào)諧的流水線、可調(diào)諧的ALU、可調(diào)諧的轉(zhuǎn)移預(yù)測單元、可調(diào)諧的多媒體執(zhí)行單元、以及可調(diào)諧的浮點(diǎn)單元。因此,調(diào)諧的結(jié)果是某一功能由一個(gè)可比較種類的功能來加以取代。例如,一個(gè)16比特的加法器由一個(gè)32比特的加法器加以替代,或一個(gè)第一類型的轉(zhuǎn)移預(yù)測由一個(gè)第二類型轉(zhuǎn)移預(yù)測加以替代。
因此,在根據(jù)本發(fā)明的處理器集群中,一個(gè)不同的選擇,其結(jié)果是可以得到一個(gè)擁有一個(gè)不同指令集的不同的處理器。
應(yīng)該加以注意的是,US 6091263描述了一個(gè)包括一個(gè)第一陣列可配置邏輯塊(CLB)和一個(gè)第二陣列CLB的FPGA。把第一陣列CLB耦合于一個(gè)相應(yīng)的第一配置高速緩沖存儲(chǔ)器陣列。第一高速緩沖存儲(chǔ)器陣列存儲(chǔ)用于重新配置第一陣列CLB的值。把第二陣列CLB耦合于一個(gè)相應(yīng)的第二配置高速緩沖存儲(chǔ)器陣列。第二配置高速緩沖存儲(chǔ)器陣列存儲(chǔ)用于重新配置第二陣列CLB的值。所述的FPGA減少了對用于重新配置FPGA的路由資源的要求。
為了完整性,應(yīng)該加以提及的是,EP 668659 A2描述了一種可重新配置的半導(dǎo)體集成電路。這種電路包括多個(gè)元件,這些元件擁有兩或兩種以上的配置,每一種配置均由元件功能與/或其與其它元件的互連加以定義。
在根據(jù)本發(fā)明的處理器集群的一個(gè)實(shí)施方案中,該系列處理器包括至少一個(gè)微控制器和一個(gè)數(shù)字信號處理器(DSP)。微控制器,例如MIPS和ARM,通常提供了一個(gè)針對控制處理加以優(yōu)化的指令集體系結(jié)構(gòu)(ISA)。這意味著對它們的ISA進(jìn)行了優(yōu)化,以執(zhí)行這樣的程序收集來自計(jì)算機(jī)存儲(chǔ)器中不同位置的數(shù)據(jù),把這些數(shù)據(jù)項(xiàng)互相加以比較以及與常數(shù)進(jìn)行比較,然后根據(jù)這些比較結(jié)果做出決策。換句話說,較佳的做法是選擇具有這樣的ISA的處理器執(zhí)行控制大量程序的典型的“加載、比較、轉(zhuǎn)移”結(jié)構(gòu)。DSP,例如OAK、PALM、REAL、以及Trimedia,通常提供了一個(gè)針對信號處理加以優(yōu)化的ISA。這意味著對它們的ISA進(jìn)行了優(yōu)化,以執(zhí)行那些在計(jì)算機(jī)存儲(chǔ)器中的一個(gè)數(shù)據(jù)塊的連續(xù)的成員上反復(fù)執(zhí)行相同算術(shù)操作集的程序。通常,這些程序具有極大量的計(jì)算、執(zhí)行眾多的包括許多乘法的算術(shù)運(yùn)算,并常常與大量的加法相組合。
在一個(gè)實(shí)施方案中,處理器集群可以包括不同類型的微控制器。盡管針對控制處理對MIPS和ARM進(jìn)行了優(yōu)化,但在許多方面它們的指令集是不同的。例如,ARM向程序設(shè)計(jì)人員提供了16個(gè)通用寄存器,其中MIPS提供了31個(gè)這樣的寄存器。兩個(gè)ISA均提供了可提供相同功能的指令(例如“加”或“如果為0轉(zhuǎn)移”),但使用ISA對這些指令進(jìn)行編碼的方法是不同的,從而使MIPS執(zhí)行ARM指令或反過來是不可能的。另外,MIPS和ARM采取不同的方式來?xiàng)l件執(zhí)行ARM提供了轉(zhuǎn)移指令和警戒指令,而MIPS僅提供了轉(zhuǎn)移。
處理器集群的一個(gè)實(shí)施方案可以包含不同類型的數(shù)字信號處理器。另外,可以發(fā)現(xiàn),在DSP之間,在它們的信號處理方式方面,有著明顯的不同。例如,一個(gè)REAL DSP瞄準(zhǔn)于要求中等性能水平的音頻處理等應(yīng)用,而Trimedia瞄準(zhǔn)于要求較高性能水平的視頻和圖形處理等應(yīng)用。這一差別反映在這些DSP的相應(yīng)的ISA中。出于這一原因,對于REAL不可能執(zhí)行Trimedia指令和其他的路線,即使兩者均屬于DSP處理器系列。
高速緩沖存儲(chǔ)器既可由軟件,也可由硬件控制加以管理。一個(gè)具有一個(gè)硬件控制的高速緩沖存儲(chǔ)器的處理器相當(dāng)容易加以編程,但程序設(shè)計(jì)人員很少或根本沒有對高速緩沖存儲(chǔ)器的管理加以控制。軟件控制具有這樣的好處程序設(shè)計(jì)人員可以精確地控制把何種數(shù)據(jù)保留在高速緩沖存儲(chǔ)器中,以及哪些數(shù)據(jù)需要由新數(shù)據(jù)加以取代。然而缺點(diǎn)是,一個(gè)具有一個(gè)軟件控制的高速緩沖存儲(chǔ)器的處理器較難加以編程。
在根據(jù)本發(fā)明的處理器集群的一個(gè)優(yōu)選實(shí)施方案中,根據(jù)處理器集群中的DSP,把高速緩沖存儲(chǔ)器配置成一個(gè)DSP指令存儲(chǔ)器組和一個(gè)DSP數(shù)據(jù)存儲(chǔ)器組。
因此,處理器集群中相同類型的不同處理器的存在,也增強(qiáng)了使用上的靈活性。
可以把多個(gè)處理器集群集成于一個(gè)處理系統(tǒng)中。在這樣的一個(gè)系統(tǒng)中,較佳的做法是把高速緩沖存儲(chǔ)器配置成可支持高速緩沖存儲(chǔ)器相關(guān)性協(xié)議,以支持系統(tǒng)級高速緩沖存儲(chǔ)器的相關(guān)性。這使實(shí)現(xiàn)該系統(tǒng)中不同處理器集群之間的高速緩沖存儲(chǔ)器的相關(guān)性成為可能。
以下,將參照附圖更詳細(xì)地描述本發(fā)明的這些及其它方面。在這些附圖中
圖1示意性地描述了根據(jù)本發(fā)明的一個(gè)處理器集群的第一實(shí)施方案。
圖2描述了一個(gè)第二實(shí)施方案。
圖1示意性地描述了在一個(gè)單個(gè)集成電路上實(shí)現(xiàn)的一個(gè)處理器集群,包括一個(gè)高速緩沖存儲(chǔ)器1,高速緩沖存儲(chǔ)器1含有多個(gè)存儲(chǔ)器組1a,...,1n,以及一個(gè)高速緩沖存儲(chǔ)器控制單元。該處理器集群還包括多個(gè)處理器2a,...,2e。在圖1中所描述的例子中,該系列處理器包括一個(gè)第一2a和一個(gè)第二微控制器2b;一個(gè)第一2c、一個(gè)第二2d、以及一個(gè)第三信號處理器2e。兩個(gè)微控制器2a、2b互不相同,因?yàn)樗鼈儞碛谢ゲ幌嗤闹噶罴T谒枋龅倪@一實(shí)施方案中,第一微控制器2a是一個(gè)ARM,以及第二微控制器是一個(gè)MIPS。三個(gè)DSP2c、2d、2e還擁有不同的指令集。這三個(gè)DSP包括一個(gè)REAL 2c、一個(gè)OAK 2d以及一個(gè)PALM 2e。該處理器集群還包括一個(gè)選擇單元6,用于有選擇地激活該處理器系列2a,...,2c中的一或多個(gè)處理器,并把對高速緩沖存儲(chǔ)器1的存取權(quán)給予所述被選擇的處理器。
僅可激活處理器2a,...,2e之一(即將其連接于高速緩沖存儲(chǔ)器)。選擇單元6通過向所述處理器提供一個(gè)激活信號en1,...,en5,選擇所述處理器,例如,如果要激活數(shù)字信號處理器2c,則提供激活信號en3。其它的處理器是停用的,因此,不需要消耗大量的能量。在所描述的實(shí)施方案中,經(jīng)由一個(gè)多路轉(zhuǎn)換器3,把對高速緩沖存儲(chǔ)器1的存取權(quán)授予被選擇的處理器,例如DSP 2c,這將由來自選擇單元6的一個(gè)控制信號SeL對其加以控制。在另一個(gè)實(shí)施方案中,可以經(jīng)由三態(tài)門電路把處理器連接于高速緩沖存儲(chǔ)器1,這將由選擇單元6有選擇地加以激活。另外,存儲(chǔ)器組1a,...,1n的精確配置是,由一個(gè)信號MC來加以控制的。后者允許不同的處理器2a,...,2e擁有不同的高速緩沖存儲(chǔ)器配置,以便根據(jù)它們各自的ISA加以執(zhí)行。
圖2描述了另一個(gè)實(shí)施方案。在圖2中,與圖1的部件對應(yīng)的部件擁有一個(gè)10以上的參照數(shù)字。在這一實(shí)施方案中,圖1的多路轉(zhuǎn)換器3由一條總線14加以替代。經(jīng)由這一總線14,被選擇的處理器,此處為ARM處理器12a,與高速緩沖存儲(chǔ)器11進(jìn)行通信。停用的處理器12b、12c、12d以及12e,由陰影線加以描述。因此,這些處理器將不存取高速緩沖存儲(chǔ)器11。
用戶可能進(jìn)行選擇,例如,在啟動(dòng)包括本發(fā)明的一個(gè)系統(tǒng)時(shí)進(jìn)行選擇。否則,可由制造商進(jìn)行選擇,這取決于將要被使用的處理器集群的應(yīng)用。
切斷高速緩沖存儲(chǔ)器與當(dāng)前活躍核心的連接,然后把高速緩沖存儲(chǔ)器重新連接于該集合中的其它核心之一是可能的。然而,這通常是一個(gè)相當(dāng)復(fù)雜的操作,涉及當(dāng)前核心上的一個(gè)被適當(dāng)執(zhí)行的關(guān)閉程序,然后是在選擇單元6控制下的實(shí)際轉(zhuǎn)換,接下來是在新核心上適當(dāng)?shù)貓?zhí)行一個(gè)啟動(dòng)程序。因此,以一定頻度,從一個(gè)核心到另一個(gè)核心的高速緩沖存儲(chǔ)器的重新分配是可能的,通常這一頻度至少低于這些核心執(zhí)行它們的指令的頻度若干個(gè)數(shù)量級。
應(yīng)該加以提及的是,本發(fā)明的保護(hù)范圍不局限于此處所描述的這些實(shí)施方案。本發(fā)明的保護(hù)范圍也不由權(quán)利要求中的參照數(shù)字加以限制。單詞“包括”不排除權(quán)利要求中所提到的其它部件。在一個(gè)要素之前的單詞“一個(gè)”不排除多個(gè)這樣的要素。形成本發(fā)明的一部分的裝置既能夠以專門的硬件形式加以實(shí)現(xiàn),也能夠以編程的通用處理器的形式加以實(shí)現(xiàn)。本發(fā)明在于每一新的特性或這些特性的組合。
權(quán)利要求
1.在一個(gè)單個(gè)集成電路上實(shí)現(xiàn)的處理器集群,包括一個(gè)可配置的高速緩沖存儲(chǔ)器(1)和多個(gè)處理器(2a,...,2e),至少兩個(gè)處理器(2a,2b)擁有互不相同的指令集,該處理器集群還包括一個(gè)選擇單元(6),用于有選擇地激活該系列處理器之一,并給予所述被選擇處理器對高速緩沖存儲(chǔ)器的存取權(quán)。
2.根據(jù)權(quán)利要求1的處理器集群,其特征在于,該系列處理器至少包括一個(gè)微控制器(2a,2b)以及一個(gè)數(shù)字信號處理器(2c,2d,2e)。
3.根據(jù)權(quán)利要求1的處理器集群,其特征在于,數(shù)字信號處理器是一個(gè)可編程的DSP核心(2c,2d,2e)。
4.根據(jù)權(quán)利要求1的處理器集群,其特征在于,可以根據(jù)處理器集群中的DSP把高速緩沖存儲(chǔ)器配置成一個(gè)DSP指令存儲(chǔ)器組和一個(gè)DSP數(shù)據(jù)存儲(chǔ)器組。
5.根據(jù)權(quán)利要求1的處理器集群,其特征在于,可以把高速緩沖存儲(chǔ)器配置成可支持高速緩沖存儲(chǔ)器相關(guān)性協(xié)議,以支持系統(tǒng)級高速緩沖存儲(chǔ)器的相關(guān)性。
全文摘要
根據(jù)本發(fā)明,在一個(gè)單個(gè)集成電路上實(shí)現(xiàn)處理器集群,包括一個(gè)可配置的高速緩沖存儲(chǔ)器(1)和多個(gè)處理器(2a,…,2e),至少兩個(gè)處理器(2a,2b)擁有互不相同的指令集,該處理器集群還包括一個(gè)選擇單元(6),用于有選擇地激活該系列處理器之一,并給予所述被選擇處理器對高速緩沖存儲(chǔ)器的存取權(quán)。
文檔編號G06F15/16GK1592900SQ02817276
公開日2005年3月9日 申請日期2002年6月20日 優(yōu)先權(quán)日2001年7月7日
發(fā)明者P·斯特拉維爾斯 申請人:皇家菲利浦電子有限公司