您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 浙江大学ARM课件7
1TMTHEARCHITECTUREFORTHEDIGITALWORLDARM7TDMI总线接口2TM2ARM7TDMIBusInterfaceARM7TDMI外部接口存储器接口中断调试接口协处理器接口3TM3ARM7TDMIBusInterfaceARM7TDMI接口信号MCLKnWAITA[31:0]D[31:0]nMREQ,SEQnRWLOCKABEDBEnTRANSABORTClocksandClockControlMemoryManagementMemoryInterfaceDataandAddressBusControlMemoryAccessControlnM[4:0]MAS[1:0]BL[3:0]APE,ALETBEECLKTBITBUSENnENINBIGENDARM7TDMInENOUT4TM4ARM7TDMIBusInterface时钟与时钟控制MCLK–输入处理器工作的时钟。静态设计的ARM通过延长时钟周期来访问慢速的设备。nWAIT–输入在ARM内部与MCLK相与。必须在MCLK为低的相位阶段改变。容许该信号从一个周期扩展到另一个周期,延长总线访问周期。ECLK–输出核心逻辑的时钟的输出。在正常和调试状态下反映内部时钟。ph1&ph2–内部信号双相位非覆盖的内部时钟。处理器内部工作周期。5TM5ARM7TDMIBusInterfaceMCLKnWAIT时钟控制-nWAIT控制Phase1Phase2Phase2Phase1ph2InternalClockECLKph1InternalClock6TM6ARM7TDMIBusInterface时钟控制–扩展MCLKMCLKnWAITPhase1Phase2Phase2Phase1ph2InternalClockECLKph1InternalClock7TM7ARM7TDMIBusInterface数据总线32位双或单向数据总线BUSEN=0配置双向数据总线。BUSEN=1配置单向数据总线。字节、半字及字访问.读取数据必须有效且稳定到相位2结束。写入数据在相位1改变,保持稳定贯穿相位2。nENOUT–输出(和nENIN–输入):数据总线控制如果采用片外双向数据总线的话,可以用来控制数据总线的方向。8TM8ARM7TDMIBusInterface数据总线配置(1)DIN[31:0]DOUT[31:0]32D[31:0]32ARM7TDMMacrocellEmbeddedICEmacrocellGDoutlatEnbMDen9TM9ARM7TDMIBusInterface数据总线配置(2)MCLKDIN[31:0]DOUT[31:0]D[31:0]READWRITEREADDIN1DIN1DOUTDIN2DIN2DOUT10TM10ARM7TDMIBusInterface地址总线32位(4G字节)寻址能力。默认时序在前一周期的相位2阶段变为有效,保持稳定贯穿当前周期的相位1阶段。流水线地址。地址时序可以通过APE(或ALE)移位。为获得较好的系统性能,建议使用默认时序。地址可以锁存到存储器系统中。11TM11ARM7TDMIBusInterface地址总线控制APE和ALE–输入ARM建议两个信号都为高,以便有最长的时间进行地址译码。任何一个信号都可以连接到在数据访问期间需要稳定地址的设备。APE:地址流水线使能APE=1–地址是流水线的(在后续的相位2提供).APE=0–重新定时地址改变的时序,从MCLK的下降沿开始。控制对A[31:0]的透明锁存。ALE:地址锁存使能控制对A[31:0]的透明锁存。仅用于已有的系统设计,因为它比APE更复杂。12TM12ARM7TDMIBusInterface流水线地址时序(推荐设置)ALE和APE均为高MCLKA[31:0]ALEAPEPhase2Phase1AddressD[31:0](in)Dx13TM13ARM7TDMIBusInterfaceAPE对地址时序的作用MCLKA[31:0]ALEAPEPhase2Phase1AddressD[31:0](in)Dx14TM14ARM7TDMIBusInterface总线三态控制(1)ABE–输入:地址总线使能当ABE为低时,下面的信号处于高阻状态:A[31:0],nRW,LOCK,MAS[1:0],nOPC,andnTRANSDBE–输入:数据总线使能当DBE为低时,D[31:0]处于高阻状态。TBE–输入:测试总线使能当TBE为低时,下面的信号处于高阻状态:D[31:0],A[31:0],nRW,LOCK,MAS[1:0],nOPC,andnTRANS在ABE和DBE都为低时,情况一样。15TM15ARM7TDMIBusInterface总线三态控制(2)ABEDBED[31:0](out)A[31:0]TBE16TM16ARM7TDMIBusInterface存储器访问控制nMREQ–输出:存储器请求.低有效,指示在接下来的周期中进行存储器访问。SEQ–输出:连续地址访问高有效,指示在接下来的周期中地址不变或大一个操作数(字或半字)nRW–输出:非读/写区分存储器读写访问LOCK–输出:锁定操作指示一条交换指令正在执行,接下来的两个处理器总线周期是不可见的。MAS[1:0]–输出:存储器访问大小指示字、半字或字节访问。BL[3:0]–输入:数据总线上的字节区段锁存使能容许数据由小数构成。17TM17ARM7TDMIBusInterface存储器控制nRWMAS[1:0]MAS[1:0]指示数据传送大小(8,16或32位)AddressDataA[31:0]D[31:0]nMREQSEQCycleTypeLOCKnTRANSnOPCMCLK18TM18ARM7TDMIBusInterface字节区段锁存使能ARM7TDMID[7:0]D[15:8]31GD[31:0]88GBL[0]MCLKnWAITECLKBL[1]19TM19ARM7TDMIBusInterface32位存储器接口nOEBWE[3:0]32nWAITMAS[1:0]MCLKID[31:0]A[31:0]A[31:2]32BL[3:0]ARM7TDMIMacrocellMemoryControlMemory32-bitBoardASICnRWnMREQ,SEQ20TM20ARM7TDMIBusInterface16位存储器接口16位存储器接口x2BoardASICnOEBWE[1:0]nWAITMAS[1:0]MCLKID[15:0]A[31:0]A[31:2]32BL[3:0]ARM7TDMIMacrocellMemoryControlMemory16-bitnRWnMREQ,SEQ3216MUXC,TSTATEA’[1]21TM21ARM7TDMIBusInterface使用字节区段锁存APEA[31:0],MAS[1:0]nWAITD[31:0]BL[3:0]MCLKD[15:0]latchedD[31:16]latchedECLK0x30xC22TM22ARM7TDMIBusInterface改变操作状态T位指示ARM核的状态。高-Thumb状态,低-ARM状态MCLKnMREQ,SEQA[31:0]nWAITTBITD[31:0]MAS[1:0]ARMInstr.TInstr.01-HalfWord10-WordN-CycleBXInstr.DestinationAddress23TM23ARM7TDMIBusInterface取指在ARM状态,指令是字(32位)在THUMB状态,指令是半字(16位)指令可以从32位数据总线的高或低半段取得。取决于Endian配置和A[1]的状态。EndianConfigurationLittleBIGEND=0BigBIGEND=1A[1]=0A[1]=1D[15:0]D[31:16]D[15:0]D[31:16]ThumbInstructionFetches24TM24ARM7TDMIBusInterface取数据字数据取操作类似于ARM状态的指令取操作。半字数据的取操作类似于THUMB状态的指令取操作。字节数据的取操作取决于Endian配置和A[1:0]的状态。EndianConfigurationLittleBIGEND=0BigBIGEND=1A[1:0]=00D[7:0]D[31:24]D[23:16]D[15:8]A[1:0]=10D[23:16]D[15:8]D[7:0]D[31:24]A[1:0]=11A[1:0]=01ByteDataFetches25TM25ARM7TDMIBusInterface周期类型非连续(N)在接下来的周期中的地址与前一个地址无关。连续(S)在接下来的周期中的地址与前一个地址一样或大一个操作数(字或半字)。内部(I)处理器正在执行一个内部操作,同时,没有有用的预取执行。协处理器寄存器传送(C).处理器和协处理器之间通讯,不涉及存储器访问,但D[31:0]用于传送数据。合并的内部连续(IS)I和S周期的特殊组合,容许优化存储器访问。26TM26ARM7TDMIBusInterface周期类型nMREQSEQCycleType00Non-sequential01Sequential10Internal11CoprocessorregistertransfernMREQSEQCycleType00Non-sequential01Sequential10Internal11Coprocessorregistertransfer27TM27ARM7TDMIBusInterface非连续周期在接下来的周期中(nMREQ=0)且(SEQ=0)下一个周期将是非连续访问。指令译码nMREQandSEQ条件提前一个周期建立。A[31:0]在接下来的周期的相位2阶段有效。对于读操作,D[31:0]必须在相位2结束时有效。典型地对于基于DRAM的系统的初始的行访问,N周期要占用更长的时间。处理器停下来(通过停止时钟)一个或更多的完整的时钟周期(等待状态),以便容许较长的访问时间。28TM28ARM7TDMIBusInterface典型的N周期MCLKnMREQSEQA[31:0]D[31:0]nRASnCASN-Cycle(DRAMRowAddressStrobe)(DRAMColumnAddressStrobe)MCLK可以扩展,通过停止MCLK或者声明nWAIT。29TM29ARM7TDMIBusInterface典型的NS周期Destinationaddress(A)A+4MCLKnMREQSEQA[31:0]D[31:0]nRASnCASN-CycleS-CycleARMstate.30TM30ARM7TDMIBusInterface内部周期(I)处理器在下一个周期中执行内部操作。例子有乘、寄存器特定的移位操作、在从存储器加载数据之后的回写操作。nMREQ和SEQ先于内部(I)周期一个周期的时间有效。nMREQ=1指示处理器没有存储器访问操作执行。A[31:0]在跟着内部(I)周期的下一个周期的相位2阶段有效。数据总线不驱动。地址总线驱动。31TM31ARM7TDMIBusInterface内部(I)周期nMREQA[31:0]AMCLKSEQI-Cycle32TM32ARM7TDMIBusInterface合并的IS周期(1)处理器执行内部操作。下一条指令的取指地址出现在地址总线上,容许提前译码。nMREQ和SEQ先于存储器访问周期一个周期的时间有效。存储器系统可以设计成识别IS情况。可以在内部周期期间启动对在内部周期期间的地址位置的访问。例如,对于非连续的DRAM的访问,建立和声明nRAS。在连
本文标题:浙江大学ARM课件7
链接地址:https://www.777doc.com/doc-4488583 .html