节目预告415周一阶段设计者.ppt

上传人:本田雅阁 文档编号:2572974 上传时间:2019-04-10 格式:PPT 页数:51 大小:1.76MB
返回 下载 相关 举报
节目预告415周一阶段设计者.ppt_第1页
第1页 / 共51页
节目预告415周一阶段设计者.ppt_第2页
第2页 / 共51页
节目预告415周一阶段设计者.ppt_第3页
第3页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《节目预告415周一阶段设计者.ppt》由会员分享,可在线阅读,更多相关《节目预告415周一阶段设计者.ppt(51页珍藏版)》请在三一文库上搜索。

1、节目预告 (415周) 第一阶段:设计者,第二阶段:学生(复习) 第三阶段:工程师(案例) 最后:考试(开卷)or PAPER,学生教程,ARM体系结构 ARM指令系统 XScale 微架构的系统结构,一个Strong ARM板卡,DATA ADDR control,Memory control,LCD port,GPIO,USB Port,Memory sheet,NaNo PCI,LCD port,以太网,串口,几个问题?,有了开发板,我们能作什么? 我们成功的仿制出来,我们成功了吗? 我们是真正的设计者吗?,预备知识,计算机体系结构分类 冯诺依曼结构 哈佛体系结构 精简指令系统计算机(R

2、ISC),冯诺依曼结构,哈佛体系结构,第二部分 ARM的体系结构,ARM体系结构,ARM公司是把ARM作为知识产权IP推向嵌入式处理器市场,目前,已占有75%左右的市场。因此,ARM架构在市场出现也有多种形式,既有处理器内核(如ARM7TDMI)形式,也有处理器核(如ARM720T)形式。半导体厂商或片上系统SOC设计应用厂商采用ARM架构生产相应的MCU/MPU(如ATMEL公司的AT91单片机MCU)或SOC芯片。,关于ARM,ARM=Advanced RISC Machine RISC 的典型代表 32位处理器技术 嵌入式领域的主力军 ARM的产品 ARM处理器内核,以IP的形式提供给I

3、C生产厂家 硬核 软核 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 管理模式 Abort : 存取异常模

4、式 Undef : 未定义指令模式 System : 系统模式 2种工作状态 ARM Thumb 支持ARM/Thumb的交互工作,典型指令使用频度,Thumb指令集,Thumb 是16-bit 指令集 代码密度优化 (总代码大小约为ARM指令的65%) 使用窄总线存储器时可以大大提高性能。 是 ARM 指令集的一个子集。 核存在一个执行状态 Thumb状态 ARM和Thumb之间切换使用BX 指令,2.2 ARM架构,ARM7TDMI 处理器内核,ARM7TDMI 是基于 ARM7 内核 3 级流水线-0.9MIPS/MHz 冯.诺依曼架构 CPI(Cycle Per Instruction

5、) 约为1.9 T - Thumb 架构扩展, 提供两个独立的指令集: ARM 指令,均为 32位 Thumb指令,均为 16位 两种运行状态,用来选择哪个指令集被执行 D - 内核具有Debug扩展结构 M - 增强乘法器 (32x8) 支持64位结果. I - EmbeddedICE-RT逻辑-提供片上断点和调试点支持,ARM7TDMI 内核信号,ARM7TDMI 内核,MCLK,nIRQ,nFIQ,nRESET,BUSEN,BIGEND,ISYNC,nWAIT,VDD,VSS,APE,DBE,协处理器接口,存储器管理,存储器接口,ABORT,nOPC,CPB,CPA,nCPI,nTRAN

6、S,nM4:0,MAS1:0,nRW,nMREQ,LOCK,SEQ,nENOUT,A31:0,DOUT31:0,DIN31:0,D31:0,电源,总线控制,时钟,配置,中断,ARM7TDMI 方框图,ARM7TDMI 内核,外部地址产生,2.3 ARM处理器模式,处理器模式分为用户和系统模式,系统模式包括了: 快中断请求FIQ(Fast Interrupt Request) 中断请求IRQ(Interrupt Request) 管理SVC(Supervisor) 中止Abort 未定义Undefined等几种模式。,r0-r15为32位通用寄存器,其中,r15常用作程序计数器PC、r14常用作

