|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录3 E7 ~* s; E, y' G7 V7 _( G
第1章 ARMv8简介. 3
, Z: S7 a- A6 s4 S1.1基础认识. 30 ^: F4 ]- Z5 W& @$ `: U
1.2 相关专业名词解释. 3, w) x5 }( v5 h, x3 h% N
第2章 Execution State 4' I: c- U1 u5 r. K+ Y" U! [1 U
2.1 提供两种Execution State 4& D" k& o2 J3 Z+ f
2.2 决定Execution State的条件. 4
+ b( f Q% A2 J+ Z3 c第3章 Exception Level 5
- p" T# y! o* P; P3 k3.1 Exception Level 与Security 5* r" M) i0 {: u) V7 v- C
3.1.1 EL3使用AArch64、AArch32的对比. 5
" e$ Q8 k% O8 }6 G3.2 ELx 和 Execution State 组合. 6
8 R% J9 O I& `4 A( C8 Y& n' {3.3路由控制. 76 R0 N5 M% x0 |9 v1 W& d. k, t* F) ?
3.3.1 路由规则. 7; z1 U: A L5 `5 H# Y, X
3.3.2 IRQ/FIQ/SError路由流程图. 88 I1 d5 h; u5 }0 ?( x' f
第4章 ARMv8寄存器. 97 _ V/ ^1 P' D! d- d' ~) e
4.1 AArch32重要寄存器. 9! q+ B0 Y6 D8 y' O
4.1.1 A32状态下寄存器组织. 10
( _$ N7 G U/ L! y' d4.1.1 T32状态下寄存器组织. 10! A7 p g2 H) b+ ?
4.2 AArch64重要寄存器. 113 P+ _/ n/ y8 f$ G3 l/ s
4.3 64、32位寄存器的映射关系. 119 o8 i/ `+ J) ~0 U
第5章 异常模型. 12
: ~! I* w( J4 s5.1 异常类型描述. 12 o: ?% _+ F: Z& v6 L# C
5.1.1 AArch32异常类型. 125 J# d2 t+ F. F _7 U1 _
5.1.2 AArch64异常类型. 12 x; X3 H+ Z! U
5.2异常处理逻辑. 13
}6 L9 _" y6 W% v5.2.1 寄存器操作. 13
# r c4 C. R# h0 M5.2.2 路由控制. 14" O. U Y9 {* f8 c" x' q% O
5.3流程图对比. 14
0 R T, [" u! i' Q8 K% |5.3.1 IRQ 流程图. 15
" I( y& F$ A" r& z5.3.2 Data Abort 流程图. 189 ^2 D4 s- M8 Y# B
5.4 源代码异常入口. 20
) e7 F3 |- }' @7 \5 k5.4.1 C函数入口. 20
+ x3 k$ K3 [7 q- z5.4.2 上报流程图. 20: b7 k2 e* t, ^! X2 ~/ P
5.4.3 异常进入压栈准备. 21
3 X/ W' r; O4 z3 F; z9 C, r6 U& [6 {! y5.4.4 栈布局. 216 [- X$ \: ]# J9 |* O3 b& I
第6章 ARMv8指令集. 226 P3 \" s3 k4 `3 T0 |) @ P
6.1 概况. 228 p$ y$ D7 I7 g8 V& L
6.1.1 指令基本格式. 22
4 I' \ U; U+ \ h" V6 c6.1.2 指令分类. 22$ P+ K4 u0 K( k0 B- A& F" U, c: h0 y
6.2 A64指令集. 220 S% G6 u. j$ ?$ M3 V' n6 b
6.2.1 指令助记符. 23! ?/ ?8 H) i5 H, y& |1 a
6.2.2 指令条件码. 23
+ o; G$ i# m: T' Y9 O# z9 p6.2.3 跳转指令. 24# q& k b+ C d8 c. y C
6.2.4 异常产生和返回指令. 24
; H6 h7 _/ ^ K6.2.5 系统寄存器指令. 24
1 V8 \, N' [6 ]; F$ v# r" q6.2.6 数据处理指令. 25" x% T! _; \4 J9 T! V5 _
6.2.7 Load/Store指令. 27; J" C2 [% r! i! |) i1 \* P' M
6.2.8 屏障指令. 31
. a; P5 w! _+ ~- v- T4 _6.3 A32 & T32指令集. 312 ^+ V4 K: h) j# Z
6.3.1 跳转指令. 31; w5 O5 O3 @ V
6.3.2 异常产生、返回指令. 32+ i% Q/ f1 k" h' [5 ~4 X& n3 ^
6.3.3 系统寄存器指令. 32& }; ^- a9 K8 E( ^ ]3 l2 U
6.3.4 系统寄存器指令. 329 X8 p0 _: P9 i3 H
6.3.5 数据处理指令. 32. h8 X* d* {' o0 d- k- F. s5 C
6.3.6 Load/Store指令. 32
$ h9 W/ C! \4 {/ i9 y6.3.7 IT(if then)指令. 34- W& H( K; o5 t! h
6.3.8 协处理器指令. 348 L2 a6 H0 w6 B" {" o
6.4 指令编码. 34, m: t% e. Q7 C
6.4.1 A32编码. 34
9 O! S5 g( ^% e- c6 P" G C8 P6.4.2 T32-16bit编码. 353 `# f$ P/ Z, n2 F
6.4.3 T32-32bit编码. 35
, k# V0 e- D: [6 h6.4.4 A64编码. 351 x4 {. N3 [9 k. u, c* h+ u. r
6.4 汇编代码分析. 35- Y4 [* f2 ]' ]- _3 e0 u q/ @' _
第7章 流水线. 36
7 ~ M9 k1 y, V7.1 简介. 36
* t2 l+ w- z# T6 R2 `& z3 H# |7.1.1 简单三级流水线. 36
" S& x, z _3 _7 a0 e7.1.2 经典五级流水线. 36
* L1 a" m _9 u0 b3 l( }. ?* H7.2 流水线冲突. 371 b, l. M0 v* z {" P9 y7 m, D8 |. d
7.3 指令并行. 37
' v' J. u8 s7 w# P7 C
: r- F7 V1 |8 d8 p$ e
6 ?! k/ i. K7 Y0 V8 I& e3 x) J; |
/ a& @) ?$ {0 \9 I9 h
0 A; n. }. x+ P- {
6 f+ d/ M% q: Q- w0 C1 O第4章 ARMv8寄存器! {/ s% y C( N$ P
5 J/ T/ P7 J) J: \- `1 \6 Y; {8 \" F% h* i1 s
寄存器名称描述
2 |3 F0 \# T7 c% W3 \7 M1 U- H5 D Y3 T& o; K. ~0 h `
4 j' T9 l- Y* ^3 e' I8 h/ R! F* f 0 }" x# k3 l* T; S; A4 L( \* s- ~
, i8 j3 G {6 V. Q; a- A; k! m( v
4 Z. `; g! @& \/ Z# e% K7 x. i2 C
4.1 AArch32重要寄存器* @3 |0 |; `1 C- g+ c s6 ~2 m u
- p, i- h. U5 T! ~; p6 A$ K& K4 ]6 F. \& t. N
- u: A1 @+ r& \2 G5 j% F
4 i1 L2 Y/ n; u( d, |
& A5 S7 F8 q( M' F* I4.1.1 A32状态下寄存器组织$ x# l4 T. I& S( J b
; r" `+ a# v p; M x4 Y" b
) s6 g. o) D: j) h% |
I- v' W) R- d* x/ \& u: Q : w( }# Y3 c9 G6 m9 W: ]% D
! L* V4 E# i; X( U$ r) {6 _* r
; U7 d9 M1 q/ K0 W2 p% P0 p
' e4 [; o: ~! n8 P: b* F, J, o
9 L, w2 e1 q; ?6 b. g0 s$ e% t, q6 n" w8 x: C* Y: M
+ w7 K0 N6 x; k+ v
" d, u3 |8 a8 h# D ?: c. o
|
|