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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

( F5 ?* B! b/ B- e" F8 j; ~0 P2 A
% C" y" f  M$ {6 p
目 录
8 j) \7 I; d6 a! X" ^第1章 ARMv8简介. 3$ U7 m5 V, d6 o9 ]% p. T4 W
1.1基础认识. 3+ m" G' o/ k: C1 c( ~* l, W
1.2 相关专业名词解释. 3
9 J8 i( k) A5 r第2章 Execution State 4
0 z/ g; c$ D% v1 r; L- @8 Z2.1 提供两种Execution State 4
6 V  Q$ [& f' x% p; Y: ~2.2 决定Execution State的条件. 4( ~( L& u8 E0 `2 J( B( j% S' e
第3章 Exception Level 5
' Q! a9 m: c, d& x: d! k3.1 Exception Level 与Security 5
1 i4 D! z9 w3 A1 Z# [; e3.1.1 EL3使用AArch64、AArch32的对比. 5
& W8 f) J9 f! x( [4 ]3.2 ELx 和 Execution State 组合. 6
' v/ t, g  A+ r+ [$ T" ]3.3路由控制. 7$ ~1 r3 U2 X. o' ?7 @" d
3.3.1 路由规则. 7
6 J: a$ V# k  e0 q7 {3.3.2 IRQ/FIQ/SError路由流程图. 8
2 @* O; U  k: I) [) h第4章 ARMv8寄存器. 9- j6 z/ J+ Z8 p& m, ^! C
4.1 AArch32重要寄存器. 9
1 l7 u8 d9 l0 I+ P! X# G4.1.1 A32状态下寄存器组织. 10+ o1 D* c: U1 m2 f& Z, K& y$ W
4.1.1 T32状态下寄存器组织. 10
! ~+ v! L& K- Y1 F4.2 AArch64重要寄存器. 111 `# p* U4 J, o) O1 p5 p
4.3 64、32位寄存器的映射关系. 11
/ `  V; Y$ j' P6 g7 ?第5章 异常模型. 12$ v5 y* K6 d% K
5.1 异常类型描述. 12. T- g0 D0 f' P+ Y8 W; o0 H
5.1.1 AArch32异常类型. 12
& B% R) H" z; E, l0 Q0 i5.1.2 AArch64异常类型. 12
$ L/ _. O" `4 P8 R5.2异常处理逻辑. 135 ]9 T% ?0 f# m0 Y; D
5.2.1 寄存器操作. 13
% `- Q1 R9 [9 z# `: B$ c5.2.2 路由控制. 14
1 L) _( X% Y1 @  D" A5.3流程图对比. 14
- L$ u, \$ G. R4 S& B" k2 T5.3.1 IRQ 流程图. 15
( z0 \7 a8 q" i& N4 w. U" A4 V5.3.2 Data Abort 流程图. 182 W4 c0 D7 c7 F* ^$ S
5.4  源代码异常入口. 208 _. w2 y  k2 m! Y$ O- c/ D! M/ ^
5.4.1 C函数入口. 20
5 I0 e# _' ~& I/ l4 K0 N5.4.2 上报流程图. 200 f6 P& I; C- u! Q& `5 ]
5.4.3 异常进入压栈准备. 21
- s* l( l* D0 L1 ^, x& P5.4.4 栈布局. 21
6 Z! v  k9 I5 }) K' X第6章 ARMv8指令集. 22
+ [. M6 K: l. V7 p# u/ A6.1 概况. 22. v: p5 u/ T+ l) e4 }8 U
6.1.1 指令基本格式. 22
# f" r6 L& T8 t6.1.2 指令分类. 22! u& g& z$ x  a- \) \* _1 Q3 i
6.2 A64指令集. 22: w, ^1 N4 M! Q1 s" T
6.2.1 指令助记符. 23! d; F& J  N/ j3 o# [1 r# }
6.2.2 指令条件码. 23
5 R2 i* Q5 `' `- J5 p- I6.2.3 跳转指令. 24
( v; a9 X; V# t) G) y6 j6.2.4 异常产生和返回指令. 24( R. s- Q" o& p- q
6.2.5 系统寄存器指令. 24  D0 y$ B5 i( h9 q+ G3 v" V" V6 U
6.2.6 数据处理指令. 25
4 |. y  c1 d. S2 X* O6.2.7 Load/Store指令. 27
4 i. f5 J6 z2 G) r* q6.2.8 屏障指令. 31
% t  g$ ]# W9 W6.3 A32 & T32指令集. 31& s( L* p: ^5 K" C
6.3.1 跳转指令. 31/ Q  K3 ]; _' u: U! C$ E, B
6.3.2 异常产生、返回指令. 32& Y5 D2 m& ]4 R1 u5 f! y
6.3.3 系统寄存器指令. 32: j* _; x" Z9 \: R  J( g( Q
6.3.4 系统寄存器指令. 326 D/ X* d) _! H9 h+ o0 m7 Q4 a
6.3.5 数据处理指令. 321 E4 g/ l7 p2 @+ L
6.3.6 Load/Store指令. 323 m8 p* M0 E. ]
6.3.7 IT(if then)指令. 34
/ `2 u$ s5 h( _+ r9 n( o" ]9 B6.3.8 协处理器指令. 34  b! z/ O, `  f
6.4 指令编码. 34
+ M& B! o; E! b# C6.4.1 A32编码. 34
% u. _. O9 u. N9 v$ M. U7 @3 v3 d6.4.2 T32-16bit编码. 356 ^. l$ N5 d7 ?% F
6.4.3 T32-32bit编码. 35
9 i0 w( x: P' ^! F" q6.4.4 A64编码. 350 A$ u( v2 q. q$ P& t+ m% X
6.4 汇编代码分析. 350 i$ q4 t8 A& P+ p+ B9 x
第7章 流水线. 365 p( i( D5 }( D# U
7.1 简介. 36
6 G% O5 n" [( }6 q- l, b  x7.1.1 简单三级流水线. 361 u; m$ {9 y) G) F6 J1 y  e
7.1.2 经典五级流水线. 36
9 {- }. Q% P% J5 C% ~1 v& y1 E7.2 流水线冲突. 37% E) w/ z! {% p, p
7.3 指令并行. 37
4 H, S% {) ^. Y' F8 W, `
* o  ]( o3 u" ]: |) x

; I3 J2 }8 g- p0 V& `3 {- i- x7 T! q; b" q" j4 {+ p0 C- T
% C3 h/ n' E& s5 c& |0 Y* T

4 u: Y" _8 Z' m2 M1 f

$ O3 x+ e. R! e' l6 I2 [6 A第1章 ARMv8简介
3 l) @" Z% U% W  t5 l
3 p  x. R/ N/ B: _+ j/ `1.1基础认识
/ d1 R) s) w% R% o0 U. y# A! m. D2 O. V6 u2 m  U. u% Y8 R& r7 N/ _# j

