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:用于深度嵌入的,单片机风格的系统中——本书的主角。

  让我们再进距离地考察这3种款式:

   款式A(ARMv7-A):需要运行复杂应用程序的“应用处理器”

  [译注1]:这里的“应用”尤指大型应用程序,像办公软件,导航软件,网页浏览器等。这些软件的使用习惯和开发模式都很像PC上的软件,但是基本上没有实时要求。 支持大型嵌入式操作系统(不一定实时——译注),比如Symbian(诺基亚智能手机用),Linux,以及微软的Windows CE和智能手机操作系统Windows Mobile。这些应用需要劲爆的处理性能,并且需要硬件MMU实现的完整而强大的虚拟内存机制,还基本上会配有Java支持,有时还要求一个安全程序执行环境(用于电子商务——译注)。典型的产品包括高端手机和手持仪器,电子钱包以及金融事务处理机。

   款式R(ARMv7-R):硬实时且高性能的处理器。标的是高端实时[注1]市场。那些高级的玩意,像高档轿车的组件,大型发电机控制器,机器手臂控制器等,它们使用的处理器不但要很好强大,还要极其可靠,对事件的反应也要极其敏捷。

   款式M(ARMv7-M):认准了旧世代单片机的应用而量身定制。在这些应用中,尤其是对于时控制系统,低成本、低功耗、极速中断反应以及高处理效率,都是至关重要的。

  Cortex系列是v7架构的第一次亮相,其中Cortex-M3就是按款式M设计的。

  [注1]:通用处理器能否胜任实时系统的控制,常遭受质疑,并且在这方面的争论从没停止过。从定义的角度讲,“实时”就是指系统必须在给定的死线(deadline,亦称作“最后期限”)内做出响应。在一个以ARM处理器为核心的系统中,决定能否达到“实时”这个目标的,有很多因素,包括是否使用“实时操作系统”,中断延迟,存储器延时,以及当时处理器是否在运行更高优先级的中断服务例程。

  本文认准了Cortex-M3就一猛子扎下去。到目前为止,Cortex-M3也是款式M中被抚养成人的独苗。其它Cortex家族的处理器包括款式A的Cortex-A8(应用处理器),款式R的Cortex-R4(实时处理器)。

ARM的架构_第1张图片

  ARMv7-M的私房秘密都记录在《The ARMv7-M Architecture Application Level Reference Manual》中(本书也讲了很多“System Level”的内容——译注),ARM已经将其公开。《Cortex M3 Technical Reference Manual》中则记录了实现v7-M时的很多细节和花絮。又因 为v7M中列出的指令有一些是可选的,而CM3裁掉了一部分,所以在这个文档中重新列出了被CM3支持的指令集。

你可能感兴趣的:(ARM的架构)