节目预告周第一阶段设计者ppt课件_第1页
节目预告周第一阶段设计者ppt课件_第2页
节目预告周第一阶段设计者ppt课件_第3页
节目预告周第一阶段设计者ppt课件_第4页
节目预告周第一阶段设计者ppt课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、节目预告节目预告(415周周)第一阶段:设计者第一阶段:设计者第二阶段:学生复习第二阶段:学生复习第三阶段:工程师案第三阶段:工程师案例例最后:考试开卷最后:考试开卷or PAPER学生教程学生教程 ARM体系构造 ARM指令系统 XScale 微架构的系统构造一个一个Strong ARM板卡板卡DATA ADDR controlMemory controlLCD portGPIOUSB PortMemory sheetNaNo PCILCD port以太网,串口几个问题?几个问题? 有了开发板,我们能作什么? 我们胜利的仿制出来,我们胜利了吗? 我们是真正的设计者吗?预备知识预备知识 计算机

2、体系构造分类 冯诺依曼构造 哈佛体系构造 精简指令系统计算机RISC冯诺依曼构造哈佛体系构造第二部分第二部分 ARM的体系构造的体系构造ARM体系构造体系构造 ARM公司是把ARM作为知识产权IP推向嵌入式处置器市场,目前,已占有75%左右的市场。因此,ARM架构在市场出现也有多种方式,既有处置器内核如ARM7TDMI方式,也有处置器核如ARM720T方式。半导体厂商或片上系统SOC设计运用厂商采用ARM架构消费相应的MCU/MPU如ATMEL公司的AT91单片机MCU或SOC芯片。 关于关于ARM ARM=Advanced RISC Machine RISC 的典型代表 32位处置器技术 嵌

3、入式领域的主力军 ARM的产品 ARM处置器内核,以IP的方式提供应IC消费厂家 硬核 软核 ARM开发工具、SOC开发工具、评价板等 ARM公司不消费芯片2.1 ARM的特点的特点1 ARM微处置器的主要特点系列化:ARM7, ARM9, ARM10, 独特的指令系统32位架构,定长。32位ARM指令16位Thumb指令大部分为单周期指令条件执行Load/Store流水线构造ARM7:3级流水线ARM9:5级流水线高性能、低功耗ARM的特点的特点2 ARM微处置器的主要特点支持JTAG调试7种任务方式User : 用户方式,非特权FIQ : 快速中断IRQ : 普通中断Supervisor

4、管理方式Abort : 存取异常方式Undef : 未定义指令方式System : 系统方式2种任务形状ARMThumb支持ARM/Thumb的交互任务典型指令运用频度典型指令运用频度 指令类型使用指令使用频度 数据传送类43% 转/跳控制类23% 算术运算类15% 比较类13% 逻辑运算类5% 其他1%Thumb指令集指令集 Thumb 是16-bit 指令集 代码密度优化 总代码大小约为ARM指令的65% 运用窄总线存储器时可以大大提高性能。 是 ARM 指令集的一个子集。 核存在一个执行形状 Thumb形状 ARM和Thumb之间切换运用BX 指令2.2 ARM架构架构 ARM7TDMI

5、 处置器内核处置器内核 ARM7TDMI 是基于是基于 ARM7 内核内核 3 级流水线级流水线-0.9MIPS/MHz 冯冯.诺依曼架构诺依曼架构 CPI(Cycle Per Instruction) 约为约为1.9 T - Thumb 架构扩展架构扩展, 提供两个独立的指提供两个独立的指令集:令集: ARM 指令,均为指令,均为 32位位 Thumb指令,均为指令,均为 16位位 两种运转形状,用来选择哪个指令集被两种运转形状,用来选择哪个指令集被执行执行 D - 内核具有内核具有Debug扩展构造扩展构造 M - 加强乘法器加强乘法器 (32x8) 支持支持64位结果位结果. I - E

6、mbeddedICE-RT逻辑逻辑-提供片上断提供片上断点和调试点支持点和调试点支持ARM7TDMI 内核信号内核信号ARM7TDMI内核内核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE协处置器接口协处置器接口存储器管理存储器管理存储器接口存储器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRWnMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0电源电源总线控制总线控制时钟时钟配置配置中断中断ARM7TDMI 方框图方框图ARM7TDM内核TAP 控制器控制器JTAG 接

7、口数据总线控制信号D31:0地址总线A31:0DIN31:0DOUT31:0BUSSplitterEmbeddedICE逻辑ARM7TDMI 内核内核乘法器指令解码地址自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶形移位器32 位 ALUDBE写数据 存放器读数据 存放器地址存放器存放器A31:0ABE及控制 逻辑PC Update解码站指令 解码IncrementerPCABusBBusALUBus外部地址产生外部地址产生PC31:2 ARM Stat

