EDA365电子论坛网

标题: ARMv8 架构与指令集.学习笔记(3) [打印本页]

作者: mytomorrow    时间: 2019-6-28 10:26
标题: ARMv8 架构与指令集.学习笔记(3)
目 录
0 M4 s. |) n* ?$ D第1章 ARMv8简介. 3/ q% Q7 i6 T& {. x
1.1基础认识. 3
- ^' s! a# @; b4 d+ m  [1.2 相关专业名词解释. 3
# u- S, Z1 V) n' x- s第2章 Execution State 4! Z" i2 S+ N# C
2.1 提供两种Execution State 4: ~7 B% q6 k' {1 o
2.2 决定Execution State的条件. 49 o; d. Y4 q# \4 M& E0 ?$ p
第3章 Exception Level 5; x& i: z& e  D# S! q/ i
3.1 Exception Level 与Security 5
( B5 x, x% `6 N3.1.1 EL3使用AArch64、AArch32的对比. 54 M8 J# y' R7 Z! D* a
3.2 ELx 和 Execution State 组合. 6
. y0 L3 @- @( u" G6 [$ J" d3.3路由控制. 7/ B% ?+ o/ C6 x/ W" K
3.3.1 路由规则. 7
( d8 k( r& ^. j) c9 u3.3.2 IRQ/FIQ/SError路由流程图. 8
6 P4 m1 j; w5 w' ~第4章 ARMv8寄存器. 9
* a' W, r, x: n: E& f  [6 v5 t$ c4.1 AArch32重要寄存器. 9$ R/ i3 j9 u5 \( u0 f
4.1.1 A32状态下寄存器组织. 10& D- T/ D' c# {
4.1.1 T32状态下寄存器组织. 10( R  E  S( k3 \* n6 J2 v- _( P
4.2 AArch64重要寄存器. 11
/ n4 J0 X4 F5 @1 g, ]3 M' u4 l8 x4.3 64、32位寄存器的映射关系. 11
+ ^% u8 n3 s! k  ?# N( M# S, F
第5章 异常模型. 12
6 w& }5 w4 v  ~" l5.1 异常类型描述. 12% P. X; i! s9 o4 P' X5 _7 O
5.1.1 AArch32异常类型. 12
" v6 `- J  g' ?! r# j5.1.2 AArch64异常类型. 129 ?! g6 p: r8 t$ K
5.2异常处理逻辑. 13
0 a0 D0 ?1 S6 G0 d) W5.2.1 寄存器操作. 13
: X  i+ H# a. f1 |5 K  Z3 ^5.2.2 路由控制. 14
5 @0 B% G2 y" E: w* |5.3流程图对比. 140 v1 _; A6 ]% v4 q. ~( E; z
5.3.1 IRQ 流程图. 156 F) j& L4 ~) T  d4 }
5.3.2 Data Abort 流程图. 18
$ p6 v6 P; Y/ i0 Q5.4  源代码异常入口. 20
7 a- a- M* k, _. y: ~6 g5.4.1 C函数入口. 20
3 ]7 R/ e% t6 \4 j: c, y/ B4 C5 R, _5.4.2 上报流程图. 20
9 @9 e9 `* L; d! Q+ ?( Z( l. c5.4.3 异常进入压栈准备. 215 g3 `) i. o; m9 i: E; U
5.4.4 栈布局. 21
+ l. w& |1 l# v6 a第6章 ARMv8指令集. 222 J  L6 i5 o  s  W; Y
6.1 概况. 22
! u6 L# H9 ^' G. F6.1.1 指令基本格式. 225 Z' R( ?- k; y
6.1.2 指令分类. 22
, o& E/ K5 l# E3 R6.2 A64指令集. 22$ ?2 @3 `$ x# ]8 t# W2 d! n2 D  ?
6.2.1 指令助记符. 23
- [3 }) A/ q% }' n2 x  x1 @& \. k/ j7 b6.2.2 指令条件码. 23
( @9 B. P5 V& b: r. j2 Y& E6.2.3 跳转指令. 24( U8 q  b+ Y: W+ ?# A7 t
6.2.4 异常产生和返回指令. 24; i" n# L8 J7 p, f
6.2.5 系统寄存器指令. 24
* S4 D) j% G  h7 h7 U  S: {6.2.6 数据处理指令. 255 Q+ `0 A$ H6 X( V
6.2.7 Load/Store指令. 270 z! o; }/ U( Y
6.2.8 屏障指令. 31
3 L9 A1 t; q+ ~2 R0 {4 U/ H6 X0 l6.3 A32 & T32指令集. 319 p% ]* Y/ U, o/ s
6.3.1 跳转指令. 31( ^" D2 O/ m1 ~* Y
6.3.2 异常产生、返回指令. 321 f, o, N* M! `' d* b: O  v0 m
6.3.3 系统寄存器指令. 32$ ~5 }4 R7 d) ]. x
6.3.4 系统寄存器指令. 32, V& Z4 S* f+ O/ k8 X
6.3.5 数据处理指令. 329 J: p$ o) `$ I2 e
6.3.6 Load/Store指令. 322 E2 H6 G' {) G
6.3.7 IT(if then)指令. 342 e" n/ \( i4 {% f
6.3.8 协处理器指令. 34  A- q5 [: F, A( e3 A- ~0 ]5 g
6.4 指令编码. 34, L3 Y/ \9 c3 a: j
6.4.1 A32编码. 34. ^) Q, a3 h! o0 P9 I. `6 p
6.4.2 T32-16bit编码. 35) l- T% @9 a+ C6 ^; ~  J, h
6.4.3 T32-32bit编码. 352 M: ^% W9 l/ Q, D
6.4.4 A64编码. 35
4 Z* ?- ?4 w" T" T) s6.4 汇编代码分析. 35
0 A9 N3 W3 V$ a$ _+ h9 h2 d* s第7章 流水线. 36
! _( K! L5 Q3 W! ^0 V4 g7.1 简介. 36: w6 M0 K9 z, O  E$ j  U, ^
7.1.1 简单三级流水线. 36
% t, R1 L5 H5 ^( K1 n7.1.2 经典五级流水线. 36
) n, {' m6 m' j4 W, Y/ e' K7.2 流水线冲突. 37
& ]2 ~4 M- C/ ~+ Y% [7.3 指令并行. 37  f$ d/ {. G7 K# |. l: P

7 ?4 e# g* S) b8 C. e9 \9 g: f4 T2 j) s

  y8 t$ |' x4 U1 ]5 I
3 s5 F/ E4 a7 B$ E# p3 ]7 o5 E+ b2 A: t# C! d
第4章 ARMv8寄存器0 x8 A/ r* ?  t  [' J) Y
) @; O# X: o% L" l
6 I" t2 p: e' {
寄存器名称描述+ b: v, f2 l' {: {- _3 l
3 M+ s* [  y; w' n, k6 O: W

6 u3 S# l, D& C, E3 P  e* J3 |  g & F. C! x, t4 c( t# R
% v0 n8 d" j, ^4 k6 J& z' F* _% h6 w
9 l* k/ S$ d9 E: r; i
4.1 AArch32重要寄存器0 F; u+ L, l. G: O' W  }+ A8 f
9 J& H6 F3 g/ f
! O7 q% G& R" E" C
  E+ l, {1 W# m6 M, @
, i% G6 J2 Z; \9 q5 G
0 ^! P- X, j* g9 T5 Y3 ^
4.1.1 A32状态下寄存器组织/ S* P1 \8 P: ~6 j4 ?$ ]

1 c& O6 j0 f( T+ J/ t6 n

6 p' ^- {: s8 d: d) B7 f1 v9 D: e% o0 v2 ]; {- W) ^" j

7 @0 U% w7 Z/ i9 g1 F8 W3 z
5 e4 Y: y' M5 o, |5 Q, d) a ; g) F. b9 J0 x0 u
$ H+ {' N1 Q; _

; H8 g7 K% x/ I$ _: B0 B% q2 g( d% C" i+ u$ J' G8 h/ `9 }$ b9 f0 j3 h4 Q" P

" A1 S7 H4 Z" m* c$ G3 C
: v( X9 y5 l# o8 h/ Z' ]8 N
作者: uerriup    时间: 2019-6-28 18:01
学习学习




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2