999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

共享資源Nios Ⅱ多處理器系統研究

2013-04-12 00:00:00張慧孫惠章
現代電子技術 2013年16期

摘 要: 為開發具有自主、新穎的嵌入式多處理器系統,滿足功能、成本、體積和功耗的要求。對設計Nios Ⅱ軟核多處理器系統存在的問題進行了研究,給出了一種層次結構的共享資源Nios Ⅱ嵌入式軟核六處理器系統的實例。通過對硬件互斥核,程序存儲器分區,重疊地址空間,啟動地址和異常地址的分析,提出了多處理器系統共享片上存儲器、FLASH存儲器和外設資源的解決方法,為Nios Ⅱ嵌入式多處理器系統的設計提供了有效的方法和途徑。

關鍵詞: 多處理器; 軟核; 自主設計; 互斥核; 共享資源; 啟動地址; 程序存儲器

中圖分類號: TN919?34; TP303 文獻標識碼: A 文章編號: 1004?373X(2013)16?0052?04

基于SoPC技術開發的嵌入式Nios Ⅱ軟核多處理器系統具有可自主設計,重構性好,軟硬件裁剪容易,系統擴充升級方便,能兼顧性能、體積、功耗、成本、可靠性等方面的要求。研發嵌入式Nios Ⅱ軟核多處理器系統,是提高嵌入式系統性價比和實用性一種有效途徑。

1 片上Nios Ⅱ嵌入式軟核多處理器系統

嵌入式系統的核心是RISC處理器,具有代表性的RISC軟核處理器是Nios Ⅱ處理器。軟核處理器是指用編程的方法生成的處理器。是一種將硬件邏輯、智能算法、硬件描述語言和編程有機的結合出來,設計處理器硬件電路的新技術。

片上Nios Ⅱ嵌入式多處理器系統優勢在于設計者可根據的實際的需要,自主選擇Nios Ⅱ處理器的類型和數目并進行設置,對存儲器和外圍設備進行優化配置,最大限度提高片內資源和系統資源的利用率。

1.1 Nios Ⅱ處理器

由Nios Ⅱ軟核處理器構建的系統,對系統軟硬件容易進行裁剪,并可集成在一個FPGA芯片上,構建系統和實時評估非常迅速、方便,可大大地縮短設計周期,降低設計風險。

1.2 多處理器系統類型

按共享資源分為非共享資源多處理器系統和共享資源多處理器系統兩種[1]。非共享資源多個處理器系統中的多個Nios Ⅱ處理器完全是獨立的,不共享系統資源,處理器相互之間無干擾,系統結構不太復雜。共享資源多處理器系統在共享資源的情況下,要確保多個Nios Ⅱ處理器安全、可靠的工作,它對提高每個處理器的性能、減小體積,降低成本和功耗有利,但系統軟件的設計較為復雜。

按處理器拓撲結構分為2種,一種是非層次結構,處理器與系統組件的連接容易;另一種是層次結構,它可根據實際需要來確定Nios Ⅱ處理器的數目,優化系統的內部結構,有效利用FPGA芯片的資源。但存在平衡多處理器的負載和任務協調的問題。

2 共享資源多處理器系統

由多個Nios Ⅱ軟核處理器,一套片上外設接口,片上存儲器,片外存儲器接口等并集成在一個FPGA芯片上,構成片上嵌入式Nios Ⅱ軟核多處理器系統的基本架構。

2.1 共享系統資源

Nios Ⅱ多處理器系統可共享存儲器、外圍設備系統資源。為了確保每個處理器共享資源,防止由于處理器之間的干擾,引起程序或數據的錯誤,導致整個系統的崩潰。Nios Ⅱ多處理器系統中使用硬件互斥核組件對共享資源進行保護處理,以協調各個處理器的正常工作,確保處理器之間不受干擾,從而提高多處理器系統的性能。

2.2 硬件互斥核

