|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录
3 G4 f4 b9 e3 n& x3 J1 X第1章 ARMv8简介. 3* Y0 ~" U6 X3 Y4 [( ^6 c
1.1基础认识. 3. x- T+ O3 ^" [! ^7 u
1.2 相关专业名词解释. 3. Z! Z% |# [% E8 H3 p% i
第2章 Execution State 45 C9 k5 f* N5 H. z
2.1 提供两种Execution State 4
3 u& s$ p V! y2 C2.2 决定Execution State的条件. 4
5 F% w- J& n' {" r* ]+ s5 i/ G第3章 Exception Level 5
4 {( ~: \# k' p, {! Y3.1 Exception Level 与Security 5
2 K& i" u; R; |( \6 q3.1.1 EL3使用AArch64、AArch32的对比. 5
, ^" [! r: K6 V5 x7 }( c) T' M! B3.2 ELx 和 Execution State 组合. 6) F2 V( J1 I9 g. [: c/ S
3.3路由控制. 7
5 V! I7 E' @7 `5 q' k, m: J) {5 T* ?2 a3.3.1 路由规则. 7
( G! o5 K$ p" s( C2 J3 |3.3.2 IRQ/FIQ/SError路由流程图. 8* E) Q0 a- i4 M. z, h2 @0 g% ]
第4章 ARMv8寄存器. 9
' d/ E0 M3 M' a: o4.1 AArch32重要寄存器. 9" a; K" o' W2 D) K8 f
4.1.1 A32状态下寄存器组织. 10
$ `6 w' u, P8 n+ O2 Q$ t4.1.1 T32状态下寄存器组织. 10
5 h# U& [" I j# n4.2 AArch64重要寄存器. 11
3 v1 I- \, V) u6 f% j3 F" u% K4.3 64、32位寄存器的映射关系. 11
: l0 _, L9 |; F7 r% h/ f/ X第5章 异常模型. 12! T% v2 i. I% L- j3 @
5.1 异常类型描述. 12! Y" Q$ [& q" P( N% L* q
5.1.1 AArch32异常类型. 12
/ V! ]( K& p0 F5.1.2 AArch64异常类型. 12! ~$ Q# _ |; l \- \+ X
5.2异常处理逻辑. 136 R x. Z: ~0 O1 B2 X7 x- m5 w
5.2.1 寄存器操作. 13
) l% e) S( e8 ~. q6 v8 U5.2.2 路由控制. 14
' w/ a% D2 T; Y5.3流程图对比. 14% H& j' l8 P* b
5.3.1 IRQ 流程图. 150 W& K$ O+ V8 x8 }
5.3.2 Data Abort 流程图. 18; v3 [9 H- d5 ?* I" [
5.4 源代码异常入口. 20
3 |8 K2 C+ W( \4 z5.4.1 C函数入口. 20
* y5 I# _# j* X+ J; g5.4.2 上报流程图. 20( j3 O+ Y3 L9 a) g M3 q5 w
5.4.3 异常进入压栈准备. 216 B* J8 `1 U3 j0 O
5.4.4 栈布局. 21/ b: Q% x8 a/ U% @! h
第6章 ARMv8指令集. 22( U" ~6 W) f1 j$ x
6.1 概况. 22
5 u6 z( k7 X3 R2 r# ]6.1.1 指令基本格式. 22
: |- E. U* I! [" H6.1.2 指令分类. 22
7 Z9 {" R6 y8 o8 N& S6 Z1 M2 g6.2 A64指令集. 22$ g/ Y# L+ I" X$ o- B6 `( `. Y0 u
6.2.1 指令助记符. 23
9 G# F" v* O+ @0 f: k6.2.2 指令条件码. 23
& k& s" \. k8 u2 b- t5 Y6.2.3 跳转指令. 24 B9 T- w& Q9 j& p" \. e' k
6.2.4 异常产生和返回指令. 243 f9 o1 D! J/ Q! S6 o" C% T
6.2.5 系统寄存器指令. 24
5 U: I/ L6 u: g1 \$ q6 I# E/ B6.2.6 数据处理指令. 25, H+ K. T) ]# V$ \7 J
6.2.7 Load/Store指令. 27
& B, e4 l) B, T& o3 ?; Z2 w6.2.8 屏障指令. 31
! R, ?! X% R" X/ T. @6.3 A32 & T32指令集. 317 ^; |" T. S( P0 ]: f8 ]# m4 A
6.3.1 跳转指令. 31
3 S. k/ o5 W" W' c7 @6.3.2 异常产生、返回指令. 32
: F. q" j2 K3 N6 d7 d2 L& ~6.3.3 系统寄存器指令. 32
! z; k7 y: d) w8 A) V' |# w% ?6.3.4 系统寄存器指令. 32; t4 |1 {. q# N$ @
6.3.5 数据处理指令. 32
8 Q+ W: J* e! E# H6.3.6 Load/Store指令. 320 z6 }% C, n0 m7 ~1 s: O7 L
6.3.7 IT(if then)指令. 34
! e5 u$ T( ~( r3 C4 F, g6.3.8 协处理器指令. 34
. c, z& o" f' `/ s5 G, M6.4 指令编码. 34
7 m3 F$ m0 J3 g- W: k# i6.4.1 A32编码. 34% d& w, i* j6 D
6.4.2 T32-16bit编码. 356 Z- |0 T" M( K# @6 O5 N2 {
6.4.3 T32-32bit编码. 359 k/ x# ^3 ?1 m2 O+ b4 [
6.4.4 A64编码. 358 R/ u9 I! z. P) _
6.4 汇编代码分析. 356 s# T0 R3 y( H( Y
第7章 流水线. 36& m. U+ g* i% B7 n% n2 F
7.1 简介. 36' I+ V M3 h+ o' ]2 K: @
7.1.1 简单三级流水线. 360 e) [; `; g! E
7.1.2 经典五级流水线. 36
2 T& Y3 c( B8 t" x7.2 流水线冲突. 377 \' E4 n6 E/ D! d. J3 q
7.3 指令并行. 37
# n- x P1 M7 h7 _6 o; T. ^8 P% A: W
; g& J% x9 `2 q+ D3 }
# e% v6 h; l& ]# A5 z
3 k/ u7 Y. o! T* s) j
8 k6 i& _8 R: k0 s; ]7 z o) O5 W( m |
0 U" t8 C$ @" \5 B! C! r3 r3 Y第3章 Exception Level- w. Z1 v5 y. @
* d1 i/ k# j+ |9 R0 s
. f; c% g- {$ Z! W1 w* ~7 `' N• ARMv8定义EL0-EL3共 4个Exception Level来控制PE的行为." z# \) ?+ D( A- g, O; |
) ]+ E* s* X. G+ X" S
% g# V5 T, E% W3 G
" t. C" b& A6 V/ c
8 }! C, t% ]$ ]- y3.1 Exception Level 与Security
+ Q0 P. N0 ?/ X8 U/ @; Y$ p6 [- g4 e; y* \
4 O# n6 {6 T: p' k! b" u
7 Y! O8 x) [6 x3 z) {( U" u
5 M) `. X4 i) J3 F. { ; q! y) c/ H: v: G
3.1.1 EL3使用AArch64、AArch32的对比2 W% T, p3 @+ \* H6 l* k( F% w
8 Y$ }7 ^' I' e' i {; _+ _
. c4 b6 J, r @% E% V; q8 A
3 A/ l5 W6 d4 P
* y% W1 i" c u9 ~, p) h& o6 d
) O+ e. G9 g8 l0 h& r9 _( k' w! }, O% C, v, v# J- i
7 U! E3 w( ?- y' z# M0 d" F! j
$ z/ |. t7 y5 z- t+ Z$ ?; N. q2 }2 I
|
|