嵌入式第二章課后習(xí)題_第1頁
嵌入式第二章課后習(xí)題_第2頁
嵌入式第二章課后習(xí)題_第3頁
嵌入式第二章課后習(xí)題_第4頁
嵌入式第二章課后習(xí)題_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

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

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

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

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

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

7、c,#(NoInt |SVC32Mode)/從系統(tǒng)模式切換到管理模式 MSR CPSR_c,#(NoInt |SYS32Mode)/從管理模式切換到系統(tǒng)模式9. 描述ARM7處理器的內(nèi)部寄存器結(jié)構(gòu),并分別說明快速中斷FIQ有何特點(diǎn)? 答:ARM7微處理器共有37個(gè)32位寄存器,其中31個(gè)為通用寄存器,6個(gè)為狀態(tài)寄存器。37個(gè)寄存器定義如下: 31個(gè)通用寄存器: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個(gè)狀態(tài)寄存器:CPSR、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq、 SPSR_und??焖僦袛郌IQ,適用于對一個(gè)突發(fā)事件的快速響應(yīng),在ARM狀態(tài)中,快中斷有8個(gè)專用的寄存器,可以縮短狀態(tài)切換時(shí)需要的時(shí)間。當(dāng)CPSR中相應(yīng)的F位清零,快速中斷被使能。10. 什么是中斷延時(shí)?在實(shí)時(shí)系統(tǒng)中如何計(jì)算中斷延時(shí)時(shí)間? 答:中斷延時(shí)是系統(tǒng)響應(yīng)一個(gè)中斷所需要的時(shí)間,即從外部中斷請求信號發(fā)出到執(zhí)行對應(yīng)的中斷服務(wù)程序ISR的第1條指令所需要的時(shí)間。 FIQ的中斷延時(shí)計(jì)算,當(dāng)FIQ使能時(shí),最壞的延時(shí)包括:a) Tsyncmax:請求通過同步器的最長時(shí)間

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

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

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

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

13、寄存器及特點(diǎn)。 答:ARM7微處理器共有37個(gè)32位寄存器,其中31個(gè)為通用寄存器,6個(gè)為狀態(tài)寄存器。37個(gè)寄存器定義如下: 31個(gè)通用寄存器: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個(gè)狀態(tài)寄存器:CPSR、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq、 SPSR_und。特點(diǎn):在ARM狀態(tài)中,R0R7是通用寄存器,是不分組寄存器;R8R14,

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

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

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

溫馨提示

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

評論

0/150

提交評論