EDA365电子论坛网

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

作者: mytomorrow    时间: 2019-7-1 13:05
标题: ARMv8 架构与指令集.学习笔记(6)
目 录
7 P: ]6 ?" v8 \. d5 ~+ ]第1章 ARMv8简介. 3/ _2 P( u5 }, e7 U- i
1.1基础认识. 3, N0 F+ z- b! K( A
1.2 相关专业名词解释. 3$ ?) ~2 M+ v" {8 g$ Q: S( `
第2章 Execution State 47 k% P( z+ p! X# J) b
2.1 提供两种Execution State 4" s9 Q+ z* j/ P+ p- E; X3 I! s$ N
2.2 决定Execution State的条件. 4" `5 A6 q3 n! Q! l; n- N7 p
第3章 Exception Level 5
2 C% s' Q+ `. `& O5 a) _3.1 Exception Level 与Security 5( P. O4 ?9 {1 Q8 K
3.1.1 EL3使用AArch64、AArch32的对比. 53 X! |8 X1 [5 n+ f$ c  [- N7 L5 }
3.2 ELx 和 Execution State 组合. 6
" O9 w1 Y6 |4 ~3 Z) K# j% p5 h% l3.3路由控制. 7( A+ v. Q7 s6 z+ _+ k  ?, G2 F* q
3.3.1 路由规则. 7
8 {' W; O+ f/ R3.3.2 IRQ/FIQ/SError路由流程图. 8
4 p4 q) N+ x0 l第4章 ARMv8寄存器. 9- l4 B" C' r& C+ ^, t7 p3 M
4.1 AArch32重要寄存器. 95 P4 n1 N1 `: E& B* _) {8 y
4.1.1 A32状态下寄存器组织. 10/ l/ {+ [/ w& I  H4 y
4.1.1 T32状态下寄存器组织. 10
. k; @+ m* `9 i* Z. ?( u, m4.2 AArch64重要寄存器. 112 [3 k6 b6 B: o* O
4.3 64、32位寄存器的映射关系. 11" R0 W- V4 N6 H2 l" ?
第5章 异常模型. 12+ o1 }. M# U6 O1 C0 c
5.1 异常类型描述. 12
" l! Z3 k/ b9 [! J5.1.1 AArch32异常类型. 12
* z% \7 Q( p) Q5.1.2 AArch64异常类型. 12
. ]$ C) K" s8 j$ b0 w; v9 p' I5.2异常处理逻辑. 13, X/ Q( \, z) P8 o7 w! v" @! m
5.2.1 寄存器操作. 13
; ]1 @+ f' `/ D; a0 d0 o5.2.2 路由控制. 149 Z# n9 z2 p8 A/ ~3 ~1 I
5.3流程图对比. 14
0 G5 y% d: f6 Z5 L) ]4 s8 d5.3.1 IRQ 流程图. 15
- Y) _, m7 L7 u1 M" L4 b6 G2 a* n2 u5.3.2 Data Abort 流程图. 18
6 L' {1 L) T* k' y8 W/ j4 i5.4  源代码异常入口. 20
1 z" I5 o1 N1 Z7 e3 I5.4.1 C函数入口. 20
. a" y: ]  \9 G7 e' L) I5.4.2 上报流程图. 207 c  i8 I- O1 f+ Z/ R7 k
5.4.3 异常进入压栈准备. 21  H+ a4 v# z7 b
5.4.4 栈布局. 21: Z) n+ P9 l, a
第6章 ARMv8指令集. 22
. K2 S+ e6 k7 L" H8 B: X1 `6.1 概况. 22
% b: c( \6 N. J/ T) ^1 Q, L/ J# X6.1.1 指令基本格式. 22/ M# k/ _* M" H* [/ B4 S& h9 K0 b1 f
6.1.2 指令分类. 22
5 ~8 ~8 j7 E% z) c- E6.2 A64指令集. 22) h  d. G4 i/ d$ r
6.2.1 指令助记符. 233 R& q7 T. h* }
6.2.2 指令条件码. 23% N' \. h( d* n; ]0 u
6.2.3 跳转指令. 24
0 H/ z6 \- M7 T) i3 C6.2.4 异常产生和返回指令. 24" n# a1 n# v- d0 I7 u" o; X1 W% ?" O
6.2.5 系统寄存器指令. 24
" A+ q5 X* Q9 {! l# d* e$ V* X6.2.6 数据处理指令. 25* r! v5 ]0 f% n* d8 U- S
6.2.7 Load/Store指令. 27, R0 e* O6 R9 I9 u6 F1 E, ?+ s2 q% e
6.2.8 屏障指令. 31) }9 }* _9 Z4 n5 o
6.3 A32 & T32指令集. 316 [  ^+ s0 v: |* G& p
6.3.1 跳转指令. 312 I; }1 L! U$ Q6 \
6.3.2 异常产生、返回指令. 32
. a4 e* p8 C; k# F! x8 n; e6.3.3 系统寄存器指令. 328 e3 j  V( {/ T$ i
6.3.4 系统寄存器指令. 32
+ u' |! a5 g9 s: O! s6 z# U6.3.5 数据处理指令. 32: s8 l- V# y  Y0 [/ @! Z
6.3.6 Load/Store指令. 32
1 o# o" U% G% _! K6.3.7 IT(if then)指令. 343 ], T+ b/ i0 o" C3 K1 l9 I
6.3.8 协处理器指令. 34
0 `- p/ T" z6 _0 X, y' O9 p$ x6.4 指令编码. 34
# |: A7 g5 j$ L6.4.1 A32编码. 34
( D" ~' D. Y, O: K; E: V7 a& Y. {6.4.2 T32-16bit编码. 35) i, N( H( \: u  M
6.4.3 T32-32bit编码. 35
1 R- G4 F1 E6 L+ N第7章 流水线. 368 d! M& O9 O" o
7.1 简介. 36
* a6 e& r( n# Q3 q3 [& B7 w7.1.1 简单三级流水线. 36" {- T9 E  W3 p/ v8 L
7.1.2 经典五级流水线. 36, Z1 K) ]# s( U6 J) O7 T( k  Y$ H
7.2 流水线冲突. 379 O3 h4 T1 o, W3 h' e9 L& P) c# \
7.3 指令并行. 37
8 N/ o4 w0 c: `, K* o8 f: D

5 [$ P* \" }. ?, @, w4 r

- p6 v2 Z# D% o

0 I0 Z0 L1 q3 }; S( L5 X
第7章 流水线

" X6 b/ R0 K5 E4 R
7.1 简介
1、不能减少单指令的响应时间,和single-cycle指令的响应时间是相同的
2、多指令同时使用不同资源,可提升整体单cycle内的指令吞吐量,极大提高指令执行效率
3、指令执行速率被最慢的流水线级所限制,执行效率被依赖关系限制影响
7.1.1 简单三级流水线

& r+ ?+ I7 \3 e! E7 q

) U- p1 ?) M( `9 k) A4 M2 I
  I5 e# Y' }3 V9 p

) u% K, z7 C! _/ ~

# E4 R- V  a- l. J
作者: Liberallh    时间: 2019-7-1 18:18
都看看




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