8 _5 V3 m3 v6 J8 qARMv8的架构继承以往ARMv7与之前处理器技术的基础,除了现有的16/32bit的Thumb2指令支持外,也向前兼容现有的A32(ARM 32bit)指令集,基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持。
2 r, V- y& z$ q/ R+ a) e* m5 l2 H' e0 A' J, U/ U

$ I2 B$ |* e$ j8 P1.2 相关专业名词解释0 v* w! Q( B4 ?- K. |# U. F, i; Y

$ W3 K1 [5 t4 S, N

% u0 B: Y# y$ W/ nAArch32                    描述32bit Execution State
8 k5 c- W( a% U  N2 V8 oAArch64                    描述64bit Execution State+ c' R: K- u+ d7 J
A32、T32                  AArch32 ISA (Instruction Architecture)4 F. ?3 Z7 {( m3 a- x4 q* a% G. N
A64                          AArch64 ISA (Instruction Architecture)
( X' ]# l8 w4 Z; R, @  @Interprocessing          描述AArch32和AArch64两种执行状态之间的切换
# g' i" ?" E) f1 Q1 O+ U; x: p& wSIMD                       Single-Instruction, Multiple-Data (单指令多数据)/ @! O; f" I1 x

$ F" c# I) h  q$ a1 B+ _

3 l: E5 b3 t8 F4 K(参考文档:ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf)+ V- D& f5 y2 w- e- t
" S' J1 K+ f( H6 w+ O: }, }; j

- ~! A* Q( b2 e& z% Z第2章 Execution State
3 h/ @+ I2 s! i! b0 i; Q' \2 [7 \' E$ I9 q0 Z& E4 V& ^3 [
游客,如果您要查看本帖隐藏内容请回复

$ |; l3 f) h! R) _- V+ R) X5 t
6 l5 C8 _' R0 Z6 c
$ \0 s: P9 x, t' Y5 }2 Y& k, N: k) |! ?2 H

4 {) i6 z* \' ^& {- ?8 F- Y
8 ?; M, T: ]- m+ g  O
# r/ H% G' m2 F8 L9 l/ L2 ]/ x+ i! O5 X6 w5 q" h( o- z' [
4 E7 l0 q& Z! R* I6 V3 ]
* O, s7 k9 c0 L/ S8 K3 Q

- O, Q  Q  a0 B1 [2 c2 j0 S
( z5 `6 s* q% Q" n+ f' C& r4 M5 N; D0 d: U" Q, g) b

该用户从未签到

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

该用户从未签到

3#
发表于 2020-2-3 16:20 | 只看该作者
xxxxxxxxxxxxxxxxxxx
. V) |2 ?9 f, `, P3 R
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 22:19 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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