Embedded ARM-Linux interview



嵌入式linux面試題解析——ARM部分

http://blog.csdn.net/qr_ljj/article/details/53069599

 

1FIQIRQ快的原因:

AFIQ模式的R8--R14寄存器是獨有的,FIQ處理程序可以不必執行保存和恢復中斷現場的指令。

BFIQ可以將ISR直接放在FIQ後面的地址空間,不需要跳轉。

 

2、中斷與異常有何區別

    異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱爲同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。

 

3、在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的

當參數小於等於4的時候是通過r0-r3寄存器來進行傳遞的,當參數大於4的時候是通過壓棧的方式進行傳遞。

 

4、簡述SPI,UART,I2C三種傳輸方式

    SPI:高速同步串行口,首發獨立,可同步進行

    SPI接口主要應用在EEPROMFlash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。

    I2C協議:是單片機與其他芯片進行通訊的協議:

A、只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線; 

B、通過軟件設定地址  

C、是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞; 

DI2C總線傳輸的是數據的總高位

    UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。

 

5嵌入式系統中斷服務子程序(ISR)

    中斷是嵌入式系統中重要的組成部分,導致了很多編譯開發商提供一種擴展—讓標準C支持中斷。具體代表是,產生了一個新的關鍵字__interrupt。下面的代碼就使用了__interrupt關鍵字去定義了一箇中斷服務子程序(ISR),請評論一下這段代碼的。

__interrupt double compute_area (double radius)

{

    double area = PI * radius* radius;

    printf("Area =%f", area);

    return area;

}

    AISR不能返回一個值。

    BISR不能傳遞參數。

    C、在許多的處理器/編譯器中,浮點一般都是不可重入的。有些處理器/編譯器需要讓額處的寄存器入棧,有些處理器/編譯器就是不允許在ISR中做浮點運算。此外,ISR應該是短而有效率的,在ISR中做浮點運算是不明智的。

    Dprintf()經常有重入和性能上的問題。

 

6、在ARM的彙編程序中,有如下幾種僞指令:_____________________________

    答案:符號定義僞指令、數據定義僞指令、彙編控制僞指令、宏指令、其他僞指令

 

