ARM体系结构与编程.ppt
《ARM体系结构与编程.ppt》由会员分享,可在线阅读,更多相关《ARM体系结构与编程.ppt(203页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ARM体系结构与编程体系结构与编程内容内容ARM概述和分类ARM指令集和汇编程序设计ARM体系结构和存储系统ARM中断和异常处理2023/3/162第一章第一章ARM概述和分类概述和分类内容内容ARM简介ARM的分类ARM的命名规则基于ARM的嵌入式系统概述2023/3/164ARM介绍介绍什么是什么是ARM?其实,人人都用其实,人人都用其实,人人都用其实,人人都用ARMARMARMARM!2023/3/165什么是什么是ARMARM是一个公司的名字ARM代表一项技术,即AdvancedRISCMachineARM是一个内核,而不是我们看到的具体的芯片ARM发展的历程发展的历程第一片ARM处理
2、器是1983年10月到1985年4月间在位于英国剑桥的AcornComputer公司开发1990年,为广泛推广ARM技术而成立了独立的公司AdvanceRISCMachine(ARM)主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴ARM公司不生产芯片IP(IntelligenceProperty)另外也提供基于ARM架构的开发设计技术软件工具,评估板,调试工具,应用软件,总线架构,外围设备单元,等等20世纪90年代,ARM快速进入世界市场。ARMOfficesWorldwide800+雇员雇员全球全球EnglandCambridge,Maidenhead,She
3、ffield,BlackburnGermanyMunichFrance Paris,Sophia AntipolisKoreaSeoulUSSeattle,Los Gatos,Walnut Creek,Austin,Boston,San DiegoChinaTaiwan and ShanghaiJapanShin-Yokohama(Tokyo)ARMPartnershipModelARM的应用的应用2023/3/1610ARM分类分类基于指令集体系结构(构架ISA)的分类ARMV1体系是最初版本,只有26位的寻址空间,没有乘法指令,最终没有商业化ARMV2体系与V1体系同为26位寻址空间,具有
4、乘法和加法指令,支持协处理器ARMV3体系的寻址范围扩展到32位,具有乘法和加法指令,支持协处理器ARMV4体系增加了半字存储操作,对调试的支持以及支持嵌入的ICEARMV5体系增加了DSP指令支持和对Java指令的支持ARMV6体系增加了媒体指令,ARMv6指令集合中加入了超过60条SIMD单指令多数据指令ARMV7体系定义了三种独立的内核型A(应用领域),R(实时领域),M(控制领域)2023/3/1611ARM系列处理器系列处理器基于处理器内核的分类ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列StrongARM/Xscale(Intel)ARM112023
5、/3/1612ARM命名举例命名举例核体系结构ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720TARM740TV4TStrongARM,ARM8,ARM810V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV62023/3/1613ARM体系的变种体系的变种1)Thumb指令集(T变种)
6、Thumb指令集是把32位的ARM指令集的一个子集重新编码后而形成的一个特殊的16位的指令集2)长乘指令(M变种)长乘指令是一种生成64位相乘结果的乘法指令(此指令为ARM指令),M变种增加了两条长乘指令3)增强型DSP指令(E变种)E变种的ARM体系增加了一些增强处理器对典型的DSP算法处理能力的附加指令。4)Java加速器Jazelle(J变种)ARM的Jazelle技术是Java语言和先进的32位RISC芯片完美结合的产物。5)ARM媒体功能扩展(SIMD变种)2023/3/1614ARM的命名规则的命名规则ARM的命名分成两类:基于ARMArchitecture的版本命名规则;基于AR
7、MArchitecture版本的处理器系列命名规则。举个例子,s3c2410采用ARMv4T架构版本,ARM920T处理器系列,其中处理器核为ARM9TDMI。2023/3/1615基于基于ARMArchitecture的版本命名的版本命名规则:|ARMv|n|variants|x(variants)|分成四个组成部分:ARMv-固定字符,即ARMVersionn-指令集版本号。迄今为之,ARM架构版本发布了7个系列,所以n=1:7。其中最新的版本是第7版variants-变种。x(variants)-排除x后指定的变种常见的变种有:T-Thumb指令集M-长乘法指令E-增强型DSP指令J-J
8、ava加速器JazelleSIMD-ARM媒体功能扩展例如,ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种2023/3/1616基于基于ARMArchitecture版本的处理器系列命名版本的处理器系列命名采用上述的架构,形成一系列的处理器。有时候还要区分处理器核和处理器系列。不过,在这里其实不用区分太细,毕竟这是功能的小部分的变化,核心是相同的。规则:ARMxyzTDMIEJF-Sx-处理器系列y-存储管理/保护单元z-cacheT-支持Thumb指令集D-支持片上调试M-支持快速乘法器I-支持EmbeddedICE,支持嵌入式跟踪调试E-支持增强型DSP指令J-支持Ja
9、zelleF-具备向量浮点单元VFP-S-可综合版本2023/3/1617基于基于ARM的嵌入式系统概述的嵌入式系统概述(1)RISC设计思想与CISC相比,有以下几个方面不同:a:设计重点不同,RISC重点在于通过软件的灵活降低硬件执行指令的复杂度,即使得编译器更高的复杂性b:指令集,RISC减少了指令种类,操作也简单,基本是一个周期执行一条指令,每一条指令长度是固定,而CISC指令长度不固定,执行也需要多个周期c:寄存器,RISC拥有更多寄存器,都可以存放数据或地址,而CISC都是用于特定目的的专用寄存器d:load-store结构,即处理器只处理寄存器中的数据,独立的load-store
10、指令完成数据在寄存器和外部存储器之间的传送,即数据处理与存储器访问分开,而CISC能够直接处理存取器中的数据注:ARM指令集属于RISC指令集,但与单纯的RISC有以下几方面不同2023/3/1618基于基于ARM的嵌入式系统概述的嵌入式系统概述ARM指令集属于RISC指令集,但与单纯的RISC有以下几方面不同:a:大部分ARM指令是单周期完成的,但也有不是的,如多寄存器的load-store指令的执行周期是不确定的,具体由被传送的寄存器个数决定。b:内嵌桶型移位寄存器c:Thumb16位指令集d:条件执行e:增强指令,如添加了强大的数字信号处理器(DSP)指令,以支持1616位乘法操作及饱和
11、操作2023/3/1619基于基于ARM的嵌入式系统概述的嵌入式系统概述(2)高速缓存(cache)1、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。CPU高速缓存控制器CACHE主存数据数据地址2023/3/1620基于基于ARM的嵌入式系统概述的嵌入式系统概述(3)嵌入式处理器分类微处理器微处理器(Micro Processor Unit,MPU)微控制器微控制器(Micro Controller Unit,MCU)嵌入式嵌入式DSP(Digital Signal
12、Processor,DSP)片上系统片上系统(System On Chip)2023/3/1621嵌入式微处理器嵌入式微处理器嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为满嵌入式应用 的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面都做了各种增强。目前主要的嵌入式处理器类型有目前主要的嵌入式处理器类型有Am186/88Am186/88、386EX386EX、SC-400SC-400、PowerPCPowerPC、680006
13、8000、MIPSMIPS、ARM/StrongARMARM/StrongARM系列等系列等嵌入式微处理器嵌入式微处理器嵌入式微控制器嵌入式微控制器 嵌嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成集成ROM/EPROM、RAM、总线、总线逻辑、定时、总线、总线逻辑、定时/计数器、计数器、WatchDog、I/O、串行口、脉宽调制输出、串行口、脉宽调制输出、A/D、D/A、Flash
14、RAM、EEPROM等各种必等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。少,从而减少功耗和成本。和和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,嵌入式微处理器相比,微控制器的最大特点是单片化,体积大
15、大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。嵌入式微控制器嵌入式微控制器嵌入式微控制器目前的品种和数量最多,比较有代表性的通用嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。另外还有许多半通等。另外还有许多半通
16、用系列如:支持用系列如:支持USB接口的接口的MCU 8XC930/931、C540、C541;支持支持I2C、CAN-Bus、LCD及众多专用及众多专用MCU和兼容系列。目前和兼容系列。目前MCU占嵌入式系统约占嵌入式系统约70的市场份额。的市场份额。嵌入式嵌入式DSP处理器处理器DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两个发展来源,一是DSP处理器经过单片化、
17、EMC改造、增加片上外设成为嵌入式DSP处理器,TI的TMS320C2000/C5000等属于此范畴;二是在通用单片机或SOC中增加DSP协处理器,例如Intel的MCS-296和Infineon(Siemens)的TriCore。推动嵌入式DSP处理器发展的另一个因素是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。嵌入式嵌入式DSP处理器处理器 有有代表性的产品是代表性的产品是Texas Ins
18、trumentsTexas Instruments的的 TMS320TMS320系列和系列和MotorolaMotorola的的DSP56000DSP56000系列。系列。TMS320 TMS320系列处理器包括用于控制的系列处理器包括用于控制的C2000C2000系列,移动通信的系列,移动通信的C5000C5000系列,以及性能更高的系列,以及性能更高的C6000C6000和和C8000C8000系列。系列。Motorola Motorola公司的公司的DSP56000DSP56000已经发展成为已经发展成为DSP56000DSP56000,DSP56100,DSP56100,DSP5620
19、0DSP56200和和DSP56300DSP56300等几个不同系列的处理器。等几个不同系列的处理器。PHILIPS PHILIPS公司也推出了基于可重置嵌入式公司也推出了基于可重置嵌入式DSPDSP结构低成本、低结构低成本、低功耗技术上制造的功耗技术上制造的DSPDSP处理器,特点是具备双处理器,特点是具备双HarvardHarvard结构和双乘结构和双乘/累加器单元,应用目标是大批量消费类电子产品。累加器单元,应用目标是大批量消费类电子产品。随着EDI的推广和VLSI设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是SystemOnChip(SOC
20、)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。它结合了许多功能区块,将功能做在一个芯片上,ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,例如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口
21、、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。嵌入式片上系统嵌入式片上系统(SoC)基于基于ARM的嵌入式系统概述的嵌入式系统概述(4)嵌入式系统硬件2023/3/1629总线总线(4)嵌入式系统硬件微处理器(CPU)是嵌入式系统硬件平台的核心构件,但不是全部。按照冯诺依曼体系结构思想,计算机的硬件是由CPU、存储器和I/O设备三部分组成的。总线是把CPU与存储器、I/O设备相连接的信息通道,但总线并不仅仅指的是一束信号线,而应包含相应的通信协议。按照使用场合的不同,总线分成芯片级总线(CPU总线)、板卡级总线(内总线)和系统级总线(外总线)。
22、总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备键盘低速总线基于基于ARM的嵌入式系统概述的嵌入式系统概述(4)嵌入式系统硬件AMBA总线是一个多总线系统。规范定义了三种可以组合使用的不同类型的总线:AHB(AdvancedHigh-performanceBus)、ASB(AdvancedSystemBus)和APB(AdvancedPeripheralBus)。AHB:CPU核、存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块等(可以包括多个主模块)APB:WATCHDOG、IIS、IIC、PWM、ADC、UART、GPIO、RTC等(只有一个主模块)ASB:
23、连接高性能系统模块,在某些需高速且不必使用AHB总线的场合使用2023/3/1632基于基于ARM的嵌入式系统概述的嵌入式系统概述(5)嵌入式存储器大多数嵌入式产品的存储器结构是分层的,即多种类型的存储器在决定存储器层次、宽度、类型等特性时,需综合考虑产品的价格、性能、功耗等因素2023/3/1633存储器系统寄存器高速缓存SRAM主存储器DRAM本地存储器Flash、ROM、磁盘网络存储器Flash、ROM、磁盘时钟周期01105010020000000分层结构存储器种类RAMRAM:随机存取存储器:随机存取存储器SRAMSRAM:静态随机存储器(高速存储器或:静态随机存储器(高速存储器或c
24、achecache)不需刷新电路即能保存内部存储)不需刷新电路即能保存内部存储数据。数据。DRAMDRAM:动态随机存储器,一般使用电容存储,需经常刷新:动态随机存储器,一般使用电容存储,需经常刷新 1 1)SRAMSRAM比比DRAMDRAM快快 2 2)SRAMSRAM比比DRAMDRAM耗电多耗电多 3 3)DRAMDRAM存储密度比存储密度比SRAMSRAM高得多高得多 4 4)DRAMDRAM需要周期性刷新需要周期性刷新SDRAMSDRAM:同步动态随机存储器,是:同步动态随机存储器,是DRAMDRAM中的一种,因与处理器总线同步,故能突中的一种,因与处理器总线同步,故能突发式地输出
25、到总线发式地输出到总线ROMROM:只读存储器:只读存储器闪速存储器闪速存储器(FLASH)PROM:可编程ROMEPROM:可擦除、可编程ROMEEPROM:电可擦除、可编程ROMFLASH:闪存相对传统的EPROM芯片,这种芯片可以用电气的方法快速地擦写由于快擦写存储器不需要存储电容器,故其集成度更高,制造成本低于DRAM它使用方便,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以快擦写存储器技术发展十分迅速 FLASH的架构大致上可分为具程序执行能力的NOR架构以及储存数据的NAND架构 NOR技术和技术和NAND技术技术NOR Flash市场目前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 体系结构 编程
限制150内