ARM嵌入式体系结构与接口技术 Cortex-A8版 教学课件 ppt 作者 华清远见嵌入式学院 杨胜利 刘洪涛 第二章

上传人:E**** 文档编号:89542273 上传时间:2019-05-27 格式:PPTX 页数:60 大小:1.63MB
返回 下载 相关 举报
ARM嵌入式体系结构与接口技术 Cortex-A8版  教学课件 ppt 作者  华清远见嵌入式学院 杨胜利 刘洪涛 第二章_第1页
第1页 / 共60页
ARM嵌入式体系结构与接口技术 Cortex-A8版  教学课件 ppt 作者  华清远见嵌入式学院 杨胜利 刘洪涛 第二章_第2页
第2页 / 共60页
ARM嵌入式体系结构与接口技术 Cortex-A8版  教学课件 ppt 作者  华清远见嵌入式学院 杨胜利 刘洪涛 第二章_第3页
第3页 / 共60页
ARM嵌入式体系结构与接口技术 Cortex-A8版  教学课件 ppt 作者  华清远见嵌入式学院 杨胜利 刘洪涛 第二章_第4页
第4页 / 共60页
ARM嵌入式体系结构与接口技术 Cortex-A8版  教学课件 ppt 作者  华清远见嵌入式学院 杨胜利 刘洪涛 第二章_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《ARM嵌入式体系结构与接口技术 Cortex-A8版 教学课件 ppt 作者 华清远见嵌入式学院 杨胜利 刘洪涛 第二章》由会员分享,可在线阅读,更多相关《ARM嵌入式体系结构与接口技术 Cortex-A8版 教学课件 ppt 作者 华清远见嵌入式学院 杨胜利 刘洪涛 第二章(60页珍藏版)》请在金锄头文库上搜索。

1、www.embedu.org,ARM公司,成立于1990年11月 前身为 Acorn计算机公司 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件,总线架构, 外围设备单元,等等,www.embedu.org,ARM 全球分布,England Cambridge, Maidenhead, Sheffield, Blackburn Germany Munich France Paris, Sophia Antipolis Korea Seoul,US Seatt

2、le, Los Gatos, Walnut Creek, Austin, Boston, San Diego Asia Taiwan Japan Shin-Yokohama (Tokyo),www.embedu.org,ARM合作伙伴,SILICON DESIGN SUPPORT SOFTWARE TRAINING CONSORTIA,www.embedu.org,ARM Powered Products,Google Nexus One,JVC “Pixstar“ GC-X1,Psion Revo Plus,HP CapShare,Sony MZ-R90 MiniDisc,Nokia 881

3、0,Nokia Mediamaster,Nintendo Gameboy Advance,Ericsson R380,Alba Bush Internet TV,3Com 10/100 PCI NIC,Iomega HipZip,Diamond Multimedia Rio 600,www.embedu.org,ARM处理器的最新发展,www.embedu.org,高性能方向 TI (德州仪器) Omap3430 Cortex-A8核600MHz (诺基亚N96) Omap3530 Cortex-A8核600MHz ARM+DSP双核 Samsung(三星) S5PC100 Cortex-A8

4、核 600MHz (iPhone 3GS和M9都应用此芯片) S5PC110/S5PV210 Cortex-A8核 1GHZ (号称目前世界上最快的ARM处理器) Freescale(飞思卡尔) i.MX512/ i.MX513/ i.MX515 Cortex-A8核600MHz1GHz(在多款上网本中得到应用),www.embedu.org,Marvell(马维尔) PXA930 800MHz Cortex-A8核 ARMADA 500/600/1000系列 Sheeva PJ4核心 1GHz1.2GHz(支持ARMv7指令集,架构异同) Qualcomm(高通) QSD8650A/ QSD

5、8672(Snapdragon系列) 1.3G1.5G scorpion核心(支持ARMv7指令,架构异同) Nvidia(英伟达) Tegra ARM11核 700MHz Tegra2 (下一代产品) Cortex A8(或A9)核,www.embedu.org,低功耗、低成本的微控制器方向 Cortext-M3 Stm32系列 36MHz72MHz (LQFP48 基本型:1.8美元) Cortex-M1 Cortex-M0 实时方向 Cortex-R4 安全方向 SecurCore SC300 (Cortex-M3) SC200 (ARM9) SC100 (ARM7),www.embed

6、u.org,ARM公司简介 编程模型 指令集 系统设计,www.embedu.org,数据和指令类型,ARM 采用的是32位架构. ARM 约定: Byte : 8 bits Halfword : 16 bits (2 byte) Word : 32 bits (4 byte) Doubleword 64-bits(8byte)(Cortex-A处理器) 大部分ARM core 提供: ARM 指令集(32-bit) Thumb 指令集(16-bit ) Cortex-A处理器 16位和32位Thumb-2指令集 16位和32位ThumbEE指令集 Jazelle cores 支持 Java