7、链接寄存器LR、r13常用作堆栈指针SP 当前程序状态寄存器CPSR(Current Program Status Register),CPSR,1、条件码标识 N:负数标识 Z:结果为零标识 C:进位位标识 V:溢出标识 *Q:DSP的溢出/饱和(选用) 2、控制位 I:IRQ中断禁止位 F:FIQ快中断禁止位 T:Thumb位 Mode:处理器工作模式 保护程序状态寄存器SPSR(Saved Program Status Register)是处理器系统模式下保存当前程序状态寄存器CPSR的内容。,2.4 Thumb状态,Thumb状态下的寄存器是ARM状态下寄存器组的一部份:r0-r7、r

8、13(SP)、r14(LR)、r15(PC)和CPSR,Thumb状态寄存器与ARM状态寄存器映象,2.5 异常处理模式,异常(Exception)是由内部或外部源产生以引起处理器处理一个事件,在处理异常之前,处理器状态必须保留;以便在异常处理程序完成后,原来的程序能够重新执行。同一时刻有可能出现多个异常。,异常类型,2.5.1 复位,处理器上一旦有复位输入,处理器立即停止执行当前指令。复位完成下列操作: r14_svc=UNPREDICTABLE Value SPSR_svc=UNPREDICTABLE Value CPSR4:0=0b10011 /*进入管理模式*/ CPSR5=0 /*在

9、ARM状态执行*/ CPSR6=1 /*禁止快速中断*/ CPSR7=1 /*禁止正常中断*/ PC=0x00000000,2.5.2 未定义指令异常,当ARM处理器执行协处理器指令时,它必须等待协处理器应答后,才能其正执行该指令;若协处理器没有应答,则会出现未定义指令异常 r14_und=address of next instruction after undefined instruction SPSR_und=CPSR CPSR4:0=0b11011 /*进入未定义模式*/ CPSR5=0 /*在ARM状态执行*/ /*CPSR6不变*/ CPSR7=1 /*禁止正常中断*/ PC=0

10、00000004 在仿真未定义指令后,通过下面指令: 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 instruction SPSR_SVC=CPSR /*进入管理模式*/ CPSR4:0=0b10011 /*在ARM状态执行*/ CPST5=0 /*CPST6不变*/ CPSR7=1

11、/*禁止下常中断*/ 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 /*进入中止模式*/ CPSR5=0 /*在ARM状态执行*/ /*C

12、PSR6不变*/ 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=000000010 确定中止原因后,通过SUBS PC, r14,#8从中

13、止模式返回,并恢复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状态执行*/ /*CPSR6不变*/ CPSR7=1 /*禁止正常中断*/ PC=000000018 可

14、通过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 of next instruction to be executed+4 SPSR_fiq=CPSR

15、 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) 5.存储器访问,操作数与存储器有关(mem) 6.结果写回寄存器(res) 而各个阶段的操作

16、相对都是独立的。因此,可以采用流水线的重叠技术,可以大大提高系统的性能,2.6.1 指令流水线,为增加处理器指令流的速度,ARM7 系列使用3级流水线. 允许多个操作同时处理,比逐条指令执行要快。,PC指向正被取指的指令,而非正在执行的指令,2.6.2 最佳流水线,2.6.3 LDR 流水线举例,该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5,2.6.4 ARM的流水线设计,流水线的结构相关 某些指令在流水线中重叠执行时,产生资源冲突 流水线的数据相关 当一条指令需要前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起流水线的数据相关 流水线的控制相关 当流水线

17、遇到分支指令和其他会改变PC值的指令时就会发生控制相关。一旦流水线检测某条指令是分支指令,就暂停分支指令之后的所有指令,直到分支指令确定了新的PC值为止,避免结构相关,ARM架构采用了资源重复的方法: 采用分离式指令Cache和数据Cache。使取指和存储器的数据访问不再发生冲突。同时也解决了相应的数据通路问题。 ALU中采用单独加法器来完成地址计算。使执行周期的运算不再产生资源冲突。,数据相关,定向(也称为旁路或短路)技术。 流水线互锁(Pipeline Interlock)技术。 编译器的“流水线调度”(或“指令调度”)技术,控制相关,指令预测 尽早计算出分支转移成功时的PC值(即分支的目标地址),祝国庆快乐! 大家注意安全!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1