嵌入式處理器課程復習參考習題-3(含答案)_第1頁
嵌入式處理器課程復習參考習題-3(含答案)_第2頁
嵌入式處理器課程復習參考習題-3(含答案)_第3頁
嵌入式處理器課程復習參考習題-3(含答案)_第4頁
嵌入式處理器課程復習參考習題-3(含答案)_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、一、判斷1. 嵌入式系統是看不見的計算機系統,其開發環境和運行環境一致。( )2. PC 機可包含在嵌入式系統中。( )3. 通常嵌入式系統是一個通用的計算平臺,其軟件是應用程序和操作系統兩種軟件的一體化程序。()4. 嵌入式硬件系統的多樣性不僅表現在嵌入式 CPU 的多樣性、而且具有相同微處理器的硬件系統可能會有多種不同的外圍電路。( )5. 嵌入式硬件系統的核心是嵌入式微處理器,其主要體系架構有 SPARC、Pentium、Itanium 等。()6. AMBA 總線是片內總線,包括高速總線 AHB 和低速總線 APB。 ()7. NandFlash 是一種 Flash Memory 它既

2、可以做主存也可做外存使用。( )8. NorFlash 是一種 Flash Memory 它既可以做主存也可做外存使用。( )9. 在 ARM CPU 模式中 System 模式與 User 模式的運行環境一樣,但是它可以不受任何限制地訪問任何資源。( )10. 在 ARM CPU 模式中除 User 模式外,其它模式都被稱為特權模式,User 模式可直接改變 CPU 的模式。( )11. ARM 處理器主要有兩種工作狀態:ARM 和 Thumb,ARM 和 Thumb 之間狀態的切換將影響 CPU 的模式或寄存器的內容。( )12. ARM 是 32 位嵌入式處理器,并可以進入 16 位運行

3、模式, 可支持大、小端數據格式( )13. X86 CPU 的異常向量與 ARM CPU 的異常向量的區別是:在 X86 平臺上,當有異常發生時 CPU 是到指定的向量地址讀取要執行的程序的地址。而 ARM CPU 是到向量地址的地方讀取指令,也就是 ARM 的向量地址處存放的是一條指令(一般是一條跳轉指令)。()14. 存儲器映射編址是指 I/O 端口的地址與內存地址統一編址,即 I/O 單元與內存單元在同一地址空間。其優點是可采用豐富的內存操作指令訪問 I/O 單元、無需單獨的 I/O 地址譯碼電路、無需專用的 I/O指令。( )15. ARM 的中斷處理方式與 X86 是一致的,當中斷發

4、生時 CPU 是到指定的向量地址讀取要執行的程序的地址。( )16. AMBA 中 APB 是低速總線,并可支持多個主單元。( )17. 在 ARM 的數據處理指令中使用立即數 #0x101 是合法的。()18. 在 CPSR 中 ARM 處理器采用 5 位二進制位來表示處理器模式。()19. STRSB 是帶符號字節存儲指令。( )20. 程序中可以通過 MSR 指令直接修改 CPSR 中的 T 位來實現 ARM/Thumb 狀態的切換。()21. 在 C 語言中可以通過關鍵字 asm 嵌入多條匯編語句。()22. 交叉調試可以直接調試不同指令集的程序,不需要通過外部通信的方式來控制被調試程

5、序。( )23. ARM 處理器的 Thumb 指令集是 32 位 ARM 指令集的一個子集,在執行前,通過芯片上的邏輯塊,擴展為標準的 32 位 ARM 指令來運行。( )24. ARM 處理器是典型的 CISC 體系。( )25. 嵌入式軟件一般情況下調試器和被調試程序運行在相同的計算機上。( )26. ARM 處理器有 37 個寄存器,9 種運行模式。()27. 如果 ARM 處理器運行在 User 模式下,則程序不能訪問有些受保護的資源,但能通過異常的形式來改變 CPU 的當前運行模式。( )28. 異常和外部中斷不能夠引起 ARM 處理器工作模式的改變。( )29. CPSR 寄存器

