




免费预览已结束,剩余27页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
arm 架构,agenda,arm公司简介 编程模式 指令集 系统设计,arm ltd,成立于1990年11月 前身为 acorn计算机公司 advance risc machine(arm) 主要设计arm系列risc处理器内核 授权arm内核给生产和销售半导体的合作伙伴 arm 公司不生产芯片 ip(intelligence property) 另外也提供基于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 partnership model,目录,arm公司简介 编程模式 指令集 系统设计,数据和指令类型,arm 采用的是32位架构. arm 约定: byte : 8 bits halfword :16 bits (2 byte) word : 32 bits (4 byte) 大部分arm core 提供: arm 指令集(32-bit) thumb 指令集(t变种)(16-bit ) jazelle cores 支持 java bytecode(j变种,4tej),处理器工作模式,arm 有7个基本工作模式: user:非特权模式,大部分任务执行在这种模式 正常程序执行的模式 fiq:当一个高优先级(fast)中断产生时将会进入这种模式 高速数据传输和通道处理 irq:当一个低优先级(normal)中断产生时将会进入这种模式 通常的中断处理 supervisor:当复位或软中断指令执行时将会进入这种模式 供操作系统使用的一种保护模式 abort: 当存取异常时将会进入这种模式 虚拟存储及存储保护 undef: 当执行未定义指令时会进入这种模式 软件仿真硬件协处理器 system: 使用和user模式相同寄存器集的特权模式 特权级的操作系统任务,arm 寄存器,寄存器组织概要,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-r12, 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模式寄存器集,arm 寄存器,arm 有37个32-bits长的寄存器. 1 个用作pc( program counter) 1个用作cpsr(current program status register) 5个用作spsr(saved program status registers) 30 个通用寄存器 当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取: 相应的r0-r12子集 相应的 r13 (the stack pointer, sp) and r14 (the link register, lr) 相应的 r15 ( the program counter, pc) 相应的cpsr(current program status register, cpsr) 特权模式 (除system模式) 还可以存取; 相应的 spsr (saved program status register),程序状态寄存器,条件位: n = 1-结果为负,0-结果为正或0 z = 1-结果为0,0-结果不为0 c =1-进位,0-借位 v =1-结果溢出,0结果没溢出 q 位: 仅arm 5te/j架构支持 指示增强型dsp指令是否溢出 j 位 仅arm 5te/j架构支持 j = 1: 处理器处于jazelle状态,中断禁止位: i = 1: 禁止 irq. f = 1: 禁止 fiq. t bit 仅arm xt架构支持 t = 0: 处理器处于 arm 状态 t = 1: 处理器处于 thumb 状态 mode位(处理器模式位): 0b10000 user 0b10001 fiq 0b10010 irq 0b10011 supervisor 0b10111 abort 0b11011 undefined 0b11111 system,当处理器执行在arm状态: 所有指令 32 bits 宽 所有指令必须 word 对齐 所以 pc值由bits 31:2决定, bits 1:0 未定义 (所以指令不能halfword / byte对齐). 当处理器执行在thumb状态: 所有指令 16 bits 宽 所有指令必须 halfword 对齐 所以 pc值由bits 31:1决定, bits 0 未定义 (所以指令不能 byte对齐). 当处理器执行在jazelle状态: 所有指令 8 bits 宽 处理器执行 word 存取一次取4条指令,程序指针pc (r15),vector table,异常处理,当异常产生时, arm core: 拷贝 cpsr 到 spsr_ 设置适当的 cpsr 位: 改变处理器状态进入 arm 态 改变处理器模式进入相应的异常模式 设置中断禁止位禁止相应中断 (如果需要) 保存返回地址到 lr_ 设置 pc 为相应的异常向量 返回时, 异常处理需要: 从 spsr_恢复cpsr 从lr_恢复pc note:这些操作只能在 arm 态执行.,vector table can be at 0xffff0000 on arm720t and on arm9/10 family devices,fiq,irq,(reserved),data abort,prefetch abort,software interrupt,undefined instruction,reset,the arm 可以用 little/big endian 格式存取数据.,r0 = 0x11223344,str r0, r1,ldrb r2, r1,r1 = 0x100,memory,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,for more information, see: “application note 61: big and little endian byte addressing”,字节顺序,arm发展,sa-110,arm7tdmi,4t,1,支持halfword 和signed halfword / byte 和system mode,支持thumb指令集,2,4,arm9tdmi,sa-1110,arm720t,arm940t,改良的arm/thumb 交互作用 以及clz 指令,5te,saturated maths dsp multiply-accumulate instructions,xscale,arm1020e,arm9e-s,arm966e-s,3,早期的arms,arm9ej-s,5tej,arm7ej-s,arm926ej-s,jazelle 支持 java字节码,6,arm11,simd,sisimdmd,s,simd,测验1,1) 说出arm可以工作的模式名字。 2) arm核有多少个寄存器? 3) 什么寄存器用于存储pc和连接寄存器? 4) r13通常用来存储什么? 5) 哪种模式使用的寄存器最少? 6) 在thumb 指令集中,哪些寄存器处于low group? 7) cpsr的哪一位反映了处理器的状态? 8) 所有的thumb指令采取什么对齐方式? 9) arm有哪几个异常类型。 10) 为什么fiq的服务程序地址要位于0x1c? 11) 在复位后,arm处理器处于何种模式、何种状态?,agenda,arm公司简介 编程模式 指令集 系统设计,arm 指令集,所有arm指令均为32-bits长 大部分为单周期指令 所有指令都可以条件执行 采用 load/store 架构 数据处理指令: sub r0,r1,#5 ;r1-5-r0 add r2,r3,r3,lsl #2 ;r3x4+r3-r2 ands r4,r4,#0x20 ;r4+0x20-r4,更新条件码标志位 addeq r5,r5,r6 ;r5+r6-r5(条件-相等) 存储器存取指令: ldr r0,r1,#4 ;r1+4-r0 strneb r2,r3,r4 ;ne符合-将r2低8位数写到r3+r4内存单元 ldrsh r5,r6,#8! ;r6+8-r5(半字节),r5中高16位设置成该字节的符号位 stmfd sp!,r0,r2-r7,r10 ;出栈,arm 跳转分支指令,b pc 32 mbyte . bl 保存返回地址到 lr 返回时从 lr 恢复 pc 对于 non-leaf 函数, lr 必须压栈保存,stmfd sp!,regs,lr : bl func2 : ldmfd sp!,regs,pc,func1,func2,: : bl func1 : :,: : : : : mov pc, lr,协处理器,多达16个可定义协处理器,用唯一的id来标示 扩充arm指令集 通常用作arm “internal functions” (例如:cp15通常 用作 arm cache 控制器) 通常系统设计的时候最好用内存映射外设 容易实现,thumb指令集,thumb 是一个 16-bits 指令集 优化代码密度 (65% of arm ) 提高窄内存操作性能 是arm指令集的一个功能子集 arm / thumb 转换使用 bx 指令,对于有编译器产生的绝大多数指令: 条件执行不可用 源和目的寄存器相同 只有低端寄存器可用 常量大小受限制 内嵌的桶形移位不可用,arm / thumb 性能分析,存储器宽度 (zero wait state),指令流,执行单元,arm,thumb,解码阶段,执行阶段,预取阶段,jazelle,jazelle,jazelle 使得 arm cores 执行 8-bit 的java 字节码 95% 的字节码执行使用 hardware (typical) normal jvm: 1.0 caffeinemarks/mhz arm9ej: 5.5 caffeinemarks/mhz 更高的性能 增加的门电路12k (arm9ej-s 同 arm9e-s比较) arm jtek (java technology enabling kit) 提供支持代码,agenda,介绍 编程模式 指令集 系统设计,基于arm的系统示例,16 bit ram,8 bit rom,32 bit ram,i/o,外设,中断控制器,nfiq,nirq,amba总线,bridge,timer,on-chip ram,arm,interrupt controller,remap/ pause,tic,arbiter,bus interface,external rom,external ram,reset,系统总线,片内外设总线,amba advanced microcontroller bus architecture adk complete amba design kit,act amba compliance testbench primecell arms amba compliant peripherals,ahb or asb,apb,external bus interface,decoder,arm developer suite 1.2,ads1.2是为嵌入式arm开发而设计的一整套软件开发工具 从最初的软件原型到最终优化的rom代码。 ads1.2发布于2001的12月份 支持的主机系统 ibm compatible pcs with windows 95, 98, 2000, me or nt4 sun workstations with solaris 2.6, 2.7 or 2.8 hp workstations with hpux 10.20, 11 red hat linux 6.2 & 7.1 使用flexlm管理器,管理它的license 45天的评估版软件 第三方工具支持: /devsupp/,使用 multi-ice 调试,5线jtag,被调试的系统可以是最终系统! 也可以使用第三方开发调试工具。,data,address,control,breakpt,cpu,arm,debugger and multi-ice server (可以运行在不同的主机上),tap,embeddedice logic-rt,arm 实时跟踪,embedded trace macrocell (etm) 实时指令 (pc) 跟踪 实时数据访问跟踪 包含 ice功能(trigger & filter logic) multitrace trace port analyzer (tpa) 更深层次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业生态修复与环境治理合作合同
- 外墙涂料买卖合同
- 生物技术基因工程知识题集及解析
- 化学工程与工艺专业基础试题集
- 六一儿童节探访活动方案
- 六一公司团建音乐活动方案
- 六一商城活动方案
- 六一孕妇店活动方案
- 六一抢牛奶活动方案
- 六一教育音乐活动方案
- 实验题(7大类42题)原卷版-2025年中考化学二轮复习热点题型专项训练
- 劳动者职业卫生培训课件
- CJ/T 362-2011城镇污水处理厂污泥处置林地用泥质
- 教育数字化转型背景下中小学课堂教学变革研究
- 2025安全宣传咨询日活动知识手册
- 初中地理课堂教学设计
- DB31/T 1249-2020医疗废物卫生管理规范
- 四川省宜宾市翠屏区2025届数学七下期末综合测试试题含解析
- 乡镇合法性审查工作报告
- 八年级英语下学期期末考试(广州专用)(解析版)
- 项目管理与评估试题及答案
评论
0/150
提交评论