国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于交換數(shù)據(jù)的集成電路和方法

      文檔序號:7871690閱讀:157來源:國知局
      專利名稱:用于交換數(shù)據(jù)的集成電路和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及具有多個處理模塊和被安排用來提供處理模塊間的連接的網(wǎng)絡(luò)的集成電路和用于在這種集成電路中交換消息的方法。
      背景技術(shù)
      硅上系統(tǒng)由于用于實現(xiàn)現(xiàn)有功能的新特性和改進的日益增長的需要,在復(fù)雜性方面顯示出持續(xù)的增長。這通過利用其可在集成電路上集成部件的增加的密度來實現(xiàn)。同時,電路操作的時鐘速度也趨于增加。與部件的增加密度結(jié)合的更高的時鐘速度已經(jīng)減少了可在相同時鐘域內(nèi)同時操作的區(qū)域。這已產(chǎn)生了對于模塊化方法的需要。根據(jù)這種方法,處理系統(tǒng)包括多個相對獨立的、復(fù)雜的模塊。在傳統(tǒng)的處理系統(tǒng)中,系統(tǒng)模塊通常經(jīng)總線彼此通信。然而,隨著模塊數(shù)量增加,由于下述原因,這種通信方法不再實用。一方面,大量模塊形成非常高的總線負(fù)荷。另一方面,由于總線僅允許一個設(shè)備向其發(fā)送數(shù)據(jù),所以總線形成通信瓶頸。通信網(wǎng)絡(luò)形成了一種克服這些缺點的有效的方法。
      作為高度復(fù)雜的芯片中的互連問題的解決方案,片上網(wǎng)絡(luò)(NoC)近來已經(jīng)受到相當(dāng)多的關(guān)注。原因有兩方面。首先,NoC有助于解決深亞微米技術(shù)方面的電氣問題,因為它們構(gòu)造和管理全局導(dǎo)線。同時,它們共享導(dǎo)線,降低了它們的數(shù)量并增加了它們的利用率。NoC也可是能量高效和可靠的,并且與總線相比是可稱的。其次,NoC還將計算和通信分離,其主要管理十億晶體管芯片的設(shè)計。NoC實現(xiàn)了此分離,因為傳統(tǒng)上使用協(xié)議棧來設(shè)計它們,所述協(xié)議棧提供了將通信服務(wù)使用與服務(wù)實現(xiàn)分開的明確定義的接口。
      然而,當(dāng)設(shè)計片上系統(tǒng)(SoC)時,使用用于片上通信的網(wǎng)絡(luò)引起了許多必須考慮的新問題。這是因為與其中直接連接通信模塊的現(xiàn)有的片上互連(例如總線、交換機或點到點導(dǎo)線)相對比,在NoC中模塊經(jīng)網(wǎng)絡(luò)節(jié)點遠(yuǎn)程通信。因此,互連判優(yōu)從集中式改變成分布式,并且必須通過知識產(chǎn)權(quán)塊(IP)或通過網(wǎng)絡(luò)來處理諸如無序事務(wù)、更高等待時間和端到端流量控制之類的問題。
      這些主題的大多數(shù)已經(jīng)是局域與廣域網(wǎng)(計算機網(wǎng)絡(luò))和作為用于并行機互連網(wǎng)絡(luò)的互連的領(lǐng)域中的研究課題。兩者都與片上網(wǎng)絡(luò)密切相關(guān),并且在那些領(lǐng)域中的許多結(jié)果也可應(yīng)用于片上。然而,NoC的前提是與片外網(wǎng)絡(luò)不同的,因此,必須重新評估大多數(shù)網(wǎng)絡(luò)設(shè)計選擇。片上網(wǎng)絡(luò)具有導(dǎo)致最終影響網(wǎng)絡(luò)服務(wù)的不同設(shè)計選擇的不同屬性(例如更嚴(yán)格的鏈路步)和約束(例如更高存儲器成本)。
      NoC不同于片外網(wǎng)絡(luò)主要在于它們的約束和同步。通常,片上的資源限制比片外更嚴(yán)格。內(nèi)存(即存儲器)和計算資源相對更昂貴,而片上點到點鏈路的數(shù)量比片外大。內(nèi)存昂貴,因為諸如RAM之類的通用片上存儲器占用大的面積。使存儲器以相對較小的尺寸分布在網(wǎng)絡(luò)部件中甚至更糟,因為那時存儲器中的開銷面積變成主要的。
      對片上網(wǎng)絡(luò)來說,與片外網(wǎng)絡(luò)相比,計算也以相對較高的成本獲得。片外網(wǎng)絡(luò)接口通常包含專用處理器來實現(xiàn)達到網(wǎng)絡(luò)層或甚至更高的協(xié)議棧,以使主處理器免于通信處理。在網(wǎng)絡(luò)接口中包括專用處理器在片上是不可行的,因為網(wǎng)絡(luò)接口的大小將變得比得上連接到網(wǎng)絡(luò)上的IP或更大。此外,在IP本身上運行協(xié)議棧也是不可行的,因為通常這些IP僅具有一個專用功能,并且不具有運行網(wǎng)絡(luò)協(xié)議棧的能力。
      連接網(wǎng)絡(luò)部件的導(dǎo)線和管腳的數(shù)量在片上比片外大一個數(shù)量級。如果它們整體上不被用于除NoC通信外的其他目的,則它們允許廣泛的點到點互連(例如300位鏈路)。這對片外是不可能的,其中鏈路相對更窄8-16位。
      片上導(dǎo)線也比片外相對更短,允許比片外更嚴(yán)格的同步。這允許減少路由器中的緩沖空間,因為能以更小粒度進行通信。在當(dāng)前的半導(dǎo)體技術(shù)中,導(dǎo)線也是快的和可靠的,這允許更簡單的鏈路層協(xié)議(例如不需要糾錯或重傳)。這也補償了缺乏的存儲和計算資源。
      可靠通信嚴(yán)格的片上資源限制的結(jié)果是網(wǎng)絡(luò)部件(即路由器和網(wǎng)絡(luò)接口)必須十分簡單以最小化計算和存儲的需要。幸運地,片上導(dǎo)線提供了可靠的通信介質(zhì),這可有助于避免由用于提供可靠通信的片外網(wǎng)絡(luò)引起的相當(dāng)大的開銷。數(shù)據(jù)的完整性可在數(shù)據(jù)鏈路層處以低的成本被提供。
      死鎖計算機的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)通常具有不規(guī)則的(可能動態(tài)的)結(jié)構(gòu),這會引入緩沖循環(huán)。例如通過將約束引入到拓?fù)浣Y(jié)構(gòu)或路由中也能避免死鎖。已經(jīng)考慮將胖樹拓?fù)浣Y(jié)構(gòu)用于NoC,其中死鎖通過在緩沖器溢出的情況下反沖網(wǎng)絡(luò)中的分組來避免。系統(tǒng)設(shè)計的基于平鋪的方法使用網(wǎng)格或圓環(huán)形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其中可以使用例如轉(zhuǎn)向模型(turn-mode)路由算法來避免死鎖。死鎖主要由緩沖器中的循環(huán)引起。為了避免死鎖,路由必須是無循環(huán)的,因為其在實現(xiàn)可靠通信中的低成本。死鎖的第二個原因是事務(wù)的原子鏈。原因在于當(dāng)鎖定一個模塊時,存儲事務(wù)的隊列會被原子事務(wù)鏈外的事務(wù)填充,阻塞了訪問鏈中的事務(wù)以到達該鎖定模塊。如果必須實現(xiàn)原子事務(wù)鏈(將與允許此的諸如MIPS之類的處理器兼容),網(wǎng)絡(luò)節(jié)點將能夠過濾原子鏈中的事務(wù)。
      網(wǎng)絡(luò)流量控制和緩沖策略網(wǎng)絡(luò)流量控制和緩沖策略對網(wǎng)絡(luò)中的存儲器利用率有直接的影響。蛀洞路由僅要求路由器中的flit緩沖器(每個隊列),而存儲轉(zhuǎn)發(fā)和虛擬直通路由至少要求容納一個分組的緩沖空間。因此,片上的蛀洞路由優(yōu)于虛擬直通或存儲轉(zhuǎn)發(fā)路由。類似地,輸入排隊可以是虛擬輸出排隊或輸出排隊緩沖策略的更低存儲器成本的備選方案,因為它具有更少隊列。專用(低成本)FIFO存儲器結(jié)構(gòu)還允許虛擬直通路由或虛擬輸出排隊的片上使用,用于更好性能。然而,同時使用虛擬直通路由和虛擬輸出排隊代價仍然太高。
      時間相關(guān)保證片外網(wǎng)絡(luò)通常使用分組交換和提供盡力而為服務(wù)。在每個網(wǎng)絡(luò)節(jié)點處出現(xiàn)爭用,使得很難提供等待時間保證。使用諸如基于速率的交換或基于最后期限的分組交換之類的方案仍然能提供吞吐量保證,但具有高緩沖成本。提供這種時間相關(guān)保證的備選方案是使用時分多址(TDMA)電路,其中每個電路專用于網(wǎng)絡(luò)連接。電路以相對較低的存儲器和計算成本來提供保證。當(dāng)網(wǎng)絡(luò)體系結(jié)構(gòu)允許任何一種剩余的保證帶寬由盡力而為通信使用時,則增加了網(wǎng)絡(luò)資源利用。
      當(dāng)與諸如總線或交換機之類的直接互連相比時,引入網(wǎng)絡(luò)作為片上互連徹底地改變了通信。這是因為網(wǎng)絡(luò)的多跳特性,其中不直接連接通信模塊,而是由一個或多個網(wǎng)絡(luò)節(jié)點分開。這與其中直接連接模塊的普遍的現(xiàn)有互連(即總線)形成對比。這一改變的含意在于判優(yōu)(其必須從集中式改變成分布式)和通信屬性(例如排序或流量控制)。
      以下給出NoC和總線差異的概述。我們主要將總線稱為直接互連,因為目前它們是最多使用的片上互連。大多數(shù)的總線特征還適用于其他直接互連(例如交換機)。多級總線是總線和NoC間的混合。為此,根據(jù)網(wǎng)橋的功能性,多級總線的性能像簡單總線或者像NoC一樣。總線的程序設(shè)計模型通常由實施為基本總線事務(wù)的序列的加載和存儲操作組成??偩€接口通常具有用于命令、地址、寫入數(shù)據(jù)和讀出數(shù)據(jù)的專用導(dǎo)線組??偩€是由多個IP共享的資源。因此,在使用它之前,IP必須經(jīng)過判優(yōu)階段,其中,它們請求訪問總線并且被阻塞,直到總線準(zhǔn)許它們?yōu)橹埂?br> 總線事務(wù)包含請求以及可能響應(yīng)。發(fā)出請求的模塊稱為主模塊,以及服務(wù)請求的那些模塊稱為從模塊。如果存在用于請求-響應(yīng)對的單個判優(yōu),則該總線稱為不分割。在這種情況下,總線保持分配給事務(wù)的主模塊直到遞送響應(yīng)為止,即使這花費很長時間??商娲?,在分割總線中,在啟動允許來自不同主模塊的事務(wù)的請求后,釋放總線。然而,對該響應(yīng)必須執(zhí)行新判優(yōu),以便從模塊能訪問該總線。
      對于分割和不分割總線,兩個通信方直接并立即訪問事務(wù)的狀態(tài)。相反,網(wǎng)絡(luò)事務(wù)是從源處的輸出緩沖器到目的地處的輸入緩沖器的在目的地處產(chǎn)生一些動作的單向傳送,其的出現(xiàn)在源處是不可見的。一個網(wǎng)絡(luò)事務(wù)的效果僅通過另外的事務(wù)可觀察。請求-響應(yīng)型操作仍然是可能的,但要求至少兩個不同的網(wǎng)絡(luò)事務(wù)。因此,在NoC中總線型的事務(wù)實質(zhì)上是分割事務(wù)。
      此外,在協(xié)議棧中每層處的網(wǎng)絡(luò)中,必須連同數(shù)據(jù)(例如分組類型、網(wǎng)絡(luò)地址、或分組大小)一起提供控制信息。此控制信息組織為包圍數(shù)據(jù)的信包。也就是說,首先發(fā)送報頭,繼之以實際數(shù)據(jù)(有效負(fù)載),可能再加上是報尾??梢詾橄嗤瑪?shù)據(jù)提供多個這種信包,每個包含用于網(wǎng)絡(luò)協(xié)議棧中每一層的相應(yīng)控制信息。
      緩沖和流量控制主模塊的緩沖數(shù)據(jù)(輸出緩沖)用于總線和NoC以將計算和通信分離。然而,對于NoC還需要輸出緩沖以編排數(shù)據(jù),其包括(a)(可選地)將輸出數(shù)據(jù)分割成由網(wǎng)絡(luò)傳輸?shù)母〉姆纸M,以及(b)在數(shù)據(jù)周圍添加對網(wǎng)絡(luò)的控制信息(分組報頭)。為了避免輸出緩沖器溢出,主模塊不必啟動產(chǎn)生比目前可用空間更多數(shù)據(jù)的事務(wù)。類似于輸出緩沖,輸入緩沖也用于分離計算和通信。在NoC中,還需要輸入緩沖來還原數(shù)據(jù)。
      此外,用于輸入緩沖器的流量控制不同于用于總線和NoC的流量控制。對于總線而言,直接鏈接源和目的地,因此,目的地直接給源發(fā)信號告知它不能接受數(shù)據(jù)。此信息甚至可以用于判優(yōu)器,以便總線不準(zhǔn)許試圖寫入滿的緩沖器的事務(wù)。
      然而,在NoC中,事務(wù)的目的地不能直接給源發(fā)信號告知其輸入緩沖器是滿的。因此,在填滿目的地的輸入緩沖器后,可以啟動可能來自多個源的到目的地的事務(wù)。如果輸入緩沖器是滿的,則不接受另外的輸入轉(zhuǎn)換,并存儲在網(wǎng)絡(luò)中。然而,這個方法易于導(dǎo)致網(wǎng)路擁塞、背壓和死鎖,因為數(shù)據(jù)最終一直存儲到源,阻塞了其間的鏈路。
      當(dāng)主模塊需要發(fā)送數(shù)據(jù)到從模塊時,主模塊不能在從模塊的緩沖空間滿時直接由從模塊來停止。為了避免緩沖器溢出,在主模塊和從模塊間必須有某種協(xié)議,其中從模塊保留用于主模塊的緩沖空間并隨時向主模塊報告可用的緩沖空間,即何時已經(jīng)使用了更多的緩沖空間。然而,此方案將在網(wǎng)絡(luò)中產(chǎn)生額外的通信量并會導(dǎo)致沒有效率的網(wǎng)絡(luò)資源利用,例如因為不利的緩沖器分配。
      為了避免輸入緩沖器溢出,可以連同端到端流量控制一起使用連接。在主模塊和一個或多個從模塊間建立的連接上,在從模塊的網(wǎng)絡(luò)接口處分配緩沖空間,并且主模塊的網(wǎng)絡(luò)接口被分配反映從模塊處的緩沖空間量的信用。主模塊在具有用于目的地從模塊的足夠的信用時才能發(fā)送數(shù)據(jù)。從模塊在它們使用數(shù)據(jù)時向主模塊授與信用。
      在主模塊和從模塊間實現(xiàn)端到端流量控制來確保在模塊間的連接中無數(shù)據(jù)丟失。數(shù)據(jù)按所請求的順序按時到達,因此,在網(wǎng)絡(luò)中不會出現(xiàn)爭用或“通信量阻塞”。然而,實現(xiàn)端到端流量控制代價昂貴。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種集成電路和一種用于在集成電路中交換消息的方法,其確保以低成本來完成事務(wù)。
      此目的是通過根據(jù)權(quán)利要求1的集成電路和根據(jù)權(quán)利要求9的用于交換消息的方法來實現(xiàn)的。
      因此,提供包括多個處理模塊M、S和被安排用于提供至少一個在第一和至少一個第二模塊M、S之間的連接的網(wǎng)絡(luò)N、RN的集成電路。所述連接支持包括從第一模塊到第二模塊的輸出消息和從第二模塊到第一模塊的返回消息的事務(wù)。所述集成電路包括至少一個丟失裝置DM,用于丟失由所述第一和第二模塊M、S交換的數(shù)據(jù)。
      因此,提供用于完成事務(wù)的一種替代方案,其中完全的和即時的事務(wù)完成僅應(yīng)用于某些情形。
      本發(fā)明基于在某些情況下允許丟失數(shù)據(jù)的思想。
      根據(jù)本發(fā)明的一方面,提供包括至少一個用于管理模塊M、S和網(wǎng)絡(luò)N、RN之間的接口的接口裝置ANIP、PNIP的集成電路,其中,所述接口裝置ANIP、PNIP包括用于丟失數(shù)據(jù)的第一丟失裝置DM。通過接口裝置可以控制數(shù)據(jù)丟失和因此的事務(wù)完成。
      根據(jù)本發(fā)明的另一方面,集成電路配備有由用于在沒有丟失數(shù)據(jù)的情況下轉(zhuǎn)發(fā)數(shù)據(jù)的多個網(wǎng)絡(luò)路由器組成的網(wǎng)絡(luò)N、RN,即僅允許接口裝置丟失數(shù)據(jù)。
      還是根據(jù)本發(fā)明的另一方面,所述丟失裝置DM適于如果丟失數(shù)據(jù)則創(chuàng)建錯誤消息。因此,所述數(shù)據(jù)源知悉數(shù)據(jù)丟失,以便它能稍后重發(fā)所述數(shù)據(jù),這將是另一事務(wù)的一部分。
      根據(jù)本發(fā)明的另一方面,所述丟失裝置DM適于將所述錯誤消息發(fā)送到第一丟失裝置DM。因此,錯誤消息被發(fā)送到接口裝置中的丟失裝置。
      還是根據(jù)本發(fā)明的另一方面,所述丟失裝置DM適于將所述錯誤消息發(fā)送所述第一模塊M。錯誤消息被直接發(fā)送給第一模塊。
      根據(jù)本發(fā)明的另一方面,所述接口裝置ANIP、PNIP適于存儲所接收的錯誤消息。因此,接口裝置跟蹤事務(wù)完成是可能的。
      根據(jù)本發(fā)明的另一方面,與第一模塊M有關(guān)的接口裝置ANIP不適于丟失錯誤消息。
      本發(fā)明還涉及一種用于在包括多個模塊的集成電路中交換消息的方法。經(jīng)網(wǎng)絡(luò)在連接上交換模塊間的消息,其中可以丟失由所述第一和第二模塊M、S交換的數(shù)據(jù)。
      本發(fā)明還涉及一種用于在包括如上所述的多個模塊的集成電路中交換消息的方法。
      本發(fā)明的另外方面在從屬權(quán)利要求中進行了描述。
      參考下文所述的實施例,本發(fā)明的這些和其他方面是顯而易見的并將被闡明。


      圖1示出根據(jù)第一實施例的片上系統(tǒng),以及圖2示出根據(jù)第二實施例的片上系統(tǒng)。
      具體實施例方式
      下述實施例涉及片上系統(tǒng),即經(jīng)某種互連在相同芯片上彼此通信的多個模塊?;ミB具體化為片上網(wǎng)絡(luò)NOC。片上網(wǎng)絡(luò)可以包括網(wǎng)絡(luò)內(nèi)的導(dǎo)線、總線、時分多路復(fù)用、交換機和/或路由器。在所述網(wǎng)絡(luò)的傳輸層,在連接上執(zhí)行模塊間的通信。連接被認(rèn)為是在第一模塊和至少一個第二模塊間的一組信道,每個具有一組連接屬性。對于在第一模塊和單個第二模塊間的連接,所述連接包括兩個信道,也就是從第一模塊到第二模塊的一個信道,即請求信道,以及從第二模塊到第一模塊的第二信道,即響應(yīng)信道。請求信道專供從第一模塊到第二模塊的數(shù)據(jù)和消息之用,而響應(yīng)信道專供從第二模塊到第一模塊的數(shù)據(jù)和消息之用。然而,如果連接包含一個第一模塊和N個第二模塊,則提供2*N個信道。連接屬性可以包括排序(有序數(shù)據(jù)傳輸)、流量控制(遠(yuǎn)程緩沖器被保留用于連接,以及允許數(shù)據(jù)生成者僅當(dāng)確??臻g可用于所生成的數(shù)據(jù)時才傳送數(shù)據(jù))、吞吐量(保證吞吐量的下限)、等待時間(保證用于等待時間的上限)、損失(數(shù)據(jù)丟失)、傳輸終止、事務(wù)完成、數(shù)據(jù)糾正或數(shù)據(jù)傳送。
      圖1示出根據(jù)第一實施例的片上系統(tǒng)。該系統(tǒng)包括主模塊M、從模塊S。盡管在圖1中僅示出了一個從模塊,但該系統(tǒng)可以包括多個從模塊。每個模塊分別經(jīng)網(wǎng)絡(luò)接口NI與網(wǎng)絡(luò)N相連。網(wǎng)絡(luò)接口NI用作主和從模塊M、S與網(wǎng)絡(luò)N間的接口。網(wǎng)絡(luò)接口NI被提供來管理各個模塊和網(wǎng)絡(luò)N的通信,以便模塊在不必處理與網(wǎng)絡(luò)或其他模塊的通信的情況下能執(zhí)行它們的專用操作。每個網(wǎng)絡(luò)接口包括用于緩沖數(shù)據(jù)和消息的緩沖器。
      根據(jù)此實施例的通信是基于事務(wù)的。這些事務(wù)包括請求以及可能的響應(yīng)。通常,由主M啟動請求(a),經(jīng)由兩個網(wǎng)絡(luò)接口NI和網(wǎng)絡(luò)N發(fā)送到從S(b)。從S可以響應(yīng)(c)并將響應(yīng)送回到主M(d)。然而,存在一些其中沒有來自從S的響應(yīng)是必需的事務(wù)。在這種情況下,當(dāng)由從S已經(jīng)執(zhí)行它時就完成了事務(wù)。當(dāng)響應(yīng)已經(jīng)遞送到主M時就完成了具有響應(yīng)的事務(wù)。因此,如果主模塊接收響應(yīng),則它僅能檢測事務(wù)完成。只要在網(wǎng)絡(luò)中實現(xiàn)流量控制,則請求以及響應(yīng)的遞送就被保證,并因此保證事務(wù)完成。然而,如果沒有實現(xiàn)端到端流量控制,則可以丟失請求和響應(yīng),由此不保證事務(wù)完成。
      圖2示出根據(jù)第二實施例的片上系統(tǒng)。該系統(tǒng)包括兩個模塊、路由器網(wǎng)絡(luò)RN以及模塊和路由器網(wǎng)絡(luò)RN間的兩個網(wǎng)絡(luò)接口ANIP、PNIP,所述兩個模塊即主M和從S模塊。網(wǎng)絡(luò)接口提供兩個網(wǎng)絡(luò)接口端口NIP(一個請求和一個響應(yīng)端口),通過這兩個網(wǎng)絡(luò)接口端口NIP,模塊與路由器網(wǎng)絡(luò)RN或經(jīng)由路由器網(wǎng)絡(luò)RN與其他模塊通信。與主模塊M有關(guān)的網(wǎng)絡(luò)接口稱為有源網(wǎng)絡(luò)接口端口ANIP,以及與從模塊S有關(guān)的網(wǎng)絡(luò)接口稱為無源網(wǎng)絡(luò)接口端口PNIP。主模塊M和從模塊S間的通信基于請求-響應(yīng)事務(wù),其中,主M通過發(fā)出可能具有一些數(shù)據(jù)或所要求的連接屬性的請求來啟動事務(wù)。經(jīng)由有源網(wǎng)絡(luò)接口端口ANIP、網(wǎng)絡(luò)RN和無源網(wǎng)絡(luò)接口端口PNIP,請求REQ被遞送到從S。由從模塊S執(zhí)行請求,并且如有必要或需要則將數(shù)據(jù)返回作為響應(yīng)RESP。此響應(yīng)RESP可以包括用于主M的數(shù)據(jù)和/或確認(rèn)。
      其中,假定網(wǎng)絡(luò)N、RN不丟失數(shù)據(jù),所述RN即路由器。有源網(wǎng)絡(luò)接口ANIP以及無源網(wǎng)絡(luò)接口PNIP分別包括丟失管理器DM。這些丟失管理器DM負(fù)責(zé)丟失數(shù)據(jù)或消息,即僅網(wǎng)絡(luò)接口能夠丟失數(shù)據(jù)或消息。特別地,僅能由有源網(wǎng)絡(luò)接口端口ANIP丟失請求,而僅能由無源網(wǎng)絡(luò)接口端口PNIP丟失響應(yīng)??赡艿那闆r包括(a)丟失最早消息(竊取消息政策),或(b)丟失最新消息(酒政策(wine policy))。
      事務(wù)可以由下述消息組成-由ANIP發(fā)送的命令信息(CMD),并且其描述了將在連接到PNIP的從模塊處執(zhí)行的動作。命令的例子是讀取、寫入、測試并設(shè)置以及刷新。命令是事務(wù)中必須的唯一消息。對僅允許不具有參數(shù)的單個命令(例如固定大小的無地址寫入)的NIP,假定命令信息仍然存在,即使它是隱含的(即不是由IP明確發(fā)送的)。
      -在要求要被執(zhí)行的數(shù)據(jù)的命令(例如寫入、多播及測試并設(shè)置)后由ANIP發(fā)送的輸出數(shù)據(jù)消息(OUTDATA)。
      -作為生成數(shù)據(jù)(例如讀取及測試并設(shè)置)的事務(wù)執(zhí)行的結(jié)果由PNIP發(fā)送的返回數(shù)據(jù)消息(RETDATA)。
      -完成確認(rèn)消息(RETSTAT),它是在已經(jīng)完成命令時由PNIP返回的可選消息。它可以發(fā)信號告知成功完成或錯誤。對包括RETDATA和RETSTAT的事務(wù),為了效率可以兩個消息結(jié)合成單個消息。然而,概念上它們都存在發(fā)信號告知存在數(shù)據(jù)或錯誤的RETSTAT,以及傳送數(shù)據(jù)的RETDATA。
      組成事務(wù)的消息被劃分成輸出消息,即CMD和OUTDATA,以及響應(yīng)消息,即RETDATA、RETSTAT。在事務(wù)內(nèi),CMD先于所有其他消息,以及如果存在的話,RETDATA先于RETSTAT。這些規(guī)則適用于主模塊和ANIP間以及PNIP和從模塊間。
      沒有響應(yīng)的事務(wù)(例如預(yù)寫入)在已經(jīng)由從模塊執(zhí)行時被認(rèn)為完成。因為沒有到主模塊的響應(yīng)消息,所以不能提供有關(guān)事務(wù)完成的保證。當(dāng)從ANIP接收RETSTAT消息時,具有響應(yīng)的事務(wù)(例如確認(rèn)寫入)被認(rèn)為完成。回想當(dāng)數(shù)據(jù)被接收為響應(yīng)(RETDATA)時,還接收RETSTAT(可能隱含的)來驗證該數(shù)據(jù)?;蛘呖梢猿晒Φ貓?zhí)行事務(wù),在這種情況下,返回成功RETSTAT,在從模塊處的執(zhí)行失敗,然后返回執(zhí)行錯誤RETSTAT,或者失敗,因為與無流量控制有關(guān)的緩沖器溢出,然后報告溢出錯誤。假定當(dāng)從模塊接受請求響應(yīng)的CMD時,從S總是產(chǎn)生響應(yīng)。
      在緩沖器溢出的情況下,丟失管理器DM可以丟失數(shù)據(jù)??梢詠G失所有CMD、OUTDATA和RETDATA。為了保證事務(wù)完成,不允許丟失RETSTAT。因此,在ANIP中,必須提供足夠的緩沖空間來容納用于所有未完成事務(wù)的RETSTAT消息。這通過限制未完成的事務(wù)的數(shù)量來實施。
      對上述系統(tǒng)中若干個從S的情形,可以如下組合返回信息或響應(yīng)消息。如果已經(jīng)由所有從S成功地執(zhí)行了每個寫入事務(wù)(由主M啟動),則所有將返回RETSTAT=RETOK消息,這可以由ANIP組合成單個消息以遞送到主模塊。
      如果僅僅由一些從模塊成功地執(zhí)行寫入事務(wù),則將有RETSTAT(RETOK和RETERROR)的混合。可以將它們合并成a)單個RETSTAT=RETERROR,以指定出現(xiàn)的錯誤,或者b)單個RETSTAT,但更大的一個,更具描寫性的,編碼其中已有錯誤的地方。
      可以將所有RETSTAT一起綁定在用于主模塊的單個RETSTAT中,或可以綁定&lt;從模塊標(biāo)識符,誤碼&gt;對以形成用于主模塊的單個RETSTAT。
      如果連接沒有流量控制,則可以通過丟失管理器DM丟失消息,還產(chǎn)生了RETSTAT=RETLOST消息。再者,可以進行如上組合。
      主模塊M應(yīng)該總是接收對事務(wù)的響應(yīng)。這通過丟失管理器DM實現(xiàn)。如果無源網(wǎng)絡(luò)接口端口PNIP中的丟失管理器DM可能因為緩沖器溢出而丟失數(shù)據(jù)或消息,則它總是將FAIL/ERROR消息返回到ANIP。此返回狀態(tài)(RETSTAT)消息決不會被有源網(wǎng)絡(luò)接口端口ANIP的丟失管理器丟失,因為啟動該事務(wù)的ANIP將為它啟動的每個事務(wù)的返回信息保留空間。每當(dāng)丟失消息時,這個保留空間和產(chǎn)生錯誤消息的組合是引入流量控制的方法。優(yōu)選地,由從模塊的接口產(chǎn)生RETSTAT消息,盡管也可以可替代地在中間網(wǎng)絡(luò)節(jié)點處產(chǎn)生。
      通過實現(xiàn)上述丟失方案來保證事務(wù)完成,即總是已知啟動的事務(wù)是否a)在從模塊處被遞送并成功地執(zhí)行(由從模塊生成RETSTAT=OK),b)決不在從模塊處被遞送(由PNIP生成RETSTAT=REQLOST并返回給ANIP),c)在從模塊處被遞送,但沒有成功地執(zhí)行(由從模塊生成RETSTAT=ERROR),或d)在從模塊處被遞送并成功地執(zhí)行,但丟失響應(yīng)消息(由ANIP生成RETSTAT=RETLOST并遞送到主M)。
      這是通過或者不丟失消息(控制流量的連接)來實現(xiàn),在該情況下RETSTAT為OK或ERROR,或通過允許丟失消息(在沒有流量控制的連接上)來實現(xiàn),但每當(dāng)丟失消息就產(chǎn)生RESTAT(REQLOST或RETLOST),或當(dāng)不丟失消息時照常為RETOK或者RETERROR。
      然而,決不丟失RETSTAT是必需的,因為這完成了所述事務(wù)。這是由于用于RETSTAT的緩沖器位于主ANIP而實現(xiàn)的。后者在啟動事務(wù)時保留用于RETSTAT的空間,并限制未完成事務(wù)的數(shù)量(用于有限大小RETSTAT緩沖器)。
      輸出和返回連接上的流量控制原則上是獨立的。因此,對于輸出流量控制與返回流量控制,RETSTAT消息是根據(jù)上述的a)或c)。在輸出流量控制與無返回流量控制的情況下,RETSTAT消息是根據(jù)上述的a)或c)或d)。在無輸出流量控制與無返回流量控制的情況下,RETSTAT消息是根據(jù)上述的a)或b)或c)。
      對于上述系統(tǒng),連接可以分類如下-簡單連接是在一個ANIP和一個PNIP之間的連接。
      -窄播連接是在一個ANIP和一個或多個PNIP之間的連接,其中ANIP啟動的每個事務(wù)正好由一個PNIP執(zhí)行。窄播連接的例子,其中ANIP在兩個存儲器模塊上映射的地址空間上執(zhí)行事務(wù)。根據(jù)事務(wù)地址,僅在兩個存儲器之一上執(zhí)行事務(wù)。
      -多播連接是在一個ANIP和一個或多個PNIP之間的連接,其中復(fù)制所發(fā)送的消息,并且每個PNIP接收那些消息的拷貝。在多播連接中,當(dāng)前允許無返回信息,因為它們產(chǎn)生大的通信量(即每個目的地一個響應(yīng))。它還可以增加在ANIP中的復(fù)雜性,因為必須將來自PNIP的各個響應(yīng)合并成用于ANIP的單個響應(yīng)。這要求用于合并本身的緩沖器空間和/或附加計算。
      為連接配置的連接屬性如下有保證的消息完整性、有保證的事務(wù)完成、不同的事務(wù)排序、有保證的吞吐量、受限的等待時間和抖動、以及連接流量控制。
      如圖1和2所述的模塊可以是在所述網(wǎng)絡(luò)接口NI處與網(wǎng)絡(luò)相互作用的所謂的知識產(chǎn)權(quán)塊IP(計算元件或存儲器,而不是互連元件)。NI提供NI端口NIP,通過該端口通信服務(wù)被訪問。NI可以具有連接一個或多個IP的幾個NIP。類似地,IP可與一個以上NI和NIP相連。
      網(wǎng)絡(luò)上的通信將由連接上的網(wǎng)絡(luò)接口執(zhí)行,即主和從模塊對網(wǎng)絡(luò)來說是不可見的。引入連接來描述和識別具有諸如有保證的吞吐量、受限的等待時間和抖動、有序遞送或流量控制之類的不同屬性的通信。根據(jù)本發(fā)明的實施例的具有想要屬性的連接必須在使用前首先被創(chuàng)建或建立。這會導(dǎo)致網(wǎng)絡(luò)內(nèi)的資源保留(例如緩沖空間或每時間單位的鏈接利用率的百分比)。如果所請求的資源不可用,則網(wǎng)絡(luò)RN將拒絕該請求。在使用后,關(guān)閉連接,這導(dǎo)致釋放由該連接占用的資源。
      在ANIP和PNIP處,允許交錯屬于相同連接上的不同事務(wù)的輸出消息。例如,可以發(fā)出兩個寫入命令,并僅在它們的數(shù)據(jù)后。如果OUTDATA消息的順序不同于CMD消息的順序,則必須引入事務(wù)標(biāo)識器來將OUTDATA與它們相應(yīng)的CMD關(guān)聯(lián)。
      如下可以通過PNIP將輸出消息遞送到從模塊(見b)-無序,其使無序強加于PNIP處不同事務(wù)的輸出消息的遞送上。
      -局部有序,其中必須按發(fā)送事務(wù)的順序?qū)⑺鼈冞f送到每個PNIP,但在PNIP上強加無序。輸出消息的局部有序遞送可以通過有序數(shù)據(jù)傳送或者通過在PNIP處重新排序輸出消息來提供。
      -全局有序,其中必須在該連接的所有PNIP上按發(fā)送事務(wù)的順序來遞送它們。事務(wù)的輸出部分的全局有序遞送需要成本高的同步機制。
      當(dāng)按與將CMD遞送到從模塊相同的順序返回RETDATA和RETSTAT消息(b)時,可以按順序?qū)⑹聞?wù)響應(yīng)消息通過從模塊遞送到PNIP(c),或者相反地按無序。當(dāng)響應(yīng)是無序時,必須有識別響應(yīng)所屬的事務(wù)的機制。這通常使用附加到用于事務(wù)識別的消息的標(biāo)記(與VCI中的標(biāo)記類似)來完成。
      如下可以由ANIP將響應(yīng)消息遞送到主模塊(見d)-無序,其使得響應(yīng)的遞送無序,這里還必須使用標(biāo)記來將響應(yīng)與它們相應(yīng)的CMD關(guān)聯(lián)。
      -局部有序,其中按通過主模塊將原始CMD提供給ANIP的順序來遞送用于單個從模塊的事務(wù)的RETDATA和RETSTAT消息。注意對到相同連接內(nèi)的不同從模塊的事務(wù)不強迫排序。
      -全局有序,其中按與原始CMD相同的順序來將連接中的所有響應(yīng)遞送到主模塊。當(dāng)在連接上對事務(wù)進行流水線處理時,那么響應(yīng)的全局有序遞送要求在ANIP處重新排序。
      上述排序間的所有3×2×3=18種組合是可能的。從這些中定義了下述兩個。未排序連接是其中在事務(wù)的任何部分中假定無排序的連接。因此,必須標(biāo)記響應(yīng)以能夠識別它們屬于哪個事務(wù)。實現(xiàn)無排序連接具有低成本,然而,它們更難被使用,并且引入了標(biāo)記的開銷。
      在可替代的實施例中,如上所述的丟失裝置可以在網(wǎng)絡(luò)的一些路由器中實現(xiàn),以便允許這些路由器丟失數(shù)據(jù)。然而,在這種情況下,它們必須遵循上述方案并且特別地創(chuàng)建上述錯誤消息。
      在本發(fā)明的另一可替代實施例中,可以在不基于連接的系統(tǒng)中實現(xiàn)事務(wù)完成,因為這種系統(tǒng)相當(dāng)于具有單個連接的系統(tǒng)。
      應(yīng)該注意到,上述實施例是示例說明而不是限制本發(fā)明,并且本領(lǐng)域技術(shù)人員將能在不背離附加權(quán)利要求書的范圍的情況下設(shè)計多個替代的實施例。在權(quán)利要求書中,不應(yīng)該將置于括號內(nèi)的任何附圖標(biāo)記解釋為是限制權(quán)利要求。詞“包括”不排除存在除了在權(quán)利要求中列出的那些之外元件或步驟。元件前面的詞“一”或“一個”不排除存在多個這種元件。在列舉了幾個裝置的設(shè)備權(quán)利要求中,這些裝置中的若干可以通過硬件的同一項來實現(xiàn)。不過,在互相不同的從屬權(quán)利要求中講述的某些措施的事實不表示這些措施的組合不能被有利地利用。
      此外,權(quán)利要求書中的任何附圖標(biāo)記不應(yīng)該被解釋為限制權(quán)利要求書的范圍。
      權(quán)利要求
      1.包括多個處理模塊(M,S)和被安排用來提供至少一個在第一和至少一個第二模塊(M,S)之間的連接的網(wǎng)絡(luò)(N;RN)的集成電路,其中,所述連接支持包括從第一模塊到第二模塊的輸出消息和從第二模塊到第一模塊的返回信息的事務(wù),所述集成電路包括至少一個丟失裝置(DM),用于丟失由所述第一和第二模塊(M,S)交換的數(shù)據(jù)。
      2.如權(quán)利要求1所述的集成電路,進一步包括至少一個接口裝置(ANIP,PNIP),用于管理在模塊(M,S)和網(wǎng)絡(luò)(N,RN)之間的接口,其中,所述接口裝置(ANIP,PNIP)包括用于丟失數(shù)據(jù)的第一丟失裝置(DM)。
      3.如權(quán)利要求2所述的集成電路,其中,所述網(wǎng)絡(luò)(N,RN)包括多個網(wǎng)絡(luò)路由器,用于在不丟失數(shù)據(jù)的情況下轉(zhuǎn)發(fā)數(shù)據(jù)。
      4.如權(quán)利要求2或3所述的集成電路,其中,所述丟失裝置(DM)適于如果丟失數(shù)據(jù)則創(chuàng)建錯誤消息。
      5.如權(quán)利要求4所述的集成電路,其中,所述丟失裝置(DM)適于將所述錯誤消息發(fā)送到第一丟失裝置(DM)。
      6.如權(quán)利要求4所述的集成電路,其中,所述丟失裝置(DM)適于將所述錯誤消息發(fā)送到所述第一模塊(M)。
      7.如權(quán)利要求5或6所述的集成電路,其中,所述接口裝置(ANIP,PNIP)適于存儲所接收的錯誤信息。
      8.如權(quán)利要求7所述的集成電路,其中,與第一模塊(M)相關(guān)的接口裝置(ANIP)適于不丟失錯誤消息。
      9.用于在包括多個模塊的集成電路中交換消息的方法,經(jīng)網(wǎng)絡(luò)在連接上交換模塊間的消息,其中,所述連接支持包括從第一模塊到第二模塊的輸出消息和從第二模塊到第一模塊的返回信息的事務(wù),其中可以丟失由所述第一和第二模塊(M,S)交換的數(shù)據(jù)。
      全文摘要
      提供一種集成電路,其包括多個處理模塊M、S和被安排用來提供至少一個在第一和至少一個第二模塊M、S之間的連接的網(wǎng)絡(luò)N、RN。所述連接支持包括從第一模塊到第二模塊的輸出消息和從第二模塊到第一模塊的返回信息的事務(wù)。所述集成電路包括至少一個丟失裝置DM,用于丟失由所述第一和第二模塊M、S交換的數(shù)據(jù)。因此,提供用于事務(wù)完成的替代方案,其中完全的和即時的事務(wù)完成僅適用于某些情形。本發(fā)明基于在某些情況下允許丟失數(shù)據(jù)的思想。
      文檔編號H04L12/56GK1688990SQ03823913
      公開日2005年10月26日 申請日期2003年7月4日 優(yōu)先權(quán)日2002年10月8日
      發(fā)明者A·拉杜勒斯庫, K·G·W·戈斯森斯 申請人:皇家飛利浦電子股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1