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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

& T! P: ^2 \5 x, u/ t6 a' u8 n# l
+ D# K- V) Z. j$ d2 X2 \
目 录0 W0 c- |2 ^/ z; _7 y- y& G7 r
第1章 ARMv8简介. 3
6 ~/ V& E5 O2 y6 I% y) e1.1基础认识. 3
: E, `! f. s) z! l1.2 相关专业名词解释. 30 ~# Y" e8 Q4 F2 M* A: e
第2章 Execution State 4* ?: E5 H$ Y3 G" d
2.1 提供两种Execution State 45 l9 u8 M# ?7 l+ ~* \; ]- t, z0 q
2.2 决定Execution State的条件. 48 Q* p/ Y) {. N, U7 e* L: c
第3章 Exception Level 50 S7 ^* R5 @9 q5 k2 u
3.1 Exception Level 与Security 5' b0 r$ m" |# {; |( O# T
3.1.1 EL3使用AArch64、AArch32的对比. 5& d5 T9 n6 W  R5 N& G
3.2 ELx 和 Execution State 组合. 6
# v6 |3 y  O5 I, c$ h) f0 N; \3.3路由控制. 77 }' v1 h- _5 d7 [, h
3.3.1 路由规则. 77 s& E; o; }( \% ~/ G+ |
3.3.2 IRQ/FIQ/SError路由流程图. 8
6 s; e- N: Y& D9 U& E1 g/ Z/ }第4章 ARMv8寄存器. 9; |; J- [) @8 `; v7 t
4.1 AArch32重要寄存器. 9  g4 }6 R8 v0 b- U2 A
4.1.1 A32状态下寄存器组织. 10
  t  {& C' H1 q2 z5 z) @- u4.1.1 T32状态下寄存器组织. 10
( a2 ]6 e" {& j" O4.2 AArch64重要寄存器. 11
/ m4 R* h* L# y$ t3 |  a4.3 64、32位寄存器的映射关系. 11" d8 b$ G: i5 R# G% t. ^
第5章 异常模型. 12& ?. _" h, ]  @( N) T" L( }) y6 }
5.1 异常类型描述. 12
6 M( K; G: S2 y4 G5.1.1 AArch32异常类型. 12
* S- Q% m! n" Z5.1.2 AArch64异常类型. 12! |# \1 `. d& M+ s, F% ~  i- t
5.2异常处理逻辑. 13' f# Y/ l: g% [
5.2.1 寄存器操作. 13
0 Y" V: l; f/ O  `0 _5.2.2 路由控制. 144 m" J; o+ f. y, L9 e; {3 l% B
5.3流程图对比. 14
$ v7 v4 _* O; \$ w/ q. C5.3.1 IRQ 流程图. 15
1 c! I0 ]8 F9 C1 H' w& x8 x5.3.2 Data Abort 流程图. 18
  T: G1 w' Q: H/ s* @2 c4 V( W4 o5.4  源代码异常入口. 203 `* o' P- C, m8 K8 N2 ~
5.4.1 C函数入口. 20; d: w9 b9 I) R) ~- H  T5 I
5.4.2 上报流程图. 20
1 M$ o" K9 |; E1 ~- m5.4.3 异常进入压栈准备. 21( B  `2 ]0 ?8 t3 O( O3 U. a
5.4.4 栈布局. 219 l8 g5 p7 p5 I, i2 Q
第6章 ARMv8指令集. 229 s* ], ]$ V8 p8 s% `
6.1 概况. 227 L0 P( x' L, E
6.1.1 指令基本格式. 22- L' F- ~6 `7 Z& j" e: j
6.1.2 指令分类. 22
9 [7 L$ l* G. ]; z0 _6.2 A64指令集. 221 {; e' X% j; Y  f% s; l
6.2.1 指令助记符. 23
: ~6 Q* a) ^( F5 K" D5 M  H6.2.2 指令条件码. 23. _" i. D# i0 P6 D0 H7 B" k3 K
6.2.3 跳转指令. 24: F) Y( O* g1 c/ q, y" P
6.2.4 异常产生和返回指令. 24
, \4 J$ s7 ~/ ?6.2.5 系统寄存器指令. 24! Z8 Q) O5 S: u4 X* N
6.2.6 数据处理指令. 25
; l) j: Q  p- T7 _4 Z) }% j6.2.7 Load/Store指令. 27( F% ]) _( ]9 J5 g
6.2.8 屏障指令. 31
% j% m& m$ d' B6.3 A32 & T32指令集. 31
( T4 X  K5 D4 d5 G9 c- J  M0 b6.3.1 跳转指令. 31- s. }0 s( t+ _6 j9 v1 M5 |: N
6.3.2 异常产生、返回指令. 32" O% ?' U% j1 H* T. X" {. X: l+ x
6.3.3 系统寄存器指令. 32$ a1 ~/ y8 H# ~+ F. k' s
6.3.4 系统寄存器指令. 32. P3 o' Q) w2 W0 w3 ^2 L
6.3.5 数据处理指令. 32* s$ E7 Z- I( a# h2 d5 I
6.3.6 Load/Store指令. 323 Z0 m' ~  j# e0 [# M+ ?) J$ N
6.3.7 IT(if then)指令. 34
5 w; x& G- |# z" Q) g* s6.3.8 协处理器指令. 34  V4 O+ Z. G* |; j- l4 T
6.4 指令编码. 34
: M( o; p7 Z/ l$ @6.4.1 A32编码. 34) S) {% C, H$ {- s
6.4.2 T32-16bit编码. 35
* U2 |+ X$ ?. b  @  [5 S$ U6.4.3 T32-32bit编码. 35
( J4 ]* o8 X* i0 {6.4.4 A64编码. 352 G, c: U! `, M2 ^+ Q0 M
6.4 汇编代码分析. 35$ g% f7 {. R0 n! {' ]
第7章 流水线. 36
- K, ?  |4 p; i. V) Y7 M7.1 简介. 367 a+ H2 p6 b" T3 L. h
7.1.1 简单三级流水线. 36" |9 X6 @8 A' v& U
7.1.2 经典五级流水线. 36
+ m# r0 P+ Q* V4 s# u: ~6 R7.2 流水线冲突. 37
4 J0 r' Z$ h7 v  c$ a& `7.3 指令并行. 37
8 ^! [) C7 k% i5 r+ e9 Q5 N& B
* U2 C  I, e! H. C) N4 @
  K$ L4 T7 b1 _  X3 u2 T
1 f2 S& y. r( _2 \* o# U0 Z+ i! h
7 v1 R& G' ]6 k! B3 ^
9 g; F- P4 G0 f5 o* G7 |% c
, k! {: D6 h- q, b! z
第1章 ARMv8简介9 T% M7 l7 E4 r( Y
- y; ~' F: V0 R7 \
1.1基础认识
6 d" C" k1 i, G8 g
1 j# \2 Z" A6 D! ^: j2 g) @
, E! ]. |" ?/ f
ARMv8的架构继承以往ARMv7与之前处理器技术的基础,除了现有的16/32bit的Thumb2指令支持外,也向前兼容现有的A32(ARM 32bit)指令集,基于64bit的AArch64架构,除了新增A64(ARM 64bit)指令集外,也扩充了现有的A32(ARM 32bit)和T32(Thumb2 32bit)指令集,另外还新增加了CRYPTO(加密)模块支持。. z, W" U, B3 `

3 @0 K1 u2 u/ K; L7 n3 K4 {) X8 |

8 J0 R8 M2 F2 g( ]0 W" D3 }1 }1.2 相关专业名词解释
- \% R; ~. F5 n1 m; s" l1 Q' b/ e& p" m/ k  Q

5 @# ~2 S( }) u# a# z0 TAArch32                    描述32bit Execution State) I+ V! x5 ]9 g% n8 A
AArch64                    描述64bit Execution State
3 R" F' Q, g: dA32、T32                  AArch32 ISA (Instruction Architecture)
* J# Q' r6 J: `6 l5 Q6 ]5 J' \A64                          AArch64 ISA (Instruction Architecture)9 P: m0 z; Y; o4 m* V* T3 t
Interprocessing          描述AArch32和AArch64两种执行状态之间的切换
" v/ b( d& z+ u/ r5 @) l3 O7 xSIMD                       Single-Instruction, Multiple-Data (单指令多数据)& M' k& n' H6 f: W# V

' x4 ~" T% ?1 r7 _

; X: N0 }2 ?" J6 K$ N(参考文档:ARMv8-A Architecture reference manual-DDI0487A_g_armv8_arm.pdf)1 K  ]7 f! a9 k  W/ L3 N  s5 @

! @# E# [( b, y" S  S

) k+ d/ D! @$ C( P5 K3 o. q9 r第2章 Execution State8 T" b/ f, V2 Z

- D' g7 V0 Z3 Y9 e8 V; b/ g
游客,如果您要查看本帖隐藏内容请回复
' X# d% |( o# y$ N
3 `) O( r- v6 ~9 v9 I3 ?1 r* _, x

6 [3 w0 o8 F; c! q
% C$ t8 ]0 }$ T9 l, ^% C  j  f9 g8 T' ?  r" ]
! m, r: e" \! y
/ u' [  L5 N2 `+ V# Q7 `0 ]; ]
% Y- N: B: t& U

! l" |! Y1 ^8 {! }7 ^
# y: M4 q2 ?# B" u* N) y

( y5 F5 x% D$ e* k/ J$ f3 a5 q6 j

6 ?/ A7 S  l0 U$ Z4 W

该用户从未签到

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

该用户从未签到

3#
发表于 2020-2-3 16:20 | 只看该作者
xxxxxxxxxxxxxxxxxxx
7 b; T  B: G! I6 X5 }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 20:40 , Processed in 0.187500 second(s), 27 queries , Gzip On.

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

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

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