ARM,基础、寄存器

1.认识ARM
    1)是一家公司
    2)做RISC处理器内核
    3)不生产芯片
2.ARM处理器的最新发展(重要)
    高端产品线: cortex-A9 主要做音视频开发,例如:手机 平板.....
    中端产品线:cortex-R   主要做实时性要求比较高的系统 例如:汽车的刹车系统
    低端产品线:cortex-M   主要做单片机开发 例如:小恐龙 小马达 手表....
3.编程模型
    1)ARM 采用的是32位架构.
    2)ARM 约定
        byte:8bits
        word:字 4bytes
        halfword:半字   2bytes
        doubleword:双字 8bytes
    3)ARM Core状态
        ARM状态:ARM指令集 即每条指令占4bytes
        Thumb状态:Thumb指令集 即每条指令占2bytes
4. ARM有8个基本工作模式(Cortex-A系列) (重点)
    user:正常模式 正常情况下,程序运行在此模式
    FIQ:快速中断模式(高优先级) 
    IRQ:普通中断模式(低优先级)
    svc:超级用户模式 当复位或软中断异常时cpu切换到此模式
    abort:存取异常模式 越界或访问磁盘出错cpu就会切换到此模式
    undef:未定义指令异常模式 当cpu执行过程中遇到未定义指令时就切换到此模式
    system:同user
    monitor:特权模式 cortex-A处理器特有的模式
5.ARM寄存器(Cortex-A有40个)
    r0-r12: 通用寄存器 13个 每个寄存器4字节
    r13,r14: 2*7=14个
    r15(pc):1个
    cpsr:1个
    spsr:1*6=6个 user/system没有spsr
    FIQ:r8-r12 5个
    
6.寄存器说明
    r13(sp):栈顶指针寄存器 即保存的是栈顶指针 应用:异常、函数调用
    r14(lr):链接寄存器 保存函数或异常的返回地址
    r15(pc):程序寄存器 保存取指指令的地址
    cpsr:当前程序状态寄存器 记录当前cpu的工作模式、中断状态、cpu的状态(ARM/Thumb状态)、运算结果
    spsr:保存当前程序状态寄存器 即 spsr = cpsr 异常
7.cpu的发展历程    
    ARM 体系: ARMv4       ARMv5             ARMv6         ARMv7    
    ARM CPU:   arm7     arm9  arm10          arm11     arm-cortex-a8  
    流水线:    3       5      6              8             13
    频率(MHZ)  80       150   260            335           667 
    MMU        无/有        有                ... 
    结构:    冯诺依曼       哈佛              ...                            

你可能感兴趣的:(arm开发)