《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 充分發(fā)揮USB3.0性能
充分發(fā)揮USB3.0性能
摘要: USB由于具備簡單、成熟、即插即用特征,所以在市場上很流行。然而,USB 2.0 480 Mbps的速度無法支持新一代存儲和視頻。因此,移植到一個更快標準的時機已經(jīng)成熟,這就導致了USB 3.0新協(xié)議的開發(fā)。對于開發(fā)商而言,挑戰(zhàn)是如何充分利用USB 3.0的潛能。本文將探討使用USB 3.0硬件軟件設計問題,本文主要介紹的是手持產(chǎn)品。首先,我們將比較USB 2.0和USB 3.0的性能,以及過渡到USB 3.0模塊影響到的器件。
Abstract:
Key words :
 

簡介
USB由于具備簡單、成熟、即插即用特征,所以在市場上很流行。然而,USB 2.0 480 Mbps的速度無法支持新一代存儲和視頻。因此,移植到一個更快標準的時機已經(jīng)成熟,這就導致了USB 3.0新協(xié)議的開發(fā)。對于開發(fā)商而言,挑戰(zhàn)是如何充分利用USB 3.0的潛能。本文將探討使用USB 3.0硬件軟件設計問題,本文主要介紹的是手持產(chǎn)品。首先,我們將比較USB 2.0和USB 3.0的性能,以及過渡到USB 3.0模塊影響到的器件。
在一個普通的場景中,在device端,處理器直接連接到USB、存儲器和外設。記住這種結(jié)構(gòu),由High-Speed過渡到SuperSpeed,處理器的影響可以概括如下:


《國際電子商情》
USB 2.0 VS USB 3.0

數(shù)據(jù)速率
USB 2.0和USB 3.0的基本區(qū)別是帶寬。USB 2.0所提供的理論帶寬是480Mbps。事實上,收到的最大吞吐量約為320Mbps (40MBps),它大致是理論值的三分之二。使用USB3.0,數(shù)據(jù)吞吐量為4.8Gbps。如果我們用相同的比例,那么預期的數(shù)據(jù)速率是3.2Gbps (400MBps)。然而,許多開發(fā)人員希望能提供更高的吞吐量。圖1顯示了USB 3.0 和USB 2.0用于Buffalo外部存儲磁盤進行不同大小文件傳輸?shù)臄?shù)據(jù)率差異。應該指出的是,USB 3.0數(shù)據(jù)速率受儲存設備約束,否則400 Mbps的數(shù)據(jù)速率很容易達到。

《國際電子商情》
圖1可以看出,單個請求傳輸大小增大了,數(shù)據(jù)傳輸速率也隨之增加了。這是因為當請求傳輸大小增加時,請求數(shù)量和因此MSC設備要處理中斷減少,那么整體性能就更好了。64 KB傳輸過后,數(shù)據(jù)速率達到飽和(因為Windows驅(qū)動在一個SCSI請求中不能請求超過64 KB的數(shù)據(jù))。這些數(shù)據(jù)顯示了中斷在整個系統(tǒng)性能的重要性和影響。
高數(shù)據(jù)率增加了中斷速率和數(shù)據(jù)請求速率,這使處理器負荷顯著提高。當處理器忙于處理USB相關的實時請求時,增加了延時,用戶會看到應用處理慢了下來,這并不是一個滿意的結(jié)果。

數(shù)據(jù)流
USB 2.0數(shù)據(jù)請求一次只能是一個方向,與USB 2.0標準不同,USB 3.0支持同時讀和寫。這是因為USB 2.0是半雙工協(xié)議,而USB 3.0是全雙工協(xié)議。全雙工通信是通過增加更多連接來支持同時傳輸數(shù)據(jù)的。它同時也帶來了成本的增加和軟件的復雜性。使用USB 2.0,處理器一次只參與傳輸,并且數(shù)據(jù)結(jié)構(gòu)和請求處理非常簡單。但隨著全雙工USB 3.0的到來,現(xiàn)在的數(shù)據(jù)結(jié)構(gòu)需要加倍的信息。USB軟件模塊還需要能夠處理同時的數(shù)據(jù)操作。

