|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录
7 Z6 X2 S& b7 ^8 b/ H第1章 ARMv8简介. 3
1 ]6 v8 e9 ]8 u" D. U/ N0 I, ]1.1基础认识. 36 [- I1 G6 y5 A3 O4 A
1.2 相关专业名词解释. 32 F# ` ]6 W" x7 S( n
第2章 Execution State 4
* l0 Y6 H2 g2 v2.1 提供两种Execution State 4( u5 k6 t! Z; k! ~, j
2.2 决定Execution State的条件. 41 o# t/ |, x+ X( c3 F. v
第3章 Exception Level 50 h! ~" q5 F) S% \' v
3.1 Exception Level 与Security 5
" Z2 o0 l, ^" e# q! d% W3.1.1 EL3使用AArch64、AArch32的对比. 5
. d8 D. T+ M+ E3.2 ELx 和 Execution State 组合. 6
1 e0 g* ?/ h* f( t& ` I3.3路由控制. 7( C' W! S. P+ b& d2 P
3.3.1 路由规则. 7
) t {7 u/ U9 ]8 Z: _1 A" c3.3.2 IRQ/FIQ/SError路由流程图. 87 ~( V' _. [9 E G3 M/ O8 k' J- h
第4章 ARMv8寄存器. 9
& L8 h8 L# U1 E# r7 _) w& S4.1 AArch32重要寄存器. 9/ w/ C: [ U# ]! V1 S
4.1.1 A32状态下寄存器组织. 108 j8 b. L( N" Y
4.1.1 T32状态下寄存器组织. 10
0 y+ q7 b/ m& _, [& i! w( P5 J4.2 AArch64重要寄存器. 114 ]3 u2 E: k: j) p1 [& e( I. Q
4.3 64、32位寄存器的映射关系. 11
0 D" @% Y. X5 a第5章 异常模型. 12: W- q7 z+ I, k# {
5.1 异常类型描述. 12
# T5 K `$ e# L8 X1 }5.1.1 AArch32异常类型. 12
% ?" L) {( c0 F3 k# E0 ~" }" Z5.1.2 AArch64异常类型. 12
4 c- J' j4 Q, {6 c6 \! X5.2异常处理逻辑. 13
7 ]& T2 F; t3 O1 A' b; q( t6 [8 A5.2.1 寄存器操作. 136 p( ]1 ?) X! W$ L
5.2.2 路由控制. 14$ ]7 x1 n4 W( ?9 V& g
5.3流程图对比. 14
0 z/ O* Z( L8 ?2 a. ~4 O* Y2 M5.3.1 IRQ 流程图. 15
: O# [1 `# D2 @" _' l* Z' F5.3.2 Data Abort 流程图. 18
1 c: T5 o5 }' D1 S6 m5.4 源代码异常入口. 201 y7 N( a. |8 t* M" F
5.4.1 C函数入口. 20
8 m0 c7 \# x9 K7 ~- B5.4.2 上报流程图. 20) Z3 S8 Q* B* e! Q% T! b# A2 S( ?& t& ]
5.4.3 异常进入压栈准备. 21: h6 w) @) `. T1 e
5.4.4 栈布局. 21& o- F: x& {4 u8 K0 ~" P. s1 k1 E
第6章 ARMv8指令集. 22# ?, _) } p& l4 w/ \* D' h/ p
6.1 概况. 22. F- u4 s% |6 L+ P9 F9 {% G/ E! |
6.1.1 指令基本格式. 22
* b, B- ^* g3 O; z: ?8 u" g/ Q6 c. h6 E6.1.2 指令分类. 225 l3 S$ m$ i) \ T
6.2 A64指令集. 22
& n/ X0 V. L4 i+ J, y9 |* x6.2.1 指令助记符. 234 I. r1 [& Z$ N( l$ f
6.2.2 指令条件码. 23
* {/ ~4 N/ u7 S/ s' J6.2.3 跳转指令. 243 l( d! E% k) O T3 ?! ?0 {
6.2.4 异常产生和返回指令. 24
# A# {& X3 X' ]6.2.5 系统寄存器指令. 24$ I6 @( W I4 g& }
6.2.6 数据处理指令. 25+ _: b2 j9 W) g! v
6.2.7 Load/Store指令. 27
( H2 Q3 v& W2 S5 g6.2.8 屏障指令. 31) Q% X9 G8 p: E* a4 y" k
6.3 A32 & T32指令集. 31
" J0 ? H% x/ U9 _# G1 S6.3.1 跳转指令. 31
* G4 o/ d, i i# @6.3.2 异常产生、返回指令. 32
; I2 e- G6 A+ U6 g8 w7 l6.3.3 系统寄存器指令. 325 A! L8 D: G9 S) F. w
6.3.4 系统寄存器指令. 325 @: ]. A$ i/ U0 _- w
6.3.5 数据处理指令. 32
0 h6 n# e) \- D$ K4 s* T$ Q6.3.6 Load/Store指令. 32
) [7 z% I+ ?0 o0 ~& Y6.3.7 IT(if then)指令. 34
2 k9 a# L$ h5 y1 G% Y. T, q$ D6.3.8 协处理器指令. 34
( Q; u) w. ]- P6.4 指令编码. 34
+ p) H2 k) m2 y* c+ \0 R2 h B, v P& D6.4.1 A32编码. 34
: ~3 u- H$ s$ u: }) o1 ^7 ]& `; ~6.4.2 T32-16bit编码. 35 F F3 I" L: {
6.4.3 T32-32bit编码. 357 |3 `% Z9 \& l0 g9 Y I
6.4.4 A64编码. 35
9 d w1 X$ U! I2 \. \6.4 汇编代码分析. 35! U6 u' C b4 D" k) x1 ^
第7章 流水线. 367 F2 Z: n( _7 W( Y4 E8 P
7.1 简介. 36
+ W5 M; {( I5 a" {7.1.1 简单三级流水线. 36
# S" K! B1 ?& o( ~9 I S7.1.2 经典五级流水线. 36! ], U6 w" H b/ t/ U
7.2 流水线冲突. 37
3 f0 G+ s- I0 z/ b! p7.3 指令并行. 37" G$ V1 b2 k% A( B
5 j0 c, l( Y4 k& T) ~2 D9 P
5 L3 u1 z' m% e% D4 Y
/ A. v5 @' g' M6 S" X; n ?& w6 f5 X4 `) i: f
1 t+ }0 U& x; _ }
' L! t, I# w5 {3 i, ?$ H+ L
3 A3 [' @ Y/ t' n/ W- @第3章 Exception Level7 [6 ^: x6 f9 M
+ M0 r& h) r2 q- J' B+ O) F* ^; R ~* Q% B+ D
• ARMv8定义EL0-EL3共 4个Exception Level来控制PE的行为.
$ H* ~3 z# z% T. ?% u0 B0 D. m7 n$ C( K+ F+ w
) x# o# s* X; ~( ^! n, n2 m
' G/ n6 m/ V" z1 p# p
& K C1 @/ Y. c+ l1 d( K+ G2 H
3.1 Exception Level 与Security
; e; a& l0 a% z9 [$ |: d
* }9 Z! n6 I7 P4 g j
1 n( ]6 s5 x/ Y1 h9 r% n
' X9 a& o6 M% j9 R# E% @1 V
5 e5 @, {# o7 ?4 m" M$ r5 i
8 P/ T) w1 C* ?. q; _ z! c$ a3.1.1 EL3使用AArch64、AArch32的对比# q5 @# i5 j& I; R2 n- E
7 w9 O# x8 e/ C5 V) s
1 ]: d) }8 W( L! Q4 Z. z
5 s" E7 G* r, g* E- \ ?/ }* ~0 M; g2 d- q: C
v6 m' Y# ]' u7 o
7 x/ x& z+ M/ u1 m1 c8 ~$ W( w- x! E% o. Z
7 L# v. n6 h9 \- O$ @
|
|