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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
  S, [2 h9 ~" G: k2 T8 _- C) a' O1 ~0 z
! _! k: K/ \7 b$ D$ _+ F  B: W, G
目 录  c. Q! F! J) R( F7 j) R+ X
第1章 ARMv8简介. 3
. M/ a) r4 J' \. r6 l; c0 G1.1基础认识. 3
/ B& ]; c1 S- @5 [- b1.2 相关专业名词解释. 39 X1 ^3 k2 w+ n4 I4 \
第2章 Execution State 4
9 j9 F# p, B+ d2.1 提供两种Execution State 46 W/ p6 N. S9 M( z/ {6 R4 v+ J
2.2 决定Execution State的条件. 4% Q& i* {& e+ ~4 K: g/ P9 A
第3章 Exception Level 5
6 r- B! R" ^6 j6 A5 Z3.1 Exception Level 与Security 53 g8 q, R7 J+ d" \& y
3.1.1 EL3使用AArch64、AArch32的对比. 50 G  k# N9 s% s7 E5 B) O! E
3.2 ELx 和 Execution State 组合. 6
/ F) Q6 k5 o8 Z6 V; t3.3路由控制. 7
+ B, W8 n9 F" R2 T1 y7 h5 @3.3.1 路由规则. 73 `3 a; u* h6 c9 X
3.3.2 IRQ/FIQ/SError路由流程图. 8
- m& N2 Q# Z/ z- _/ E0 |第4章 ARMv8寄存器. 9
/ `1 c, G+ m2 A+ N4.1 AArch32重要寄存器. 9; u* l8 _" L+ R+ y5 t
4.1.1 A32状态下寄存器组织. 10$ e+ @0 I/ e# H' m+ N2 V
4.1.1 T32状态下寄存器组织. 107 L- f1 ~4 d7 x4 x/ W
4.2 AArch64重要寄存器. 11
! |& F0 b' x6 Z* f8 p0 S4.3 64、32位寄存器的映射关系. 11
- e, ^) l$ z: h( J7 R第5章 异常模型. 12
4 J: L5 j) h+ s$ R% R5.1 异常类型描述. 12
% P; V4 l0 B' H) C* g5.1.1 AArch32异常类型. 122 d- M" M2 a' ?( o+ ?% e. ?+ Q
5.1.2 AArch64异常类型. 12
: F% g2 `8 Y9 n1 s2 Q5.2异常处理逻辑. 13
- O, k0 m* [/ B" x1 v$ M8 a3 [4 k) v5.2.1 寄存器操作. 13- D1 L. {/ g( B7 I6 m3 Y
5.2.2 路由控制. 14
- ], L5 l9 C8 l0 p! Z5.3流程图对比. 14
, F9 Z$ B9 F4 C) x7 y5.3.1 IRQ 流程图. 159 ^1 ?, M8 |( H# D! [6 W
5.3.2 Data Abort 流程图. 18" R/ S- G: ?8 F# Q
5.4  源代码异常入口. 20
4 `( e0 k9 e9 O* V5.4.1 C函数入口. 20* ~* A% U  p& J+ e1 e
5.4.2 上报流程图. 20
9 J2 V) E. u6 t. K5.4.3 异常进入压栈准备. 218 f) D* i; ?+ b* |) D$ {
5.4.4 栈布局. 212 C# ]- ~! e1 C& I- d* N
第6章 ARMv8指令集. 222 X2 {: x; g' m, @4 p1 w' f; a
6.1 概况. 22
$ }6 k* D5 z& Y2 J6 T0 I, w! {! Z6.1.1 指令基本格式. 226 b1 y. G6 C( f: K# Y. v) q
6.1.2 指令分类. 227 _4 @) {/ P' f* \( A7 S( Y3 q
6.2 A64指令集. 22
/ c* v" l% I2 O! y4 I6.2.1 指令助记符. 23
# r1 c6 S7 M8 H0 A6.2.2 指令条件码. 23; Q) c- M8 y( J# U9 }# l( O
6.2.3 跳转指令. 24% @3 Z, Z9 U# i! o
6.2.4 异常产生和返回指令. 24
( U! T* m, x( w" I/ C6.2.5 系统寄存器指令. 24* C. y9 U8 D1 E
6.2.6 数据处理指令. 25
  G+ Q. \" |. y6.2.7 Load/Store指令. 27- k* i3 T/ A- p: e2 b- F
6.2.8 屏障指令. 31
* b! ?  E2 e/ B7 S6 \9 \6.3 A32 & T32指令集. 31
: \& N; x/ b' U& o6.3.1 跳转指令. 31, c; j; i& j  W" P- r
6.3.2 异常产生、返回指令. 32* o( J0 ]& L# X$ I1 A+ O" v2 x
6.3.3 系统寄存器指令. 329 q: y  U+ T. W; I  r
6.3.4 系统寄存器指令. 321 U% B& k  ?" E1 r/ U8 j5 l+ ^
6.3.5 数据处理指令. 32
7 M, U: t% @( }" [' q5 J6.3.6 Load/Store指令. 32
4 [6 x/ |0 Z6 r& R4 G6.3.7 IT(if then)指令. 34$ Z1 w1 y6 L3 Z, Y
6.3.8 协处理器指令. 34
$ Y% u! B9 i6 a( C& N; i6.4 指令编码. 346 _( n9 b4 E+ U6 _, k
6.4.1 A32编码. 345 C! D8 A' E) i, J& R7 @
6.4.2 T32-16bit编码. 35
) @9 ]2 y, ^  ?" O6.4.3 T32-32bit编码. 35! g: R2 N  H5 l% m# M2 F3 V
6.4.4 A64编码. 35
$ s, u( e8 l0 `9 y7 y+ ?8 J6.4 汇编代码分析. 35
1 M( @2 [) z, T第7章 流水线. 361 [2 u0 l/ g. y% o  y3 g9 [$ R& g6 N
7.1 简介. 36
% A% t  R/ L# A/ d7 j7.1.1 简单三级流水线. 36
1 Q: r, X5 Z9 V; H7.1.2 经典五级流水线. 36
* v% i: @$ Q: o& C7.2 流水线冲突. 37* f" \- {( R) \$ v, z3 e5 g6 Z
7.3 指令并行. 37: O6 u% I" A5 Q' r

: @. t' N! i+ j% B
4 O& t2 l9 l" n( K7 P( \+ ?$ A% ~( B
& W, g+ @8 h; N) L9 d' G6 F; p

8 F# H9 `4 U0 o; f) K& T1 s
+ L8 ~( t5 M' G, m
2 A. S, s' p4 I+ G; m
第1章 ARMv8简介
! [2 R& m( \% p& ]* R' Z. k0 L0 {5 V/ a5 r' a# o
1.1基础认识
! q) f0 T7 L. C7 L* ~# j& n6 U

! L$ x6 }  a4 ]6 EARMv8的架构继承以往ARMv7与之前处理器技术的基础,除了现有的16/32bit的Thumb2指令支持外,也向前兼容现有的A32(ARM 32bit)指令集,基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持。3 v! x6 {: a: C( `$ H

% I9 S; x/ c! |  ^# K

' c5 I  c8 o+ c+ H0 F2 U1.2 相关专业名词解释
4 l" T" _2 t$ ~+ c/ r2 v) j0 d; I6 k( F9 p

+ m# J. c9 D0 n+ i- SAArch32                    描述32bit Execution State2 J) |  q; ]  H$ Q
AArch64                    描述64bit Execution State
7 \& r/ Q% v$ m) F: \; m, R: T1 wA32、T32                  AArch32 ISA (Instruction Architecture)
: v  e% y' p  @" x1 V! Q) _" {A64                          AArch64 ISA (Instruction Architecture)- ]$ L# l( g$ W& ]9 c: P9 k
Interprocessing          描述AArch32和AArch64两种执行状态之间的切换. v* }/ I0 i; B- G. U7 b# ]
SIMD                       Single-Instruction, Multiple-Data (单指令多数据)
- D0 K8 L0 F1 ^# Y' o% Z6 _# @  a' J! U' {5 {) g

0 m3 I/ @$ ]; Z3 E$ ?1 i(参考文档:ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf)
5 Q4 }5 k" N: E# J, v; c4 q" Q4 A. K* u  K4 }1 o$ |
# T4 ^) ^8 A4 s- D+ w0 C" l6 w
第2章 Execution State+ v8 {0 a& d1 V. `& a
$ i' q+ l! \1 }7 o
游客,如果您要查看本帖隐藏内容请回复

" V2 H5 {+ x3 Q: ]# ]6 u- r$ y% P7 L5 r3 P: E+ O9 w3 o9 A

% S- W# ], Y' G! d9 `+ O" U5 m. M+ y2 Y1 D" X8 y4 }2 ~
: P' I- Y( u! r9 T% |" r1 L$ x

7 s' c. m: e( g& @7 Z; ?9 V3 m
2 j$ @  V/ o6 @. }2 ^3 r+ s6 Q- [8 x- s
5 J* h  c- v+ g- f' s' x8 H
9 W+ ~7 O7 a6 [9 U. n3 L, i

9 v# B3 w9 c* _6 g+ j
  D, S+ {/ H) H4 v9 k4 h. ?- B- d6 u# v! E, `' l

该用户从未签到

2#
发表于 2019-6-27 17:52 | 只看该作者
目录好长啊

该用户从未签到

3#
发表于 2020-2-3 16:20 | 只看该作者
xxxxxxxxxxxxxxxxxxx
2 ^* g" c  `& O
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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