ARM2体系结构.doc

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

第2章 ARM体系结构 本章Thumb状态的寄存器组织、存储器组织结构、异常以及协处理器接口等一些基本概念本章基础ARM微处理器的基本工作原理程序设计相关的基本技术细节。ARM的控制器设计完全采用硬布线。ARM把若干条指令在执行时间上重叠起来,使机器的执行速度大大加快。 I1取指令 I1译码 I1执行 I2取指令 I2译码 I2执行 I3取指令 I3译码 I3执行 图2.3 流水线执行过程 从图2.3可以看出,指令部件完成第1条指令取指后,交给指令译码部件;指令部件进行第2条指令的取指。同理,译码部件完成第1条指令译码后,交给指令执行部件;指令译码继续完成第2条指令的译码。指令的整个执行过程相当于工业生产线上的流水作业,这种指令的处理机制称作指令流水线。 到目前为止,ARM核处理器的流水机制分为三级流水线、五级流水线和六级流水线(ARM11为八级流水线)。ARM7采用三级流水线结构,分别是取指、译码和执行。ARM9采用的是五级流水线结构,分别是取指、译码、执行、存储和回写。ARM10采用的是六级流水线结构。 指令流水线遇到执行“跳转指令”时,指令流水线不能继续执行,自动清空指令流水线(如重新流水线2个指令周期)ARM在指令设计上基本每条指令都采用条件执行。执行含有条件的指令时,如条件不满足,相当指令一条NOP指令,指令流水线不清空。 ARM7TDMI执行使用 3 流水线第一从内存中取回的指令第二开始码,而第三实际执行。此,程序计数器总是超出当前执行的指令两个指令(在为分支指令计算偏移量时必须计算在内)。在分支时2个指令周期(因为流水要重新添满)。所以最好利用条件执行指令来避免浪费周期。例如: ... CMP R0,#0 BEQ MOV R1,#1 MOV R2,#2 finish1 ... ARM7TDMI条件指令可以更为有效: ... CMP R0,#0 MOVNE R1,#1 MOVNE R2,#2 ...MCLK低电平定时信号,ALE须用MCLK的下降沿驱动成高电平信号,用MCLK的上升沿驱动成低电平信号。ALE可以简单地反向MCLK 信号得到,但是从MCLK得到ALE有延时,须特别注意。 (2)nWAIT(not wait) nWAIT是由存储器或者外部设备给出的信号,可以用于延长总线周期。当访问低速存储器或设备时,处理器将把访问时间延长若干个时钟周期,以等待低速存储器和设备的响应。在ARM7TDMI内部,nWAIT与MCLK进行“与”操作,当nWAIT为高时,ARM7TDMI在MCLK的控制下运行。在任何的多周期存储器访问时,nWAIT低电平保持到最终得到数据锁存。 (3)ECLK(external clock) ECLK是内核的输出信号,由MCLK扩展生成。当调试内核时,ECLK是由TCK产生的DCLK信号。 2.中断请求信号: (1)nIRQ(not interrupt request) 低电平有效。如果nIRQ为低电平,将产生IRQ中断。 (2)nFIQ(not fast interrupt requests) 低电平有效。如果nFIQ为低电平将产生FIQ中断。 (3)ISYNC(synchronous interrupt) 如果nIRQ和nFIQ与ARM核时钟同步,ISYNC为低电平;如果ISYNC为高电平,要求nIRQ和nFIQ与ARM核时钟进行同步。 3.总线控制信号: (1)nRESET(not reset) nRESET为低电平导致正在执行的指令非正常执行。nRESET为低电平时,处理器在复位处执行指令的虚拟预取。如nRESET一直为低,处理器执行内部周期,同时地址自动从复位处增值,最终地址会产生溢出,地址为0。当nRESET在低电平保持2个或2个以上时钟周期后,恢复为高电平一个时钟周期,ARM7TDMI将从地址0×00重新开始执行。 (2)HIGHZ(high impedance) HIGHZ信号为高电平表示HIGHZ指令被加载到TAP控制器。 (3)nENIN(not enable input) 在写周期,nENIN 与nENOUT共同控制数据总线。在简单的系统中,nENIN 为低,nENOUT 不定义。在一些较复杂的应用系统中,nENIN允许外部系统操纵。当外部设备驱动总线时,nENIN可用于信号延时。 (4)nENOUT( not enable output) 在数据写周期,nENOUT一直保持低电平。在共享总线应用中,nENOUT信号可用作辅助仲裁。 (5)ABE(address bus enable) ABE输入为低电平,强迫地址总线进入高阻状态。MAS[1:0]、nRW、LOCK、 nOPC 和 nTRANS

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档