6、在所有的處理器模式下都是可以讀/寫的。( )30. MIPS 是一種很流行的 RISC 處理器。( )31. 交叉調試時,調試器和被調試程序運行在不同的計算機上。( )二、單選或多選題1. 嵌入式系統的特點是()(A)嵌入式系統通常是形式多樣、面向特定應用的軟硬件綜合體;(B)嵌入式系統得到多種類型的處理器和處理器體系結構的支持;(C)嵌入式系統通常極其關注成本;(D)嵌入式系統有實時性和可靠性的要求;(E)嵌入式系統使用的操作系統一般是適應多種處理器、可剪裁、輕量型、實時可靠、可固化的嵌入式操作系統;(F)嵌入式系統開發不需要專門工具和特殊方法。2. 精簡指令集系統 RISC(Reduced

7、 Instruction Set Computer)的特點是()(A)減少代碼尺寸,增加指令的執行周期數(B ) 簡單的尋址模式,僅允許 LOAD 和 STORE 指令存取內存,其它所有的操作都基于寄存器到寄存器(C) 具有較多的寄存器(D) 由硬件完成部分軟件功能,硬件復雜性增加,芯片成本高3. 嵌入式微處理器降低功耗的技術包括如下方面:()(A)提高工作電壓(B)提供不同的時鐘頻率:通過軟件設置(C)關閉暫時不使用的功能塊(D)提供功耗管理機制4. 8. ARM CPU 在 FIQ 模式下使用的寄存器集合是()(A) PC, R14_fiq to R8_fiq, R7 to R0,CPSR

8、, SPSR_fiq(B) PC, R14 to R8, R7 to R0,CPSR, SPSR_fiq(C) PC, R14_fiq to R8_fiq, R7_fiq to R0_fiq,CPSR, SPSR_fiq(D) PC, R14 to R8, R7 to R0,CPSR5. 在 ARM 微處理器的 AMBA 總線結構中,AHB 由()組成。(A)主單元(B)從單元(C)仲裁器(D)譯碼器(E)APB 橋6. 在 ARM 微處理器的 AMBA 總線結構中,APB 橋具有以下()功能。(A)AHB 的從單元(B)仲裁器(C)譯碼器(D)APB 中主單元7. ARM 有 7 種處理器模

9、式和 37 個寄存器,所有模式共用的寄存器是( )(A)R0-R7(B)R8-R13(C)R148. 嵌入式處理器的特點有()(A)體積小(B)集成度高(C) 可靠性低(D) 功耗低(E)抗電磁干擾能力強9. ARM 處理器的數據類型有()(A)字節型數據(B)半字數據類型(C)字數據類型(D)雙字數據類型10. 下列 ARM 處理器的寄存器中,有對應影子寄存器的寄存器是( )(A)R0,R1(B)R0,R8(C)R8,R9(D)R8,R13(E)R9,R311. 在基于嵌入式操作系統的應用系統中,其初始化工作通常包括()(A)板級初始化(B)系統初始化(C)創建所有應用任務所需資源(D)應用

10、初始化(E)創建 Idle 任務12. ARM7 系列內核采用了三級流水線的內核結構,其中 PC 指向( (A)正在被預取的指令(B)正在執行的指令(C)正被譯碼的指令(D)正處于寫回階段的指令13. 以下( )不屬于 ARM 處理器工作模式。)。(A)未定義模式(B)中斷模式(C)超級模式(D)管理模式14. 在 CPSR 中,條件位 N=0 表示( )。(A)結果為負(C)結果為 0(B)結果為正(D)結果不為 015. 對于數據加載指令 LDR R0, R1 , #4 以下說法正確的是( )。(A)前變址回寫(C)后變址回寫(B)前變址不回寫(D)后變址不回寫16. 滿遞減堆棧 FD 中

