[APM32F0] cortex-M0+相比cortex-M0有哪些改动

[复制链接]
 楼主| 我喜欢打游戏 发表于 2024-11-13 20:51 | 显示全部楼层 |阅读模式
1.增加向量表重定位(VTOR),向量表默认存放在存储器初始地址,可以通过重定位,修改到SRAM或其他存储器区域。
2.从三级流水线(取指,译码,执行)改为两级(取指+预译码,译码+执行),减少了寄存器的数量及对应的面积和功耗,也减少了跳转指令带来的性能损失。为了避免流水线级数降低对最大时钟频率的影响,CPU设计时已经对预译码和译码进行了时序的平衡,另外在实际使用中,大多数芯片实际的工作频率较低。
3.增加了单周期I/O接口,这一接口的引入使M0+具有了哈佛结构的特征,但是因为主要的AHB master只有一个,因此还认为是冯诺依曼架构。
4.增加了MPU(可选)
5.增加了MTB(可选),实现低成本的指令跟踪(trace)。


呐咯密密 发表于 2024-11-14 20:33 | 显示全部楼层
应该是内核差不多,做了一些小升级
菜鸟的第一步 发表于 2024-11-16 20:29 | 显示全部楼层
Cortex-M0+相对于Cortex-M0的主要改动包括:

1. **流水线优化**:Cortex-M0+采用了两级流水线设计,相较于Cortex-M0的三级流水线,这可以减少寄存器的数量及其对应的面积和功耗,同时减少了跳转指令导致的性能损失。

2. **单周期I/O接口**:Cortex-M0+增加了单周期I/O接口,这使得其具有了类似哈佛架构的特点,虽然主AHB master只有一个,但这个变化提高了数据处理的效率。

3. **向量表重定位(VTOR)**:Cortex-M0+支持向量表重定位,这意味着向量表可以从默认的存储器初始地址移动到其他位置,如SRAM或其他存储器区域,提供了更大的灵活性。

4. **MPU(可选)**:Cortex-M0+增加了对MPU的支持,这允许操作系统在运行时定义应用任务的存储器访问权限,增强了系统的内存保护能力。

5. **微跟踪缓冲(MTB,可选)**:Cortex-M0+支持微跟踪缓冲,这是一个用于低成本指令跟踪的功能,有助于调试和性能分析。

6. **功耗和性能改进**:Cortex-M0+设计用于提供更低的功耗和更高的性能,同时保持与Cortex-M0的兼容性和软件可移植性。

这些改动使得Cortex-M0+在保持低成本的同时,提供了更好的性能和更灵活的系统设计选项。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

626

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部