用硬件互斥核來協調各個處理器對共享資源的訪問。硬件互斥核是沒有內部功能的,是一個簡單的QSYS組件。它提供了一個協議來保證對共享資源的所有權的互斥,互斥協議是在任何時刻只有一個處理器允許訪問共享硬件資源,這樣才能有效保護多個處理器訪問使用硬件資源,防止數據的損壞或系統的崩潰。互斥核mutex提供一個原子的測試和設置操作,它允許處理器測試,如果互斥是可用的話,獲得互斥鎖處理器進行單一的操作[2?4]。當處理器完成使用共享外設與互斥鎖,會釋放互斥鎖。此后,另一個處理器可以獲取該互斥鎖和共享外設的使用權。

需要注意,互斥核并沒有外設系統被多個處理器同時訪問的物理保護,運行在處理器上的軟件負責遵守互斥協議,軟件通過寫獲取互斥鎖后,處理器訪問其相關聯的共享外圍設備。多個處理器訪問一個mutex核,則每個處理器有一個唯一的標識符ID(cpuid)。Altera提供了Nios Ⅱ處理器訪問硬件的子程序,這些函數是針對mutex核的,直接對底層硬件進行操作,每個處理器通過寫它的cpuid控制寄存器的值到mutex寄存器的owner域對mutex加鎖,而mutex不能對HAL API或ANSI C標準庫進行訪問[1]。

3 片上嵌入式Nios Ⅱ軟核六處理器系統實例

片上嵌入式Nios Ⅱ六處理器硬件系統結構示意圖如圖1所示。

3.1 硬件系統結構

由六個Nios Ⅱ處理器、硬件互斥核、片上存儲器、JTAG UART、定時器、FLASH控制器、FLASH存儲器、System ID、Avalon Switch Fabric總線組成系統硬件的基本結構。該系統采用層次結構,其中第六個Nios Ⅱ處理器、片上存儲器、JTAG UART、System ID、定時器、FLASH控制和存儲器處在結構的頂層。處在底層的5個子系統共享存儲器資源,每個子系統包含一個Nios Ⅱ處理器、JTAG UART、定時器和硬件互斥核,用Avalon?MM、Pipeline Bridges將邏輯相鄰的子系統處理器和互斥核之間連接成一個環,連接子系統與系統頂層組件之間的通信通道。

3.2 Nios Ⅱ處理器選擇和參數設置

Nios Ⅱ處理器有快速型、標準型和經濟型三種類型[3],快速型配置性能最高,經濟型

配置占用片內資源最少,標準型配置的性能和占用片上資源介于快速型和經濟型之間。根據實際應用需要對系統性價比及功耗的要求,合理選擇和配置Nios Ⅱ處理器。

多處理器系統中對每一個處理器都要進行正確的設置,否則即使創建的硬件系統已通過編譯并生成,也會造成多處理器系統不能正常運行的問題。如果多個處理器使用片上存儲器為共享程序存儲器,則必須正確設計異常地址。如果使用CFI FLASH存儲器區域作為多個處理器的引導區,則必須要正確設計復位地址。使用不同類型的存儲器要正確的進行設置。

3.3 共享程序存儲器

為了降低成本、功耗,簡化多處理器系統結構,實例中利用FPGA的芯片資源共享程序存儲器,六個Nios Ⅱ處理器的運行軟件共同使用片上存儲器,每個處理器的軟件位于片上存儲器所屬特有的存儲器區域。如果六個處理器的軟件在片上存儲器運行,假設每個處理器的軟件需要有8 KB的內存空間用于程序代碼和數據。這樣第一個處理器使用片上存儲器0x0~0x1FFF之間的作為其程序空間,第二個處理器使用片上存儲器0x2000~0x3FFF之間的區域,第三個處理器使用片上存儲器0x4000~0x5FFF之間的區域;其他各個處理器所需的存儲器區域采用同樣的方法對片上存儲器進行分區。

Nios Ⅱ SBT提供了一個簡單的存儲器分區模式,允許多個處理器的軟件運行于同一存儲器的不同區域,確保位于存儲器中的主要代碼段的鏈接和固定地址。圖2所示六個處理器在片上儲存器的分區及代碼段的鏈接。

3.4 設置啟動地址

