ARM Cortex 详解
一、ARM
ARM处理器(Advanced RISC Machines)是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
二、Cortex
ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。简单来说,Cortex就是ARM公司一个系列处理器的名称。比如英特尔旗下处理器有酷睿,奔腾,赛扬。ARM在最初的处理器型号都用数字命名,最后一个是ARM11系列,在应用ARMv7架构后,推出了Cortex这一系列,老式的则命名为Classic系列。
由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。
- A系列,主要应用在人机互动要求较高的场合,如:pda,手机,平板电脑等,A系列类似于CPU,与ARM9和ARM11相对应,都是可以跑操作系统,如:Linux等。
- R系列,是实时控制,主要应用在对实时性要求高的场合,如:硬盘控制器,车载控制产品。
- M系列,通用低端,工业,消费电子领域微控制器,与ARM7相似,不能跑操作系统(只能跑ucos2),偏向于控制方面,说白了就是一个高级的单片机。
ARM7和M3,M4是同一类型。这三个里面,ARM7是最早的ARM产品。M3是Cortex M系列的过渡品,其低端市场被Cortex M0的高端替代, 其高端市场又被Cortex M4的低端取代。现在M系列,是M4内核的。典型的芯片是ST公司和飞思卡尔公司的。
ARM9和Cortex A8是一个类型的,都是跑操作系统的,现在的高端手机,三星,htc等智能手机,就是用的Cortex A8,Cortex A9内核的芯片作为CPU。
- ARM7,ARM9属于v4T或v5E架构。
- ARM11属于v6架构。
- Contex属于v7架构。
ARM7,ARM9的区别在于是否有MMU(存储器管理单元)或MPU(存储器保护单元),架构上v5E相比v4T则是在于v5E新加入的增强型DSP(数字信号处理)指令,v4T则是Thumb指令集的加入,v6架构则是开始支持SIMD以及Thumb2的问世。
三、ARM处理器家族
四、Cortex-M几种内核的简单区别
Cortex-M系列的内核根据性能区分有以下几点:
- 高性能(high-performance)。
- 主流(Mainstream)。
- 低功耗(Ultra-low-power)。
根据不同应用领域区分主要有:M0,M0+,M3,M4,M7等。
- M0,M0+:基础版本,从图中可以看出来,有过于基础,所以生产不出来高性能的STM32的单片机。
- M3:目前最主流的设计内核选型,应用范围广。
- M4:比较着M3的内核来说,M4处理器添加了DSP的数据(这里可以认为是浮点数)处理的指令,重点解释一下:对于CPU(不是SOC)来说,运算浮点类型的数据是很麻烦的一件事,在选型的时候,如若用应用的领域需要大量浮点数据的运算的时候,那么就要选择M4的内核,M4会大大提高处理器性能和运算速度,而如果要要处理的浮点数据不多,则可以直接选择M3内核处理器,比如项目是平衡车或者平衡器的时候选择M4比较好。
- M7:性能好和功耗高兼具,适合追求极致性能项目。
可以认为:数字越大,性能越高。
五、芯片厂商
之前在做车载产品时,接触过了一些芯片,如PX3,i.MX6,STM32 M4,这里做一些芯片厂商信息的收集整理。
- 恩智浦(NXP),如:S32K,i.MX6等。
- 意法半导体(ST),如:STM32 M4等。
- 瑞芯微(Rockchip),如:PX3等。
- 瑞萨电子(Renesas),如:RX 700等。
ARM Cortex 详解相关推荐
- ARM 寄存器 详解
From( ARM 寄存器详解 ):https://blog.csdn.net/sandeldeng/article/details/52954781 ARM 汇编基础教程:2.数据类型和寄存器:ht ...
- 熟悉又陌生的arm 编译器详解(armcc/armclang)
关注.星标公众号,直达精彩内容 素材来源:https://blog.csdn.net/qq_34430371/article/details/125820927 整理:技术让梦想更伟大 | 李肖遥 笔 ...
- 嵌入式:ARM体系结构详解
文章目录 指令集与指令集架构 主要计算机指令集架构 PC及服务器领域 嵌入式领域 新生代 ARM体系结构的演变 ARM发展的历程 指令集与指令集架构 指令:就是指挥计算机工作的命令,程序就是一系列按一 ...
- ARM处理器详解(2)-Cortex R系列
相对Cortex-A系列的内核来说,Cortex-R系列显的格外低调,因为A core主要应用在消费品,尤其是手机,大家拼的就是CPU的性能,所以对A core也了如指掌.但是在某些特殊的领域,比如工 ...
- ARM neon详解
NEON 学习参考文档: ARM NEON优化(一)--NEON简介及基本架构 - Orchid Bloghttp://zyddora.github.io/2016/02/28/neon_1/ neo ...
- 转ARM 指令 详解
算术和逻辑指令 ADC : 带进位的加法 (Addition with Carry) ADC{条件}{S} <dest>, <op 1>, <op 2> dest ...
- arm编程语言基础c,ARM基础:ARM 伪指令详解
/ 4.1 ARM汇编器所支持的伪指令本文引用地址:http://www.eepw.com.cn/article/201611/318753.htm 在ARM汇编语言程序里,有一些特殊指令助记符,这些 ...
- ARM指令详解之Load/Store指令
Load/Store指令 Load/Store指令用于寄存器和内存间数据的传送. Load 用于把内存中的数据装载到寄存器中. Store用于把寄存器中的数据存入内存. 该集合的指令使用频繁,在指令集 ...
- 嵌入式ARM汇编详解(持续更新)
文章目录 零.预备知识 1.ARM与X86 2.ARM中指令的执行 3.ARM的九种寻址方式 立即数寻址 寄存器寻址 寄存器间接寻址 寄存器偏移寻址 寄存器基址变址寻址 批量寄存器寻址 相对寻址 堆栈 ...
- ARM学习-ARM指令集详解
目录 1. ARM 存储器访问指令 1.1 LDR 和STR 加载/存储字和无符号字节指令 1.2 LDM和STM 批量加载/存储指令 1.3 SWP 寄存器和存储器交换指令 2. ARM 数据处理 ...
最新文章
- perl 登录linux服务器,用Perl管理Linux操作系统的配置文件
- 设计模式 之 设计的 六大原则(1)单一职责原则
- html+not选择器,CSS3属性选择器与(:not)选择器_html/css_WEB-ITnose
- ext 部署到 tomcat服务器下,通过http8080端口查看
- 将SpringBoot应用Docker化并部署到SAP云平台
- WinCE中的paging pool
- Mybatisplus代码生成 之SpringBoot适配MYSQL和ORACLE
- vue-router路由详细笔记
- es 创建索引_从一道面试题来看ES的分布式架构原理
- C语言大写字母E转小写e,C语言 大小写字母转换
- 2020 年,React.js 开发者如何更好地修炼内功?
- HDU1290 献给杭电五十周年校庆的礼物【水题】
- [转]C语言嵌入式系统编程修炼之背景篇
- 计算机二级java有用吗_计算机二级java含金量怎么样
- Winserver普通域用户账户无权限启动停止系统服务(启动停止按钮是灰色)
- ORA-39194: Table mode jobs require the tables to be comma separated.
- Android之 APP创建或删除快捷方式
- python爬网站信息_一个爬取实习僧网站信息的爬虫
- 【瑞萨RA4系列】使用TinyMaix识别手写数字
- 我的jQuery学习之路_笔记(五)