中北大學(xué)嵌入式習題答案第2章_第1頁
中北大學(xué)嵌入式習題答案第2章_第2頁
中北大學(xué)嵌入式習題答案第2章_第3頁
中北大學(xué)嵌入式習題答案第2章_第4頁
中北大學(xué)嵌入式習題答案第2章_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 ARM體系結(jié)構(gòu)一、填空1、 ARM微處理器支持7種運行模式為 、 、 、 、 、 、 。用戶模式usr: ARM處理器正常的程序執(zhí)行狀態(tài)快速中斷模式fiq: 用于高速數(shù)據(jù)傳輸或通道處理外部中斷模式irq: 用于通用的中斷處理管理模式svc: 操作系統(tǒng)使用的保護模式數(shù)據(jù)訪問終止模式(abt): 當數(shù)據(jù)或指令預(yù)取終止時進入該模式,可用于虛擬存儲及存儲保護。系統(tǒng)模式sys: 運行具有特權(quán)的操作系統(tǒng)任務(wù)。未定義指令中止模式und:當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。2、嵌入式微處理器的體系結(jié)構(gòu)可以采用 或 結(jié)構(gòu),指令系統(tǒng)可以選 和 。馮· 諾依曼體系結(jié)構(gòu)

2、:程序和數(shù)據(jù)共用一個存儲空間,程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置,采用單一的地址及數(shù)據(jù)總線,程序和數(shù)據(jù)的寬度相同。例如:8086、ARM7、MIPS哈佛體系結(jié)構(gòu):程序和數(shù)據(jù)是兩個相互獨立的存儲器,每個存儲器獨立編址、獨立訪問,是一種將程序存儲和數(shù)據(jù)存儲分開的存儲器結(jié)構(gòu)。例如:AVR、ARM9、ARM10精簡指令系統(tǒng) RISC 復(fù)雜指令集系統(tǒng) CISC 3、 AMBA定義了3組總線 、 和 。AHB(AMBA高性能總線):用于高性能。高數(shù)據(jù)吞吐部件,如CPU、DMA、DSP之間的連接。ASB(AMBA系統(tǒng)總線):用來作處理器與外設(shè)之間的互連,將被AHB取代。APBAMB

3、A外設(shè)總線:為系統(tǒng)的低速外部設(shè)備提供低功耗的簡易互連。系統(tǒng)總線和外設(shè)總線之間的橋接器提供AHB/ASB部件與APB部件之間的訪問代理與緩沖。4、 ARM系列微處理器支持的邊界對齊格式有: 、 和字對齊。字節(jié)對齊半字對齊5、 RS-232C的幀格式由四部分組成,包括:起始位、 、奇偶校驗位和 。數(shù)據(jù)位停止位6、 ARM微處理器有 種工作模式,它們分為兩類 、 。其中用戶模式屬于 。七非特權(quán)模式 特權(quán)模式非特權(quán)模式7、 ARM7TDMI采用 級流水線結(jié)構(gòu),ARM920TDMI采用 級流水線。358、 ARM支持兩個指令集, ARM核因運行的指令集不同,分別有兩個狀態(tài) 、 ,狀態(tài)寄存器CPSR的 位

4、反映了處理器運行不同指令的當前狀態(tài)。ARMThumb T 9、ARM 處理器共有37個寄存器,包括31個 和6個 。通用寄存器 (包括PC在內(nèi))這些寄存器都是32位的狀態(tài)寄存器這些寄存器也是32位的,但是只使用了其中的12位二、選擇題1、下面哪一種工作模式不屬于ARM特權(quán)模式 。A、用戶模式B、系統(tǒng)模式C、軟中斷模式D、FIQ模式2、ARM920T的工作狀態(tài)包括 。A、測試狀態(tài)和運行狀態(tài)B、掛起狀態(tài)和就緒狀態(tài)C、就緒狀態(tài)和運行狀態(tài)D、ARM狀態(tài)和Thumb狀態(tài)3、RS232-C串口通信中,表示邏輯1的電平是 。A、0vB、3.3vC、5v15vD、5v15v4、在嵌入式ARM處理器中,下面哪種

5、中斷方式優(yōu)先級最高。 ( )A. ResetB. 數(shù)據(jù)中止C. FIQD. IRQ5、當異常發(fā)生時,寄存器 用于保存CPSR的當前值,從異常退出時則可由它來恢復(fù)CPSR.A、SPSRB、R13C、R14D、R156、CPSR寄存器中反映處理器狀態(tài)的位是 A.J位B.I位   C.F位 D.T位7、以下哪一項不屬于ARM異常中斷 A、復(fù)位 B、IRQ C、條件轉(zhuǎn)移 D、.數(shù)據(jù)終止8、在ARM Linux體系中,用來處理外設(shè)中斷的異常模式是 A、軟件中斷SWIB、未定義的指令異常C、中斷請求IRQD、快速中斷請求FIQ9、存儲一個32位數(shù)0x876165到2000H2

6、003H四個字節(jié)單元中,假設(shè)以小端模式存儲,則2000H存儲單元的內(nèi)容為 。A、0x00   B、0x87  C、0x65   D、0x61 10、寄存器R13除了可以做通用寄存器外,還可以做 。A、程序計數(shù)器  B、鏈接寄存器 C、棧指針寄存器   D、基址寄存器 11、FIQ中斷的入口地址是  。A、0x0000001C   B、0x00000008 C、0x00000018   D、0x00000014

