|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录
: ^( s. W, @9 F+ V( W. W. v9 t: F第1章 ARMv8简介. 3
. j" [4 D( n/ J1 j+ C1.1基础认识. 3
% j+ G. H) ^' p7 P9 I1.2 相关专业名词解释. 3: c8 a ^: D9 ?9 T3 n
第2章 Execution State 4
! F2 K4 l- _5 L) S, w7 |$ r1 e2.1 提供两种Execution State 4( Q3 z6 F) B0 |' Z& Y
2.2 决定Execution State的条件. 4
. S' j, i8 |0 @/ Y( _7 N0 g7 T第3章 Exception Level 5" q( D& A$ J: Z! X
3.1 Exception Level 与Security 5
' K' E! j* {4 w( V3.1.1 EL3使用AArch64、AArch32的对比. 5
+ Q) V! `# k3 r, K: |$ D3 M. J1 i3.2 ELx 和 Execution State 组合. 6! Z& s8 ?: ~1 I3 t3 |" r$ n
3.3路由控制. 7
0 i" [0 H& Y% F6 a# O3.3.1 路由规则. 7
% U9 r7 k+ l7 u }7 [8 r1 Q9 h3.3.2 IRQ/FIQ/SError路由流程图. 82 T" q; j3 k: y# @" d5 \! X
第4章 ARMv8寄存器. 9
7 I- m: p' i3 @5 ~4.1 AArch32重要寄存器. 9
1 Y$ `. a( [; c: M% @' O; @8 w' z4.1.1 A32状态下寄存器组织. 10
3 a p/ W7 q) P5 D" d0 j# I- S7 U4.1.1 T32状态下寄存器组织. 10" z" j4 r/ t5 ?" ] I2 C$ k& a, i
4.2 AArch64重要寄存器. 11% O* n% E9 w! [3 P/ ]& ]
4.3 64、32位寄存器的映射关系. 112 e8 v0 C8 `% i: X
第5章 异常模型. 12
; e1 i. D* R! L' ^! ~' U! U5.1 异常类型描述. 129 z& p; t& l0 W0 n+ l& A
5.1.1 AArch32异常类型. 12
$ Y" S! l0 Q9 ^5 D2 R, H5.1.2 AArch64异常类型. 12- S: v& i9 Z& ^
5.2异常处理逻辑. 130 m' O. d' Y- B+ c2 N! G$ J# p
5.2.1 寄存器操作. 13# l, ~; B1 R7 E G
5.2.2 路由控制. 14+ @# D3 Y; b) S! {( K
5.3流程图对比. 142 p. S# N& z0 |+ n7 d
5.3.1 IRQ 流程图. 15
3 K% a# l& H* }9 r. {5.3.2 Data Abort 流程图. 181 Z& H0 U& q0 H" e
5.4 源代码异常入口. 20: V; @0 q V+ J4 J
5.4.1 C函数入口. 20
4 N3 }3 w% C+ S* e/ Q4 l W8 v6 G5.4.2 上报流程图. 20
4 u0 T$ W) | P2 Z4 |1 O% K# L5.4.3 异常进入压栈准备. 21
! K+ Y2 H% @3 t; R" r0 P( W5.4.4 栈布局. 213 S" ?# N( E1 Z+ t
第6章 ARMv8指令集. 22; P) e+ z$ b/ a+ X! X: o: r$ p
6.1 概况. 22
2 C- o/ E+ ]/ m6.1.1 指令基本格式. 22
8 q E1 z. \7 `2 F% `: D/ G1 j0 k6 D; G6.1.2 指令分类. 22
. K9 n3 Q8 n/ p! Z8 a! ?6.2 A64指令集. 22! f }; f4 X6 S6 L# m2 t
6.2.1 指令助记符. 23
' l* C2 I' ^/ Y) H- W. r6.2.2 指令条件码. 23
8 b/ J5 X( m# n. |6.2.3 跳转指令. 24
8 N) X* y7 m9 |2 v" v) g% ~6.2.4 异常产生和返回指令. 24
; f B1 |! q, F, Q6.2.5 系统寄存器指令. 24
3 F6 l: }: U+ h. R9 }) L0 t* I! P6.2.6 数据处理指令. 25: }% c$ { a5 @5 J1 p' o
6.2.7 Load/Store指令. 27
8 l* O+ W0 J$ W6 U$ T6.2.8 屏障指令. 31# _5 z( B! f' g# ?% O' f# a
6.3 A32 & T32指令集. 31
9 E9 G1 m7 E; o9 D6.3.1 跳转指令. 31
# B: H) T7 G6 M! P: t7 Y# n# O6.3.2 异常产生、返回指令. 32- }) ?- x- g% u( ]8 q
6.3.3 系统寄存器指令. 32
+ j2 P3 [% B& [! W5 F6.3.4 系统寄存器指令. 32) p# F% @/ l6 y( {
6.3.5 数据处理指令. 32" D" O: k L- C3 Y/ O3 y
6.3.6 Load/Store指令. 32
% W+ E( d& e" S" @6.3.7 IT(if then)指令. 346 i2 ?) U c8 a v8 T& } i
6.3.8 协处理器指令. 34
2 ^/ ~% m/ z' H9 C: }6.4 指令编码. 348 Y( U; m0 u8 j5 w6 O) ]# P
6.4.1 A32编码. 346 B0 v6 X! ~+ _& X$ a
6.4.2 T32-16bit编码. 35% N2 d3 u8 G' J/ G
6.4.3 T32-32bit编码. 35
- l! y- s+ {& z; m' C6.4.4 A64编码. 35: t; E" ~- w- g+ d( L% r: i
6.4 汇编代码分析. 35& P4 B" i# i2 @$ |' N' C2 F) b1 g
第7章 流水线. 36
4 J. ~. O1 y9 E2 G- y7.1 简介. 36+ Y9 `5 W$ d6 ?, h* H
7.1.1 简单三级流水线. 36
0 P* i) m" u+ g% h" a9 s7.1.2 经典五级流水线. 36' d% N% U" u3 D1 X0 e- m$ a( U r
7.2 流水线冲突. 37+ r7 h; g6 g m" X! e/ n8 |
7.3 指令并行. 37
& Y9 y' Q( T, U5 g" M) [
$ T* B; o' V3 `* |; ^2 J$ \; j% l9 q: o/ |0 t
, G9 t' ~' f) N
9 R3 F' L0 x n w' ]: w
! n' n% l( N& R' X" N4 i第4章 ARMv8寄存器
" i& W0 z( z' |5 }9 P! P+ u: D: D, r7 |
9 s/ k% x- U& [6 p5 w. T) i, _0 P
寄存器名称描述
; P7 C3 L* S3 W+ |" J
% B2 t: c% _( D7 I7 Z% ]: t4 d- {% [ a
6 X) W: i: }+ B; ?' e$ s$ O. E
7 _- K, H* S7 |; `' \% ~# {# }5 d0 [3 z9 r$ S; n
4 \) {4 a3 A. a9 [1 x- \0 r! t4.1 AArch32重要寄存器2 k$ ?5 S- R9 V+ c" M* T9 X
9 V" b3 L* D# n9 }: c
* Y9 ?, z# ~0 n) c# m& [9 Y& v) Z2 Q
$ o8 Q, ?3 S" D# _3 [6 `7 O
, t/ m! `7 @% a0 I {" ]9 l! r. O. @
; A2 Y6 l; H4 }& |$ q% }- `
4.1.1 A32状态下寄存器组织
6 v8 [( A( o k
. F5 @0 p7 c! V7 c' Z
5 }" Q3 r1 m# Z% Z* c
! R* e3 h; p8 M6 o; S 4 Y3 R R( |; B8 Z2 s. l2 n6 Q
& M7 m: H; c' J$ I% V5 Y! M/ w
9 E- U" `; E% f4 e7 {3 j+ ]7 I; {
$ N( m/ l9 g- d' \( Q- N. G9 M; e
, w( c- a' `9 y& j) y6 N: }; C ~, M& [1 N6 s8 K8 n0 f# C
: n' E: m4 H" N3 A( H2 p+ K
/ z4 n* K1 o8 P) e o) s+ R# n y: ` |
|