【嵌入式】嵌入式系統開發與應用第二版課后答案第二章(田澤)


復習用,自整理、%%犇orz——海底淤泥

1嘗試比較CISC體系結構 和RISC體系結構的特點。ARM為何采用RISC體系結構?

  CISC:增加指令集的復雜度,以芯片面積為代價

  RISC:只執行最常用的指令,大部分復雜指令由簡單指令合成

  因為:

    組織結構:

    1RISC的硬連線的指令編碼邏輯

    2便於流水線執行

    3大多數RISC指令為單周期執行

    處理器:

    1處理器管芯面積小

    2開發時間縮短,開發成本減低

    3容易實現高性能,低成本的處理器

2簡述ARM體系結構的特點

  1.Load/Store 體系結構

  2.固定的32為指令

  3.3地址指令格式

3什么是Thumb技術,其優點是什么?與ARM指令集相比,Thumb指令集有哪些局限?

  Thumb是ARM體系結構的擴展

  優點:提高了代碼密度

  局限:

    1.完成相同操作時,Thumb需要更多的指令

    2.Thumb指令集沒有包含進行異常處理時需要的一些指令

4什么是Thumb-2內核技術?它有哪些特點?

  Thumb-2內核技術是ARM體系的新指令集

  特點:更高性能,更低功耗,更簡短的代碼長度

5目前ARM處理器核有哪幾種?簡述ARM7TDMI內核的重要特性

  處理器內核:

    ARM7TDMI

    ARM9TDMI

    ARM10TDMI

    ARM11

    SecurCore

    Cortex

  重要特性:

    1.能實現ARM體系結構版本4T

    2.支持Thumb指令集

    3.32*8 DSP乘法器

    4.32位尋址空間,4GB線性地址空間

    5.包含ICE模塊

6分別以ARM7TDMI和ARM9TDMI為例,介紹3級流水線和5級流水線的執行過程,並進行相應的比較

  三級流水:取指--->譯碼--->執行

  五級流水:取指--->譯碼--->執行--->緩沖/數據--->回寫

  比較:

    1三級流水譯碼不包含reg讀,五級流水譯碼包含reg讀

    2三級流水執行包含reg讀,移位/ALU,reg寫,五級流水執行只包含位移/ALU

    3五級流水增加了存儲器數據訪問過程,並將reg寫單獨分離為一個過程

7ARM Cortex處理器包括哪幾個系列?各有什么特點?

  ARM Cortex-A系列:微處理器核,能運行通用操作系統

  ARM Cortex-R系列:微處理器核,運行實時操作系統

  ARM Cortex-M系列:微控制核,功耗低,性能高

8ARM微處理器支持哪幾種工作模式?各個工作模式有什么特點?

  7種:  特點:

  1.用戶  程序正常執行

  2.FIQ  快速中斷模式,處理快速中斷

  3.IRQ  外部中斷模式,處理普通中斷

  4.SVC  特權模式,處理軟中斷

  5.ABT  中止模式,處理存儲器故障

  6.UNQ 未定義模式 ,處理未定義指令陷阱

  7.系統  運行特權操作系統任務

9ARM處理器共有多少個寄存器?這些寄存器在用戶編程的功能中是如何划分的?ARM狀態下的通用寄存器可分為哪幾類?

  31個通用寄存器,6個狀態寄存器

  用戶編程:

    R0~R14,R15(PC),CPSR

  ARM狀態:

    1.未分組寄存器R0~R7

    2.分組寄存器R8~R14

    3.程序計數器R15

10簡述ARM狀態下分組寄存器R13 R14 R15 的功能以及R15使用的注意事項

  R13 用作堆棧指針SP

  R14 子程序連接寄存器LR

  R15 程序計數器PC

  R15注意事項:由於ARM多級流水技術,R15的程序地址並不是當前指令的地址,指令“BX Rm”利用Rm的bit[0]來判斷跳轉到ARM還是thumb狀態

11簡述ARM程序狀態寄存器各位的功能

  1條件碼標志位

    最高4位——N,Z,C,V

    N:補碼狀態下,N=0是非負數,N=1是負數

    Z:Z=1表示結果為0,Z=0表示結果為非0

    C:1.加法,c=1有進位  2.減法,c=0有借位  3.位移,c存儲最后被移出的值

    V:運算溢出V=1否則V=0

  2.控制位

    最低8位——I,F,T,M[4:0]

    I:I=1,禁止IRQ中斷

    F:F=1,禁止FRQ中斷

    T:T=0,ARM執行,T=1,Thumb執行

    M[4:0]:記錄當前模式

  3.保留位

    其他位保留作以后的擴展

12試分析Thumb狀態與ARM寄存器的關系

  Thumb狀態的R0~R7與ARM狀態的R0~R7是一致的

  Thumb狀態的CPSR和SPSR與ARM狀態的CPSR和SPSR是一致的

  Thumb狀態的SP映射到ARM狀態的R13

  Thumb狀態的LR映射到ARM狀態的R14

  Thumb狀態的PC映射到ARM狀態的R15

13ARM體系結構支持哪幾種類型的異常?他們之間的優先級關系如何?各種異常與處理模式有何關系?

  7種類型:    優先級:  處理模式:

  復位       1     SVC

  未定義的指令   6     UNQ

  軟件中斷     6     SVC

  指令預取中止   5     ABT

  數據訪問中止   2     ABT

  外部中斷請求   4     IRQ

  快速中斷請求   3     FIQ