11、 LDMFD 等價于()。(A)LDMED(B)LDMIA(C)LDMDB()LDMIB17. CMN 與 ADDS 兩條指令的不同之處在于()。(A)CMN 指令的運算結果沒有影響 CPSR 的值(B)CMN 指令的運算結果影響 CPSR 的 Z 位,而 ADDS 的運算結果同時影響 Z 位和 C 位(C)CMN 指令是進行的減法運算,而 ADDS 是進行的加法運算(D)CMN 指令的運算結果不需要保存到目標寄存器中18. 64 位乘法指令 UMULLR1, R2, R3, R4 表示兩個 32 位的無符號數相乘,乘積結果的高 32 位和低32 位分別存放到兩個相應的寄存器中。其中 R1 中

12、存放的數據為 ((A)被乘數(B)乘數(C)乘積結果的高 32 位(D)乘積結果的低 32 位19. 在編譯時,ARM 小范圍地址讀取偽指令 ADR 被編譯器替換成( (A)一條 ADD 指令或者一條 SUB 指令(B)兩條 ADD 指令或者兩條 SUB 指令(C)一條 SUB 指令和一條 MOV 指令(D)一條 ADD 指令和一條 NOP 指令20. 程序運行中被動態分配的內存段,分配在( )中。)。)。(A)代碼段(B)數據段(C)棧(D)堆三、簡答1. ARM CPU 有哪幾種異常模式?比較 System 模式與 User 模式的異同答:ARM 處理器有 5 種異常工作模式:異常模式(F

13、IQ):快速中斷處理,用于支持高速數據傳送或通道處理異常模式(IRQ):用于一般中斷處理異常模式(Supervisor):特權模式,用于系統初始化或操作系統功能異常模式(Abort):存儲器保護異常處理異常模式(Undefined):未定義指令異常處理系統模式和用戶模式均屬于正常(非異常)工作模式,只不過系統模式也是一種特權模式,可以訪問系統中的所有資源。2. ARM CPU 有多少個棧寄存器?與 CPU 模式的關系如何?ARM CPU 有 6 個棧寄存器,分別位于 ARM 處理器的 6 個寄存器分組中。其中每種異常模式各有 1個堆棧寄存器,而系統模式和用戶模式使用相同的堆棧寄存器。3. 廣義

14、上講,ARM 處理器的異常包括幾種情況?ARM 處理器的異常包括以下幾種情況:···外部中斷:由于 CPU 外部的原因而改變程序執行流程的過程,屬于異步事件,又稱為硬件中斷,可以被屏蔽。軟件中斷(又稱自陷):表示通過處理器所擁有的軟件指令、可預期地使處理器正在執行的程序的執行流程發生變化,以執行特定的程序。自陷是顯式的事件,需要無條件地執行。典型的自陷指令如 Motorola 68000 系列中的 Trap 指令、ARM 中的 SWI 指令和 Intel 80x86 中的 INT 指令。異常:由 CPU 內部的原因(比如遇到非法指令)或外部的原因(比如訪存的錯誤)

15、引起的事件。4. 何為可重入函數?如果要使程序具有可重入性,在程序設計中應注意哪些問題?答:可重入函數是指函數可以被多個任務/線程調用。要使程序具有可重入性,在程序設計中應注意:如果使用全局變量、static 變量,則應通過一定的互斥機制如關中斷、信號量 P/V 操作等對其加以保護。5. 在允許中斷嵌套的情況下,如何使中斷服務程序具有可重入性?在允許中斷嵌套的情況下,為了使中斷服務程序具有可重入性,需要采取特殊步驟防止系統狀態的丟失。比如在進入中斷派發程序之后和調用用戶級中斷服務例程之前,保存 LR_irq 及 SPSR_irq的內容,以及在 BL 指令調用用戶 ISR 之前切換至系統模式,以

16、保證 LR_irq 的內容不被嵌套的中斷響應過程破壞。6. 簡述 Thumb 指令集與 ARM 指令集的比較。··Thumb 是一個 16 位的指令集 從 C 代碼得到最優的代碼密度 (約為 ARM 指令集 65%左右) 對窄內存系統有更好的指令性能但是它有如下限制 它是 ARM 指令集的一個功能子集·也許幾條 Thumb 指令才能代替一條 ARM 指令 有限制的條件執行 數據處理指令只能使用低編號的寄存器(r0 - r7) 不能使用內嵌的桶型移位器. 立即數的范圍更小 不能訪問協處理器·所以,thumb 指令集 適合作為編譯器的輸出,而并非處理代碼7.

