ARM基础笔记(一)

cpu执行指令的过程:
由指令计数器PC通过地址总线去访问目标地址,
目标地址的数据通过数据总线存放到指令寄存器里面;
再通过指令译码器把数据转换成机器码;
再传输到相应的运算器进行运算.
运算后把结果返回存储的内存当中(应该存在内存的栈区)
pc+4(thumb状态+2),继续读取下一条指令;

2.(指令集)
RISC:经典指令集处理器,(去除复杂的运算器,只留下约百分之20的简单运输器,复杂操作,利用简单运算器的多种组合实现)
体积小,功耗低
性能不好,运算慢
应用于嵌入式移动终端比如单片机.
CISC:复杂指令集,性能好,价格贵,体积大
应用于pc机上.
3.
指令集:处理器能够识别的指令的集合(程序译码之后的指令(机器码010101))
ARM支持的数据类型:
字节(byte):8 bits 半字(halfword):16 bits 字(word):32bits
4.
cpu:
内存:
硬盘:
5.
arm的8种模式:
user : 普通用户模式,执行应用程序的状态下处于这种用户模式.
FIQ: 当一个高优先级的(硬件)中断产生后arm处与快速中断模式.
IRQ:当一个低优先级的(硬件)中断产生后arm处与普通(外部)中断模式
SVC: 当复位或程序进行软中断(软件中断(中断程序))的时候处于SVC(超级用户)模式.
Abort : 当产生存取异常的时候arm进入Abort(终止)模式
Undef :当执行未定义的指令时候进入Undef(指令未定义)模式
System :使用和User模式相同寄存器时处于特权(系统)模式
Monitor: 监控模式
6.
寄存器组织:(处理器内部的存储器)作用:暂时存放运算数据和结果.
arm A 9共40个寄存器 17个通用寄存器(R0~R15和CPSR)
stm32里面只有37 个 没有监控模式下的三个专用寄存器
在这里插入图片描述
R15
程序计数器PC,用于存放当前取址指令的地址
R14
链接寄存器 LR
用于跳转时保存下一条指令的地址
用于中断时保存跳转前(中断处理完成后)的地址
R14=3
栈指针呢个SP【】,用于存储当前模式下的栈顶地址
CPSR
为当前程序状态寄存器 是一个32位寄存器
分为四个区域:
07:04模式位 控制在八(1000)下的那种工作模式 5:状态位 0:arm 1:thumb 6:FIQ 0:开启 1:禁止 7:IRQ 0:开启 1:禁止
28~31: 运算器结果位: 31位:1:产生负数 else :0 30:1 :结果为 0 else 0 29, 进位借位 加法进位置1 减法借位置0 28:溢出标志位 加法进位置1 减法借位置0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值