|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1.说出ARM可以工作的模式名字答:7种:( {# u4 B* P* a
- usr 用户模式
- system 系统模式
- FIQ 快速中断模式
- IRQ 外部中断模式
- Abort 异常模式
- undef 未定义模式
- svc 管理模式
d: w# O- m1 ^& _0 `! t ; \2 i/ \% K) t! X" [: }
0 e: j2 j4 I. j, F1 d2 Z3 z- Q3 P2.ARM核有多少个寄存器
. e5 j1 q; u! t7 U
2 r8 b. c- ^. N# \9 Q0 X' D答:37个32位的寄存器
+ `- E6 K8 ]1 i# J! A1 U2 j4 e8 M" x0 u2 E
3.什么寄存器用于存储PC和LR寄存器
/ D; {2 V5 ]7 Z/ B; p) e
% r7 [8 B: k( i
: o7 j X8 o8 \- C/ Z% _1 [答:PC:R15。LR:P14
, |+ K/ u* L) [1 {/ N; o+ k
4 v+ U. U2 v' N& T% O! ]) Q
- I4 E0 l' L- o" g4 s3 m4.R13通常用来存储什么
1 }( w* P- l; F8 ?1 ?6 M7 r% L% d7 ]
6 \! I' w6 c( t/ _4 ]9 |& w: F1 u2 c! N/ J" T: N$ A5 m
答:栈指针
5 Q, s* V7 `- _ S
. E$ n9 P+ c( n/ X' A6 g6 @
! K% _( F: ?- k3 t% f/ j/ z: p
# }6 M- F% x. s9 w$ i5.哪种模式使用的寄存器最少
6 }* Y- b* M8 A \% s0 [
, N; b) A6 v: P3 V) S
+ w, N7 o% H. r, [: L答:usr5 F0 v! u0 Z4 e- ]) g9 V6 m
' a$ ]1 R" C2 n' C3 o) W
$ ]/ n5 p0 n/ ~
" T- Z( s# ?0 \" \6.在Thumb指令中,哪些处理器处于Low group
: }3 Q, e0 ]8 @" @
" n [0 l# q# {* y4 M X$ s" \" A! A
答:R0-R7
* T- z5 w& E% d% Q( k& j7 }
2 L9 |4 ]7 `9 g0 d/ `8 @
1 w$ e5 H7 Z( |; y" r2 A8 }# A) t! s- y3 T/ T6 h5 h
7.CPSR的哪一位反映了处理器的状态 & G0 D5 Y2 k j2 ?5 @+ L
1 ^3 e5 h6 S8 V' e, W+ P9 c( e, G8 s6 r6 l
答:T
. A8 s9 f9 m. P8 Q3 P6 Y6 l( \/ Y6 I# C" ? A
( |# b) z( v) h" t
' Z0 P) C, d! G: b! O: r' X3 L+ S/ \8.所有Thumb指令采取什么对齐方式 6 P! e8 D1 _* K! Z! `6 Z
* U& P7 y) D8 c& a+ A; C; m! _+ f- }, P1 a- f3 E8 C
答:16位2字节对齐# n- g$ U5 ^& p6 E8 D8 P* q
+ \7 O% ?* ~0 d! n* ^. t* S; U5 U4 b9 v
/ G; S% l7 o t; @$ G2 }7 c$ S
9.ARM有哪几个异常类型 5 H% g$ k4 t/ c/ v6 k! e
6 o' L/ H& e4 U1 C+ T' c, Q3 {. E5 D- M* v4 [# B0 N) y `3 o
答:7个3 d/ e: h" q2 P: M
' C& H/ u) K( i
7 a# R3 B& I# p4 a, P2 o
- Reset 复位异常 0x00
- Undefined instruction 未定义异常 0x04
- Software interrupt 软中断 0x08
- Prefetch Abort 预取指异常 0x0c
- Data Abort 数据异常 0x10
- IRQ 外部中断异常 0x18
- FIQ 快速中断异常 0x1c
/ F( { z5 Q+ I) R$ P5 q 5 t& T5 G- k; m; ]' v
/ V/ s* y+ R; C8 e/ |- f
, ]9 {' j6 u; {! H- A, \! |. w6 F5 I
' }8 R$ Y+ ]5 k/ o0 b10.为什么FIQ的服务程序地址要位于0x1c " }7 w7 i/ D, F
# M$ Y# I9 W, l d答:因为0x1c后面可以直接给异常处理函数,而不需跳转,FIQ还有额外的5个私有寄存器,不需对齐进行保护(中断处理时,必须保护期使用的非私有寄存器)从而提高执行速度如果在0x1c前面的话则只有四个字节只能跳转执行异常函数) `3 K* ?2 u# \- H! h3 y$ w, d
4 I5 _7 Q& _7 m
; @$ z z7 }, D" j; u; @4 @9 e2 K4 m8 K, W' I4 C
11.在复位后,ARM处理处于何种模式、何种状态
$ H+ Q: e* y5 a+ {" b$ w/ G# @( b5 A( P+ V6 O
答:处理ARM状态,svc模式- b+ F/ g; M, k( l. s2 I
/ n/ @( L6 t2 ?2 n
: w6 _8 r" ]0 ]: r7 @& S+ D4 V
" \" \& ?' N' y& u. R B12.哪些ARM指令可以有条件的执行
x- Y! a3 q! x3 i+ G2 k6 d9 I& w3 R+ p2 O
答:在ARMv4架构下所有的指令都是可以有条件执行,但是在ARMv5架构下有一条指令BX不能有条件执行,是非条件执行5 C+ R8 c: I5 M, k( `* F% {
8 y& v0 x8 e% O4 i# f- L( z5 @: B! `7 _
% i4 X7 O6 n8 \$ {
13.Thumb代码与ARM代码比较的两在优势
# e1 g. U, V& B' `4 d4 v! ~
6 y5 R2 ?, t: O$ l1 F: W; j1 A* g7 u0 h3 q$ S* D
答:优化代码密码、提高窄内存操作性能、是ARM指令集的一个功能子集( P( a5 ~4 N( M3 ^2 a$ D- u
E5 P( ~& _5 l" q% h' w! c
5 `' u/ b8 `- T: W) T- g
# ]; m0 t* m/ C
14.AMBA代表是什么
5 L- t q1 E+ u" @3 ^3 S" ]6 f6 \1 e" p5 j
. T2 Q0 @( W% v8 u+ O
答:advanced mircontrol bus architecture 高级微控制总线体系结构
, i' _/ C! |; I \+ c5 ]$ s+ D
AHB:高速总线。APB:低速总线1 H6 m) S, X }* |' ^7 Z9 V( c
2 L' ? U, B& \2 t {
% g c1 U5 Z* W9 a+ I" J* E( ^$ p# o. X6 @1 E0 f
8 y( Y. m0 M$ g" T+ A# h {5 b: w4 J5 ~" [! a i
4 j q2 S; n: e. u4 p! W, M0 A' H& t: x' Y9 r0 Q
. J) w* o9 N3 c6 D/ u5 l/ Y5 F- P# e7 O6 J
|
|