基于事件驅動的新型處理器的研究與應用
這3個方案比較類似,基本上都是單核心處理芯片加外圍接口芯片的SOC解決方案。不同的是,第1個方案的處理核心是集成了以太網MAC和UART的通用處理器。第2個方案的處理核心是FPGA器件。第3個方案的處理核心是XCore處理器。
第1個方案的優點是設計起來容易、功能靈活;在通用嵌入式CPU上運行操作系統,使用標準的TCP/IP協議和UART協議,能夠實現各種復雜的控制功能。缺點也很明顯:CPU內部集成的串口有限,一般只能實現不超過4個串口的串口服務器;實時性差、由于軟件處理能力有限,當串口數據流量較大時,CPU會來不及處理,只能將數據放入緩存,待CPU空閑時處理。這樣導致數據轉發的延遲增大。
第2個方案的優點是擴展能力強、實時性高;由于FPGA具有硬件可編程的特點,理論上器件內部可以實現任意個數目的串口(實際受所選FPGA器件容量大小的影響)。FPGA采用硬件流水線處理串口數據轉以太網數據,因此,數據處理的速度很快,基本上不產生延遲,實時性好。這種方案的缺點是:設計難度比較大,需要獲得授權使用以太網MAC和UART的IP模塊,并且需要設計控制模塊來協調各個接口,然后進行系統級的仿真和測試,整個設計開發周期長、設計難度大;靈活性差,功能不強。由于采用硬件實現的機制,FPGA只能實現簡單的底層網絡報文,無法實現TCP/IP等高層次的網絡協議轉發。同樣,一些諸如流量控制、報文路由、IP管理之類的功能也無法實現。這樣、導致這個方案的可用性以及可維護性差。
第3個方案綜合了2個方案的優點并彌補了它們的不足。首先,XCore處理器的IO管腳像FPGA一樣是可以編程設計的。設計者可以分配足夠多的管腳給UART。使用標準XCore處理器函數庫,每個UART模塊需要1個硬件線程來實現,每個以太網MAC模塊需要4個硬件線程來實現。這樣,使用4個核的Xcore處理器,可以實現具有16個串口的串口服務器。除實現UART和以太網MAC需要的20個硬件線程外,處理器內還剩下12個硬件線程的資源,這些硬件線程可以用來運行TCP/IP協議,還可以用來實現流量控制、報文路由、IP管理等諸多功能。由于XCore處理器具有實時多線程的特點,能夠保證處理IO數據的硬件線程實時運行,從而保證了數據轉發的實時性。同時,XCore處理器設計屬于軟件編程的范疇,使用C語言就可以方便地實現各種控制管理功能,這使得開發周期縮短,開發難度降低。
4 結語
從上面的研究分析、實例介紹可以看出:相對于傳統的控制器件,XCore處理器具有優異的性能和充分的靈活性,很適合用在一些對處理器功能要求多、實時性要求高的場合。同時,XCore處理器采用C語言編程的特點可以使開發難度以及開發周期大大降低,再考慮到XCore處理器豐富的硬件資源,采用XCore處理器的硬件設計軟件化方案是一種能夠廣泛應用的低成本、高效率解決方案。
評論