|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
( F5 ?* B! b/ B- e" F8 j; ~0 P2 A% C" y" f M$ {6 p
目 录
8 j) \7 I; d6 a! X" ^第1章 ARMv8简介. 3$ U7 m5 V, d6 o9 ]% p. T4 W
1.1基础认识. 3+ m" G' o/ k: C1 c( ~* l, W
1.2 相关专业名词解释. 3
9 J8 i( k) A5 r第2章 Execution State 4
0 z/ g; c$ D% v1 r; L- @8 Z2.1 提供两种Execution State 4
6 V Q$ [& f' x% p; Y: ~2.2 决定Execution State的条件. 4( ~( L& u8 E0 `2 J( B( j% S' e
第3章 Exception Level 5
' Q! a9 m: c, d& x: d! k3.1 Exception Level 与Security 5
1 i4 D! z9 w3 A1 Z# [; e3.1.1 EL3使用AArch64、AArch32的对比. 5
& W8 f) J9 f! x( [4 ]3.2 ELx 和 Execution State 组合. 6
' v/ t, g A+ r+ [$ T" ]3.3路由控制. 7$ ~1 r3 U2 X. o' ?7 @" d
3.3.1 路由规则. 7
6 J: a$ V# k e0 q7 {3.3.2 IRQ/FIQ/SError路由流程图. 8
2 @* O; U k: I) [) h第4章 ARMv8寄存器. 9- j6 z/ J+ Z8 p& m, ^! C
4.1 AArch32重要寄存器. 9
1 l7 u8 d9 l0 I+ P! X# G4.1.1 A32状态下寄存器组织. 10+ o1 D* c: U1 m2 f& Z, K& y$ W
4.1.1 T32状态下寄存器组织. 10
! ~+ v! L& K- Y1 F4.2 AArch64重要寄存器. 111 `# p* U4 J, o) O1 p5 p
4.3 64、32位寄存器的映射关系. 11
/ ` V; Y$ j' P6 g7 ?第5章 异常模型. 12$ v5 y* K6 d% K
5.1 异常类型描述. 12. T- g0 D0 f' P+ Y8 W; o0 H
5.1.1 AArch32异常类型. 12
& B% R) H" z; E, l0 Q0 i5.1.2 AArch64异常类型. 12
$ L/ _. O" `4 P8 R5.2异常处理逻辑. 135 ]9 T% ?0 f# m0 Y; D
5.2.1 寄存器操作. 13
% `- Q1 R9 [9 z# `: B$ c5.2.2 路由控制. 14
1 L) _( X% Y1 @ D" A5.3流程图对比. 14
- L$ u, \$ G. R4 S& B" k2 T5.3.1 IRQ 流程图. 15
( z0 \7 a8 q" i& N4 w. U" A4 V5.3.2 Data Abort 流程图. 182 W4 c0 D7 c7 F* ^$ S
5.4 源代码异常入口. 208 _. w2 y k2 m! Y$ O- c/ D! M/ ^
5.4.1 C函数入口. 20
5 I0 e# _' ~& I/ l4 K0 N5.4.2 上报流程图. 200 f6 P& I; C- u! Q& `5 ]
5.4.3 异常进入压栈准备. 21
- s* l( l* D0 L1 ^, x& P5.4.4 栈布局. 21
6 Z! v k9 I5 }) K' X第6章 ARMv8指令集. 22
+ [. M6 K: l. V7 p# u/ A6.1 概况. 22. v: p5 u/ T+ l) e4 }8 U
6.1.1 指令基本格式. 22
# f" r6 L& T8 t6.1.2 指令分类. 22! u& g& z$ x a- \) \* _1 Q3 i
6.2 A64指令集. 22: w, ^1 N4 M! Q1 s" T
6.2.1 指令助记符. 23! d; F& J N/ j3 o# [1 r# }
6.2.2 指令条件码. 23
5 R2 i* Q5 `' `- J5 p- I6.2.3 跳转指令. 24
( v; a9 X; V# t) G) y6 j6.2.4 异常产生和返回指令. 24( R. s- Q" o& p- q
6.2.5 系统寄存器指令. 24 D0 y$ B5 i( h9 q+ G3 v" V" V6 U
6.2.6 数据处理指令. 25
4 |. y c1 d. S2 X* O6.2.7 Load/Store指令. 27
4 i. f5 J6 z2 G) r* q6.2.8 屏障指令. 31
% t g$ ]# W9 W6.3 A32 & T32指令集. 31& s( L* p: ^5 K" C
6.3.1 跳转指令. 31/ Q K3 ]; _' u: U! C$ E, B
6.3.2 异常产生、返回指令. 32& Y5 D2 m& ]4 R1 u5 f! y
6.3.3 系统寄存器指令. 32: j* _; x" Z9 \: R J( g( Q
6.3.4 系统寄存器指令. 326 D/ X* d) _! H9 h+ o0 m7 Q4 a
6.3.5 数据处理指令. 321 E4 g/ l7 p2 @+ L
6.3.6 Load/Store指令. 323 m8 p* M0 E. ]
6.3.7 IT(if then)指令. 34
/ `2 u$ s5 h( _+ r9 n( o" ]9 B6.3.8 协处理器指令. 34 b! z/ O, ` f
6.4 指令编码. 34
+ M& B! o; E! b# C6.4.1 A32编码. 34
% u. _. O9 u. N9 v$ M. U7 @3 v3 d6.4.2 T32-16bit编码. 356 ^. l$ N5 d7 ?% F
6.4.3 T32-32bit编码. 35
9 i0 w( x: P' ^! F" q6.4.4 A64编码. 350 A$ u( v2 q. q$ P& t+ m% X
6.4 汇编代码分析. 350 i$ q4 t8 A& P+ p+ B9 x
第7章 流水线. 365 p( i( D5 }( D# U
7.1 简介. 36
6 G% O5 n" [( }6 q- l, b x7.1.1 简单三级流水线. 361 u; m$ {9 y) G) F6 J1 y e
7.1.2 经典五级流水线. 36
9 {- }. Q% P% J5 C% ~1 v& y1 E7.2 流水线冲突. 37% E) w/ z! {% p, p
7.3 指令并行. 37
4 H, S% {) ^. Y' F8 W, `
* o ]( o3 u" ]: |) x
; I3 J2 }8 g- p0 V& `3 {- i- x7 T! q; b" q" j4 {+ p0 C- T
% C3 h/ n' E& s5 c& |0 Y* T
4 u: Y" _8 Z' m2 M1 f
$ O3 x+ e. R! e' l6 I2 [6 A第1章 ARMv8简介
3 l) @" Z% U% W t5 l
3 p x. R/ N/ B: _+ j/ `1.1基础认识
/ d1 R) s) w% R% o0 U. y# A! m. D2 O. V6 u2 m U. u% Y8 R& r7 N/ _# j
8 _5 V3 m3 v6 J8 qARMv8的架构继承以往ARMv7与之前处理器技术的基础,除了现有的16/32bit的Thumb2指令支持外,也向前兼容现有的A32(ARM 32bit)指令集,基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持。
2 r, V- y& z$ q/ R+ a) e* m5 l2 H' e0 A' J, U/ U
$ I2 B$ |* e$ j8 P1.2 相关专业名词解释0 v* w! Q( B4 ?- K. |# U. F, i; Y
$ W3 K1 [5 t4 S, N
% u0 B: Y# y$ W/ nAArch32 描述32bit Execution State
8 k5 c- W( a% U N2 V8 oAArch64 描述64bit Execution State+ c' R: K- u+ d7 J
A32、T32 AArch32 ISA (Instruction Architecture)4 F. ?3 Z7 {( m3 a- x4 q* a% G. N
A64 AArch64 ISA (Instruction Architecture)
( X' ]# l8 w4 Z; R, @ @Interprocessing 描述AArch32和AArch64两种执行状态之间的切换
# g' i" ?" E) f1 Q1 O+ U; x: p& wSIMD Single-Instruction, Multiple-Data (单指令多数据)/ @! O; f" I1 x
$ F" c# I) h q$ a1 B+ _
3 l: E5 b3 t8 F4 K(参考文档:ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf)+ V- D& f5 y2 w- e- t
" S' J1 K+ f( H6 w+ O: }, }; j
- ~! A* Q( b2 e& z% Z第2章 Execution State
3 h/ @+ I2 s! i! b0 i; Q' \2 [7 \' E$ I9 q0 Z& E4 V& ^3 [
$ |; l3 f) h! R) _- V+ R) X5 t
6 l5 C8 _' R0 Z6 c
$ \0 s: P9 x, t' Y5 }2 Y& k, N: k) |! ?2 H
4 {) i6 z* \' ^& {- ?8 F- Y
8 ?; M, T: ]- m+ g O
# r/ H% G' m2 F8 L9 l/ L2 ]/ x+ i! O5 X6 w5 q" h( o- z' [
4 E7 l0 q& Z! R* I6 V3 ]
* O, s7 k9 c0 L/ S8 K3 Q
- O, Q Q a0 B1 [2 c2 j0 S
( z5 `6 s* q% Q" n+ f' C& r4 M5 N; D0 d: U" Q, g) b
|
|