7、協處理器主要控制:__________________

    答案:片內的MMU、指令和數據緩存(IDC)、寫緩衝(Write Buffer

 

8、當一個異常出現以後,ARM微處理器會執行哪幾步操作?

    答:當一個異常出現以後,ARM微處理器會執行以下幾步操作。

    A、將下一條指令的地址存入相應連接寄存器LR,以便程序在處理異常返回時能從正確的位置重新開始執行。若異常是從ARM狀態進入,則LR寄存器中保存 的是下一條指令的地址(當前PC4PC8,與異常的類型有關);若異常是從Thumb狀態進入,則在LR寄存器中保存當前PC的偏移量,這樣,異常處理程序就不需要確定異常是從何種狀態進入的。例如:在軟件中斷異常SWI,指令 MOV PCR14_svc總是返回到下一條指令,不管SWI是在ARM狀態執行,還是在Thumb狀態執行。

    B、將CPSR複製到相應的SPSR中。

    C、根據異常類型,強制設置CPSR的運行模式位。

    D、強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程序處。

 

9ARM微處理器在較新的體系結構中支持兩種指令集:____________

    答案:ARM指令集、Thumb指令集

 

10ARM處理器有9種基本尋址方式,分別是:______________________________________________________

    答案:寄存器尋址、立即尋址、寄存器偏移尋址、寄存器間接尋址、基址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址、相對尋址

 

11ARM指令集可以分爲6類,分別是:____________________________________

    答案:跳轉指令、數據處理指令、程序狀態寄存器(PSR)傳輸指令、Load/Store指令、協處理器指令、異常中斷產生指令

 

12、表示遞增和遞減的滿堆棧和空堆棧有哪幾種組合,請比較它們的特點。

    答:有4種類型的堆棧,表示遞增和遞減的滿堆棧和空堆棧的各種組合。

    滿遞增:堆棧通過增大存儲器的地址向上增長,堆棧指針指向內含有效數據項的最高地址。指令如LDMFASTMFA等。

    空遞增:堆棧通過增大存儲器的地址向上增長,堆棧指針指向堆棧上的第一個空地址。指令如LDMEASTMEA等。

    滿遞減:堆棧通過減小存儲器的地址向下增長,堆棧指針指向內含有效數據項的最低地址。指令如LDMFDSTMFD等。

    空遞減:堆棧通過減小存儲器的地址向下增長,堆棧指針指向堆棧下的第一個空地址。指令如LDMEDSTMED等。

 

13ARM協處理器指令包括哪3類,請描述它們的功能。

    答:ARM協處理器指令包括以下3類:

    用於ARM處理器初始化ARM協處理器的數據處理操作。

    用於ARM處理器的寄存器和ARM協處理器的寄存器間的數據傳送操作。

    用於在ARM協處理器的寄存器和內存單元之間傳送數據。

 

14、可執行映像文件通常由幾部分構成,它們有什麼特點?

    答:可執行映像文件通常由以下幾部分構成。

    一個或多個代碼段,代碼段的屬性爲只讀。

    零個或多個包含初始化數據的數據段,數據段的屬性爲可讀寫。

    零個或多個不包含初始化數據的數據段,數據段的屬性爲可讀寫。

 

15ARM嵌入式系統主要由__________________構成。

    答案:嵌入式處理器、相關支撐硬件、嵌入式軟件系統

 

16、總線通常包括__________________

    答案:數據總線、地址總線、控制總線

 

17、復位後,ARM處理器處於(B)模式,(D)狀態

AuserBSVC Csystem DARM EThumb

 

18ARM9 處理器總共有(E)個寄存器,system模式下使用(A)個寄存器,SVC模式下使用(B)個寄存器

    A17    B18    C32    D36    E37

 

19ARM處理器中優先級別最高的異常爲(E

    AFIQ    BSWI    CIRQ    DSVC    ERESET

 

20ARM出局處理指令中有效的立即數是(ACEGH

    A0x00AB0000B0x0000FFFF C0xF000000F D0x08000012

    E0x00001F80F0xFFFFFFFF G0          H0xFF000000

 

21ATPCS規定中,推薦子函數參數最大爲(D)個

    A1    B2    C3    D4

 

22ATPCS規定中,棧是(B

    A、滿加    B、滿減    C、空加    D、空減

 

23ARM彙編編程中,通常PC是指(D),LR是指(C),SP是指(B

    AR12    BR13    CR14    DR15

 

24CPU復位後執行MOV R0PC指令後,R0寄存器的值爲(C

    A0x0    B0x4    C0x8    D0xC

 

25ARM中可以訪問狀態寄存器的指令是(D),能夠訪問內存的指令是(B

    AMOV    BLDR    CMCR    DMRS

 

26ARM7TDMI使用3級流水線,分3個階段,分別爲取指、譯碼和 執行。

 

27 ARM9的五級流水線分別是取指、譯碼、執行、緩衝數據、回寫。

 

28ARM的異常類型有復位異常、未定義指令異常、軟件中斷、指令預取中止、數據中止異常、IRQFIQ

 

29、描述一下嵌入式基於ROM的運行方式基於RAM的運行方式有什麼區別。

    基於RAM的運行方式:需要把硬盤和其他介質的代碼先加載到ram中,加載過程中一般有重定位的操作;

    基於ROM:沒有上面的操作。

    基於ROM:速度較基於RAM的慢,因爲會有一個把變量,部分代碼等從存儲器(硬盤,flash)搬移到RAM的過程;可用RAM資源比基於RAM的多;

    基於RAM:速度較基於ROM的快,可用RAM比基於ROM的少,因爲所有的代碼,數據都必須存放在RAM中。

 

30、嵌入式操作系統和通用操作系統有什麼差別?

    答案:多優先級,搶佔型,實時操作系統。嵌入式操作系統一般沒有UI,體積小,實時性強,對穩定性要求更高。嵌入式操作系統強調實時性,並且可裁減。要求系統資源的消耗要儘可能的小。

 

31、在ARM體系結構中,要從主動用戶模式(User)切換到超級用戶模式(Supervisor),應採用何種方法?C
    A、直接修改CPU狀態寄存器(CPSR)對應的模式
    B、先修改程序狀態備份寄存器(SPSR)到對應的模式,再更新CPU狀態
    C、使用軟件中斷指令(SWI
    D、讓處理器執行未定義指令

 

32、在ARM Linux體系中,用來處理外設中斷的異常模式是__C____
    A、軟件中斷(SWI            B、未定義的指令異常
    C、中斷請求(IRQ            D、快速中斷請求(FIQ

 

33、在ARM Linux系統中,中斷處理程序進入C代碼以後,ARM的處於__A__工作模式
    A、超級用戶(SVC            B、中斷(IRQ)
    C、快速中斷(IRQ            D、和進入中斷之前的狀態有關係

 

34、在ARM體系構建的嵌入式系統中,由電平模式觸發的中斷,其對應的中斷標準應該在何時被清除?A
    A、當中斷處理程序結束以後,纔可以清除
    B、進入相應的中斷處理程序,即可以清除
    C、產生IRQ中斷的時候,處理器自動清除
    D、任何時候都可以清除

 

35、在下列ARM處理器的各種模式中,只有__A___模式不可以自由地改變處理器的工作模式。
    A、用戶模式(User    B、系統模式(System)
    C、終止模式(Abort)     D、中斷模式(IRQ)

 

36ARM嵌入式系統中,PC指向的是正在(C  )的指令地址。                          
    A  執行        B 譯碼       C  取指        D 都不是

 

37、同CISC相比,下面哪一項不屬於RISC處理器的特徵___D_____
    A、採用固定長度的指令格式,指令規整、簡單、基本尋址方式有23種。
    B、減少指令數和尋址方式,使控制部件簡化,加快執行速度。
    C、數據處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執行效率,同時簡化處理器的設計。
    DRISC處理器都採用哈佛結構

 

38、在ARM體系結構中,要從主動用戶模式(User)切換到超級用戶模式(Supervisor),應採用何種方法?C
    A、直接修改CPU狀態寄存器(CPSR)對應的模式
    B、先修改程序狀態備份寄存器(SPSR)到對應的模式,再更新CPU狀態
    C、使用軟件中斷指令(SWI
    D、讓處理器執行未定義指令

 

39、在ARM系統結構中,MMU映射最小的單元空間是__D__
    A64KB        B16KB        C4KB        D1KB

 

40、在ARM Linux啓動的過程中,開啓MMU的時候,如何實現從實地址空間到虛擬地址空間的過度?D
    A、開啓MMU,在內存中創建頁表(映射內核到3G以上的虛擬地址空間)並繼續運行。
    B、開啓MMU,在內存中創建頁表(映射內核到3G以上的虛擬地址空間),跳轉到虛擬地址空間繼續運行。
    C、在內存中創建頁表(映射內核到3G以上的虛擬地址空間),開啓MMU,跳轉到虛擬地址空間繼續運行。
    D、在內存中創建頁表(映射內核到3G以上的虛擬地址空間,同時把內核所在的前1MB空間到和其實地址相同的虛擬地址空間),開啓MMU,跳轉到虛擬地址空間繼續運行。

 

41、在ARM Linux體系中,用來處理外設中斷的異常模式是_C_____
    A、軟件中斷(SWI            B、未定義的指令異常
    C、中斷請求(IRQ            D、快速中斷請求(FIQ

 

42、指令ADD R2,R1,R1,LSR #2中,LSR的含義是(B)。                               
    A 邏輯左移       B  邏輯右移        C 算術右移           D循環右移

 

43、哈佛結構和馮諾依曼結構的區別是( A)
    A 指令和數據分開存儲    B 不需要程序計數器   C 統一編址    D 單一數據總線

 

44ARM9ARM7的重要區別是(A )
    A  ARM9帶有MMU功能            B  ARM9支持Thumb指令集  
    C  ARM9帶有Cache功能            D  ARM9是哈佛結構

 

45、當系統工作負載增加時,CPU A 將佔很大比重
    A) 用戶時間        B)系統時間         C)空閒時間        D) 進程時間

 

46、嵌入式微控制器相比嵌入式微處理器的的最大特點(B)。
    A、體積大大減小        B、單片化
    C、功耗低               D、成本高

 

47、同CISC相比,下面哪一項不屬於RISC處理器的特徵__D______
    A、採用固定長度的指令格式,指令規整、簡單、基本尋址方式有23種。
    B、減少指令數和尋址方式,使控制部件簡化,加快執行速度。
    C、數據處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執行效率,同時簡化處理器的設計。
    DRISC處理器都採用哈佛結構

 

48、中斷向量是指(C )。
    A、中斷斷點的地址                 B、中斷向量表起始地址  
    C、中斷處理程序入口地址         D、中斷返回地址 

 

49、在ARM系統結構中,MMU映射最大的單元空間是___A_
    A1MB        B128KB       C64KB        D4KB

 

 

發佈了8 篇原創文章 · 獲贊 98 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章