專利名稱:處理器間通信系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及在兩個或更多處理器之間的通信。本發(fā)明特別地涉及排列在同一半導(dǎo)體沖模上的處理器之間的處理器間通信。
發(fā)明
背景技術(shù):
隨著對更強(qiáng)大計算設(shè)備需求的增加,提供了越來越多包含不只一個處理器的系統(tǒng)。
為了本發(fā)明起見,在包含兩個或多個分離處理器的計算機(jī)系統(tǒng)和其中兩個或多個處理器被集成在同一芯片上的系統(tǒng)之間進(jìn)行區(qū)分。在一個母板上具有一個主要中央處理單元(CPU)、并且在一個圖形卡上具有一個算法處理器的一臺計算機(jī)是用于一個具有兩個分離處理器的計算機(jī)系統(tǒng)的一個實(shí)例。具有幾個分離處理器的一個計算機(jī)系統(tǒng)的另一個實(shí)例是一臺并行計算機(jī),其中配置有一系列處理器以便獲得一個改進(jìn)的性能。為了簡化起見,在一個板上具有兩個或多個分離處理器的系統(tǒng)還被認(rèn)為是屬于同一類別。
存在有其中兩個或多個處理器被集成在同一個芯片或者半導(dǎo)體沖模上的系統(tǒng)。一個典型實(shí)例是在同一半導(dǎo)體沖模上具有一個主處理器和一個加密處理器的一個SmartCard(智能卡)(也被稱為集成電路卡)。
隨著小型手持設(shè)備變得越來越普及,對強(qiáng)大和靈活的芯片的需求正在增加。一個典型實(shí)例是蜂窩電話,在它開始傳播時僅僅是一個用于語音傳輸(模擬通信)的電話。近幾年來已經(jīng)增加了額外的特征,而且現(xiàn)在大部分的蜂窩電話都被設(shè)計成用于語音和數(shù)據(jù)服務(wù)。額外的差別是無線應(yīng)用協(xié)議(WAP)支持、無線電尋呼和短信息系統(tǒng)(SMS)功能,這些僅僅是某些最新發(fā)展的名稱。所有這些特征需要更強(qiáng)大的處理器和甚至經(jīng)常需要雙處理器或者多處理器芯片。
在將來,舉例來說處理數(shù)字視頻流的系統(tǒng)將變得可用。這些系統(tǒng)也需要強(qiáng)大和靈活的芯片組。
其它實(shí)例是諸如多功能JavaCards之類的集成電路卡,諸如掌上型計算機(jī)或者個人數(shù)字助理(PDAs)之類的小型手持設(shè)備,等諸如此類。
對這種雙處理器或者多處理器芯片來說,存在有一個用于高效處理器間通信的通信通道是必不可少的。詞語“處理器間通信”在此被用作一個用于在第一處理器和/或與這個第一處理器有關(guān)的系統(tǒng)資源與第二個處理器和/或與這個第二個處理器有關(guān)的系統(tǒng)資源之間的任何通信的同義詞。一個共享存儲器是需要由一個芯片的所有處理器訪問的一個系統(tǒng)資源的一個實(shí)例。
系統(tǒng)資源必須以一種有效方式在雙處理器或者多處理器芯片中被共享,其中這些處理器在一個任務(wù)的同一特征上或者在同一任務(wù)的不同特征上并行操作。資源共享在處理器被調(diào)用以處理相關(guān)數(shù)據(jù)的應(yīng)用程序中也可能是必需的。
在1993年四月16日提出的歐洲專利申請EP 0580961-A1中給出了一個多處理器系統(tǒng)的一個實(shí)例。所引用的專利申請涉及一個具有多個分離的處理器和一條由所有這些處理器共享的全局總線的系統(tǒng)。增強(qiáng)的處理機(jī)接口被提供用于連接這些處理器到公共總線上。由于高的總線負(fù)載將影響系統(tǒng)的性能,所以這種多處理器系統(tǒng)不可能用于RISC處理器。在EP 0580961-A1中給出的多處理器系統(tǒng)是強(qiáng)大的,但是實(shí)現(xiàn)起來是較為復(fù)雜和昂貴的。所示的結(jié)構(gòu)不能用于在一個公共沖模上的多處理器系統(tǒng)。
在1985年四月26日提出的U.S.專利4,866,597中提出了另一種系統(tǒng)。這個US專利涉及一個其中每個處理器具有它自己的處理器總線的多處理器系統(tǒng)。在這些處理器之間經(jīng)由先進(jìn)先出數(shù)據(jù)緩沖區(qū)(FIFO)交換數(shù)據(jù),其中該先進(jìn)先出數(shù)據(jù)緩沖區(qū)(FIFO)直接互連相應(yīng)的處理器總線。這種方法的一個缺點(diǎn)是隨著將要被傳送的數(shù)據(jù)數(shù)量而使緩沖區(qū)的大小被顯著地增加了。
在于1991年9月17日提出的U.S.專利5,283,903中描述和要求保護(hù)了具有一個共享存儲器的一個多處理器系統(tǒng)。根據(jù)這個US專利,該系統(tǒng)包含多個處理器、一個共享存儲器(主存儲器)、和一個優(yōu)先級選擇器單元。優(yōu)先級選擇器單元在那些處理器之間對訪問共享存儲器的請求進(jìn)行判優(yōu)。由于共享存儲器是一個不能處理來自幾個處理器的同時和競爭請求的單端口存儲器(例如,一個隨機(jī)存取存儲器),所以這是必需的。這種方法的一個缺點(diǎn)是共享存儲器僅僅作為中間存儲器是昂貴的。隨著高的數(shù)據(jù)傳送而使共享存儲器可能變得很大。
在1990年4月24日提出的U.S.專利5,289,588中描述了另一種多處理器系統(tǒng)。處理器通過一條公共總線連接。它們能夠經(jīng)由這條公共總線訪問一個共享存儲器。一個高速緩存與每個處理器相關(guān)聯(lián),而且使用了一個判優(yōu)方案以控制對共享存儲器的訪問。這種方法的一個缺點(diǎn)是高速緩沖存儲器僅僅作為大的高速緩存以給出一個實(shí)際的性能提高是昂貴的。此外,總線沖突導(dǎo)致每個處理器一個降低的性能。
在1992年7月7日提出的PCT專利申請PCT/JP92/00869、而且PCT公開號為WO93/01553的申請中,描述了一種微處理器體系結(jié)構(gòu)。該體系結(jié)構(gòu)支持多個不同種類處理器,這些處理器通過數(shù)據(jù)、地址、和控制信號總線連接。對一個存儲器的訪問由判優(yōu)電路進(jìn)行控制。
一些已知的多處理器系統(tǒng)使用其中處理器間通信占據(jù)處理器的處理周期一部分的體系結(jié)構(gòu)。所希望的是避免這個開銷并且釋放處理器的處理能力以便能夠利用處理器的能力和性能。
其它已知的方案不能被用于集成的、其中兩個或多個處理器位于同一芯片內(nèi)的多處理器系統(tǒng)。
某些已知系統(tǒng)還有另一個缺點(diǎn)是它們在它們的實(shí)現(xiàn)中是不對稱的,這意味著對每個處理器來說需要不同的實(shí)現(xiàn)。此外,用于形式驗(yàn)證的工作對不對稱實(shí)現(xiàn)來說要比用于對稱實(shí)現(xiàn)的更大。
發(fā)明概述本發(fā)明的一個目的是提供一種用于在兩個或多個處理器和/或它們的相關(guān)組件之間通信的方案。
本發(fā)明的一個目的是提供一種適于集成到一個半導(dǎo)體沖模里的處理器間通信方案。
這些及其它目的通過提供了一個包含至少兩個集成處理器的系統(tǒng)的本發(fā)明實(shí)現(xiàn)。根據(jù)本發(fā)明,這兩個處理器可以經(jīng)由一個用于交換信息的通信通道連接。一個處理器(P1)具有一條處理器總線,一個可共享的單元、以及一個具有一個外部DMA通道的DMA單元。DMA單元和可共享的單元連接到處理器總線上。另一個處理器具有一個存取單元,它可連接到DMA單元的外部DMA通道上。由于這個配置,可以從存取單元到可共享的單元經(jīng)由外部DMA通道、DMA單元、和處理器總線建立一個通信通道。
這兩個處理器能夠被配置在一個公共的半導(dǎo)體沖模上。這允許實(shí)現(xiàn)諸如PDAs、手持式計算機(jī)、掌上型計算機(jī)、蜂窩電話、和無繩電話之類的計算設(shè)備。
通信通道能被有利地使用用于在兩個或多個處理器和/或它們的相關(guān)組件之間進(jìn)行通信。本發(fā)明的配置適合一般的多核心通信要求。該配置是高度對稱的,而且它允許其他方面需要的總線控制的數(shù)目對每個處理器為最小。本方案是可擴(kuò)展的而且是非常靈活的。
參考在下文中描述的實(shí)施例,本發(fā)明的這些及其它方面將會是顯然的,并且被解釋清楚。
附圖簡要說明為了更完整地描述本發(fā)明以及為了它的更進(jìn)一步的目的和優(yōu)點(diǎn),參考以下說明并結(jié)合附圖,其中
圖1是依據(jù)本發(fā)明的一個雙處理器計算機(jī)系統(tǒng)的第一實(shí)施例的框圖;圖2是在圖1的雙處理器計算機(jī)系統(tǒng)中建立的處理器間通信通道的一個示意圖;圖3是與本發(fā)明第一實(shí)施例結(jié)合使用的一個存取單元的框圖;圖4是依據(jù)本發(fā)明的一個雙處理器計算機(jī)系統(tǒng)的第二實(shí)施例的示意框圖;圖5是在圖4的雙處理器計算機(jī)系統(tǒng)中建立的處理器間通信通道的一個示意圖;圖6是與本發(fā)明第二實(shí)施例結(jié)合使用的存取單元和DMA單元的一個框圖;圖7是與本發(fā)明第二實(shí)施例結(jié)合使用的存取單元的一個框圖;圖8是依據(jù)本發(fā)明另一實(shí)施例、具有三個處理器的一個計算機(jī)系統(tǒng)的框圖;圖9是依據(jù)本發(fā)明、具有兩個處理器的一個計算機(jī)系統(tǒng)的另一實(shí)施例的框圖。
將結(jié)合幾個實(shí)施例對本發(fā)明進(jìn)行描述。
如圖1所示,應(yīng)用了本發(fā)明的一個雙處理器系統(tǒng)15包含一個經(jīng)由一條處理器總線10連接到一個可共享單元13的第一處理器P1。一條處理器總線(也被稱作微處理器總線)是連接到計算機(jī)系統(tǒng)的處理器的主要途徑。一個可共享單元13的實(shí)例是一個共享存儲器(例如,一個隨機(jī)存取存儲器;RAM)。第一處理器總線10是一條64位、20MHz的總線。系統(tǒng)15包含一個也具有一條處理器總線20的第二處理器P2。這條第二處理器總線20是一條64位、66MHz的總線。在這兩個處理器環(huán)境16和22(在圖1中用圓圈示意地表示)之間的一個互連是經(jīng)由一個直接存儲器存取(DMA)單元11建立的。一個傳統(tǒng)的或者一個專用的DMA設(shè)計能被使用。DMA單元11經(jīng)由它的內(nèi)部接口14連接到處理器總線10,并且經(jīng)由它的外部接口12連接到一個存取單元21。外部接口12為16位寬。存取單元21本身被連接到第二處理器P2的處理器總線20上。能夠在單元21和可共享的單元13之間建立一條用于交換信息的通信通道,即在處理器環(huán)境22內(nèi)的設(shè)備和/或單元21能夠訪問可共享的單元13而不必通過處理器P1,而且不用考慮可共享的單元13與第一處理器P1相連的事實(shí)。處理器P1和P2被集成在一個公共的半導(dǎo)體沖模(在圖1中未顯示),其它單元也是如此。
圖2是具有兩個處理器環(huán)境16和22的公共半導(dǎo)體沖模18的一個示意圖。有一個依據(jù)本發(fā)明建立的、用于處理器間通信的通信通道17。
這個雙處理器方案15允許第二處理器P2訪問可共享的單元13。從更普遍的觀點(diǎn)來看,依據(jù)本發(fā)明的一個多處理器系統(tǒng)中的一個處理器(在本實(shí)施例中為處理器P2)能夠訪問與另一個處理器(在本實(shí)施例中為處理器P1)相關(guān)聯(lián)的資源(在本實(shí)施例中為可共享的單元13)。
各種類型的處理器能夠使用本方案進(jìn)行互連。它允許用多個同類處理器乃至用多個不同種類處理器來實(shí)現(xiàn)芯片。單詞處理器在此處被用作一個用于能夠被集成到一個半導(dǎo)體芯片中、并且實(shí)際上執(zhí)行指令和處理數(shù)據(jù)的任何處理單元的同義詞。
復(fù)雜指令集計算(CISC)是當(dāng)今使用的兩個主要類型的處理器設(shè)計中的一個。它正慢慢地失去普及到精簡指令集計算(RISC)設(shè)計。目前最普及的CISC處理器是x86,但是還有68xx、65xx、和Z80s在使用中。
當(dāng)前,最快速的處理器是基于RISC的。有幾種普及的RISC處理器,包含Alphas(由Digital研發(fā),并且目前由Digital/Compaq和Samsung生產(chǎn))、ARMs(由Advanced RISC Machines研發(fā),目前由Intel擁有,而且目前由上述兩者和Digital/Compaq生產(chǎn))、PA-RISCs(由Hewlett-Packard研發(fā))、PowerPCs(在IBM、Apple、和Motorola之間合作研發(fā))、和SPARCs(由Sun研發(fā);SPARC設(shè)計目前由許多不同的公司生產(chǎn))。
ARMs與大多數(shù)的其它處理器不同,因?yàn)樗鼈儧]有被設(shè)計為最大化性能而是最大化消耗每功率的性能。因此ARMs在手持式機(jī)器和PDAs中找到了大部分它們的使用。
在以上部分中給出了依據(jù)本發(fā)明能夠互連的處理器的某些實(shí)例。此外合適的是R.E.A.L.處理器,任何已知處理器的處理器核心,以及用戶特定的處理器設(shè)計。換句話說,本原理適用于大多數(shù)的微處理器體系結(jié)構(gòu)。如結(jié)合圖1中的實(shí)施例說明的那樣,甚至能夠互連一個具有一條慢速處理器總線的處理器和一個具有一條快速處理器總線的處理器。
為了本應(yīng)用,以下也被認(rèn)為是一個處理器中央處理單元(CPU)、微處理器、數(shù)字信號處理器(DSP)、系統(tǒng)控制器(SC)、協(xié)處理器、輔助處理器等諸如此類。直接存儲器存取(DMA)單元是一個被設(shè)計用于把數(shù)據(jù)從一個存儲器傳遞到另一個設(shè)備而不通過處理器傳遞它的單元。DMA一般具有一個或多個專用的內(nèi)部DMA通道和一個或多個用于外部外圍設(shè)備的專用外部DMA通道。例如,DMA允許在一條處理器總線上的設(shè)備訪問存儲器而不需要通過處理器介入。
可共享單元的例子是易失性存儲器、非易失性存儲器、外圍設(shè)備、接口、輸入設(shè)備、輸出設(shè)備等諸如此類。
存取單元的一個實(shí)現(xiàn)例子如圖3所示。單元21包含一個處理器接口32、一個直接存取單元(DAU)31、和一個外部DMA通道接口30。處理器接口32具有用于連接到處理器總線20的一個數(shù)據(jù)鏈路33和一個控制鏈路34。外部DMA通道接口30具有一個輸出連接到DMA單元11的外部DMA通道12。存取單元21在處理器總線20和DMA單元11之間提供了一個半雙工通道。存取單元21利用外部DMA通道12以便從可共享的單元13傳輸信息(數(shù)據(jù)和/或控制信息)以及把它傳輸?shù)娇晒蚕淼膯卧?3。這樣一個外部DMA通道-與由與它相關(guān)聯(lián)的處理器控制的一個內(nèi)部DMA通道相反-是由外部代理設(shè)置的,以便使遠(yuǎn)程處理器P2可以訪問可共享的單元13。
存取單元21去耦在第一處理器P1的時鐘域和第二處理器P2的時鐘域之間的數(shù)據(jù)流。這意味著對存取單元21的寄存器的訪問總是能夠在一個周期中完成,而獨(dú)立于實(shí)際上把數(shù)據(jù)傳輸?shù)紻MA 11的外部通道12需要花費(fèi)多長時間。在圖1中的右側(cè)發(fā)生傳輸?shù)臅r間期間內(nèi),左側(cè)可以被停機(jī)或不是,這取決于實(shí)現(xiàn)。這意味著處理器2可以繼續(xù)操作而幾乎沒有影響它的性能。
根據(jù)本發(fā)明,存取單元21能夠僅僅由一個核心進(jìn)行程序設(shè)計。
外部DMA通道接口30和/或DAU核心31能夠被標(biāo)準(zhǔn)化。換句話說,根據(jù)本發(fā)明,每個存取單元可以包含一個相同功能的核心。只有處理器接口32必須被修改,這取決于實(shí)際使用的處理器和/或處理器總線。由于最大化了重新使用和減少了驗(yàn)證工作,這導(dǎo)致了一個減少了的研發(fā)時間。
如圖3所示,存取單元21包含兩個截然不同的單元,即外部DMA通道接口30和DAU核心31。這是有利的,因?yàn)樽罴褦?shù)據(jù)同步能夠由這樣的一種設(shè)計來加以保證。然而,把DMA通道接口30和DAU核心31組合到一個單元里也是可能的。
雙處理器系統(tǒng)45的另一個實(shí)施例如圖4所示。這個方案被稱作一個對稱串聯(lián)。這個系統(tǒng)45包含一個經(jīng)由一條處理器總線40連接到一個可共享單元43的第一處理器P1。第一處理器總線40是一條8位、150MHz的總線。系統(tǒng)45包含一個也具有一條處理器總線50的第二處理器P2。這個第二處理器總線50是一個32位、66MHz總線,即總線40比總線50更快。從第一處理器環(huán)境46到第二處理器環(huán)境52(在圖4中以圓圈示意地說明)的一個互連是經(jīng)由一個存取單元48和一個DMA54建立的,而從第二處理器環(huán)境52到第一處理器環(huán)境46的一個互連是經(jīng)由一個存取單元51和一個DMA41建立的。
DMA單元41經(jīng)由它的內(nèi)部接口44連接到處理器總線40,并且經(jīng)由它的外部接口42連接到存取單元51。外部接口42是8位寬的。存取單元51本身被連接到第二處理器P2的處理器總線50上。能夠在單元51和可共享的單元43之間建立一條用于傳輸信息的通信通道,即在處理器環(huán)境52內(nèi)的設(shè)備和/或單元51能夠訪問可共享的單元43,而不必通過處理器P1,而且不用考慮可共享的單元43與第一處理器環(huán)境46相連的事實(shí)。第二處理器環(huán)境52也包含一個可共享的單元53,它能夠從第一處理器環(huán)境46內(nèi)部進(jìn)行訪問。
DMA單元54經(jīng)由它的內(nèi)部接口57連接到處理器總線50,并且經(jīng)由它的外部接口55連接到存取單元48。外部接口55是8位寬的。存取單元48本身被連接到第一處理器P1的處理器總線40上。在單元48和處理器環(huán)境52內(nèi)部的某些資源之間能夠建立一條用于傳輸信息的通信通道。這就是說在處理器環(huán)境46內(nèi)部的資源和/或單元48能夠訪問在處理器環(huán)境52內(nèi)部的某些資源而不必通過處理器P2。這意味著,沒有必要連接第一處理器P2用于訪問在這個處理器環(huán)境52內(nèi)部的資源。
在圖5中給出了具有兩個處理器環(huán)境46和52的公共半導(dǎo)體沖模49的一個簡圖。有一個用于處理器間通信、從處理器環(huán)境52到處理器環(huán)境46建立的通信通道47,和一個從處理器環(huán)境46到處理器環(huán)境52建立的通信通道56。
這個對稱的雙處理器方案45允許第二處理器P2訪問可共享的單元43,并且允許處理器P1訪問在處理器環(huán)境52內(nèi)部的資源。
DMA單元41和存取單元51的一個實(shí)現(xiàn)例子在圖6的下半部分進(jìn)行了說明。DMA單元54和存取單元48在圖6的上半部分進(jìn)行了說明。單元51和48與圖3中的單元21相同。唯一必須修改的部分是處理器接口62和72。直接存取單元核心(DAU核心)61和71以及外部DMA通道接口60和70是相同的。處理器接口72具有用于連接到處理器總線50的一個數(shù)據(jù)鏈路58和一個控制鏈路59。外部DMA通道接口70具有一個輸出連接到DMA單元41的外部DMA通道42。存取單元51提供了一個半雙工通道往返于處理器總線50和DMA單元41之間。存取單元51利用外部DMA通道42以便從可共享的單元43中傳輸信息(數(shù)據(jù)和/或控制信息)。外部DMA通道接口60具有一個輸出連接到DMA單元54的外部DMA通道55。存取單元48提供了一個半雙工通道往返于處理器總線40和DMA單元54之間。存取單元48利用外部DMA通道55以便向處理器環(huán)境52傳輸信息(數(shù)據(jù)和/或控制信息)。
存取單元51和48去耦在第一處理器P1的時鐘域和第二處理器P2的時鐘域之間的數(shù)據(jù)流,如圖7中示意地說明的那樣。第一處理器P1的時鐘信號(P1時鐘)經(jīng)由一條時鐘線74傳送到存取單元48的DAU核心61和處理器接口62。第二處理器P2的時鐘信號(P2時鐘)經(jīng)由一條時鐘線73傳送到存取單元51的DAU核心71和處理器接口72。對存取單元51或者48中的寄存器的訪問總是能夠在一個處理器時鐘周期中執(zhí)行,而獨(dú)立于實(shí)際上把數(shù)據(jù)傳輸?shù)酵獠客ǖ?2或者55需要花費(fèi)多長時間。
圖8是依據(jù)本發(fā)明另一實(shí)施例包含三個處理器P1、P2、和P3的一個計算機(jī)系統(tǒng)80的框圖。第一處理器P1經(jīng)由一條快速處理器總線81連接到一個DMA1。使用了一個橋接器82以連接處理器總線81到一條具有幾個外圍設(shè)備1a和1b的慢速外圍總線83。這些元件是第一處理器環(huán)境的所有部分。第二處理器P2和快速處理器總線84是第二處理器環(huán)境的一部分。處理器P3經(jīng)由一條快速處理器總線85和一個橋接器86連接到一條慢速外圍總線87。在本實(shí)施例中,有兩個外圍設(shè)備3a和3b連接到這條外圍總線87。根據(jù)本發(fā)明,如圖8所示,在三個處理器P1、P2、P3之間建立實(shí)際的半雙工通道。使用了包含一個DAU核心和一個外部DMA通道接口的一個存取單元88,以在處理器總線84和第一處理器P1的DMA1之間建立一個連接89。在第一處理器環(huán)境內(nèi)部也有包含一個DAU核心和一個外部DMA通道接口的一個存取單元90。使用了這個存取單元90以建立一個到第二處理器環(huán)境中的DMA2的連接91。存取單元88和DMA1在一側(cè)、而存取單元90和DMA2在另一側(cè)的方案是對稱的,如圖8中所示。在本實(shí)施例中,在第一處理器環(huán)境和第三處理器環(huán)境之間也有一個連接92。這個連接92建立在在左手側(cè)的存取單元93和在右手側(cè)的DMA3之間。最后但并非最不重要的,還有一個用于互連第二和第三處理器環(huán)境的連接95。這個連接95把存取單元94連接到DMA2。存取單元90、93、94位于慢速外圍總線83、87中,并且經(jīng)由外部通道91、92、95連接到另一個處理器的DMA單元DMA2、DMA3。這提供了一個高度對稱的核心間的解決辦法。存取單元90、93、和94利用外部DMA通道以在/從遠(yuǎn)程外圍設(shè)備中傳輸日期。
還有另一個實(shí)施例100出現(xiàn)于圖9中。這個實(shí)施例100特征是在一個數(shù)字信號處理器(DSP)核心101和一個系統(tǒng)控制器(SC)核心102之間有兩個實(shí)際的半雙工通道。在DSP輸入/輸出空間中有一個連接到輸入/輸出總線105的存取單元103。兩個外圍設(shè)備(外圍設(shè)備1a和外圍設(shè)備2a)連接到外圍總線118。這個存取單元103經(jīng)由一個外部通道106連接到在SC102環(huán)境內(nèi)部的一個DMA2。一個存取單元104位于SC輸入/輸出空間中,它連接到一條外圍總線107。兩個外圍設(shè)備(外圍設(shè)備1b和外圍設(shè)備2a)連接到外圍總線107。這個存取單元104經(jīng)由一個外部通道108連接到在DSP 101環(huán)境內(nèi)部的一個DMA1。在本實(shí)施例中,每個存取單元103、104的特征是一個具有自動遞增功能的32位地址寄存器(s++)109、110和16位數(shù)據(jù)寄存器111、112、113、114。
通過一個核心對較遠(yuǎn)的存儲空間115、116的直接訪問能夠以一種間接尋址方式進(jìn)行,即,在能夠經(jīng)由數(shù)據(jù)寄存器111、112、113,114傳輸數(shù)據(jù)之前把地址寫入到地址寄存器109、110中。如果自動遞增功能被啟用了,則能夠進(jìn)行對后續(xù)地址的更進(jìn)一步訪問而不需要相應(yīng)地址寄存器的明確設(shè)置。這最小化了用于塊傳送的開銷,并且允許使用DMA而不必應(yīng)用一個地址。
在由一個DAU核心和一個DMA競爭使用存取單元的情況下,能夠提供兩個自動遞增的地址寄存器以允許準(zhǔn)并行操作。
如果SC總線117被SC核心102占用持續(xù)一個比較長的時期,則直接訪問可能導(dǎo)致在DSP101側(cè)上一個高的等待時間。為了在忙碌的時間內(nèi)傳輸較大的數(shù)據(jù)塊,能夠通過改變在SC總線117上的判優(yōu)模式而得到改善。
實(shí)現(xiàn)一種塊傳送模式也是可能的。在這種模式下,存取單元可以被配置為使用兩個DMAs傳送一個較大數(shù)據(jù)塊。
同時也可能實(shí)現(xiàn)一個郵箱功能。例如一個傳輸起源于SC102。一旦完成了一個傳輸,就在DSP101中產(chǎn)生一個中斷。DSP101能夠通過在SC102中產(chǎn)生一個中斷而請求一臺新的數(shù)據(jù)傳輸。為了允許準(zhǔn)并行使用塊傳送和郵箱功能,可以使用兩個自動遞增的地址寄存器。
依據(jù)另一個實(shí)施例,為了消息傳送目的使用了一個公共的共享郵箱單元,多處理器系統(tǒng)中的處理器都能夠訪問這個郵箱單元。
在本發(fā)明的另一個實(shí)施例中,依據(jù)本發(fā)明,兩個或多個處理器和一個用于處理器間通信的通信通道被集成到一個特定用途集成電路(ASIC)中。
在此提出和要求保護(hù)的體系結(jié)構(gòu)的一個優(yōu)點(diǎn)是它支持多個不同種類的處理器。本發(fā)明的方案能夠是擴(kuò)展到適合通用的多核心通信要求。根據(jù)本發(fā)明,由于潛在可用的DMA單元能被用于這個目的,所以用于每個處理器的總線控制的數(shù)目能夠被減少。原理和設(shè)計重用是另一個優(yōu)點(diǎn)。已經(jīng)結(jié)合本發(fā)明的各個實(shí)施例提到了其它各種優(yōu)點(diǎn)。
某些設(shè)備由DMA啟動以直接訪問存儲器的事實(shí)有助于加速處理。
提出的體系結(jié)構(gòu)是對稱的,而且可應(yīng)用到大多數(shù)的微處理器體系結(jié)構(gòu)中。它能夠被擴(kuò)展到多核心體系結(jié)構(gòu)中,即它與核心的數(shù)目無關(guān)。
本發(fā)明最適合在諸如PDAs、手持式計算機(jī)、掌上型計算機(jī)等之類的計算設(shè)備中使用。它也適于在蜂窩電話(例如、GSM電話)、無繩電話(例如,DECT電話)等中使用。在此提出的體系結(jié)構(gòu)能夠在用于上述設(shè)備的芯片或芯片組或者用于Bluetooth(藍(lán)牙)應(yīng)用的芯片中使用。
應(yīng)意識到,本發(fā)明的各個特征為了清楚起見在單獨(dú)的實(shí)施例環(huán)境中進(jìn)行了描述,但是它們也可以在單個實(shí)施例中組合提供。相反地,本發(fā)明的各個特征為了簡潔起見在單個實(shí)施例環(huán)境中進(jìn)行了描述,但是它們也可以分別地或者以任何適當(dāng)?shù)淖咏M合形式提供。
附圖和說明書公開了本發(fā)明的最佳實(shí)施例,而且盡管使用了特定的術(shù)語,但是因此給出的描述僅僅以一種通用的和敘述性的意義使用專業(yè)詞匯,并不是為了限制目的。
權(quán)利要求
1.一個系統(tǒng)(15),包含兩個可以經(jīng)由一個用于交換信息的通信通道(17)連接的集成處理器(P1,P2),其特征在于 一個處理器(P1)具有一條處理器總線(10);一個具有一個外部DMA通道(12)的DMA單元(11),該DMA單元(11)連接到處理器總線(10);一個可共享的單元(13),連接到處理器總線(10), 另一個處理器(P2)具有一個存取單元(21),可以連接到外部DMA通道(12),從而能夠經(jīng)由外部DMA通道(12)、DMA單元(11)、和處理器總線(10)建立從存取單元(21)到可共享單元(13)的通信通道(17)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于從一個體系結(jié)構(gòu)的觀點(diǎn)來說處理器(P1)和處理器(P2)是類似的。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于處理器(P1)和處理器(P2)被實(shí)現(xiàn)為具有同一類型的處理器設(shè)計。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于處理器(P1)和處理器(P2)被實(shí)現(xiàn)為具有不同類型的處理器設(shè)計。
5.如權(quán)利要求1、2、3、或者4所述的系統(tǒng),其特征在于可共享的單元(13)為下列中任何一個存儲器、外圍設(shè)備、接口、輸入設(shè)備、輸出設(shè)備。
6.如權(quán)利要求1、2、3、或者4所述的系統(tǒng),其特征在于兩個集成處理器(P1、P2)中的一個是一個中央處理單元(CPU)、一個微處理器、一個數(shù)字信號處理器(DSP)、一個系統(tǒng)控制器(SC)、一個協(xié)處理器、或者一個輔助處理器。
7.如權(quán)利要求1、2、3、或者4所述的系統(tǒng),其特征在于DMA單元(11)具有一個或多個專用的內(nèi)部DMA通道。
8.如權(quán)利要求1、2、3、或者4所述的系統(tǒng),其特征在于存取單元(21)包含一個處理器接口(32)、一個直接存取單元核心(31)、和一個外部DMA通道接口(30)。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于處理器接口(32)具有用于連接到另一個處理器(P2)的一條處理器總線(20)的一個數(shù)據(jù)鏈路(33)和一個控制鏈路(34)。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于通信通道(17)是一個半雙工通道。
11.如在前權(quán)利要求中任何一個所述的系統(tǒng),其特征在于通信通道(17)被使用用于向可共享的單元(13)傳輸數(shù)據(jù)和/或控制信息并且從該可共享的單元(13)中傳輸它們。
12.一個計算設(shè)備,包含兩個配置在一個公共半導(dǎo)體沖模上、并且可以經(jīng)由一個用于交換信息的通信通道(17)連接的處理器(P1,P2),其特征在于 一個處理器(P1)具有一條處理器總線(10);一個具有一個外部DMA通道(12)的DMA單元(11),該DMA單元(11)連接到處理器總線(10);一個可共享的單元(13),連接到處理器總線(10), 另一個處理器(P2)具有一個存取單元(21),可以連接到外部DMA通道(12),從而能夠經(jīng)由外部DMA通道(12)、DMA單元(11)、和處理器總線(10)建立從存取單元(21)到可共享單元(13)的通信通道(17)。
13.如權(quán)利要求12所述的計算設(shè)備是一個PDA、一個手持式計算機(jī)、一個掌上型計算機(jī)、一個蜂窩電話、或者一個無繩電話的一部分。
全文摘要
一個系統(tǒng)(15)包含至少兩個集成的處理器(P1和P2)。這兩個處理器(P1和P2)可以經(jīng)由一個用于交換信息的通信通道(17)連接。一個處理器(P1)具有一條處理器總線(10)、一個可共享的單元(13)、以及一個具有一個外部DMA通道(12)的DMA單元(11)。該DMA單元(11)和可共享單元(13)連接到處理器總線(10)。另一個處理器(P2)具有一個可以連接到DMA單元(11)的DMA通道(12)的存取單元(21)。由于這個方案,能夠經(jīng)由外部DMA通道(12)、DMA單元(11)、和處理器總線(10)建立一個從存取單元(21)到可共享單元(13)的通信通道(17)。
文檔編號G06F15/17GK1394310SQ01803307
公開日2003年1月29日 申請日期2001年8月23日 優(yōu)先權(quán)日2000年9月6日
發(fā)明者S·科克, H·-J·格爾克, A·赫爾特維格 申請人:皇家菲利浦電子有限公司