嵌入式系统硬件选型Word格式.docx
《嵌入式系统硬件选型Word格式.docx》由会员分享,可在线阅读,更多相关《嵌入式系统硬件选型Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
授权方面,ARM7已经发出了70多个,ARM9为40多个,最新的ARM11的客户有TI、Qualcomm和LSI。
ARM自成立中国公司以来,积极拓展业务,已经同中芯国际、中兴集成、上海华虹等公司签署了ARM授权,并积极与中国大学合作,向大学提供技术支持和免费的开发工具。
东南大学已成为中国大陆首家通过ARM大学计划获得ARM7TDMI内核授权的学府。
同时,东南大学计划组建一个ARM-东南大学系统级芯片实验室。
美国高通(Qualcomm)公司在前不久公布了下一代手机基带芯片开发计划,加紧与德州仪器争夺CDMA手机芯片市场。
据高通透露,这些新型的芯片集成了两个DSP和两个ARM处理器,预计在2004年出货,以期在CDMA1xEV-DV芯片市场打败刚进入该市场的德州仪器。
ARM技术具有很高的性能和功效,因而容易被厂商接受。
同时,合作伙伴的增多,可获得更多的第三方工具、制造和软件支持,又使整个系统成本降低,使产品进入市场的时间加快,从而具有更大的竞争优势。
可以说,ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的事实标准。
ARM芯片获得了许多实时操作系统(RealTimeOperatingSystem)供应商的支持,比较知名的有:
WindowsCE、Linux、pSOS、VxWorksMucleus、EPOC、uCOS、BeOS等。
WindowsCE的PocketPC只支持ARM。
ARM公司为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)。
由于各半导体公司(ARM公司合作伙伴)在上述的处理器内核或处理器核基础上进行再设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器和嵌入式微控制器。
ARM芯片具有RISC体系的一般特点,如:
●具有大量的寄存器;
●绝大多数操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器之间传递数据;
●寻址方式简单;
●采用固定长度的指令格式。
除此之外,ARM体系采用了一些特别的技术,在保证高性能的同时尽量减少芯片体积,降低芯片的功耗,这些技术包括:
●在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理;
●使用地址自动增加(减少)来优化程序中循环处理;
●Load/Store指令可以批量传输数据,从而提高数据传输的效率;
●所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率。
ARM架构自诞生至今,已经发生了很大的演变,至今已定义5种不同的版本:
1.v1版架构
该版架构只在原型机ARM1出现过,其基本性能:
a)基本的数据处理指令(无乘法)
b)字节、半字和字的Load/Store指令
c)转移指令,包括子程序调用及链接指令
d)软件中断指令
e)寻址空间:
64MB。
1.v2版架构
该版架构对v1版进行了扩展,如ARM2与ARM3(v2a版)架构,增加了以下功能:
●乘法和乘加指令。
●支持协处理器指令。
●对于FIQ模式,提供了额外的两个备份寄存器。
●SWP指令及SWPB指令。
本版本中地址空间是26位,目前已经不再使用。
2.v3版架构
版本3较以前的版本发生了比较大的变化,主要改进部分如下:
●处理器的地址空间扩展到了32位,但除了版本3G(版本3的一个变种)外的其他版本是向前兼容的,支持26位的地址空间。
●当前程序状态信息从原来的R15寄存器移到一个新的寄存器中,新寄存器名为CPSR(CurrentProgramStatusRegister,当前程序状态寄存器)。
●增加了SPSR(SavedProgramStatusRegister,备份的程序状态寄存器),用于在异常中断程序时,保存被中断的程序的状态。
●增加了两种处理器模式,使操作系统代码可以方便地使用数据访问中止异常、指令预取异常和未定义指令异常。
●增加了指令MRS和MSR,用于访问CPSR寄存器和SPSR寄存器。
●修改了原来的从异常中返回的指令。
ARMv2和ARMv3有一个32位数据总线和一个26位地址总线。
在以后版本的ARM上,数据总线和地址总二者都是完全的32位宽。
3.v4版架构
与版本3相比,版本4增加了下列指令:
●半字的读取和写入指令。
●读取(Load)带符号的字节和半字数据的指令。
●增加了T变种,可以使处理器状态切换到Thumb状态,在该状态下指令集是16位的Thumb指令集。
●增加了处理器的特权模式。
在该模式下,使用的是用户模式下的寄存器。
另外,在版本4中明确定义了哪些指令会引起未定义指令异常。
版本4不再强制要求与以前的26位地址空间兼容。
4.v5版架构
与版本4相比,版本5增加或者修改了下列指令:
●提高了T变种中ARM/Thumb混合使用的效率。
●对于T变种的指令和非T变种的指令使用相同的代码生成技术。
同时,版本5还具有以下的特点:
●增加了前导零计数(countleadingzeros)指令,该指令可以使整数除法和中断优先级排队操作更为有效。
●增加了软件断点指令。
●为协处理器设计提供了更多的可选择的指令。
●更加严格地定义了乘法指令对条件标志位的影响。
5.v6版架构
ARM体系版本6是2001年发布的。
其主要特点是增加了SIMD功能扩展。
它适合使用电池供电的高性能的便携式设备。
这些设备一方面需要处理器提供高性能,另一方面又需要功耗很低。
SIMD功能扩展为包括音频/视频处理在内的应用系统提供了优化功能。
它可以使音频/视频处理性能提高4倍。
ARM体系版本6首先在2002年春节发布的ARM11处理器中使用。
ARM还定义了一些拥有特定功能的变种(Variant)。
●T变种(Thumb指令集):
Thumb指令集是将ARM指令集的一个子集重现编码形成的一个指令集。
ARM指令长度是32位,Thumb是16位,这样,使用Thumb指令集可以得到密度更高的代码,这对于需要严格控制产品成本的设计非常有意义,当然,完成同样的功能采用Thumb指令通常需要比采用ARM指令更多的指令,因此不适合对时间要求苛刻的场合,并且Thumb指令不包含异常处理指令,因此通常和ARM指令配合使用。
Thumb指令集有两个版本:
版本1用于ARM体系版本4,版本2用于ARM体系版本5;
●M变种(长乘法指令):
增加了两条用于进行长乘法操作的ARM指令,首先在ARM体系版本3引入,在ARM体系版本4之后,M变种成为系统的标准功能;
●E变种(增强型DSP指令):
包含附加指令用于增强处理器对一些典型DSP算法的处理性能,E变种首先在ARM体系版本5T中使用。
在早期一些E变种中未包含LDRD/STRD/MCRR/MRRC/PLD等指令,这种E变种记作ExP,x表示缺少,P代表上述的几种指令;
●J变种(Java加速器Jazelle):
提供Java加速功能,可得到比普通Java虚拟机高得多的性能;
●D变种(片内Debug):
支持片内Debug调试;
●I变种(嵌入式ICE):
集成嵌入式ICE宏单元,原型设计和系统芯片的调试因此得到极大简化;
●SIMD变种(ARM媒体功能扩展):
为嵌入式应用系统提供了高性能的音频/视频处理技术。
因此,表示ARM体系结构版本的字符串由下面几部分构成:
●字符串ARMv。
●ARM指令集版本号。
目前是1-6的数字字符。
●表示变种的字符。
由于在ARM体系版本4之后,M变种成为系统的标准功能,所以字符M通常不需要列出来。
●使用字符x表示排除某种功能。
例如,ARMv5TE表示,ARM指令集版本号为5,Thumb指令集版本号为2,属于M变种和E变种。
目前非常流行的ARM芯核有ARM7TDMI,StrongARMARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDM1等。
自V5以后,ARM公司提供PiccoloDSP的芯核给芯片设计者,用于设计ARM+DSP的SOC结构的芯片。
由于ARM芯片有多达十几种的芯核结构,70多家芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难。
所以,对ARM芯片做一对比研究是十分必要的。
“Withperformanceupto800MIPS(withtheIntel®
XScale™microarchitecture),powerconsumptionfiguresmeasuredinmicrowattsperMegahertz,theindustry'
sbroadestfeatureset,andfullarchitecturalcompatibility,theARMprocessorcorerangeprovidessolutionsforopenplatformsinwireless,consumerandimagingapplications,embeddedreal-timesystemsforstorage,automotive,industrialandnetworkingapplications,andsecureapplicationsforsmartcardsandSIMcards.”(
ARM处理器当前有5个产品系列:
ARM7、ARM9、ARM9E、ARM10E、ARM11和SecureCore。
(可参考和)ARM7Family
ARM720T
ARM7EJ-S
ARM7DI
ARM7TDMI
ARM7TDMI-SARM9Family
ARM920T
ARM922T
ARM940TARM9EFamily
ARM926EJ-S
ARM946E