CORTEX-M系列处理器

news2024/10/6 20:38:48

1.ARM处理器的发展

随着智能终端、人工智能、5G、物联网等技术的快速发展,半导体行业蓬勃发展了数十年。处理器芯片作为这些技术的“心脏”,迎来了井喷式的增长。世界主流的处理器分为4大类:Interl公司和AMD公司的的X86架构处理器,ARM公司的ARM架构处理器,IBM公司的PowerPC架构处理器,MIPS公司的MIPS构架处理器。X86构架处理器使用复杂指令集(CSIC), PowerPC、ARM、MIPS处理器都是精简指令集(RSIC)。其中ARM公司发展最快,全世界超过95%的智能手机和平板电脑都采用ARM架构。
在这里插入图片描述
ARM 公司是业界领先的微处理器技术提供商,其提供最广泛的微处理器内核,可满足几乎所有应用市场对性能、功耗及成本的要求。与其它半导体公司不同,ARM不直接生产和销售处理器,而是将处理器的设计授权给芯片设计合作伙伴。一般将这些设计称为 “知识产权”(IP),这种商业模式被称为IP授权
ARM IP授权芯片的结构框图如下:在这里插入图片描述
ARM 公司将处理器的设计授权给芯片制造商,这些芯片制造商基于ARM架构,设计了他们自己的处理器及片上系统方案。除了处理器内核之外,ARM 公司还提供了一系列用于优化片上系统设计的工具、物理和系统 IP授权。
Apple公司的A5芯片内部的集成电路图如下:
在这里插入图片描述
1990年,Acorn公司为与Apple公司合作,成立了名为ARM(Advanced RISC Machines)的公司。1991年ARM公司发布了ARM6处理器,随后发布了ARM7、ARM9、ARM10、ARM11系列处理器。

在ARM公司发布ARM11处理器之后,ARM公司发布了Cortex系列处理器。越后发布的处理器内核,工作频率越高、架构越先进,功能也越强。ARM处理器发展如下图:
在这里插入图片描述

2.CORTEX系列处理器

ARM公司在发布经典处理器ARM11以后,后面发布的产品命名改用Cortex,Cortex意味着“新的开始”。市场极为多样化,它涵盖数不胜数的产品细分领域,为了很好地满足市场的多样化要求,ARM公司将Cortex处理器分为三个系列:Cortex-A、Cortex-R 和 Cortex-M。
Cortex A、R 和 M 系列的应用差异如下所示:
在这里插入图片描述
三个系列的Cortex处理器所采用的技术也不相同,Cortex-A处理器基于ARMv7-AARMv8-A架构,Cortex-R处理器基于ARMv7-R架构,Cortex-M处理器基于ARMv7-MARMv6-M架构。
在这里插入图片描述
Cortex-A处理器
Application Processors(应用处理器)面向高端智能手机、电视、服务器等市场的高端处理器。Cortex-A处理器运行在超过1GHz时钟频率,支持Linux,Android, Windows,iOS等操作系统的复杂应用。这些应用需要强大的处理能力,支持存储管理单元MMU等虚拟存储系统,可选的增强java支持和安全的程序执行环境。
在这里插入图片描述
Cortex-R处理器
Real-time Processors (实时处理器)面向实时应用的高性能处理器系列,例如硬盘控制器,汽车传动系统和无线通讯的基带控制。多数Cortex-R实时处理器不支持MMU,不过通常具有MPU、Cache和其他针对工业应用设计的存储器功能。实时处理器运行在比较高的时钟频率(例如200MHz 到 >1GHz ),响应延迟非常低支持FreeRTOS,UCOS等大量的实时操作系统(RTOS)
在这里插入图片描述
Cortex-M处理器
Microcontroller Processors(微控制器处理器),微控制器处理器通常设计成面积很小和能效比很高。通常这些处理器的流水线很短,最高时钟频率很低(100Mhz左右)。Cortex-M处理器家族设计的非常容易使用,特别适合低功耗应用和物联网应用。
在这里插入图片描述

3.CORTEX-M系列分类

