ARM和STM32的区别及ARM公司架构的发展
转:https://www.cnblogs.com/kwdeblog/p/5260348.html
ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核----ARM系列,最常用的是ARM7和ARM9,ARM 处理器传统的命名是 ARM + 数字的方式:ARM7、ARM9、ARM11,在 ARM11 以后,ARM 公司使用了新的命名方式:Cortex,对比传统的方式就应该是 ARM12。ARM公司只负责提供内核部分, ARM把这个核卖给各大半导体公司,如Pllips ,三星,ATMEL ,Intel等。其中STM32就是以CoterM3为内核的单片机。
ARM的各种架构版本
ARM十几年如一日地开发新的处理器内核和系统功能块。这些包括流行的ARM7TDMI处理器,还有更新的高档产品ARM1176TZ(F)‐S处理器,后者能拿去做高档手机。功能的不断进化,处理水平的持续提高,年深日久造就了一系列的ARM架构。要说明的是,架构版本号和名字中的数字并不是一码事。比如,ARM7TDMI是基于ARMv4T架构的(T表示支持“Thumb指令”);ARMv5TE架构则是伴随着ARM9E处理器家族亮相的。 ARM9E家族成员包括ARM926E‐S和ARM946E‐S。ARMv5TE架构添加了“服务于多媒体应用增强的DSP指令”。 后来又出了ARM11,ARM11是基于ARMv6架构建成的。基于ARMv6架构的处理器包括ARM1136J(F)‐S,ARM1156T2(F)‐S,以及ARM1176JZ(F)‐S。ARMv6是ARM进化史上的一个重要里程碑:从那时候起,许多突破性的新技术被引进,存储器系统加入了很多的崭新的特性,单指令流多数据(SIMD)指令也是从v6开始首次引入的。而最前卫的新技术,就是经过优化的Thumb-2指令集,它专为低成本的单片机及汽车组件市场。
ARMv6的设计中还有另一个重大的决定:虽然这个架构要能上能下,从最低端的MCU到最高端的“应用处理器”都通吃,但不能因此就这也会,那也会,但就是都不精。仍须定位准确,使处理器的架构能胜任每个应用领域。结果就是,要使ARMv6能够灵活地配置和剪裁。对于成本敏感市场,要设计一个低门数的架构,让她有极强的确定性;另一方面,在高端市场上,不管是要有丰富功能的还是要有高性能的,都要有拿得出手的好东西。
最近的几年,基于从ARMv6开始的新设计理念,ARM进一步扩展了它的CPU设计,成果就是ARMv7架构的闪亮登场。在这个版本中,内核架构首次从单一款式变成3种款式。
• 款式A:设计用于高性能的“开放应用平台”——越来越接近电脑了
• 款式R:用于高端的嵌入式系统,尤其是那些带有实时要求的——又要快又要实时。
• 款式M:用于深度嵌入的,单片机风格的系统中——本书的主角。
ARMv6的设计中还有另一个重大的决定:虽然这个架构要能上能下,从最低端的MCU到最高端的“应用处理器”都通吃,但不能因此就这也会,那也会,但就是都不精。仍须定位准确,使处理器的架构能胜任每个应用领域。结果就是,要使ARMv6能够灵活地配置和剪裁。对于成本敏感市场,要设计一个低门数的架构,让她有极强的确定性;另一方面,在高端市场上,不管是要有丰富功能的还是要有高性能的,都要有拿得出手的好东西。
最近的几年,基于从ARMv6开始的新设计理念,ARM进一步扩展了它的CPU设计,成果就是ARMv7架构的闪亮登场。在这个版本中,内核架构首次从单一款式变成3种款式。
• 款式A:设计用于高性能的“开放应用平台”——越来越接近电脑了
• 款式R:用于高端的嵌入式系统,尤其是那些带有实时要求的——又要快又要实时。
• 款式M:用于深度嵌入的,单片机风格的系统中——本书的主角。
让我们再进距离地考察这3种款式:
• 款式A(ARMv7‐A):需要运行复杂应用程序的“应用处理器”支持大型嵌入式操作系统(不一定实时——译注),比如Symbian(诺基亚智能手机用),Linux,以及微软的Windows CE和智能手机操作系统Windows Mobile。这些应用需要劲爆的处理性能,并且需要硬件MMU实现的完整而强大的虚拟内存机制,还基本上会配有Java支持,有时还要求一个安全程序执行环境(用于电子商务——译注)。典型的产品包括高端手机和手持仪器,电子钱包以及金融事务处理机。
• 款式R(ARMv7‐R):硬实时且高性能的处理器。标的是高端实时市场。那些高级的玩意,像高档轿车的组件,大型发电机控制器,机器手臂控制器等,它们使用的处理,Cortex-R 系列主要目标是高端的实时系统,包括基带、汽车、大容量存储、工业和医疗市场等等,分为 Cortex-R4、Cortex-R5、Cortex-R7 几个档次。
器不但要很好很强大,还要极其可靠,对事件的反应也要极其敏捷。
• 款式M(ARMv7‐M):认准了旧世代单片机的应用而量身定制。在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应以及高处理效率,都是至关重要的。Cortex-M 系列主要的目标是微控制器市场,就是传统的 MCU、单片机之类,分为 Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4 等几个档次。
Cortex系列是v7架构的第一次亮相,其中Cortex‐M3就是按款式M设计的。 到目前为止,Cortex‐M3也是款式M中被抚养成人的独苗。至此,大家都明白其中STM32就是以CoterM3为内核,ARMV&-M架构的的单片机。
• 款式A(ARMv7‐A):需要运行复杂应用程序的“应用处理器”支持大型嵌入式操作系统(不一定实时——译注),比如Symbian(诺基亚智能手机用),Linux,以及微软的Windows CE和智能手机操作系统Windows Mobile。这些应用需要劲爆的处理性能,并且需要硬件MMU实现的完整而强大的虚拟内存机制,还基本上会配有Java支持,有时还要求一个安全程序执行环境(用于电子商务——译注)。典型的产品包括高端手机和手持仪器,电子钱包以及金融事务处理机。
• 款式R(ARMv7‐R):硬实时且高性能的处理器。标的是高端实时市场。那些高级的玩意,像高档轿车的组件,大型发电机控制器,机器手臂控制器等,它们使用的处理,Cortex-R 系列主要目标是高端的实时系统,包括基带、汽车、大容量存储、工业和医疗市场等等,分为 Cortex-R4、Cortex-R5、Cortex-R7 几个档次。
器不但要很好很强大,还要极其可靠,对事件的反应也要极其敏捷。
• 款式M(ARMv7‐M):认准了旧世代单片机的应用而量身定制。在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应以及高处理效率,都是至关重要的。Cortex-M 系列主要的目标是微控制器市场,就是传统的 MCU、单片机之类,分为 Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4 等几个档次。
Cortex系列是v7架构的第一次亮相,其中Cortex‐M3就是按款式M设计的。 到目前为止,Cortex‐M3也是款式M中被抚养成人的独苗。至此,大家都明白其中STM32就是以CoterM3为内核,ARMV&-M架构的的单片机。