找回密码
 注册
关于网站域名变更的通知
查看: 733|回复: 2
打印 上一主题 下一主题

ARMv8 架构与指令集.学习笔记(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-6-27 11:32 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
% K$ a" W  a4 Q5 B! O4 w! u$ e9 B

/ B, _, ^3 ~/ ?; }& v- {. R目 录
' V5 E7 R, v4 K  L第1章 ARMv8简介. 3  E1 ~* ]* n7 d) w' Y, J# v% v
1.1基础认识. 3
' W* P" N) k- k) A) R$ M6 f1.2 相关专业名词解释. 3& s$ s* e& z' V+ m# q4 S
第2章 Execution State 4. J  v- I% a4 O5 h2 S
2.1 提供两种Execution State 4
+ V$ k9 l2 u0 g; E3 {# \* J2.2 决定Execution State的条件. 4) h# O8 B4 H1 B; _$ Z1 M/ ]- M' o
第3章 Exception Level 5
0 e9 m) J1 ^0 O5 w  M5 S% k3.1 Exception Level 与Security 54 q* z7 W% E. D( n% U% n
3.1.1 EL3使用AArch64、AArch32的对比. 5% ~% A9 e& v) U9 ]
3.2 ELx 和 Execution State 组合. 6
+ N4 G, ^/ X8 t# f/ O( O; ]1 ?3.3路由控制. 7; O$ k( @  ^" N5 V2 V# U
3.3.1 路由规则. 7: v  A& M. O' H7 o% G
3.3.2 IRQ/FIQ/SError路由流程图. 8
# @* Y5 O: Q. C( Y4 M3 N第4章 ARMv8寄存器. 9  Q- h. F6 z" V( G5 O8 k/ e
4.1 AArch32重要寄存器. 9! L7 y, P% s3 a6 z- a; \
4.1.1 A32状态下寄存器组织. 10
% o) ]" H& i9 b6 ?; u5 @4 s/ q+ t4.1.1 T32状态下寄存器组织. 10* Z! X  Z$ X3 x! \7 k4 j7 Y
4.2 AArch64重要寄存器. 11
+ X5 A  F7 H( f/ w/ ?4.3 64、32位寄存器的映射关系. 11
& f) j) n9 j  v8 a第5章 异常模型. 12
; k6 U' z! t/ p- _2 r1 J5.1 异常类型描述. 12
9 x' G; C; R4 d3 R5.1.1 AArch32异常类型. 12
5 K: K# Y7 z9 v0 S5 o/ W  }5.1.2 AArch64异常类型. 12% G: G0 s/ F, R. V+ n, O
5.2异常处理逻辑. 13) u, @9 a/ J" t4 z* }3 b
5.2.1 寄存器操作. 136 f4 W; Y' \0 f) j  ^2 K# }
5.2.2 路由控制. 14
( C. Q/ }" v. u% M: ~& ?5 {5.3流程图对比. 14
: h- p! v; n  ?5.3.1 IRQ 流程图. 15
5 f. ^4 W2 \# f3 o1 C; k- c" J1 f' W5.3.2 Data Abort 流程图. 18! ~9 b9 V! [( a& p3 N1 S9 r- K
5.4  源代码异常入口. 20
9 ~: o( Q$ D+ G( c5.4.1 C函数入口. 20
) D1 Q* j5 J2 R% E4 [# A, g2 ~5.4.2 上报流程图. 200 X  g( \! }3 S9 ~& a% |. `2 r  J
5.4.3 异常进入压栈准备. 21
2 x& k3 \5 M- F) ?& Y" t5.4.4 栈布局. 215 @, u+ Q, J, X7 X
第6章 ARMv8指令集. 22
2 V- x1 u5 G' c; u; X: g+ h; w( d5 i6.1 概况. 22
2 M" ]/ |7 A& Z6.1.1 指令基本格式. 22
4 @' w, b0 t' f, i/ {* }, j6.1.2 指令分类. 22
8 W" t9 O% _/ u6 X0 G6 y6.2 A64指令集. 223 t& N" K; b5 ?, }( r
6.2.1 指令助记符. 23
0 h  n5 V& V& r6.2.2 指令条件码. 23! r/ k* S/ {3 e& e  y, g3 A
6.2.3 跳转指令. 24
( \: [5 b( U' @. }4 K# W  M6.2.4 异常产生和返回指令. 24
; l% F- _6 X; A6.2.5 系统寄存器指令. 244 W3 ^* @; ^8 c9 U6 v* ?- a
6.2.6 数据处理指令. 25
, w; U/ v& }# ?2 v0 {* }( \3 X6.2.7 Load/Store指令. 271 `# c7 t. h1 ~7 o: ]; W
6.2.8 屏障指令. 318 s9 l& r8 W4 |; O) l- a
6.3 A32 & T32指令集. 31
& j+ v$ g& t! B; d4 x" T6.3.1 跳转指令. 31
. y: J  F7 L% g! P6.3.2 异常产生、返回指令. 32
1 W) J7 o% I  m; P$ q9 E6.3.3 系统寄存器指令. 32
: m$ e3 M5 N1 N& N4 k6.3.4 系统寄存器指令. 32& O: [- V, m( ^# K6 G
6.3.5 数据处理指令. 32
  D0 f+ G) k8 [7 V2 f4 o6.3.6 Load/Store指令. 32
, a: x) ~) U: v" @. M6.3.7 IT(if then)指令. 34
3 m7 \: l! I% z% ^6.3.8 协处理器指令. 34
- ]0 r% s5 {; ]" `6.4 指令编码. 34
5 U* o3 d& t* @9 U3 y6.4.1 A32编码. 34
% T. V3 x# e0 w6.4.2 T32-16bit编码. 35
6 c! v9 c: a9 A6.4.3 T32-32bit编码. 35
: z( T  @, u# C1 b  N6.4.4 A64编码. 35* |2 [% H2 [; H+ |. q9 O; D
6.4 汇编代码分析. 35* h) B: H3 Q' A3 @
第7章 流水线. 36
* E2 W' X$ G* y$ H& s! _7.1 简介. 36
$ I, f0 m3 D$ |! X7.1.1 简单三级流水线. 36% {6 A! t& y/ C; S: m
7.1.2 经典五级流水线. 36+ m' K- y) f  r0 k8 x* ^2 G
7.2 流水线冲突. 37
1 L8 ^4 q  d( x4 y# }+ v7.3 指令并行. 379 @9 I$ D$ O- \- v/ ]* k5 k% U. P
0 M2 R' Q2 \7 V" J$ k4 |. c$ s

% `7 }, I+ y+ o& |0 E
% j  i0 W' o4 T2 U! ?2 e
' \+ ?3 B- r4 c! P& G. ~4 J% P- U, {

! c- J5 `& c( a2 z) Q
4 w0 W6 y" ^1 j2 p* `& ^
第1章 ARMv8简介
) r6 n0 o! h% m5 _$ X9 ?; B0 b5 a- f6 N! t. O( X) ]2 E- ?
1.1基础认识
. e1 [$ B7 Q7 o) V1 c+ a: y2 b1 }
' Y8 }+ J0 E4 B) I: D
ARMv8的架构继承以往ARMv7与之前处理器技术的基础,除了现有的16/32bit的Thumb2指令支持外,也向前兼容现有的A32(ARM 32bit)指令集,基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持。
8 ~4 n  P4 K: {. ~, L
1 I( \; W: }- o9 ]2 W
& \5 G9 z- |# A
1.2 相关专业名词解释
- e) V2 D. ?6 w; \3 B) z+ W
, m! D8 v4 B: |" ?" n2 q
2 K; s: C  E; H$ h1 D( q, k- p
AArch32                    描述32bit Execution State
! V4 X& N  v- Z- gAArch64                    描述64bit Execution State9 u6 A- k2 N2 q- P" N
A32、T32                  AArch32 ISA (Instruction Architecture)
: `. |7 o2 b$ k+ R1 aA64                          AArch64 ISA (Instruction Architecture)
6 a, Y5 h6 ]/ R; }3 o' sInterprocessing          描述AArch32和AArch64两种执行状态之间的切换% _8 j/ O6 a. i  Z) [3 [% W) t
SIMD                       Single-Instruction, Multiple-Data (单指令多数据)( A3 \# b2 ]$ Q) v  {5 a

: a# U/ ]8 a! p1 x
+ @4 @2 C1 W5 s/ Z9 }
(参考文档:ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf)
0 U7 `$ d3 k/ {; o* L7 \# T& h
/ T8 k9 {0 f' `8 G' z. Y) C
2 _/ |# V  ^9 m) x8 i
第2章 Execution State7 c- T/ \1 i- H1 m) S
: t; I# H8 @0 _1 F9 w& d. r1 y9 [# ^
游客,如果您要查看本帖隐藏内容请回复
$ ?( Y4 |) ?6 z4 B% K* D( o+ L

, k' ]- Q( F% E: D% ]( _0 Z" j1 `: y
% V2 P* I/ y7 h# ~3 r3 B0 K
) S9 \6 P8 N- B+ E( E8 K7 y
2 R6 b1 |7 W$ W! W! v1 t

* ^, G$ p2 r6 ]: W/ b1 ~! Z
9 s! P: M& Z. h

+ h1 o" Q, j+ j9 j8 |  J9 n
) p0 l' q" O1 k) {2 U, m  f

( t: _9 O% c5 o8 D! B1 V+ m4 b6 E/ ]( k

- }5 k3 b6 x6 X! n+ s. D+ L6 v

该用户从未签到

3#
发表于 2020-2-3 16:20 | 只看该作者
xxxxxxxxxxxxxxxxxxx
4 ]& J6 O$ s/ ?# @, ?* f' W

该用户从未签到

2#
发表于 2019-6-27 17:52 | 只看该作者
目录好长啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 17:52 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表