新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 一種基于流水線的SpaceWire路由器研究

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

作者: 時(shí)間:2009-05-06 來源:網(wǎng)絡(luò) 收藏

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

2
將數(shù)據(jù)從輸入端傳遞到輸出端的過程一般需要進(jìn)過三個(gè)階段:首先,從輸入端讀數(shù)據(jù),將數(shù)據(jù)包中包頭所包含的目標(biāo)地址發(fā)送給路由查找表;再次,由路由查找表對(duì)目標(biāo)地址進(jìn)行查找,確定該數(shù)據(jù)包所要發(fā)送的輸出端;最后,將數(shù)據(jù)包發(fā)送到目標(biāo)地址所指的輸出端。具體結(jié)構(gòu)如圖4所示。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