浙江大学ARM7(课堂PPT)_第1页
浙江大学ARM7(课堂PPT)_第2页
浙江大学ARM7(课堂PPT)_第3页
浙江大学ARM7(课堂PPT)_第4页
浙江大学ARM7(课堂PPT)_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、1TMT H E A R C H I T E C T U R E F O R T H E D I G I T A L W O R L DARM7TDMI 总线接口总线接口2TM2ARM7TDMI Bus InterfaceARM7TDMI 外部接口外部接口n存储器接口存储器接口n中断n调试接口n协处理器接口3TM3ARM7TDMI Bus InterfaceARM7TDMI 接口信号接口信号 MCLKnWAITA31:0D31:0nMREQ, SEQnRWLOCKABEDBEnTRANSABORTClocks and Clock ControlMemoryManagementMemoryInt

2、erfaceData andAddressBusControlMemoryAccessControlnM4:0MAS1:0BL3:0APE, ALETBE ECLKTBITBUSENnENINBIGENDARM7TDMInENOUT4TM4ARM7TDMI Bus Interface时钟与时钟控制时钟与时钟控制nMCLK 输入n处理器工作的时钟。n静态设计的ARM通过延长时钟周期来访问慢速的设备。nnWAIT 输入n在ARM内部与MCLK相与。n必须在MCLK为低的相位阶段改变。n容许该信号从一个周期扩展到另一个周期,延长总线访问周期。nECLK 输出n核心逻辑的时钟的输出。n在正常和调试状态

3、下反映内部时钟。nph1 & ph2 内部信号n双相位非覆盖的内部时钟。n处理器内部工作周期。5TM5ARM7TDMI Bus InterfaceMCLKnWAIT时钟控制时钟控制 - nWAIT 控制控制Phase 1Phase 2Phase 2Phase 1ph2Internal ClockECLKph1Internal Clock6TM6ARM7TDMI Bus Interface时钟控制时钟控制 扩展扩展 MCLKMCLKnWAITPhase 1Phase 2Phase 2Phase 1ph2Internal ClockECLKph1Internal Clock7TM7ARM7

4、TDMI Bus Interface数据总线数据总线n32 位位 双或单向数据总线双或单向数据总线 nBUSEN = 0 配置双向数据总线。nBUSEN = 1 配置单向数据总线。 n字节、半字及字访问字节、半字及字访问.n读取数据必须有效且稳定到相位读取数据必须有效且稳定到相位2结束。结束。n写入数据在相位写入数据在相位1改变,保持稳定贯穿相位改变,保持稳定贯穿相位2。nnENOUT 输出 (和和 nENIN 输入输入) : 数据总线控制数据总线控制n如果采用片外双向数据总线的话,可以用来控制数据总线的方向。8TM8ARM7TDMI Bus Interface数据总线配置数据总线配置 (1)

5、DIN31:0DOUT31:032D31:032ARM7TDMMacrocellEmbeddedICEmacrocellGDoutlatEnbMDen9TM9ARM7TDMI Bus Interface数据总线配置数据总线配置 (2)MCLKDIN31:0DOUT31:0D31:0READWRITEREADDIN1DIN1DOUTDIN2DIN2DOUT10TM10ARM7TDMI Bus Interface地址总线地址总线n32 位位 (4G字节字节) 寻址能力。寻址能力。n默认时序默认时序n在前一周期的相位2阶段变为有效,保持稳定贯穿当前周期的相位1阶段。n流水线地址。n地址时序可以通过地

6、址时序可以通过APE(或或ALE)移位。移位。n为获得较好的系统性能,建议使用默认时序。地址可以锁存到存储器系统中。11TM11ARM7TDMI Bus Interface地址总线控制地址总线控制nAPE 和和 ALE 输入nARM 建议两个信号都为高,以便有最长的时间进行地址译码。n任何一个信号都可以连接到在数据访问期间需要稳定地址的设备。nAPE: 地址流水线使能地址流水线使能nAPE = 1 地址是流水线的 (在后续的相位2提供).nAPE = 0 重新定时地址改变的时序,从MCLK的下降沿开始。n控制对A31:0的透明锁存。nALE : 地址锁存使能地址锁存使能n控制对A31:0的透明

7、锁存。n仅用于已有的系统设计,因为它比APE更复杂。12TM12ARM7TDMI Bus Interface流水线地址时序流水线地址时序(推荐设置推荐设置)nALE 和 APE 均为高MCLKA31:0ALEAPEPhase 2Phase 1AddressD31:0(in)Dx13TM13ARM7TDMI Bus InterfaceAPE对地址时序的作用对地址时序的作用MCLKA31:0ALEAPEPhase 2Phase 1AddressD31:0(in)Dx14TM14ARM7TDMI Bus Interface总线三态控制总线三态控制 (1)nABE 输入 : 地址总线使能地址总线使能n