14簡述ARM處理對異常中斷響應過程

  1.將CPSR的內容保存到要執行的異常中斷SPSR中,以實現對處理器當前狀態中斷屏蔽位以及各個標志位的保存

  2.設置當前狀態寄存器的CPSR的相應位

  3.將寄存器LR_<mode>設置為異常返回的地址,使異常處理程序執行完后能正確返回原程序

  4給程序計數器PC強制賦值,使程序從相應的向量地址開始執行中斷程序

15ARM如何從異常中斷處理程序返回?需要注意哪些問題

  1.所有修改過的用戶寄存器必須從處理程序的保護堆棧中恢復

  2.將SPSR_<mode>寄存器內容復制到CPSR中,使得CPSR從相應的SPSR中恢復,即恢復被中斷程序的處理器工作狀態

  3.根據異常類型將PC變回到用戶指令流中的相應指令處

  4.最后清除CPSR中的中斷禁止標志位I/F

16什么是ARM異常中斷向量表?它有何作用?存儲在什么地方?

  異常中斷向量表中指定了各異常中斷與處理程序的對應關系

  作用:每個異常中斷對應異常中斷向量表中4個字節,存放一個跳轉指令或者一個向PC寄存器中賦值的數據訪問指令LDR。通過指令,程序將跳轉到相應的異常中斷處理程序處執行

  通常以存儲器低端的0x0為起始位置的32字節空間中

17如果FIQ、IRQ和第三個異常(不是復位)同時發生,ARM應該如何處理?

  由於FIQ比IRQ優先級高,會將IRQ屏蔽,直到FIQ明確將IRQ使能或返回用戶代碼為止

  若第三個異常是數據中止異常,則進入數據中止異常程序后立刻進入FIQ處理程序,當FIQ返回時再處理數據中止異常程序

  若第三個異常不是數據中止異常,則會立即進入FIQ,直到FIQ、IRQ返回時才返回到產生第三個異常的指令處進行處理

18ARM支持中斷嵌套嗎?如何實現ARM處理器的中斷嵌套?

  支持,利用中斷控制器來實現

19ARM處理器支持哪些數據類型

  6種:

  8位有符號/無符號字節

  16位有符號/無符號半字

  32位有符號/無符號字

20大端存儲與小端存儲有何不同?他們對存儲數據有什么要求和影響?

  小端儲存:較高有效字節放在較高的存儲器地址,較低有效字節放在較低的存儲器地址,

  大端儲存:較高有效字節放在較低的存儲器地址,較低有效字節放在較高的存儲器地址,

  串行通信上采用大端排序性能較好

  本地主機上采用小端排序性能較好

21簡述ARM的存儲層次

  1寄存器組

  2片上RAM

  3片上Cache

  4主存儲器

  5硬盤

22簡述存儲器管理單元MMU的作用。MMU和MPU有什么不同?

  作用:

    1虛擬存儲空間到物理存儲空間的映射

    2存儲器訪問權限的控制

    3設置虛擬存儲空間的緩沖特性

  不同:

    MMU比MPU更先進

    MMU能覆蓋MPU的所有功能

    MMU能實現緩存控制,總線仲裁,Bank切換,而MPU不能

    MPU比MMU更簡單,使用開銷也更少

23統一的Cache與分開的Cache有什么區別?他們各自的優點是什么?

   統一的Cache指令預存和數據存取時使用的Cache是同一個Cache,優點:能夠自動調整指令在Cache存儲器的比例,比固定划分有更好的性能

   分開的Cache指令預存和數據存取時使用的Cache是相互獨立的Cache,優點:使Load/Stroe指令能夠單周期執行

24簡述ARM協處理器的作用

  ARM通過增加硬件協處理器來支持對其指令集的通用擴展。

25AMBA規范定義了幾種總線?各自有什么特點?

  3種:

    1.AHB:用於連接高性能模塊

    2.ASB:用於連接系統模塊

    3.APB:是一個簡單接口支持低性能的外圍接口

26簡述基於JTAG仿真器的ARM系統調試結構

  1.嵌入式調試

  2.調試處理器核

  3.ARM調試硬件

  4.EmbeddedICE

27簡述基於EmbeddedICE的ARM調試結構

  1.是基於JTAG測試端口的擴展,引入了附加的斷點和觀測點寄存器

  2.EmbeddedICE模塊包括兩個觀察點寄存器以及控制存儲器和狀態寄存器

  3.基於ARM的包括EmbeddedICE模塊的系統性片通過JTAG端口和協議轉換器與主機連接

28試分析ARM實時調試的完整解決方案

  EmbeddedICE單元支持斷點和觀察點的功能並提供主機和目標軟件的通信通道

  ETM單元壓縮處理器接口信息並通過跟蹤端口送到片外

  用戶可控制斷點的和觀察點的設置,並可以配置各種各種跟蹤功能。

29從應用的角度分析,ARM芯片選擇的原則是什么?

  1.MMU:如果希望使用WindowsCE或Linux,需要選擇帶有MMU的芯片

  2.處理器速度:如果系統需要進行圖像處理這種對速度要求較高的應用,則需要選擇高版本ARM內核芯片

  3.內置存儲器容量:如果系統不需要大量容量的存儲器,可以考慮帶有內置存儲器的芯片

  4.USB接口:根據產品具體應用來選擇

  5.GPIO數量:在說明書中往往聲明最大可能的GPIO數量,但有許多引腳是復用的,需要自己計算實際可用GPIO數量

  ...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM