您的位置 首页 电子

ARM7与Cortex-M3的差异

1.ARM实现方法ARMCortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和

1.ARM完结办法ARMCortex-M3是一种依据ARM7v架构的最新ARM嵌入式内核,它选用哈佛结构,运用别离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。从本质上来说,哈佛结构在物理上更为杂乱,可是处理速度显着加快。依据摩尔定理,杂乱性并不是一件十分重要的事,而吞吐量的添加却极具价值。ARM公司对Cortex-M3的定位是:向专业嵌入式俗语供给低本钱、低功耗的芯片。在本钱和功耗方面,Cortex-M3具有相当好的功用,ARM公司认为它特别适用于轿车和无线通讯范畴。和一切的ARM内核相同,ARM公司将内该规划授权给各个制造商来开发详细的芯片。迄今为止,现已有多家芯片制造商开端出产依据Cortex-M3内核的微控制器。ARM7TDMI(包含ARM7TDMIS)系列的ARM内核也是面向同一类俗语的。这类内核现已存在了十多年之久,并推动了ARM成为处理器内核范畴的主导者。许多的制造商出售依据ARM7系列的处理器以及其他配套的体系软件、开发和调试东西。在许多方面,ARM7TDMI都能够称得上是嵌入式范畴的实干家。


2.两者差异除了运用哈佛结构,Cortex-M3还具有其它明显的长处:具有更小的根底内核,价格更低,速度更快。与内核集成在一起的是一些体系外设,如中止控制器、总线矩阵、调试功用模块,而这些外设一般都是由芯片制造商添加的。Cortex-M3还集成了睡觉方式和可选的完好的八区域存储器维护单元。它选用THUMB-2指令集,最大极限下降了汇编器运用率。

3.指令集ARM7能够运用ARM和Thumb两种指令集,而Cortex-M3只支撑最新的Thumb-2指令集。这样规划的优势在于:
●免除Thumb和ARM代码的相互切换,关于前期的处理器来说,这种状况切换会下降功用。
●Thumb-2指令集的规划是专门面向C言语的,且包含If/Then结构(猜测接下来的四条查办的条件碑文)、硬件除法以及本位置域操作。
●Thumb-2指令集答运用户在C代码层面维护和修正运用程序,C代码部分十分易于重用。
●Thumb-2指令集也包含了调用汇编代码的功用:Luminary公司认为没有必要运用任何汇编言语。
●归纳以上这些优势,新产品的开发将更易于完结,上市时刻也大为缩短。

4.中止Cortex-M3的另一个立异在于嵌套向量中止控制器NVIC(NestedVectorInterruptController)。相关于ARM7运用的外部中止控制器,Cortex-M3内核中集成了中止控制器,芯片制造厂商能够对其进行装备,供给根本的32个物理中止,具有8层优先级,最高可到达240个物理中止和256个中止优先级。此类规划是确认的且具有低推迟性,特别适用于轿车运用。NVIC运用的是依据仓库的反常模型。在处理中止时,将程序计数器,程序状况寄存器,链接寄存器和通用寄存器压入仓库,中止处理完结后,在康复这些寄存器。仓库处理是由硬件完结的,无需用汇编言语创立中止服务程序的仓库操作。
中止嵌套是能够是完结的。中止能够改为运用比之前服务程序更高的优先级,并且能够在运行时改动优先级状况。运用结尾连锁(tail-chaining)接连中止技能只需耗费三个时钟周期,比较于32个时钟周期的接连压、出仓库,大大下降了推迟,提高了功用。假如在更高优先级的中止到来之前,NVIC现已压仓库了,那就只需求获取一个新的向量地址,就能够为更高优先级的中止服务了。相同的,NVIC不会用出仓库的操作来服务新的中止。这种做法是彻底确认的且具有低推迟性。

5.睡觉Cortex-M3的电源办理计划经过NVIC支撑SleepNow,SleeponExit,(退出最低优先级的ISR)和SLEEPDEEPmodes这三种睡觉方式。为了发生守时的中止时刻距离,NVIC还集成了体系节拍计时器,这个计时器也能够作为RTOS和调度使命的心跳。这种做法与从前的ARM架构的不同之处就在于不需求外部时钟。

6.存储器维护单元存储器维护单元是一个可选组成。选用了这个选项,内存区域就能够与运用程序特定进程依照其他进程所界说的规矩联络在一起。例如,一些内存能够彻底被其他进程阻挠,而别的一部分内存能对某些进程表现为只读。还能够制止进程进入存储器区域。可靠性,特别是实时性因而得到严重改善。

7.调试对Cortex-M3处理器体系进行调试和追寻是经过调试拜访端口(DebugAccessPort)来完结的。调试拜访端口能够是一个2针的串行调试端口(SerialWireDebugPort)或许串行JTAG调试端口(SerialWireJTAGDebugPort)。经过Flash片、断点单元、数据调查点、盯梢单元,以及可选的嵌入式盯梢宏单元(EmbeddedTraceMacrocell)和指令盯梢宏单元(InstrumentationTraceMacrocell)等一系列功用相结合,在内核部分就能够选用多种类型的调试办法及监控函数。例如,能够设置断点、调查点、界说缺省条件或碑文调试恳求、监控中止操作或持续操作。一切的这些功用在ARM架构的产品中现已完结,仅仅Cortex-M3将这些功用整合起来,便利开发人员运用。

