Path: EDNTaiwan電子技術設計 >> 設計中心 >> IC/電路板/系統設計 >> 設計大輸送量、即時SoC系統的最佳實踐
IC/電路板/系統設計 Share print

設計大輸送量、即時SoC系統的最佳實踐

2014年05月29日  | Nick Ni

Share this page with your friends

對稱多處理

支持內核隔離的SMP在多個內核上運行一個OS,支持在內部劃分內核。舉例而言,SMP OS在第一個內核上分配即時應用程式,在其他的內核上運行非即時應用程式。隨著內核數量的增加,SMP OS可以設計無縫導入,因此,此一方法的可擴展性比較好。所有內核都是由一個OS管理的,因此,內核之間可以在L1資料快取記憶體級上傳遞訊息,通信速度更快,抖動更低。


通過內核隔離,可以保留一個內核用於硬體即時應用,以免受到其他大輸送量內核的影響,保持了低抖動、即時資料回應。這樣,設計人員可以考慮使用哪一個OS,而不用重新設計容易出錯的底層軟體來管理多個OS,因此,這一般是很好的軟體體系結構決定。如果從多個OS開始,最初的導入會需要一些付出。但是,從一個SMP體系結構開始會省很多事。


通過SMP優化大輸送量、即時SoC

基於對各種方法的分析,支持內核隔離的SMP是最好的體系結構,優化了大輸送量、即時SoC系統。我們考慮的體系結構與圖3的系統相似,其中,I/O資料登錄到SoC中,處理器對其進行計算,送回至I/O,滿足低抖動和低延時即時回應要求。此外,SoC包括了多個內核,同時運行其他輸送量較大的應用程式。


首先,需要理解一個即時回應(循環時間)有哪些組成:

  1. 從一個I/O,將新資料傳送至系統記憶體(DMA)。

  2. 處理器探測系統記憶體中的新資料(內核隔離)。

  3. 將資料複製到私有記憶體(memcpy)。

  4. 對資料進行計算。

  5. 將結果複製回系統記憶體(memcpy)。

  6. 將結果傳送回I/O (DMA)。


抖動和延時是6個步驟的累積,因此,需要將每一個步驟優化。採用支援內核隔離的VxWorks等RTOS,可以在奈秒範圍內完成輪詢/中斷回應(2)。資料計算也是專用的,具有很好的可預測性(4)。因此,我們的重點是綜合考慮直接記憶體存取(DMA)和memcpy (1、3、5、6)。傳送資料的方法主要有兩種:快取記憶體連續傳送,以及不支持高速緩衝連續的傳送。這兩種方法在DMA和memcpy上的回應有很大的不同。如圖2所示,雖然快取記憶體連續傳送(使用ARM快取記憶體連續埠(ACP))導致DMA需要較長的通路,但處理器只需要存取L1快取記憶體就可以獲得所傳送的資料。因此,使用快取記憶體連續傳送的memcpy時間要少很多,但是DMA性能會有些劣化。對於設計人員而言,由於是直接存取快取記憶體,因此,快取記憶體連續傳送的延時更短,抖動更小。


圖2 :Memcpy和DMA性能,採用/不採用快取記憶體連續傳送。
圖2 :Memcpy和DMA性能,採用/不採用快取記憶體連續傳送。

(未完,請參閱下頁更多內文及附圖)


 First Page Previous Page 1 • 2 • 3 Next Page Last Page


想要免費接收更多的技術設計資訊嗎?

馬上訂閱《電子技術設計》郵件速遞,透過郵箱輕鬆接收最新的設計理念和產品新聞。

為確保您的資訊安全,請輸入右方顯示的代碼.

啟動您的訂閱申請

我們已給您的註冊郵箱發送了確認信,請點擊信中的連結啟動您的訂閱申請。

這將有助於我們很好地保護您的個人隱私同時確保您能成功接收郵件。


添加新評論
遊客 (您目前以遊客身份發表,請 登入 | 註冊)
*驗證碼:

新聞 | 產品 | 設計實例