基于共享存儲(chǔ)器的多處理機(jī)并行快速通信
3 軟件設(shè)計(jì)
定義2個(gè)IDT7134的存儲(chǔ)區(qū):unsignedcharxdata*xRAM1=0x0000和unsigned char xdata*xRAM2=0x0800,既是把IDT7134的4096個(gè)地址平分,分別作為CPU1存儲(chǔ),CPU2讀取的存儲(chǔ)專區(qū)1;后者作為CPU2存取,CPU1讀取的專區(qū)2。在每一個(gè)專區(qū),只允許專有的動(dòng)作,其他的操作視作非法操作。
接下來(lái)第二步是設(shè)定標(biāo)志位。對(duì)CPU1,CPU2的操作分別設(shè)定3個(gè)相應(yīng)的標(biāo)志位:CPU1有cpu1_updata_flag(為0時(shí)表示存儲(chǔ)專區(qū)1未更新,不必讀??;為1時(shí)表示存儲(chǔ)專區(qū)1已更新,可以讀取);cpu1_writing_flag(為0時(shí)表示未對(duì)該存儲(chǔ)專區(qū)1寫入操作,可以在數(shù)據(jù)有更新的情況下對(duì)該數(shù)據(jù)區(qū)進(jìn)行讀??;為1時(shí)表示正對(duì)該數(shù)據(jù)區(qū)進(jìn)行寫操作,禁止讀取);cpu1_reading_flag(為0時(shí)表示未對(duì)存儲(chǔ)專區(qū)2進(jìn)行讀操作,如果存儲(chǔ)專區(qū)2的數(shù)據(jù)未更新,則CPU2可以對(duì)其進(jìn)行寫入操作)。同理,CPU2也有相應(yīng)的3個(gè)標(biāo)志:cpu2_updata_flag,cpu2_writing_flag,cpu2_ rading_flag,并具有類似的含義。
系統(tǒng)上電后,先自檢,一切正常后,復(fù)位。復(fù)位后,所有的標(biāo)志位置為0,然后進(jìn)行相應(yīng)的數(shù)據(jù)傳輸。CPU1和CPU2相應(yīng)的工作流程如圖5所示。本文引用地址:http://butianyuan.cn/article/155979.htm
4 結(jié)束語(yǔ)
本并行通信采用IDT7134雙口RAM,實(shí)驗(yàn)表明具有功率損耗小,傳輸速率高,實(shí)時(shí)性好,可靠性高。該系統(tǒng)可廣泛應(yīng)用在數(shù)據(jù)采集、多機(jī)通信系統(tǒng)中,并對(duì)其他的嵌入式系統(tǒng)有一定的借鑒作用。
根據(jù)目前的實(shí)踐情況來(lái)看,下一步是把雙口RAM應(yīng)用在多處理機(jī)中,為此需要解決多處理機(jī)的地址爭(zhēng)用問(wèn)題,需要提出更優(yōu)良的算法以實(shí)現(xiàn)有效性和實(shí)時(shí)性。
評(píng)論