微机原理与接口技术 基于嵌入式芯片 教学课件 ppt 作者 徐惠民 chap8

上传人:E**** 文档编号:89507520 上传时间:2019-05-26 格式:PPT 页数:60 大小:567.50KB
返回 下载 相关 举报
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap8_第1页
第1页 / 共60页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap8_第2页
第2页 / 共60页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap8_第3页
第3页 / 共60页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap8_第4页
第4页 / 共60页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap8_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《微机原理与接口技术 基于嵌入式芯片 教学课件 ppt 作者 徐惠民 chap8》由会员分享,可在线阅读,更多相关《微机原理与接口技术 基于嵌入式芯片 教学课件 ppt 作者 徐惠民 chap8(60页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口 -基于嵌入式芯片,第八章 中断技术,第一节 I/O接口概述,接口(interface): 是介于微处理器和外设之间的一种缓冲电路,是CPU与外部设备交换信息交换的中转站,第一节 I/O接口概述,I/O接口电路的作用: 解决速度匹配问题 进行信号转换 进行输入/输出过程控制,CPU与I/O设备之间的信息通常包括:数据信息,状态信息和控制信息 1. 数据信息:数字量、模拟量、开关量 2. 状态信息:状态信息一般是外设通过接口送到CPU的;主要是反映外设的工作状态; 3. 控制信息:控制信息一般是CPU通过接口电路传送给外部设备的,主要用来控制外部设备的动作;,第一节 I/O接口概述

2、,为了区分以上所述的三种信息,在接口部件中都包含一组寄存器;CPU和外设交换信息时,将根据三种不同的信息,对不同的寄存器进行读写; 这些寄存器就称为端口(PORT);一个外设往往需要几个端口地址;不同的端口中存放不同的信息; 端口主要有三类,状态口,命令口和数据口 CPU需要访问外设时,寻址的是端口,而不是笼统的外设;,第一节 I/O接口概述,第一节 I/O接口概述,I/O接口: 指CPU和外设间的I/O接口芯片和电路 I/O端口: 常指在接口电路中用以完成某种信息传送,并可由编程人员通过端口地址进行读写的寄存器。 一个外设需要一个接口,但一个接口可以有不止一个端口。 每个端口对应一个地址,C

3、PU通过不同的地址的访问来区别状态信息,数据信息和命令信息。,端口的编址方式 1. 存储器统一编址方式(存储器映像) 在存储空间中划出一部分给外设端口,对端口当作存储器单元一样进行访问,不设置专门的I/O指令; 优点:对存储器操作的指令可以全部用于对端口操作;端口有较大的编址空间; 缺点:使存储器容量变小等; 2. 独立编址方式(I/O映像) 端口地址单独编址,而不和存储空间合在一起;设置专门的I/O指令来访问端口; 优点:不占用存储空间,端口操作速度快; 缺点:一般对端口只能进行传送操作;,第一节 I/O接口概述,第二节 CPU与外设传送数据的方式,一、无条件传送方式 在传送信息时,已知外设

4、是“准备好”的;所以CPU在和外设交换数据时,不用查询外设的状态,直接进行输入/输出; 一般用于: 外设是简单设备,例如:开关,发光二极管等; 外设工作速度足够快 两次数据传送的间隔时间足够长 接口电路中一般有输入缓冲器/输出锁存器(数据端口),由地址译码的输出信号来选通它们。,第二节 CPU与外设传送数据的方式,二、查询传送方式 这种方式,CPU要遵循“先查询,后传送”的原则,保证只有在外设已经是在“准备好”状态,才开始传送数据; 接口电路中至少需要两个端口:状态端口和数据端口 查询式传送的一般流程 先从状态口读入状态字; 如果状态是“准备好”,开始传送; 如果状态是“没有准备好”,则继续查

5、询,直到“准备好”,开始传送;,第二节 CPU与外设传送数据的方式,二、查询传送方式 在编写查询式传送程序时,要先确定两个问题: 状态信号的位置:需要规定状态信号是在寄存器中的第几位; 状态信号的有效电平:即是高电平表示准备好,还是低电平表示外设准备好; 优点:CPU和外设之间可以很好地配合工作; 缺点:CPU要长期地查询外设的状态,查询实际上就是一种等待;CPU长期的等待会影响CPU的工作效率;,第二节 CPU与外设传送数据的方式,三、中断传送方式 当外设要输入/输出时(即外设已把待输入数据存放在数据输入寄存器,或输出时外设已把上一个数据输出,输出寄存器已空),向CPU发中断请求; CPU收

6、到中断请求后,中断当前的工作,为外设服务,服务结束(输入或输出)后,继续原来的工作; 中断方式允许CPU与外设(甚至多个外设)同时工作,克服了查询方式的缺点;,第二节 CPU与外设传送数据的方式,四、直接存储器存取方式(DMA) 中断方式仍是CPU通过程序来传送,每次传送一字节;为了要传送这一字节需要将保护断点,保护现场等多条指令执行一遍; 对一个高速I/O设备,成组交换数据的情况,中断方式显得不合适; DMA方式是由硬件(DMA控制器)来控制数据从外设到存储器的直接传送,而不通过CPU; DMA方式下,要求CPU让出这些总线,即要求CPU相应的引脚输出为高阻状态,系统总线由DMA控制器接管这

7、些,产生相应的总线信号;,第二节 CPU与外设传送数据的方式,四、直接存储器存取方式(DMA) DMA传送的流程: CPU通过指令将要传送数据块的长度、在内存的首地址等信息写入DMA控制器。 外部设备通过DMA控制器向CPU发出DMA请求。 CPU接收DMA请求,暂停执行的程序,放弃对总线控制,由DMA控制,存储器的数据线和外设的数据线经由DMA控制器直接连通。 DMA控制器发出地址信息,能对存储器寻址及修改地址指针; DMA控制器发出存储器和外设的读或写控制信号。 数据块长度减一,重复上面进程,直到传送完毕。 发出DMA结束信号,使CPU恢复正常工作状态。,第三节 中断技术概述,为了解决“快

8、速CPU”与“慢速外设”之间速度不匹配问题,一方面要提高外设的工作速度,另一方面,发展了中断的概念。 最初的中断技术是作为处理器与外部设备交换信息的一种控制方式而提出的。所以中断最初的概念全部是对外部设备而言的,称为外部中断或硬件中断。 随着计算机技术的发展,中断的含义已不再局限于处理器与外设交换信息的一种方式,其应用范围也变得非常之广。,第三节 中断技术概述,中断:是指计算机的CPU暂时中止它正在执行的主程序,转去执行请求中断的那个外设或事件的中断服务(处理)程序,待处理完后,又返回到被中止了的程序。 中断系统:计算机所具有的上述功能,称为中断功能。为了实现中断功能而设置的各种硬件和软件统称

9、为中断系统。 中断源:引起中断的原因或发出中断申请的来源,称为中断源。一般,计算机系统都是多中断源系统。,第三节 中断技术概述,中断的作用: 实现CPU和I/O的并行工作 处理故障 实现多道程序和分时操作 实时控制 实现人机联系 实现多处理器联系,第三节 中断技术概述,中断的分类: 按中断产生的方式,中断可分为 自愿中断 强迫中断。 按中断请求产生的地点,中断可分为 内部中断 外部中斯。 按中断处理程序的进入方式,中断可分为 向量中断 非向量中断。,第三节 中断技术概述,一个处理器总会有若干中断源,但在同一瞬间,处理器只能响应若干个中断源中的一个中断请求。 处理器为了避免在同瞬间因响应苦干个中

10、断源的中断请求而带来的混乱,就必须给每个中断源的中断请求分配一个优先级,称为中断优先级。 优先级管理,分为软件方式和硬件方式两种。,第三节 中断技术概述,优先级有两个用途: 同时有多个中断请求,先响应优先级高的 正在处理一个中断,有更高优先级的中断请求到达 处理器正在为较低优先级的中断源服务时,若出现中断优先级更高的中断请求,处理器暂停目前正在进行的中断服务,响应新的中断源的中断请求,服务完毕,再返回继续完成被中断的较低优先级的中断服务,直至最后返回主程序。这就是所谓的中断嵌套。,第四节 中断的处理过程,第一步:中断请求,请求触发器,第四节 中断的处理过程,第二步:中断响应 响应的条件: 有请

11、求并保持 没有被禁止 是当前优先级最高的请求 响应后的处理: 关闭中断 保存PC 找到中断服务程序的入口地址,屏蔽寄存器,优先级判别,断点寄存器,第四节 中断的处理过程,第三步:中断处理 保护现场 开中断 中断服务 关中断 恢复现场 第四步:中断返回,第五节 ARM处理器的异常,ARM处理器用异常来处理在执行程序时发生的意外事件,它需要停止程序的执行流程,打断流水线。 ARM处理器的异常,与前面所介绍的中断有很大的相似之处,但并不完全等同。 ARM处理器支持7种异常类型,分为3大类 指令执行引起的直接异常:软件中断、未定义指令异常、预取指中止异常 指令执行引起的间接异常:数据中止异常 外部产生

12、的与指令流无关的异常:复位、IRQ、FIQ,第五节 ARM处理器的异常,ARM处理器的异常向量表:,第五节 ARM处理器的异常,复位: 当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。 未定义指令异常: ARM 试图执行一真正的未定义指令; ARM 遇到一协处理器指令,可是系统中的协处理器硬件并不存在; ARM 遇到一协处理器指令,系统中协处理器硬件也存在,可是ARM 不是在特权模式(privileged mode) 总之是指令本身引起的异常。,第五节 ARM处理器的异常,指令预取异常: 若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中

13、止信号,但当预取的指令被执行时,才会产生指令预取中止异常。 数据中止异常: 若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。,第五节 ARM处理器的异常,软中断异常: 由一条软中断指令SWI引起的异常。 外部中断异常: 当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务。 快速中断异常: 当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。,第五节 ARM处理器的异常,可以允许多个异常同时发生,高优先级的先处理; 优先级: Reset(复位) Data Abort(数据中止) FI

14、Q(快速中断) IRQ(外部中断) Prefetch Abort(预取中止) SWI(软中断) Undefined instruction(未定义指令),第五节 ARM处理器的异常,每一种异常,都单独具有: 保存从异常返回的链接寄存器LR _ ; 堆栈指针 SP_; 程序状态寄存器SPSR_ (saved program status register )。 对于快速中断异常FIQ,具有自己专用的5个通用寄存器 (r8_fiq to r12_fiq),不需要专门的指令来保护,达到快速处理的目的.,第五节 ARM处理器的异常,当异常产生时, ARM core: 拷贝 CPSR 到 SPSR_ 设

15、置适当的 CPSR 位: 改变处理器状态进入 ARM 状态 改变处理器模式进入相应的异常模式 设置中断禁止位禁止相应中断 (如果需要) 保存PC-4到 LR_ 设置 PC为相应的异常向量。,第五节 ARM处理器的异常,异常返回时的处理是在异常处理程序的最后,通过指令来完成的。 具体要完成: 从 SPSR_恢复CPSR; 从LR_恢复PC。 一般而言,执行完指令后才处理异常。但是,对于不同类型的异常,具体的返回地址的获得是不一样的。,第五节 ARM处理器的异常,ARM的流水线操作是影响返回地址处理的主要原因:,从SWIs和未定义指令返回,异常是由指令本身引起的,返回到下一条指令。LR中存放的是P

16、C-4,可以直接使用。 ARM Thumb SWI pc-8 pc-4 ;Exception taken here xxx pc-4 pc-2 ;lr = next instruction yyy pc pc 因此返回指令为: MOVS pc,lr Note : 表示异常返回后将执行的那条指令,从IRQ和FIQ返回,异常在当前指令执行完成后才被响应. LR 中存放的是下一条指令地址再减4的值。 ARM Thumb www pc-12 pc-6 ; 中断到来时的指令 xxx pc-8 pc-4 ; yyy pc-4 pc-2 ; LR所指的位置 zzz pc pc 因此返回指令为: SUBS PC,LR,#4 Note : 表示异常返回后将执行的那条指令,从预取中止异常返回,当指令到达执行阶段时异常才产生,因此内核在计算 LR 时的 PC 仍然是当前指令的地址。 需要重新执行导致异常的指令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号