17、 帶狀態切換的跳轉指令 BXRm,如何來判斷跳轉到的 Rm 指定的目標地址處的指令是 ARM 指令,還是 Thumb 指令?答:利用 Rm 寄存器的最低位(第 0 位):如果該位為 1,切換至 THUMB 狀態,否則為 ARM 狀態。8. 簡述數據存儲格式中的大端存儲格式和小端存儲格式(結合圖示)。參看課件第 2 章的有關內容。9. 什么是交叉開發環境?答:交叉開發環境是指用于嵌入式軟件開發的所有工具軟件的集合,一般包括文本編輯器、交叉編譯器、交叉調試器、仿真器、下載器等。交叉開發環境由宿主機和目標機組成,宿主機與目標機之間在物理連接的基礎上建立起邏輯連接。···

18、宿主機(Host) :是用于開發嵌入式系統的計算機。一般為 PC 機(或者工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發提供全過程支持。目標機(Target):即所開發的嵌入式系統,是嵌入式軟件的運行環境,其硬件軟件是為特定應用定制的。在開發過程中,目標機端需接收和執行宿主機發出的各種命令如設置斷點、讀內存、寫內存等,將結果返回給宿主機,配合宿主機各方面的工作。10. 嵌入式軟件運行流程在系統“引導/升級階段”除了將系統軟件從 NorFlash 中讀取出來加載到 RAM中運行外還有哪兩種引導方式?并分析這三種引導方式中哪種方式引導速度最快?哪種方式成本更低?參看課件“嵌入式系統啟動程序開發

19、”一章的內容。11. 分析有哪些技術用來降低嵌入式處理器的功耗?參看課件第 1 章。12. AMBA 總線是 ARM 公司研發的一種總線規范,目前為 3.0 版本。在 AMBA 總線規范中,定義了那幾種總線類型?并說明這些總線中哪些是高速總線,哪些是低速總線?參看課件第 4 章的內容。13. ARM 處理器有幾種工作模式?各種模式主要的用途是什么?答:ARM 處理器有 7 種工作模式:用戶模式(User):正常程序執行模式,用于應用程序異常模式(FIQ):快速中斷處理,用于支持高速數據傳送或通道處理異常模式(IRQ):用于一般中斷處理異常模式(Supervisor):特權模式,用于系統初始化或

20、操作系統功能異常模式(Abort):存儲器保護異常處理異常模式(Undefined):未定義指令異常處理系統模式(System):運行特權操作系統任務14. ARM 處理器有多少寄存器?各種工作模式下所使用的寄存器集合分別是什么?答:ARM 處理器有 37 個寄存器。各工作模式下所使用的寄存器集合如下表所示:模式Thumb 狀態可見寄存器ARM 狀態可見寄存器UserR7R0LR、SPPC、CPSRR14R0PC、CPSRFIQR7R0LR_fiq、SP_fiqPC、CPSR、SPSR_fiqR7R0R14_fiqR8_fiqPC、CPSR、SPSR_fiqIRQR7R0LR_irq、SP_i

21、rqPC、CPSR、SPSR_irqR12R0R14_irqR13_irqPC、CPSR、SPSR_irqSupervisorR7R0LR_svc,SP_svcPC、CPSR、SPSR_svcR12R0R14_svc、R13_svcPC、CPSR、SPSR_svcAbortR7R0LR_abt、SP_abtPC、CPSR、SPSR_abtR12R0R14_abt、R13_abrPC、CPSR、SPSR_abtUndefinedR7R0LR_und、SP_undPC、CPSR、SPSR_undR12R0R14_und、R13_undPC、CPSR、SPSR_undSystemR7R0LR、SPP

22、C、CPSRR14R0PC、CPSR15. ARM 處理器的異常響應和異常返回過程中,主要完成了哪些工作?針對不同異常模式寫出相應寄存器內容的變化。答:ARM 處理器在進行異常響應過程中,主要完成:lll拷貝 CPSR 寄存器的內容至對應模式下的 SPSR_<mode>寄存器中;將返回地址保存到對應模式下的 LR_<mode>寄存器中;對 CPSR 寄存器的一些控制位進行設置:üüü無論發生異常時處理器處于 Thumb 狀態還是 ARM 狀態,響應異常后處理器都會切換到 ARM 狀態,即 CPSR5=0;將模式位 CPSR4:0設置為被響應

23、異常的模式編碼;設置中斷屏蔽位:如果異常模式為 Reset 或 FIQ 則CPSR6=1 /*禁止快速中斷*/CPSR7=1 /*禁止正常中斷*/lll將程序計數器(PC)設置為異常向量的地址在異常返回過程中,主要完成:將 SPSR_<mode>中的內容恢復到 CPSR 中;將 PC 設置為 LR_<mode> 的值針對具體的異常模式,相應寄存器的變化情況如下:(1) Reset異常R14_svcSPSR_svc=不確定的值CPSRCPSR4:0CPSR5CPSR6CPSR7=0b10011011/進入管理模式/在ARM狀態中執行/禁止快速中斷FIQ/禁止普通中斷IRQ

24、如果配置的是高端向量,則PC =否則PC =0xFFFF00000x00000000(2) 未定義指令(Undefined instruction)異常R14_undSPSR_und=未定義指令后的下一條指令地址CPSRCPSR4:0CPSR5=0b110110/進入未定義模式/在ARM狀態中執行/CPSR6不改變CPSR7=1/禁止普通中斷IRQ如果配置的是高端向量,則PC =否則PC =0xFFFF00040x00000004(3) 軟件中斷(Software Interrupt)異常R14_svcSPSR_svc=SWI指令后的下一條指令地址CPSRCPSR4:0CPSR5=0b1001

25、10/進入管理模式/在ARM狀態中執行/CPSR6不改變CPSR7=1/禁止普通中斷IRQ如果配置的是高端向量,則PC =否則PC =0xFFFF00080x00000008(4) 指令預取(Prefetch Abort)異常R14_abtSPSR_abt=中止指令后下一條指令的地址CPSRCPSR4:0CPSR5=0b101110/進入中止模式/在ARM狀態中執行/CPSR6不改變CPSR7=1/禁止普通中斷IRQ如果配置的是高端向量,則PC =否則PC =0xFFFF000C0x0000000C(5) 數據中止(Data Abort)異常R14_abtSPSR_abt=中止指令下一條指令的

26、地址CPSRCPSR4:0CPSR5=0b101110/進入中止模式/在ARM狀態中執行/CPSR6不改變CPSR7=1/禁止普通中斷IRQ如果配置的是高端向量,則PC =否則PC =(6) IRQ0xFFFF00100x00000010R14_irqSPSR_irq=下一條指令地址CPSRCPSR4:0CPSR5=0b100100/進入IRQ模式/在ARM狀態中執行/CPSR6不改變CPSR7=1/禁止普通中斷IRQ如果配置的是高端向量,則PC =否則PC =(7) FIQ0xFFFF00180x00000018R14_fiqSPSR_fiq=下一條指令地址CPSRCPSR4:0CPSR5C

27、PSR6=0B1000101/進入FIQ模式/在ARM狀態中執行/禁止快速中斷FIQCPSR7=1/禁止普通中斷IRQ如果配置的是高端向量,則PC =否則PC =0xFFFF001C0x0000001C16. 嵌入式系統中的 I/O 設備主要有哪 2 種編址模式?請對比各自的優缺點。答:嵌入式系統中的 I/O 設備主要有存儲器映射編址和 I/O 映射編址兩種模式,其優缺點對比如下表所示:17. 用一條 ARM 指令分別實現下面的語句:a) r0 = 16MOV r0,#16b) r0 = r1 / 16 (帶符號的數)MOV r0, r1 ASR 4c) r1 = r2 * 3ADD r1,

