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