EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录6 w% l; D' g9 X9 z
第1章 ARMv8简介. 3
5 T0 a* s h B* ~8 @+ `- _1.1基础认识. 3) U3 {8 E& j2 Y: p! a& V7 V
1.2 相关专业名词解释. 3
7 a! r# v1 Y! V/ O! ^) F第2章 Execution State 4. |8 U7 h1 _3 P
2.1 提供两种Execution State 4$ c* h2 W" k/ r, G
2.2 决定Execution State的条件. 4
O" U6 Y( i- I7 Q! r第3章 Exception Level 5
3 \' L* C, L! ~2 Z/ `. M: k R$ s' H3.1 Exception Level 与Security 5) y; R( K2 B6 P+ H0 Y8 v+ ?- O
3.1.1 EL3使用AArch64、AArch32的对比. 5
a! e. C8 w6 m) N0 n3.2 ELx 和 Execution State 组合. 6
- p2 _* k* c: Y9 v( B3.3路由控制. 76 e" g: h8 I4 E. w0 F0 E0 ?
3.3.1 路由规则. 7
4 s6 G# H" U6 [ A/ m3.3.2 IRQ/FIQ/SError路由流程图. 8
. L7 X D+ I: g第4章 ARMv8寄存器. 9& q9 c; I$ R! e0 f, L, i3 S
4.1 AArch32重要寄存器. 9
+ a; Q, v& }& _5 `: J/ U4.1.1 A32状态下寄存器组织. 10
6 s! W8 W8 O4 g- ^& ~# {4.1.1 T32状态下寄存器组织. 10
6 x- Q$ B x. y. r6 |4.2 AArch64重要寄存器. 11' |$ s8 R8 n" w+ |1 w
4.3 64、32位寄存器的映射关系. 11
) |3 E j5 X1 p5 e7 e8 Y第5章 异常模型. 12
7 p6 E$ o- ^# I5.1 异常类型描述. 12
0 l7 L- M7 x/ _7 v$ e0 F+ a5.1.1 AArch32异常类型. 12
. v2 ^, i$ K7 P5.1.2 AArch64异常类型. 12$ E6 P/ \8 `' I9 |2 I; G
5.2异常处理逻辑. 13" w. O" F2 t( P/ o( f
5.2.1 寄存器操作. 13; J7 y) `7 a& l" r% N/ U
5.2.2 路由控制. 14
2 D) M3 H; K2 j' g5.3流程图对比. 14$ H2 x a* v j( ~3 |
5.3.1 IRQ 流程图. 159 J: u! C1 y6 H! p: ~+ N
5.3.2 Data Abort 流程图. 18
& }* D5 a- a) m" V5 @' g0 {# I5.4 源代码异常入口. 20; ]5 K, o/ P% n+ s# W' ^8 U _' E
5.4.1 C函数入口. 20
) T- v" @! H M- H! B5.4.2 上报流程图. 20
; s$ R* z F0 M* | X5.4.3 异常进入压栈准备. 21& z' g; b/ |$ E0 l8 M
5.4.4 栈布局. 21
/ F8 j: W9 a1 w1 Y) d+ @; a& T! F第6章 ARMv8指令集. 221 w; X' j& Y- ^ a; ]( {' v* j
6.1 概况. 22
/ s0 j- T! J% n; `6 u7 C3 j6.1.1 指令基本格式. 22- S8 M. q" x" T. _7 ^
6.1.2 指令分类. 22
" m4 \" U/ I! v$ F8 O% d6.2 A64指令集. 22% s0 S% p" }/ M( q, j4 S. N7 W
6.2.1 指令助记符. 23
, r0 w/ l& k# w) L2 ^ Y# N- F6.2.2 指令条件码. 23
% I3 X+ A, U6 B3 S! `% F6.2.3 跳转指令. 24
2 F7 L$ [* t W6.2.4 异常产生和返回指令. 24
% q- T1 s7 M( Q6.2.5 系统寄存器指令. 24- i9 F% d& i" N [+ }. `
6.2.6 数据处理指令. 25& M1 N0 G6 M+ t8 j9 B
6.2.7 Load/Store指令. 27% p" |7 T, S4 M8 x" O
6.2.8 屏障指令. 31
- ]6 b. A6 v% h1 r' Y) w6.3 A32 & T32指令集. 31
8 b1 t- C/ N2 j- [$ Y5 E0 p6.3.1 跳转指令. 31
. w( _6 W" R5 `5 T4 s; [, L% o6.3.2 异常产生、返回指令. 32
6 R. C* A" M; k; ~. J7 L" `& y- X6.3.3 系统寄存器指令. 327 @7 k P0 Y5 s- U
6.3.4 系统寄存器指令. 32
. j" p, m5 n# j" q- p6.3.5 数据处理指令. 320 c4 L4 b) t6 i
6.3.6 Load/Store指令. 32
% v% U( w1 ^! J6.3.7 IT(if then)指令. 34
) w4 X2 y" m! b% G9 I I, H6.3.8 协处理器指令. 34
8 `) s U. R J- ?. H" T6.4 指令编码. 34
7 u/ k! o+ B, a% x2 f7 w T6.4.1 A32编码. 34
. d# Z# w4 {5 Q4 w" ~# p3 U6.4.2 T32-16bit编码. 35
* M9 n. I: ?5 `3 s5 P/ i) x# G6.4.3 T32-32bit编码. 35
" g/ I, W* c3 d6.4.4 A64编码. 35
& C Z9 [ H7 l) c8 G第7章 流水线. 361 n# u( h2 F& V1 H
7.1 简介. 36
0 c7 F7 ~3 Q& E: U+ [' [7.1.1 简单三级流水线. 36
' T) E+ Q4 M! j8 |/ S6 R8 V7.1.2 经典五级流水线. 36+ S3 j V# ^9 j
7.2 流水线冲突. 378 J8 [! g4 T) x9 Z# ?1 z
7.3 指令并行. 374 u: l6 [1 p+ L
\8 h2 ^0 c0 x$ a
/ Z+ D* s- n5 p0 r4 n
+ S& s- K( h2 ~3 d8 p: l9 k+ v1 n0 U! x: U: P! J0 l$ H: D
I7 ]: B j, Q5 M, X0 r. x0 }
% p9 _3 ~+ \4 b+ A: D
第6章 ARMv8指令集 6.1 概况 • A64指令集 • A32 & T32指令集 • 指令编码 6.1.1 指令基本格式 <Opcode>{<Cond>}<S> <Rd>, <Rn> {,<Opcode2>} • 其中尖括号是必须的,花括号是可选的 • A32: Rd => {R0–R14} • A64: Rd =>Xt => {X0–X30}
# N. W3 k% i/ a! _ ( ^$ W6 Q1 b* O/ t% ~! y K) B
. Z* z4 u1 K) ]; S4 I& Y, a, {" A- B0 `9 i, E4 u
: g2 e+ M0 L" c2 U) b4 C
# Q$ r) a* ?. S3 e* m, ]8 Z
# A1 R! p T% z* P# I3 `" E6 \; [
, A' Y0 ~% p: z# h3 ~1 s* Q
8 _5 V; r6 @5 u3 k U/ U
2 }* @# W9 L2 F" R$ M+ s2 s, f; o! x( U- e
) S' t- V' G' A/ i" M
0 g" c4 Y' V5 Q# |! T' j3 q9 k
|