一、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等。