第1章 嵌入式系统概述.docx
《第1章 嵌入式系统概述.docx》由会员分享,可在线阅读,更多相关《第1章 嵌入式系统概述.docx(13页珍藏版)》请在冰点文库上搜索。
第1章嵌入式系统概述
嵌入式系统
教材:
《嵌入式系统原理及应用》马维华北京邮电大学出版社2006年9月第一版
注:
为了利用有限的知识讲授更多的内容,课程中的部分内容设计为学生自学为主。
第一章嵌入式系统概述
讲授内容:
嵌入式系统以及ARM概述
重点:
嵌入式系统、ARM、ARM的体系结构和处理器系列
目录:
一.什么是嵌入式系统
定义:
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
三要素:
如何定义嵌入式系统并不重要,重要的是正确理解其概念的内涵。
嵌入式系统概念反映出嵌入式系统的三个基本要素:
计算机系统、嵌入性和专用性。
•计算机系统----指明嵌入式是一个具有完备功能的系统,能够完成某种功能;
•嵌入性----指明它是作为某个大系统的一个部件而存在的,本身不是目的只是手段;
•专用性----指明它和通用计算机系统不同,面向的是某一方面的专门应用。
二.什么是ARM
1.何谓ARM
目前,嵌入式系统中使用的处理器主要有8位、16位、32位、64位嵌入式处理器和数字信号处理器。
32位嵌入式处理器是其中的主流。
其中32位嵌入式处理器的内核主要有ARM、Coldfire/68K、PPC、MIPS等,而ARM又占据了绝对主流的地位,使用ARM芯片构造嵌入式系统正成为嵌入式系统设计的一个极为重要的分支。
•ARM是AdvancedRISCMachines的缩写,是微处理器行业的一家知名企业(设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。
适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等);
•ARM采用“chipless”的生产模式(将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。
利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。
目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。
至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司);
•ARM架构是面向低预算市场设计的RISC微处理器(可以认为ARM是一个公司的名字,也可认为是对一类微处理器的通称,还可认为是一种技术的名字);
•发展历程(a.1985年4月26日,第一个ARM原型在英国剑桥诞生;b.20世纪80年代后期,ARM很快开发台式机产品,形成英国的计算机教育基础;c.1990年成立了AdvancedRISCMachinesLimited;d.20世纪90年代,ARM32位嵌入式RISC处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位)。
2.ARM处理器的特点
2-1.采用RISC体系结构降低CPU复杂度
a.传统的计算机采用CISC结构大规模集成电路的发展使计算机的硬件成本不断降低人们为了提高操作系统的效率为指令系统增加了许多更多更复杂的指令日益庞大的指令系统不仅使计算机研制周期加长,而且难以调试和维护美国加州大学伯克利分校本着尽量简化计算机指令功能的基本思想,于1979年提出了RISC(ReducedInstrctionSetComputer,精简指令集计算机)的概念RISC把着眼点放在了如何使计算机的结构更加简单合理地提高运行速度上。
b.RISC体系结构应具有如下特点:
•采用统一和长度固定的指令域,基本寻址方式有2-3种;
•使用单周期指令,便于流水线操作的执行;
•大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。
2-2.大量使用寄存器
ARM处理器共有37个寄存器,被分为若干个组(BANK):
•31个通用寄存器
•6个程序状态寄存器
2-3.采用多种指令集
ARM微处理器在一种体系结构中支持两种指令集:
ARM指令集和Thumb指令集。
两种指令集的时间和空间效率关系为:
•Thumb指令代码占用的存储空间约为ARM代码的60%-70%;
•Thumb指令代码所用的指令数比ARM指令集中的代码量多30%-40%;
•使用32位的存储器时,ARM指令执行速度比Thumb指令快大约40%;
•使用16位的存储器时,Thumb指令执行速度比ARM指令快大约45%;
•存储器使用Thumb指令集比使用ARM指令集的功耗大约低30%。
三.ARM体系结构的版本
ARM体系结构共定义了6个版本,版本编号为1-6。
从版本1到版本6,ARM体系的指令集功能不断扩大(各版本中还有一些变种,即将某些特定功能称为ARM体系的某种变种)。
1.各个版本的特点
1.1版本1(在ARM1中实现,没有在商用产品中使用,地址空间为26位,目前已经不再使用)
•处理乘法指令之外的基本数据处理指令
•基于字节、字和多字的读取和写入指令(Load/Store)
•包括子程序调用指令BL在内的跳转指令
•供操作系统使用的软件中断指令SWI
1.2版本2(地址空间为26位,目前已经不再使用,和版本1相比增加了如下指令)
•乘法和乘加法指令
•支持协处理器的指令
•为FIQ提供了两个额外的两个备份寄存器
•SWP和SWPB指令
1.3版本3(改进较大,主要表现如下)
•地址空间扩展为32位(除3G外的其他版本向前兼容26位地址空间)
•当前程序状态信息从R15移到一个新的寄存器CPSR
•增加了SPSR用于程序异常时保护程序状态
•增加了两种处理器模式:
中止模式和未定义指令中止模式
•增加了MSR和MRS指令用于访问CPSR和SPSR
•修改了从异常中返回的指令
1.4版本4
•增加了半字的读取和写入指令
•增加了T变种
•增加了系统模式
1.5版本5
•提高了T变种中ARM/Thumb混用的效率
•增加了前导零计数指令
•增加了软件断点指令(BKPT)
•为协处理器设计了更多可选择的指令
•更加严格的定义了乘法指令对条件标志位的影响
1.6版本6
增加了SIMD功能扩展(媒体功能扩展),适合使用电池供电的高性能便携设备使用,该版本首先在2002年春季发布的ARM11中使用。
2.ARM体系的变种
2.1T变种
•将ARM指令集的一个子集重新编码形成一个新的16位的指令集,可以获得密度更高的代码,对于严格控制产品成本的设计很有意义
•具有自己的局限性:
完成同样的操作需要更多的指令,不适合对系统运行时间要求苛刻的场合;不包含异常处理时需要的指令,在异常中断的低级处理中需要ARM指令
•具有两个版本:
版本1(用于体系版本4的T变种)和版本2(用于体系版本5的T变种)
2.2M变种
•增加了两条长乘法操作的ARM指令(32×3264和32×32+3264)
•首先在体系版本3中引入,从版本4开始成为系统中的标准部分(除非有设计上的限制而没有采用,如乘法性能要求不高且尺寸要求严格的场合)
2.3E变种
•增加了若干指令用于增强处理器对DSP算法的性能
•首先在ARM体系版本5T中使用,在体系版本5以前以及非M和非T的版本中无效
•ExP表示早期的E变种中不包含某些附加指令(x表示“缺少”,P表示“某些附加指令”)
2.4J变种
•表示Java加速器技术,即Jazelle能使的Java代码的运行速度提高8倍而功耗降低80%
•首先在ARM体系版本4TEJ中使用
2.5SIMD变种
•表示媒体功能扩展,为嵌入式应用系统提供了高性能的音频/视频处理技术
3.ARM体系版本的命名格式
表示ARM体系结构版本的字符串由以下几个部分构成:
•字符串ARMv
•ARM指令集版本号,目前是1-6的数字符号
•表示变种的字符(ARM体系版本4后M成为标准部分,通常不列出来)
•使用字符“x”排除某些功能
四.ARM处理器系列
各种具体的ARM处理器是各个体系结构版本的实现,同一个版本可能对应多个不同的处理器。
各个处理器的实现技术各不相同,性能差别也很大,应用于不同的场合,但由于支持相同的体系版本使得在上面开发的应用软件是兼容的。
ARM处理器主要包括几个系列的产品以及其他厂商基于ARM体系结构的处理器:
•ARM7系列
•ARM9系列
•ARM9E系列
•ARM10E系列
•SecurCore系列
•Intel的Xscale
•Intel的StrongARM
ARM7、ARM9、ARM9E和ARM10E是4个通用处理器系列,每个系列提供一套相对独立的性能来满足不同应用领域的需求,SecurCore系列专门为安全要求较高的应用而设计。
1.ARM7系列
•低功耗处理器,主要应用于对功耗和成本要求比较苛刻的消费类产品;
•最高主频可达130MIPS(MillionInstructionsPerSecond,即每秒处理的百万级的机器语言指令数),支持16位的Thumb指令集;
•包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S、ARM720T四种类型(有的是处理器核而有的是处理器)。
2.ARM9系列
•使用ARM9TDMI处理器核构造,在高性能和低功耗方面具有良好的表现,主要应用于下一代无线设备(视频电话、PDA)、仪器仪表、高端打印机、数字摄像机等;
•5级流水线,指令执行效率更高,支持16位的Thumb指令集;
•提供1.1MIPS/MHz的哈佛结构,全性能的MMU;
•包括ARM920T、ARM922T、ARM940T三种类型。
3.ARM9E系列
•提供了增强的DSP处理能力,主要应用于数字消费品、工业控制、存储设备和网络设备等;
•支持VFP9浮点处理协处理器,在典型的0.13μm生产工艺下主频最高可达300MIPS;
•包括ARM926EJ-S、ARM946E-S、ARM966E-S三种类型
4.ARM10E系列
•具有高性能和低功耗的特点,在所有ARM产品中具有最高的MIPS/MHz,主频最高可达400MIPS;
•6级流水线,支持VFP10浮点处理协处理器;
•包括ARM1020E、ARM1022E、ARM1026EJ-S三种类型
5.SecurCore系列
•提供了对安全解决方案的支持,主要应用于一些安全产品和应用系统(如电子商务、电子银行业务、网络、认证系统等);
•带有灵活的保护单元以确保操作系统和应用数据的安全,采用软内核技术防止外部对其进行扫描探测,可集成用户自己的安全特性和其他协处理器;
•包括SecurCoreSC100、SecurCoreSC110、SecurCoreSC200、SecurCoreSC210四种类型
6.StrongARM系列
该系列是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。
7.Xscale系列
基于ARMv5TE体系结构,支持Thumb和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等领域。
五.嵌入式系统的组成
嵌入式系统是专用的计算机应用系统,组成同样包括硬件和软件两大部分。
六.ARM微处理器的应用选型
随着国内外嵌入式应用领域的逐步发展,ARM微处理器获得越来越广泛的重视和应用。
但是,ARM微处理器有多达十几种的内核结构,芯片生产厂家也有70多家,加之ARM公司的chipless生产模式,使得开发人员在选择方案时比较困难。
以下从应用的角度出发,对在选择ARM微处理器时应考虑的主要因素做简要的说明:
•ARM微处理器内核(不同的内核对操作系统的支持情况不一样,特别是硬件内核的MMU支持—MemoryManagementUnit,存储管理单元;有些内核带有DSP功能,适用于数学运算和多媒体处理,如TI公司的TMS320DSC2X;有些内核带有FPGA功能,可方便系统的在线升级,如ALTERA公司的EPXA1);
•系统的工作频率(ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM芯片系统主时钟为20-133MHz;ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM芯片系统主时钟为100-233MHz;ARM10的系统主时钟频率最高可达700MHz);
•芯片内存储器的容量(有些内核具有相对较大的片内存储空间,设计时不用外接存储器,从而简化了系统的设计,如ATMEL的AT91FR4081具有1MB的片内Flash程序存储空间和128K的片内SRAM存储空间);
•片内外围电路的选择(根据不同的应用领域,ARM内核扩展了相关的功能模块并集成在芯片中,设计时应尽可能采用片内的外围电路完成所需的功能,以简化设计和提高系统的可靠性);
•GPIO数量
•外部中断控制(不同ARM芯片所支持的外部中断数量以及出发条件是不同的,合理的外部中断设计可以在很大程度上减少任务调度的工作量,如PHLIPS公司的SAA7750的所有GPIO都可以设置为外部中断,且可以选择上升沿、下降沿、高电平、低电平4种方式)
七.其它
1.嵌入式处理器的种类
嵌入式处理器共有4种类型:
嵌入式微处理器(EMPU)、嵌入式微控制器(EMCU)、片上系统(SoC)和嵌入式数字信号处理器(EDSP)。
a.嵌入式微处理器:
由PC中的CPU演变而来(只保留了与具体的嵌入式应用相关的硬件),主要完成运算功能,以其为中心构建系统时往往需要多个芯片(如A/D、ROM等);
b.嵌入式微控制器:
典型代表是单片机,在一个芯片中集成了基本功能的硬件电路,具备了一个计算机硬件系统的基本配备(具备了一定的控制功能);
c.片上系统:
集成了软(操作系统)硬件的综合系统,目的是追求单个芯片的最大包容;
d.嵌入式数字信号处理器:
针对于数字信号处理而专门设计的芯片,可作为协处理器和主处理器配合使用来提高系统的整体性能。
2.嵌入式的学习方法
嵌入式是一个技术密集、高度分散、不断创新的知识领域,要学好它必须做到‘内外兼修’。
‘内’指的是嵌入式的技术基础,包括硬件知识(嵌入式处理器的相关内容、接口电路、数电、电路等)和软件知识(汇编语言、c/c++、操作系统等)。
‘外’指的是和实际应用相关的众多领域,如网络、通信协议等。
---------------------------------------------------------------------