7、bytecode,www.embedu.org,处理器工作模式,ARM 有8个基本工作模式: User : 非特权模式,大部分任务执行在这种模式 FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当复位或软中断指令执行时将会进入这种模式 Abort : 当存取异常时将会进入这种模式 Undef : 当执行未定义指令时会进入这种模式 System : 使用和User模式相同寄存器集的特权模式 Cortex-A特有模式: Monitor : 是为了安全而扩展出的用于执行安全监控代码的模

8、式; 也是一种特权模式,www.embedu.org,ARM 寄存器,www.embedu.org,寄存器组织概要,User mode r0-r7, r15, and cpsr,r8,r9,r10,r11,r12,r13 (sp),r14 (lr),spsr,FIQ,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-r

9、12, r15, and cpsr,r13 (sp),r14 (lr),spsr,Abort,User mode r0-r12, r15, and cpsr,Thumb state Low registers,Thumb state High registers,Note: System模式使用user模式寄存器集,www.embedu.org,Cortex-A寄存器组织概要,www.embedu.org,ARM 寄存器,ARM 有37个32-Bits长的寄存器. 1 个用作PC( program counter) 1个用作CPSR(current program status registe

10、r) 5个用作SPSR(saved program status registers) 30 个通用寄存器 Cortex-A体系结构下有40个32-Bits长的寄存器 Cortex-A多出3个寄存器,Monitor 模式 r13_mon , r14_mon, spsr_mon 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取: 相应的r0-r12子集 相应的 r13 (the stack pointer, sp) and r14 (the link register, lr) 相应的 r15 ( the program counter, pc) 相应的CPSR(current pr

11、ogram status register, cpsr) 特权模式 (除system模式) 还可以存取; 相应的 spsr (saved program status register),www.embedu.org,程序状态寄存器,条件位: N = Negative result from ALU Z = Zero result from ALU C = ALU operation Carried out or borrow V = ALU operation oVerflowed Q 位: 仅ARM v5TE-J架构支持 指示饱和状态 J 位 仅ARM v5TE-J架构支持 T=0;J =

12、 1 处理器处于Jazelle状态 也可以和其他位组合 DNM位:Do Not Modify GE3:0 大于或等于(当执行SIMD指令时有效) IT7:2 IF.THEN.指令执行状态位,E位:大小端控制位 A位:A=1 禁止不精确的数据异常 中断禁止位: I = 1: 禁止 IRQ. F = 1: 禁止 FIQ T Bit T = 0;J=0; 处理器处于 ARM 状态 T = 1;J=0 处理器处于 Thumb 状态 T = 1;J=1 处理器处于 ThumbEE 状态 Mode位: 处理器模式位 10000 User mode; 10001 FIQ mode; 10011 SVC mo

13、de; 10111 Abort mode; 11011 Undfined mode; 11111 System mode; 10110 Monitor mode; 10010 IRQ,www.embedu.org,当处理器执行在ARM状态: 所有指令 32 bits 宽 所有指令必须 word 对齐 所以 pc值由bits 31:2决定, bits 1:0 未定义 (所以指令不能halfword / byte对齐). 当处理器执行在Thumb状态: 所有指令 16 bits 宽 所有指令必须 halfword 对齐 所以 pc值由bits 31:1决定, bits 0 未定义 (所以指令不能

14、byte对齐). 当处理器执行在Jazelle状态: 所有指令 8 bits 宽 处理器执行 word 存取一次取4条指令,程序计数器PC (r15),www.embedu.org,Vector Table,异常处理,当异常产生时, ARM core: 拷贝 CPSR 到 SPSR_ 设置适当的 CPSR 位: 改变处理器状态进入 ARM 态 改变处理器模式进入相应的异常模式 设置中断禁止位禁止相应中断 (如果需要) 保存返回地址到 LR_ 设置 PC 为相应的异常向量 返回时, 异常处理需要: 从 SPSR_恢复CPSR 从LR_恢复PC Note:这些操作只能在 ARM 态执行.,Vect

15、or table can be at 0xFFFF0000 on ARM720T and on ARM9/10 family devices Cortex-A Determined by C12,FIQ,IRQ,(Reserved),Data Abort,Prefetch Abort,Software Interrupt,Undefined Instruction,Reset,www.embedu.org,The ARM 可以用 little/big endian 格式存取数据.,r0 = 0x11223344,STR r0, r1,LDRB r2, r1,r1 = 0x100,Memory,

16、3 2 1 0,0 1 2 3,Byte Lane,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,00,00,00,44,31,24,23,16,15,8,7,0,00,00,00,11,Little endian,Big endian,R2 = 0x44,R2 = 0x11,字节顺序,www.embedu.org,测验1,1) 说出ARM可以工作的模式名字。 2) ARM核有多少个寄存器? 3)PC和LR寄存器的别名? 4) R13别名是什么? 5) 哪种模式使用的寄存器最少? 6) 在Thumb 指令集中,哪些寄存器处于Low group? 7) CPSR的哪 2 位反映了处理

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号