8.运用规模尽管ARM7内核并没有像Cortex系列那样集成许多外设,可是许多的依据ARM7的器材,从通用MCU,到面向运用的MCU、SOC乃至是Actel公司依据ARM7内核的FPGA,都具有更为许多的外围设备。大约有150种MCU是依据ARM7内核的(依据不同的计算办法,这个数字或许会更高)。你会发现ARM7都能够完结简直一切的嵌入式运用,或选用定制的方法来分量需求。依据规范内核,芯片厂商能够参加不同类型、巨细的存储器和其他外围设备,比方串行接口、总线控制器、存储器控制器和图形单元,并针对工业、轿车或许其他要求严苛的范畴,运用不同的芯片封装,供给不同温度规模的芯片版别。芯片厂商也或许绑定特定的软件,比方TCP/IP协议栈或面向特定运用的软件。例如,STMicroelectronics公司的STR7产品线有三个首要系列共45个成员,具有不同的封装和存储器。每一个系列都针对特定的运用范畴,具有不同外设调集。比方STR730百家争鸣是专为工业和轿车运用规划的,因而具有可扩展的温度规模,包含多个I/O口和3个CAN总线接口。STR710则是面向于消费俗语以及高端的工业运用,它具有多个通讯接口,比方USB、CAN、ISO7816以及4个UART,还有大容量的存储器和一个外部存储器接口。芯片厂商也能够挑选利于开发人员开发产品的办法,比方选用ARM的嵌入式盯梢宏单元ETM(EmbeddedTraceMacrocell),并供给开发和调试东西。Luminary、STMicroelectronics这两家公司现已有依据Cortex-M3的芯片,其他公司如NXP、Atmel也宣告出产该类产品。

9.配套东西ARM7运用现已十分遍及,它现已有十分多第三方的开发和调试东西支撑。在ARM的网站上有超越130家东西公司名称列表。大多数厂商供给了根本的开发板,并供给下载程序的接口、调试东西以及外部设备的驱动,包含LED灯的显现状况或许屏幕上的单行显现。一般,开发套件包含编译器、一些调试软件以及开发板。更为府第的套件包含第三方的集成开发环境(IDE),IDE中包含编译器、链接器、调试器、编辑器和其他东西,也或许包含仿真硬件,比方说JTAG仿真器。内电路仿真器(ICE)是最早的也是最有用的调试东西方式之一,许多厂商都在ARM7上供给了这一接口。软件开发东西规模很广:从建模到可视化规划,到编译器。现在许多的产品也用到实时操作体系(RTOS)和中间件,以加快开发进程、下降开发难度。别的,还有一个十分重要的要素,许多的开发人员对ARM7的开发经历十分丰富。
尽管现在现已有新式的Cortex-M3东西,但明显仍是有必定的真实。不过,Cortex-M3的集成调试功用使调试变得简略且有用,且无需用到内电路仿真器ICE。

10.决议计划那么,你应该怎么做出何种挑选呢?假如本钱是最首要考虑要素,您应该挑选Cortex-M3;假如在低本钱的情况下寻求更好的功用和改善功耗,您最好考虑选用Cortex-M3;特别是假如你的运用是轿车和无线范畴,最好也选用Cortex-M3,这正是Coretex-M3的首要定位俗语。我们Cortex-M3内核中的多种集成元素以及选用Thumb-2指令集,其开发和调试比ARM7TDMI要简略分心。但是,我们重界说ARM7TDMI的运用不是一件困难的事,特别是在运用了RTOS的情况下。保存者或许会失去ARM7TDMI内核的芯片,并防止运用那些会使重界说变得杂乱的功用。
IARSystems公司是最早做C编译器的厂商,供给一系列ARM开发东西,包含IARvisualSTATE建模东西、IAREmbeddedWorkbenchforARM集成开发环境、IARPowerPac实时操作体系和中间件、J-Link硬件仿真东西以及开发套件。不论用户的挑选是ARM7仍是Cortex-M3,IAR都会让开发变得简略而风趣。
Cortex-M3和ARM7的比较

比较项目 ARM7 Cortex-M3
架构 ARMv4T(冯诺依曼)
指令和数据总线共用,会呈现瓶颈
ARMv7-M(哈佛)
指令和数据总线分隔,无瓶颈
指令集 32位ARM指令+16位Thumb指令
两套指令之间需求进行状况切换
Thumb/Thumb-2指令集16位和32位
指令可直接混写,无需状况切换
流水线 3级流水线若呈现搬运则需求改写流水线,丢失惨重 3级流水线+分支猜测呈现搬运时流水线无需改写,简直无丢失
功用 0.95DMIPS/MHz(ARM方式) 1.25DMIPS/MHz
功耗 0.28mW/MHz 0.19mW/MHz
低功耗方式 内置睡觉方式
面积 0.62mm2(仅内核) 0.86mm2(内核+外设)
中止 一般中止IRQ和快速中止FIQ太少,许多外设不得不复用中止 不行屏蔽中止NMI+1-240个物理中止
每个外设都能够独占一个中止,功率高
中止推迟 24-42个时钟周期,缓慢 12个时钟周期,最快只需6个
中止压栈 软件窜逃压栈,代码长且功率低 硬件自动压栈,无需代码且功率高
存储器维护 8段存储器维护单元(MPU)
内核寄存器 寄存器分为多组、结构杂乱、占核面积多 寄存器不分组(SP具有),结构简略
作业方式 7种作业方式,比较杂乱 只要线程方式和处理方式两种,简略
乘除法指令 多周期乘法指令,无除法指令 单周期乘法指令,2-12周期除法指令
位操作 拜访外设寄存器需分“读-改-写”3步走 先进的Bit-band位操作技能,可直接拜访外设寄存器的某个值
体系节拍守时 内置体系节拍守时器,有利于操作体系移植

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/263596.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部