新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一種基于流水線的SpaceWire路由器研究

        一種基于流水線的SpaceWire路由器研究

        作者: 時間:2009-05-06 來源:網絡 收藏

        低延遲、蟲洞路由和無阻塞交換開關使數據包能夠到達任意一個端口和外部端口,或者也可以由配置端口直接訪問任意一個端口和外部端口。所設計端口完全支持SpaceWire,提供高速的、雙向的通訊。每個外部端口包括一個發送FIFO和一個接收FIFO,可以發送接收字符和包結束標志。
        Time―code端口會和計數器一起被提供用來方便Time―code的傳播。當一個有效的Time―code到達一個路由端口時,它也會被發送到其他Spacewire端口,一個TICK_OUT信號會在Time―code端口被產生。可以用Time―code端口提供的TICK_IN信號做為Time―code的操作管理。
        配置端口可以配置任何SpaceWire端口和外部端口。它包括可以控制SpaceWire端口、外部端口和交換開關的寄存器。配置端口為各種端口和交換開關都設置了狀態寄存器。用配置端口的讀命令可以讀這些寄存器,從而來讀出的狀態和錯誤信息,而且一些狀態引腳上的狀態和錯誤信息可以被選擇輸出。
        路由表可以通過配置端口來訪問。邏輯地址端口映射和優先位都可以在路由表中進行設置,路由表常常用來控制組適應路由和交互開關中的優先仲裁。
        1.3 蟲洞路由
        SpaceWire蟲洞路由上進行設計的。蟲洞路由是包路由的一種形式。每一個包的包頭包含著目的地的地址信息。每當有一個包到達路由器時,它就立即檢測這個包的目的地址,然后按照該地址轉發這個包到相應的輸出端口。如果要求的輸出端口是“空閑”(free)狀態,則這個包會被立即轉發到這個輸出端口。這時,該端口就會被打上“忙”(blasy)狀態標記,直到這個包的最后一個字符即“包尾”(EOP)通過路由器轉發出去。
        蟲洞路由如圖3所示,圖中一個包從一個節點發出,通過路由器到達另外一個節點。包頭標記為黑色,其余部分為灰色。路由器負責在輸入端口和空閑的輸出端口之間建立連接,當檢測到EOP或EEP時,斷開連接,釋放輸出端口為空閑狀態,準備接收其他端口來的包。輸出端口忙時,輸入端口阻塞輸入包,直到其空閑。通過輸入端口相遠節點發送FCT來實現,直到輸出端口空閑時,路由器才取消阻塞。以上是蟲洞路由和流量控制之間的關系。

        2
        將數據從輸入端傳遞到輸出端的過程一般需要進過三個階段:首先,從輸入端讀數據,將數據包中包頭所包含的目標地址發送給路由查找表;再次,由路由查找表對目標地址進行查找,確定該數據包所要發送的輸出端;最后,將數據包發送到目標地址所指的輸出端。具體結構如圖4所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 文水县| 南通市| 会泽县| 常宁市| 安溪县| 祁连县| 鄂州市| 黔西县| 永和县| 广水市| 阆中市| 林周县| 三穗县| 泊头市| 山阴县| 隆德县| 论坛| 旅游| 瓦房店市| 饶河县| 牡丹江市| 扬中市| 湾仔区| 洪江市| 哈尔滨市| 平安县| 安阳市| 合作市| 上蔡县| 正镶白旗| 祁连县| 闸北区| 年辖:市辖区| 石泉县| 盘锦市| 海安县| 湄潭县| 玛曲县| 石楼县| 沁源县| 扬中市|