Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

在FPGA中置入可配置32位元處理器提升設計靈活度

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

關鍵字:嵌入式  處理器  可配置 

嵌入式系統與桌上型PC結構非常不同,但其底層技術發展卻是一樣的,而且遵循著類似發展趨勢。當桌上型PC轉向64位元架構來滿足不斷成長的記憶體要求時,嵌入式系統也由於同樣的原因快速轉向32位元處理器。桌上型/伺服器運算市場主要是圍繞x86架構,大多數創新和差異都在系統級,如雙核心、四核心或多核心中央處理架構、整合影像處理器單元和記憶體控制器等。同樣,嵌入式系統則主要圍繞簡單的32位元RISC處理器,多核心架構、整合週邊以及可配置處理等系統級發展,使得設計人員能夠快速適應不斷變化的應用要求。

根據iSuppli的研究報告,2007年32位元微控制器(MCU)市場將超過8位元MCU市場。如圖1所示,32位元MCU市場的成長速度超過了半導體市場其它部份的成長速度,而8位元MCU市場的比例在過去幾年時間內則有所下降。

這一趨勢的主要推動力是嵌入式系統中軟體內容和複雜性的不斷增加,直接產生的後果是需要更寬的記憶體匯流排(32位元),來滿足軟體程式所使用的程式碼和數據要求。與傳統微處理器不同,32位元處理器不需要分段等記憶體管理技巧就可以處理更大的記憶體空間,因此編程更容易。8位元MCU必須採用難學難用的編程語言來滿足小記憶體空間限制(少於32K位元組),而許多32位元嵌入式應用則可利用C/C++來編程,提高了嵌入式軟體開發人員生產力。更為重要的是,越來越多的作業系統(即時和非即時)都提供現成的驅動程式和軟體庫,使軟體開發人員能夠集中於應用本身的開發。

整合降低成本

在摩爾定律的指引下,越來越細的矽製程線寬使得32位元嵌入式解決方案的成本不斷降低,可以滿足更多應用對價格的要求。此外,整合週邊和晶片上記憶體進一步降低了零組件和整體材料清單成本。透過整合針對手機和遊戲機等垂直應用而最佳化的週邊,許多元件的價格大幅降低,直接推動了市場成長。

價格壓力還導致只能在這些系統中整合一組固定的週邊,因此通常的週邊組合是針對大量應用的。然而,不可能有適合所有應用的萬能元件,因此許多小量、中等規模甚至大量應用都無法直接利用成品整合解決方案。其結果是設計人員必須採用額外的晶片來擴展週邊、分擔處理器的負載,或增加膠合邏輯。這也是可配置處理解決方案產生的原因。

可配置32位元處理器

根據Gartner Dataquest的報告,如圖2所示,基於FPGA嵌入式處理方案的應用正在成長,到2010年,約40%的FPGA設計將包含嵌入式處理器。由於能夠定製滿足特定應用或產品的要求,越來越多的嵌入系統設計人員開始採用基於FPGA的可配置處理解決方案。這一方法的主要優點是可透過整合降低成本,同時還可實現產品在市場上的差異化。

透過選擇同一FPGA系列中的不同元件,或者將設計重新應用在新的FPGA元件中,將能針對更高性能、更低成本或不同的I/O標準進行差異化設計。這樣耐可降低設計過時的風險,保證設計在未來仍然可用。對於必須具備長使用壽命的產品(如汽車或工業應用),這是特別關鍵的因素之一。

 圖1:32位元MCU市場的成長速度超過了其它類型的MCU的成長速度。
圖1:32位元MCU市場的成長速度超過了其它類型的MCU的成長速度。

 圖2:基於FPGA嵌入式處理方案的應用正在成長。
圖2:基於FPGA嵌入式處理方案的應用正在成長。

可配置處理系統的配置(或定製)的層面包括:

處理器配置:1. 乘法器、除法器、浮點單元以及其它;2. 指令或數據緩衝配置;3. 協處理器或硬體加速器。

系統配置:1. I/O週邊選擇、定製、DMA選擇;2. 記憶體週邊選擇、定製。

應用配置:1. RTOS選擇、定製;2. 應用庫/中介軟體定製。

許多產品都包括需要某種形式網路或通訊介面的嵌入式系統。由於乙太網路成本低、幾乎無處不在,而且可運用TCP/IP等協議連接網際網路,因此,乙太網路已成為目前在嵌入式產品中應用最廣泛的網路介面之一。根據目標應用的不同,網路子系統的要求變化也相當大。簡單的遠端控制和監控應用只需要每秒數千位元的傳輸能力,而高階儲存或視訊應用則需要持續的Gb級的吞吐能力。

為簡單起見,我們將使用TCP載荷吞吐能力做為性能比較的主要指標。表1列出了一些典型應用以及相應的TCP/IP載荷吞吐能力要求。

可配置的嵌入式網路

基於FPGA的處理解決方案提供了強大靈活性,允許用戶根據需要開啟或禁止處理器、IP核心以及軟體平台的高階功能,並可對許多獨立參數進行精細調整,直到在軟體級滿足應用要求。此外,利用建模工具可以識別任何性能關鍵的軟體功能,並將其分擔至適當的硬體加速器或協處理器。

讓我們來分別看一下可利用IP核心滿足典型應用性能要求的三種乙太網路子系統例子。每種設計具有不同的系統架構:包括處理器配置、乙太網路MAC IP配置以及記憶體介面。此外,這些例子還突出了可與這些硬體子系統配合使用的不同TCP/IP軟體協議堆疊。由於硬體建構模組和軟體層都是可定製的,因此用戶可根據應用需求對這些系統進行增減。

