转选择ARM处理器的ARM7还是_第1页
转选择ARM处理器的ARM7还是_第2页
转选择ARM处理器的ARM7还是_第3页
转选择ARM处理器的ARM7还是_第4页
转选择ARM处理器的ARM7还是_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.转 选择ARM处理器的ARM7还是Cortex M31.1 ARM处理器系列每个ARM处理器都有一个特定的指令集架构ISA,而一个ISA版本又可以有多种处理器实现。ISA随着嵌入式市场的需求而开展,至今已经有多个版本。ARM公司规划该开展过程,使得在较早的架构版本上编写的代码也可以在后继版本上执行即代码的兼容性。1.1.1命名规那么早期ARM使用如图1.1所示的命名规那么来描绘一个处理器。在"ARM"后的字母和数字说明了一个处理器的功能特性。随着更多特性的增加,字母和数字的组合可能会改变。注意:命名规那么不包含体系构造ISA的版本信息。ARMxyzTDMIEJF-Sx-系

2、列y-存储管理/保护单元z-cache T-Thumb 16位译码器D-JTAG调试器M-快速乘法器I-嵌入式跟踪宏单元E-增强指令基于TDMIJ-Jazelle F-向量浮点单元S-可综合版本图1.1早期ARM命名规那么关于ARM命名法那么,还有一些附加的要点:?ARM7TDMI之后的所有ARM内核,即使"ARM"标志后没有包含那些字符,也都包括了TDMI功能特性。?处理器系列是共享一样硬件特性的一组处理器详细实现。例如,ARM7TDMI、ARM740T和ARM720T都共享一样的系列特性,都属于ARM7系列。?JTAG是由IEEE 1149.1标准测试访问端口Stand

3、ard Test Access Port和边界扫描构造来描绘的。它是ARM用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议。?嵌入式ICE宏单元EmbeddedICE macrocell是建立在处理器内部用来设置断点和观察点的调试硬件。?可综合的-意味着处理器内核是以源代码形式提供的,这种源代码形式又可以被编译成一种易于EDA工具使用的形式。随着近年来ARM架构的产品爆炸性地涌入市场,以及对于维护架构一致性的高层次的要求,ARM重新组织了ARM架构的标准,定义了以ARM v7架构的Cortex系列。1.1.2 ARM处理器系列ARM公司设计了许多处理器,它们可以根据使用的不同内核划分

4、到各个系列中。系列划分是基于ARM7、ARM9、ARM10、ARM11和Cortex内核。后缀数字7、9、10和11表示不同的内核设计。数字的升序说明性能和复杂度的进步。ARM8开发出来以后很快就被取代了。在每个系列中,存储器管理、cache和TCM处理器扩展也有多种变化。ARM继续在可用的产品系列和每个系列内部的不同变种两方面做进一步开发。表1.1总结了各种处理器的不同功能特性。值得注意的是,指令集架构ISA是表达CPU核性能特点的重要因素,如采用v5TEJ架构的ARM926EJ-S与采用v4T架构的ARM920T处理器,在一样的工作频率下,前者的处理才能要高得多。表1.1 ARM处理器不同

5、功能特性a:E扩展提供了增强的乘法指令和饱和运算指令DSP1.1.2.1 ARM7系列ARM7内核是冯?诺伊曼体系构造,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。ARM7TDMI是ARM公司于1995年推出的新系列中的第一个处理器内核。是目前一个非常流行的内核,已被用在许多32位嵌入式处理器上。它提供了非常好的性能-功耗比。ARM7TDMI处理器内核已经容许给许多世界顶级半导体公司,它是第一个包括Thumb指令集、快速乘法指令和嵌入式ICE调试技术的内核。ARM7系列中一个重要的变化是ARM7TDMI-S。ARM7TDMI-S与标准ARM7TDMI有一样的操作特性,

