最新嵌入是系统结构 第2讲 ARM技术与ARM体系结构PPT课件.ppt
《最新嵌入是系统结构 第2讲 ARM技术与ARM体系结构PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入是系统结构 第2讲 ARM技术与ARM体系结构PPT课件.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入是系统结构嵌入是系统结构 第第2 2讲讲 ARM ARM技技术与术与ARMARM体系结构体系结构2TM2第二讲第二讲 ARMARM技术与技术与ARMARM体系结构体系结构 n第一片第一片ARM处理器是处理器是1983年年10月到月到1985年年4月月 间间在位于英国剑桥的在位于英国剑桥的Acorn Computer公司开发公司开发 n1990年,年,ARM公司成立公司成立n20世纪世纪90年代,年代,ARM快速进入世界市场快速进入世界市场n1995年年 StrongARM 问世问世 nXScale是下一代是下一代StrongARM芯片的发展基础芯片的发展基础 nARM10TDMI是是ARM
2、处理器核中的高端产品处理器核中的高端产品 nARM11是是ARM家族中性能最强的一个系列家族中性能最强的一个系列3TM34TM45TM56TM67TM78TM89TM9三三.处理器工作模式处理器工作模式n ARM 有有7个基本工作模式个基本工作模式:nUserUser:非特权模式,大部分任务执行在这种模式n正常程序执行的模式nFIQFIQ:当一个高优先级(fast)中断产生时将会进入这种模式n高速数据传输和通道处理nIRQIRQ:当一个低优先级(normal)中断产生时将会进入这种模式n通常的中断处理nSupervisorSupervisor:当复位或软中断指令执行时将会进入这种模式n供操作系
3、统使用的一种保护模式nAbortAbort:当存取异常时将会进入这种模式n虚拟存储及存储保护nUndefUndef:当执行未定义指令时会进入这种模式n软件仿真硬件协处理器nSystemSystem:使用和User模式相同寄存器集的特权模式n特权级的操作系统任务10TM10r0r1r2r3r4r5r6r7r8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsrFIQIRQS
4、VCUndefAbortUser Moder0r1r2r3r4r5r6r7r8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsrCurrent Visible RegistersBanked out RegistersFIQIRQSVCUndefAbortr0r1r2r3r4r5r6r7r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr
5、)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsrCurrent Visible RegistersBanked out RegistersUserIRQSVCUndefAbortr8r9r10r11r12r13(sp)r14(lr)FIQ ModeIRQ Moder0r1r2r3r4r5r6r7r8r9r10r11r12r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r
6、11r12r13(sp)r14(lr)spsrCurrent Visible RegistersBanked out RegistersUserFIQSVCUndefAbortr13(sp)r14(lr)Undef Moder0r1r2r3r4r5r6r7r8r9r10r11r12r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsrCurrent Visible RegistersBanked out Registers
7、UserFIQIRQSVCAbortr13(sp)r14(lr)SVC Moder0r1r2r3r4r5r6r7r8r9r10r11r12r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsrCurrent Visible RegistersBanked out RegistersUserFIQIRQUndefAbortr13(sp)r14(lr)Abort Moder0r1r2r3r4r5r6r7r8r9r10r11r1
8、2r15(pc)cpsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr13(sp)r14(lr)spsrr8r9r10r11r12r13(sp)r14(lr)spsr当前可见寄存器当前可见寄存器备用寄存器备用寄存器UserFIQIRQSVCUndefr13(sp)r14(lr)ARM 寄存器寄存器11TM11寄存器组织概要寄存器组织概要Usermoder0-r7,r15,andcpsrr8r9r10r11r12r13(sp)r14(lr)spsrFIQr8r9r10r11r12r13(sp)r14(lr)r15(pc)cpsrr0
9、r1r2r3r4r5r6r7Userr13(sp)r14(lr)spsrIRQUsermoder0-r12,r15,andcpsrr13(sp)r14(lr)spsrUndefUsermoder0-r12,r15,andcpsrr13(sp)r14(lr)spsrSVCUsermoder0-r12,r15,andcpsrr13(sp)r14(lr)spsrAbortUsermoder0-r12,r15,andcpsrThumb stateLow registersThumb stateHigh registersNote:System模式使用模式使用user模式寄存器集模式寄存器集12TM12
10、ARM 寄存器寄存器nARM 有有37个个32-Bits长的寄存器长的寄存器.n1 个用作PC(program counter)n1个用作CPSR(current program status register)n5个用作SPSR(saved program status registers)n30 个通用寄存器n当前处理器的模式决定着哪组寄存器可操作当前处理器的模式决定着哪组寄存器可操作.任何模式都可以存取:任何模式都可以存取:n相应的r0-r12子集n相应的 r13(the stack pointer,sp)and r14(the link register,lr)n相应的 r15(the
11、 program counter,pc)n相应的CPSR(current program status register,cpsr)n特权模式特权模式(除除system模式模式)还可以存取;还可以存取;n相应的 spsr(saved program status register)13TM13程序状态寄存器程序状态寄存器n 条件位:条件位:nN=1-结果为负结果为负,0-结果为正或结果为正或0nZ=1-结果为结果为0,0-结果不为结果不为0nC=1-进位,0-借位nV=1-结果溢出,结果溢出,0结果没溢出结果没溢出nQ 位:位:n仅ARM 5TE/J架构支持n指示增强型DSP指令是否溢出nJ
12、位位n仅ARM 5TE/J架构支持nJ=1:处理器处于Jazelle状态n中断禁止位:中断禁止位:nI =1:禁止 IRQ.nF=1:禁止 FIQ.nT Bitn仅ARM xT架构支持nT=0:处理器处于 ARM 状态nT=1:处理器处于 Thumb 状态nMode位位(处理器模式位处理器模式位):n0b10000Usern0b10001FIQn0b10010IRQn0b10011Supervisorn0b10111Abortn0b11011Undefinedn0b11111System2731N Z C V Q2867I F T mode1623 815 54024 U n d e f i
13、n e dJ14TM14n当处理器执行在当处理器执行在ARM状态状态:n所有指令 32 bits 宽n所有指令必须 word 对齐n所以 pc值值由bits 31:2决定,bits 1:0 未定义(所以指令不能halfword/byte对齐).n当处理器执行在当处理器执行在Thumb状态状态:n所有指令 16 bits 宽n所有指令必须 halfword 对齐n所以 pc值值由bits 31:1决定,bits 0 未定义(所以指令不能 byte对齐).n当处理器执行在当处理器执行在Jazelle状态状态:n所有指令 8 bits 宽n处理器执行 word 存取一次取4条指令程序指针程序指针PC
14、(r15)15TM15Vector Table异常处理异常处理n当异常产生时当异常产生时,ARM core:n拷贝 CPSR 到 SPSR_n设置适当的 CPSR 位:n改变处理器状态进入 ARM 态n改变处理器模式进入相应的异常模式n设置中断禁止位禁止相应中断(如果需要)n保存返回地址到 LR_n设置 PC 为相应的异常向量n返回时返回时,异常处理需要异常处理需要:n从 SPSR_恢复CPSRn从LR_恢复PC nNote:这些操作只能在 ARM 态执行.Vector table can be at 0 xFFFF0000 on ARM720T and on ARM9/10 family d
15、evicesFIQIRQ(Reserved)Data AbortPrefetch AbortSoftware InterruptUndefined InstructionReset0 x1C0 x180 x140 x100 x0C0 x080 x040 x0016TM16nThe ARM 可以用可以用 little/big endian 格式存取数据格式存取数据.r0=0 x11223344STR r0,r1LDRB r2,r1r1=0 x100Memory3 2 1 0 0 1 2 3Byte Lane3124 2316 158 70112233443124 2316 158 7011223
16、3443124 2316 158 70112233443124 2316 158 70000000443124 2316 158 7000000011Little endianBig endianR2=0 x44R2=0 x11nFor more information,see:“Application Note:Big and Little Endian Byte Addressing”字节顺序字节顺序17TM17四四.ARM7TDMInARM7TDMI 是基于 ARM7 内核n3 级流水线-0.9MIPS/MHzn冯.诺依曼架构nCPI(Cycle Per Instruction)约为1.
17、9 nT -Thumb 架构扩展,提供两个独立的指令集:nARM 指令,均为 32位nThumb指令,均为 16位n两种运行状态,用来选择哪个指令集被执行nD-内核具有Debug扩展结构nM-增强乘法器 支持64位结果.nI -EmbeddedICE-RT逻辑-提供片上断点和调试点支持18TM18ARM7TDMI 内核信号内核信号ARM7TDMI内核内核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE协处理器接口协处理器接口存储器管理存储器管理存储器接口存储器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRW
18、nMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0电源电源总线控制总线控制时钟时钟配置配置中断中断19TM19ARM7TDMI 方框图方框图ARM7TDMI内核内核TAP 控制器控制器JTAG 接口数据总线控制信号D31:0地址总线A31:0DIN31:0DOUT31:0BUSSplitterEmbeddedICE逻辑逻辑20TM20乘法器乘法器ARM7TDMI 内核内核指令指令解码解码地址地址自增器自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTR
19、ANSnM4:0D31:0桶形桶形移位器移位器32 位位 ALUDBE写数据写数据 寄存器寄存器读数据读数据 寄存器寄存器地址寄存器地址寄存器寄存器寄存器A31:0ABE及及控制控制 逻辑逻辑PC Update解码站解码站指令指令 解码解码IncrementerPCABusBBusALUBus21TM21外部地址产生外部地址产生PC31:2 ARM StatePC31:1 Thumb StateALU31:0INC自增器自增器A31:0向量向量0 x1C0 x00地址地址寄存器寄存器22TM22指令流水线指令流水线n为增加处理器指令流的速度,为增加处理器指令流的速度,ARM7 系列使用系列使用
20、3级流水线级流水线.n允许多个操作同时处理,比逐条指令执行要快。n PC指向正被取指的指令,而非正在执行的指令指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)PCPCPC-4PC-2PC-8PC-4ARMThumb23TM23 最佳流水线最佳流水线n该例中用该例中用6个机器周期执行了个机器周期执行了6条指令条指令n所有的操作都在寄存器中(单周期执行)所有的操作都在寄存器中(单周期执行)n指令周期数指令周期数(CPI)=1机器周期机器周期 操作操作周期周期 1 2 3 45
21、 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch24TM24 LDR 流水线举例流水线举例n该例中,用该例中,用6机器周期执行了机器周期执行了4条指令条指令n指令周期数指令周期数(CPI)=1.5 机器周期机器周期周期周期 操作操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFe
22、tchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetch25TM25分支流水线举例分支流水线举例n流水线被阻断流水线被阻断n注意注意:内核运行在内核运行在ARM状态状态周期周期 1 2 3 4 5 0 x8000 BL 0 x8004 X0 x8008 XX0 x8FEC ADD0 x8FF0 SUB0 x8FF4 MOV地址地址 操作操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkre
23、tAdjustFetchDecodeFetch26TM26中断流水线举例中断流水线举例周期周期 1 2 3 4 5 6 7 8IRQn IRQ 中断的反应时间最小中断的反应时间最小=7机器周期机器周期地址地址 操作操作FDELinkret AdjustFFDecode IRQLinkretExecute IRQAdjustFDEFDFFDEFDFF0 x8000 ADD0 x8008 MOV0 x0018 B(to 0 xAF00)0 x8004 SUB0 x001C XX0 x0020 XXX0 xAF00 STMFD 0 xAF04 MOV0 xAF08 LDR0 x800C XD27TM
24、27对齐对齐n存储器访问必须始终适当地保持地址对齐n非对齐地址将产生不可预测的/未定义的结果n用Data Abort 异常来检测无效的非对齐数据存取n扩展逻辑要求,或使用MMU在 720T,920T,926E-S,1020En谨防指令读取时出现非对齐n非对齐数据存取能够完成,但不是用 LDRn使用 LDRB,STRB 传递字节,或使用LDM 加移位/屏蔽字节访问字节访问(字节对齐字节对齐)半字访问半字访问(半字对齐半字对齐)字访问字访问(字对齐字对齐)3210765402468ace089abcdef48c28TM28T标志位的作用标志位的作用161632-bit data16A1MuxThu
25、mb指令指令解码解码MuxMuxT标志ARM指令指令解码解码阶段阶段 1阶段阶段 2D31:00110FetchDecodeExecute29TM29带带Cache的的ARM7TDMI nARM710Tn8K 统一的 cache n完整的内存管理单元(mmu),支持虚拟地址和存储器保护n写缓冲ARM720T同ARM710T,但支持 WinCEARM740T8K 统一的 cache内存管理单元写缓冲ARM7TDMI内核内核地址地址数据读AMBA接口接口写写缓冲缓冲MMU数据写数据ARM7xxT控制控制逻辑逻辑CacheAMBA总线总线接口接口JTAG 和非 AMBA 信号CP1530TM30五五
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新嵌入是系统结构 第2讲 ARM技术与ARM体系结构PPT课件 最新 嵌入 系统 结构 ARM 技术 体系结构 PPT 课件
限制150内