電源管理
封包傳輸協(xié)議改變了(例如,廣播定向),設備polling消除了,link的定義和功能級中間狀態(tài),使USB3.0電源管理要很不錯。我們將討論USB設備處理器必須要做的事情,因為第三種降低功耗改變了,例如多種中間狀態(tài)。
在USB 2.0中,狀態(tài)只有ACTIVE 和SUSPEND。SuperSpeed中有兩個以上的狀態(tài):FAST EXIT IDLE 和SLOW EXIT IDL。狀態(tài)越多意味著硬件和軟件兩個方面都更復雜。外設可以使用link級電源管理發(fā)起省電模式。要獲得實際利益,處理器需要跟蹤USB接口的空閑時間,智能采取行動。對于一個設備來說電源連接狀態(tài)的入口和出口速率可能很頻繁。例如,同步傳輸允許外設在服務間隔進入低功耗狀態(tài)。這可以顯著增加處理器負載運行時間。

流支持
USB3.0拓展了批量傳輸模式,支持流模式。批量流提供了同頻帶信號傳輸,通過一個標準批量傳送支持多路多個獨立邏輯數(shù)據(jù)流協(xié)議。這種作法簡化了USB設計復雜的類協(xié)議。例如,USB SCSI (UAS)海量存儲類使用批量流代替簡單的BOT協(xié)議。在BOT中,一次只有一個pending請求,而在UAS中,一次可能有n-1個請求,這里n是批量端點中支持的流數(shù)。實現(xiàn)和維護一個復雜的類協(xié)議也可能使處理器一直很忙。對于BOT來說單個平面數(shù)據(jù)結(jié)構(gòu)就夠了,UAS協(xié)議要求基于優(yōu)先級的數(shù)據(jù)結(jié)構(gòu)用于實現(xiàn)外設端固件。

常用USB設備結(jié)構(gòu)分析
考慮到海量存儲設備是市場上最常見的高性能USB外設,我們會舉一個海量存儲設備的例子,來精確的分析其性能。
《國際電子商情》
我們將討論數(shù)據(jù)方面,這是因為大部分時間里接口將涉及數(shù)據(jù)包傳輸而不是控制包。
數(shù)據(jù)傳輸步驟:
1.處理器收到一個USB請求。
2.處理器處理這個請求。
3.處理器依次存儲讀/寫請求。
4.處理器等待傳輸完成。
5.處理器發(fā)送完成情況到USB host
這次傳輸?shù)臅r間結(jié)構(gòu)
《國際電子商情》

總延時 = X Y Z
這里,X,Y和Z是主要的延時構(gòu)成,解釋如下:

1.延時X是傳輸請求數(shù)據(jù)包在主機和處理器之間所花的時間。這取決于USB協(xié)議和USB設備硬件處理效率。請求數(shù)據(jù)包大小只有幾十個字節(jié),所以延時只有幾納秒。

2.延時Y代表的是處理器處理USB請求和建立直接存儲器存取所需要的時間。這取決于處理器類型,線程/過程數(shù)目,軟件架構(gòu)。對于通用處理器處理大量的過程和任務來說,操作系統(tǒng)處理延遲可能很大程度取決于中斷延時,內(nèi)容切換延遲,隊列延遲等。最壞的情況下,延時Y可能達到數(shù)百微秒。
3.延遲Z是指數(shù)據(jù)在USB和存儲設備之間傳輸所需的時間,這取決于請求類型。還取決于直接存儲器存取結(jié)構(gòu)和存儲設備類型,并不取決于USB速度,因為這里瓶頸會是存儲速度而不是USB速度(如SuperSpeed)。延遲Z可能在幾毫秒和數(shù)微秒之間,取決于存儲設備類型和數(shù)據(jù)大小。

