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

ARM 基础知识记录

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 mytomorrow 于 2019-9-26 13:25 编辑
6 j+ p. d1 I0 ~' I; Q" K7 ?4 k, w- i, e8 E( t$ u
1.ARM: Advanced RISC Machine 高级精简指令集计算机
' h! N* }- O( d3 T9 Z2.RISC: Reduce Instruction set Computer 精简指令集,周期执行等长,固定指令长度

. k# ^* L4 P5 C% Y+ v2 \9 ]1 W& D
3.哈佛与冯诺依谩的区别:
) F$ p: R3 d4 G, Q/ K; W  }2 p

3 j/ ?1 G% p% |) j8 v9 y/ C1 D    CPU在一个周期内能否同时操作数据和指令instruction cache 和data cache分开为哈佛结构,没有分开为冯诺依谩结构    Note: ARM7三级流水线冯诺依谩结构 ARM9五级流水线哈佛结构

- a& E, J/ H% @0 Y* w# W
$ G8 a5 o5 r! Y2 p2 t. S2 N 4.ARM特点: 低功耗、移动手持设备

* Q0 O% ?% @5 D) E5 C& `9 ]
# ]% r4 h; |: K9 |5 F. K 5.编程模型: ARM 32位架构指的是数据总线<---->字
; B! q4 S+ W" x3 t+ e

% i6 a$ u% P1 ?' j. M 6.工作模式: 7种工作模式            usr 非特权模式|------------------|空间共用            system  系统模式| $ m9 Y: z6 V- W
            FIQ 快速中断模式|* [- N/ k) v# s9 Y
            IRQ 外部中断模式|: U3 B- q% d* w+ D. K5 ~3 ]
            abort 异常模式 |异常模式  % b$ X- s7 z1 Q3 T9 X" s; h0 e
            undef 未定义模式 |
* s! x% m+ C; ]            supervisor 管理模式 |

8 q1 w: I1 v6 @9 ^6 U- ], R7 o5 b# w
7.寄存器: R13:SP栈指针。R14:LR 链接返回。R15:PC 程序计数器
, j# I$ [( y! a
2 X/ I+ n% B/ u3 K& s6 s
8.ARM有37个32位长的寄存器 . w- S4 ~6 R6 {+ ~$ M
    1个 R15 PC(Program counter)
7 c" f9 r3 V6 F% s    1个  CPSR(Current program status register) - l) C( n4 ]" j- @8 J1 r' d6 t, h( f
    5个  SPSR(saved program status register)
! l( A. t- O4 i* e  U7 _    30个通用寄存器3 F; q4 A0 ~) Y
     R0-R12:五种模式公有 除FIQ(usr 和system算一种)13个|
7 b. `4 I% d; [. a, ]) y    FIQ:私有寄存器R8-R12             5个 |30个通用寄存器
6 y/ r0 t, o% ]    R13:R14:六种模式都是私有的           2*6=12个|
/ f2 {9 y; `' U) x. q! }: q    PC :公有 1个
& ?9 L) T" h, @! [$ A& D    状态寄存器:CPSR 公有1个& S6 J- j" _2 u: a
    SPSR 私有5个(usr没有)
; M+ u0 e% t8 t$ d. Z    Note:(Crotex A  中monitor又多3个,一共是40个)

! @" @" F4 E& c# N
7 l" [! b3 l- C; }$ q" P9.CPSR 当前程序状态寄存器 current program status register可以在任何处理器模式下被访问) n$ a1 Y/ |( `" m$ z
        1)ALU (atithmetic logic unit,算术逻辑单元)状态标志的备份6 A: T8 v- V5 n2 ]/ w' T9 \
        2)当前处理器的模式
4 D0 p; N6 v% S6 F9 H        3)中断全能标志1 Z7 ]2 |2 }+ _, W/ ]2 X
        4)设置处理器的状态(只有在4T架构)

, t4 }3 A3 I$ S( }9 Y6 M. z( ^6 o' E) r5 N/ B; n
10.CPSR复位后 进入supervisor模式,ARM状态

3 D7 o$ i6 f# |& B$ J; C
, P+ `& t- y- i8 @11.ARM状态32位4字节对齐,特点最后两位无效为0.PC的bit[1:0]=0

" ~4 {% l8 E' T  A+ u& g* {  K" ^1 Q. ~/ p  {. o7 S$ J
12.当异常产生时:   
& h5 {" M& g. _4 _  h
        1)系统会拷贝CPSR到SPSR,设置CPSR状态6 ~6 A+ r1 R. G' Y' p& R& q9 W5 n
        2)返回由程序员恢复SPSR-->CPSR
4 t: m- ?5 t$ n# T2 r0 @

+ l$ a: L% l3 T13.ARMv4所有指令都是条件执行。ARMv5有一条BX非条件执行

  E: C. j2 j+ V0 i4 F6 P) W
, R+ ]! s/ u" J) E% a14.Thumb代码比ARM代码的优势
1 f% y4 n, Y1 D9 N2 \7 g9 [
    1)代码密码是ARM的65%
& E! y. M, D% h    2)方便窄内存操作

' @2 O( M' T- \. L5 V& {
: J1 X/ D# u" e/ d7 d15.DMIPS: 一秒种执行的速度.CPI:指令执行的百分率周期/指令

5 F$ i1 P2 B! \' ?# r. t7 }
! u6 [) x- ?+ M16.指令流水线结论:' E1 P! k) _9 L1 u
    1)Execute Address=PC-8
- g  y  `' m4 l1 |# k2 Y  y    2)IRQ的lr=PC-4.  BL、undef:lr=PC* t( O$ o5 _8 z. h$ L; T' F# O1 U# n
    3)LDR互锁条件:LDR的目的地址在下一周期的源地址出现1 y6 b! l! J* f! L' o
    LDM(多内存操作)的条件:最后一个寄存器在一个周期作为源地址使用

% j: p' Y4 R  M; b, P; K% |: a' Q* Y. V, h% l* x0 t
17.ARM9E: E支持DSP。ARM9TDMI:支持调试,IDE

( |6 y7 {! c8 q9 O0 \4 W
8 m1 a8 _3 m0 G0 E$ g! v+ j  i18.在流水线的第二阶段 译码decode读寄存器
0 {3 @$ ?8 Z6 u) m

& w6 c8 E/ q, j" }) v+ c9 T

1 k$ s0 h, X1 S: r1 A5 w/ M& B9 I' v: ^5 N

* X3 a/ B# \. }1 i; ]" Z$ D* ]! u% `
' Q) P" k7 U6 D: N
# C5 k' y* G4 z; O

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 00:43 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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