|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1.说出ARM可以工作的模式名字答:7种:
) _2 Z# ~& c0 z" E$ E( E; e& w, d- usr 用户模式
- system 系统模式
- FIQ 快速中断模式
- IRQ 外部中断模式
- Abort 异常模式
- undef 未定义模式
- svc 管理模式
6 j" m# E9 `( k% a% G$ b/ B
u0 |$ g# p- @& g8 C, Z6 C% o# s9 @5 [( W" o& @ R
2.ARM核有多少个寄存器9 ? V4 T7 J& K1 y: O! r7 s
# E# `& f; A" W4 @, R' t) T# `答:37个32位的寄存器/ j& v9 A# v0 q b8 Z
, t" a5 A9 n3 \: H# A
3.什么寄存器用于存储PC和LR寄存器 - C$ l; ~1 k: }5 V I& k
( S" m3 j8 x$ Q' W9 o% ^2 H
( H2 M% p2 [6 m- v0 U. M答:PC:R15。LR:P140 W3 |4 f" }1 y: ~3 e X; V
B+ j [( j- E& a. ^' ` E1 P3 A
4.R13通常用来存储什么 5 \7 l$ w5 _8 _- c* P% n
6 d2 ]& o* G& A0 V" C) B' A
: O& k! o" A. S: r& S2 l答:栈指针
* O' |6 }2 ~' J9 X! t
: I; a* g" f- I! H
! v" y/ Q$ c' F2 F* o# M
' h1 K: [+ c% w0 E$ J5.哪种模式使用的寄存器最少 - ^6 D* F% e' g: I" ^3 |* n$ |3 c+ `
9 e* N$ O/ g* p) s
2 {# \1 |0 q6 a1 v# f2 N0 W答:usr) o: n* K# s" R0 i- a& [
/ U' m& W I, c O4 k; x; C# _+ @7 ~+ u2 H
5 g% w! o8 C) D2 @4 g ~ a' p
6.在Thumb指令中,哪些处理器处于Low group $ ]/ v+ U- U5 p2 e3 J" U4 c
6 F5 U# }6 L4 k |2 A
+ i8 [7 J4 R7 f' v
答:R0-R7
5 s+ P# _- w, f' F6 y- O' w
O+ e; g/ J. W6 w u: v1 y% f; ~- Y' h
- g: }, t' }5 m) V) d
7.CPSR的哪一位反映了处理器的状态
1 _- g; ]3 P. q* J: D8 c4 H) g% x- V' W: \; f! o7 I% L
# w& X" ?( w* l3 X
答:T* F8 W% K6 H0 J* q& {$ R$ v3 Y
! y" }# k, ]+ S& d" J
$ W1 E* J; \* W5 V, q8 e: Z9 L% r4 E! }
# j: o! e; f. k0 i8.所有Thumb指令采取什么对齐方式
1 ^. [1 w; c9 F; U4 d: ?
/ j- ]7 q, J3 U7 ]" R& D+ t# G7 J- s, e& s# }
答:16位2字节对齐
+ P, m& ^3 [3 @1 u7 ]
% J7 T5 {4 c* T% I9 O6 M, ~$ Z3 x. J" L$ _+ q% l8 [5 U- C7 I" i6 l/ m. Q
/ G- G5 }- m/ ~5 K& ~9.ARM有哪几个异常类型
+ Z9 \$ Z6 ^2 x; P: E0 y* r' l E
9 w8 Z/ V2 i- d
; U6 n: r4 ~. u s/ j答:7个
' G. l# c1 f' x8 L
/ }8 p* e \/ d: L5 f! J
$ x- L& a7 ?/ C) ~- Reset 复位异常 0x00
- Undefined instruction 未定义异常 0x04
- Software interrupt 软中断 0x08
- Prefetch Abort 预取指异常 0x0c
- Data Abort 数据异常 0x10
- IRQ 外部中断异常 0x18
- FIQ 快速中断异常 0x1c$ p r! I+ s1 l$ N
0 F g0 H) z8 M1 g
) a1 x& {7 C4 u
8 D. D% }- m( i/ q0 P, O3 ], Z0 U i' t( y! n5 F; o
10.为什么FIQ的服务程序地址要位于0x1c 0 V8 l6 p3 K E2 X3 o
- r5 d' X% ^( M% s* Z( m答:因为0x1c后面可以直接给异常处理函数,而不需跳转,FIQ还有额外的5个私有寄存器,不需对齐进行保护(中断处理时,必须保护期使用的非私有寄存器)从而提高执行速度如果在0x1c前面的话则只有四个字节只能跳转执行异常函数
1 C: d; Z% L- o
3 ?6 x( b# G! p5 Y) S; y0 i% t3 K* J" K8 l+ e3 w, u3 v: o
/ g H8 F( o" H! r
11.在复位后,ARM处理处于何种模式、何种状态 5 d: u9 e& B3 O- `
( H( Y" T3 n$ R4 k( n9 m
答:处理ARM状态,svc模式
$ Y& R% l' a m- J
1 g! @9 H7 s1 i G6 ]
- d+ W* p* G7 z6 l# f0 L4 L9 Q
5 ^* O+ y1 q. c* b/ l12.哪些ARM指令可以有条件的执行 ! h* B/ c9 p$ e# I" Q! t& R
+ c' G9 m! k. u- M5 X- d9 J答:在ARMv4架构下所有的指令都是可以有条件执行,但是在ARMv5架构下有一条指令BX不能有条件执行,是非条件执行 e. v/ K8 E1 G% h; ?; ~8 _
/ I0 @+ U% A' A0 ]8 e% ^
" ]- z- N( U B5 a- k
3 q7 a( [/ {8 k! A" |13.Thumb代码与ARM代码比较的两在优势
- @. g! [* O+ L& [3 u
8 W4 W/ M8 f$ R" H0 Z
8 a3 H1 C+ P, S! Y答:优化代码密码、提高窄内存操作性能、是ARM指令集的一个功能子集4 Z/ v) Y& j7 e1 [* a* M
: N% y8 T- }9 B
$ Q* `/ G% O& E6 @+ h T* x
1 Q9 h$ K* Y6 ?14.AMBA代表是什么
4 E) s8 d8 `* C
+ [% g& q! k; F/ H3 ]1 T0 ~ ^: l5 @0 l! ]" k+ [( x3 A
答:advanced mircontrol bus architecture 高级微控制总线体系结构- D n O) I5 q4 l- z
# X1 z- p0 B2 X7 S! E" X* D6 l AHB:高速总线。APB:低速总线% s Z. ]# A* ?% v7 s9 l
U; j: l8 g d* Q3 C1 _- l ]! @ l* z1 H, h7 T- |4 x W+ U
. ~$ l1 `+ z8 Y
9 f- F3 n* R, V* z/ {* ~- J2 X4 ^/ c. D1 Y0 a4 _
8 p: l) p& Z$ s; w5 Z9 R
4 m8 ~2 w( A+ @8 f
2 Q3 c" \$ Q t1 H' e
8 p2 e! ~9 p) ] |
|