雖然USB速度快了十倍(從480Mbps 到 5Gbps),但是真正的吞吐量將遠遠低于理論值,因為USB延時(X)比操作系統(tǒng)處理延遲(Y)和存儲傳輸延遲(Z)都小得多,其相對于總延時可以忽略不計。Z延時可以通過選擇更好的存儲設備來改進,但是Y延時,則需要通過更有效地系統(tǒng)設計來管理。

效率
要發(fā)揮USB 3.0的全部潛力,需進行以下變化:

 

  • 高性能處理器:處理器由于USB 3.0引起的復雜性和任務處理的數(shù)量都將大幅上升。如果希望其他應用性能不受影響,就需要一個功能強大的處理器。
    影響:這不僅會增加產(chǎn)品成本,而且還會增加功耗,對于手持設備來說,這是很不利的。
  •  

     

  • 必須改變現(xiàn)有的系統(tǒng)架構(gòu)來適應USB 3.0。同時,如果USB 3.0的全部潛能都可以實現(xiàn),就需要大容量和高性能的存儲設備。
     
  • 影響:這將增加系統(tǒng)的復雜度,因此影響了推向市場的時間和項目風險。
    重新設計來提高性能
    不需要將USB控制器連接到通用處理器(GP),可以連接到一個I/O模塊。這種I/O模塊類型叫做I/O通道,這里I/O模塊增強為一個獨立的處理器。GP指揮I/O通道在主存儲器中執(zhí)行程序。I/O通道拿到這些指令并執(zhí)行他們,并不需要GP干預。GP只是當整個序列完成時產(chǎn)生中斷。

    《國際電子商情》
    如果I/O模塊有自己的本地存儲器,那么就稱為I/O處理器。這種設置減少了通用處理器的參與。使用這種方式,可以避免需要使用高性能處理器和結(jié)構(gòu)的變化,從而可以減少系統(tǒng)成本和量產(chǎn)風險。西橋就是這樣一個智能I/O處理器,它把外設控制器增強了并模塊化到了一個嵌入式計算機結(jié)構(gòu)。南橋也是用很類似的方式來提高數(shù)據(jù)在PC的吞吐量,西橋結(jié)構(gòu)提高了吞吐量,可以用于USB,通用處理器,存儲器,及其他外設之間的高吞吐量數(shù)據(jù)傳輸。
    西橋器件是專為這種操作設計的,可以顯著提高性能。由于數(shù)據(jù)傳輸?shù)目傃舆t依賴于處理延遲,當使用西橋結(jié)構(gòu)后會大大降低這種延遲。
    影響通用處理器性能的主要因素取決于中斷的頻率。簡而言之,每次GP收到中斷,內(nèi)容都需要切換,執(zhí)行ISR,從而增加了其他運行程序的時間。當使用西橋器件時,大部分USB相關中斷由它處理,從而提高了GP的性能。
    下面是一個15.1 GB的嵌入式多媒體卡(eMMC) 使用海量存儲類驅(qū)動枚舉的性能測試。沒有西橋時GP不得不處理很多中斷。下圖描繪了系統(tǒng)的各項任務處理結(jié)果。中斷數(shù)量為log2單位。
    《國際電子商情》
    上表反映了使用特定應用的I/O處理器(如西橋)時,GP必須處理的中斷減少的數(shù)目。沒有西橋,GP要處理大量的中斷,產(chǎn)生‘super speed’迫使GP要很長時間保持空閑狀態(tài)(由于次要的內(nèi)容切換)。相反,GP可以把這些任務釋放給西橋,保持其處理其他實時任務的效率,充分發(fā)揮USB 3.0的潛力。西橋結(jié)構(gòu)不僅可以簡化整體系統(tǒng)平臺結(jié)構(gòu),它還可以提高整體性能并降低項目風險。
  • 此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。