專利名稱:多處理器通信系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及多處理器通信系統(tǒng),該系統(tǒng)包括至少兩個彼此進行數據通信的處理 器,該處理器具有網絡接口,其通過權利要求1所述的網絡數據連接來連接。
背景技術:
通常,電子系統(tǒng)內部地通信或與其他系統(tǒng)通信,使得系統(tǒng)中的第一數據產生處 理器與該系統(tǒng)或另一系統(tǒng)中的第二數據消耗處理器交換數據。該通信經由所謂的對等 (peer-2-peer)流傳輸接口而進行,同時數據產生處理器和數據消耗處理器經由所謂的 FIFO緩沖器或先入先出緩沖器交換數據。由于數據產生處理器必須饋給(feed)FIFO緩沖 器,如果數據產生緩沖器沒有存儲空間或容量從數據產生處理器獲取數據,那么該緩沖器 會停止工作(stall)。另一方面,如果FIFO緩沖器中沒有可用的數據,那么數據消耗處理器 會停止工作。如所述,存在若干種可能,由于失去處理器和緩沖器之間的通信而造成系統(tǒng)性 能下降。因此,通信協議用于控制處理器之間的通信。然而,當前使用的DTL流傳輸協議并 不創(chuàng)建或使用指示FIFO緩沖器中有多個字空間可用的信號。此外,沒有提供表明FIFO緩 沖器內的可用字數據數量的信號。結果,在若干情況下,可能會出現死鎖(deadlock)情況, 其中由于上述機制導致通信停止。關于系統(tǒng)性能,死鎖情況可能會嚴重降低性能,并且導致 實現某種程度的性能的成本增加。此外,US4272819公開了一種子系統(tǒng)間通信系統(tǒng),其中提供了直接存儲器訪問,而 且還提供了包含存儲器訪問信息的隊列元素。W091/11768公開了一種用于在主處理器和從處理器之間傳輸消息的消息傳輸系 統(tǒng),其中提供了 FIFO互連。
發(fā)明內容
本發(fā)明的目的是創(chuàng)建一種多處理器通信系統(tǒng),其改進了通信性能或緩解了上述問題。本發(fā)明的目的將通過根據權利要求1所述的多處理器通信系統(tǒng)來解決。本發(fā)明的 多處理器通信系統(tǒng)包括至少兩個彼此通信的處理器,該處理器具有網絡接口,該網絡接口 通過網絡數據連接來連接,各個網絡接口包括至少一個FIFO緩沖器和至少一個寄存器,該 寄存器指示該FIFO緩沖器中可用的已有數據或空閑空間。根據本發(fā)明,至少一個網絡接口包括多于一個的寄存器和/或多于一個的FIFO 緩沖器是有利的。此外,至少一個網絡接口包括兩個或更多個寄存器和/或兩個或更多個 FIFO緩沖器(在存儲映射中分別具有相同的唯一地址)是有利的。另外,根據本發(fā)明的另一方面,寄存器指示可用的空閑數據空間或可用的空閑數 據空間之和。
通過下文結合附圖對本發(fā)明的示范性實施例的描述,本發(fā)明的上述和其他特征和 優(yōu)點將會變得明顯,附圖中圖1示出了經由FIFO緩沖器在兩個處理器之間進行通信的示意圖;以及圖2示出了解釋本發(fā)明的技術方案的實施例的示意圖。
具體實施例方式圖1示出了解釋通過緩沖器4在兩個處理器2和3之間進行通信的示意圖1。緩 沖器4是所謂的FIFO緩沖器或先入先出緩沖器。該FIFO緩沖器是已知的,其根據數據輸 入8來控制數據輸出7。處理器3(Proc 2)能夠并且希望從緩沖器4讀取數據7并發(fā)出加 載指示,從而產生加載請求req信號為高(由箭頭5表示)。如果緩沖器4中不存在來自沒 有完成數據發(fā)送的處理器1的可用數據7 (由信號緩沖器空為高表示,參見箭頭6),那么處 理器3停止工作。在處理器3已經發(fā)出加載信號后,其不能執(zhí)行向另一任務的切換,直到該 加載已經完成并且所有的數據已經到達處理器3。因此,處理器3被阻止用于所有其他任 務,由于等待該加載處理的完成,使性能嚴重降低。此外,如果FIFO緩沖器完全被填滿并且處理器不能向緩沖器發(fā)送新的數據(由箭 頭9表示),那么處理器2將會停止工作。另一方面,數據產生處理器2可能需要在處理器 1的各個處理或任務能夠產生所需的數據之前等待來自處理器3的、針對這些任務之一的 輸入數據,因而最終使得兩個處理器被阻止并發(fā)生死鎖情況。本發(fā)明的系統(tǒng)提供了 在加載 或存儲處理將要啟動之前,由處理器檢查FIFO緩沖器中是否存在空間或數據以完成該任 務或處理。一種可能是,發(fā)出加載信號,其輪詢FIFO緩沖器中是否存在空間(例如一個字) 或是否存在可用數據。相應地,該信號應當被逐字(word by word)輪詢,其被寫入或存儲 在緩沖器中或者從緩沖器讀取。圖2示出了通過實施例描述的本發(fā)明的另一技術方案。圖2示出了示意圖20,其 中,示出了兩個處理器21和22之間的通信系統(tǒng),通過網絡通信鏈路23揭示兩個處理器21 和22彼此進行數據通信。網絡通信鏈路23包括第一網絡接口 M和第二網絡接口 25以及 網絡連接26。第一網絡接口 M優(yōu)選地集成在第一處理器21的網絡接口中,或者是第一處 理器21的接口,而第一處理器21是數據產生處理器。第二網絡接口 25優(yōu)選地集成在第二 處理器22的網絡接口中,或者是第二處理器22的接口,而第二處理器22是數據產生處理器。從圖2可以看出,網絡接口對和25兩者具有寄存器27、28、四、30和FIFO緩沖 器31、32、33、34。每一個緩沖器具有各自的寄存器,使得寄存器27 (regl)是FIFO緩沖器 31 (FIF01)的相應寄存器,寄存器觀(1~叩2)是FIFO緩沖器32(FIF02)的相應寄存器,寄 存器四(reg3)是FIFO緩沖器33 (FIF03)的相應寄存器,寄存器30 (reg4)是FIFO緩沖器 33(FIF04)的相應寄存器。在此實例中,例如存儲在寄存器中的值可以指示緩沖器中可用的 數據或數據空間或存儲空間的數量(例如緊接在處理器之后的)。根據另一實施例,寄存器中的值可以指示一個網絡接口的緩沖器中的數據量之和 或數據可用空間之和。根據本發(fā)明,一個網絡接口的寄存器和FIFO緩沖器是存儲器映射的(memorymapped),使得它們在存儲器映射中具有唯一的地址。寄存器27、28、四、30中的信息值指示 相應的FIFO緩沖器31、32、33、34中有多少可用的數據字或字空間(優(yōu)選地緊接在處理器 之后)。如果目標是獨立于網絡的延遲和吞吐量設置而確定任務的執(zhí)行時間,這是有利的。 所提到的系統(tǒng)的執(zhí)行時間是重要的,因為它們是設計時(design-time)吞吐量和延遲分析 技術的輸入數據并因此用作特殊分析技術的輸入數據。最后,在使用輪詢處理已經確定FIFO緩沖器31、32、33、34中存在數據或FIFO緩 沖器31、32、33、34中存在特定數量的字空間之后,各個處理器21和22能夠并準備好隨后 對FIFO緩沖器31、32、33、34的寫入處理,或者是隨后的用于從FIFO緩沖器31、32、33、;34 讀取數據的數據讀取處理。根據本發(fā)明,處理器21和22不必完全填滿FIFO緩沖器31、32、33、34的數據空間 或完全消耗FIFO緩沖器31、32、33、34的數據空間。因此,在每一個加載處理或存儲處理之 后,能夠對任務進行預清空(pre-empted),并且在設計時可以知曉完成加載處理或存儲處 理最多需要多長時間。該知識允許創(chuàng)建這樣的系統(tǒng)其中一個任務不會影響另一個任務的進展。此外,如果目標是確保上述死鎖不會發(fā)生,那么寄存器27、28、四、30中的至少一 個能夠指示哪些數據在所提供的FIFO緩沖器31、32、33、34中可用。寄存器27、28、四、30 可以相應地指示可用空間或可用空間和/或各個授信額度(credit)之和。為了創(chuàng)建所謂的死鎖免除(freedom),即例如僅對于所謂的盡力(best-effort) 應用來說不會發(fā)生死鎖,網絡可能最終會以無法預測的方式影響其他任務的執(zhí)行時間,這 是因為網絡的消耗速度將會決定各個任務的加載處理的進展。在從FIFO緩沖器的每一個 加載期間,處理器不能執(zhí)行任務改變或任務切換。此外,加載處理發(fā)生的時間以及這個加載 時間的長度可能取決于網絡的產生速度,但是這并沒有針對所謂的盡力網絡而定義。因此, 其可能會影響通信系統(tǒng)的性能和其他任務的進展。附圖標記
1示意圖
2處理器
3處理器
4FIF0緩沖器
5箭頭
6箭頭
7數據輸出
8數據輸入
9箭頭
20示意圖
21處理器
22處理器
23網絡通信鏈路
24網絡接口
25網絡接口
5
26網絡連接
27寄存器
28寄存器
29寄存器
30寄存器
31FIF0緩沖器
32FIF0緩沖器
33FIF0緩沖器
34FIF0緩沖器
權利要求
1.一種多處理器通信系統(tǒng)(20),包括至少兩個彼此通信的處理器01,22),所述處理 器具有網絡接口 04,25),所述網絡接口通過網絡數據連接06)而連接,其特征在于,各個 網絡接口( ,25)包括至少一個FIFO緩沖器(31,32,33,34)和至少一個寄存器(27,28, 四,30),所述寄存器指示所述FIFO緩沖器中可用的已有數據或空閑空間。
2.根據權利要求1所述的多處理器通信系統(tǒng),其中,至少一個網絡接口包括多于一個 的寄存器(27,28,29,30)和/或多于一個的FIFO緩沖器(31,32,33,34)。
3.根據權利要求1或2所述的多處理器通信系統(tǒng),其中,至少一個網絡接口包括兩個或 更多個寄存器(27,28,29,30)和/或兩個或更多個FIFO緩沖器(31,32,33,34),所述寄存 器和FIFO緩沖器在存儲映射中分別具有相同的唯一地址。
4.根據上述權利要求中至少一項所述的多處理器通信系統(tǒng),其中,寄存器07,觀,29, 30)指示可用的空閑數據空間或可用的空閑數據空間之和。
全文摘要
本發(fā)明涉及多處理器通信系統(tǒng)(20),該系統(tǒng)包括至少兩個彼此進行數據通信的處理器(21,22),該處理器具有網絡接口(24,25),所述網絡接口通過網絡數據連接(26)而連接,其中,各個網絡接口(24,25)包括至少一個FIFO緩沖器(31,32,33,34)和至少一個寄存器(27,28,29,30),所述寄存器指示所述FIFO緩沖器中可用的已有數據或空閑空間。
文檔編號H04L12/56GK102124705SQ200980132122
公開日2011年7月13日 申請日期2009年8月18日 優(yōu)先權日2008年8月19日
發(fā)明者馬可·J·G·貝庫伊 申請人:Nxp股份有限公司