原文:https://blog.csdn.net/qlexcel/article/details/79299970
ARM内核和架构都是什么意思,它们到底是什么关系?
1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是内核,后者是指令集的架构。
2.ARM的架构都是基于RISC指令集而架构的,而其内核只是实现这一指令集的硬件架构的基础,Thumb-2指令集架构(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、 、哈佛处理器架构,在加载/存储数据的同时能够执行指令取指,带分支预测的三级流水线等。
3.好比你盖房子,刚开始因为水平低流行盖平房,这就是一种架构(V5T),然后这种平房架构你可以设计出一款独立卫生间的款式, 这叫ARM7内核。 然后其他人(芯片设计公司)想盖房子的就买你这个图纸去盖,接着过一段时间,有人觉得光独立卫生间还不够啊, 我还想有个小院子! 好吧,那ARM就满足你们的要求,出个带小院子的款式(ARM9)。
又过了很久, 这种平房的架构就随着大伙的需求一直改啊改啊,后来经过ARM研究发现: 现在大伙盖房子的能力duang duang直升啊(包括工艺、设计能力、时钟主频),只盖这种平房施展不开啊! 好吧,ARM为了不让这帮设计的人闲着,就推出一种二三层楼房的样式, 这因为跟平房设计结构完全不一样嘛, 那就叫一种新的架构(ARMv6),同样这种楼房样式ARM也为大家准备了带游泳池的和带车库的款式(ARM11),好吧继续改啊改啊, 改到后来大家已经开始有能力盖十层以上的大楼了。 ARM一如既往地出了新的款式(ARMv7架构), 这时ARM觉得以前名字都太土鳖了, 什么ARM5、 ARM6、 ARM7—又难听又难记, 我要取个看起来牛逼的名字, 咱至少也算个能设计摩天大楼的主儿了, 于是后面的内核都叫Cortex。
改名只是一部分, 随着这个架构出来后, ARM发现以前用咱们图纸盖出的楼也就做个民宅, 民宅图个啥? 实惠嘛(功耗低)。 现在不一样了,现在咱的图纸盖得楼不仅可以做民宅,还可以做军事基地、 还可以做高档写字楼, 以前这些高级功能的楼房可是只有小英(英特尔)才能设计出来的啊!为了满足这些不同的需求, ARM把这个架构设计出来的款式分成3个系列(M系列、R系列、A系列)。
M系列是为民宅设计的, 因为老百姓图实惠嘛, 这种设计就设计个十层左右(功耗低); R系列是为军事基地设计的, 这种楼设计的也不高— 十层左右吧, 但是关键是要对特殊情况要有快速反应的能力(中断快); 最后A系列是给商业大佬用的, 那当然是要高端大气上档次, 就是要性能高,各种LED灯灯光秀啊都给我上。
arm7是arm公司推出的以V4指令集设计出来的arm核,基于arm7可以生产出很多CPU芯片,其代表的芯片有s3c44b0等;
arm9是arm公司推出的以V5指令集设计出来的arm核,基于arm9其它公司推出了自己的CPU芯片,如三星推出了S3C2440。还有TI啊,ATMEL啊,高通啊都基于arm9推出了自己的CPU芯片。
cortex是arm公司推出的以V7指令集设计出来的一系列arm核,其中包括Cortex-M1,Cortex-M0,Cortex-M4,包括你说的Cortex-M3,还有高端的,Cortex-A8,Cortx-A9,Cortex-A15等;
基于Cortex其它公司可以生产自己的CPU芯片,如你说的ST公司生产的STM32是就是基于Cortex-M3这个核生产的CPU。现在高端手机中的CPU一般都是基于Cortex-A8,Cortex-A9生产的。
以下是简单的arm公司arm核的发展
arm7 使用V4指令集
arm9 使用V5指令集
arm10 使用V5指令集
arm11 使用V6指令集
cortex 使用V7指令集
原文:https://blog.csdn.net/zhizhuan3361/article/details/80392466
问题1:单片机和CPU的区别
在嵌入式领域ARM芯片和CPU有什么区别呢?其实随着嵌入式科技的不断发展,单片机(像ARM芯片)和CPU的界限越来越模糊,我们暂且可以认为ARM芯片就是一个CPU,或者暂且认为单片机就相当于一个CPU。
问题2:什么是ARM芯片
凡是采用ARM内核的芯片(或者凡是采用ARM内核的CPU)都是ARM芯片。例如高通的OMAP36X0系列处理器(Droid 2和Droid X用的OMAP3630),采用的就是ARM内核,所以在概念上我们也可以将其称为ARM芯片
问题3:什么是ARM内核
所谓内核,就是CPU里面实现运算的核心,我们也可以将内核称之为CPU(注意,该CPU是真正意义上的CPU,因为它实现了数据的运算与处理)。而问题一中所说的单片机和芯片相当于一个CPU只是指宏观意义上的CPU。ARM内核只是一个统称,它有以下几个系列:ARM7,ARM9,ARM11,CORTEX等几个内核家族,每个内核家族都有不同的内核种类,比如CORTEX内核家族就有:Cortex-A8内核、Cortex-A9内核、Cortex-R4内核、Cortex-M0内核、Cortex-M1、Cortex-M3、Cortex-M4内核等,目前使用最广的STM32系列芯片使用的就是Cortex-M3内核。具体内核家族分类见:http://hardware.mydrivers.com/2/223/223488_all.htm
问题4:什么是架构
片面上讲,我们可以将架构理解为内核所使用的指令集。例如:用于高端的(手机等)Cortex-A8,Cortex-A9等内核用的是ARMv7-A架构,或者说用的是ARMv7-A指令集架构,我们常用到的STM32的Cortex-M3内核用到的是ARMv7-M架构。
问题5:什么是指令集
所谓指令集就是一整套底层指令的统称。分为RISC(简单指令集)和CISC(复杂指令集),相比较而言RISC指令集的指令格式统一,种类比较少,寻址方式也比复杂指令集少,而CISC指令集的效率比较高。拿STM32系列芯片使用的ARMv7指令集来讲,ARMv7意思是ARM的第七个版本的指令,采用的RISC。
CPU的中间就是我们平时称作核心芯片或CPU内核的地方,这颗由单晶硅做成的芯片可以说是电脑的大脑了,所有的计算、接受/存储命令、处理数据都是在这指甲盖大小的地方进行的。
目前绝大多数CPU都采用了一种翻转内核的封装形式,也就是说平时我们所看到的CPU内核其实是这颗硅芯片的底部,它是翻转后封装在陶瓷电路基板上的,这样的好处是能够使CPU内核直接与散热装置接触。这种技术也被使用在当今绝大多数的CPU上。而CPU核心的另一面,也就是被盖在陶瓷电路基板下面的那面要和外界的电路相连接。现在的CPU都有以千万计算的晶体管,它们都要连到外面的电路上,而连接的方法则是将每若干个晶体管焊上一根导线连到外电路上。例如Duron核心上面需要焊上3000条导线,而奔腾4的数量为5000条,用于服务器的64位处理器Itanium则达到了7500条。这么小的芯片上要安放这么多的焊点,这些焊点必须非常的小,设计起来也要非常的小心。由于所有的计算都要在很小的芯片上进行,所以CPU内核会散发出大量的热,核心内部温度可以达到上百度,而表面温度也会有数十度,一旦温度过高,就会造成CPU运行不正常甚至烧毁,因此很多电脑书籍或者杂志都会常常强调对CPU散热的重要性。CPU还应有确定的主板,如:i7的CPU就只能用专用的主板。 核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局
存储在Active Directory 中的对象类别和属性的描述。对于每一个对象类别来说,该架构定义了对象类必须具有的属性,它也可以有附加的属性,并且该对象可以是它的父对象。
可以动态更新的Active Directory 架构。例如,应用程序可以使用新的属性和类扩展该架构,并能立刻使用该扩展。通过在Active Directory 中创建或修改存储在 Active Directory 中的架构对象来完成架构的更新。与Active Directory 中的所有对象一样,架构对象能访问控制列表,因此只有授权的用户才可以更改架构。
原文: https://blog.csdn.net/ben392797097/article/details/44257307
本人这次学习的STM32芯片型号为 STM32F407ZET6 --->Cortex-M4内核
STM32系列单片机命名规则
示例:
从上面的料号可以看出以下信息:
ST品牌ARM Cortex-Mx系列内核32位超值型MCU,LQFP -48封装 闪存容量32KB 温度范围-40℃-85℃;
1.产品系列:
STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU;
2.产品类型: F:通用快闪(Flash Memory);
L:低电压(1.65~3.6V);F类型中F0xx和 F1xx系列为2.0~3.6V; F2xx和F4xx系列为1.8~3.6V;W:无线系统芯片,开发版.
3.产品子系列:
050:ARM Cortex-M0内核;051:ARM Cortex-M0内核;100:ARM Cortex-M3内核,超值型; 101:ARM Cortex-M3内核,基本型; 102:ARM Cortex-M3内核,USB基本型; 103:ARM Cortex-M3内核,增强型; 105:ARM Cortex-M3内核,USB互联网型; 107:ARM Cortex-M3内核,USB互联网型、以太网型; 108:ARM Cortex-M3内核,IEEE802.15.4标准; 151:ARM Cortex-M3内核,不带LCD; 152/162:ARM Cortex-M3内核,带LCD;
205/207:ARM Cortex-M3内核,不加密模块.(备注:150DMIPS,高达1MB闪存/128+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头;)
215/217:ARM Cortex-M3内核,加密模块。(备注:150DMIPS,高达1MB闪存/128+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头;)
405/407:ARM Cortex-M4内核,不加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头);
415/417:ARM Cortex-M4内核,加密模块。(备注:MCU+FPU,210DMIPS,高达1MB闪存/192+4KB RAM,USB OTG HS/FS,以太网,17个TIM,3个ADC,15个通信外设接口和摄像头);
4.管脚数:
F:20PIN;G:28PIN;K:32PIN;T:36PIN;H:40PIN;C:48PIN;U:63PIN;R:64PIN;O:90PIN;V:100PINQ:132PIN;Z:144PIN; I:176PIN;
5. Flash存存容量:
4:16KB flash;(小容量); 6:32KB flash;(小容量);8:64KB flash;(中容量);B:128KB flash;(中容量);C:256KB flash;(大容量);D:384KB flash;(大容量);E:512KB flash;(大容量);F:768KB flash;(大容量);G:1MKB flash;(大容量)
6.封装:
T:LQFP;H:BGA;U:VFQFPN;Y:WLCSP/ WLCSP64;
7.温度范围:
6:-40℃-85℃;(工业级); 7:-40℃-105℃;(工业级)
8.内部代码:
“A” or blank; A:48/32脚封装;Blank:28/20脚封装;
9.包装方式:
TR:带卷; XXX:盘装;D:电压范围1.65V – 3.6V且BOR无使能;无特性:电压范围1.8V – 3.6V且BOR使能;