嵌入式第二章課后習題_第1頁
嵌入式第二章課后習題_第2頁
嵌入式第二章課后習題_第3頁
嵌入式第二章課后習題_第4頁
嵌入式第二章課后習題_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上第二章1. 按照ARM處理器的命名規則,說明ARM7TDMI中T、D、M、I的含義。 答:T:支持16位的Thumb指令集;D:支持JTAG片上調試;M:支持長乘法操作(64位結果)的ARM指令,包含快速乘法器;I:帶有嵌入式追蹤宏單元ETM(Embedded Trace Macro),用來設置斷點和觀察點。2. 什么是哈佛結構?與普林斯頓結構有何區別? 答:哈佛結構是一種將程序中指令和數據分開存儲的存儲器結構。即哈佛結構中程序存儲器和數據存儲器是兩個獨立的存儲器,每個存儲器獨立編址、獨立訪問。 普林斯頓結構(馮·諾伊曼結構)是一種將程序指令存儲器和數據存儲

2、器合并在一起的存儲器結構。程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置。這便是。這便是兩種結構的區別。3. 什么是RSIC?什么是CSIC?簡述他們的特點與差別。 答:RSIC是精簡指令集計算機,CISC是復雜指令集計算機。兩者的區別在于不同的CPU設計理念和方法。對于CISC: 在CSIC結構的指令系統中,各種指令的使用頻率相差懸殊。有80%的指令只在20%的運行時間內才會用到。 CISC結構指令系統的復雜性帶來了計算機體系結構的復雜性,這不僅增加了研制時間和成本,而且還容易造成設計錯誤。 在CISC結構指令系統中,由于各條指令的功能不均衡性,不利于采用先進的計算機體系結構技

3、術來提高系統的性能。對于RISC: 簡化指令集,只保留常用的基本指令; 設計大量的通用存儲器,減少訪存的次數; 采用裝載/保存結構,支持流水線技術,使每個周期時間相等; 采用簡單的指令格式、規整的指令字長和簡單的尋址方式; 單機器周期指令,即大多數的指令都可以在一個機器周期內完成,并且允許處理器在同一時間內執行一系列的指令。4. ARM7處理器是幾級流水線?在ARM7處理器中,“PC指向的是下一條要執行的指令”,這句話對嗎?為什么? 答:ARM7處理器采用三級流水線。“PC指向的是下一條要執行的指令”,這句話不對。在ARM處理器中將PC程序計數器定義到R15寄存器,無論處理器處于何種狀態,PC

4、總是指向“正在取值”指令的地址,一般來說,人們習慣性的約定將“正在執行的指令作為參考點”,成為當前第一條指令,那么PC總是指向隨后的第三條指令,或者說PC總是指向當前正在執行的指令地址再加上2條指令的地址,即指向正在執行指令的下下一條指令,而不是指向下一條要執行的指令。5. 簡述ARM處理器中在線仿真器模塊EmbeddedICE-RT的作用。 答:ARM處理器中的在線仿真器模塊EmbeddedICE-RT,一般還帶有嵌入式宏跟蹤單元模塊ETM,實現ARM處理器的在線調試和運行過程的跟蹤功能;并且具有諸多ICE功能,例如實時尋址、斷點、單步、對ARM CPU的完全控制、對ASIC系統其余部分的訪

5、問,以及對主機顯示器外設訪問、鍵盤輸入和磁盤存儲。6. ARM處理器的工作狀態分為哪二種?ARM處理器又是怎么定義和標志的? 答:ARM處理器的工作狀態分為ARM狀態和Thumb狀態,這兩種狀態有程序狀態字CPSR中T標志位確定,為0時處理器工作在ARM狀態,為1時處理器工作在Thumb狀態。7. ARM7TDMI支持哪幾種指令集,各有什么特點? 答:ARM7TDMI處理器內核包含2套指令系統,分別為ARM指令集和Thumb指令集,兩種指令集的特點是: ARM指令集:處理器執行32位字對齊方式的ARM指令,每條ARM指令長度為32位,指令的功能強大。 Thumb指令集:處理器執行16位字對齊方

