开启辅助访问 切换到窄版

楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
相信大家经常会遇到这两个词,比如STM32f103系列内核为Cortex-M3,CC2640系列内核有Cortex-M3、Cortex-M0,而S3C2400A却是基于ARM920T核心,那么ARM、Cortex到底是什么意思呢,它们之间又有什么关联与区别吗,下面待我一一道来。

从上面这张图我们大概可以看出其实Cortex是ARM中的一种,那么ARM是什么鬼呢,不急,知己知彼,方能百战百胜。
首先我们来介绍一下ARM:
1990年11月,ARM公司成立于英国,原名Advanced RISC Machine有限公司。ARM即可以认为是一个公司的名字,也可以认为是对一类微处理器(处理器通常指微处理器(CPU)、微控制器(单片机)和数字信号处理器(DSP)这三种类型的芯片)的通称,还可以认为是一种技术的名字。
了解了ARM的简介在来了解一下ARM的体系结构版本:
ARM32位体系结构目前被公认为是嵌入式应用领域领先的32位嵌入式RISC(精简指令集计算机)微处理器结构。自诞生至今,ARM体系结构发展并定义了7种不同的板本,分别从V1板架构到V7板架构
接下来就是画重点的时刻,ARM处理器系列:
ARM7、ARM9系列:ARMv4板架构;
ARM9E、ARM10E系列:ARMv5板架构;
ARM11系列:ARMv6板架构;
ARM-Cortex 系列:ARMv7板架构。
现在是不是又有一点要明白的感觉了,继续看将让你豁然开朗。
ARM7:
ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS(实时操作系统)不需要MMU,当然可以在ARM7上运行。
ARM9、ARM11:
ARM9、ARM11,是嵌入式CPU,带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。

ARMv7板架构:
到了ARMv7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。
三大系列分工明确:
“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;
“R”系列针对实时系统;
“M”系列对微控制器。
简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。

所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。
Cortex-M系列优点差异:
Cortex-M0优点:能耗最低的最小ARM处理器、超低的能耗、简单、优化的连接性。
Cortex-M3优点:提供更高的性能和更丰富的功能、性能和能效、全功能、丰富的连接。
Cortex-M4优点:高能效数字信号控制、易于使用的技术
好了,现在想必大家都知道了ARM与Cotrex的概念了,最后放上一张从网上找的Cotrex-M3与ARM7的区别图,帮助大家深入理解。

青春不分离
梦想不散场

  
转发、关注、点好看
都是我最大的动力

本帖子中包含更多资源

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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