簡化乙太網路子系統

對於遠端監視或控制應用中所需要的簡單網路介面來說,圖3所示的最小化網路子系統就足夠了。在此類應用中,TCP/IP性能要求較低(<1Mbps),因此LwIP(簡化版網際網路協議堆疊)這類小TCP/IP協議堆疊(不需要RTOS即時作業系統)就足夠了。

這可以在簡單的查詢模式下實現不間斷的乙太網路Lite IP。包括簡單應用層在內的所有軟體,均可儲存在FPGA中的本地記憶體中。如圖3中所示,其它需要的I/O介面如RS-232 UART和GPIO,則可增加到基本子系統中。

圖3:規模最小的乙太網路系統。
圖3:規模最小的乙太網路系統。

透過對圖3中最小系統進行一定的修改,可望實現更高TCP/IP吞吐能力(10~50Mbps),並轉向如圖4所示的10/100乙太網路解決方案。主要的變化有:

1. 為乙太網路MAC增加直接記憶體存取(DMA)引擎,實現中斷驅動;

2. 為系統增加外部記憶體,為處理器增加緩衝記憶體;

3. 更複雜的TCP/IP堆疊,如Linux(Clinux)系統TCP/IP協議堆疊。

 圖4:典型的10/100乙太網路系統架構。
圖4:典型的10/100乙太網路系統架構。

圖5:Gb級乙太網路系統架構。
圖5:Gb級乙太網路系統架構。

對於需要100Mbps以上TCP/IP吞吐能力的應用,可考慮硬IP或軟IP核心方式提供的三模式乙太網路MAC(圖5)。為獲得高階應用所需要的500Mbps以上吞吐能力,需要像分散/匯聚DMA(SGDMA)等高階DMA技術,以及包括數據重排引擎(DRE)和校驗和卸載(CSO)等FPGA硬體加速器技術。

為滿足Gb乙太網路對更高數據吞吐率的需求,可能需要更高性能的嵌入式(硬)處理器或FPGA上實現的可定製軟處理器,以及更大的緩衝容量、如16Kb指令和數據快取記憶體。就軟體平台來說,Linux、VxWorks、Integrity和QNX等軟體平台中的高階TCP/IP堆疊支援諸如零拷貝和校驗和旁路等功能。

包括硬體和軟體在內的許多因素都會影響到TCP性能,並進而影響系統TCP吞吐能力。這些因素包括:

1. 處理器,包括頻率、功能和快取記憶體

a. 頻率:TCP/IP協議通常需要將載荷從用戶緩衝記憶體拷貝到協議堆疊控制的快取記憶體,然後再將其拷貝到乙太網路MAC的FIFO中去。這些記憶體拷貝作業有些是以軟體方式完成的,因此需要處理器的處理週期。同時處理器還參與TCP校驗和的計算,計算過程中需要將整個數據封包從記憶體讀出。更快的處理器配合更快的記憶體能在更短時間內完成這些作業,以保持較高的數據速率;

b. 功能:TCP/IP協議堆疊需要對數據封包的封包頭和載荷進行存取處理。做為封包頭處理的一部份,典型的存取包括讀取封包頭資訊的特定位元。因此每個數據封包的處理過程都需要相當多的移位作業。此外在處理每個數據封包時都需要進行乘法作業。在可配置處理器中,必須開啟完成移位或乘法的指令才能獲得更高性能;

c. 快取記憶體:數據封包從乙太網路MAC被拷貝到記憶體中之後,將會透過TCP/IP協議堆疊的不同層。然後TCP/IP堆疊中的數據封包處理程式碼會被執行。將所有程式碼和數據封包讀到快取記憶體中,將大幅提升處理器效率並提高乙太網路頻寬。

2. 記憶體

記憶體存取時間和延遲對系統性能有巨大的影響。典型應用中,TCP/IP應用並不儲存在本地記憶體中,程式和數據儲存在外部記憶體中。存取數據和指令所花費的時間對性能有很大影響。記憶體因素通常與快取記憶體大小有關。提高指令和數據快取記憶體大小有助於減輕外部記憶體延遲和存取時間所帶來的影響。

3. 乙太網路MAC

在FPGA中實現的乙太網路MAC週邊提供了很大的靈活性,特別是在工作模式(無DMA與SGDMA)、數據封包FIFO深度、DRE支援、CSO支援以及超大訊框支援方面。每一項都會影響到MAC所需要的資源,以及其能夠從處理器卸載的功能有多少,以及對整體性能造成影響。

4. TCP/IP協議堆疊

靈活的最佳化TCP/IP協議堆疊是影響系統性能的重要因素。對硬體CSO和零拷貝API(數據不需要從應用拷貝到協議堆疊分流記憶體)以及可配置堆疊選項等TCP/IP堆疊功能的支援可協助提高系統性能。

5. 資訊量

資訊(應用數據)的大小是影響性能的另一個因素。隨著資訊減少,TCP/IP協議頭(如TCP、IP和乙太網路頭)的開銷增加,會減少整體的數據載荷吞吐能力。

大多數應用對成本、性能和功能都有基本需求。當為特定應用設計產品時,設計人員必須在這些需求之間進行正確的折衷,然而,為了適應市場條件,這些要求在產品生命週期內可能會產生變化。採用靈活可配置的平台,將能在不改變設計平台或供應商的情況下,根據需要對這些要求進行重新平衡。

 表一:不同應用的網路吞吐量要求。
表一:不同應用的網路吞吐量要求。

作者:Navanee Sundaramoorthy

嵌入式產品經理

賽靈思公司

navanee@xilinx.com




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


EE人生人氣排行
 
返回頁首