处理器架构参考资料-ARM9体系结构.ppt

处理器架构参考资料-ARM9体系结构.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

指令集系统嵌入式微处理器的指令系统可采用精简指令集系统RISC(ReducedInstructionSetComputer)或复杂指令集系统CISC(ComplexInstructionSetComputer)ARM9TDMIHarvard架构增加了可用的存储器宽度指令存储器接口数据存储器接口可以实现对指令和数据存储器的同时访问5级流水线实现了以下改进:改进CPI到约1.5提高了最大时钟频率(300M)ARM9TDMIARM9功能框图AMBA总线AMBA(AdvancedMicrocontrollerBusArchitecture)是ARM公司研发的一种总线规范。包括AHB(AdvancedHigh-performanceBus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作。APB(AdvancedPeripheralBus):用于较低性能外设的简单连接,一般是接在AHB系统总线上的第二级总线。AMBA总线处理器状态切换处理器状态ARM9TDMI流水线技术流水线技术ARM9与ARM7比较流水线由三级变到五级,程序的执行时间TprogTprog=Ninst*CPI/FclkTunmb指令由软解码变为硬解码ARM存储器格式ARM的寻址空间是线性的地址空间,为232=4GBytes0to3存储第一个word,bytes4to7存储第二个wordARM支持大端(Big-endian)和小端(Little-endian)的内存数据方式,可以通过硬件的方式设置(没有提供软件的方式)端模式ARM存储格式ARM微处理器:CPU模式ARM微处理器:寄存器ARM处理器有37个寄存器31个通用寄存器:程序计数器、堆栈及其他通用寄存器6个状态寄存器这些寄存器不能同时看到不同的处理器状态和工作模式确定哪些寄存器是对编程者是可见的ARM微处理器:ARMState寄存器ARM微处理器:ThumbState寄存器ARM微处理器:通用寄存器通用寄存器是R0-R15的寄存器,分为三类没有对应影子寄存器的寄存器R0-R7有对应影子寄存器的寄存器R8-R14程序计数器R15(或者PC)影子寄存器是指该寄存器在不同的模式下对应的物理寄存器ARM微处理器:通用寄存器R0-R7所有模式下,R0-R7所对应的物理寄存器都是相同的这八个寄存器是真正意义上的通用寄存器,ARM体系结构中对它们没有作任何特殊的假设,它们的功能都是等同的。在中断或者异常处理程序中一般都需要对这几个寄存器进行保存。ARM微处理器:通用寄存器R8-R14访问的物理寄存器取决于当前的处理器模式,若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。R8-R12各有两组物理寄存器:一组为FIQ模式,另一组是除FIQ以外的其他模式。R13-R14各有6个分组的物理寄存器,一个用于用户模式和系统模式,其他5个分别用于5种异常模式。R13(也被称为SP指针)被用作栈指针,通常在系统初始化时需要对所有模式下的SP指针赋值,当CPU在不同的模式时栈指针会被自动切换成相应模式下的值。R14有两个用途,一是在调用子程序时用于保存调用返回地址,二是在发生异常时用于保存异常返回地址。ARM微处理器:程序状态寄存器CPSR(当前程序状态寄存器)在所有的模式下都是可以读写的,它主要包含:条件标志中断使能标志当前处理器的模式其它的一些状态和控制标志ARM微处理器:程序状态寄存器置0表示执行32bit的ARM指令置1表示执行16bit的Thumb指令ARM微处理器:程序状态寄存器模式控制位M0-M4程序调用R14寄存器与子程序调用中断调用R14寄存器注意要点中断调用R14寄存器注意要点ARM微处理器:异常异常是由内部或者外部原因引起的,当异常发生时CPU将暂停执行当前指令自动到指定的向量地址读取指令并且执行。ARM到向量地址的地方读取指令,也就是ARM的向量地址处存放的是一条指令(一般是一条跳转指令)ARM微处理器:异常Reset:CPU被复位后,进入SupervisorMode并且禁止FIQ和IRQ。UndefinedInstructions:CPU执行一条未被定义的指令时就会触发该异常。这种机制可以用于通过软件仿真的方式扩展THUMBorARM指令集。SWI:软中断(SWI)是执行SWI指令时触发的,该异常主要用于OS的系统调用。ARM微处理器:

文档评论(0)

晨向阳 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档