1 / 51

ARM 处理器开发

ARM 处理器开发. 杨传森. 内容介绍. ARM 的基本内容: ARM 公司的简介 ARM 的设计思想与 RISC 的设计思想之比较 ARM 的结构特定 ARM 总线技术 ARM 的命名规则 ARM 的基础知识: ARM 的体系结构 ARM 的流水线结构 ARM 的寄存器 ARM 的存储器与 I/O ARM 的处理器状态 ARM 的处理器模式 ARM 的条件代码标志、模式位 ARM 存储器格式. 内容介绍. ARM 的指令集: ARM 与 THUMB 两种指令集的应用 ARM 的应用与开发心得介绍

huyen
Download Presentation

ARM 处理器开发

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARM处理器开发 杨传森

  2. 内容介绍 ARM的基本内容: • ARM公司的简介 • ARM的设计思想与RISC的设计思想之比较 • ARM的结构特定 • ARM总线技术 • ARM的命名规则 • ARM的基础知识: • ARM的体系结构 • ARM的流水线结构 • ARM的寄存器 • ARM的存储器与I/O • ARM的处理器状态 • ARM的处理器模式 • ARM的条件代码标志、模式位 • ARM存储器格式

  3. 内容介绍 • ARM的指令集: • ARM与THUMB两种指令集的应用 • ARM的应用与开发心得介绍 • ARM存储映射及引导块 • ARM的中断分配 • ARM的堆栈分配 • ARM的中断处理策略与过程处理 • ARM的外部存储控制器的应用 • ARM的引脚分配

  4. 电源模块 FLASH 时钟 微处理器 RAM 复位 ROM USB LCD 键盘 其他 嵌入式系统基本组成-硬件 • 硬件示意图

  5. 应用程序 软件结构 操作系统 输入 输出 处理器 存储器 硬件结构 嵌入式系统基本组成-软件 • 软件示意图

  6. 引言--嵌入式系统组成 I • 嵌入式处理器:系统的核心部件 • 外围设备: • 存储器 • 接口 • 嵌入式操作系统:uC/OS-II等等 • 应用软件

  7. ARM公司简介 • ARM 公司作为32位处理器内核的提供者,拥有100多家半导体合作伙伴,ARM core是目前消费类电子市场中市场占有量第一的CPU体系。 • ARM是一个CPU内核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费与技术转让费 • 随着ARM/MIPS/ARC等成熟内核的推出,很多过去没有32位cpu研发能力的半导体公司进入这一行列。

  8. ARM的设计思想 • 降低功耗:设计成较小的核 • 高的代码密度:由于嵌入式系统的成本问题与物理尺寸的限制与制约,嵌入式系统的存储器有限 • 集成调试技术:减小嵌入式处理器的内核芯的面积,相应低增加外设电路的空间,提高监视能力――处理器在执行代码的具体情况,降低系统的整体开发成本

  9. ARM结构特点 • 面向嵌入式系统的指令集: • 桶形移位器:硬件结构部件,扩展了许多指令的功能,借此改善内核的功能,提高代码的密度 • 条件执行:这个特性可以减少分支指令的数目,改善内核的功能,提高代码的密度 • Thumb指令集:增强ARM的内核的功能,提高代码密度 • 增强指令:一些DSP指令被加入到标准ARM指令中,支持16*16位乘法操作和饱和运算。

  10. ARM-嵌入式解决方案的RISC标准 • ARM是知识产权(IP)供应商,专注与系统设计。IP :Intellectual Property Core • 由于ARM核以其高性能、小体积,低功耗紧凑代码密度多供应源,并全球有100多个合作伙伴从而保证了大量的开发工具核丰富的第三方资源 • 借助于第三方开发者广泛的支持,应用设计可以使用丰富的标准开发工具和ARM优化的应用软件

  11. ARM总线技术 • ARM主要是芯片设计公司,它并不体现具体的总线电气特性,但它详细地定义了总线协议。

  12. ARM总线技术 • 1、AMBA(初期):高级控制总线结构(Advanced Microcontroller Bus Architecture ),包括ARM系统总线(ASB,ARM System BUS)和ARM外设总线(APB,ARM Peripheral BUS) • 2、AHB:高性能总线(Advanced High Performance BUS )。基于AMBA,一个外设可以简单地连接到片上总线,而不需要为不同的处理器结构重新设计接口。 • 3、一条AHB总线连接高性能的片内外设;一条APB总线连接较慢的片内外设。

  13. 命名规则 ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F} {-S} • X―――系列 • Y―――存储管理/保护单元 • Z―――cache • T―――Thumb16位译码器

  14. 命名规则 • D―――JTAG调试器,由IEEE1149.1标准测试访问端口(standard test access port)和边界扫描结构来描述,是ARM用来发送和处理内核与测试仪器之间调试信息的一系列协议。 • M―――快速乘法器 • I―――嵌入式跟踪宏单元(embedded ICE Macrocell),是建立在处理器内部、用来设置断点和观察点的调试硬件

  15. 命名规则 • E―――增将指令(基TDMI) • J―――Jazelle,一种可加速Java字节码的执行的技术 • F―――向量浮点单元 • S―――可综合版本,处理器内核是以源代码形式提供的

  16. ARM系列处理器 • ARM系列内核的优势 • 低价格 • 低功耗 • 高处理能力。 • 另外具有Thumb,DSP,jazeller功能扩展

  17. ARM系列处理器 • 主流ARM内核: • ARM7 :arm7tdmi,arm720t(MMU) • ARM9 • ARM10 • StrongARM/Xscale • ARM11

  18. ATMEL公司arm系列 • AT91系列: AT91X40系列: 基于arm7tdmi核,内嵌FLASH,SRAM和各种外围功能模块,为嵌入式应用提供了一个灵活的、性价比高的解决方案。 • 优点:工业级。但缺乏lcd驱动等较吸引力的外围电路。

  19. ATMEL公司arm系列 AT75/76系列: 内置arm7/DSP双内核, 有Arm+2DSP/ARM+DSP+MAC,两种配置, 加上PHY就可实现voip终端

  20. ARM系列处理器 • Cirrus logic公司 机顶盒/mp3/IA等专用SOC,有数模混合和视频/音频处理优势。 • EP7211 • EP7212 • EP7209 • EP9312

  21. ARM系列处理器 • NetScillon公司 ARM+NET系列芯片,关注设备上网(嵌入式internet)解决方案。

  22. ARM系列处理器 • Samsung: Arm系列SOC芯片,集成度高,关注mp3/pda应用。 • Motolora : 最近推出龙珠MX1,使用了arm内核。

  23. ARM系列开发 • C/C++开发平台 ADS :ARM公司提供 SDT:ARM公司提供 HITOOL:祥宝公司提供 EMBEST:英蓓特公司提供 GNU:免费平台

  24. ARM系列仿真调试器 • ARM系列支持JTAG规范 目前支持ARM的调试器: Angel---rom monitor JEENI Multi-Ice TraceIcd ….

  25. ARM7处理器基础知识 • ARM/THUMB • THUMB (inside 32bit,code 's 16bit)--增加代码密度减少成本 • 7种模式: 用户态/FIQ/IRQ/管理态/中止态/系统态/未定义寄存器。

  26. ARM体系结构 • 32位ALU,31个32位通用寄存器及6个状态寄存器, • 32X8位乘法器,32X32位移位寄存器 • 指令译码及控制逻辑,指令流水线和数据/地址寄存器

  27. 调试与测试 ARM7TDMI AHB桥 仿真跟踪模块 向量中断 AMBA总线 局部总线 AHB To VPB VPB AHB译码 SDRAM及内部控制器 外部中断 外部存储控制器 捕获/比较 定时器 IIC接口 A/D转换器 SPI接口 通用I/O UART0 1 PWM 看门狗定时器 实时时钟 系统控制 • ARM7TDMI功能框图

  28. 数据 指令译码器 符号扩展 写 读 PC p15 结果 to Rd 寄存器文件r0~r15 Rn Rm 桶型移位器 MAC ALU 地址寄存器 加法器 地址 ARM内核的数据流模型 • ARM内核的数据流模型

  29. ARM流水线结构 • 取指 • 译码 • 取操作数 • 执行运算 • 存储器访问 • 结果写回寄存器 各个阶段操作相互独立,采用流水线的重叠技术极大地提高了系统性能

  30. 指令 译码 译码 Reg 读 移位 /ALU 乘法 地址 计算 乘法器 部分积 相加 Reg写 数据写 取指令 Thumb解压缩 ARM译码 Reg读 移位/ALU Reg写 取指令 译码 Reg读 移位/ALU 数据存储器访问 Reg写 ARM7、ARM9、ARM9E、ARM10在流水线方面的区别 • 取指 译码 执行 • 取指 译码 执行 存储器 写 • 取指发射译码执行存储器写

  31. ARM7寄存器 R0--R7 : 通用寄存器 • R8_FIQ ---R12_FIQ:允许快速中断处理 • /R8_USER ---- R12_USER 其它态。 • R13,R14/USER:SYSTEM • R13,R14/FIQ R13,R14/管理态 • R13,R14/IRQ R13,R14/中止态 R13,R14/UNDEF • R13用于各工作态的堆栈寄存器 • R14用来保护程序调用的现场PC指针 • R15:pc,其内容是处理器要取的下一条指令的址

  32. 中断与异常 • 复位 0x00000000开始或0xffff0000开始 • 管理模式 IRQ 中断irq引脚产生,比Fiq优先级低。进入Fiq时,会屏蔽irq.0x000000018或0xffff0018 • FIQ 快速中断引脚产生,放在矢量表的最后,另外有自己的临时寄存器,提升中断响应 0x0000001c或0xffff001c • 异常进入均为ARM态,另外异常的返回各不相同。FIQ: movs pc,r14_fiq,#4 IRQ: movs pc,r14_fiq,#4 • Fiq/irq 的最大延迟时间:29个时钟周期。 • 最小延迟时间:5个时钟周期。

  33. 存储器和I/O • ARM采用了存储器映射I/O的方式,把I/O地址作为特殊的存储器地址。 • ARM体系同时支持大尾端/小尾端 • 小位端:11223344 --〉44,33,22,11。 • 32根地址线 • 32根数据线 • 内部cache • I/O采用内存映射的方式实现

  34. LPC2200系列-ARM I/O结构 • 一般而言,ARM架构中的处理器核和处理器内核都没有I/O部件和模块,但是可以通过AMBA总线扩展。 • 存储器映射I/O:ARM采用了存储器映射I/O的方式,把I/O地址作为特殊的存储器地址。 • 中断IRQ和快速中断FIQ:一般的ARM没有DMA功能,系统安排了快速中断FIQ和中断IRQ来提高I/O处理能力。

  35. ARM AMBA接口 • ARM内核通过内部总线选用Cache部件,通过协处理器接口扩充各种协议处理器, • 通过AMBA来扩展不同体系构架的宏单元及I/O部件

  36. ARM7TDMI处理器三级流水线 • 增加处理器指令流的速度,(09MIPS/MHz) • 取指 • 译码 • 执行 • ARM7TDMI使用 Von Neumann结构:指令与数据共用一条32位总线。

  37. 处理器状态I • ARM7TDMI内核使用ARMv4T,该结构包含32位ARM指令集,16位Thumb指令集。

  38. 处理器状态II-处理器模式

  39. 条件代码标志: • ARM内核使用CPSR来监视和控制内部的操作 • CPSR分为4个8位区域:标志域、状态域、扩展域、控制域

  40. 模式位 -处理器模式

  41. 异常或入口 返回指令 前状态 ARM Thumb 备注 BL Mov pc,r14 Pc+4 Pc+2 SWI Mov pc,r14_svc Pc+4 Pc+2 未定义指令 Mov pc,r14_und Pc+4 Pc+2 预取中止 SUBS pc,r14_abt,#4 Pc+4 Pc+4 快中断 SUBS pc,r14_fiq,#4 Pc+4 Pc+4 中断 SUBS pc,r14_riq,#4 Pc+4 Pc+4 数据中止 SUBS pc,r14_abt,#8 Pc+8 Pc+8 复位 无 无 无 异常与中断 • 异常或入口

  42. 异常与中断 • 进入异常 在适当的LR中保存,下一条指令的地址。 CPSR复制适当的SPSR 根据异常将CPSR模式强制设为某一值 强制PC从相关的异常向量处取指

  43. 异常与中断 • 退出异常 将LR中的值减去偏移量后移入PC 将SPSR的值复制回CPSR 清零中断禁止标志(在入口中置位的)

  44. 异常与中断 • FIQ(快速中断) nFIQ信号由片外拉低,产生快速中断请求,支持数据转移和通道处理;在一个特权模式下,可通过置位CPSR中的F标志位,来禁止FIQ异常;当F标志清零时,ARM7TDMI在每条指令结束时检测FIQ同步器输出端的电平。

  45. 异常与中断 • IRQ 用于外部硬件(外设)中断处理器的正常执行流。在一个特权模式下,可通过置位CPSR中的I标志位,来禁止IRQ异常。

  46. 异常与中断 • 中止 表示当前对存储器的访问不能被完成。ABORT信号由内部存储管理器部件控制。

  47. 异常与中断 • 软件中断 SWI指令用于调用一个操作系统例程的机制。即软件中断进入管理模式,用于请求特定的管理函数。

  48. 异常与中断 • 未定义指令 处理器不能对一条指令译码时使用

  49. 异常与中断 • 复位 处理器上电后执行的第一条指令的位置。该指令使处理器转跳到初始化代码处。

  50. 存储器格式I • Little-endian 31 16 15 0

More Related