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