6、式的Thumb指令,每條Thumb指令長度為16位,是ARM指令功能的子集。8. ARM7處理器有哪些工作模式?如何實現不同模式之間的切換?舉例說明。 答:ARM處理器供支持7種工作模式,分別為:用戶模式(usr);快速中斷模式(fiq);外部中斷模式(irq);管理模式(svc);數據訪問終止模式(abt);系統模式(sys);未定義指令中止模式(und)。在7中模式中,除用戶模式外,其他的6種模式稱為特權模式,特權模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。特權模式下通過修改當前程序狀態寄存器CPSR中控制位M4:0的值,來改變處理器的運行模式。例如 MSR CPSR_

7、c,#(NoInt |SVC32Mode)/從系統模式切換到管理模式 MSR CPSR_c,#(NoInt |SYS32Mode)/從管理模式切換到系統模式9. 描述ARM7處理器的內部寄存器結構,并分別說明快速中斷FIQ有何特點? 答:ARM7微處理器共有37個32位寄存器,其中31個為通用寄存器,6個為狀態寄存器。37個寄存器定義如下: 31個通用寄存器:R0R15、R8_fiq、 R9_fiq、 R10_fiq、 R11_fiq、 R12_fiq、 R13_fiq、 R14_fiq、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_i

8、rq、R14_irq。 6個狀態寄存器:CPSR、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq、 SPSR_und。快速中斷FIQ,適用于對一個突發事件的快速響應,在ARM狀態中,快中斷有8個專用的寄存器,可以縮短狀態切換時需要的時間。當CPSR中相應的F位清零,快速中斷被使能。10. 什么是中斷延時?在實時系統中如何計算中斷延時時間? 答:中斷延時是系統響應一個中斷所需要的時間,即從外部中斷請求信號發出到執行對應的中斷服務程序ISR的第1條指令所需要的時間。 FIQ的中斷延時計算,當FIQ使能時,最壞的延時包括:a) Tsyncmax:請求通過同步器的最長時間

9、,為兩個處理器周期。b) Tldm:最長執行時間,最長為20個周期。c) Texc:數據中止異常進入時間,為三個周期。d) Tfiq:FIQ進入時間,為兩個周期總的延時可為27個周期。11. 在內存的數據存儲過程中,什么是“字對齊”和“半字對齊”? 答:在內存數據存儲過程中,一般分為小端存儲格式和大端存儲格式。下面以小端存儲格式為例來說明字對齊和半字對齊: 在小端存儲格式中,對于地址為A的字單元,其中字節的低位字節到高位字節地址順序為A ,A+1 ,A+2,A+3;對于地址為A的半字單元,其中字節的低位字節到高位字節地址順序為A ,A+1。12. 簡述程序計數器(PC)在處理器工作中的作用。

10、答:在ARM處理器中將PC程序計數器定義到R15寄存器,無論處理器處于何種狀態,PC總是指向“正在取值”指令的地址。13. 簡述ARM處理器中的返回鏈接寄存器(LR)在處理器工作中的作用。 答:鏈接寄存器LR用于保存子程序返回地址或者異常處理程序的返回地址,LR寄存器一共有6個,其中子程序的返回地址使用一個R14,每種異常模式各自有一個專用的LR寄存器用于保存異常處理程序的返回地址,它們分別為R14_fiq、R14_svc、R14_abt、R14_und、R14_irq。14. 分別簡述ARM處理器中的CPSR、SPSR在處理器工作中的作用。 答:ARM內核包含1個CPSR和5個僅供異常處理模

11、式使用的SPSR。 由于所有模式全部共享一個程序狀態寄存器CPSR,因此處理器所有的狀態全部都保存在CPSR中,也就是ARM內核是通過CPSR來監視和控制內部操作的。 每種異常模式都有一個對應的程序狀態保存寄存器SPSR,用于保存任務在異常發生之前的CPSR狀態的當前值。15. 結合CPSR的結構,說明程序狀態字中各個bit位的作用。答:條件代碼標志(共計4bit)含義如下:N:運算結果的最高位反映在該標志位。對于有符號二進制補碼,結果為負數時N=1,結果為正數或零時N=0;Z:指令結果為0時Z=1(通常表示比較結果“相等”),否則Z=0;C:當進行加法運算,最高位產生進位時C=1,否則C=0

