目前,關于片上網(wǎng)絡路由器的研究主要集中于有緩沖路由器。虛通道路由器中的緩沖器用于緩存網(wǎng)絡中由于競爭而暫時不能轉(zhuǎn)發(fā)的包,當兩個包競爭同一條輸出鏈路時,一個包被傳輸而另一個包則被緩存在緩沖器中。雖然緩沖器能夠有效改善網(wǎng)絡的帶寬利用率,但是,有緩沖路由器也存在以下三個方面的局限性:
(1)緩沖器消耗大量的能耗。該能耗不僅包括讀/寫訪問緩沖時的動態(tài)能耗,還包括緩沖未被使用時仍存在的靜態(tài)能耗。此外,隨著工藝尺寸的縮放,漏流功耗已成為芯片功耗的重要組成部分。因此,大量緩沖器的存在將會使得路由器的靜態(tài)漏流功耗顯著增加。
(2)增加了路由器的設計復雜度。首先,需要設計包進出緩沖的實現(xiàn)邏輯;其次,需要提供復雜的流控機制管理緩沖;第三,由于緩沖的存在可能會在不同路由器之間出現(xiàn)循環(huán)等待而造成死鎖,因此需要設計復雜的死鎖避免策略。
(3)緩沖器占據(jù)較大的芯片面積。例如:即使每個路由器包含僅有16項的一個緩沖,每一項存儲64字節(jié)數(shù)據(jù),一個包含64節(jié)點的網(wǎng)絡也需要64KB的緩沖容量。由于片上存儲資源緊張,增加路由器中的緩沖,勢必與處理單元的片上Cache競爭有限的存儲資源。
國內(nèi)最大的物聯(lián)卡交易平臺:物聯(lián)卡之家(www.linhoocis.cn)指出,在物聯(lián)卡路由器中,除了流水線寄存器外,沒有額外的緩沖,路由器接收到包后立即將其轉(zhuǎn)發(fā)到下一個路由器。在出現(xiàn)競爭的情況下,路由器要么將包丟棄、要么采用偏轉(zhuǎn)路由將包偏離最短路徑路由。與有緩沖路由器相比,物聯(lián)卡路由器具有如下優(yōu)勢:
(1)面積小、功耗低。由于物聯(lián)卡路由器中不存在大量的緩沖器,因此可以在很大程度上降低路由器的硬件實現(xiàn)開銷。同時,如前所述,路由器功耗的大部分是由緩沖器所消耗,消除大量的緩沖器可以降低功耗從而減少片上網(wǎng)絡在整個芯片中的功耗預算。物聯(lián)卡路由器的相關研究表明,消除緩沖器可以降低約40%的能耗。
(2)不需要流控機制,簡化設計。在虛通道路由器中,由于虛通道的容量有限并且為所有包共享,因此需要在發(fā)送和接收路由器之間采用流控機制來進行虛通道資源的分配。常用的流控機制有基于信用的流控、基于握手信號的流控等。流控機制的引人增加了路由器的設計復雜度和硬件開銷。在物聯(lián)卡路由器中,包在相鄰路由器之間的發(fā)送和接收不需要采用流控機制同步,大大簡化了路由器的設計。
(3)無死鎖特性。物聯(lián)卡路由器通常采用偏轉(zhuǎn)路由算法,偏轉(zhuǎn)路由算法的一個重要特性就是天然不存在死鎖。在采用蟲孔交換或虛切通交換的路由器中,均需要緩沖器緩存由于競爭而暫時不能轉(zhuǎn)發(fā)的包。由于包在緩沖中的等待而會出現(xiàn)包請求的資源被其他包所占有,而該包又占有其他包請求的資源的循環(huán)等待情況而發(fā)生死鎖,必須設計相應的死鎖避免機制。在偏轉(zhuǎn)路由算法中,包不需要在路由器中等待,路由器接收到包后立即進行轉(zhuǎn)發(fā)而無論轉(zhuǎn)發(fā)的端口是否指向最短路徑,因此不存在死鎖情況,簡化了路由器的設計。
基于以上三個方面的分析,研究物聯(lián)卡路由器對于降低片上網(wǎng)絡的設計復雜度、減少面積和功耗開銷具有極為重要的實際意義。