在多處理器系統中,每個處理器在存儲器中必須擁有自己的啟動區域,多個處理器不能從同一非易失性存儲器的同一地址啟動。啟動存儲器類似程序存儲器一樣也可以進行分區,但段和鏈接的概念不同,因為通常引導代碼只是復制到它實際的程序代碼被鏈接在RAM中,然后跳轉到該程序代碼處。為了從同一非易失性存儲器的不同區域啟動多個處理器,設置每

個處理器復位地址,這個地址就是啟動該處理器的位置,啟動區域要留出足夠的空間存放啟動代碼。由于沒有支持機制多個處理器無法直接訪問CFI FLASH存儲器,需要使用一個CFI FLASH控制器,Nios Ⅱ處理器通過CFI FLASH控制器讀取或寫入到CFI FLASH存儲器。如果多個Nios Ⅱ處理器啟動在同一個CFI FLASH存儲器。為確保安全訪問,必須刪除一個主控處理器之外的CFI FLASH存儲器alt_main()函數所有初始化的驅動程序,并確認啟動前完成所有其他處理器在CFI FLASH存儲器的程序初始化[1]。圖3所示六個處理器從一個FLASH存儲器啟動的映射。

3.5 共享外設資源

多個處理器共享外設存在嚴重的問題。共享外設的最大的問題是中斷,如果允許一個外設中斷且所有處理器共享它,沒有可靠的方法保證哪一個處理器首先響應中斷且為哪個外設服務。此外,如果外設是用來作為多處理器的輸入設備,很難確定哪個處理器應該從設備中接受輸入信息。Nios Ⅱ多處理器系統共享外設資源的方式,是系統中的外設僅被一個處理器訪問,如果其他處理器需要使用外設,最好是使用硬件先進先出(FIFO)或消息緩沖區互斥保護。創建多處理器系統時,僅對需要通信的處理器和外設之間進行連接。例如,如果一個處理器運行僅使用一個片上存儲器,該處理器沒有必要與系統中任何其他存儲器連接。處理器與存儲器的分離,不使用物理斷開連接,這樣可節約FPGA資源,保證處理器不會破壞存儲器的數據。

共享資源多處理器與各種組件連接是設計中的關鍵環節,要驗證每個處理器及所需組件的連接是否正確。多數組件最好是由單一的處理器管理。 例如處理器A要求一個外設的服務,而該外設與處理器B連接并由處理器B管理,處理器A要求對該外設進行操作,處理器A必須請求處理器B。這樣可以使用處理器互斥保護的共享片上存儲器,用于個兩處理器之間的通信,達到多處理器共享外設的目的。

在多處理器系統中,每個從外設可以占據相同的基地址不會發生沖突,只要每個外設是被不同的處理器控制。因為每個從外設不必一定被每個處理器控制。如果處理器A被連接到映射地址為0x00008a00的一個從外設,處理器B也可以被連接到映射地址0x00008a00另一個從外設,只要處理器A是沒有連接到處理器B的從外設,處理器B沒有連接到處理器A的從外設,不會因為從外設占據相同的基地址而發生沖突。圖4方框圖顯示多處理器系統中不同的從外設組件映射到同一個基地址的示例。

4 系統調試及軟件設計問題

Nios Ⅱ SBT for Eclipse工具包括了許多功能[5],它可以進行Nios Ⅱ多處理器系統的軟件開發。能同時對多個Nios Ⅱ處理器進行調試會話,也可單獨暫停和恢復每個處理器的運行,單獨設置每處理器的斷點。如果一個處理器遇到一個斷點,它不會停止或影響其他處理器的操作。Nios Ⅱ SBT for Eclips對多個處理器系統具有可同時進行在片調試的能力。

系統軟件設計應注意的問題,在設計Nios Ⅱ多處理器系統的軟件時,必須要考慮系統硬件結構的特點以及啟動地址和異常地址的設置。設計調試運行多處理器系統軟件與單處理器系統相似,一定要清楚每個處理器的復位地址、異常地址,CPUID寄存器的值以及存儲器的類型。多個處理器使用同一個程序存儲器,而每個處理器的程序必須存放在不同的區域,用異常地址為每個處理器存放程序確定內存區域,使用QSYS為每個處理器設置異常地址[7]。

