资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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 DARM 处理器内核2TM252v07 ARM普通处理器内核简要定义固化宏单元(硬核) ARM920T ARM7TDMI ARM720T ARM1022E可综合内核(软核) ARM926EJ-S ARM7TDMI-S ARM1026EJ-S测试芯片 ARM10200E3TM352v07 ARM普通处理器内核议程nARM7TDMI 处理器内核系列ARM9TDMI 处理器内核系列ARM10E处理器内核系列其他处理器4TM452v07 ARM普通处理器内核什么是 ARM7TDMI?nARM7TDMI 是基于 ARM7 内核n3 级流水线-0.9MIPS/MHzn冯.诺依曼架构nCPI(Cycle Per Instruction) 约为1.9 nT - Thumb 架构扩展, 提供两个独立的指令集:nARM 指令,均为 32位nThumb指令,均为 16位n两种运行状态,用来选择哪个指令集被执行nD - 内核具有Debug扩展结构nM - 增强乘法器 (32x8) 支持64位结果.nI - EmbeddedICE-RT逻辑-提供片上断点和调试点支持5TM552v07 ARM普通处理器内核ARM7TDMI 内核信号ARM7TDMI 内核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE协处理器接口存储器管理存储器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRWnMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0电源总线控制时钟配置中断6TM652v07 ARM普通处理器内核ARM7TDMI 方框图ARM7TDM 内核TAP 控制器JTAG 接口数据总线控制信号D31:0地址总线 A31:0DIN31:0DOUT31:0BUSSplitterEmbedded ICE 逻辑7TM752v07 ARM普通处理器内核乘法器ARM7TDMI 内核指令 解码地址 自增器nRESETnMREQ SEQABORTnIRQ nFIQnRW MAS1:0LOCKnCPI CPA CPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶形 移位器32 位 ALUDBE写数据 寄存器读数据寄存器地址寄存器寄存器A31:0ABE及控制 逻辑PC Update解码站指令 解码IncrementerP CABusBBusALUBus8TM852v07 ARM普通处理器内核外部地址产生PC31:2 ARM State PC31:1 Thumb StateALU31:0INC自增器A31:0向量0x1C0x00地址 寄存器9TM952v07 ARM普通处理器内核指令流水线n为增加处理器指令流的速度,ARM7 系列使用3级流水线.n允许多个操作同时处理,比逐条指令执行要快。n PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb10TM1052v07 ARM普通处理器内核最佳流水线n该例中用6个时钟周期执行了6条指令n所有的操作都在寄存器中(单周期执行)n指令周期数 (CPI) = 1操作周期 1 2 3 45 6ADDSUBMOVANDORREORCMPRSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch11TM1152v07 ARM普通处理器内核LDR 流水线举例n该例中,用6周期执行了4条指令n指令周期数 (CPI) = 1.5 周期操作123456ADDSUBLDRMOVANDORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetch12TM1252v07 ARM普通处理器内核分支流水线举例n流水线被阻断n注意:内核运行在ARM状态周期1 2 3 4 5 0x8000 BL 0x8004 X0x8008 XX0x8FEC ADD0x8FF0 SUB0x8FF4 MOV地址 操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch13TM1352v07 ARM普通处理器内核中断流水线举例周 期1 2 3 4 5 6 7 8IRQn IRQ 中断的反应时间最小=7周期地址 操作FDELinkret AdjustF FDecode IRQLinkretExecute IRQAdjustFDEFDFFDEFDFF0x8000 ADD0x8008 MOV0x0018 B (to 0xAF00)0x8004 SUB0x001C XX0x0020 XXX0xAF00 STMFD 0xAF04 MOV0xAF08 LDR0x800C X14TM1452v07 ARM普通处理器内核对齐n存储器访问必须始终适当地保持地址对齐n非对齐地址将产生不可预测的/未定义的结果n用Data Abort 异常来检测无效的非对齐数据存取n扩展逻辑要求,或使用MMU在 720T, 920T, 926E-S, 1020En谨防指令读取时出现非对齐n非对齐数据存取能够完成, 但不是用 LDRn使用 LDRB, STRB 传递字节,或使用LDM 加移位/屏蔽字节访问 (字节对齐)半字访问 (半字对齐)字访问 (字对齐)3210765402468ace089abcdef48c15TM1552v07 ARM普通处理器内核ARM 存储器接口n顺序周期 (S cycle) (nMREQ,SEQ存储器请求信号)nnMREQ = 0, SEQ = 1nARM 内核要求如下地址转换:地址可以相同,也可以比前一地址大一字或半字n非顺序周期(N cycle) (nMREQ,SEQ存储器请求信号) nnMREQ = 0, SEQ = 0nARM 内核要求如下地址转换: 与前一周期的地址不相关.n内部周期(I cycle) (nMREQ,SEQ存储器请求信号) nnMREQ =1, SEQ = 0nARM 内核不要求地址转换,因为它在完成一个内部功能,不需要取指n协处理寄存器转换周期(C cycle) (nMREQ,SEQ存储器请求信号) nnMREQ = 1, SEQ = 1nARM 内核希望用总线协处理器通信,但不要求存储器系统的任何动作16TM1652v07 ARM普通处理器内核T标志位的作用161632-bit data16A1MuxThumb 指令 解码MuxMuxT标志ARM 指令 解码阶段 1阶段 2D31:00110FetchDecodeExecute17TM1752v07 ARM普通处理器内核带Cache的ARM7TDMI nARM710Tn8K 统一的 cache n完整的内存管理单元(mmu), 支持虚拟地址和存储器保护n写缓冲ARM720T 同ARM710T,但支持 WinCE ARM740T 8K 统一的 cache 内存管理单元 写缓冲ARM7TDMI 内核地址地址数据读AMBA 接口写 缓冲MMU数据写数据ARM7xxT控制 逻辑CacheAMBA 总线 接口JTAG 和非 AMBA 信号CP1518TM1852v07 ARM普通处理器内核ARM7TDMI-SnARM7TDMI-S 是ARM7TDMI 的完全可综合版本n指令集和周期与ARM7TDMI 固化版本兼容n完全可综合的 RTLn使用了纲要设计构件的组件nALUn寄存器组n单时钟设计(上升沿)单一总线接口19TM1952v07 ARM普通处理器内核SecurCore SC100n第一个适合安全应用的32位 RISC 处理器n可用于smart 卡和其他有安全性要求的嵌入式领域n基于ARM7内核的专为安全解决方案设计n完全可综合的,全静态设计n提供安全的存储器保护单元nThumb指令支持,提高代码密度和系统性能n特殊的、独一无二的防伪造设计n小尺寸 (1mm2 典型的 0.25 工艺)n低功耗 ( 0.7mW/MHz at 2.5V)20TM2052v07 ARM普通处理器内核小测验1) 一条简单的算术操作( 如: ADD )要占用几个周期?2) ARM7TDMI指令流水线有几个阶段?3) ARM7TDMI 是否使用 ALU 计算地址? 4) ARM在存储器里,可寻址几种类型的数据?5) 试举一非顺序周期的例子?6) 数据总线的哪一半可被内核用作Thumb 指令?21TM2152v07 ARM普通处理器内核议程ARM7TDMI 处理器内核系列nARM9TDMI 处理器内核系列ARM10E处理器内核系列其他处理器22TM2252v07 ARM普通处理器内核ARM9TDMInHarvard架构n增加了可用的存储器宽度n指令存储器接口n数据存储器接口n可以实现对指令和数据存储器的同时访问n5 级流水线n实现了以下改进:n改进 CPI 到 1.5n提高了最大时钟频率23TM2352v07 ARM普通处理器内核ARM9TDMI流水线的变化Instruction FetchShift + ALUMemory AccessReg WriteReg ReadReg DecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or Thumb Inst DecodeReg SelectReg ReadShiftALUReg WriteThumbARM decompressARM decodeInstruction FetchFETCHDECODEEXECUTEARM7TDMI24TM2452v07 ARM普通处理器内核ARM9TDMI数据通道 (1)寄存器 BankALUCBADINFWD结果DADD数据递 增向量指令递增IA字节旋转 /符号扩展 .MU 逻辑双向 缓冲器字节/半字 复制MU逻辑单元包含有:多路复用器,乘法器和桶形移位器数据总线地址总线字节/半字指令地址总线25TM2552v07 ARM普通处理器内核ARM9TDMI 数据通道 (2)寄存器 BankPSR乘法器移位器ALUBAImmDINFWDBDATAADATA锁存锁存MU 逻辑(至 IA 生
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号