6、但它是可综合的见2.6.1小节。ARM720T是ARM7系列中最具灵敏性的成员,因为它包含了一个MMU。MMU的存在意味着ARM720T可以处理Linux和Microsoft嵌入式操作系统如WinCE。这一处理器还包括了一个8KB的统一cache指令/数据混合cache。向量表可以通过设置一个协处理器15CP15存放器来重定位到更高的地址。另一个成员是ARM7EJ-S处理器,它也是可综合的。ARM7EJ-S与其他ARM7处理器有很大不同,因为它有一条5级流水线,并且执行ARMv5TEJ指令。这个版本是ARM7中唯一一个提供java加速和增强指令,而没有任何存储器保护的处理器。1.1.2.2 A

7、RM9系列ARM9系列于1997年问世。由于采用了5级指令流水线,ARM9处理器可以运行在比ARM7更高的时钟频率上,进步了处理器的整体性能。存储器系统根据哈佛体系构造重新设计,区分了数据D和指令I总线。ARM9系列的第一个处理器是ARM920T,它包含独立的D+I cache和一个MMU。这个处理器可以被用在要求有虚拟存储器虚存支持的操作系统上。ARM922T是ARM920T的变种,只有一半大小的D+I cache。ARM940T包括一个更小的D+I cache和一个MPU。它是针对不要求运行平台操作系统的应用而设计的。ARM920T和ARM940T都执行v4T架构指令。ARM9系列的下一个

8、处理器是基于ARM9E-S内核的。这个内核是ARM9内核带有E扩展的一个可综合版本。它有二个变种:ARM946E-S和ARM966E-S。两者都执行v5TE架构指令。它们也支持可选的嵌入式跟踪宏单元ETM,它允许开发者实时跟踪处理器上指令和数据的执行。当调试对时间敏感time-critical的程序段时,这种方法非常重要。ARM946E-S包括TCM、cache和一个MPU。TCM和cache的大小可配置。该处理器是针对要求有确定的实时响应的嵌入式控制应用而设计的。而ARM966E有可配置的TCM,但没有MPU和cache扩展。ARM9产品线的最新内核是ARM926EJ-S可综合的处理器内核,

9、发布于2000年。它是针对小型便携式java设备,诸如3G手机和个人数字助理PDA应用而设计的。ARM926EJ-S是第一个包含Jazelle技术可加速java字节码的执行的ARM处理器内核。它还有一个MMU、可配置的TCM,以及具有零或非零等待存储器的D+I cache。1.1.2.3 ARM10系列ARM10发布于1999年,主要是针对高性能的设计。它把ARM9的流水线扩展到6级,也支持可选的向量浮点单元VFP,它对ARM10的流水线参加了第7段。VFP明显进步了浮点运算的性能,并与IEEE 754.1985浮点标准兼容。ARM1020E是第一个使用ARM10E内核的处理器。像ARM9E一

10、样,它包括了增强的E指令。它有独立的32KB D+I cache、可选向量浮点单元VFP,以及MMU。ARM1020E还有一个双64位总线接口以进步性能。ARM1026EJ-S非常类似于ARM926EJ-S,但同时具有MPU和MMU。这一处理器具有ARM10的性能和ARM926EJ-S的灵敏性。1.1.2.4 ARM11系列ARM1136J-S发布于2003年,是针对高性能和高能效应用而设计的。ARM1136J-S是第一个执行ARMv6架构指令的处理器。它集成了一条具有独立的load-store和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令流多数据流SIMD扩展,特殊的设计

11、以进步视频处理性能。ARM1136JF-S就是为了进展快速浮点运算,而在ARM1136J-S增加了向量浮点单元。1.1.2.5 ARM Cortex系列ARM Cortex发布于2005年,为各种不同性能需求的应用提供了一整套完好的优化解决方案,该系列的技术划分完全针对不同的市场应用和性能需求。目前ARM Cortex定义了三个系列:Cortex-A系列:针对复杂OS和应用程序如多媒体的应用处理器。支持ARM、Thumb和Thumb-2指令集,强调高性能与合理的功耗,存储器管理支持虚拟地址。Cortex-R系列:针对实时系统的嵌入式处理器。支持ARM、Thumb和Thumb-2指令集,强调实时