12、。當進行減法運算(包括CMP 指令),最高位產生借位時C=0,否則C=1。V:當進行加法/減法運算,并且發生有符號溢出時V=1,否則V=0,其它指令V不變。CPSR的最低8位為控制位,控制了處理器的工作方式。當發生異常時,這些位被硬件改變。當處理器處于一個特權模式時,可用軟件操作這些位。它們分別是:中斷禁止位包括I和F位:當I位置位時,IRQ中斷被禁止;當F位置位時,FIQ中斷被禁止。T位反映了處理器的當前狀態:當位T=1時,處理器正在Thumb狀態下運行;當位T=0時,處理器正在ARM狀態下運行。模式位包括M4:0共計5bit,這些位決定處理器的操作模式16. 簡述ARM7TDMI內部有哪些

13、寄存器及特點。 答:ARM7微處理器共有37個32位寄存器,其中31個為通用寄存器,6個為狀態寄存器。37個寄存器定義如下: 31個通用寄存器:R0R15、R8_fiq、 R9_fiq、 R10_fiq、 R11_fiq、 R12_fiq、 R13_fiq、R14_fiq、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_irq、R14_irq。 6個狀態寄存器:CPSR、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq、 SPSR_und。特點:在ARM狀態中,R0R7是通用寄存器,是不分組寄存器;R8R14,

14、SPSR根據模式進行分組的寄存器;R15是程序計數器,不進行分組;CPSR是狀態寄存器,不進行分組。17. 什么是ARM處理器的異常?ARM處理器中有哪幾種異常? 答:在ARM中,異常是一些事件,這些事件能導致正常的程序執行流程被暫時地停止,而進入到該事件對應的處理器異常模式并對該事件進行處理。ARM中定義了復位、未定義指令、SWI(軟中斷)、預取指終止、預取數終止、irq以及fiq等種異常,與之對應地ARM7處理器有5種異常模式。18. 分別簡述ARM7的IRQ、FIQ異常處理過程,說明其異常向量地址。 答:IRQ異常的處理流程如下: 進入IRQ異常模式。程序運行在用戶模式下,當一個IRQ異

15、常中斷發生時,內核切換到“中斷模式”,并自動的做如下處理。將異常處理程序的返回地址保存到異常模式下的R14(R14_irq)中。用戶模式的CPSR將被保存到中斷異常模式SPSR_irq中。修改CPSR,將I置1,禁止新的IRQ中斷產生,但不改變F值,不限制FIQ中斷發生,清零T標志位,進入ARM狀態,修改模式位,設置為IRQ模式。將IRQ異常中斷入口向量地址0x送入PC。在IRQ模式下,用戶模式的R13和R14將不能操作,而R13_irq和R14_irq可以操作,即R13_irq保存IRQ模式下的地址指針,R14_irq保存了“IRQ中斷返回地址+4”。 退出IRQ異常模式。中斷服務程序執行完

16、畢后,使用一條指令將返回地址送入PC,即可實現IRQ中斷返回,在返回過程中處理器會自動將SPSR_irq中的內容復制到CPSR,恢復中斷前的處理器狀態。FIQ異常進入與退出的流程與IRQ類似,其異常入口地址是0xC。19. ARM7處理器對哪些異常可以進行屏蔽?如何屏蔽或允許? 答:FIQ和IRQ可以被屏蔽。將CPSR的標志位I和F分別置位對應著IRQ和FIQ中斷被禁止,清零這些位又可以將其使能。20. 說明CPSR中T位的作用,ARM7處理器如何切換狀態? 答:CPSR中T標志位為0時處理器工作在ARM狀態,為1時處理器工作在Thumb狀態。由于ARM采用字對齊或者半字對齊的存儲模式,這意味著地址的最低一個比特位就不會在尋址過程中使用到。故,使用地址的最低位進行區分,以何種模式取值和執行指令,當地址地位為1時,置CPSR的T位為1,反之,置位為0。21. 大端存儲模式和小端存儲模式的含義是什么?畫出在0x2000單元中存儲0x數據的大端存儲模式和小端存儲模式。 答:大端存儲模式:在大端存儲格式中,對于地址為A的字單元,其中字節的低位字節到高位字節地址順序為A+3,A+2,A+1,A;對于地址為A的半字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論