ARM体系结构与编程-第一章.ppt
《ARM体系结构与编程-第一章.ppt》由会员分享,可在线阅读,更多相关《ARM体系结构与编程-第一章.ppt(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ARM体系结构与编程嵌入式教研室授课教师:岳洋办公电话:862236251课件这门课主要讲的内容ARM ARM A Advanced dvanced R RISC ISC MMachineachine1 1、ARMARM基础知识(第基础知识(第1 1章)章)2 2、ARMARM汇编(第汇编(第2 2、3 3、4 4、8 8章)章)3 3、ARMARM存储系统存储系统 MMU MMU(第(第5 5章)章)M Memory emory MManagement anagement U Unitnit4 4、异常中断处理(第、异常中断处理(第9 9章)章)2课件前言了解嵌入式系统概述1 嵌入式系统简介
2、2 嵌入式系统的定义3 嵌入式系统的特点4 嵌入式系统的组成5 嵌入式系统的应用3课件嵌入式系统组成ESOFTWARE嵌入式软件嵌入式软件嵌入式操作系统嵌入式操作系统处理器处理器(内核)(内核)单片机单片机 ARM PowerPC ARM PowerPC DSP DSP嵌入式微处理器嵌入式微处理器配置硬件,补平硬件差异,配置硬件,补平硬件差异,为软件搭建平台为软件搭建平台如如linuxlinux、win ce uc-os2win ce uc-os2提供功能应用提供功能应用4课件嵌入式系统简介嵌入式系统的历史与现状从1946年电子计算机的诞生,发展到今天,在许多场合要求将微型机嵌入到一个对象体系
3、中,实现智能化控制。为了区别于通用计算机系统,把嵌入到对象体系中,实现智能化控制的计算机,称作嵌入式计算机系统。5课件嵌入式系统简介现代计算机技术的两大分支计算机进入了通用计算机与嵌入式计算机两大分支并行发展时代。通用计算机侧重的发展方向:高速、海量的数值计算、总线速度提升,扩大存储容量。嵌入式计算机对体积、功耗、功能、可靠性、专用性有较高要求。6课件2嵌入式系统的定义7课件嵌入式系统的定义q参考参考IEEE(国际电气和电子工程师协会)的定义:国际电气和电子工程师协会)的定义:嵌入式系统嵌入式系统:“用于控制、监视或者辅助操作机用于控制、监视或者辅助操作机器和设备的装置器和设备的装置”u嵌入式
4、系统:以计算机技术为基础、软件硬件嵌入式系统:以计算机技术为基础、软件硬件可可裁剪裁剪、面向应用,对、面向应用,对功能、可靠性、成本、体积、功能、可靠性、成本、体积、功耗功耗严格要求的专用计算机系统严格要求的专用计算机系统。8课件嵌入式系统的应用消费电子消费电子嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电子汽车电子网络设备网络设备工业工业军事国防军事国防电子商务电子商务网络网络9课件现实生活中的嵌入式系统实例家庭环境10课件现实生活中的嵌入式系统实例办公室环境11课件现实生活中的嵌入式系统实例工业自动
5、化领域12课件现实生活中的嵌入式系统实例国防领域13课件现实生活中的嵌入式系统实例交通领域14课件现实生活中的嵌入式系统实例航空领域15课件现实生活中的嵌入式系统实例医疗系统16课件第1章ARM概述及其基本编程模型17课件第1章 目录q8.异常q9.复位q10.存储器及存储器映射I/Oq11.寻址方式简介q12.ARM7指令简介q13.协处理器接口q14.调试接口简介q1.简介q2.ARM7三级流水线q3.处理器状态q4.处理器模式q5.内部寄存器q6.程序状态寄存器q7.体系结构直接支持的数据类型18课件1.1ARM简介ARM公司简介 ARM是Advanced RISC Machines的缩
6、写,它是英国一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。RISC特点:精简指令集执行周期更短;硬件结构简单,配备大量寄存器,配合运算和操作;arm9采用哈佛结构(数据总线和指令总线分离),使得指令操作和数据操作可同时进行,速度更快。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。19课件1.1ARM简介ARM公司简介将技术授权给芯片厂商形成各具特色的ARM芯片.20课件1.1ARM简介ARM有三种含义:一个公司的名称;一类处理器的通称;一种技术的名称。ARM不是完整的单片机,它只是一个内核。所谓以ARM
7、为核的单片机,就是把ARM作为中央处理器(核),根据需要设计出:I/O口、功能模块、外围总线接口,用总线把几部分和ARM核连接在一起,组成一个单片机。这个单片机由ARM核控制。21课件1.1 ARM简介在学习单片机时,结构相对简单,会较快的涉及定时器/计数器、串口、I/O引脚的使用。学习ARM核时,同样也是对寄存器的设置(汇编指令、c语言)来控制ARM核、I/O管脚、功能模块,实现功能。ARM与单片机学习过程有许多相识的地方。很多外围电路适用ARM也适用于单片机。学会ARM核以后,就大致掌握了所有以ARM为核的单片机。无论这个单片机结构多么复杂,功能多么强大,也无论它来自哪个厂家。22课件1.
8、1ARM简介ARM体系结构 ARM处理器为RISC(reduce instruction set computing)芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典而先进的RISC特点:数据处理操作绝大多数只针对寄存器(D触发器结构,在CPU内部,离cpu最近,速度最快)的内容,而不直接对存储器(内存和外存,在CPU外部,存储器能够保存的数据量大)进行操作;通过load/store指令在寄存器和存储器之间传递数据。RISC处理器,速度更快,较x86处理器快60%,硬件结构简单。简单的寻址模式;统一和固定长度的指令域(32位)简化了指令的译码。具有大量的寄存器(37个
9、)ARMARM体系还采用一些特别技术,见教材第体系还采用一些特别技术,见教材第2 2页页23课件1、在同一条数据处理指令中包含算术逻辑处理和移位处理。在同一条数据处理指令中包含算术逻辑处理和移位处理。如:如:ADD R0,R1,R1,LSL#3;R0=R1+R1*82 2、使用地址自动增加(减少)来优化程序中的循环。使用地址自动增加(减少)来优化程序中的循环。使用地址自动增加(减少)来优化程序中的循环。使用地址自动增加(减少)来优化程序中的循环。如:如:如:如:LDR R0,R1#4;LDR R0,R1#4;先先先先R0R0R1 R1,然后自动使,然后自动使,然后自动使,然后自动使R1+4R1
10、+43 3、Load/StoreLoad/Store指令可以批量传输数据,效率很高。一条指指令可以批量传输数据,效率很高。一条指指令可以批量传输数据,效率很高。一条指指令可以批量传输数据,效率很高。一条指令就可以完成入栈或出栈操作。令就可以完成入栈或出栈操作。令就可以完成入栈或出栈操作。令就可以完成入栈或出栈操作。如:如:如:如:STMFD R13,R4-R6STMFD R13,R4-R6;将将将将R4-R6R4-R6的内容放入以的内容放入以的内容放入以的内容放入以R13R13为栈基址的连续为栈基址的连续为栈基址的连续为栈基址的连续3 3个单元中个单元中个单元中个单元中4 4、所有指令都可以根
11、据前面指令的执行结果,决定是否执行。所有指令都可以根据前面指令的执行结果,决定是否执行。所有指令都可以根据前面指令的执行结果,决定是否执行。所有指令都可以根据前面指令的执行结果,决定是否执行。如:如:如:如:CMP R2,R3 ;R2CMP R2,R3 ;R2与与与与R3R3相等跳到相等跳到相等跳到相等跳到looploop,不等则执行,不等则执行,不等则执行,不等则执行MOV R1,R0MOV R1,R0语句语句语句语句 BEQ loop BEQ loop MOV R1,R0 MOV R1,R024课件1.1ARM简介各ARM体系结构版本(这里主要指指令集)目前ARM公司定义了7种主要的ARM
12、指令集体系结构版本,以版本号V1V7表示。拥有相同指令集版本的ARM芯片,虽然出自不同的生产厂商,但它们使用的指令和应用软件是相互兼容的。25课件1.1ARM简介各ARM体系结构版本V1 该版本的ARM体系结构,只有26位的寻址空间,如今现在已经废弃不再使用,没有商业化,其特点为:基本的数据处理指令(加,减,与,或,非,比较)(这个版本不包括乘法);字节、字和半字加载/存储指令;具有分支指令,包括在子程序调用中使用的分支和链接指令;在操作系统调用中使用的软件中断指令(SWI)。26课件1.1ARM简介各ARM体系结构版本V2 同样为26位寻址空间,如今现在已经废弃不再使用,它相对V1版本有以下
13、改进:具有乘法和乘加指令;支持协处理器(专门用于进行辅助运算的芯片,其本身除了运算功能外没有其他功能,因此不能独立工作,必须和CPU一起工作(cp15特殊);原子性(不可分割)加载/存储指令SWP和SWPB(见备注)。27课件1.1ARM简介各ARM体系结构版本V3 寻址范围扩展到32位:增加了程序状态保护寄存器SPSR;增加了两种处理器模式(ARM和THUMB);修改了v3以前用于异常返回指令的功能;教材有更详细的介绍28课件1.1ARM简介各ARM体系结构版本V4目前大多使用的arm核,使用的是V4t,v5te版本,它相对V3版本作了以下的改进:增加了半字加载(LDRH)/存储(STRH)
14、指令;增加了字节(LDRSB/STRSB)和半字的加载和符号扩展指令(LDRSH/STRSH);增加了T变种,具有可以转换到Thumb状态的指令;增加了新的特权处理器模式。29课件1.1ARM简介各ARM体系结构版本V5 在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并增加了指令,对数字信号处理(DSP)算法提供增强算法支持,具体如下:改进了ARM/Thumb状态之间的切换效率;允许T变种(支持Thumb指令集)和非T变种一样,使用相同的代码生成技术;增加前导零计数(最高有效位前0的个数)指令CLZ和软件断点指令BKPT;对乘法指令如何设置标志作了严格的定
15、义。30课件1.1ARM简介各ARM体系结构版本V6ARM体系版本6是2001年发布的。其主要特点是增加了SIMD(Single Instruction Multiple Data,单指令多数据流)(SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。)功能扩展。它适合使用电池供电的高性能的便携式设备,便携式设备一方面需要处理器提供高性能,另一方面又需要低功耗。ARM体系版本6首先在2002年春季发布的ARM11处理器中使用。31课件1.1ARM简介各ARM体系结构版本V7V7A-应用程序架构通过多模式和对基于MMU的虚拟内存系统体系结构的支持,实现传统AR
16、M体系结构。V7B-实时架构通过多模式和对基于MPU(根据所处模式的访问权限保护内存)的受保护内存系统体系结构的支持。V7M-通过寄存器硬件堆栈以及对使用高级语言写入中断处理程序的支持,微控制器架构实现了专为快速中断处理而设计的程序员模型。32课件1.1ARM简介ARM处理器核简介 ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscaleStrongARMARM11E33课件1.1ARM简介ARM处理器核简介ARM7 该系列包括ARM7TDMI
17、和扩充了Jazelle(Java加速器)的ARM7EJ-S等等。高档的单片机,除了ARM720T外,都缺少mmu(memory management unit)不能运行真正的操作系统。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。34课件1.1ARM简介ARM处理器核简介ARM7特点低功耗0.9MIPS/MHz(mips指每秒百万条指令)的3级流水线结构32位ARM指令集和16位的Thumb指令集主频最高可达130MIPS典型芯片 ATMEL公司AT91M40800/55800A;Samsung公司的S3C44B0/4
18、510B35课件1.2ARM7简介 ARM7基于ARM体系结构V4版本,是目前低端的ARM核。具有广泛的应用,其最显著的应用为数字移动电话。注意:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设、GPIO(General Purpose I/O通用的输入输出端口)组合在一起才能构成现实的芯片。36课件1.2ARM7TDMI简介 ARM7TDMI支持32位寻址范围,使用了冯诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。ARM7TDMI的后缀意义为:支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE(调试接口)观察硬
19、件;ARM7 T D M I 37课件1.1ARM简介ARM处理器核简介ARM9 该系列包括ARM9TDMI、ARM920TARM920T、ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于无线通信、仪器仪表、安全系统和机顶盒等领域。38课件1.1MIPS/MHz1.1MIPS/MHz的哈佛结构(的哈佛结构(程序代码和数据的存储空间分开,程序和数据存储在不同的存储空间中,有各自的程序总线和数据总线),),5级流水线。流水线。3232位位ARMARM指令集和指令集和1616位位ThumbThumb指令集指令集全性能的全性能的MMU(MMU(存储器管理单元),存储
20、器管理单元),支持Windows CE、Linux、uC/os等多种主流嵌入式操作系统物理结构上,支持数据Cache和指令Cache,具有更具有更高的指令和数据处理能力。高的指令和数据处理能力。1.1 ARM简介 ARM处理器核简介ARM9特点典型芯片ATMELATMEL公司公司AT91RM9200AT91RM9200;SamsungSamsung公司的公司的S3C2410S3C2410 S3C2440S3C244039课件1.1ARM简介ARM处理器核简介ARM10 该系列包括ARM1020E和ARM1022E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,
21、从而极大提高了处理器的整型和浮点运算性能。可以用于视频游戏机和高性能打印机等场合。40课件支持支持DSPDSP指令集指令集,适合于需要高速数字信号,适合于需要高速数字信号处理的场合。处理的场合。6 6级流水线级流水线,指令执行效率更高。,指令执行效率更高。支持支持3232位位ARMARM指令集和指令集和1616位位ThumbThumb指令集。指令集。支持支持6464位的高速位的高速AMBAAMBA总线接口。总线接口。支持支持VFP10VFP10浮点处理协处理器。浮点处理协处理器。全性能的全性能的MMUMMU,支持,支持WindowsCEWindowsCE、LinuxLinux、PalmOSPa
22、lmOS等多种主流嵌入式操作系统。等多种主流嵌入式操作系统。支持数据支持数据CacheCache和指令和指令CacheCache,具有更高的指,具有更高的指令和数据处理能力令和数据处理能力主频最高可达主频最高可达400MIPS400MIPS。内嵌内嵌并行读并行读/写写操作部件。操作部件。1.1 ARM简介 ARM处理器核简介ARM10特点41课件ARMARM公司在公司在20032003年年4 4月月2929日宣布了其下一代日宣布了其下一代ARMARM架构架构的的CPUCPUARM11ARM11(又名(又名JaguarJaguar美洲虎),基于美洲虎),基于ARM11ARM11的微处的微处理器具
23、有更强的性能,尤其是多媒体处理能力。理器具有更强的性能,尤其是多媒体处理能力。ARM11ARM11微处理器采用微处理器采用0.130.13微米工艺,低端产品运行在微米工艺,低端产品运行在350MHz350MHz500MHz500MHz,高端产品运行在,高端产品运行在533533750MHz750MHz,如果将,如果将加工工艺减小到加工工艺减小到0.100.10微米,微米,那么芯片速度将达那么芯片速度将达1GHz1GHz。1.1 ARM简介 ARM处理器核简介ARM11E42课件1.1ARM简介ARM处理器核简介SecureCore该系列处理器主要针对新兴的安全市场,以一种全新的安全处理器设计为
24、智能卡和其它安全IC(集成电路)开发提供独特的32位系统设计,并具有特定反伪造方法,从而有助于防止对硬件和软件的盗版。43课件1.1ARM简介ARM处理器核简介Xscale Intel Xscale微控制器(ARMv5TE)核,操作系统包括linux,Windows CE,Symbian OS,和其他一些RTOS.提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。Xscale 处理器是处理器是Intel目前主要推广的一款目前主要推广的一款ARM微处理器。微处理器。典型芯片:典型芯片:PXA250/255/270/27244课件Xscale苹果苹果
25、iPhoneiPhone手机手机 45课件ARM ARM 体系结构更新体系结构更新46课件第1章 目录q8.异常q9.复位q10.存储器及存储器映射I/Oq11.寻址方式简介q12.ARM7指令简介q13.协处理器接口q14.调试接口简介q1.简介q2.ARM7三级流水线q3.处理器状态q4.处理器模式q5.内部寄存器q6.程序状态寄存器q7.体系结构直接支持的数据类型47课件1.2ARM7流水线技术三级流水线 有一种方法可以明显改善硬件资源的使用率和处理器的吞吐量,这就是当前一条指令结束之前就开始后面的指令,就是通常所说的流水线技术。这样可使几个操作同时进行。ARM7的流水线分3级,分别为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 体系结构 编程 第一章
限制150内