截止2023年,ARM公司把Cortex-M分为:M0,M0+,M1,M23,M3,M4,M33,M35P,M55,M7,M85一共11个系列,Cortex-M各系列功能对比如下图:
在这里插入图片描述
为了针对不同的应用领域,ARM公司把Cortex-M分为众多系列:

M0:Cortex-M系列中的基础版本,绝大部分功能都不具备,性能较低,运算能力为0.9 DMIPS/MHz,特点是具有较好的低功耗特性。

M0+:Cortex-M系列中的基础版本,绝大部分功能都不具备,性能较低,运算能力为0.9 DMIPS/MHz,特点是具有较好的低功耗特性。

M1:Cortex-M1是第一个专为 FPGA 中的实现设计的 ARM 内核。Cortex-M1 内核使 OEM 能够通过在跨 FPGA、ASIC 和 ASSP 的多个项目之间合理地利用软件和工具投资来节省大量成本。

M23:Cortex-M23是Cortex-M系列中最节能的,其使用的是ARMv8-M架构,与类似的Cortex-M0和Cortex-M0+产品在同一频率下的表现相比,Cortex-M23的代码执行效率分别要高上40%和30% 。

直观的比如:Cortex-M23 = Cortex-M0/M0 + 硬件除法器 + 性能提升 +专门的栈溢出硬件检测+指令集不可忽略的小动作
+安全扩展(TrustZone for Armv8-M) +MPU开发者模型的友好化改进

M3:Cortex-M3是目前最主流的ARM内核选型,这款内核具有非常均衡的能力:较高的性能,较低的功耗,较低的成本,是一款性价比非常高的ARM内核。

M4 :比较着M3的内核来说,M4内核添加了浮点运算单元,如果应用需要大量浮点数据的运算的时候,M4内核会大大提高处理器性能和运算速度,比如项目是平衡车或者平衡器的时候选择M4比较好。

M33:Cortex-M33是首款采用TrustZone 安全技术和数字信号处理技术的ARMv8-M全功能实现处理器。该处理器可以支持大量灵活的配置选项,并在广泛应用中进行部署,此外还提供专用的协同处理器界面以支持经常需要加速和大量运算的运作。Cortex-M33是一款在性能、功耗、安全与生产力之间达到最佳平衡的处理器。

直观的比如:Cortex-M33 =Cortex-M3/M4 + 性能提升 +专门的栈溢出硬件检测+指令集不可忽略的小动作
+安全扩展(TrustZone for Armv8-M)+MPU开发者模型的友好化改进

M35P:Cortex-M35P是一款高性能处理器,可帮助嵌入式安全开发人员阻止物理篡改并实现更高级别的安全认证。它是Cortex-M系列中的第一款具有设计防篡改功能的处理器。它还包括用于软件隔离的ARM TrustZone技术,使设计人员可以更轻松,更快速地将多层支付或通过电信认证的安全性嵌入到任何设备的核心。Cortex-M35P有的两个安全知识产权CryptoCell和CryptoIsland都可以使用技术来抵御各种攻击。

M55:Cortex-M55 处理器是第一个支持 Armv8.1-M 架构的Cortex-M 处理器。与同系列产品相比, Cortex-M55内部集成了 Helium 技术(也称为 M-Profile Vector Extension,MVE),Helium技术用于Cortex-M内核的M-Profile矢量扩展,为其提供高达15倍的机器学习性能和高达5倍的信号处理能力。基于 Cortex-M55的产品在信号处理和AI应用中体现了极大的优势,性能和能耗有了显著的提高。

M7:Cortex-M7处理器是一款高效、高性能的嵌入式处理器,具有低中断延迟、低成本调试和向后兼容现有Cortex-M配置文件处理器的特点。处理器有一个有序的超标量管道,这意味着许多指令可以双重发出。

M85:Cortex-M85是Cortex-M 系列中中性能最强的 CPU(没有之一),其性能超过 6 CoreMark/MHz 和 3 DMIPS/MHz,非常适合高性能物联网、工业控制和汽车应用。同时,Cortex-M85 采用了 Arm Helium 技术,机器学习和数字信号处理 (DSP) 能力较 Cortex-M7有了显著提升。这些优势使其成为注重计算性能的微控制器 (MCU) 应用中的强大内核。