8、当ABE 为低时,下面的信号处于高阻状态:A31:0, nRW, LOCK, MAS1:0, nOPC, and nTRANSnDBE 输入 : 数据总线使能数据总线使能n当 DBE 为低时,D31:0 处于高阻状态。nTBE 输入 : 测试总线使能测试总线使能n当 TBE 为低时,下面的信号处于高阻状态: D31:0, A31:0, nRW, LOCK, MAS1:0, nOPC, and nTRANSn在ABE和DBE都为低时,情况一样。15TM15ARM7TDMI Bus Interface总线三态控制总线三态控制 (2)ABEDBED31:0(out)A31:0TBE16TM16ARM

9、7TDMI Bus Interface存储器访问控制存储器访问控制nnMREQ 输出 : 存储器请求存储器请求.n低有效,指示在接下来的周期中进行存储器访问。nSEQ 输出 : 连续地址访问连续地址访问n高有效,指示在接下来的周期中地址不变或大一个操作数(字或半字)nnRW 输出 : 非读非读/写写n区分存储器读写访问nLOCK 输出 : 锁定操作锁定操作n指示一条交换指令正在执行,接下来的两个处理器总线周期是不可见的。nMAS1:0 输出 : 存储器访问大小存储器访问大小n指示字、半字或字节访问。nBL3:0 输入 : 数据总线上的字节区段锁存使能数据总线上的字节区段锁存使能n容许数据由小数

10、构成。17TM17ARM7TDMI Bus Interface存储器控制存储器控制nRWMAS1:0nMAS1:0 指示数据传送大小( 8, 16 或 32 位 )AddressDataA31:0D31:0nMREQSEQCycle TypeLOCKnTRANS nOPCMCLK18TM18ARM7TDMI Bus Interface字节区段锁存使能字节区段锁存使能ARM7TDMID 7:0D 15:831GD31:088GBL0MCLKnWAITECLKBL119TM19ARM7TDMI Bus Interface32 位存储器接口位存储器接口nOEBWE3:032nWAITMAS1:0MC

11、LKID31:0A31:0A31:232BL3:0ARM7TDMIMacrocellMemory ControlMemory32-bitnRWnMREQ, SEQ20TM20ARM7TDMI Bus Interface16 位存储器接口位存储器接口n16位存储器接口位存储器接口x2nOEBWE1:0nWAITMAS1:0MCLKID15:0A31:0A31:232BL3:0ARM7TDMIMacrocell Memory ControlMemory16-bitnRWnMREQ, SEQ3216MUXC, TSTATETSTATEA 121TM21ARM7TDMI Bus Interface使用

12、字节区段锁存使用字节区段锁存APEA31:0,MAS1:0nWAITD31:0BL3:0MCLKD15:0 latchedD31:16 latchedECLK0 x30 xC22TM22ARM7TDMI Bus Interface改变操作状态改变操作状态nT位指示位指示ARM核的状态。核的状态。n高高 - Thumb 状态,状态, 低低 - ARM 状态状态MCLKnMREQ, SEQA31:0nWAITTBITD31:0MAS1:0ARM Instr.T Instr.01 - Half Word10 - WordN-CycleBX Instr. Destination Address23TM