5 結 語

SoPC技術的出現帶來全新的嵌入式處理器硬件的設計理念,使得設計嵌入多處理系統硬件電路的有了多種方法和途徑。實例Nios Ⅱ嵌入式軟核六處理器系統的方案具有一定可行性和實用性。如何提高嵌入式多個處理器系統的效率,實現資源的最佳配置,簡化系統結構、降低成本和功耗,怎樣合理選擇時鐘、I/O、其他外設等問題有待進一步研究解決。

參考文獻

[1] Altera. Creating multiprocessor Nios Ⅱ systems tutorial [R]. USA: Altera, 2011.

[2] 李蘭英.Nios Ⅱ嵌入式SoPC設計原理及應用[M].北京:北京航空航天大學出版社,2007.

[3] Altera. Embedded design handbook [M]. USA: Altera, 2011.

[4] Altera. Nios Ⅱ processor reference handbook [M]. USA: Altera, 2011.

[5] Altera. Nios Ⅱ software developer’s handbook [M]. USA: Altera, 2011.

[6] Altera. SOPC builder user guide [M]. USA: Altera, 2011.

[7] Altera. Qsys system design tutorial [M]. USA: Altera, 2011.

[8] 張磊,胡方明,李德昌,等.基于Nios Ⅱ的嵌入式以太網口的設計[J].電子科技,2007(5):75?78.

主站蜘蛛池模板: 91国内外精品自在线播放| 亚洲v日韩v欧美在线观看| 久久精品亚洲热综合一区二区| 三级国产在线观看| 福利一区三区| 国产成人亚洲精品蜜芽影院| 国产国语一级毛片| 日韩精品无码免费专网站| 无码专区国产精品第一页| 精品国产91爱| 亚洲网综合| 91系列在线观看| 日韩在线第三页| 久久国产精品波多野结衣| 欧美自拍另类欧美综合图区| 黄色网页在线播放| 中文字幕一区二区视频| 亚洲欧美日韩高清综合678| 91小视频在线观看免费版高清| 国产精品欧美在线观看| 午夜少妇精品视频小电影| 99re这里只有国产中文精品国产精品 | 波多野结衣一区二区三区AV| 热这里只有精品国产热门精品| 亚洲热线99精品视频| 亚洲啪啪网| 天天爽免费视频| 狠狠操夜夜爽| 99久久成人国产精品免费| 亚洲一级色| 国产精品久久精品| 亚洲成人一区二区三区| av在线5g无码天天| 国产尤物在线播放| 精品伊人久久大香线蕉网站| 人妻精品全国免费视频| 91精品人妻一区二区| 免费啪啪网址| 亚洲精品福利视频| 精品视频免费在线| a国产精品| 久久久久88色偷偷| 欧美无遮挡国产欧美另类| 亚洲成人一区二区| 少妇人妻无码首页| 欧美亚洲第一页| 91po国产在线精品免费观看| 日本免费一区视频| 伊人查蕉在线观看国产精品| 人人爱天天做夜夜爽| av尤物免费在线观看| 狠狠做深爱婷婷久久一区| 精品综合久久久久久97超人| www.亚洲国产| 欧美日韩动态图| 国产成人亚洲综合a∨婷婷| 亚洲高清日韩heyzo| 97国内精品久久久久不卡| 激情五月婷婷综合网| 波多野结衣一区二区三区四区视频 | 久久先锋资源| 2021国产乱人伦在线播放| 青青草原国产免费av观看| 91在线高清视频| 亚洲首页在线观看| 亚洲AV无码一二区三区在线播放| 一区二区三区四区日韩| 四虎国产永久在线观看| 一本无码在线观看| 日日拍夜夜操| 欧美一区二区三区国产精品| 重口调教一区二区视频| 久久综合丝袜日本网| 日韩精品毛片| 国产99视频精品免费视频7| 国产精品污视频| 国产乱人乱偷精品视频a人人澡 | 中文字幕色在线| 蜜桃视频一区| 欧美日韩一区二区三区四区在线观看 | 天天做天天爱天天爽综合区| 一本大道东京热无码av|