專利名稱::用于處理信息的網絡設備、可編程網絡元件及其方法
技術領域:
:本發明涉及一種訪問具有通配(generic)CPU處理單元的中央處理器的方法和系統,更具體地說,涉及一種可編程地設置所述CPU處理單元以用于多個交換設備的方法和系統。
背景技術:
:交換系統可包括一個或多個網絡設備,例如交換芯片,每個設備又包括多個模塊用于處理通過所述設備傳輸的信息。具體而言,所述設備包括輸入模塊、存儲器管理單元(MMU)和輸出模塊。輸入模塊包括有交換功能以確定數據包應被發送至哪個端口。MMU用于存儲數據包信息和執行資源檢查。輸出模塊用于執行數據包修改和傳輸數據包至至少一個合適的目的端口。設備上可以有一個端口是CPU端口,以使該設備可發送信息至外部交換/路由控制實體或CPU以及從外部交換/路由控制實體或CPU接收信息。當數據包從多個端口進入設備后,被轉發至輸入模塊,并在輸入模塊處對其執行交換。隨后,這些數據包被傳送至MMU以進行進一步的處理。然后,輸出模塊傳輸該數據包至至少一個目的端口,可能包括CPU端口。如果信息被傳輸至CPU端口,輸出模塊通過CPU處理單元例如CMICTM模塊轉發該信息,該CPU處理單元負責所有的CPU管理功能。例如,CMICTM模塊負責發送數據包至CPU端口以及從CPU端口接收數據包,改變寄存器存儲器設置,并與內部和/或外部總線交互。即使是在一系列共享同樣結構的交換芯片中,端口數和端口所支持的速度都是可變的。因此,共享同樣的結構的一系列交換芯片中的每個交換芯片均具有CMICTM設計,該CMICTM設計可根據例如交換芯片的端口數和速度進行自定義。CMICTM模塊中的自定義是昂貴的、耗時的并且容易出錯。因此,需要一種通配的CMICTM模塊,可用于各種共享同樣結構的交換芯片。
發明內容根據本發明得一個方面,提供一種處理信息的網絡設備,所述網絡設備包括可編程網絡元件,與外部處理單元連接以提供所述外部處理單元和所述網絡設備之間的管理接口控制,其中所述可編程網絡元件可用于具有共享結構的多個網絡設備;以及多個內部總線,其中每個內部總線耦合至所述可編程網絡元件和至少一個網絡元件,其中,所述可編程網絡元件包括有用于從多個其它網絡元件收集數據的裝置,每個所述其它網絡元件包括多個統計計數器,用于追蹤所述網絡設備各方面的信息;以及在沒有所述外部處理單元的干預的情況下在所述其它網絡元件中至少一個和所述外部處理單元之間傳送信息的裝置。優選地,所述可編程網絡元件設置為支持多達4個內部總線。優選地,所述網絡設備設置為支持其它網絡元件,所述其它網絡元件包括輸入模塊、輸出模塊和媒體訪問控制模塊至少之一。優選地,所述網絡設備設置為支持其它網絡元件,其中每個所述其它網絡元件的統計計數器由多個寄存器實現。優選地,所述可編程網絡元件設置為支持統計計數器直接內存訪問控制器,能夠在沒有所述外部處理單元的干預的情況下傳送統計數據塊至所述外部處理單元,從而降低所述外部處理單元的開銷。優選地,外部處理單元設置為提供一部分存儲器,用于統計數據直接存儲器訪問,具有計時器機制。優選地,所述可編程網絡元件包括可編程計時器,其中當所述可編程計時器期滿時,所述可編程網絡元件設置為觸發一系列交易以從其它網絡元件中特定的寄存器收集統計數據,并傳送所述統計數據至外部網絡元件關聯的存儲器的特定部分。優選地,所述可編程網絡元件設置為從與所述外部處理單元關聯的存儲器傳送數據至至少一個所述其它網絡元件,并從至少一個所述其它網絡元件接收數據并傳送至所述外部處理單元關聯的存儲器。優選地,所述可編程網絡元件設置為確定每個所述其它網絡元件中的寄存器數量,并包括用于存儲每個所述其它網絡元件的模塊標識符、每個所述其它網絡元件中的統計計數器數量以及所述統計計數器所在的每個所述其它網絡元件中的級數的裝置。優選地,所述可編程網絡元件設置為確定至少一個媒介訪問控制元件中的寄存器數量,并包括用于存儲端口總數的裝置、用于指出端口類型、每個端口的模塊標識符、指示為一個類型的端口的子端口數量、每個端口中的統計計數器數量和統計計數器所在的每個端口的級數的裝置。根據本發明的一個方面,提供一種用于具有共享結構的多個網絡設備的可編程網絡元件,所述可編程網絡元件包括具有外部處理單元的接口,用以在所述外部處理單元和網絡設備之間提供管理接口控制;具有多個內部總線的接口,其中每個內部總線耦合至所述可編程網絡元件和至少一個網絡元件;用于從多個其它網絡元件收集統計數據的裝置,每個所述其它網絡元件包括多個統計計數器用于追蹤所述網絡設備的各個方面的信息;以及在沒有所述外部處理單元的干預的情況下在至少一個所述其它網絡元件和所述外部處理單元之間傳送信息的裝置。優選地,所述可編程網絡元件設置為從其它網絡元件收集統計數據,其中每個所述其它網絡元件包括由多個寄存器實現的統計計數器。優選地,所述可編程網絡元件設置為支持統計計數器直接存儲器訪問控制,能夠在沒有所述外部處理單元的干預的情況下傳送統計數據塊至所述外部處理單元,從而降低所述外部處理單元的開銷。優選地,所述可編程網絡元件包括可編程計時器,其中當所述可編程計時器期滿時,所述可編程網絡元件設置為觸發一系列的交易以從所述其它網絡元件的特定寄存器收集統計數據,并將所述統計數據傳送至外部網絡元件的存儲器的特定部分。優選地,所述可編程網絡元件設置為從與所述外部處理單元關聯的存儲器傳送數據至至少一個所述其它網絡元件,并從至少一個所述其它網絡元件接收數據并傳送至所述外部處理單元關聯的存儲器。優選地,所述可編程網絡元件設置為確定每個所述其它網絡元件中的寄存器數量,并包括用于存儲每個所述其它網絡元件的模塊標識符、每個所述其它網絡元件中的統計計數器數量以及所述統計計數器所在的每個所述其它網絡元件中的級數的裝置。優選地,所述可編程網絡元件設置為確定至少一個媒介訪問控制元件中的寄存器數量,并包括用于存儲端口總數的裝置、用于指出端口類型、每個端口的模塊標識符、指示為一個類型的端口的子端口數量、每個端口中的統計計數器數量和統計計數器所在的每個端口的級數的裝置。根據本發明的一個方面,提供一種在用于具有共享結構的多個網絡設備中的可編程網絡元件中提供可編程存儲器訪問特征的方法,所述方法包括下述步驟將所述可編程網絡元件與外部處理單元連接以提供所述外部處理單元和網絡設備之間的管理接口控制;以及將所述可編程網絡元件與多個內部總線連接,其中每個所述內部總線耦合至所述可編程網絡元件和至少一個網絡元件;從多個其它網絡元件收集統計數據,其中每個所述其它網絡元件包括多個統計計數器用于追蹤所述網絡設備的各個方面的信息;以及在沒有所述外部處理單元的干預的情況下在至少一個所述其它網絡元件和所述外部處理單元之間傳送信息。優選地,每個所述其它網絡元件包括統計計數器,所述統計計數器由多個寄存器實現。優選地,所述傳送信息的步驟進一步包括在沒有所述外部處理單元的干預的情況下將統計數據塊傳送至所述外部處理單元,從而降低所述外部處理單元的開銷。優選地,所述方法進一步包括當計時器期滿時,觸發一系列交易以收集來自其它網絡元件的特定寄存器的統計數據,并將所述統計數據傳送至外部網絡元件關聯的存儲器的特定部分。優選地,所述方法進一步包括從與所述外部處理單元關聯的存儲器傳送數據至至少一個所述其它網絡元件,并從至少一個所述其它網絡元件接收數據;以及傳送所述數據至所述外部處理單元關聯的存儲器。優選地,所述方法進一步包括確定每個所述其它網絡元件中的寄存器數量;存儲每個所述其它網絡元件的模塊標識符、每個所述其它網絡元件中的統計計數器數量以及所述統計計數器所在的每個所述其它網絡元件中的級數。優選地,所述方法進一步包括確定至少一個媒介訪問控制元件中的寄存器數量;存儲端口總數,指出端口類型、每個端口的模塊標識符、指示為一個類型的端口的子端口數量、每個端口中的統計計數器數量和統計計數器所在的每個端口的級數。下面將結合附圖及實施例對本發明作進一步說明,附圖中圖1是實現本發明一個實施例的網絡設備的示意圖;圖2是設置有網絡設備的板的一個實施例的示意圖;圖3a是本發明CMICTM模塊的一個實施例的示意圖;圖3b是本發明CMICTM模塊的一個實施例的示意圖。具體實施方式下面結合附圖和實施例對本發明進行詳細描述。圖1是實現本發明一個實施例的網絡設備例如交換芯片的示意圖。設備100執行管線技術以處理輸入的數據包,并包括輸入管線/模塊102、MMU104和輸出管線/模塊106。輸入模塊102對輸入的數據包執行交換功能。MMU104存儲數據包并對每個數據包執行資源校驗。輸出模塊106執行數據包修改,并傳輸數據包至合適的目的端口。輸入模塊102、MMU104和輸出模塊106均具有多個用于處理該模塊產生的指令的周期。設備100還可包括一個或多個內部結構(fabric)/HiGIG端口108a-108x、一個或多個外部以太網端口109x,并包括有CPU端口110。內部結構端口108a-108x用于互相連接系統中的各種設備,并從而組成內部結構以用于在外部源端口和一個或多個外部目的端口之間傳輸數據包。因此,內部結構端口108a-108x在包括有多個相互連接的設備的系統外部是不可見的。在本發明的一個實施例中,端口108a-108x中的每個端口是可被設置為在10Gbps高速模式、12Gbps高速模式或10GE模式下運行的X-PORT。一個或多個外部以太網端口109x中的每個端口是10/100/1000Mbps以太網G-PORT。設備100的一個實施例中,每個G-PORT模塊支持多達12個10/100/1000Mbps以太網端口。設備100的一個實施例也支持一個高速端口108;而本發明另一個實施例中支持多達4個高度端口108,該高速端口108運行在10Gbps、12Gbps或10GE模式。CPU端口110用于發送信息至外部交換/路由控制實體或CPU,以及從外部交換/路由控制實體或CPU接收信息。根據本發明的一個實施例,CPU端口110可看作以太網端口109x之一。設備100通過CPU處理模塊111例如CMICTM模塊與外部/片外CPU連接,而該CMICTM模塊與將設備100連接至外部CPU的PCI總線連接。在本發明中,CMICTM模塊111是軟件可編程模塊,其中軟件可對各個CMICTM寄存器編程以使得CMICTM模塊111對多個共享共用結構的交換芯片100中的每個交換芯片正確地執行CPU管理。網絡信息流通過外部以太網端口109x進入和離開設備100。具體來說,設備100中的信息流從外部以太網源端口路由至一個或多個唯一的目的以太網端口109x。在本發明的一個實施例中,設備100支持物理以太網端口和邏輯(主干)端口。該物理以太網端口是設備100的物理端口,通過全局端口標識符全局地識別。在一個實施例中,全局端口標識符包括模塊標識符和本地端口數,唯一地標識設備100和特定的物理端口。主干端口是一組物理外部以太網端口,用作一個鏈接層端口。每個主干端口分配有一個全局主干組標識符(TGID)。設備100上的目的端口109x可以是物理外部以太網端口或主干端口。如果某目的端口是主干端口,設備100通過使用雜亂信號(hash)動態地選擇主干中的物理以太網端口以選擇成員端口。該動態選擇使得設備100能夠實現在主干的端口之間動態地分擔負載。本領域技術人員熟知的是,設置有芯片的板,如圖2所示,包括至少一個外部層1物理接口(PHY),其中一個PHY202可用于GIG端口,另一個PHY212可用于XGIG端口。如果信息以銅線模式(coppermode)傳輸,則由端口決定信息通過PHY202和212傳輸,并隨后,信息從PHY202/212發送至恰當的MAC206/208。隨后,信息由輸入模塊102、MMU104和輸出模塊106進行處理,并且處理后的信息通過恰當的MAC206/208傳輸至恰當的PHY202/212。如果信息通過光纖傳輸至芯片,該芯片可包括有用于GIG端口的SERDES模塊204和用于XGIG端口的XAUI模塊210,如圖2所示。SERDES模塊204和XAUI模塊210均將從PHY202/212進入芯片的信息在傳輸至MAC206/208之前轉換為字節。本領域技術人員能夠理解的是,MAC206等同于G-PORT109,并且MAC208等同于X-PORT108。SERDES模塊204也在其將信息傳輸至MAC206之前對該信息執行模擬和數字校驗。在本發明的一個實施例中,數據包數據通過6個集成1G四心線SERDES核(6integrated1GquadSERDEScore)204或XAUI210進入芯片100,兩者均提供有串行化/解串行功能。依據數據包是如何進入芯片的,該數據包可在傳輸至G-PORT/MAC206之前被轉換為四心線SERDES204的標準GMII接口信令輸出,或在傳輸至X-PORT/MAC208之前從XAUI接口信令轉換至XGMII接口。在一個實施例中,有2個示例G-PORT模塊,致使進入芯片100的數據包流高達24Gbps。每個G-PORT模塊連接至3個四心線SERDESIP,每個G-PORT集成12-Gigabit以太網端口,可獨立地設置為運行在3個不同地速度10/100/1000Mbps。每個G-PORT還與GBOD連接,GBOD為在數據包進入輸入管線102進行數據包交換之前為G-PORT中所有的12Gigabit以太網端口保存數據包數據的集中式G-PORT輸入數據包緩存。近似地,X-PORT208也通過以核芯時鐘頻率運行的128比特寬的總線與XBOD緩存連接,該XBOD緩存為在數據包進入輸入管線102進行數據包交換之前用于保存數據包的集中式X-PORT輸入數據包緩存。因為128字節是輸入管線102用于處理數據包的間隔大小,數據在XBOD/GBOD內被打包為128字節。一旦收到128字節的數據包或數據包單元(EOP)的末尾,與輸入管線102連接的XBOD/GBOD等待從輸入管線102接收時分多路轉換(TDM)允許,并在接收到允許后,通過256比特寬的總線傳輸該數據包。每6個周期分配給每個X-PORT/G-PORT一個輸入管線仲裁器TDM時隙,以用于數據包傳輸。在一個實施例中,輸入管線102執行TDM方案以在4個X-PORT和2個G-PORT之間分配其資源。因為GBOD為所有12個GE端口緩沖數據包數據,GBOD還執行6周期的TDM方案在本地決定12個GE端口之間的G-PORT至輸入管線(G-PORT-to-ingresspipeline)總線分配。CPU需要來自PHY202和212、SERDES204和XAUI210每一者的信息。因此,CMICTM模塊211支持用于與外部PHY202通信的外部MDIO總線214,用于與SERDES模塊204通信的內部MDIO數據總線216,用于與XAUI模塊210通信的內部MDIO數據總線218,以及用于與外部XGIGPHY212通信的外部MDIO數據總線220。為了與XAUI模塊210和外部XGIGPHY212通信,CMICTM模塊211也支持用于GIG端口和/或XAUI的MDIO協議條款22,并支持用于XAUI的MDIO協議條款45。本領域技術人員能夠理解的是,每個芯片在每個總線214和220上可具有不同數量的PHY,最多達32個。為了確定PHY是否可運作,CPU命令CMICTM模塊211執行自動掃描操作以鏈路掃描每個PHY202/212的狀態。在本發明中,CMICTM模塊211設置為包括有需要被掃描的鏈路狀態的端口位圖。當CMICTM模塊211執行硬件鏈路掃描時,CMICTM模塊211在恰當的內部或外部總線214-220上發送MDIO交易以獲得狀態信息。具體而言,CMICTM模塊211的軟件程序使用需要掃描鏈路狀態的端口位圖對CMICTM模塊內的寄存器進行配置,其中端口類型映射寄存器設置為表示端口是GIG端口或XGIG端口,以及,選擇映射寄存器設置為表示內部或外部MDIO數據總線是否將被掃描。基于從端口類型映射寄存器和選擇映射寄存器獲得的信息,CMICTM模塊311能夠選擇用于發送每個交易的恰當的總線。CMICTM模塊211內相關的軟件還對CMICTM模塊211內的協議映射寄存器進行編程,以表示條款22或條款45是否將用于MIIM交易中。協議映射寄存器指出近似于端口映射寄存器的端口位圖。此外,相關的軟件可使用應向其傳送信息的每個端口的PHY數設置CMICTM模塊211內的多個地址映射寄存器。該地址映射寄存器可用于確定將用于每個端口的PHY地址。所述靈活的支持允許芯片100的用戶隨機地映射PHY標識符至端口數,而不是要求芯片用戶執行PHY標識符和端口數之間的一對一映射。數據包在輸出側由芯片200進行處理后,輸出管線106與XBODE或GBODE交互,該XBODE為在數據包傳輸至XAUI210/PHY212之前用于保存該數據包的輸出數據包緩存,該GBODE為在數據包傳輸至SERDES204/PHY202之前用于保存該數據包數據的輸出數據包緩存。XBODE與X-PORT208相關,X-PORT/MAC208和輸出管線106之間的總線協議是以信任為基礎的,因此無論何時XBODE中有單元(cell)可用時,X-PORT208中的輸出管線接口向輸出管線106請求更多的數據。近似于GBOD,GOBDE是用于全部12個GE端口的緩存,因此執行本地TDM來保證分配的用于從GBODE傳輸數據至SERDES204/PHY202的最小帶寬。G-PORT206和輸出管線106之間的總線協議也是以信任為基礎的。輸出管線106也執行TDM方案以決定其資源在輸出數據的4個X-PORT和2個G-PORT之間的分配。因此,如果有數據包將被傳輸,X-PORT單元請求和返回給輸出管線的數據之間的延遲大概是6個周期。回到圖1,CMICTM模塊111用作進入芯片100的CPU網關,其中CMICTM模塊111通過允許寄存器/存儲器讀/寫操作、數據傳輸和接收以及從CPU卸載預定義的維護功能的其它特征,對芯片100提供CPU管理接口控制。CMICTM模塊111可用作PIC從屬或主設備,并可被設置以映射至64K邊界上CPU內的任何PCI存儲器地址。在本發明的一個實施例中,CMICTM模塊111中的所有寄存器是32位的。作為PCI從屬設備時,CMICTM模塊111允許PCI讀/寫脈沖訪問預定義的CMICTM寄存器。CMICTM模塊111和CPU也以主從關系一起工作。CPU通過恰當地對CMICTM寄存器編程發送命令至CMICTM模塊111;一般通過設定“起始(START)”位和等待“完成(DONE)”位來實現。在本發明的一個實施例中,為了在具有同樣結構的多個交換設備中平衡相同的CMICTM模塊111硬件設計,CMICTM模塊111包括有附加的可編程硬件,以此,CMICTM模塊111的相關軟件可配置CMICTM模塊內恰當的寄存器。已編程寄存器可由CMICTM模塊111使用以確定交換設備的類型。在本發明的一個實施例中,CMICTM模塊111的相關軟件從芯片中讀取設備標識符以確定該芯片要求哪種類型的CMICTM寄存器設置。隨后,該軟件對恰當的CMICTM寄存器進行編程。因此,本發明不需要CMICTM模塊111進行硬件改變來適應使用共享結構的一組交換芯片中的每個交換芯片。此外,因為寄存器接口對具有共享結構的芯片組中的所有芯片來說都是一樣的,同樣的軟件結構也可由芯片組中的所有芯片共享。具體而言,如圖3a所示,CMICTM模塊111支持多達4個s-總線,其中每個芯片設置為使用一個或多個所述s-總線。每個總線可具有至少一個設備。盡管可以設置在每個總線上的設備的最大數是不受限制的,但是由于延遲因素,設備的數量受到限制。本領域技術人員能夠理解的是,s-總線的數量可以增加而不改變本發明的范圍。在本發明的一個實施例中,如上所述,CMICTM模塊311能夠從多個源處收集統計計數(statisticscount),例如,從輸入模塊302a、輸出模塊306a和MAC308-312。如圖1所示,高度集成的交換芯片支持相當大數量的端口,每個芯片具有其自有的統計計數器,一般在50-100個寄存器中實現。具體而言,G-PORT和X-PORT308-312中的每個端口包括有層1/層2統計計數器,用于記錄流經該端口的數據包的信息。每個所述計數器追蹤交換的各方面信息,包括接收的字節數、傳輸的數據包數量以及接收和丟失的數據包數量。CPU監視這些計數器,并且當總體寄存器的數量變大時,CPU變成負載了上百個寄存器讀操作,并增加了等待每個寄存器讀操作完成的開銷。因此,CMICTM模塊111支持統計計數器直接存儲器訪問(DMA)特性以降低CPU開銷。CMICTM模塊111也支持表格式DMA(tableDMA)以存取任何交換表格至PCI系統存儲器。CMICTM模塊111還連接至輸入管線102和輸出管線106,以此CMICTM模塊111可將單元數據(celldata)從PCI存儲器傳輸至任何輸出端口和/或從任何輸入端口接收單元數據并傳輸至PCI存儲器。每個輸入模塊302和輸出模塊306均包括有層2/層3和/或較高層統計計數器,用于記錄輸入模塊和輸出模塊內處理的數據包的信息。在本發明的一個實施例中,輸入模塊中有30個統計寄存器,輸出模塊中有15個統計寄存器,依據MAC是X-PORT還是G-PORT,最多可以有170個MAC寄存器。本領域技術人員能夠理解的是,統計MAC寄存器和每個輸入模塊和輸出模塊的寄存器的數量可基于交換設備的要求增加。為了恰當地處理數據包,CPU需要周期性的從每個統計寄存器接收信息。例如,CPU使用來自統計寄存器的信息用于客戶診斷和/或芯片中的校正操作。s-總線316a-222a可訪問所有統計寄存器,以此,各個消息可發送至各個模塊。然而,依據芯片上寄存器的數量和每個寄存器改變的頻率,CPU和CMICTM模塊311可消耗大量的時間讀取所有寄存器以獲得CPU需要的信息。因此,CMICTM模塊111支持能夠在沒有CPU干預的情況下傳輸大量統計數據的統計DMA控制器。根據本發明的一個實施例,CPU存儲器的一部分設置為具有計時機制,用于統計數據直接存儲器訪問(DMA)。當CMICTM模塊311中的可編程計時器期滿時,觸發一系列S-總線交易以收集指定的統計寄存器的數據。CMICTM模塊311隨后傳輸統計數據至指定的CPU存儲器地址。這一處理在每次可編程計時器期滿時重復。這一操作還對芯片內的端口數量敏感。如圖3a所示,交換芯片300a包括分配有模塊標識符6的輸入管線模塊302a,分配有模塊ID9的MMU模塊304a,分配有模塊ID8的輸出管線模塊306a,G-PORT和X-PORT308-312,用作加密引擎的板安全模塊314a,以及用于管理外部CPU的CMICTM模塊311a。交換芯片300a也包括4個s-總線環316a-222a,其中CMICTM模塊311a使用s-總線環316a發送信息至輸入模塊302a并從輸入模塊302a接收信息,CMICTM模塊311a使用s-總線環318a發送信息至MMU模塊304a、G-PORT和X-PORT308-312以及從MMU模塊304a、G-PORT和X-PORT308-312接收信息,CMICTM模塊311a使用s-總線環220a發送信息至輸出模塊306a以及從輸出模塊306a接收信息,并且CMICTM模塊311a使用s-總線環222a發送信息至板安全模塊314a以及從板安全模塊314a接收信息。本發明中的每個s-總線接口為32-比特傳送和32-比特接收的點對點總線。圖3b是本發明另一實施例的交換芯片300b的示意圖,包括分配有模塊標識符10的輸入管線模塊302b,分配有模塊ID11的MMU模塊304b,分配有模塊ID12的輸出管線模塊306b,G-PORT和X-PORT308b-312b,搜索引擎313a-313c,板安全模塊314b和CMICTM模塊311b。交換芯片300b也包括4個s-總線環316b-222b,其中CMICTM模塊311b使用s-總線環316b發送信息至輸出模塊306b、輸入模塊302b和MMU304b以及從輸出模塊306b、輸入模塊302b和MMU304b接收信息,CMICTM模塊311b使用s-總線環318b發送信息至搜索引擎313a-313c以及從搜索引擎313a-313c接收信息,CMICTM模塊311b使用s-總線環230b發送信息至G-PORT和X-PORT308b-312b以及從G-PORT和X-PORT308b-312b接收信息,并且CMICTM模塊311b使用s-總線環222b發送信息至板安全模塊314b以及從板安全模塊314b接收信息。在圖3a和3b展示的兩個實施例中,CMICTM模塊311用作每個s-總線的s-總線主設備,而s-總線上的其它設備是s-總線從設備。因此,CMICTM模塊311是主設備而其它s-總線模塊是從設備時,每個s-總線用作傳遞消息。在一個實施例中,CMICTM模塊311是唯一的交易發起者,并且所有由CMICTM模塊311發起的消息需要得到確認,CMICTM模塊311在發送下一個s-總線消息前要求等待來自s-總線從設備的確認信息。在本發明中,s-總線從屬設備的順序不影響由CMICTM模塊311a/311b所執行的協議。例如,芯片302b中的輸入模塊和輸出模塊的順序不影響CMICTM模塊311b執行的協議。在另一個實施例中,如果總線環未被使用,給CMICTM模塊311的輸入被限制為0,并且CMICTM模塊311的輸出可左移(belefttofloat)。如果總線環上具有不止1個的s-總線從設備,則該s-總線上的每個從設備應“傳遞”不是發送給它的信息。CMICTM模塊311a/311b包括有總線環映射寄存器,允許相關的軟件使用恰當的s-總線環數為每個s-總線有效模塊ID設置總線環寄存器。例如,在芯片302a中,包括有s-總線316a的總線環0具有輸入模塊302a的模塊ID6,包括有s-總線318a的總線環1具有MMU304a的模塊ID9、G-PORT和X-PORT308a-312a的模塊ID1、2和3,包括有s-總線220a的數據總線環2具有輸出模塊306a的模塊ID8,以及,包括有s-總線222a的總線環3具有板安全模塊314a的模塊ID4。近似地,在芯片302b中,包括有s-總線316b的總線環0具有輸入模塊302b的模塊ID10、輸出模塊306b的模塊ID12以及MMU304b的模塊ID11,包括有s-總線318b的總線環1具有搜索引擎313a-313c的模塊ID13-15,包括有s-總線220b的總線環2具有G-PORT和X-PORT308b-312b的模塊ID16-18,以及,包括有s-總線222b的總線環3具有板安全模塊314b的模塊ID20。總線環映射寄存器使得CMICTM模塊311在恰當的s-總線環上通過將s-總線模塊ID轉譯為環數來發送軟件發起的s-總線消息。CMICTM模塊311a/311b還包括有s-總線超時寄存器,允許軟件指定任意一個s-總線交易的最大超時值。這為所有總線環上的s-總線交易提供共用的超時機制。在本發明的一個實施例中,有28個端口,其中某些是G-PORT,其它是X-PORT。因此,CMICTM模塊311需要知道芯片上總共有多少端口,這些端口中有多少個是G-PORT或X-PORT,以及,每個端口內有多少個寄存器,輸入模塊302a和輸出模塊306a有多少個寄存器。根據本發明,為了確定輸入模塊和輸出模塊中寄存器的數量,CMICTM模塊311包括有可配置的統計寄存器,用于存儲每個輸入和輸出模塊的s-總線模塊ID、每個輸入和輸出模塊內的統計計數器的數量以及統計計數器所在的每個輸入和輸口模塊中的管線級數。為了確定MAC中寄存器的數量,CMICTM模塊311在該可配置的統計寄存器中存儲端口總數,并指出端口是G-PORT還是X-PORT、每個端口的s-總線模塊ID、每個G-PORT中端口總數以及一個G-PORT中每個端口的端口數、每個G-PORT和X-PORT中統計計數器的數量、該統計計數器所在的每個X-PORT和G-PORT中的管線級數以及CPU端口的端口數。由于CMICTM模塊311可基于該可配置的統計寄存器動態地進行設置,因此如果例如端口數被改變,CMICTM模塊的設計不需要進行改變。因此,根據本發明,如果網絡設備被初始化,在初始化進程中,CMICTM模塊也被初始化。在CMICTM模塊初始化過程中,相關的軟件基于端口數和其它與被初始化設備相關的變量恰當地設置每個寄存器。例如,每個s-總線環映射寄存器被初始以指出哪些從屬設備在每個s-總線環上。因此,如果芯片配置例如分配給s-總線環的設備改變時,只需修改CMICTM初始化程序。本發明上述設置是結合首選實施例描述的,嵌入在半導體底層例如硅上,使用恰當的半導體生產技術,并基于電路布局,基于上述實施例,對本領域技術人員是顯而易見的。半導體設計和生產領域的技術人員基于上述結構描述,能夠將本發明的各種模塊、接口和表格、緩存等實現在一個半導體基底上。而且,將上述部件實現為分布式電子部件也能實現單個半導體基底的優點,屬于本發明的保護范圍。上述內容是對本發明的特定實施例的描述。然而,顯而易見的是,還可以對上述實施例進行其它的變更和修改,具有部分或所有的本發明的優點。因此,權利要求書的目的是覆蓋所有落入本發明精神實質和范圍的改變和修改。權利要求1.一種處理信息的網絡設備,其特征在于,所述網絡設備包括可編程網絡元件,與外部處理單元連接以提供所述外部處理單元和所述網絡設備之間的管理接口控制,其中所述可編程網絡元件可用于具有共享結構的多個網絡設備;以及多個內部總線,其中每個內部總線耦合至所述可編程網絡元件和至少一個網絡元件,其中,所述可編程網絡元件包括有用于從多個其它網絡元件收集數據的裝置,每個所述其它網絡元件包括多個統計計數器,用于追蹤所述網絡設備各方面的信息;以及在沒有所述外部處理單元的干預的情況下在所述其它網絡元件中至少一個和所述外部處理單元之間傳送信息的裝置。2.如權利要求1所述的網絡設備,其特征在于,所述可編程網絡元件設置為支持多達4個內部總線。3.如權利要求1所述的網絡設備,其特征在于,所述網絡設備設置為支持其它網絡元件,所述其它網絡元件包括輸入模塊、輸出模塊和媒體訪問控制模塊至少之一。4.如權利要求1所述的網絡設備,其特征在于,所述網絡設備設置為支持其它網絡元件,其中每個所述其它網絡元件的統計計數器由多個寄存器實現。5.如權利要求1所述的網絡設備,其特征在于,所述可編程網絡元件設置為支持統計計數器直接內存訪問控制器,能夠在沒有所述外部處理單元的干預的情況下傳送統計數據塊至所述外部處理單元,從而降低所述外部處理單元的開銷。6.一種用于具有共享結構的多個網絡設備的可編程網絡元件,其特征在于,所述可編程網絡元件包括具有外部處理單元的接口,用以在所述外部處理單元和網絡設備之間提供管理接口控制;具有多個內部總線的接口,其中每個內部總線耦合至所述可編程網絡元件和至少一個網絡元件;用于從多個其它網絡元件收集統計數據的裝置,每個所述其它網絡元件包括多個統計計數器用于追蹤所述網絡設備的各個方面的信息;以及在沒有所述外部處理單元的干預的情況下在至少一個所述其它網絡元件和所述外部處理單元之間傳送信息的裝置。7.如權利要求6所述的可編程網絡元件,其特征在于,所述可編程網絡元件設置為從其它網絡元件收集統計數據,其中每個所述其它網絡元件包括由多個寄存器實現的統計計數器。8.一種在用于具有共享結構的多個網絡設備中的可編程網絡元件中提供可編程存儲器訪問特征的方法,其特征在于,所述方法包括下述步驟將所述可編程網絡元件與外部處理單元連接以提供所述外部處理單元和網絡設備之間的管理接口控制;以及將所述可編程網絡元件與多個內部總線連接,其中每個所述內部總線耦合至所述可編程網絡元件和至少一個網絡元件;從多個其它網絡元件收集統計數據,其中每個所述其它網絡元件包括多個統計計數器用于追蹤所述網絡設備的各個方面的信息;以及在沒有所述外部處理單元的干預的情況下在至少一個所述其它網絡元件和所述外部處理單元之間傳送信息。9.如權利要求8所述的方法,其特征在于,每個所述其它網絡元件包括統計計數器,所述統計計數器由多個寄存器實現。10.如權利要求8所述的方法,其特征在于,所述傳送信息的步驟進一步包括在沒有所述外部處理單元的干預的情況下將統計數據塊傳送至所述外部處理單元,從而降低所述外部處理單元的開銷。專利摘要本發明涉及一種用于具有共享結構的多個網絡設備的可編程網絡元件。所述可編程網絡元件包括具有外部處理單元的接口以提供所述外部處理單元和網絡設備之間的管理接口控制。所述可編程網絡元件還包括具有多個內部總線的接口,其中每個內部總線耦合至所述可編程網絡元件和至少一個網絡元件。所述至少一個網絡元件的順序不影響所述可編程網絡元件在多個內部總線上使用的協議。文檔編號H04L12/02GK1996856SQ200610063623公開日2007年7月11日申請日期2006年12月25日發明者范斯·M·塔特普迪,森達里桑·庫巴科姆申請人:美國博通公司導出引文BiBTeX,EndNote,RefMan