|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1.说出ARM可以工作的模式名字答:7种:
6 O$ D4 ]7 V- V! r- F& t- usr 用户模式
- system 系统模式
- FIQ 快速中断模式
- IRQ 外部中断模式
- Abort 异常模式
- undef 未定义模式
- svc 管理模式* q# l3 ], l7 G' B- d) R
- T5 D7 p: w% N
- m# h. a q' O; j, `) B
2.ARM核有多少个寄存器0 r6 x: I6 e) n2 P. q9 _, f! W& l
3 }- p ^+ x- ^9 [. ]( D5 |答:37个32位的寄存器0 R6 P$ R; a7 ?, V8 v7 j
1 V7 T, Y. ?* ^9 b; e& W' {3.什么寄存器用于存储PC和LR寄存器 9 ]# m1 c9 Y' ?# D0 y. o% B1 h
4 m! \: u# \% y, c" y
$ D8 ^7 y. P( {% t$ A7 ^2 S8 l
答:PC:R15。LR:P14
( k; U- ?" u& K& U0 O( t4 \
. B& s! b0 M2 H5 @* M V* I# F* I4 a
4.R13通常用来存储什么 ( a' g B- o& g$ M7 x; k
$ H" D0 b# S: V6 D" t! D9 R
9 D9 p4 N* Z5 |- E2 _4 i5 W+ L3 V) j
答:栈指针, F f: {9 e# U. \1 q
& u7 r# v( E5 J3 ^" c
2 Y3 R- ]% Z3 c# N& s& ? v
3 o; C* T, ^0 ^1 t; `9 |5 Q2 N5.哪种模式使用的寄存器最少
% M }8 I8 r( Z( [( ^$ W$ x! W$ {, _" |+ t
; z0 v/ F0 f6 B. f4 C% G
答:usr' i' H! |5 y1 Q7 B, |
) J- B$ p& e% \( p$ ^: K
- B8 {) y2 M: o, v# b0 G# c
5 x/ f, S0 ~- A; p( A& @6.在Thumb指令中,哪些处理器处于Low group
6 X1 A) x6 r9 | [" Y$ L6 l/ U3 ]' p+ W* v3 ^( x
7 d5 U0 T! T3 p2 {. ^答:R0-R7
Q) }) H9 Y, d! k2 p. A& L
* K, [* x9 u8 x$ o3 S/ o4 p; W; t
% `8 {* H# b2 U1 U7.CPSR的哪一位反映了处理器的状态
5 s" E% d9 M$ A& T4 m5 s/ q$ a( S( I$ J9 f4 r
1 t% Y$ t& T9 g1 y+ ]/ G
答:T1 Q k1 b3 e8 l
R( `! S1 Q7 K0 B2 Z2 l
0 K% c* w6 T8 ^) F( d: v Y
' k5 @2 z) t w/ f8.所有Thumb指令采取什么对齐方式 + r# Z" `3 A% p8 L
% g) _5 W6 e+ ^' F: U/ C- N" x; P
. _, g3 N8 b9 l答:16位2字节对齐/ E5 K& n. S9 |) Q, m& |% O' M
5 C; F3 ?- e1 ?0 ?' w$ s
$ H/ b3 u+ h, {+ a" b4 ~ W3 W1 [. f5 [* ^- G% z+ |5 q
9.ARM有哪几个异常类型
( z" g8 h4 L& |3 G8 U
& m; C# B! A! i7 _
: O, t0 m; O; H' p答:7个8 Y& t I8 N( C5 R2 H2 L0 D
# P/ M& p& T/ g( @# w3 I. y) o+ r1 W
$ Y9 W0 A5 L/ _5 c, u# Q- Reset 复位异常 0x00
- Undefined instruction 未定义异常 0x04
- Software interrupt 软中断 0x08
- Prefetch Abort 预取指异常 0x0c
- Data Abort 数据异常 0x10
- IRQ 外部中断异常 0x18
- FIQ 快速中断异常 0x1c- K* X& d' F1 P6 h. n8 R
3 u# x6 y: j- B4 f0 W- [1 o4 `0 Q! t- }5 O ~; }
& h, }2 n0 z; Z
' A- Q, B6 `2 `# U* R7 Y10.为什么FIQ的服务程序地址要位于0x1c - [( b8 H7 \- f
' Q* ~) D+ i, G/ Z9 K% P
答:因为0x1c后面可以直接给异常处理函数,而不需跳转,FIQ还有额外的5个私有寄存器,不需对齐进行保护(中断处理时,必须保护期使用的非私有寄存器)从而提高执行速度如果在0x1c前面的话则只有四个字节只能跳转执行异常函数
# d- U8 X0 _ P8 Q! G
& R3 k7 T H; Y& j& K- X$ i7 ]
2 t+ g+ j+ T, G3 m6 m4 F; g$ i. [+ ?0 e
11.在复位后,ARM处理处于何种模式、何种状态 # g2 d' a3 `( b
4 C' ~ O( h+ N答:处理ARM状态,svc模式
0 H9 B& w }6 Z" o1 F/ p
7 T- D3 L, h5 @% i/ }2 o P, ]9 R1 }/ F( I
1 G" n8 m8 J' s8 \* |7 {% x k/ I
12.哪些ARM指令可以有条件的执行
* [9 n1 e, u& w l( U( q
: M; y, b; ~# V' }9 B! o答:在ARMv4架构下所有的指令都是可以有条件执行,但是在ARMv5架构下有一条指令BX不能有条件执行,是非条件执行) k0 ~# Z+ X3 R* X, j5 P
% i& i) c. }9 J
" B: Z; t9 D: H! T- Q+ v" r6 `. w- f0 E, g1 h6 z8 v
13.Thumb代码与ARM代码比较的两在优势
; M1 ]9 q% W8 x+ e: z+ O2 e3 q9 J% z ^: ~9 R
+ G* z0 i" w9 N9 z' T
答:优化代码密码、提高窄内存操作性能、是ARM指令集的一个功能子集8 B2 O7 e0 Z# [& L* Z6 \
% r2 }4 U( i* n x3 X& z8 e) j1 t' S. E- y7 s4 k, P
! {' q% y( p# {) f. j3 K14.AMBA代表是什么 $ ?* M- I# t& n1 \
% i2 S y/ O* V" v
* x" Z, s! @! `% `2 r# o* }4 x6 Q' ~
答:advanced mircontrol bus architecture 高级微控制总线体系结构7 Q5 z* [ y% [$ [
$ ?9 R! Q ~5 i AHB:高速总线。APB:低速总线
$ z" w Q. t6 r6 c: |* F# Y8 X- T9 |
) K+ f4 k4 f: A
! C& J; s- ~6 l2 `+ g+ {- b( ~! o; W' I( b* ?
9 E0 E& f1 [1 d4 @4 j' o9 D" ?! E: C' H3 t, |) V
: L3 F5 X* M& b5 B, K- F, L2 M6 F, Z2 n8 L: S1 w
/ k% e4 }7 i+ {0 W
|
|