Cortex-M3 处理器

Cortex-M3是一个32位微处理器内核,采用哈佛结构,支持32位Thumb-2指令集,放弃32位ARM指令。它拥有32位数据路径、寄存器和存储器接口,R0-R15通用寄存器,其中R13作为banked堆栈指针,R14为连接寄存器,R15为程序计数器。特殊功能寄存器包括PSRs、中断屏蔽寄存器和控制寄存器。Cortex-M3支持4GB存储空间,并使用独立的指令和数据总线实现高效并行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cortex-M3 是一个 32 位处理器内核。内部的数据路径是 32 位的,寄存器是 32 位的,存储器接口也是 32 位的。CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访
问并行不悖。如图:

 ARM处理器一直支持两种形式上相对独立的指令集,它

们分别是:

32位的ARM指令集。对应处理器状态:ARM状态
16位的Thumb指令集。对应处理器状态:Thumb状态
       
     Thumb-2Thumb的超集,它支持both16位和32位指令。从图中可见,Cortex-M3勇敢地拒绝了32位ARM指令集,却把自己的处理能力以身相许般地全托给Thumb-2指令集。
      Cortex-M3 处理器拥有 R0-R15 的寄存器组。
R0-R12 都是 32 位通用寄存器,用于数据操作。但是注意:绝大多数 16 Thumb 指令只能访
R0-R7,而 32 Thumb-2 指令可以访问所有寄存器。

 

Banked R13: 两个堆栈指针
Cortex-M3 拥有两个堆栈指针,然而它们是 banked,因此任一时刻只能使用其中的一个。
主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包
括中断服务例程)
进程堆栈指针(PSP):由用户的应用程序代码使用。
堆栈指针的最低两位永远是 0,这意味着堆栈总是 4 字节对齐的。
R14:连接寄存器
当呼叫一个子程序时,由 R14 存储返回地址,就是子程序的断点地址
R15:程序计数寄存器
指向当前的程序地址。如果修改它的值,就能改变程序的执行流。
特殊功能寄存器
Cortex-M3 还在内核水平上搭载了若干特殊功能寄存器,包括
程序状态字寄存器组(PSRs
中断屏蔽寄存器组(PRIMASK, FAULTMASK, BASEPRI
控制寄存器(CONTROL

  存储器映射

Cortex-M3 支持 4GB 存储空间

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值