8、ePC31:1 Thumb StateALU31:0INC自增器自增器A31:0向量0 x1C0 x00地址存放器2.3 ARM处置器方式处置器方式 处置器方式分为用户和系统方式,系统方式包括了: 快中断恳求FIQFast Interrupt Request 中断恳求IRQInterrupt Request 管理SVCSupervisor 中止Abort 未定义Undefined等几种方式。模式用户系统中止未定义中断R0R0R0R0R0R0R1R1R1R1R1R1R2R2R2R2R2R2R3R3R3R3R3R3R4R4R4R4R4R4R5R5R5R5R5R5R6R6R6R6R6R6R7R7R7

9、R7R7R7R8R8R8R8R8R8_fiqR9R9R9R9R9R9_fiqR10R10R10R10R10R10_fiqR11R11R11R11R11R11_fiqR12R12R12R12R12R12_fiqR13R13R13_abtR13_undR13_irqR13_fiqR14R14R14_abtR14_undR14_irqR14_fiqPCPCPCPCPCPCCPSRCPSRCPSRCPSRCPSRCPSRSPSR_abtSPSR_undSPSR_irqSPSR_fiq快中断管理R0R1R2R3R4R5R6R7R8R9R10R11R12R13_svcR14_svcPCCPSRSPSR_s

10、vc异常模式特权模式 r0-r15为32位通用存放器,其中,r15常用作程序计数器PC、r14常用作链接存放器LR、r13常用作堆栈指针SP 当前程序形状存放器CPSR(Current Program Status Register) CPSR 1、条件码标识N:负数标识Z:结果为零标识 C:进位位标识V:溢出标识*Q:DSP的溢出/饱和选用2、控制位I:IRQ中断制止位F:FIQ快中断制止位 T:Thumb位Mode:处置器任务方式维护程序形状存放器SPSRSaved Program Status Register是处置器系统方式下保管当前程序形状存放器CPSR的内容。2.4 Thumb形状

11、形状 Thumb形状下的存放器是ARM形状下存放器组的一部份:r0-r7、r13(SP)、r14(LR)、r15(PC)和CPSR R0R1R2R3R4R5R6R7R8R9R10R11R12SP(R13)LR(R14)PC(R15)CPSRSPSRR0R1R2R3R4R5R6R7SPLRPCCPSRSPSRThumb状态ARM状态低寄存器高寄存器Thumb形状存放器与ARM形状存放器映象 2.5 异常处置方式异常处置方式 异常Exception是由内部或外部源产生以引起处置器处置一个事件,在处置异常之前,处置器形状必需保管;以便在异常处置程序完成后,原来的程序可以重新执行。同一时辰有能够出现多

12、个异常。异常类型异常类型异常类型处理器模式异常向量地址优先级复位管理0000000001(最高)未定义指令未定义0000000046软件中断(SWI)管理0000000086预取中止(取指令存储器中止)中止00000000C5数据中止(数据访问存储器中止)中止0000000102中断IRQ中断IRQ0000000184快中断FIQ快中断FIQ00000001C32.5.1 复位 处置器上一旦有复位输入,处置器立刻停顿执行当前指令。复位完成以下操作: r14_svc=UNPREDICTABLE Value SPSR_svc=UNPREDICTABLE Value CPSR4:0=0b10011

13、/*进入管理方式*/ CPSR5=0 /*在ARM形状执行*/ CPSR6=1 /*制止快速中断*/ CPSR7=1 /*制止正常中断*/ PC=0 x000000002.5.2 未定义指令异常未定义指令异常 当ARM处置器执行协处置器指令时,它必需等待协处置器应对后,才干其正执行该指令;假设协处置器没有应对,那么会出现未定义指令异常 r14_und=address of next instruction after undefined instruction SPSR_und=CPSR CPSR4:0=0b11011 /*进入未定义方式*/ CPSR5=0 /*在ARM形状执行*/*CPSR

14、6不变*/ CPSR7=1 /*制止正常中断*/PC=000000004在仿真未定义指令后,经过下面指令:MOVS PC, r14恢复PC从r14_und和CPSR从SPSR_und,并前往该未定义指令的下一条指令 2.5.3 软件中断软件中断SWI 软件中断SWI指令进入管理方式,该指令常用于调用操作系统,故常称为“管理调用supervisor call r14_svc=addre of next instruntion after the SWI instructionSPSR_SVC=CPSR /*进入管理方式*/ CPSR4:0=0b10011 /*在ARM形状执行*/ CPST5=0