4.CORTEX-M系列处理器介绍

Cortex-M0

在这里插入图片描述
发布时间: 2009年
性能概述:
Cortex-M0最大特点是低功耗的设计。Cortex-M0为32位、3级流水线RISC处理器,其核心仍为冯.诺依曼结构,是指令和数据共享同一总线的架构。CortexM0其核心架构为ARMv6M,其运算能力可以达到0.9 DMIPS/MHz,而与其他的16位与8位处理器相比,由于CortexM0的运算性能大幅提高,所以在同样任务的执行上CortexM0只需较低的运行速度,而大幅降低了整体的动态功耗。可让研发工程师以8位的价位创造32位的的效能,并将传统的8位和16位的处理器升级到更高效、更低功耗的32位处理器。

代表芯片:

意法半导体公司发布的STM32F030芯片,基于Cortex-M0内核,最高主频可达48MHz ,内部集成16K Flash和 4KSRAM,采用90nm制程工艺,售价约为人民币5元。
在这里插入图片描述

Cortex-M0+

在这里插入图片描述
发布时间: 2012年
性能概述:
Cortex-M0+处理器采用了低成本90纳米低功耗(LP)工艺,耗电量仅 9μA/MHz,约为主流8位或16位处理器的三分之一,却能提供更高的性能。Cortex-M0+处理器的特点促成了智能、低功耗微控制器的面市,并为“物联网”中大量的无线连接设备提供高效的沟通、管理和维护。

代表芯片:
意法半导体公司发布的STM32L053芯片,基于Cortex-M0+内核,最高主频可达32MHz ,内部集成64K Flash和 8KSRAM,采用90nm制程工艺,售价约为人民币10元。在这里插入图片描述

Cortex-M1

在这里插入图片描述
发布时间: 2007年
性能概述:
Cortex-M1 处理器是第一个专为 FPGA 中的实现设计的 ARM 处理器,它是流水线三级32位RISC处理器,采用了流行的高密度ThumbR-2指令集。它同时支持处理器和软件要求,满足了最小FPGA的面积预算,Cortex-M1处理器依然实现了每MHz0.8 DMIPS。利用Cortex-M1处理器,能够在FPGA和HardCopyRASIC以及分立器件中发挥其ARM体系结构的专业技术优势。
代表芯片:
ACTEL公司发布的A3P1000芯片是一款内嵌Cortex-M1核的FPAG,最高工作频率可达350MHz ,采用130nm制程工艺,售价约为人民币300元。在这里插入图片描述

Cortex-M23

在这里插入图片描述
发布时间: 2016年
性能概述:
Cortex-M23简单的理解就是在Cortex-M0/M0+基础上增加了安全扩展。因此Cortex-M0/M0+编译生成的二进制代码基本上都可以“无修”的在Cortex-M23/M33上执行(除非你原本的代码使用了MPU)。Cortex-M23配备了硬件除法器,提升了硬件性能。
代表芯片:
新唐科技公司发布的M2351SF芯片,基于Cortex-M23内核,最高工作频率可达64MHz ,内部集成512K Flash和 96KSRAM,,售价约为人民币50元。在这里插入图片描述

Cortex-M3

在这里插入图片描述
发布时间: 2004年
性能概述:
Cortex-M3内核处理器适用于成本受限应用中的高性能、实时处理,并可以处理复杂任务。它提供高可扩展性,实现性能与成本的最佳平衡小尺寸内核使其能够用作小设备中的单核心,或在需要特定硬件隔离或任务划分时,用作额外的嵌入式配套内核。得益于硅制造技术的进步,光刻工艺从180nm发展到90nm或以下,采用90nm光刻工艺时,内核的硅面积达到了0.03mm²。与Cortex-M0和Cortex-M0+相同的是,Cortex-M3内核对基于I/O、模拟和非易失性存储器的MCU架构的各典型单元之间取舍的影响很小。
代表芯片:
意法半导体公司发布的STM32F103芯片,基于Cortex-M3内核,最高主频可达72MHz ,内部集成64K Flash和 20KSRAM,采用90nm制程工艺,售价约为人民币6元。
在这里插入图片描述