28、r2, r2,LSL #1d) r0 = -r0RSBr0, r0, #018. BIC 指令的作用是什么?BIC 是位清除指令,將寄存器 Rn 的值與 operand2 的值的反碼按位作邏輯與操作,結果保存到 Rd 中。指令格式如下:BIC cond S Rd, Rn, operand2舉例:BIC R1,R1,#0x0F ;將 R1 的低 4 位清零,其它位不變19. 哪些數據處理指令總是設置條件標志位?對于 ARM 指令集的所有數據處理指令,均可選擇使用 S 后綴以影響狀態標志。比較指令 CMP, CMN, TST 和 TEQ 不需要后綴 S,它們會直接影響狀態標志。對于 THUMB 指

29、令集的數據處理指令,除 MOV 和 ADD 指令訪問寄存器 R8R15 外,其它數據處理指令總是更新 CPSR中的 ALU 狀態標志。20. 哪些指令可用于子程序調用的返回? 請舉例說明。B 指令、BX 指令、MOV 指令、LDMFD 指令等。舉例:B LR存儲器映射編址I/O 映射編址優點l 可采用豐富的內存操作指令訪問I/O 單元l 無需單獨的 I/O 地址譯碼電路l 無需專用的 I/O 指令l I/O 單元不占用內存空間l I/O 程序易讀缺點l 外設占用內存空間l I/O 程序不易讀l I/O 操作指令僅有單一的傳送指令,I/O 接口需有地址譯碼電路舉例ARM 系列嵌入式微處理Inte

