分享
分享赚钱 收藏 举报 版权申诉 / 55

类型浙江大学ARM课件7.ppt

  • 上传人:精品资料
  • 文档编号:8601670
  • 上传时间:2019-07-05
  • 格式:PPT
  • 页数:55
  • 大小:552KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    浙江大学ARM课件7.ppt
    资源描述:

    1、ARM7TDMI 总线接口,ARM7TDMI 外部接口,存储器接口 中断 调试接口 协处理器接口,ARM7TDMI 接口信号,MCLK,nWAIT,A31:0,D31:0,nMREQ, SEQ,nRW,LOCK,ABE,DBE,nTRANS,ABORT,Clocks and Clock Control,Memory Management,Memory Interface,Data and Address,Bus Control,Memory Access Control,nM4:0,MAS1:0,BL3:0,APE, ALE,TBE,ECLK,TBIT,BUSEN,nENIN,BIGEND,A

    2、RM7TDMI,nENOUT,时钟与时钟控制,MCLK 输入 处理器工作的时钟。 静态设计的ARM通过延长时钟周期来访问慢速的设备。nWAIT 输入 在ARM内部与MCLK相与。 必须在MCLK为低的相位阶段改变。 容许该信号从一个周期扩展到另一个周期,延长总线访问周期。ECLK 输出 核心逻辑的时钟的输出。 在正常和调试状态下反映内部时钟。ph1 & ph2 内部信号 双相位非覆盖的内部时钟。 处理器内部工作周期。,MCLK,nWAIT,时钟控制 - nWAIT 控制,Phase 1,Phase 2,Phase 2,Phase 1,ph2 Internal Clock,ECLK,ph1 In

    3、ternal Clock,时钟控制 扩展 MCLK,MCLK,nWAIT,Phase 1,Phase 2,Phase 2,Phase 1,ph2 Internal Clock,ECLK,ph1 Internal Clock,数据总线,32 位 双或单向数据总线 BUSEN = 0 配置双向数据总线。 BUSEN = 1 配置单向数据总线。 字节、半字及字访问.读取数据必须有效且稳定到相位2结束。写入数据在相位1改变,保持稳定贯穿相位2。nENOUT 输出 (和 nENIN 输入) : 数据总线控制 如果采用片外双向数据总线的话,可以用来控制数据总线的方向。,数据总线配置 (1),DIN31:0

    4、,DOUT31:0,32,D31:0,32,ARM7TDM Macrocell,EmbeddedICE macrocell,G,DoutlatEn,bMDen,数据总线配置 (2),MCLK,DIN31:0,DOUT31:0,D31:0,READ,WRITE,READ,DIN1,DIN1,DOUT,DIN2,DIN2,DOUT,地址总线,32 位 (4G字节) 寻址能力。默认时序 在前一周期的相位2阶段变为有效,保持稳定贯穿当前周期的相位1阶段。 流水线地址。地址时序可以通过APE(或ALE)移位。 为获得较好的系统性能,建议使用默认时序。地址可以锁存到存储器系统中。,地址总线控制,APE 和

    5、 ALE 输入 ARM 建议两个信号都为高,以便有最长的时间进行地址译码。 任何一个信号都可以连接到在数据访问期间需要稳定地址的设备。APE: 地址流水线使能 APE = 1 地址是流水线的 (在后续的相位2提供). APE = 0 重新定时地址改变的时序,从MCLK的下降沿开始。 控制对A31:0的透明锁存。ALE : 地址锁存使能 控制对A31:0的透明锁存。 仅用于已有的系统设计,因为它比APE更复杂。,流水线地址时序 (推荐设置),ALE 和 APE 均为高,MCLK,A31:0,ALE,APE,Phase 2,Phase 1,Address,D31:0,(in),Dx,APE对地址时

    6、序的作用,MCLK,A31:0,ALE,APE,Phase 2,Phase 1,Address,D31:0,(in),Dx,总线三态控制 (1),ABE 输入 : 地址总线使能 当ABE 为低时,下面的信号处于高阻状态:A31:0, nRW, LOCK, MAS1:0, nOPC, and nTRANSDBE 输入 : 数据总线使能 当 DBE 为低时,D31:0 处于高阻状态。TBE 输入 : 测试总线使能 当 TBE 为低时,下面的信号处于高阻状态: D31:0, A31:0, nRW, LOCK, MAS1:0, nOPC, and nTRANS 在ABE和DBE都为低时,情况一样。,总

    7、线三态控制 (2),ABE,DBE,D31:0 (out),A31:0,TBE,存储器访问控制,nMREQ 输出 : 存储器请求. 低有效,指示在接下来的周期中进行存储器访问。 SEQ 输出 : 连续地址访问 高有效,指示在接下来的周期中地址不变或大一个操作数(字或半字) nRW 输出 : 非读/写 区分存储器读写访问 LOCK 输出 : 锁定操作 指示一条交换指令正在执行,接下来的两个处理器总线周期是不可见的。 MAS1:0 输出 : 存储器访问大小 指示字、半字或字节访问。 BL3:0 输入 : 数据总线上的字节区段锁存使能 容许数据由小数构成。,存储器控制,nRW MAS1:0,MAS1

    8、:0 指示数据传送大小( 8, 16 或 32 位 ),Address,Data,A31:0,D31:0,nMREQ SEQ,Cycle Type,LOCK nTRANSnOPC,MCLK,字节区段锁存使能,ARM7TDMI,D 7:0,D 15:8,31,G,D31:0,8,8,G,BL0,MCLK,nWAIT,ECLK,BL1,32 位存储器接口,nOE,BWE3:0,32,nWAIT,MAS1:0,MCLK,ID31:0,A31:0,A31:2,32,BL3:0,ARM7TDMI Macrocell,Memory Control,Memory 32-bit,Board ASIC,nRW,

    9、nMREQ,SEQ,16 位存储器接口,16位存储器接口,x2,Board ASIC,nOE,BWE1:0,nWAIT,MAS1:0,MCLK,ID15:0,A31:0,A31:2,32,BL3:0,ARM7TDMI Macrocell,Memory Control,Memory 16-bit,nRW,nMREQ,SEQ,32,16,MUXC, TSTATE,TSTATE,A 1,使用字节区段锁存,APE,A31:0, MAS1:0,nWAIT,D31:0,BL3:0,D15:0 latched,D31:16 latched,ECLK,0x3,0xC,改变操作状态,T位指示ARM核的状态。 高

    10、 - Thumb 状态, 低 - ARM 状态,MCLK,nMREQ, SEQ,A31:0,nWAIT,TBIT,D31:0,MAS1:0,ARM Instr.,T Instr.,01 - Half Word,10 - Word,N-Cycle,BX Instr. Destination Address,取指,在ARM状态,指令是字( 32位 ) 在THUMB状态,指令是半字(16位) 指令可以从32位数据总线的高或低半段取得。 取决于Endian配置和 A1的状态。,Endian Configuration,Little BIGEND = 0,Big BIGEND = 1,A1 = 0,A1

    11、 = 1,D15:0,D31:16,D15:0,D31:16,Thumb Instruction Fetches,取数据,字数据取操作类似于ARM状态的指令取操作。半字数据的取操作类似于THUMB状态的指令取操作。字节数据的取操作取决于Endian 配置和A1:0的状态。,Endian Configuration,Little BIGEND = 0,Big BIGEND = 1,A1:0 = 00,D7:0,D31:24,D23:16,D15:8,A1:0 = 10,D23:16,D15:8,D7:0,D31:24,A1:0 = 11,A1:0 = 01,Byte Data Fetches,周

    12、期类型,非连续 (N) 在接下来的周期中的地址与前一个地址无关。 连续 (S) 在接下来的周期中的地址与前一个地址一样或大一个操作数(字或半字)。 内部 (I) 处理器正在执行一个内部操作,同时,没有有用的预取执行。 协处理器寄存器传送 (C). 处理器和协处理器之间通讯,不涉及存储器访问,但 D31:0 用于传送数据。 合并的内部连续 (IS) I和S周期的特殊组合,容许优化存储器访问。,周期类型,nMREQ SEQ Cycle Type0 0 Non-sequential0 1 Sequential1 0 Internal1 1 Coprocessor register transfer,

    13、非连续周期,在接下来的周期中(nMREQ = 0) 且 (SEQ = 0) 下一个周期将是非连续访问。 指令译码 nMREQ and SEQ 条件提前一个周期建立。 A31:0 在接下来的周期的相位2阶段有效。 对于读操作,D31:0 必须在相位2结束时有效。典型地 对于基于DRAM的系统的初始的行访问,N 周期要占用更长的时间。 处理器停下来(通过停止时钟)一个或更多的完整的时钟周期(等待状态),以便容许较长的访问时间。,典型的 N 周期,MCLK,nMREQ,SEQ,A31:0,D31:0,nRAS,nCAS,N - Cycle,(DRAM Row Address Strobe),(DRA

    14、M Column Address Strobe),MCLK 可以扩展,通过停止MCLK 或者声明nWAIT。,典型的 NS 周期,Destination address (A),A + 4,MCLK,nMREQ,SEQ,A31:0,D31:0,nRAS,nCAS,N - Cycle,S - Cycle,ARM state.,内部周期 (I),处理器在下一个周期中执行内部操作。例子有乘、寄存器特定的移位操作、在从存储器加载数据之后的回写操作。 nMREQ 和 SEQ 先于内部(I)周期一个周期的时间有效。 nMREQ = 1 指示处理器没有存储器访问操作执行。A31:0 在跟着内部(I)周期的下

    15、一个周期的相位2阶段有效。 数据总线不驱动。 地址总线驱动。,内部(I )周期,nMREQ,A31:0,A,MCLK,SEQ,I - Cycle,合并的 IS 周期 (1),处理器执行内部操作。 下一条指令的取指地址出现在地址总线上,容许提前译码。 nMREQ和SEQ先于存储器访问周期一个周期的时间有效。存储器系统可以设计成识别IS情况。可以在内部周期期间启动对在内部周期期间的地址位置的访问。 例如,对于非连续的DRAM的访问,建立和声明 nRAS。 在连续 (S) 周期期间,访问可以结束。 例如, nCAS 完成访问。D31:0 可以变为有效,直到连续(S)周期的结束(MCLK的下降沿),而

    16、不增加等待状态。,合并的 IS 周期 (2),MCLK,nMREQ,SEQ,A31:0,D31:0,nRAS,nCAS,I - Cycle,S - Cycle,Address,代码序列,BL label ;带连接跳转到“label”; 将PC-4存入R14; x ; ARM7TDMI是三级流水,该条指令执行时,PC指向“XX” XX . label LDR R2, R0 ; 从存储在R0中的地址取数,加载到 R2 SUB R2, R2, R3; R2的内容减R3,结果存入R2 ORR R2, R2, R4; R2与R4逻辑或操作,结果存入 R2 MOV PC, R14; 返回到分支之后的指令

    17、.,流水线及总线动作,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 指令译码和执行在周期2和3中完成。 周期 4-6 L

    18、DR 从非连续地址 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 输出 低有效,指示处理器处于 user mode.nM4:0 输出 当前操作模式,

    19、即 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 输入 nFIQ 比nIRQ 优先级高。 FIQ 代码可以在进入

    20、中断后直接访问执行。 可以选择 (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,nFIQ/nIRQ,A31:0,D31:0,同步时序,ISY

    21、NC = 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 信号,TDI - Input - Test Data InTDO -

    22、 Output - Test Data OutTMS - Input - Test Mode SelectTCK - Input - Test ClocknTRST - Input - Test Reset (active low),调试 Interface (1),DBGEN 输入(DEBUG ENABLE) 必须保持高电平,以允许ARM7TDMI的软件调试。EXTERN1:0 输入 输入到 EmbeddedICE 宏单元,允许基于外部条件的断点。,调试接口 (2),下面的信号仅用于扩展外部调试。 Multi-ICE 不使用这些信号。 BREAKPT 输入(BREAK POINT) 在指令上

    23、标志断点。 在数据上标志观察点。 如果不用,保持低电平。 DBGRQ 输入(DEBUG REQUEST) 强制ARM7TDMI核进入调试状态,高有效。 如果不用,保持低电平。 DBGACK 输出(DEBUG ACKNOWLEDGE) ARM7TDMI进入调试状态的响应信号。高电平指示ARM7TDMI核已进入调试状态。,ARM7TDMI增加的扫描链,TAP信号容许增加额外的链SCREG3:0 - 输出 当前选择的扫描链 IR3:0 - 输出 当前已加载的指令 TAPSM3:0 - 输出 TAP 状态机状态 SDINBS - 输出 扫描链串行数据输入 SDOUTBS - 输入 扫描链串行数据输出所

    24、需其它的移位、捕获时钟及多路复用器或选择线。,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 输出 : 协处理器指令 低有效,指示当前正在执行的

    25、指令是一条协处理器指令,且该指令应该执行。 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 Interface,Data and Address,Bus Control,Memory Access Control,nM4:0,MAS1:0,BL3:0,APE, ALE,TBE,ECLK,TBIT,EXTERN1:0,BUSEN,nENIN,DBGEN,BIGEND,ARM7TDMI,JTAG Interface,nENOUT,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:浙江大学ARM课件7.ppt
    链接地址:https://www.docduoduo.com/p-8601670.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开