15、/*CPST6不变*/ CPSR7=1 /*制止下常中断*/PC=000000008完成软件中断SWI操作后,MOV PC,r14指令恢复PC从r14_svc和CPSR从SPSR_SVC,并前往到SWI指令后的下一条指令 2.5.4 预取中止取指令存储器预取中止取指令存储器中止中止 取指令无效时,存储器发生存储器中止信号;假设试用执行无效指令,那么产生预取中止异常;假设该指令未指到如指仅在流水线中发生了转移,那么不发生预取中止。 R14_abt=address of the aborted instruction+4 SPSRabt=CPSR CPSR4:0=0b10111 /*进入中止方式*

16、/ CPSR5=0 /*在ARM形状执行*/ /*CPSR6不变*/ PC=00000000C 确定中止缘由后,即可经过SUBS PC, r14,#4指令从中止方式前往,恢复了PC及CPSR值。2.5.5 数据中止数据访问存储数据中止数据访问存储器中止器中止 当存储器数据访问无效时,存储器系统发出存储器中止信号。 r14_abt=address of the aborted instruction+8 SPSR_abt=CPSR CPSR4:0=0b10111 /*进入中止方式*/ CPSR5=0 /*在ARM形状执行*/ /*CPSR6不变*/ CPSR7=1 /*制止正常中断*/ PC=0

17、00000010 确定中止缘由后,经过SUBS PC, r14,#8从中止方式前往,并恢复PC和CPSR的值。假设中止的指令不需求重新执行,那么经过SUBS PC,r14,#4来前往。2.5.6 中断恳求中断恳求IRQ 经过IRQ输入引脚,产生外部中断恳求。当CPSR的I位为2时,那么制止IRQ中断;假设该I位为0时,且检测到有IRQ输入时,执行以下操作: r14_ir8=address of next instruction to be executed+4 SPSR_irg=CPSR CPSR4:0=0b10010 /*进入中断IRQ方式*/ CPSR5=0 /*在ARM形状执行*/ /*

18、CPSR6不变*/ CPSR7=1 /*制止正常中断*/ PC=000000018 可经过SUBS PC,R14,#4指令从中断效力前往,并恢复PC和CPSR的值,并继续执行被中断的程序。2.5.7 快速中断恳求快速中断恳求FIQ 经过FIQ输入引脚,产生外部快速中断恳求。快速中断恳求FIQ优先级高于中断恳求IRQ,当进入快速中断恳求FIQ时,会屏蔽IRQ中断恳求。快速中断恳求FIQ用来支持数据传送和通道处置,并有足够私有存放器,可减少上下文切换的开销。 当CPSR的F位为1时,制止快速中断恳求;假设该F位为0时,且检测到FIQ引脚有输入时,那么执行以下操作: r14_fig=address

19、of next instruction to be executed+4 SPSR_fiq=CPSR CPSR4:0=0b10001 /*进入快速中断恳求FIQ方式*/ CPSR5=0 /*在ARM形状执行*/ CPSR6=1 /*制止快速中断恳求*/ PC=00000001C经过指令SUBS PC,r14,#4 从中断效力前往,并恢复PC 和CPSR的值,再继续执行被中断的程序。2.6 ARM的流水线构造的流水线构造 计算机中的一条指令的执行可以分假设干个阶段: 1.取指,从存储器中取出指令fetch 2.译码,指令译码dec 3.取操作数,假定操作数从存放器组中取reg 4.执行运算ALU

20、 5.存储器访问,操作数与存储器有关mem 6.结果写回存放器res 而各个阶段的操作相对都是独立的。因此,可以采用流水线的重叠技术,可以大大提高系统的性能 2.6.1 指令流水线指令流水线FetchDecodeExecute从存储器中读取指令解码指令存放器读从存放器Bank移位及ALU操作存放器写到存放器Bank PCPCPC - 4PC-2PC - 8PC - 4ARMThumb为添加处置器指令流的速度,为添加处置器指令流的速度,ARM7 系列运用系列运用3级流水线级流水线.允许多个操作同时处置,比逐条指令执行要快。允许多个操作同时处置,比逐条指令执行要快。PC指向正被取指的指令,而非正在

21、执行的指令指向正被取指的指令,而非正在执行的指令2.6.2 最正确流水线最正确流水线n该例中用6个时钟周期执行了6条指令n一切的操作都在存放器中单周期执行n指令周期数 (CPI) = 1 操作操作周期周期 1 2 3 4 5 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch2.6.3 LDR 流水线举例流水线举例周期 操作 1 2 3 45 6FetchDecodeExecuteFetchDecodeExecuteFetchDecode ExecuteDataWritebackFetchD

温馨提示

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

评论

0/150

提交评论