13、23ARM7TDMI Bus Interface取指取指n在在ARM状态,指令是字(状态,指令是字( 32位位 ) n在在THUMB状态,指令是半字(状态,指令是半字(16位)位)n指令可以从32位数据总线的高或低半段取得。n取决于Endian配置和 A1的状态。Endian ConfigurationLittleBIGEND = 0BigBIGEND = 1A1 = 0A1 = 1D15:0D31:16D15:0D31:16Thumb Instruction Fetches24TM24ARM7TDMI Bus Interface取数据取数据n字数据取操作类似于字数据取操作类似于ARM状态的指

14、令取操作。状态的指令取操作。n半字数据的取操作类似于半字数据的取操作类似于THUMB状态的指令取操作。状态的指令取操作。n字节数据的取操作取决于字节数据的取操作取决于Endian 配置和配置和A1:0的状态。的状态。Endian ConfigurationLittleBIGEND = 0BigBIGEND = 1A1:0 = 00D7:0D31:24D23:16D15:8A1:0 = 10D23:16D15:8D7:0D31:24A1:0 = 11A1:0 = 01Byte Data Fetches25TM25ARM7TDMI Bus Interface周期类型周期类型n非连续非连续 (N)n

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

16、Internal 1 1 Coprocessor register transfernMREQSEQCycle Type00Non-sequential01Sequential10Internal11Coprocessor register transfer27TM27ARM7TDMI Bus Interface非连续周期非连续周期n在接下来的周期中在接下来的周期中(nMREQ = 0) 且且 (SEQ = 0) n下一个周期将是非连续访问。n指令译码 nMREQ and SEQ 条件提前一个周期建立。nA31:0 在接下来的周期的相位2阶段有效。n对于读操作,D31:0 必须在相位2结束时有

17、效。n典型地典型地n对于基于DRAM的系统的初始的行访问,N 周期要占用更长的时间。n处理器停下来(通过停止时钟)一个或更多的完整的时钟周期(等待状态),以便容许较长的访问时间。28TM28ARM7TDMI Bus Interface典型的典型的 N 周期周期MCLKnMREQSEQA31:0D31:0nRASnCASN - Cycle(DRAM Row Address Strobe)(DRAM Column Address Strobe)nMCLK 可以扩展,通过停止可以扩展,通过停止MCLK 或者声明或者声明nWAIT。29TM29ARM7TDMI Bus Interface典型的典型的

18、NS 周期周期Destination address (A)A + 4MCLKnMREQSEQA31:0D31:0nRASnCASN - Cycle S - Cyclen ARM state. 30TM30ARM7TDMI Bus Interface内部周期内部周期 (I) n处理器在下一个周期中执行内部操作。处理器在下一个周期中执行内部操作。n例子有乘、寄存器特定的移位操作、在从存储器加载数据之后的回写操作。例子有乘、寄存器特定的移位操作、在从存储器加载数据之后的回写操作。nnMREQ 和和 SEQ 先于内部(先于内部(I)周期一个周期的时间有效。周期一个周期的时间有效。nnMREQ = 1

19、 指示处理器没有存储器访问操作执行。nA31:0 在跟着内部(在跟着内部(I)周期的下一个周期的相位周期的下一个周期的相位2阶段有效。阶段有效。n数据总线不驱动。n地址总线驱动。31TM31ARM7TDMI Bus Interface内部(内部(I )周期周期nMREQA31:0AMCLKSEQI - Cycle32TM32ARM7TDMI Bus Interface合并的合并的 IS 周期周期 (1)n处理器执行内部操作。处理器执行内部操作。n下一条指令的取指地址出现在地址总线上,容许提前译码。nnMREQ和SEQ先于存储器访问周期一个周期的时间有效。n存储器系统可以设计成识别存储器系统可以

20、设计成识别IS情况。情况。n 可以在内部周期期间启动对在内部周期期间的地址位置的访问。n例如,对于非连续的DRAM的访问,建立和声明 nRAS。n在连续 (S) 周期期间,访问可以结束。n例如, nCAS 完成访问。nD31:0 可以变为有效,直到连续(可以变为有效,直到连续(S)周期的结束(周期的结束(MCLK的下降沿),而不的下降沿),而不增加等待状态。增加等待状态。33TM33ARM7TDMI Bus Interface合并的合并的 IS 周期周期 (2)MCLKnMREQSEQA31:0D31:0nRASnCASI - CycleS - CycleAddress34TM34ARM7TD

21、MI Bus Interface代码序列代码序列BL label ;带连接跳转到“label”; 将PC-4存入R14; x; ARM7TDMI是三级流水,该条指令执行时,PC指向“XX”XX.labelLDRR2, R0 ; 从存储在R0中的地址取数,加载到 R2 SUBR2, R2, R3; R2的内容减R3,结果存入R2ORRR2, R2, R4; R2与R4逻辑或操作,结果存入 R2MOVPC, R14; 返回到分支之后的指令.35TM35ARM7TDMI Bus Interface流水线及总线动作流水线及总线动作Ab+ 4FEDFDFFBLXXXLDRSUBORR1234BAbAb+

22、 8XXXLDRSSNECLKSEQA31:0D31:0EDataDF567Ai+ 4Ai+ 8AdSUBORRDataSNWriteBackEE89D10Ai+ 12Ai+ 16MOV.IISSDSnMREQFDMOVAiF36TM36ARM7TDMI Bus Interface流水线及总线动作流水线及总线动作n周期周期 1-3n分支指令及后续指令取自地址 Ab, Ab+4, Ab+8。BL 指令译码和执行在周期2和3中完成。n周期周期 4-6nLDR 从非连续地址 Ai 取得, SUB 和 ORR 从连续地址Ai+4, Ai+8 取得。LDR 指令在周期 5 和 6 译码执行。n周期周期

23、7-8n在周期 7 中,非连续地从存储器位置Ad 加载,在周期 8 中,将这个数据写入R2中,由此可见,在内部(I )周期中,下一条指令的地址Ai+12 放在了 A31:0 上。n周期周期 9-10n周期 9 是一个合并的IS周期,在周期10的连续访问中,下一条指令MOV从地址Ai+12 取得。37TM37ARM7TDMI Bus Interface存储器管理信号存储器管理信号nnOPC 输出n低有效,指示处理器正在从存储器取指。nnTRANS 输出n低有效,指示处理器处于 user mode.nnM4:0 输出n当前操作模式,即 User, FIQ, IRQ, Supervisor, Abo

24、rt, System or Undefined.nABORT 输入n指示请求的访问不容许。n既用于指令预取,又用于Data abort。38TM38ARM7TDMI Bus Interface存储器管理存储器管理MCLKA31:0nM4:0nOPC nTRANSABORTPhase 1Phase 239TM39ARM7TDMI Bus InterfaceARM7TDMI 外部接口外部接口n存储器接口n中断中断n调试接口n协处理器接口40TM40ARM7TDMI Bus InterfaceARM7TDMI 接口信号接口信号nIRQnFIQISYNCInterruptsARM7TDMI41TM41

25、ARM7TDMI Bus Interface中断中断n2 个中断源个中断源 : nIRQ and nFIQ 输入nnFIQ 比nIRQ 优先级高。nFIQ 代码可以在进入中断后直接访问执行。n可以选择 (ISYNC 输入) 同步或异步时序。n异步时序异步时序 (ISYNC = 0)n损失一个周期的同步。n同步时序同步时序 (ISYNC = 1)nnIRQ 和和 nFIQ 必须在必须在MCLK的下降沿的时候已经建立且保持。的下降沿的时候已经建立且保持。nnFIQ 和和 nIRQ 中断可以通过设置中断可以通过设置CPSR寄存器中的寄存器中的 F 和和 I 位屏蔽。位屏蔽。42TM42ARM7TDM

26、I Bus Interface异步时序异步时序ISYNC = 0Earliest Start of Interrupt SequenceInstruction from Interrupt vectorInterrupt Vector AddressMCLKnFIQ/nIRQA31:0D31:043TM43ARM7TDMI Bus Interface同步时序同步时序ISYNC = 1Earliest Start of Interrupt SequencevectorMCLKnFIQ/nIRQA31:0D31:0Interrupt Vector AddressInstruction from I

27、nterrupt 44TM44ARM7TDMI Bus InterfaceARM7TDMI 外部接口外部接口n存储器接口n中断n调试接口调试接口n协处理器接口45TM45ARM7TDMI Bus InterfaceARM7TDMI 接口信号接口信号DBGRQBREAKPTDBGACKDebugInterface ECLKEXTERN1:0DBGENARM7TDMIJTAG Interface46TM46ARM7TDMI Bus InterfaceJTAG 信号信号nTDI- Input- Test Data InnTDO- Output - Test Data OutnTMS- Input-

28、Test Mode SelectnTCK- Input- Test ClocknnTRST- Input - Test Reset (active low)47TM47ARM7TDMI Bus Interface调试调试 Interface (1)nDBGEN 输入(DEBUG ENABLE)n必须保持高电平,以允许ARM7TDMI的软件调试。nEXTERN1:0 输入n输入到 EmbeddedICE 宏单元,允许基于外部条件的断点。48TM48ARM7TDMI Bus Interface调试接口调试接口 (2)下面的信号仅用于扩展外部调试。下面的信号仅用于扩展外部调试。nMulti-ICE

29、不使用这些信号。nBREAKPT 输入(BREAK POINT)n在指令上标志断点。n在数据上标志观察点。n如果不用,保持低电平。nDBGRQ 输入(DEBUG REQUEST)n强制ARM7TDMI核进入调试状态,高有效。n如果不用,保持低电平。nDBGACK 输出(DEBUG ACKNOWLEDGE)nARM7TDMI进入调试状态的响应信号。高电平指示ARM7TDMI核已进入调试状态。49TM49ARM7TDMI Bus InterfaceARM7TDMI增加的扫描链增加的扫描链nTAP信号容许增加额外的链信号容许增加额外的链nSCREG3:0 - 输出当前选择的扫描链nIR3:0 - 输出当前已加载的指令当前已加载的指令nTAPSM3:0 - 输出TAP 状态机状态状态机状态nSDINBS - 输出扫描链串行数据输入扫描链串行数据输入nSDOUTBS - 输入扫描链串行数据输出扫描链串行数据输出n所需其它的移位、捕获时钟及多路复用器或选择线。所需其它的移位、捕获时钟及多路复用器或选择线。50TM50ARM7TDMI Bus InterfaceBREAKPT - DBGACK 时序时

温馨提示

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

最新文档

评论

0/150

提交评论