Cortex-M4

在这里插入图片描述
发布时间: 2010年
性能概述
Cortex-M4处理器采用一个扩展的单时钟周期乘法累加(MAC)单元、优化的单指令多数据(SIMD)指令、饱和运算指令和一个可选的单精度浮点单元(FPU),用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。其高效的信号处理功能与Cortex-M处理器系列的低功耗、低成本和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。
代表芯片:
意法半导体公司发布的STM32F401芯片,基于Cortex-M4内核,最高主频可达84MHz ,内部集成512K Flash和 64KSRAM,采用90nm制程工艺,售价约为人民币20元。在这里插入图片描述

Cortex-M33

在这里插入图片描述
发布时间: 2016年
性能概述:
Cortex-M33 内核处理器适用于需要高效的安全性或数字信号控制的IoT和嵌入式应用。该处理器有许多可选功能,其中包括数字信号处理扩展(DSP)、用于实现硬件强制隔离的TrustZone安全、存储器保护单元(MPU)和浮点单元(FPU)。Cortex-M33比Cortex-M4的性能大约高20%,并达到了1.5 DMIPS/MHz和4.02 CoreMark/MHz。Cortex-M33处理器可实现实时确定性、能效、软件生产率和系统安全性的最佳综合。
代表芯片:
意法半导体公司发布的STM32H562芯片,基于Cortex-M33内核,最高主频可达250MHz ,内部集成2M Flash和 640KSRAM,采用40nm制程工艺,售价约为人民币50元。
在这里插入图片描述

Cortex-M35P

在这里插入图片描述
发布时间: 2018年
性能概述:
Cortex-M35P是第一款提供防物理篡改功能的Armv8-M处理器,使处理器核心有能力更容易、更快速地取得支付级或电信级的安全认证。Cortex-M35P还是一款包含了多层次安全结构的处理器,结合了使用Arm TrustZone技术实现的软件保护与SecurCore系列处理器中的物理保护。Cortex-M35P是Arm安全产品组合的延伸,遵循Arm的PSA平台安全架构原则。
Cortex-M35P处理器以及一套全新的、可防侧信道攻击的安全IP(CryptoIsland-300P和CryptoCell-312P)。
代表芯片:
意法半导体公司发布的ST33K1芯片,基于Cortex-M35内核,最高主频可达63MHz ,内部集成1.5M Flash和 640KSRAM。
在这里插入图片描述

Cortex-M55

在这里插入图片描述
发布时间: 2020年
性能概述:
Cortex-M55 处理器是第一个支持 Armv8.1-M 架构的 Arm 处理器。与同系列产品相比,借助 Helium 技术(也称为 M-Profile Vector Extension,MVE),基于 Cortex-M55的产品在信号处理和AI应用中体现了极大的优势,性能和能耗有了显著的提高。Cortex-M55 将为下一代小型嵌入式设备(包括可穿戴设备、智能扬声器等)带来更高水平的机器学习和信号处理性能。

代表芯片:

Cortex-M7

在这里插入图片描述
发布时间: 2014年
性能概述:
Cortex-M7是ARM架构中一款高性能、低功耗的嵌入式处理器核,专为实时、低功耗应用而设计。它是Cortex-M系列中最先进的处理器核之一,提供了强大的计算能力和丰富的外设接口,适用于广泛的嵌入式应用领域,包括工业自动化、智能电网、汽车、医疗设备等。

代表芯片:
意法半导体公司发布的STM32F746芯片,基于Cortex-M7内核,最高主频可达216MHz ,内部集成1M Flash和 320KSRAM,采用40nm制程工艺,售价约为人民币100元。
在这里插入图片描述

Cortex-M85

