最新嵌入式系统及其应用第三讲ARM简介与ARM体系结构PPT课件.ppt
-
资源ID:60589945
资源大小:1.75MB
全文页数:55页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
最新嵌入式系统及其应用第三讲ARM简介与ARM体系结构PPT课件.ppt
嵌入式系统及其应用第三嵌入式系统及其应用第三讲讲ARMARM简介与简介与ARMARM体系结构体系结构OUTLINE3.1ARM简介简介3.2RISC体系结构体系结构3.3ARM编程模型编程模型3.4ARM开发工具基础开发工具基础3.5 本章小结本章小结 习题习题2ARM处理器处理器核核简介简介p ARMARM公司开发了很多系列的公司开发了很多系列的ARMARM处理器核处理器核如:如:ARM7ARM7、ARM9ARM9、ARM10ARM10、ARM11ARM11等等系列系列 ARM6ARM6核以及更早的系列已很少见核以及更早的系列已很少见 目前应用比较广泛的系列是:目前应用比较广泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscaleARM11Cortex9ARM7系列类型:系列类型:u ARM7TDMIu ARM7TDMI-Su ARM720Tu ARM7EJARM9系列类型:系列类型:u ARM920Tu ARM922Tu ARM940T例如:例如:ARM7、ARM9系列微处理器系列微处理器10ARM系列后缀的含义系列后缀的含义ARM7 ARM7 T D M IT D M I支持高密度支持高密度16位的位的Thumb指令集指令集Embeded-ICE,支持片上断点和调试点支持片上断点和调试点内嵌硬件乘法器内嵌硬件乘法器(Multiplier)支持片上调试支持片上调试ARM7 ARM7 E JE J支持支持新的新的JAVAJAVA支持支持增强型增强型DSPDSP指令集指令集11注意注意:“ARM“ARM核核”并不是芯片并不是芯片 ARMARM核核RAMRAM、ROMROM、片内外设等、片内外设等组合在一起才能构成现实的芯片组合在一起才能构成现实的芯片12ARM系列微处理器核特点ARM7ARM7TDMI:整数处理核ARM7TDMI处理器的可综合版本;ARM720T:带MMU的处理器核心,支持操作系统;ARM7EJ-S:带有DSP和JazelleTM技术,能够实现Java加速功能冯诺伊曼体系结构;ARMTDMI是目前应用最广的微处理器核ARM720T带有MMU和8KB的指令数据混合cache;ARM7EJ-执行ARMv5TEJ指令,5级流水线,提供Java加速指令,没有存储器保护。ARM9ARM920T:带有独立的16KB数据和指令Cache;ARM922T:带有独立的8位KB数据和指令Cache;ARM940T包括更小数据和指令Cache和一个MPU基于ARM9TDMI,带16位的Thumb指令集,增强代码密度最多到35%;在0.13m工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);集成了数据和指令Chche;32位AMBA总线接口的MMU支持;可在0.18m、0.15m和0.13m工艺的硅芯片上实现。ARMARM系列简介系列简介13ARM9EARM926EJ-S:Jazelle技术,有MMU,可配置的数据和指令Cache,TCM接口;ARM946E-S:可配置的数据和指令Cache及TCM;ARM966E-S:针对要求高性能和低功耗的可预测的指令执行时间的硬实时应用设计ARM968E-S:最小、功耗最小的ARM9E系列处理器,针对嵌入式实时应用设计;ARM9E是针对微控制器、DSP和Java的单处理器解决方案;ARMJazelle技术提供8倍的Java加速性能(ARM926EJ-S);5-级整数流水线;在0.13m工艺下最高性能可达到300MIPS(Dhrystone2.1测试标准);可选择的向量浮点单元VFP9协处理器指令优秀海浮点性能,对于3D图形加速和实时控制可达到215MFLOPS。高性能的AHB总线,带MMU可在0.18m,0.15m,0.13m工艺的硅芯片上实现。ARM10EARM1020E:带DSP指令集,在片调试功能,独立的32KB数据和指令Cache,MMU支持;ARM1022E:与ARM1020E相同,只是独立的数据和指令Cache变为16KB;ARM1026EJ-S:同时具有MPU和MMU,可综合版本;带分支预测的6级整数流水线;在0.13m工艺下最高性能可达到430MIPS(Dhrystone2.1测试标准);对于3D图形运算和实时控制采用VFP协处理器,浮点运算性能最高可达650MFLOPS;双64位AMBA总线接口和64位内部总路线接口;优化的缓存结构提高了处理器访问低速存储器的性能;可在0.18m,0.15m,0.13m工艺的硅芯片上实现14ARM11ARM11MPCore:可综合的多处理器核,1至4个处理器可配置;ARM1136J(F)-S:可配置的数据和指令Cache,可提供1.9位的MPEG4编码加速功能;ARM1156T2(F)-S:带集成浮点协处理器,带内存保护单元MPU;ARM1176JZ(F)-S:带针对CPU和系统安全架构扩展的TrustZone技术。增强的Thumb、Jazelle、DSP扩展支持;带片上和系统安全TrustZone技术支持;在0.13m工艺下最高可达到550MHz;MPCore在0.13m工艺下最高性能可达到740MIPS(Dhrystone2.1测试标准);支持多媒体指令SIMD;采用三种电源模式:全速/待命/休眠集成DMA的TCM低功耗、高性能。SecurCoreSC100:第一个32位安全处理器;、SC110:在SC100上增加密钥协处理器;SC200:带Jazelle技术的高级安全处理器;SC210:在SC200上增加密钥协处理器SecurCore是专门为智能卡、安全IC提供的32位安全处理器,为电子商务、银行、网络、移动多媒体、公共交通提供安全解决方案;体积小、功耗低,代码压缩密度高;为快速增长的Java卡平台提供Java加速功能;15CortexCortex-A:面向应用的微处理器,针对复杂操作系统和应用程序设计;Cortex-R:针对实时系统的嵌入式处理器;Cortex-M:针对成本敏感应用优化的深度嵌入式处理器;2004年发布,提供增强的媒体和数字处理能力,增加了系统性能;支持ARM、Thumb、Thumb-2指令集;Thumb-2指令集提供了更高的代码存储密度,进一步降低成本;Intel系列StrongARM:ARMv4体系XScale:ARMv5TE体系,增加MMX指令StrongARM主要应用于手持设备和PDA,5级流水线,具有独立的数据和指令Cache,不支持Thumb指令集,目前已停产;XScale是目前Intel公司主推的高性能嵌入式处理器,分通用处理器、网络处理器和I/O处理器三类。其中通用处理器有PXA25x、PXA26x、PXA27x三个系列,被广泛应用于智能手机、PDA领域。16一、一、RISC 的产生和发展的产生和发展 80 20 规律规律 80%的语句仅用处理机中的语句仅用处理机中 20%的指令的指令 执行频度高的简单指令,因复杂指令执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高的存在,执行速度无法提高RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Computer)RISC技术技术 能否用能否用 20%的简单指令组合不常用的的简单指令组合不常用的 80%的指令功能的指令功能?3.2RISC体系结构的继承体系结构的继承17二、二、RISC 的主要特征的主要特征 选用使用频率较高的一些选用使用频率较高的一些 简单指令简单指令 复杂指令的功能由简单指令来组合复杂指令的功能由简单指令来组合 指令指令 长度固定长度固定 只有只有 LOAD/STORE 指令指令访存访存 流水技术流水技术 一个时钟周期一个时钟周期 内完成一条指令内完成一条指令 组合逻辑组合逻辑 实现控制器实现控制器 多个多个 通用通用 寄存器寄存器 采用采用 优化优化 的的 编译编译 程序程序 18CISCCISC与与RISCRISC的数据通道的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构CISC:寻址方式复杂19类别类别CISCCISCRISCRISC指令系统指令系统指令数量很多指令数量很多较少,通常少于较少,通常少于100100执行时间执行时间有些指令执行时间很长,如整有些指令执行时间很长,如整块的存储器内容拷贝;或将多块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器个寄存器的内容拷贝到存贮器没有较长执行时间的指没有较长执行时间的指令令编码长度编码长度编码长度可变,编码长度可变,1-151-15字节字节编码长度固定,通常为编码长度固定,通常为4 4个字节个字节寻址方式寻址方式寻址方式多样寻址方式多样简单寻址简单寻址操作操作可以对存储器和寄存器进行算可以对存储器和寄存器进行算术和逻辑操作术和逻辑操作只能对寄存器只能对寄存器对行算术对行算术和逻辑操作,和逻辑操作,Load/StoreLoad/Store体系结构体系结构编译编译难以用优化编译器生成高效的难以用优化编译器生成高效的目标代码程序目标代码程序 采用优化编译技术,生采用优化编译技术,生成高效的目标代码程序成高效的目标代码程序 CISCCISC与与RISCRISC的对比的对比20三、三、ARM内核内核RISC架构的特别技术架构的特别技术 所有的指令可所有的指令可根据前面的根据前面的执执行行结结果果决定是否决定是否 被被执执行行 可用加可用加载载/存存储储指令指令批量批量传输传输数据数据 可在一条数据可在一条数据处处理指令中同理指令中同时时完成完成逻辑处逻辑处理理 和和移位移位处处理理 在循在循环处环处理中使用理中使用地址的自地址的自动动增减增减来提高运来提高运 行效率行效率21四、四、ARM的流水线技术的流水线技术取指令取指令 3执行指令执行指令 31.指令的串行执行指令的串行执行取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 122四、四、ARM的流水线技术的流水线技术2.指令的二级流水指令的二级流水指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半 速度提高速度提高 1 倍倍取指令取指令1执行执行指令指令1取取指令指令2执行执行指令指令2取取指令指令3执行指令执行指令323六级流水六级流水14 个时间单位个时间单位串行执行串行执行 6 9=54 时间单位时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t3.指令的六级流水指令的六级流水24预取预取 译码译码 执行执行预取预取 译码译码 执行执行 访存访存 写入写入预取预取译码译码发送发送执行执行 访存访存 写入写入 ARM7ARM7:三级三级流水流水 ARM9ARM9:五级五级流水流水 ARM10ARM10:六级六级流水流水25一、存储数据类型、存储格式一、存储数据类型、存储格式ARMARM处理器支持下列数据类型:处理器支持下列数据类型:字节字节 8 8位位半字半字 1616位位(必须分配为占用两个字节必须分配为占用两个字节)字字 3232位位(必须分配为占用必须分配为占用4 4个字节个字节)1112342字对齐字对齐、半字对齐半字对齐3.3ARM编程模型编程模型26存储格式存储格式 大端格式大端格式 字数据的高字节存储在低地址中字数据的高字节存储在低地址中27 小端格式小端格式 字数据的高字节存储在高地址中字数据的高字节存储在高地址中存储格式存储格式28冯冯诺依曼体系结构(诺依曼体系结构(ARM7ARM7)指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据229哈佛体系结构(哈佛体系结构(ARM9ARM9以后)以后)指令寄存器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据30ARM体系结构支持下表所列的体系结构支持下表所列的7种处理器模式种处理器模式二、二、处理器模式处理器模式31处理器模式处理器模式说明说明 用户用户 (usr)(usr)系统系统 (sys)(sys)特权模式特权模式 快中断快中断 (fiq)(fiq)中断中断 (irq)(irq)管理管理 (svc)(svc)中止中止 (abt)(abt)未定义未定义 (und)(und)32处理器模式处理器模式说明说明 用户用户 (usr)(usr)正常程序执行模式正常程序执行模式 系统系统 (sys)(sys)运行操作系统的特权任务运行操作系统的特权任务 快中断快中断 (fiq)(fiq)异常模式异常模式 中断中断 (irq)(irq)管理管理 (svc)(svc)中止中止 (abt)(abt)未定义未定义 (und)(und)33三、双指令集与处理器工作状态三、双指令集与处理器工作状态 双指令集双指令集16位位Thumb指令集指令集:密度高,所占存储空间较小:密度高,所占存储空间较小32位的位的ARM指令集指令集:处理:处理32位数据时性能较高位数据时性能较高 处理器工作状态处理器工作状态Thumb状态状态:执行:执行半字对准半字对准的的Thumb指令指令ARM状态状态 :执行:执行字对准字对准的的ARM指令指令 可以切换,不影响运行模式和寄存器的内容可以切换,不影响运行模式和寄存器的内容34处理器状态切换处理器状态切换 使用使用BXBX指令可以将指令可以将ARMARM内核的操作状态在内核的操作状态在ARMARM状态和状态和ThumbThumb状态之间进行切换,如下:状态之间进行切换,如下:;从从Arm状态切换到状态切换到Thumb状态状态 LDR R0,=Lable+1 BX R0;从从Thumb状态切换到状态切换到ARM状态状态 LDR R0,=Lable BX R0地址最低位为1,表示切换到Thumb状态地址最低位为0,表示切换到ARM状态跳转地址标号35四、寄存器组四、寄存器组 31个通用寄存器个通用寄存器 6个状态寄存器个状态寄存器36 通用寄存器通用寄存器 未分组寄存器未分组寄存器R0R7 所有运行模式下,都指向同一个物理寄存器所有运行模式下,都指向同一个物理寄存器 分组寄存器分组寄存器R8R14每一次访问的物理寄存器与处理器当前的运行模式有关每一次访问的物理寄存器与处理器当前的运行模式有关 程序计数器程序计数器R15 ARM状态状态 :位:位1:0为为0,位,位31:2用于保存用于保存PC;Thumb状态:位状态:位0为为0,位,位31:1用于保存用于保存PC;寄存器寄存器R16 当前程序状态寄存器当前程序状态寄存器1 1、ARMARM状态下的寄存器组状态下的寄存器组37382 2、ThumbThumb状态下的寄存器组状态下的寄存器组39两种状态下的寄存器组对应关系两种状态下的寄存器组对应关系40 1个当前程序状态寄存器个当前程序状态寄存器(CPSR)5个备份的程序状态寄存器个备份的程序状态寄存器(SPSR,供异常处理使用供异常处理使用)备份的状态程序寄存器功能:备份的状态程序寄存器功能:保存保存ALU中的当前操作信息中的当前操作信息 控制允许和禁止中断控制允许和禁止中断 设置处理器的运行模式设置处理器的运行模式 3 3、程序状态寄存器、程序状态寄存器41NNZ ZC CV V I IM0M0M1M1M2M2M3M3M4M4T TF F.31 30 29 28 27 26 8 7 6 5 4 3 2 1 031 30 29 28 27 26 8 7 6 5 4 3 2 1 0条件代码标志条件代码标志保留保留控制位控制位溢出标志溢出标志 Overflow进位或借位扩展进位或借位扩展 Carry零零 Zero负或小于负或小于 NegativeI IRQ禁止禁止 InterruptFIQ禁止禁止 Fast状态位状态位 Thumb模式位模式位 ModeNZCVIM0M1M2M3M4TFCPSRCPSR寄存器的格式寄存器的格式42五、异常与中断处理五、异常与中断处理1、ARM支持的异常类型支持的异常类型 复位复位 未定义指令未定义指令 软件中断软件中断 中止中止 指令预取中止指令预取中止 及及 数据中止数据中止 IRQ FIQ43ARM体系结构所支持的异常体系结构所支持的异常异常类型具体含义复位(RESET)当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。未定义指令(UDEF)当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。软件中断(SWI)该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。指令预取中止(PABT)若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。数据中止(DABT)若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。外部中断请求(IRQ)当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务。快速中断请求(FIQ)当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。44异常向量(Exception Vectors)地地 址址异异 常常进入模式进入模式0 x0000,0000复位复位管理模式管理模式0 x0000,0004未定义指令未定义指令未定义模式未定义模式0 x0000,0008软件中断软件中断管理模式管理模式0 x0000,000C 中止(预取指令)中止(预取指令)中止模式中止模式0 x0000,0010中止(数据)中止(数据)中止模式中止模式0 x0000,0014保留保留保留保留0 x0000,0018IRQIRQ0 x0000,001C FIQFIQ45 复位复位 高高 数据中止数据中止 FIQ IRQ 预取指令中止预取指令中止未定义指令,未定义指令,SWI 低低2 2、异常的优先级、异常的优先级463、应用程序中的异常处理、应用程序中的异常处理 在异常向量表中的特定位置放置一条跳转指令,跳在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序。转到异常处理程序。4、异常的响应过程、异常的响应过程 将下一条指令的地址存入相应连接寄存器将下一条指令的地址存入相应连接寄存器LR 将将CPSR复制到相应的复制到相应的SPSR中中 根据异常类型,强制设置根据异常类型,强制设置CPSR的运行模式的运行模式 强制强制PC从相关的异常向量地址取下一条指令执行从相关的异常向量地址取下一条指令执行475、异常的返回过程、异常的返回过程 将连接寄存器将连接寄存器LR的值减去相应的偏移量送到的值减去相应的偏移量送到PC中中 将将SPSR复制到相应的复制到相应的CPSR中中 若设置了中断禁止位,则清除若设置了中断禁止位,则清除复位复位异常处理程序不需要返回异常处理程序不需要返回48ADT 嵌入式开发环境ARM Development Tools 武汉创维特开发ADT Emulator for ARMADT IDE for ARM3.4ARM开发工具基础开发工具基础49ARM ADS ARM ADS 集成开发环境集成开发环境ARM ADS:ARM Developer SuiteARM公司推出最新版本为ADS 1.2。支持所有ARM系列处理器包括:代码生成工具 集成开发环境调试器 指令集模拟器ARM 开发包 ARM应用库50ARM应用系统开发工具In Circuit Emulator5152JTAG调试调试接口接口 边界扫描技术边界扫描技术 通过边界扫描寄存器单元,实现对芯片通过边界扫描寄存器单元,实现对芯片输入输出信号的观察和控制输入输出信号的观察和控制 边界扫描寄存器对芯片是透明的,正常边界扫描寄存器对芯片是透明的,正常的运行不会受到任何影响的运行不会受到任何影响 不占用不占用ARMARM芯片上的任何硬件资源芯片上的任何硬件资源 比较方便和容易发现程序中存在的问题比较方便和容易发现程序中存在的问题53END54结束语结束语谢谢大家聆听!谢谢大家聆听!55