要:本文針對嵌入式設(shè)備資源的有限性以及嵌入式測控系統(tǒng)實時性的要求,提出了一個基于多處理器的測控系統(tǒng)架構(gòu)的設(shè)想,以便于在有限的資源下更快的對現(xiàn)場采集的數(shù)據(jù)進(jìn)行處理。
關(guān)鍵詞:嵌入式系統(tǒng);測控;多處理器
多處理器系統(tǒng)就是在一個系統(tǒng)中含有多個CPU,每個CPU獨立地處理一個或少量的事務(wù),在操作系統(tǒng)的控制下,控制數(shù)據(jù)合理流動,以完成設(shè)計要求的系統(tǒng)。使用多處理器主要有兩種目的。一種是想利用多臺處理器進(jìn)行多任務(wù)處理。另一種是想依靠冗余的處理器及重組能力來提高系統(tǒng)的可靠性、適應(yīng)性和可用性。
二、多處理器系統(tǒng)中應(yīng)注意的問題
與單處理器系統(tǒng)相比,多處理器結(jié)構(gòu)的實現(xiàn)必須考慮和解決一些特殊問題。
(一)處理器之間的負(fù)載問題
在單處理器結(jié)構(gòu)中不存在負(fù)載不均勻的問題。但在多處理器結(jié)構(gòu)中,如何把工作更均衡的分配給各個處理器,使多處理器之間的負(fù)載更均衡是重要的問題。在對稱多處理器結(jié)構(gòu)中,需要盡量把工作平均分配給各個處理器,而對于非對稱處理器結(jié)構(gòu),每個處理器有自己特定的工作,工作的時候是各負(fù)其責(zé),所以很多情況下不能夠平均分配負(fù)載。如何解決系統(tǒng)中不同的分配負(fù)載的問題需要操作系統(tǒng)的調(diào)度算法來實現(xiàn)。
(二)處理器間通信的問題
?
?
在單處理器結(jié)構(gòu)中不存在處理器之間的通信,只有進(jìn)程之間的通信。各個進(jìn)程看上去是并行的,但實際上卻是串行的,因為在任一個時刻只有一個進(jìn)程在真正運行。在這樣的系統(tǒng)中,保證進(jìn)程間的同步和互斥是比較容易的。對臨界資源的操作中途不發(fā)生進(jìn)程調(diào)度,而且不產(chǎn)生與所使用的臨界資源有關(guān)的中斷,就可以保證操作的互斥性。在多處理器結(jié)構(gòu)中,各個處理器并不是相互孤立的,而是協(xié)同工作的。那么處理器間就需要進(jìn)行通信,F(xiàn)有系統(tǒng)中常用的方法有:利用雙口RAM實現(xiàn)CPU之間的通信、利用共享內(nèi)存的方法實現(xiàn)CPU之間的通信、利用總線的方法實現(xiàn)CPU之間的通信等。
(三)高速緩存與內(nèi)存之間內(nèi)容的一致性問題
從數(shù)據(jù)傳輸方面提高系統(tǒng)的實時性涉及的面比較廣,例如,改進(jìn)傳統(tǒng)的TCP擁塞控制、裁減傳統(tǒng)協(xié)議棧、改進(jìn)數(shù)據(jù)調(diào)度算法等等。人們研究的熱點也是圍繞以上這幾個方面來做的,并且也取得了大量的成果,大大提高了系統(tǒng)的實時通訊能力。
[1]馬忠梅,馬廣云等ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用編程[M]北京:北京航空航天工業(yè)大學(xué)出版社,2002
[2]周立功等ARM與嵌入式系統(tǒng)基礎(chǔ)編程[M]廣州:周立功單片機發(fā)展有限公司,2004
[3]徐高潮,胡亮,鞠九濱分布式計算機系統(tǒng)[M]北京:高等教育出版社,2004
|