30、l 80X86 系列處理器,I/O 端口與內存單元分開編址,I/O 端口有自己獨立的地址空間,其大小為64KBBX LRMOV PC, LRLDMFD sp!, r0-r12, pc21. 要打開或者屏蔽 IRQ 中斷該使用哪些指令?在低版本(比如 V4 版本)ARM 指令集中,使用如下的指令序列完成 IRQ 中斷的屏蔽/打開:MRS r0,CPSR ; 將 CPSR 的內容讀至 r0BIC r0,r0,#0x80MSR CPSR_c,r0; 將第 7 位清零以允許 IRQ 中斷; 將修改后的值僅寫入c字節而在高版本(比如 V6 版本)可直接使用改變處理器狀態的指令 CPS:CPSIE IRQ

31、22. 為了克服 ARM 分支指令只有±32MB 范圍的局限,應該使用哪些指令?可以使用全范圍地址讀取指令 LDR,實例:LDRpc, =const使用 pc 寄存器作為目標寄存器,采用 LDR 偽指令,可以把一個任意的 32 位地址加載到 PC 中,以實現向任意地址的跳轉。23. CLZ 指令的用途是什么?前導零計數指令,返回寄存器內容中第一個 1 之前的二進制 0 的個數。可以利用此指令來規范化一個寄存器的內容。例如,CLZ R0, R1 ;計算 R1 中的前導零的個數MOV R1, R1 LSL R0;將 R1 寄存器左移若干位,使得最高位不再為零。24. 以下指令的結果是什么

32、?r1 = 0x7FFFFF00r2 = 0x00001000QADD r0, r1, r2r0 = 0x7FFFFFFF25. 以下的指令有效嗎?LDRD r7, r2, 0x100答:無效。(1)LDRD 指令中的 Rd 寄存器必須是偶數號的寄存器,并且(2)偏移量只能是 8 位的立即數。26. 以下指令的效果是什么?SMULBT r0, r1, r2將 r1 寄存器的低 16 位和 r2 寄存器的高 16 位相乘,結果保存在 r0 寄存器中。27. 如果 r1 = 0x12406700, 那么在執行這條語句后 r0 的值是什么:REV r0, r1r0 = 0x0067401228. 以

