|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
目 录
% F$ _4 e3 H, Z" q' s7 ~2 o第1章 ARMv8简介. 33 K) W" l3 s+ q- p5 g9 G) ^# s
1.1基础认识. 3
7 b9 p$ }5 m) }+ C/ ?) m) C% a1.2 相关专业名词解释. 3
) X) \' V7 |/ Q: s& }+ b+ x6 S E第2章 Execution State 4
# s* s0 K* [' a$ l. e& a2.1 提供两种Execution State 4
0 B7 h# j d/ R/ a! n4 ~) b2.2 决定Execution State的条件. 4: [0 m' K; |5 z! Q
第3章 Exception Level 56 {! C4 [, V5 J; r! G* O! {
3.1 Exception Level 与Security 5$ ?' }. x9 u0 E1 l2 a/ w# P
3.1.1 EL3使用AArch64、AArch32的对比. 57 H# a# o. m! b/ {3 s8 l
3.2 ELx 和 Execution State 组合. 6
+ K6 Z$ j q) c* _1 i8 N3.3路由控制. 7
7 |7 L" q e: X* z& {3.3.1 路由规则. 7
6 ], C! l2 @, M; ?9 X3.3.2 IRQ/FIQ/SError路由流程图. 8- c8 Z2 J. D- U, v' C5 p
第4章 ARMv8寄存器. 9
' z+ l- l6 u, Q2 j7 b3 p6 I4.1 AArch32重要寄存器. 9
! I) V6 e: g0 I4.1.1 A32状态下寄存器组织. 10
9 s5 n0 U' v( M! `4 d4.1.1 T32状态下寄存器组织. 10
* e3 y! ]$ @5 n/ T( y8 ~( S; S, {4.2 AArch64重要寄存器. 11* t% y: |, e+ J; A: N N
4.3 64、32位寄存器的映射关系. 11
3 x% A0 z0 b& k- e% K第5章 异常模型. 12
/ j8 w$ f! ? t) @, d$ u. h5.1 异常类型描述. 122 `$ g. t3 N0 a1 l
5.1.1 AArch32异常类型. 12
: d h4 J0 I' h. h/ W, Y5.1.2 AArch64异常类型. 12
; ^3 t8 x( w, [& ^: s1 j* M* {5.2异常处理逻辑. 13
8 {) I! x+ \& E' H. m+ L1 u5.2.1 寄存器操作. 13
, C3 Y% m: t: q9 }( R T5.2.2 路由控制. 148 s( k( X, m( U
5.3流程图对比. 14" ]' Z9 ], D8 P& t$ t
5.3.1 IRQ 流程图. 15( A/ ^7 I( x0 X
5.3.2 Data Abort 流程图. 18, m' ]+ z+ |+ k9 N: o) h2 j# j$ G# e
5.4 源代码异常入口. 20/ Y: J; ~5 x: I8 B3 w1 G
5.4.1 C函数入口. 202 c) G A. e+ W2 a* r6 K/ J" O
5.4.2 上报流程图. 20
0 `2 l7 O6 L3 K; F; n* k5.4.3 异常进入压栈准备. 21
' j/ }8 R8 H+ {+ c5.4.4 栈布局. 219 h" O9 m6 v/ j7 D* H3 w2 a
第6章 ARMv8指令集. 226 d: J' n- K( k- _
6.1 概况. 22) L C! R/ H; g6 w! m* ^
6.1.1 指令基本格式. 22
& _4 Z+ I. ?! j% ^6.1.2 指令分类. 22
2 a0 z: \* T9 z2 Q6.2 A64指令集. 22
' p# c+ N; {' g: L2 Y$ j. O/ A6.2.1 指令助记符. 239 ]( G, L* [' Q F
6.2.2 指令条件码. 238 Q& L2 g8 q" O' g! _1 |0 ]) M
6.2.3 跳转指令. 24
7 ?0 A# y8 i' p) c- w# d6.2.4 异常产生和返回指令. 246 l2 H" z5 w# p
6.2.5 系统寄存器指令. 24
$ d9 p2 {8 a8 R6.2.6 数据处理指令. 25
$ f! z" h6 a& w! q2 ?1 d6.2.7 Load/Store指令. 27
K% ]0 h# x& Y9 ?6.2.8 屏障指令. 31
& K6 ^# Q3 B! n. f( {9 L9 D1 I6.3 A32 & T32指令集. 31
9 p g) s. n5 X4 r6.3.1 跳转指令. 31: w; I& c: J5 p
6.3.2 异常产生、返回指令. 32
: {- A4 P. D$ ^: C: I2 ?6.3.3 系统寄存器指令. 32
6 S) Z3 ?6 J, s1 k6.3.4 系统寄存器指令. 32! v0 _; P- z& \; B* R1 Q
6.3.5 数据处理指令. 32
8 c; ^ v* Y" _( P" h8 P4 _6.3.6 Load/Store指令. 32
2 ~' Y& p4 F. k6 T+ C% Y5 A6.3.7 IT(if then)指令. 34
9 b& S. A. U7 r0 C1 u6.3.8 协处理器指令. 34
3 |( ^1 {. d4 P% @0 g6.4 指令编码. 343 f6 U8 q, D* f. L, J
6.4.1 A32编码. 34. `& n; G5 h) V
6.4.2 T32-16bit编码. 35" [9 U* L7 B F& c; M4 g, X& Y
6.4.3 T32-32bit编码. 35' [- R- P0 N: t. R4 H
6.4.4 A64编码. 354 h9 G: g1 O( ?5 L
6.4 汇编代码分析. 35
7 @9 e1 ~" `* F) r0 I' \' N7 K第7章 流水线. 36" w4 b1 \* ^' p( _' N m7 J4 c' H
7.1 简介. 36* s6 F7 P h7 Y) {
7.1.1 简单三级流水线. 36
* Z0 t8 `, d0 R2 m0 u7 Z( Z- J7 I! W7.1.2 经典五级流水线. 36 p- k' R0 _( C% U- M- q& V
7.2 流水线冲突. 37" ]% p3 _9 ^3 C0 j- U+ F" R
7.3 指令并行. 37
2 ~. R% r# Z5 e8 e
5 D- F2 t6 J" Z+ H: M" R
* ?& a6 F( N y( F4 B; A9 I1 j: U8 N4 S/ ?3 R3 Q
# P n8 G' [" I# W; h! g
9 X/ o0 ]1 D' i2 S* E第4章 ARMv8寄存器$ b2 K o* N) r) }' l. o
2 {$ J2 y% y4 }
7 s2 p2 K$ }$ b6 k寄存器名称描述0 \* ?, f+ L& {" d- ]# C0 [" \+ j
7 Y1 g( |9 o* ]# i$ V* s" @
& d- ]! t3 e8 y- Y& `
( h8 M# H* q/ G E# T) M' d$ I: r! r3 C2 o& o6 |4 r5 t
" G* F+ R5 E1 R o- j5 W4.1 AArch32重要寄存器
! e$ a r0 N, n1 e: k, Z9 C k5 E0 O6 ?
* v0 z6 ~. N4 X/ F$ C
A& x$ H1 l7 t M* m: I% ?" e6 G; x4 m
" u: A }( M# Q+ ~( ]2 [4.1.1 A32状态下寄存器组织5 J. v# f- M- l: D% U: }9 x) q
3 l2 k9 _- H V' ~7 r+ B/ H% \
7 @+ {; z: E+ m
4 Y8 A5 Q5 l6 u
0 Q0 C- i7 z6 r1 S: w6 }( A* i
0 f6 `% Z Z2 w0 T, I* D6 Z6 v
3 _! s9 `/ Q0 K# |. }- c# U5 L 1 f. o( P" F5 ^3 ~6 n' @, }
. o) j. v( u6 ?* L* ~4 J
$ H2 j. E6 Y* M! i
2 K# @6 e' E8 x/ _1 X( N5 E/ @3 N
% `& y+ H1 k1 h( t! z |
|