Global Sources
電子工程專輯
 
電子工程專輯 > 介面技術
 
 
介面技術  

用於帶PCIe嵌入式系統的分散/收集DMA

上網時間: 2008年10月09日     打印版  Bookmark and Share  字型大小:  

關鍵字:PCIe  DMA  嵌入式系統 

新一代的互連需求持續不斷地向軟硬體設計施加壓力。不斷提高的服務品質(QoS)、數據訊息通道隔離、數據平滑恢復和完整性等,都是值得考慮的一些指標要求。PCIe就是能夠滿足上述要求的一種互連技術。

在FPGA中實現一個PCIe介面時,為了確保系統效率,系統抖動,數據時脈開銷以及必須滿足的端到端總頻寬需求,設計師必須考慮數據傳輸的方式。將一個分散/收集DMA(SGDMA)與一個PCIe介面加以整合,透過從本地處理器上卸載一些數據傳輸負擔,以及均攤多通道間的硬體延遲,將有助於軟硬體設計師滿足其設計需求。本文將討論基於FPGA的SGDMA與PCIe整合方案優點。

絕大部份的新型DMA控制器都支援分散/收集功能,這裡,硬體負責數據的轉移,駐留在不連續的實體記憶體中,不需要主處理器來處理模組間的數據轉移。這是透過將DMA緩衝器描述符‘鏈接’到一起來實現的,每個描述符中都含有使SGDMA自動執行數據轉移所需的所有資訊。當處理支援虛擬記憶體的作業系統時,SGDMA得到最普遍的採用。

直接記憶體存取實現方案

衡量DMA控制器的收益有以下幾種方法:透過定量分析究竟重新獲取了多少時脈週期?相關設備驅動的複雜度減少了多少?或者由於‘隱藏’數據分發的開銷使DMA引擎增加了多少系統總吞吐量?增強型DMA引擎支援的一些功能包括:

* 在線封包緩衝儲存

* 本地和前端匯流排的同時傳輸

* 延遲處理

* 終端事物處理搶斷

* 為DMA控制器連接的每條匯流排提供獨立仲裁

目前端和本地匯流排處於超高負載條件下,且傳輸數據前DMA控制器必須競用並獲取匯流排佔有權時,可以採用在線數據緩衝器。

在FPGA中使用區塊儲存方法,主要是由於必須考量以下情況並做出最佳折衷:匯流排佔用究竟需要多少臨時緩衝器?FPGA中的功能是否需要記憶體?使用中間數據儲存所導致的附加延遲代價如何?如果可能,在線封包緩衝器可以減少一些系統延遲,即用一條匯流排去讀取數據,而‘儲存’匯流排不轉送數據。

例如,當PCIe接收和發送虛擬通道(VC)緩衝器比較小時,允許DMA控制器的一側轉移數據到VC緩衝器,或者將出自VC緩衝器的數據送到本地封包記憶體中,這樣能夠改善流程控制信用(Flow Control Credit)等級,因而降低PCIe鏈路與本地記憶體利用的相互依賴。此外,當DMA控制器的I/O匯流排側正與PCIe核心通訊時,前端匯流排介面就可以同時將隨後PCIe核心傳送的數據轉移到封包緩衝器中。這固然會增加一些延遲,但卻好過於由於匯流排競用所導致的DMA控制器停擺,且同時發生在DMA控制器上的工作可以改善數據轉移的總延遲。

在PCIe中,透過分割處理來支援讀作業,當讀請求發出時,PCIe鏈路上將要傳輸的數據不會立即得到。在這種情況下,支援延遲處理的DMA控制器將自動放棄匯流排控制,並允許DMA中任何其他被啟動的通道來競用匯流排控制。

圖1:虛擬記憶體環境中的SGDMA控制器。
圖1:虛擬記憶體環境中的SGDMA控制器。


1 • 2 Next Page Last Page



投票數:   加入我的最愛
我來評論 - 用於帶PCIe嵌入式系統的分散/收集DMA
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首