版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ARM架构和ARM公司简介 ARM 架构 ARM架构和ARM公司简介2 Agenda nARM公司简介 ARM 特点 编程模式模式 指令集指令集 系统设计系统设计 ARM架构和ARM公司简介 ARM Ltd n成立于1990年11月 q前身为 Acorn计算机公司 qAdvance RISC Machine(ARM) n主要设计ARM系列RISC处理器内核 n授权ARM内核给生产和销售半导体的合作伙 伴 qARM 公司不生产芯片 qIP(Intelligence Property) n另外也提供基于ARM架构的开发设计技术 q软件工具, 评估板, 调试工具,应用软件, q总线架构, 外围设备单
2、元,等等 ARM架构和ARM公司简介 ARM Offices Worldwide 800+ 雇员雇员 全球全球 England Cambridge, Maidenhead, Sheffield, Blackburn Germany Munich France Paris, Sophia Antipolis Korea Seoul US Seattle, Los Gatos, Walnut Creek, Austin, Boston, San Diego China Taiwan and Shanghai Japan Shin-Yokohama (Tokyo) ARM架构和ARM公司简介 ARM
3、 Partnership Model ARM架构和ARM公司简介6 Agenda nARM公司简介公司简介 ARM 特点 编程模式模式 指令集指令集 系统设计系统设计 ARM架构和ARM公司简介 RISC 架构简介 n1979年美国加州大学伯克利分校提出了RISC(Reduced Instruction Set Computer, 精简指令集电脑)的概念, n把着眼点放在了如何使电脑的结构更加简单合理地提高运算速度上。 nRISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长 度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少 用微码控制等措施来达到上述目的。到目前为止,R
4、ISC架构也还没有 严格的定义,一般认为,RISC架构应具有如下特点: n采用固定长度的指令格式,指令归整、简单、基本定址方式有23种。 n使用单周期指令,便于管线操作执行。 n大量使用寄存器,数据处理指令只对寄存器进行操作,只有载入/ 存 储指令可以存取记忆体,以提高指令的执行效率。 ARM架构和ARM公司简介 CISC 与 RISC 比较 n传统的CISC(Complex Instruction Set Computer,复杂指令集电脑) 结构有其固有的缺点,即随著电脑技术的发展而不断引入新的复杂的 指令集,为支援这些新增的指令,电脑的架构会越来越复杂,然而, 在CISC指令集的各种指令中
5、,其使用频率却相差悬殊,大约有20%的 指令会被反复使用,占整个程式码的80%。而余下的80%的指令却不经 常使用,在程式设计中只占20%,显然,这种结构是不太合理的。 ARM架构和ARM公司简介 ARM 微处器特点 n采用RISC架构的ARM微处理器一般具有如下特点: n体积小、低功耗、低成本、高性能。 n支援Thumb(16位)/ARM(32位元)双指令集,能很好的相容8位/16 位器件。 n大量使用暂存器,指令执行速度更快。 n大多数资料操作都在暂存器中完成。 n定址方式灵活简单,执行效率高。 n指令长度固定。 ARM架构和ARM公司简介10 Agenda nARM公司简介公司简介 AR
6、M 特点 编程模式 指令集指令集 系统设计系统设计 ARM架构和ARM公司简介 数据和指令类型 nARM 采用的是32位架构. n ARM 约定: qByte : 8 bits qHalfword :16 bits (2 byte) qWord : 32 bits (4 byte) n大部分ARM core 提供: qARM 指令集(32-bit) qThumb 指令集(T变种)(16-bit ) nJazelle cores 支持 Java bytecode(J变种,4TEJ) ARM架构和ARM公司简介12 处理器工作模式 n ARM 有7个基本工作模式: qUserUser:非特权模式,
7、大部分任务执行在这种模式 n正常程序执行的模式 qFIQFIQ:当一个高优先级(fast)中断产生时将会进入这种模式 n高速数据传输和通道处理 qIRQIRQ:当一个低优先级(normal)中断产生时将会进入这种模式 n通常的中断处理 qSupervisorSupervisor:当复位或软中断指令执行时将会进入这种模式 n供操作系统使用的一种保护模式 qAbortAbort: 当存取异常时将会进入这种模式 n虚拟存储及存储保护 qUndefUndef: 当执行未定义指令时会进入这种模式 n软件仿真硬件协处理器 qSystemSystem: 使用和User模式相同寄存器集的特权模式 n特权级的操
8、作系统任务 ARM架构和ARM公司简介 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr FIQIRQSVCUndefAbort User Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r
9、13 (sp) r14 (lr) r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers FIQIRQSVCUndefAbort r0 r1 r2 r3 r4 r5 r6 r7 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp)
10、 r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers UserIRQSVCUndefAbort r8 r9 r10 r11 r12 r13 (sp) r14 (lr) FIQ ModeIRQ Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) sps
11、r r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers UserFIQSVCUndefAbort r13 (sp) r14 (lr) Undef Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14
12、 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers UserFIQIRQSVCAbort r13 (sp) r14 (lr) SVC Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp
13、) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr Current Visible Registers Banked out Registers UserFIQIRQUndefAbort r13 (sp) r14 (lr) Abort Mode r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) sps
14、r r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr 当前可见寄存器当前可见寄存器 备用寄存器备用寄存器 UserFIQIRQSVCUndef r13 (sp) r14 (lr) ARM 寄存器 ARM架构和ARM公司简介 寄存器组织概要 User mode r0-r7, r15, and cpsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr FIQ r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr r0 r1 r2 r3 r4
15、r5 r6 r7 User r13 (sp) r14 (lr) spsr IRQ User mode r0-r12, r15, and cpsr r13 (sp) r14 (lr) spsr Undef User mode r0-r12, r15, and cpsr r13 (sp) r14 (lr) spsr SVC User mode r0-r12, r15, and cpsr r13 (sp) r14 (lr) spsr Abort User mode r0-r12, r15, and cpsr Thumb state Low registers Thumb state High reg
16、isters Note: System模式使用模式使用user模式寄存器集模式寄存器集 ARM架构和ARM公司简介15 ARM 寄存器 nARM 有37个32-Bits长的寄存器. q1 个用作PC( program counter) q1个用作CPSR(current program status register) q5个用作SPSR(saved program status registers) q30 个通用寄存器 n当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取: q相应的r0-r12子集 q相应的 r13 (the stack pointer, sp) and r14
17、 (the link register, lr) q相应的 r15 ( the program counter, pc) q相应的CPSR(current program status register, cpsr) n特权模式 (除system模式) 还可以存取; q相应的 spsr (saved program status register) ARM架构和ARM公司简介 程序状态寄存器 n 条件位: qN = 1-结果为负结果为负,0-结果为正或结果为正或0 qZ = 1-结果为结果为0,0-结果不为结果不为0 qC =1-进位,0-借位 qV =1-结果溢出,结果溢出,0结果没溢出结果
18、没溢出 nQ 位: q仅ARM 5TE/J架构支持 q指示增强型DSP指令是否溢出 nJ 位 q仅ARM 5TE/J架构支持 qJ = 1: 处理器处于Jazelle状态 n中断禁止位: qI = 1: 禁止 IRQ. qF = 1: 禁止 FIQ. nT Bit q仅ARM xT架构支持 qT = 0: 处理器处于 ARM 状态 qT = 1: 处理器处于 Thumb 状态 nMode位(处理器模式位): q0b10000User q0b10001FIQ q0b10010IRQ q0b10011Supervisor q0b10111Abort q0b11011Undefined q0b111
19、11System 2731 N Z C V Q 2867 I F T mode 1623 815 54024 fsxc U n d e f i n e dJ ARM架构和ARM公司简介17 n当处理器执行在ARM状态: q所有指令 32 bits 宽 q所有指令必须 word 对齐 q所以 pc值值由bits 31:2决定, bits 1:0 未定义 (所以指令不能 halfword / byte对齐). n当处理器执行在Thumb状态: q所有指令 16 bits 宽 q所有指令必须 halfword 对齐 q所以 pc值值由bits 31:1决定, bits 0 未定义 (所以指令不能 b
20、yte对 齐). n当处理器执行在Jazelle状态: q所有指令 8 bits 宽 q处理器执行 word 存取一次取4条指令 程序指针PC (r15) ARM架构和ARM公司简介18 Vector Table 异常处理 n当异常产生时, ARM core: q拷贝 CPSR 到 SPSR_ q设置适当的 CPSR 位: n改变处理器状态进入 ARM 态 n改变处理器模式进入相应的异常模式 n设置中断禁止位禁止相应中断 (如果需要) q保存返回地址到 LR_ q设置 PC 为相应的异常向量 n返回时, 异常处理需要: q从 SPSR_恢复CPSR q从LR_恢复PC qNote:这些操作只能
21、在 ARM 态执行. Vector table can be at 0 xFFFF0000 on ARM720T and on ARM9/10 family devices FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Interrupt Undefined Instruction Reset 0 x1C 0 x18 0 x14 0 x10 0 x0C 0 x08 0 x04 0 x00 ARM架构和ARM公司简介19 nThe ARM 可以用 little/big endian 格式存取数据. r0 = 0 x11223344 S
22、TR r0, r1 LDRB r2, r1 r1 = 0 x100 Memory 3 2 1 0 0 1 2 3Byte Lane 3124 2316 158 70 11223344 3124 2316 158 70 11223344 3124 2316 158 70 11223344 3124 2316 158 70 00000044 3124 2316 158 70 00000011 Little endianBig endian R2 = 0 x44R2 = 0 x11 nFor more information, see: “Application Note 61: Big and L
23、ittle Endian Byte Addressing” 字节顺序 ARM架构和ARM公司简介 ARM发展 SA-110 ARM7TDMI 4T 1 支持 Halfword 和 signed halfword / byte 和 System mode 支持 Thumb 指令集 2 4 ARM9TDMI SA-1110 ARM720TARM940T 改良的 ARM/Thumb 交互作用 以及CLZ 指 令 5TE Saturated maths DSP multiply-accumulate instructions XScale ARM1020EARM9E-S ARM966E-S 3 早期的
24、ARMs ARM9EJ-S 5TEJ ARM7EJ-S ARM926EJ-S Jazelle 支持 Java字节码 6 ARM11 SIMD SISIMDMD S SIMD ARM架构和ARM公司简介 ARM架构和ARM公司简介 ARM架构和ARM公司简介 ARM架构和ARM公司简介 ARM架构和ARM公司简介 ARM架构和ARM公司简介 ARM架构和ARM公司简介 ARM7 系列简介 nARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网 络和资料机设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微 处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、
25、ARM720T、 ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器, 属低端ARM处理器核。TDMI的基本含义为: nT:支援16为压缩指令集Thumb。 nD:支持片上Debug。 nM:内嵌硬体乘法器(Multiplier)。 nI:嵌入式ICE,支持片上中断点和除错点。 ARM架构和ARM公司简介 ARM9 系列简介 nARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。 ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以 适用于不同的应用场合。ARM9具有以下特点: n5级整数管线,指令执行效率更高。 n提供1.1
26、MIPS/MHz的哈佛结构。 n支援32位元ARM指令集和16位元Thumb指令集。 n支援32位元的高速AMBA总线接口。 n全性能的MMU,支援Windows CE、Linux、Palm OS等多种主流嵌入 式作业系统。 nMPU支援即时操作系统。 n支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 ARM架构和ARM公司简介 ARM10E 系列简介 nARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的架 构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近 50,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其 功耗极低。ARM10
27、E系列微处理器的主要特点如下: n支援DSP指令集,适合于需要高速数位信号处理的场合。 n6级整数管线,指令执行效率更高。 n支援32位元ARM指令集和16位元Thumb指令集。 n支援32位元的高速AMBA总线接口。 n支援VFP10浮点处理辅助运算器。 n全性能的MMU,支援Windows CE、Linux、Palm OS等多种主流嵌入式 操作系统。 n支持数据Cache和指令Cache,具有更高的指令和数据处理能力 n主频最高可达400MIPS。 n内嵌并行读/写操作元件。 ARM架构和ARM公司简介30 Agenda nARM公司简介公司简介 ARM 特点 编程模式 指令集 系统设计系
28、统设计 ARM架构和ARM公司简介 ARM 指令集 n所有ARM指令均为32-bits长 n大部分为单周期指令 n所有指令都可以条件执行 n采用 Load/Store 架构 q数据处理指令: SUB r0,r1,#5;r1-5-r0 ADD r2,r3,r3,LSL #2;R3x4+r3-r2 ANDS r4,r4,#0 x20;r4+0 x20-r4,更新条件码标志位更新条件码标志位 ADDEQ r5,r5,r6;r5+r6-r5(条件条件-相等相等) q存储器存取指令: LDR r0,r1,#4;r1+4-r0 STRNEB r2,r3,r4;NE符合符合-将将r2低低8位数写到位数写到r
29、3+r4内存内存 单元单元 LDRSH r5,r6,#8! ;r6+8-r5(半字节半字节),r5中高中高16位设置成该字位设置成该字 节的符号位节的符号位 STMFD sp!,r0,r2-r7,r10;出栈出栈 ARM架构和ARM公司简介 ARM 跳转分支指令 nB qPC 32 Mbyte . nBL q保存返回地址到 LR q返回时从 LR 恢复 PC q对于 non-leaf 函数, LR 必须压栈保存 STMFD sp!,regs,lr : BL func2 : LDMFD sp!,regs,pc func1func2 : : BL func1 : : : : : : : MOV p
30、c, lr ARM架构和ARM公司简介 协处理器 n多达16个可定义协处理器,用唯一的ID来标示 n扩充ARM指令集 n通常用作ARM “internal functions” (例如:cp15通常 用作 ARM cache 控制器) n通常系统设计的时候最好用内存映射外设 q容易实现 Handshaking signals ARM coreCoprocessor XCoprocessor Y Databus FD EFD EFD E ARM架构和ARM公司简介 Thumb指令集 nThumb 是一个 16-bits 指令集 q优化代码密度 (65% of ARM ) q提高窄内存操作性能 q
31、是ARM指令集的一个功能子集 nARM / Thumb 转换使用 BX 指令 015 310 ADDS r2,r2,#1 ADD r2,#1 32-bits ARM 指令 16-bits Thumb 指令 对于有编译器产生的绝大多数指令对于有编译器产生的绝大多数指令: n 条件执行不可用 n 源和目的寄存器相同 n 只有低端寄存器可用 n 常量大小受限制 n 内嵌的桶形移位不可用 ARM架构和ARM公司简介 ARM / Thumb 性能分析 0 5000 10000 15000 20000 25000 30000 30000 Dhrystone 2.1 / sec 20MHz ARM Thum
32、b 32 bit16 bit16 bit with 32 bit stack 存储器宽度存储器宽度 (zero wait state) ARM架构和ARM公司简介 指令流指令流 执行单元执行单元 ARM Thumb 解码阶段解码阶段执行阶段执行阶段预取阶段预取阶段 Jazelle Jazelle nJazelle 使得 ARM cores 执行 8-bit 的Java 字节码 q95% 的字节码执行使用 hardware (typical) nNormal JVM:1.0 Caffeinemarks/MHz nARM9EJ:5.5 Caffeinemarks/MHz q更高的性能 q增加的门电
33、路12K (ARM9EJ-S 同 ARM9E-S比较) nARM JTEK (Java Technology Enabling Kit) 提供支持代码 ARM架构和ARM公司简介37 Agenda nARM公司简介公司简介 ARM 特点 编程模式 指令集 系统设计 ARM架构和ARM公司简介38 基于ARM的系统示例 16 bit RAM 8 bit ROM 32 bit RAM ARM Core I/O 外设外设 中断控制器中断控制器 nFIQnIRQ ARM架构和ARM公司简介 AMBA总线 Bridge Timer On-chip RAM ARM Interrupt Controller
34、 Remap/ Pause TIC Arbiter Bus InterfaceExternal ROM External RAM Reset 系统总线片内外设总线 nAMBA qAdvanced Microcontroller Bus Architecture nADK qComplete AMBA Design Kit nACT qAMBA Compliance Testbench nPrimeCell qARMs AMBA compliant peripherals AHB or ASBAPB External Bus Interface Decoder ARM架构和ARM公司简介 选择A
35、RM 处理器的准则 1) ARM微处理器核心的选择 如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就 需要选择ARM720T以上带有MMU(Memory Management Unit)功能的 ARM晶片。 ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。 而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有 uCLinux等不需要MMU支持的操作系统可执行于ARM7TDMI硬件平台上。 2) 系统的工作频率 系统的工作频率在很大程度上决定了ARM微处理器的处理能力。 ARM7系列微处理
36、器的典型处理速度为0.9MIPS/MHz,常见的ARM7晶片 系统主时钟为20MHz-133MHz。 ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系 统主时脉频率为100MHz-233MHz,ARM10最高可以达到700MHz。 ARM架构和ARM公司简介 选择ARM 处理器的准则 3) 晶片内部存储器的容量 大多数的ARM微处理器晶片内部存储器的容量都不太大。 如ATMEL的AT91F40162就具有高达2MB的晶片内部程序存储空间。 4) 晶片内部外设接口电路的选择 我们称之为晶片内部外设接口电路,如USB接口、LCD控制器、键盘接 口、RTC、ADC和DAC、DSP辅助运算器等,设计者应分析系统的需求, 尽可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学护理学(护理伦理学)试题及答案
- 2025年大学中西医结合(中西医结合外科学)试题及答案
- 2025年中职无人机操控与维护(航拍技术)试题及答案
- 2025年大学历史(历史学学科研究)试题及答案
- 2025年大学公共事业管理(公共管理理论)试题及答案
- 2025年高职临床医学(耳鼻喉科诊疗)试题及答案
- 2025年中职历史(历史事件分析)试题及答案
- 2025年高职(大数据与会计)审计基础与实务试题及答案
- 2025年中职渔业(水产养殖)试题及答案
- 2025年中职水文与水资源勘测(水文勘测)试题及答案
- 《JJG196-2006-常用玻璃量器检定规程》
- 不良贷款清收经验分享
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 介入导管室有关知识课件
- 银行客户经理压力与情绪管理培训
- 推广经理半年工作计划
- 无人机驾驶员培训计划及大纲
- 价格说明函格式范本正规范本(通用版)
- 水车浇水施工方案
- 智能化弱电工程常见质量通病的避免方法
- 《中国古代文学通识读本》pdf
评论
0/150
提交评论