在这里插入图片描述
发布时间: 2022年
性能概述:
Cortex-M85是Cortex-M产品组合中性能最高的(没有之一),它的标量性能超过6 CoreMark/MHz和3 DMIPS/MHz。Cortex-M85集成了Arm Helium技术,Cortex-M85表现出比Cortex-M7高得多的机器学习(ML)和数字信号处理(DSP)能力。相比于Cortex-M7标量性能提升了30%,相比于Cortex-M55机器学习性能提升了20%,这意味着新的处理器内核将更加智能,其性能与品质也达到了新的高度。同时集成Arm TrustZone安全技术、指针认证、分支目标识别 (PACBIT),使用中对于安全攻击有更好的抵御能力,相较于以往的产品,有了明显的升级。这些优势使Cortex-M85成为微控制器(MCU)应用的一个非常强大的内核,因为计算性能是关键。

代表芯片:

创作不易希望朋友们点赞,转发,评论,关注!
您的点赞,转发,评论,关注将是我持续更新的动力!
CSDN:https://blog.csdn.net/li_man_man_man
今日头条:https://www.toutiao.com/article/7149576260891443724

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/757235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用集合框架实现-超市会员管理系统

借助集合框架来实现超市会员管理系统,实现以下功能: 1.开卡 2.积分累计 3.查询剩余积分 4.积分兑换 5.修改密码 6.退出 -------------------------------------------------------------------------------------------------- 展示&#x…

第一堂棒球课:MLB棒球大联盟青训体系·野球1号位

介绍MLB棒球大联盟青训体系 1. 引言 这里我们将深入探讨MLB棒球大联盟青训体系的故事,了解它是如何成为全球青少年最梦寐以求的梦想,以及它对世界棒球运动产生的深远影响。 MLB棒球大联盟青训体系,即MLB Youth Coaching Program&#xff0c…

