浙江大学ARM课件7_第1页
浙江大学ARM课件7_第2页
浙江大学ARM课件7_第3页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、arm7tdmi 总线接口,arm7tdmi 外部接口,存储器接口 中断 调试接口 协处理器接口,时钟与时钟控制,mclk 输入 处理器工作的时钟。 静态设计的arm通过延长时钟周期来访问慢速的设备。 nwait 输入 在arm内部与mclk相与。 必须在mclk为低的相位阶段改变。 容许该信号从一个周期扩展到另一个周期,延长总线访问周期。 eclk 输出 核心逻辑的时钟的输出。 在正常和调试状态下反映内部时钟。 ph1 从存储在r0中的地址取数,加载到 r2 subr2, r2, r3; r2的内容减r3,结果存入r2 orrr2, r2, r4; r2与r4逻辑或操作,结果存入 r2 mo

2、vpc, r14; 返回到分支之后的指令 .,流水线及总线动作,ab+ 4,f,e,d,f,d,f,f,bl,x,xx,ldr,sub,orr,1,2,3,4,b,ab,ab+ 8,x,xx,ldr,s,s,n,eclk,seq,a31:0,d31:0,e,data,d,f,5,6,7,ai+ 4,ai+ 8,ad,sub,orr,data,s,n,writeback,e,e,8,9,d,10,ai+ 12,ai+ 16,mov,.,i,is,s,d,s,nmreq,f,d,mov,ai,f,流水线及总线动作,周期 1-3 分支指令及后续指令取自地址 ab, ab+4, ab+8。bl 指令译

3、码和执行在周期2和3中完成。 周期 4-6 ldr 从非连续地址 ai 取得, sub 和 orr 从连续地址ai+4, ai+8 取得。ldr 指令在周期 5 和 6 译码执行。 周期 7-8 在周期 7 中,非连续地从存储器位置ad 加载,在周期 8 中,将这个数据写入r2中,由此可见,在内部(i )周期中,下一条指令的地址ai+12 放在了 a31:0 上。 周期 9-10 周期 9 是一个合并的is周期,在周期10的连续访问中,下一条指令mov从地址ai+12 取得。,存储器管理信号,nopc 输出 低有效,指示处理器正在从存储器取指。 ntrans 输出 低有效,指示处理器处于 us

4、er mode. nm4:0 输出 当前操作模式,即 user, fiq, irq, supervisor, abort, system or undefined. abort 输入 指示请求的访问不容许。 既用于指令预取,又用于data abort。,存储器管理,mclk,a31:0,nm4:0,nopc,ntrans,abort,phase 1,phase 2,arm7tdmi 外部接口,存储器接口 中断 调试接口 协处理器接口,arm7tdmi 接口信号,nirq,nfiq,isync,interrupts,arm7tdmi,中断,2 个中断源 : nirq and nfiq 输入 nf

5、iq 比nirq 优先级高。 fiq 代码可以在进入中断后直接访问执行。 可以选择 (isync 输入) 同步或异步时序。 异步时序 (isync = 0) 损失一个周期的同步。 同步时序 (isync = 1) nirq 和 nfiq 必须在mclk的下降沿的时候已经建立且保持。 nfiq 和 nirq 中断可以通过设置cpsr寄存器中的 f 和 i 位屏蔽。,异步时序,isync = 0,earliest start of interrupt sequence,instruction from interrupt,vector,interrupt vector address,mclk,n

6、fiq/nirq,a31:0,d31:0,同步时序,isync = 1,earliest start of interrupt sequence,vector,mclk,nfiq/nirq,a31:0,d31:0,interrupt vector address,instruction from interrupt,arm7tdmi 外部接口,存储器接口 中断 调试接口 协处理器接口,arm7tdmi 接口信号,dbgrq,breakpt,dbgack,debug interface,eclk,extern1:0,dbgen,arm7tdmi,jtag interface,jtag 信号,td

7、i- input- test data in tdo- output- test data out tms- input- test mode select tck- input- test clock ntrst- input - test reset (active low),调试 interface (1),dbgen 输入(debug enable) 必须保持高电平,以允许arm7tdmi的软件调试。 extern1:0 输入 输入到 embeddedice 宏单元,允许基于外部条件的断点。,调试接口 (2),下面的信号仅用于扩展外部调试。 multi-ice 不使用这些信号。 bre

8、akpt 输入(break point) 在指令上标志断点。 在数据上标志观察点。 如果不用,保持低电平。 dbgrq 输入(debug request) 强制arm7tdmi核进入调试状态,高有效。 如果不用,保持低电平。 dbgack 输出(debug acknowledge) arm7tdmi进入调试状态的响应信号。高电平指示arm7tdmi核已进入调试状态。,arm7tdmi增加的扫描链,tap信号容许增加额外的链 screg3:0 - 输出当前选择的扫描链 ir3:0 - 输出当前已加载的指令 tapsm3:0 - 输出tap 状态机状态 sdinbs - 输出扫描链串行数据输入 s

9、doutbs - 输入扫描链串行数据输出 所需其它的移位、捕获时钟及多路复用器或选择线。,breakpt - dbgack 时序,mclk,breakpt,dbgack,a31:0,d31:0,breakpoint / watchpoint,dbgrq - dbgack 时序,mclk,dbgrq,dbgack,arm7tdmi 接口信号,ncpi, nopc,cpb, cpa,coprocessor interface,arm7tdmi,协处理器接口,可以支持多达 16 个协处理器。 nopc 输出 : 取操作码 低有效,指示正在取指令。 使能协处理器跟踪处理器指令流水线。 ncpi 输出

10、: 协处理器指令 低有效,指示当前正在执行的指令是一条协处理器指令,且该指令应该执行。 cpa 输入 : 协处理器缺少 高有效,当能够执行所要求的协处理器操作的协处理器存在时变低。 cpb 输入 : 协处理器忙 高有效,当协处理器准备好要执行要求的协处理器操作时变低。 如果没有连接外部协处理器的话,将cpa和cpb拉高。,arm7tdmi 接口信号,mclk,nwait,a31:0,d31:0,nmreq, seq,nrw,lock,nirq,nfiq,isync,abe,dbe,dbgrq,breakpt,dbgack,ntrans,abort,ncpi, nopc,cpb, cpa,clocks and clock control,interrupts,debug interface,memory management,memory interface,coprocessor interf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论