33、下指令的意義是什么SUB16 r1, r2, r0這是一條 SIMD 指令,意為從第一個操作數中的每個半字減去第二個操作數對應的半字。即 r131:16=r231:16-r031:16, r115:0=r215:0-r015:029. 下面這條 Thumb 指令的效果是什么?ADD r1, r2r1=r1+r230. 這是一條有效的 Thumb 指令嗎?MSR CPSR_S, r0無效,因為 THUMB 指令不能訪問 CPSR 寄存器。31. Thumb 中 BL 指令的跳轉范圍是多少?+/- 4MB32. ARM 系統中堆棧的類型(工作方式)有哪幾種?答:ARM 堆棧工作方式有 4 種。(1

34、)滿遞增堆棧(2)滿遞減堆棧(3)空遞增堆棧(4)空遞減堆棧33. 為什么說跳轉指令助記符中帶有 L 的可用來調用子程序?答:因為該指令在跳轉時會將下一條指令的 PC 存放在 LR 寄存器中,在子程序的后面只要能利用有關指令將 LR 中的內容送到 PC 中即可從子程序中返回,所以這類指令可以用來調用子程序。34. 請簡述 ARM ATPCS 中的參數與返回值的傳遞規則。答:ATPCS 標準規定,對于參數個數不多于 4 的函數,編譯器必須按參數在列表中的順序,自左向右 為它們分配寄存器 R0R3。其中函數返回時,R0 還被用來存放函數的返回值。如果函數的參數多于 4 個,那么 多余 的參數則按

35、自右向左的順序壓入數據堆棧,即參數入棧順序與參數順序相反。四、應用題1. 請分別填出在 ARM 中大端數據存放格式和小端數據存放格式下,下列變量在內存中的存放情況(該機器的字長為 32 位)。變量 A:word A=0xf6 73 4b cd,在內存中的起始地址為 0xb3 20 45 00變量 B:half word B=0x73,在內存中的起始地址為 0xdd dd dd d0變量 C:大端:word C=0x73, 在內存中的起始地址為 0xdd dd dd f0小端:0xb32045000xf60xb32045000xcd0x730x4b0xcd0x4b0x730xf60xdddddd

36、d00x000xda0xddddddd00xda0x002. 假設有一款包含有 ARM7TDMI 的芯片,它可工作在 85MHZ,50MHZ 和 20MHZ 的頻率下,請分別列出算式并計算出其 MIPS 數。答案:85*0.9=76.5 MIPS, 50×0.9=45MIPS, 20*0.9=18MIPS3. 請描述 ARM CPU Reset 后 CPU 處于什么模式?CPSR 寄存器中 I、F、T、M4-M0 的值為多少?答案:進入 Supervisior 模式,I=F=1, T=0, M4M3M2M1M0=0b100114. 假設一嵌入式系統的存儲器包括主存 NorFlash

37、1MB 和 SDRAM 8MB 以及外存 NandFlash 64MB,其中初始化引導代碼空間為 50KB, 代碼、常數和初始化數據所需空間共為 1.2MB(該空間為一個完整的空間不可再分), 請列舉出可能的存儲方式,并描述系統引導方式。答案:第一種方式: 將 NorFlash 空間分為兩部分:Boot 空間 50KB,將 1.2MB 空間壓縮存儲到剩余空間中,上電時首先執行 Boot,Boot 將壓縮代碼等解壓到 SDRAM 中運行。第二種方式:將 NorFlash 只存儲 Boot,1.2MB 存儲在 NandFlash 中。上電是首先執行 Boot,Boot 結束時將 NandFlash

38、 中的 1.2MB 加載到 SDRAM 中運行。5. 請從寄存器數目、處理器運行模式、指令集、中斷處理、I/O 端口的編址方法五個方面分析 ARM 處理器和 X86 處理器的異同。答:X86 處理器是典型的 CISC 處理器,而 ARM 是典型的 RISC 處理器。CISC-X86 處理器RISC-ARM 處理器寄存器數目寄存器較少寄存器較多運行模式主要分為用戶模式和特權模式有 7 種工作模式,其中 6 種特權模式,5 種異常模式指令集大量的混雜型指令集,有簡單快速簡單的單周期指令,在匯編指令方6. 使用讀程序狀態寄存器指令 MRS 和寫程序狀態寄存器指令 MSR 來實現“允許 IRQ 中斷”和“禁止 IRQ中斷”。允許 IRQ 中斷:MRS r0,CPSR ; 將 CPSR 的內容讀至 r0BIC r0,r0,#0x80MSR CPSR

溫馨提示

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

評論

0/150

提交評論