7、0;12、ARM指令集和Thumb指令集分別是  位的。 A. 8位,16位   B. 16位,32位  C. 16位,16位   D. 32位,16位 13、寄存器R15除了可以做通用寄存器外,還可以做 A. 程序計數(shù)器B. 鏈接寄存器C. 堆棧指針寄存器D. 基址寄存器14、以下CPSR寄存器標志位的作用說法錯誤的選項是 。A. N:負數(shù) B. Z:零 C. C:進位 D. V: 借位15、嵌入式系統(tǒng)最常用的數(shù)據(jù)傳送方式是。A、查詢B、中斷C、DMAD、I/O處

8、理機16、ARM微處理器的寄存器在Thumb狀態(tài)與ARM狀態(tài)下相同的是A、R8-R12 B、R15和CPSR C、R13-R14 D、R0-R717、ARM寄存器組中除了以下哪組寄存器以外所有處理器模式下都可以訪問 A、 SPSR B、R0-R7 C、CPSR D、R8-R9三、簡答1、請簡述ARM微處理器的用戶模式和特權(quán)模式,以及用戶模式向特權(quán)模式的轉(zhuǎn)換。PPT 43頁除了用戶模式之外的其他6種處理器模式稱為特權(quán)模式特權(quán)模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式的切換。特權(quán)模式中,除系統(tǒng)模式外,其他5種模式又稱為異常模式大多數(shù)的用戶程序運行在用戶模式下,此時,應(yīng)用程序不能

9、夠訪問一些受操作系統(tǒng)保護的系統(tǒng)資源,應(yīng)用程序也不能直接進行處理器模式的切換。用戶模式下,當需要進行處理器模式切換時,應(yīng)用程序可以產(chǎn)生異常處理,在異常處理中進行處理器模式的切換。2、 請簡述ARM微處理器兩種工作狀態(tài)集的切換操作及方法。PPT 48頁進入Thumb狀態(tài)當操作數(shù)寄存器的狀態(tài)位為1時,可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當處理器處于Thumb狀態(tài)時發(fā)生異常如IRQ、FIQ、Undef等,則異常處理返回時,自動切換到Thumb狀態(tài)。 進入ARM狀態(tài)當操作數(shù)寄存器的狀態(tài)位為0時,執(zhí)行BX指令時可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,

10、在處理器進行異常處理時,把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。 3、試描述異常發(fā)生時的響應(yīng)的過程。PPT 94-101頁1.在適當?shù)腖R中保存下一條指令的地址,當異常入口來自:·ARM狀態(tài),那么ARM將當前指令地址加4或加8復(fù)制取決于異常的類型到LR中;·為Thumb狀態(tài),那么ARM將當前指令地址加2、4或加8 取決于異常的類型復(fù)制到LR中;異常處理器程序不必確定狀態(tài)。將CPSR復(fù)制到適當?shù)腟PSR中;3. 將CPSR模式位強制設(shè)置為與異常類型相對應(yīng)的值;4.強制PC從相關(guān)的異常向量處取指。當異常結(jié)束時,異常處理程

11、序必須:1.將SPSR的值復(fù)制回CPSR;2.假設(shè)在進入異常處理時設(shè)置了中斷禁止位,要在此 清除;3.將LR R14 中的值減去偏移量后存入PC,偏移量根據(jù)異常的類型而有所不同;注:恢復(fù)CPSR的動作會將T、F和I位自動恢復(fù)為異常發(fā)生前的值。在異常處理結(jié)束后,異常處理程序完成以下動作:將SPSR寄存器的值復(fù)制回CPSR寄存器;將LR寄存的值減去一個常量后復(fù)制到PC寄存器,跳轉(zhuǎn)到被中斷的用戶程序。4、簡述ARM匯編語言與C語言和混合編程有哪幾種方式。PPT 205頁匯編程序中調(diào)用C程序C程序中調(diào)用匯編程序C程序中內(nèi)嵌匯編語句從匯編程序中訪問C程序變量5、 什么是小端和大端存儲器組織?假設(shè)一個32

12、位字長的微處理器上定義一個int類型的常量a,其內(nèi)存地址位于0x6000處,其值用十六進制表示為0x12345678,分別寫出以大端和小端存儲的結(jié)果。PPT 114頁小端存儲器系統(tǒng): 在小端格式中,高位數(shù)字存放在高位字節(jié)中。因此存儲器系統(tǒng)字節(jié)0連接到數(shù)據(jù)線70(低位對齊)。 大端存儲器系統(tǒng): 在大端格式中,高位數(shù)字存放在低位字節(jié)中。因此存儲器系統(tǒng)字節(jié)0連接到數(shù)據(jù)線3124(高位對齊) 。 6、 簡述ARM的幾個特殊寄存器R13、R14、R15、R16的作用。PPT 58-67頁寄存器R13用作堆棧指針,記作SP。寄存器R13常作為堆棧指針SP。在ARM指令集當中,沒有以特殊方式使用R13的指令

13、或其它功能,只是習慣上都這樣使用。但是在Thumb指令集中存在使用R13的指令。在子程序中寄存器R13不能用作其他用途。寄存器SP在進入子程序時的值和退出子程序時的值必須相等。R14為鏈接寄存器LR,在結(jié)構(gòu)上有兩個特殊功能:·在每種模式下,模式自身的R14版本用于保存子程序返回地址;如果在子程序中保存了返回地址,寄存器R14則可以用作其他用途。·當發(fā)生異常時,將R14對應(yīng)的異常模式版本設(shè)置為異常返回地址有些異常有一個小的固定偏移量。寄存器R15是程序計數(shù)器,記作PC。它指向正在取指的地址。可以認為它是一個通用寄存器,但是對于它的使用有許多與指令相關(guān)的限制或特殊情況。如果R15使用的方式超出了這些限制,那么結(jié)果將是不可

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論