|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录
' e4 m) r1 b2 N! Q( U( a第1章 ARMv8简介. 3
5 f& {$ b- ^# |1.1基础认识. 3- J. ~+ H0 \" D3 ~9 O/ s6 m
1.2 相关专业名词解释. 3& |) ? F" [( T. I/ m/ [
第2章 Execution State 4
* ^( m- W8 C4 N$ B! v0 B+ O7 I6 ]0 @5 X2.1 提供两种Execution State 4$ s. l3 y8 b, v. f
2.2 决定Execution State的条件. 4
' D5 f) ?; p, K e# o0 z6 w第3章 Exception Level 5* m9 `" {6 P* ]& l6 r' w/ c
3.1 Exception Level 与Security 51 x" w, D5 ?8 m
3.1.1 EL3使用AArch64、AArch32的对比. 5
4 u8 J& E, n8 l1 I3.2 ELx 和 Execution State 组合. 6
$ Q& z- n x9 l+ V3.3路由控制. 7
: }6 V) d. N$ S. c h5 R3.3.1 路由规则. 74 @; ]- |# ^; D
3.3.2 IRQ/FIQ/SError路由流程图. 8
7 t% G' _0 H ?! a4 s第4章 ARMv8寄存器. 9, B/ C5 N5 o+ W" l' h" o
4.1 AArch32重要寄存器. 9
`" v& F+ j# A# Z5 `* r4.1.1 A32状态下寄存器组织. 10) Y. L, ^# m0 [
4.1.1 T32状态下寄存器组织. 10- {& X2 P1 A3 q7 Z
4.2 AArch64重要寄存器. 11
4 u/ I# Z6 J2 s, I! o8 p1 W$ F! J4.3 64、32位寄存器的映射关系. 11
3 T9 L( m( V9 L W; J& W第5章 异常模型. 12
+ C) f3 B7 k- c0 C5.1 异常类型描述. 12
4 @# P/ L- i# i- z5.1.1 AArch32异常类型. 12. w5 b ?# U# S- @2 {& J
5.1.2 AArch64异常类型. 122 R; L& s; [" g7 x
5.2异常处理逻辑. 13* J- ], u, v! @
5.2.1 寄存器操作. 13- c5 \# x7 a$ n: `, i
5.2.2 路由控制. 14
' F+ V9 g& R, q: f: g/ Z, g5.3流程图对比. 14
' u4 X) [" M, M- S) W5.3.1 IRQ 流程图. 15
8 C5 O5 S3 O# p4 c6 F: d9 }1 e5.3.2 Data Abort 流程图. 18
7 l" R: T Z0 j6 r3 U5.4 源代码异常入口. 20 \4 M' Y1 v: h7 o9 g
5.4.1 C函数入口. 20
) b( T4 b0 e8 C0 |( d, c* _. b a+ }5.4.2 上报流程图. 20
- n C( R) W0 E5.4.3 异常进入压栈准备. 21
/ L, } d& I2 d0 U f4 b" _5.4.4 栈布局. 21* i& s, Y/ N5 g V2 p$ S$ T/ P
第6章 ARMv8指令集. 22( K7 X' |1 a' L4 |3 i
6.1 概况. 22
: L8 V1 P8 }: C, W3 a9 O' r; n6.1.1 指令基本格式. 22) d5 Q( d% @5 c- f; \6 U
6.1.2 指令分类. 22
$ h! N0 S& T* [8 x+ h6.2 A64指令集. 22+ w' i" c! ^& \4 H3 N7 c
6.2.1 指令助记符. 23" X7 R& {/ U4 n
6.2.2 指令条件码. 23
& d- }$ O, g6 j6.2.3 跳转指令. 24' x, N- Y" h" V9 m9 z0 {
6.2.4 异常产生和返回指令. 247 Z. X+ k: B: Z5 s( `
6.2.5 系统寄存器指令. 24
- X! u9 d: X+ b3 O( j$ f6.2.6 数据处理指令. 25, ^. J+ }: ^& h7 R; u2 R- K
6.2.7 Load/Store指令. 27
- |" }9 I0 u" s& l( }! f6.2.8 屏障指令. 31
' Y& |% m2 Y3 e! T" ^6.3 A32 & T32指令集. 31, J/ y. [+ W% S. F* G3 o
6.3.1 跳转指令. 311 F9 F R' E" @$ a+ l. O+ \
6.3.2 异常产生、返回指令. 32/ Y4 ~1 h+ ^9 s; R( l
6.3.3 系统寄存器指令. 324 @7 A/ M; |, X Q
6.3.4 系统寄存器指令. 32; O2 y/ `' f& B8 S
6.3.5 数据处理指令. 321 s. R0 c$ A% i% H9 c- c
6.3.6 Load/Store指令. 328 f, `% M k: j- ^* D2 O
6.3.7 IT(if then)指令. 34: R1 K& o ?% r1 U1 F4 r1 `) `& \
6.3.8 协处理器指令. 34: _* k% Y' ?! d$ k' }3 g& S8 x
6.4 指令编码. 34$ V" c- e1 V3 {& J' c+ N
6.4.1 A32编码. 34
# P! O9 M: Y M+ O* x ^6 v6.4.2 T32-16bit编码. 35& f7 ^" m; f( Y6 p0 ~& m
6.4.3 T32-32bit编码. 35
Z( e! s% o3 I8 d6.4.4 A64编码. 35% H# X( y/ G! a, Q
6.4 汇编代码分析. 350 J7 Q0 v& \2 _$ n* Y% r% J4 t3 k
第7章 流水线. 36
& h/ m& m6 B& K( J4 v, {5 _7.1 简介. 36
6 b, d! B- A0 w7 J7.1.1 简单三级流水线. 36
1 U& ^4 B G0 ^6 E, {' J7.1.2 经典五级流水线. 36
! o/ I3 N. w* A# ?: @" l, T' U7.2 流水线冲突. 37" R. h% M% N% Z* u' t4 o: `. R
7.3 指令并行. 37
. s) L- X' z1 o, D* m- n3 a* w( d( W7 u. D' h
8 Q. b$ j, {% `( s9 ]4 z" J/ J! E' ~) y6 y$ v s4 q. V
& k* z6 u% d! x# Y+ G5 E8 j1 C+ N+ b0 C
I$ c! z) o% w4 u3 z
8 X3 G4 i+ A9 [/ [$ {8 I2 t) S8 m) r, R6 Z" C
第3章 Exception Level
$ w' B0 o* L# p, h) o) r* C% x
8 |. M- w% o* {# P, l7 r* H+ j) r$ P1 b! ?8 P4 Q8 q
• ARMv8定义EL0-EL3共 4个Exception Level来控制PE的行为.
+ q! I" a& j) z2 a! F
2 j' y) C- W' \" |/ |; r
3 h' g. p2 Z8 f4 \* u8 M: Y5 R9 K$ Q; J
) _! P4 ^6 l6 F. S
3.1 Exception Level 与Security, j9 j; p" k7 Q/ i" u, ?
# U, h9 ?, J) `8 S+ ]( e. q' @0 D2 k
2 F6 V% B& N8 l
" j9 l8 \; M0 q7 M0 b" B$ |
. \% X8 |7 Q3 R$ {. D2 s$ L
3.1.1 EL3使用AArch64、AArch32的对比
& q, @" u; O: Y2 ^4 D- {
# J4 D; ?& K1 L/ W% ^8 k6 S
# |2 Z& r' O0 F, ~
2 y9 F0 B3 H+ g
/ [$ E3 |* r5 ]- Z5 ?8 {9 @- e9 T& J# V" C5 P
& L# Q5 ?9 n5 c$ G; ?2 `: w9 d
! `+ Z5 [6 }2 N p, r3 o: n# ?1 I/ e8 @8 T* m
|
|