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