<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用PowerPC實(shí)現高帶寬 TCP/IP 性能

用PowerPC實(shí)現高帶寬 TCP/IP 性能

作者: 時(shí)間:2005-12-19 來(lái)源:網(wǎng)絡(luò ) 收藏
今天,線(xiàn)速 仍舊是一項重大設計挑戰。在本文中,我們將討論限制 的單位字節和單位包的處理成本,并給出在基于嵌入式處理器的應用中千兆位以太網(wǎng) 最大化的技術(shù)。

  千兆位以太網(wǎng)性能的獲得是通過(guò)利用多端口 DDR 存儲器控制器,在嵌入式 處理器局部總線(xiàn) (PLB) 接口與兩個(gè)數據端口之間分配存儲器的。每個(gè)數據端口連接到一個(gè)直接存儲器訪(fǎng)問(wèn) (DMA) 控制器,從而允許硬件外設對存儲器進(jìn)行高訪(fǎng)問(wèn)。

  系統架構
  存儲器對高性能網(wǎng)絡(luò )連接應用來(lái)說(shuō)是一個(gè)重要考慮事項。通常,外部 DDR 存儲器為處理器和一個(gè)或多個(gè)高帶寬外設(如以太網(wǎng))所共享。一個(gè)多端口存儲器控制器負責將可用存儲器帶寬高效地分配給處理器接口和流式外設,包括以太網(wǎng)。流式外設通過(guò)點(diǎn)對點(diǎn)流式接口由直接存儲器訪(fǎng)問(wèn) (DMA) 控制器鏈接到存儲器。DMA 控制器實(shí)行分散-收集 (scatter-gather) 機制,由此將多個(gè)緩沖區轉換到以太網(wǎng)或其他流式外設上的一個(gè)數據流,或相反。以太網(wǎng)外設對發(fā)送和接收路徑同時(shí)實(shí)行校驗和卸載,以?xún)?yōu)化 TCP 性能。下圖顯示了上述系統的一種框圖。


  TCP/IP 單位字節處理成本
  當處理器處理有效載荷數據時(shí)就會(huì )產(chǎn)生單位字節處理成本。這種類(lèi)型的兩個(gè)最常見(jiàn)的操作是緩沖區復制和 TCP 校驗和計算。緩沖區復制意味著(zhù)重大處理開(kāi)銷(xiāo),這有兩個(gè)原因:
  1. 大部分復制都不是必要的。
  2. 處理器不是高效的數據搬運工。

  TCP 校驗和計算代價(jià)高昂,因為需要對每個(gè)有效載荷數據字節進(jìn)行計算。支持嵌入式 TCP/IP 的應用(如醫療成像)要求使用接近線(xiàn)速的 TCP 帶寬,以便通過(guò)千兆位以太網(wǎng)可靠地傳輸圖像數據。數據是從高分辨率圖像源生成的,而不是處理器。這種情況下,引入零復制軟件 API 并將校驗和計算利用FPGA 邏輯結構實(shí)現,將徹底地消除單位字節處理成本。"零復制"是用來(lái)描述一個(gè) TCP 軟件接口不會(huì )發(fā)生任何緩沖區復制的術(shù)語(yǔ)。Linux 和其他操作系統已經(jīng)引入了用于此目的的軟件接口,商用獨立 TCP/IP 棧廠(chǎng)商如 Treck 也提供了類(lèi)似的零復制特性。這些軟件特性允許消除用戶(hù)應用程序與 TCP/IP ?;虿僮飨到y之間的緩沖區復制。

  系統的分散-收集與校驗和卸載特性為零復制功能提供了所需的硬件支持。分散-收集特性是 DMA 控制器的一種靈活性,它允許軟件緩沖區位于任意字節偏移處。這避免了處理器復制未對齊或碎片化的緩沖區。

  校驗和卸載是以太網(wǎng)外設的一種特性。它允許當以太網(wǎng)幀在主存儲器與外設的硬件 FIFO 之間傳輸時(shí),在 FPGA 結構中進(jìn)行 TCP 有效載荷的校驗。這些系統特性消除了代價(jià)較高的緩沖區復制與處理器校驗和操作,讓處理器專(zhuān)心執行協(xié)議操作和用戶(hù)功能。

  TCP/IP 單位包處理成本
  單位包處理成本與涉及包的發(fā)送或接收的操作有關(guān)。包中斷、硬件接口和頭處理等,都是單位包處理成本的例子。中斷處理成本對處理器和存儲器子系統構成相當大的負擔,特別是在傳輸小包時(shí)。中斷結合 (Interrupt coalescing) 是此類(lèi)系統中用來(lái)緩解這種壓力的一種技術(shù),它將中斷處理成本通過(guò)多個(gè)包分期攤還。DMA 引擎將一直等待,直到出現 n 個(gè)要處理的幀,然后才中斷處理器,其中 n 是一個(gè)軟件可調的值。

  通過(guò)減少傳輸幀的數量,大尺寸包(9,000 字節的巨幀)的傳輸具有相似的效果,由此可得到中斷數。它把單位包處理成本分攤在一個(gè)較大的數據有效載荷上。

  設計實(shí)現
  實(shí)現這種體系結構的一個(gè)例子是賽靈思公司的千兆位系統參考設計 (GSRD)。它面向基于 TCP/IP 的協(xié)議與用戶(hù)數據接口(如高分辨率圖像捕捉或光纖信道)之間的高性能橋接。GSRD 的組件包含解決 TCP/IP 系統的單位字節處理成本和單位包處理成本的特性。對于需要使用嵌入式操作系統的應用,可提供 MontaVista Linux端口和來(lái)自 Treck 的商業(yè)獨立 TCP/IP 棧,以滿(mǎn)足具有最高帶寬要求的應用。GSRD 使用巨幀可提供高達 890 Mbps 的發(fā)送 TCP 性能,可采用賽靈思公司目前最新的 FPGA 技術(shù)來(lái)實(shí)現。 GSRD 可以從 http://www.xilinx.com/gsrd/ 下載得到。



關(guān)鍵詞: 性能 TCP/IP 帶寬 實(shí)現 PowerPC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>