12、性,存储器管理只支持物理地址。Cortex-M系列:针对价格敏感应用领域的嵌入式处理器,只支持Thumb-2指令集,强调操作确实定性,以及性能、功耗和价格的平衡。这些系列曾在ARMv7开展过程中被正式介绍过,A系列和R系列就已经隐式地出如今早期的版本中了,以及虚拟存储系统架构VMSA和保护存储系统架构PMSA。到目前为止,Cortex系列正式发布的版本为Cortex-A8、Cortex-R4和Cortex_M3,他们全部实现了Thumb-2指令集或子集,可满足不同的性能、价格市场需求。ARM Cortex-M3不支持ARM指令集,支持的指令集包括ARMv6的大部分16位Thumb指令和ARMv

13、7的Thumb-2指令集。Thumb-2指令集是一个16/32位混合指令系统。Cortex-M3支持的16位、32位Thumb指令要使用低本钱的32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。1.ARM实现方法ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛构造,使用别离的指令和数据总线冯诺伊曼构造下,数据和指令共用一条总线。从本质上来说,哈佛构造在物理上更为复杂,但是处理速度明显加快。

14、根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低本钱、低功耗的芯片。在本钱和功耗方面,Cortex-M3具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。和所有的ARM内核一样,ARM公司将内该设计受权给各个制造商来开发详细的芯片。迄今为止,已经有多家芯片制造商开场消费基于Cortex-M3内核的微控制器。ARM7TDMI包括ARM7TDMIS系列的ARM内核也是面向同一类市场的。这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。众多的制造商出售基于ARM7系列的处理器以及其

15、他配套的系统软件、开发和调试工具。在许多方面,ARM7TDMI都可以称得上是嵌入式领域的实干家。2.两者差异除了使用哈佛构造,Cortex-M3还具有其它显著的优点:具有更小的根底内核,价格更低,速度更快。与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。Cortex-M3还集成了睡眠形式和可选的完好的八区域存储器保护单元。它采用THUMB-2指令集,最大限度降低了汇编器使用率。3.指令集ARM7可以使用ARM和Thumb两种指令集,而Cortex-M3只支持最新的Thumb-2指令集。这样设计的优势在于:免去Thumb和ARM代码的

16、互相切换,对于早期的处理器来说,这种状态切换会降低性能。Thumb-2指令集的设计是专门面向C语言的,且包括If/Then构造预测接下来的四条语句的条件执行、硬件除法以及本地位域操作。Thumb-2指令集允许用户在C代码层面维护和修改应用程序,C代码部分非常易于重用。Thumb-2指令集也包含了调用汇编代码的功能:Luminary公司认为没有必要使用任何汇编语言。综合以上这些优势,新产品的开发将更易于实现,上市时间也大为缩短。4.中断Cortex-M3的另一个创新在于嵌套向量中断控制器NVICNested Vector Interrupt Controller。相对于ARM7使用的外部中断控制

17、器,Cortex-M3内核中集成了中断控制器,芯片制造厂商可以对其进展配置,提供根本的32个物理中断,具有8层优先级,最高可到达240个物理中断和256个中断优先级。此类设计是确定的且具有低延迟性,特别适用于汽车应用。NVIC使用的是基于堆栈的异常模型。在处理中断时,将程序计数器,程序状态存放器,链接存放器和通用存放器压入堆栈,中断处理完成后,在恢复这些存放器。堆栈处理是由硬件完成的,无需用汇编语言创立中断效劳程序的堆栈操作。中断嵌套是可以是实现的。中断可以改为使用比之前效劳程序更高的优先级,而且可以在运行时改变优先级状态。使用末尾连锁tail-chaining连续中断技术只需消耗三个时钟周期

