




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第1節(jié) Nios II處理器結構與Nios II的寄存器文件3.1 Nios II處理器結構Nios II 是一種軟核(Soft-Core)處理器。所謂軟核,是指未被固化在硅片上,使用時需要借助EDA軟件對其進行 配置并下載到可編程芯片(比如FPGA中的IP核。軟核最大的特點就是可由用戶 按需要進行配置。Nios II軟核處理器簡介Nios II處理器系列包括三種內(nèi)核/性能最高,但占用的邏輯資源報多"廠 Nios II/f (快速)XNios IINios II/e (經(jīng)濟)占用的邏輯資源最少,但性能最低"J Nios II/s (標準)艾位軟核處理器 平衡的性能和尺寸。硼
2、叢內(nèi)核比 第一代的Xios CPU更憶占用的資 源更少.Nios II處理器結構框圖Nios II處理器結構框圖Nios II采用哈佛結構,數(shù)據(jù)總線和指令總線分開。為了調試方便,Nios II處理器集成了一個 JTAG調試模塊。為了提高系統(tǒng)的整體性能,Nios II內(nèi)核不僅可以集成數(shù)據(jù)Cache和指令Cache,還帶有緊耦合存儲器TCM接口。TCM可以使Nios II處理器既能提高性能,又能獲得可預測的實時響應。Nios II把外部硬件的中斷事件交由中斷控制器管理,內(nèi)核異常事件交由異??刂破鞴芾?。Nios II的寄存器文件包括 32個通用寄存器和 6個控制寄存器,Nios II結構允許將來添加
3、浮點寄存器。3.2 Nios II的寄存器文件Nios II的控制寄存器Nios II的控制寄存器共有 6個,它們的讀/寫訪問只能在超級用戶模式 (Supervisor Model)下由專用的控 制寄存器讀/寫指令(rdctl和wrctl)實現(xiàn)。通過控制寄存器一覽表,來了解控制寄存器各位的意義。通用寄存器組寄存舞功能寄存器功能10zeio116r卅r;耍保存的需心器11at料汕叩勺臨1卜|變量11 齊陵宴保存歯加昨12函數(shù)返囲圃低32位)11813旳數(shù)返回值(高3)位)119程庁要保存的寄存曙14傳遞給函數(shù)幽數(shù)120rf'J.ip要保荷的需心曙15傳遞給雷螂增數(shù)r21卅庁璧保厶的寄心器
4、16r22保存的寄存器r7&遞給曲數(shù)的瑟或123要保存的寄存器18調用嚼保存的窗存二124et為卅幣處刊保卅19調川斤要保春的寄存器r25bl為和用斷點仃:卅110闊川呂孌傑存的爸存措126即全局指針ill|彌著要保存蹣穩(wěn)黑127堆棧抬針112調用者要保心的冒存器128faii113調用名建保存的寄樣器l29卅常返回地址114調用霜藝保存的寄6器130ba斷點返冋地115131ra通用寄存器一覽Nios II的控制寄存器共有6個,它們的讀/寫訪問只能在超級用戶模式 (Supervisor Model) 下由專用的控制寄存器讀/寫指令(rdctl 和wrctl)實現(xiàn) 通過控制寄存器一覽表
5、,來了解控制寄存器各位的意義控制寄存器組寄存器名字bit位意義:31210ct 10status保留UPIEctllestatus保留EUEPIEctl2bsiatosl保留BUBPIEctl3ienable中斷允許位ct 14中斷發(fā)生標志位ctl5wl唯一的CPU序別號控制寄存器一覽(3)算術邏輯單元(ALU)Nios II ALU支持的操作種類描述算術運算ALU支持有符號和無符號敷的加 麻乘沏除法關系運算支持斛號価符號數(shù)的等干、不等三大于等珂小于 (=!=>=,<)關系運算邏輯運算支和ND、OR. NOR和XO戲輯運算移位運算支掙移位和循環(huán)移位運算,在每條指令中可以料數(shù)據(jù)移位和
6、環(huán) 移0到31位心支持算術右務和算術左擬還支持左、右循環(huán)務 位未實現(xiàn)的指令 用戶指令浮點指令(4)復位信號Nios II 處理器支持兩個復位信號: reset 和 cpu_resetrequest reset: 是一個強制處理器核立即進入復位狀態(tài)的全局硬件復位信號。cpu_resetrequest:是一個可以讓CPU復位但不影響Nios II系統(tǒng)其它外設的局 部復位信號。CPU6位后,Nios II處理器將執(zhí)行下列操作: 清除狀態(tài)寄存器 status ,使之為 0x0; 指令Cache與程序存儲器的關聯(lián)被置為無效,處理器從固態(tài)程序存儲器(比如 Flash) 中的 reset 地址處取得第一條指
7、令; 從復位地址處開始執(zhí)行程序。清除 status : 是為了使處理器進入超級用戶模式并禁止硬件中斷。使當前Cache隊列無效:是為了保證取指是從復位地址所在的非Cache存儲區(qū),而不是當前指令Cache。以下部件的狀態(tài)在復位后是不確定的:通用寄存器(除zero(rO):總是存放0值); 控制寄存器(除status(ctlO), 被置為0x0); 指令和數(shù)據(jù)存儲器。Cache( 除與復位地址關聯(lián)的指令 Cache);與CPU相連的各外設,各外設復位后的狀態(tài)要具體參考各外設的手冊; 用戶指令邏輯在復位后的狀態(tài)要參看用戶指令邏輯的手冊或說明。第2節(jié) Nios II 處理器運行模式一、Nios II
8、處理器有3種運行模式:用戶模式(User Mode); 超級用戶模式 (Supervisor Mode) ; 調試模式 (Debug Mode) 。通常系統(tǒng)程序代碼運行在超級用戶模式。在 V6.0 版本以前的 Nios II 處理器都不支持用戶模式,永遠都運行在超級用戶模式。(1)用戶模式: 是超級用戶模式功能訪問的一個子集, 它不能訪問控制寄存器 和一些通用寄存器。(2)超級用戶模式:除了不能訪問與調試有關的寄存器(bt、ba和bstatus)外,無其它訪問限制;( 3)調試模式:擁有最大的訪問權限,可以無限制地訪問所有的功能模塊;Nios II 處理器 3種運行模式切換 :Nios II處
9、理器3種運行模式、異常和中斷控制器 異常的嵌套 異常返回 異常響應時間Nios II的非向量仲裁策略,導致了 Nios II的異常處理延時會比較大,它是靠 提高Nios II處理器的執(zhí)行速度來彌補這一缺點的。見下表:NiosE類哩Max.DMIPS中斷延遲|相應時間異?;謴蜁r延NiosUe3115485222NiosII s12710128130NiosII/f2181010562第3節(jié)存儲器及I/O結構NiosII內(nèi)核訪問存儲器和I/O的方式Nios II存儲器和I/O結構1. 指令主端口2. 指令高速緩存3. 數(shù)據(jù)主端口4. 數(shù)據(jù)高速緩存5. 緊耦合指令或數(shù)據(jù)存儲器端口 指令與數(shù)據(jù)總線存儲
10、器與外設訪問Nios II結構提供映射為存儲器的I/O訪問。數(shù)據(jù)存儲器和外設都被映 射到數(shù)據(jù)主端口的地址空間。存儲器系統(tǒng)中處理器數(shù)據(jù)總線低8位分別連接存儲 器數(shù)據(jù)線7-0o低地址高字節(jié)高地址(小端模式)指令主端口Nios II指令總線作為32位Avalon主端口來實現(xiàn)。指令主端口只執(zhí)行 一個功能:對處理器將要執(zhí)行的指令進行取指。指令主端口是具有流水線屬性的 Aval on主端口。指令主端口依賴Aval on交換結構中的動態(tài)總線對齊邏輯始終能接收32位數(shù)據(jù)。Nios II 結構支持片內(nèi)高速緩存。Nios II結構還支持緊耦合存儲器,對緊耦合存儲器的訪問能實現(xiàn)低延 遲。說明:1、指令主端口不執(zhí)行任
11、何寫操作。2、動態(tài)總線對齊邏輯不管目標存儲器的寬度如何,每次取指都會返回一個完整的指令字,因而程序不需要 知道Nios II處理器系統(tǒng)中的存儲器寬度。3、片 內(nèi)高速緩存,用于改善訪問較慢存儲器時的平均指令取指性能。數(shù)據(jù)主端口Nios II數(shù)據(jù)總線作為32位Avalon主端口來實現(xiàn)。數(shù)據(jù)主端口執(zhí)行兩個功能:1 當處理器執(zhí)行裝載指令時,從存儲器或外設中讀數(shù)據(jù)。2 當處理器執(zhí)行存儲指令時,將數(shù)據(jù)寫入存儲器或外設。數(shù)據(jù)主端口不支持Aval on流水線傳輸。同指令主端口一樣Nios II結構支持片內(nèi)高速緩存,改善平均數(shù)據(jù)傳輸 性能。Nios II結構也支持緊耦合存儲器以實現(xiàn)低延遲。指令和數(shù)據(jù)共享的存儲器
12、通常,指令和數(shù)據(jù)主端口共享含有指令和數(shù)據(jù)的存儲器。雖然處理器內(nèi) 核使用獨立的指令總線和數(shù)據(jù)總線,整個Nios II處理器系統(tǒng)對外呈現(xiàn)單一的、共用的指令/數(shù)據(jù)總線。說明:數(shù)據(jù)和指令主端口從來不會出現(xiàn)一個端口使另一個端口處于等待狀態(tài)的停滯狀 況。為獲得最高性能,對于指令和數(shù)據(jù)主端口共享的任何存儲器,數(shù)據(jù)主端口被指定為更高的優(yōu)先級。高速緩存(Cache)Nios II結構的指令主端口和數(shù)據(jù)主端口都支持高速緩存。作為Nios II處理器組成部分的高速緩存在 SOPC Builder中是可選的,這取決 于用戶對系統(tǒng)存儲性能以及FPGA資源的使用要求。包含高速緩存不會影響程序 的功能,但會影響處理器取指和
13、讀/寫數(shù)據(jù)時的速度。高速緩存改善性能的功效是基于以下前提的:1 常規(guī)存儲器位于片外,訪問時間比片內(nèi)存儲器要長。2.循環(huán)執(zhí)行的、最大的,關鍵性能的指令序列長度小于指令高速緩存。3 關鍵性能數(shù)據(jù)的最大塊小于數(shù)據(jù)高速緩存。例如在以下的情況下高速緩存將無法改善執(zhí)行速度:1、Nios II處理器系統(tǒng)只含有快速的片內(nèi)存儲器(即從不訪問較慢的片外存儲 器)。2、程序的關鍵循環(huán)是2KB而指令高速緩存的大小為1KB3、由于性能上的原因,應用程序始終要求某些數(shù)據(jù)或部分代碼存放在高速緩存 中,那么緊耦合存儲器可能會提供一個更合適的解決方案。注意:Cache雖然改善了系統(tǒng)的整體性能,但使程序的執(zhí)行時間變得不可預測。
14、對于實時系統(tǒng)來說這一點至關重要。緊耦合存儲器(TCM):緊耦合存儲器是一種緊挨著內(nèi)核的快速 SRAM它不僅能改 善系統(tǒng)性能,而且保證了裝載和存儲指令或數(shù)據(jù)的時間是確定的。 緊耦合存儲器 可向對性能要求嚴格的應用提供低延遲訪問。j&etIM懂荷LJf «件Avalon叵|離¥業(yè)唯璃口Pm口緊耦合存儲器介紹實際上,緊耦合存儲器是Nios II處理器內(nèi)核上的一個獨立的主端口, 與指令或數(shù)據(jù)主端口類似。Nios II結構指令和數(shù)據(jù)訪問都支持緊耦合存儲器。 Nios II內(nèi)核可以不包含緊耦合存儲器,也可以包含一個或多個緊耦合存儲器。 每個緊耦合存儲器端口直接與具有固定的低延遲
15、的存儲器相連,該存儲器在 Nios II內(nèi)核的外部,通常使用FPGA片內(nèi)存儲器。緊耦合存儲器與其它通過Aval on交換結構連接的存儲器件一樣,占據(jù) 標準的地址空間。它的地址范圍在生成系統(tǒng)時確定。系統(tǒng)在訪問指定的代碼或數(shù)據(jù)時,能夠使用緊耦合存儲器來獲得最高性能。例如, 中斷頻繁的應用能夠將異常處理代碼放在緊耦合存儲器中來降低中斷延遲。類似的,計算密集型的數(shù)字信號處理(DSP應用能夠將緊耦合存儲器指定為數(shù)據(jù)緩 存區(qū),實現(xiàn)最快的數(shù)據(jù)訪問。地址映射在Nios II處理器系統(tǒng)中,存儲器和外設的地址映射是與設計相關的,由設計人 員在系統(tǒng)生成時指定。這里要特別提到的是3個CPU相關的地址:復位地址、異 常
16、地址以 及斷點處理(break handler )程序的地址。程序員通過使用宏和驅動 程序來訪問存儲器和外設,靈活的地址映射并不會影響應用程序開發(fā)人員。存儲器和外設訪問Nios II地址是32位的,允許對4GB地址空間進行訪問,但現(xiàn)有的Nios II內(nèi)核都將地址限制在31位,即2GB地址空間。處理器的數(shù)據(jù)總線為 32位寬 度。指令集提供字節(jié),半字(16bit )或字(32位)的讀寫指令。Nios II結構 采用小端模式,對于保存在存儲器中的大于 8位的數(shù)據(jù),最高有效位在高地址。32位寬度4GB地址空間映射到的具體位置 在生成熬統(tǒng)時確定對此地址空間的讀-頁將產(chǎn)生一個平確 走的值尋址方式Nios II結構支持以下尋址方式有: 立即數(shù)尋址:指令直接給出操作數(shù)。寄存器尋址:所有的操作數(shù)都是寄存器,結果保存在寄存器中 移位尋址:寄存器和帶符號的16位立即數(shù)相加的結果作為地址寄存器間接尋址:使用了移位尋址,只是移位值是常量 0絕對尋址:范圍有限制的絕對尋址使用帶有寄存器r0 (它的值始終是0x00)的移位尋址來實現(xiàn)。高速緩存訪問Ni
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買房同中介合同范本
- 口罩購銷合同范本模板
- 出售混凝土檁條合同范本
- 住宅小區(qū)車位轉讓合同范本
- 出售沙合同范本
- 《畫》說課稿七篇
- 簡易汽車出租合同范本
- 《母雞孵蛋》教案
- 廠子勞務合同范例
- 公司房屋抵債合同范本
- 2021中國靜脈血栓栓塞癥防治抗凝藥物的選用與藥學監(jiān)護指南(2021)解讀
- 民兵知識小常識
- 圖形的平移與旋轉壓軸題(7個類型55題)-【??級狠S題】2023-2024學年八年級數(shù)學下冊壓軸題攻略(解析版)
- TDALN 033-2024 學生飲用奶安全規(guī)范入校管理標準
- 2024至2030年全球及中國標準履帶挖掘機行業(yè)研究及十四五規(guī)劃分析報告
- 各地分布式光伏項目電價對比
- 2024年綠化工職業(yè)技能理論知識考試題庫(含答案)
- 醫(yī)學檢驗技術專業(yè)《血液學檢驗》課程標準
- 2024年江蘇食品藥品職業(yè)技術學院單招職業(yè)技能測試題庫有完整答案
- 員工服務意識提升提高服務意識培訓課件
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學院單招職業(yè)適應性測試題庫1套
評論
0/150
提交評論