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

ARM 基础知识记录

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-26 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 mytomorrow 于 2019-9-26 13:25 编辑 - Z  g! U2 }% S
1 l7 }3 d" n) Q# f) }4 s
1.ARM: Advanced RISC Machine 高级精简指令集计算机
5 E  y/ s) T7 i6 N2.RISC: Reduce Instruction set Computer 精简指令集,周期执行等长,固定指令长度

# X0 c$ ^. k6 \7 z, a
' l. z, V% g+ [9 W3.哈佛与冯诺依谩的区别:

% ^6 }; H9 u4 R& O
+ h! }: o5 X4 A5 q. z  t5 f    CPU在一个周期内能否同时操作数据和指令instruction cache 和data cache分开为哈佛结构,没有分开为冯诺依谩结构    Note: ARM7三级流水线冯诺依谩结构 ARM9五级流水线哈佛结构
. G& s" ?. x2 V$ ^) k0 L! k

; z) F2 b' p8 x0 [ 4.ARM特点: 低功耗、移动手持设备
1 m. n  u  f/ O- d, z
# W  Z$ H1 [5 E* D6 X! p
5.编程模型: ARM 32位架构指的是数据总线<---->字
& U& q$ ?/ `& Y' J$ A+ J5 S' S
& t$ V. W$ ^# |: B! V
6.工作模式: 7种工作模式            usr 非特权模式|------------------|空间共用            system  系统模式| ( j4 ]/ `* A4 B9 n' m
            FIQ 快速中断模式|4 ]8 f. z4 l0 _- _8 p, {$ j8 F
            IRQ 外部中断模式|
0 \3 A8 m, ?! t+ G! [4 L  ~% U5 o0 C7 d            abort 异常模式 |异常模式  6 n' Y! ], z" f. t6 ?
            undef 未定义模式 |
! f# M1 }) i4 P+ m$ n/ [' |7 l            supervisor 管理模式 |
2 y, W7 F) h' @4 Y$ _5 z2 W

1 _1 d4 y/ z) d7.寄存器: R13:SP栈指针。R14:LR 链接返回。R15:PC 程序计数器

' H8 l) O: b6 Y% u4 {4 P& s
2 \# H, ]% a& G 8.ARM有37个32位长的寄存器
2 a8 t% Z3 A+ u: O: E    1个 R15 PC(Program counter)   n: @6 T& N9 y# G+ E, d; [# l" d7 E
    1个  CPSR(Current program status register) ) B) @+ m0 x& M6 U- G
    5个  SPSR(saved program status register) 8 I0 n; V1 O* O: N% U+ W# y% Z3 B
    30个通用寄存器; ^3 q" P" q9 p
     R0-R12:五种模式公有 除FIQ(usr 和system算一种)13个|9 I: ~8 k, T0 S/ a' G( [# X
    FIQ:私有寄存器R8-R12             5个 |30个通用寄存器9 f9 G. {  \9 B) ]8 g
    R13:R14:六种模式都是私有的           2*6=12个|' p- G3 [0 L  q' F* t3 m( _
    PC :公有 1个5 q  F" E" c( @1 a2 }+ s
    状态寄存器:CPSR 公有1个
! ^% \) Z) W4 }" a    SPSR 私有5个(usr没有)% `3 F4 T7 E1 h6 x# O% R2 S. e: E
    Note:(Crotex A  中monitor又多3个,一共是40个)
5 k3 ~: h; C. x$ e6 F

. r  ^2 @0 {+ f8 ~9.CPSR 当前程序状态寄存器 current program status register可以在任何处理器模式下被访问
) K' T. P" ]% M        1)ALU (atithmetic logic unit,算术逻辑单元)状态标志的备份
# O' C& N$ b1 q3 n        2)当前处理器的模式6 h0 p7 D6 _+ a8 g7 U! |
        3)中断全能标志5 Y. _& o, p% Q. g2 E# i1 h4 T3 j
        4)设置处理器的状态(只有在4T架构)

6 A" f4 A3 y3 }* E$ `0 V$ V. P# q# I9 a( W
10.CPSR复位后 进入supervisor模式,ARM状态

  p4 T( u: z2 }. g# q6 i* j3 M6 O. B) k1 J& w5 k
11.ARM状态32位4字节对齐,特点最后两位无效为0.PC的bit[1:0]=0

  h) `7 `9 C$ \8 `" l  s1 \, y/ r4 s2 _3 o
12.当异常产生时:   

$ }7 G1 p, _# `        1)系统会拷贝CPSR到SPSR,设置CPSR状态9 G$ f/ e* v9 k: M
        2)返回由程序员恢复SPSR-->CPSR

* P; l% H2 `! O! s: T
8 l7 j$ U9 R/ ?; W; D! t13.ARMv4所有指令都是条件执行。ARMv5有一条BX非条件执行

1 o$ m( K' k6 b5 f3 a: S
( Y/ }  m" \) [14.Thumb代码比ARM代码的优势

7 g' W0 g: H1 c/ w' H    1)代码密码是ARM的65%
; `1 h4 N7 N+ x4 @- g4 f    2)方便窄内存操作

! H: ^2 ^4 X" f. w. b! V0 |2 R1 S
/ N5 Z$ I: Y2 \3 w, ^15.DMIPS: 一秒种执行的速度.CPI:指令执行的百分率周期/指令

5 ?; [$ u9 y6 S6 B8 ^% L0 g
/ D: I! l6 Y$ X16.指令流水线结论:
" ?# }  n, W, A    1)Execute Address=PC-8
- D# n8 Z  P, Q; p) d6 u: X& u    2)IRQ的lr=PC-4.  BL、undef:lr=PC
( t7 Y, j. M# m1 H) W    3)LDR互锁条件:LDR的目的地址在下一周期的源地址出现
5 |/ }% \0 N3 c: v* e4 b! D3 l' p    LDM(多内存操作)的条件:最后一个寄存器在一个周期作为源地址使用

2 }6 t: l- S; O4 I" q
5 M# L, h. r' z5 X* U6 E/ R) Y17.ARM9E: E支持DSP。ARM9TDMI:支持调试,IDE

7 O" M# K9 z" c7 c* S' O. Q4 @6 e" r4 `# G8 i1 N, l- A, Q
18.在流水线的第二阶段 译码decode读寄存器
  x8 ]2 o* o& ]- p( o
$ I% S1 Y$ y9 W8 ?

1 Q3 E. b& H8 X! p  g: W# B2 m. g/ g( w# e4 c
  ?3 ?" O1 c. c. B  w8 O! b
  ]% O# k( S+ u! J& R/ f$ i
2 _& \" `# N- i4 N. m1 l

该用户从未签到

2#
发表于 2019-9-26 19:02 | 只看该作者
ARM 基础知识记录。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 03:00 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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