資源描述:
《基于nios ⅱ嵌入式軟核多處理器系統(tǒng)研究》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、基于NiosⅡ嵌入式軟核多處理器系統(tǒng)研究通過(guò)對(duì)硬件互斥核,程序存儲(chǔ)器分區(qū),重疊地址空間,啟動(dòng)地址和異常地址的分析,提出了多處理器系統(tǒng)共享片上存儲(chǔ)器、FLASH存儲(chǔ)器和外設(shè)資源的解決方法,為NiosⅡ嵌入式多處理器系統(tǒng)的設(shè)計(jì)提供了有效的方法和途徑。0引言基于SoPC技術(shù)開(kāi)發(fā)的嵌入式NiosⅡ軟核多處理器系統(tǒng)具有可自主設(shè)計(jì),重構(gòu)性好,軟硬件裁剪容易,系統(tǒng)擴(kuò)充升級(jí)方便,能兼顧性能、體積、功耗、成本、可靠性等方面的要求。研發(fā)嵌入式NiosⅡ軟核多處理器系統(tǒng),是提高嵌入式系統(tǒng)性?xún)r(jià)比和實(shí)用性一種有效途徑。1片
2、上NiosⅡ嵌入式軟核多處理器系統(tǒng)嵌入式系統(tǒng)的核心是RISC處理器,具有代表性的RISC軟核處理器是NiosⅡ處理器。軟核處理器是指用編程的方法生成的處理器。是一種將硬件邏輯、智能算法、硬件描述語(yǔ)言和編程有機(jī)的結(jié)合出來(lái),設(shè)計(jì)處理器硬件電路的新技術(shù)。片上NiosⅡ嵌入式多處理器系統(tǒng)優(yōu)勢(shì)在于設(shè)計(jì)者可根據(jù)的實(shí)際的需要,自主選擇NiosⅡ處理器的類(lèi)型和數(shù)目并進(jìn)行設(shè)置,對(duì)存儲(chǔ)器和外圍設(shè)備進(jìn)行優(yōu)化配置,最大限度提高片內(nèi)資源和系統(tǒng)資源的利用率。1.1NiosⅡ處理器由NiosⅡ軟核處理器構(gòu)建的系統(tǒng),對(duì)系統(tǒng)軟硬件
3、容易進(jìn)行裁剪,并可集成在一個(gè)FPGA芯片上,構(gòu)建系統(tǒng)和實(shí)時(shí)評(píng)估非常迅速、方便,可大大地縮短設(shè)計(jì)周期,降低設(shè)計(jì)風(fēng)險(xiǎn)。1.2多處理器系統(tǒng)類(lèi)型按共享資源分為非共享資源多處理器系統(tǒng)和共享資源多處理器系統(tǒng)兩種。非共享資源多個(gè)處理器系統(tǒng)中的多個(gè)NiosⅡ處理器完全是獨(dú)立的,不共享系統(tǒng)資源,處理器相互之間無(wú)干擾,系統(tǒng)結(jié)構(gòu)不太復(fù)雜。共享資源多處理器系統(tǒng)在共享資源的情況下,要確保多個(gè)NiosⅡ處理器安全、可靠的工作,它對(duì)提高每個(gè)處理器的性能、減小體積,降低成本和功耗有利,但系統(tǒng)軟件的設(shè)計(jì)較為復(fù)雜。win764位xi
4、tongcheng.com/win7/64/按處理器拓?fù)浣Y(jié)構(gòu)分為2種,一種是非層次結(jié)構(gòu),處理器與系統(tǒng)組件的連接容易;另一種是層次結(jié)構(gòu),它可根據(jù)實(shí)際需要來(lái)確定NiosⅡ處理器的數(shù)目,優(yōu)化系統(tǒng)的內(nèi)部結(jié)構(gòu),有效利用FPGA芯片的資源。但存在平衡多處理器的負(fù)載和任務(wù)協(xié)調(diào)的問(wèn)題。2共享資源多處理器系統(tǒng)由多個(gè)NiosⅡ軟核處理器,一套片上外設(shè)接口,片上存儲(chǔ)器,片外存儲(chǔ)器接口等并集成在一個(gè)FPGA芯片上,構(gòu)成片上嵌入式NiosⅡ軟核多處理器系統(tǒng)的基本架構(gòu)。2.1共享系統(tǒng)資源NiosⅡ多處理器系統(tǒng)可共享存儲(chǔ)器、外
5、圍設(shè)備系統(tǒng)資源。為了確保每個(gè)處理器共享資源,防止由于處理器之間的干擾,引起程序或數(shù)據(jù)的錯(cuò)誤,導(dǎo)致整個(gè)系統(tǒng)的崩潰。NiosⅡ多處理器系統(tǒng)中使用硬件互斥核組件對(duì)共享資源進(jìn)行保護(hù)處理,以協(xié)調(diào)各個(gè)處理器的正常工作,確保處理器之間不受干擾,從而提高多處理器系統(tǒng)的性能。2.2硬件互斥核用硬件互斥核來(lái)協(xié)調(diào)各個(gè)處理器對(duì)共享資源的訪(fǎng)問(wèn)。硬件互斥核是沒(méi)有內(nèi)部功能的,是一個(gè)簡(jiǎn)單的QSYS組件。它提供了一個(gè)協(xié)議來(lái)保證對(duì)共享資源的所有權(quán)的互斥,互斥協(xié)議是在任何時(shí)刻只有一個(gè)處理器允許訪(fǎng)問(wèn)共享硬件資源,這樣才能有效保護(hù)多個(gè)處理
6、器訪(fǎng)問(wèn)使用硬件資源,防止數(shù)據(jù)的損壞或系統(tǒng)的崩潰。互斥核mutex提供一個(gè)原子的測(cè)試和設(shè)置操作,它允許處理器測(cè)試,如果互斥是可用的話(huà),獲得互斥鎖處理器進(jìn)行單一的操作。當(dāng)處理器完成使用共享外設(shè)與互斥鎖,會(huì)釋放互斥鎖。此后,另一個(gè)處理器可以獲取該互斥鎖和共享外設(shè)的使用權(quán)。需要注意,互斥核并沒(méi)有外設(shè)系統(tǒng)被多個(gè)處理器同時(shí)訪(fǎng)問(wèn)的物理保護(hù),運(yùn)行在處理器上的軟件負(fù)責(zé)遵守互斥協(xié)議,軟件通過(guò)寫(xiě)獲取互斥鎖后,處理器訪(fǎng)問(wèn)其相關(guān)聯(lián)的共享外圍設(shè)備。多個(gè)處理器訪(fǎng)問(wèn)一個(gè)mutex核,則每個(gè)處理器有一個(gè)唯一的標(biāo)識(shí)符ID(cpuid
7、)。Altera提供了NiosⅡ處理器訪(fǎng)問(wèn)硬件的子程序,這些函數(shù)是針對(duì)mutex核的,直接對(duì)底層硬件進(jìn)行操作,每個(gè)處理器通過(guò)寫(xiě)它的cpuid控制寄存器的值到mutex寄存器的owner域?qū)utex加鎖,而mutex不能對(duì)HALAPI或ANSIC標(biāo)準(zhǔn)庫(kù)進(jìn)行訪(fǎng)問(wèn)。3片上嵌入式NiosⅡ軟核六處理器系統(tǒng)實(shí)例片上嵌入式NiosⅡ六處理器硬件系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。3.1硬件系統(tǒng)結(jié)構(gòu)由六個(gè)NiosⅡ處理器、硬件互斥核、片上存儲(chǔ)器、JTAGUART、定時(shí)器、FLASH控制器、FLASH存儲(chǔ)器、System
8、ID、AvalonSwitchFabric總線(xiàn)組成系統(tǒng)硬件的基本結(jié)構(gòu)。該系統(tǒng)采用層次結(jié)構(gòu),其中第六個(gè)NiosⅡ處理器、片上存儲(chǔ)器、JTAGUART、SystemID、定時(shí)器、FLASH控制和存儲(chǔ)器處在結(jié)構(gòu)的頂層。處在底層的5個(gè)子系統(tǒng)共享存儲(chǔ)器資源,每個(gè)子系統(tǒng)包含一個(gè)NiosⅡ處理器、JTAGUART、定時(shí)器和硬件互斥核,用Ava-lon-MM、PipelineBridges將邏輯相鄰的子系統(tǒng)處理器和互斥核之間連接成一個(gè)環(huán),連接子系統(tǒng)與系統(tǒng)頂層組件之間的通信通道。??3.2NiosⅡ