18、,相比于32个时钟周期的连续压、出堆栈,大大降低了延迟,进步了性能。假设在更高优先级的中断到来之前,NVIC已经压堆栈了,那就只需要获取一个新的向量地址,就可以为更高优先级的中断效劳了。同样的,NVIC不会用出堆栈的操作来效劳新的中断。这种做法是完全确定的且具有低延迟性。5.睡眠Cortex-M3的电源管理方案通过NVIC支持Sleep Now,Sleep on Exit,退出最低优先级的ISR和SLEEPDEEP modes这三种睡眠形式。为了产生定期的中断时间间隔,NVIC还集成了系统节拍计时器,这个计时器也可以作为RTOS和调度任务的心跳。这种做法与先前的ARM架构的不同之处就在于不需要

19、外部时钟。6.存储器保护单元存储器保护单元是一个可选组建。选用了这个选项,内存区域就可以与应用程序特定进程按照其他进程所定义的规那么联络在一起。例如,一些内存可以完全被其他进程阻止,而另外一部分内存能对某些进程表现为只读。还可以制止进程进入存储器区域。可靠性,特别是实时性因此得到重大改进。7.调试对Cortex-M3处理器系统进展调试和追踪是通过调试访问端口Debug Access Port来实现的。调试访问端口可以是一个2针的串行调试端口Serial Wire Debug Port或者串行JTAG调试端口Serial Wire JTAG Debug Port。通过Flash片、断点单元、数据

20、观察点、跟踪单元,以及可选的嵌入式跟踪宏单元Embedded Trace Macrocell和指令跟踪宏单元InstrumentaTIon Trace Macrocell等一系列功能相结合,在内核部分就可以采用多种类型的调试方法及监控函数。例如,可以设置断点、观察点、定义缺省条件或执行调试恳求、监控停顿操作或继续操作。所有的这些功能在ARM架构的产品中已经实现,只是Cortex-M3将这些功能整合起来,方便开发人员使用。8.应用范围虽然ARM7内核并没有像Cortex系列那样集成很多外设,但是大量的基于ARM7的器件,从通用MCU,到面向应用的MCU、SOC甚至是Actel公司基于ARM7内核

21、的FPGA,都拥有更为众多的外围设备。大约有150种MCU是基于ARM7内核的根据不同的统计方法,这个数字可能会更高。你会发现ARM7都可以实现几乎所有的嵌入式应用,或采用定制的方式来满足需求。基于标准内核,芯片厂商可以参加不同类型、大小的存储器和其他外围设备,比方串行接口、总线控制器、存储器控制器和图形单元,并针对工业、汽车或者其他要求苛刻的领域,使用不同的芯片封装,提供不同温度范围的芯片版本。芯片厂商也可能绑定特定的软件,比方TCP/IP协议栈或面向特定应用的软件。例如,STMicroelectronics公司的STR7产品线有三个主要系列共45个成员,具有不同的封装和存储器。每一个系列都

22、针对特定的应用领域,具有不同外设集合。比方STR730家族是专为工业和汽车应用设计的,因此具有可扩展的温度范围,包括多个I/O口和3个CAN总线接口。STR710那么是面向于消费市场以及高端的工业应用,它具有多个通信接口,比方USB、CAN、ISO7816以及4个UART,还有大容量的存储器和一个外部存储器接口。芯片厂商也可以选择利于开发人员开发产品的措施,比方采用ARM的嵌入式跟踪宏单元ETMEmbedded Trace Macrocell,并提供开发和调试工具。Luminary、STMicroelectronics这两家公司已经有基于Cortex-M3的芯片,其他公司如NXP、Atmel也宣布消费该类产品。9.配套工具ARM7应用已经非常普及,它已经有非常多第三方的开发和调试工具支持。在ARM的网站上有超过130家工具公司名称列表。大多数厂商提供了根本的开发板,并提供下载程序的接口、调试工具以及外部设备的驱动,包括LED灯的显示状态或者屏幕上的单行显示。通常,开发套件包括编译器、一些调试软件以及开发板。更为高级的套件包括第三方的集成开发环境IDE,IDE中包含编译器、链接器、调试器、编辑器和其他工具,也可能包括仿真硬件,比方说JTAG仿真器。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论