java项目之东理咨询交流论坛(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的东理咨询交流论坛。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框架…

Java并发编程(10) —— ReentrantLock类详解

一、ReentrantLock介绍 ReentrantLock是juc.locks包中的一个独占式可重入锁,相比synchronized,它可以创建多个条件等待队列,还支持公平/非公平锁、可中断、超时、轮询等特性。 ReentrantLock实现Lock接口实现了一个锁所需的方法&#xff0c…

CSS基础特性

一、CSS概述 1.1、概述 CSS(层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS 不仅可以静态地修饰网页,还可以配合…

[JVM] 3. 类加载子系统(2)-- 类加载器、双亲委派机制(JDK1.8及之前)及其他

前言 JDK1.8及之前和JDK9及之后的双亲委派模型是不一样的&#xff0c;这里学习了1.8及以前的双亲委派模型&#xff0c;记录笔记 一、类加载器 1.8之前主要是这几种类加载器&#xff1a; 1. 启动类加载器(Bootstrap ClassLoader)&#xff1a; 负责将存放在<JAVA_HOME>…

JavaScript中值和变量

值是指可以存储在计算机内存中的数据。这些数据可以是数字、字符串、布尔值、对象等。变量是一种用于存储值的容器。 ● 在JS中&#xff0c;我们可以使用let参数也创建一个变量&#xff0c;使用给变量赋值&#xff0c;例如 let ITshare "IT知识一享";● 之后我们打…

力扣小技巧:如何用最简单的方式实现小写字母转换

本篇博客会讲解力扣“709. 转换成小写字母”的解题思路&#xff0c;这是题目链接。 本题的解法非常简单&#xff0c;只需利用tolower函数即可。这个函数的作用是将所有大写字母转换为小写字母&#xff0c;而对其他字符不做任何改变。 char * toLowerCase(char * s){// 把字符串…

1769_Source Insight数字前缀后缀乱码解决方法

全部学习汇总&#xff1a; GreyZhang/editors_skills: Summary for some common editor skills I used. (github.com) 这算是一个偶然的发现&#xff0c;写代码的时候发现十六进制的数字显示前缀0x显示错误。如果只输入一个0x正常&#xff0c;写成一个十六进制数据诸如0x123之后…

分析中心常见的协议字段以及语法

布尔运算符 基本语法 图中以及描述得很详细了。 日志检索高级查询语法 通配符查询&#xff1a;在一项内的单个字符用&#xff1f;去查&#xff0c;多个字符用*去查询&#xff0c;例如想查mysql和mssql就可以使用db_type:m?sql 去查询&#xff0c;而要查sql结尾就用 *sql 去…

SQL Server启用sa账户

一、简介 在安装好 SQL Server 后&#xff0c;默认 sa 用户是禁用且也没有启用 SQL Server 登陆验证&#xff0c;这需要手动开启。接下来&#xff0c;开始我们今天的教程吧。 二、sa 登陆 2.1 启用 sa 首先&#xff0c;使用 Windows 验证登陆 登陆成功后&#xff0c;找到…

Java032——反射(Reflection)

一、Java中的反射及作用 Java的反射(reflection)机制是指在程序的运行状态中&#xff1a; 可以构造任意一个类的对象&#xff0c;可以了解任意一个对象所属的类&#xff0c;可以了解任意一个类的成员变量和方法&#xff0c;可以调用任意一个对象的属性和方法。 一句话&#…

数据结构day2(2023.7.15)

一、Xmind整理&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;定义车的信息&#xff1a;品牌&#xff0c;单价&#xff0c;颜色&#xff0c;车牌号 struct Car{char name[20]; //品牌int price; //单价char color[10] //颜色char id[20] //车牌…

Spring【 Spring整合MyBatis、SpringAOP(AOP简介 、AOP相关术语、AOP入门)】(五)-全面详解(学习总结---从入门到深化)

目录 Spring整合MyBatis_准备数据库和实体类 Spring整合MyBatis_编写持久层接口和service类 Spring整合MyBatis_Spring整合Junit进行单元测试 Spring整合MyBatis_自动创建代理对象 SpringAOP_AOP简介 SpringAOP_AOP相关术语 SpringAOP_AOP入门 Spring整合MyBatis_准备数据…

推荐几个github上非常受欢迎的库

推荐几个github上非常受欢迎的库 The Book of Secret Knowledge the-book-of-secret-knowledge 这个仓库里边包含了一系列非常有趣的手册、备忘单、博客、黑客、单行话、cli/web 工具等。 Coding Interview University coding-interview-university 这里列出的项目可以帮助…

基于Ubuntu20.4的TMS320C6678开发环境(CCS8.3.1)的搭建

网上关于ccs的安装大多是基于ccs5及以前的版本安装介绍或基于windows版本的ccs软件的安装,没有关于linux系统上安装CCS8.3.1的集成开发环境。本文介绍在ubuntu20.4的系统上安装ccs8.3.1的DSP开发环境&#xff0c;本文包括CCS软件和插件的下载&#xff0c;安装。本文在ubuntu20.…

fpga下载程序到flash后无法在重新上电后自动加载程序

可能是接的调试器没有断电&#xff0c;断电一次再给调试器上电。如果调试器一直连着可以连续断电上电fpga开发板&#xff0c;直到成功。fpga貌似上电后什么程序都不加载则引脚为高电平&#xff0c;而vivado默认.xdc的BITSTREAM.CONFIG.UNUSEDPIN&#xff08;未使用的引脚&#…

vue3 - 01搭建工程

1. 使用vue-cli创建工程 1. 命令&#xff1a;vue create xxx2. 选择vue3版本3. 进入目录4. 运行&#xff1a; npm run serve 在执行完运行指令后如果报错请查看是否是以下错误&#xff0c;如果是可以按以下步骤进行解决&#xff1a; ERROR in Conflict: Multiple assets emit …

命令执行绕过

首先以一道BUUCTF题目来开下胃 查看flag&#xff1a; 其次给大家上主菜-----命令执行绕过 命令执行漏洞绕过方式&#xff1a; 管道符 windows中常见管道符&#xff1a; | 直接执行后面的语句 || 如果前面命令是错的那么就执行后面的语句&#xff0c;否则只执行前面的语…

DEV C++ 更改界面语言

第一步&#xff1a;选中tools&#xff0c;然后从里面找Environment optional 第二步&#xff1a;从里面找到Language选项&#xff0c;找到简体中文 选中简体中文后点击“OK”就可以了