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