- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机接口技术及应用 第4讲 (中断与DMA)
计算机接口技术及应用第四讲 (教材第4和5章) 计算机基本接口原理 ——计算机的中断系统和DMA系统 计算机的中断系统和DMA系统 主要内容 计算机的中断系统和中断控制器8259A DMA系统和DMA控制器8237A 从8237A的使用看接口设计 目的 了解计算机的中断系统和DMA系统, 掌握中断控制器和DMA控制器的内部结构、工作原理和接口方法 要求 了解计算机的中断系统和DMA系统的结构、特点,掌握中断控制器和DMA控制器的结构和编程技术 计算机的中断系统 所有x86处理器都有2个硬件中断引脚 NMI(Non-Maskable Interrupt)引脚, 不可屏蔽的中断 INTR(Maskable Interrupt)引脚, 可屏蔽的中断 可屏蔽的硬件中断 可以用指令STI(set interrupt flag)和CTI(clear interrupt flag)来允许响应或屏蔽响应 一般计算机系统使用外部扩展的2片级联的中断控制器8259A组成多源中断系统,允许15个中断源(2×8?1=15) 8259A是可编程中断控制器(简称PIC),每个PIC支持8个中断源 外设通过PIC申请中断,CPU通过PIC识别中断源和通道,并响应外设的中断请求 其他中断:软件中断(程序异常,除数错中断,单步跟踪中断等) 计算机的硬件中断响应过程 数据传输等服务 中断程序调用 中断请求 中断应答 中断号 中断请求 当某个外设发出中断请求(即, 使IRQn有效)给PIC时(也可能有多个中断源同时申请中断)。PIC能够对这些中断进行缓冲,通过其优先级控制寄存器来决定这些中断哪个先给CPU处理,而哪些需要排队等待,并给CPU发送中断请求(通过INTR引脚),CPU在适当的时间总线控制器给出中断应答(INTA)通知PIC,此时PIC通过数据总线给出一个8位的中断号(最先响应的),CPU得到此中断号后可以识别相应的中断处理过程,CPU完成这个中断的响应后,PIC收到响应结束命令又通过数据总线给CPU发出下一个要响应的中断号,如此重复直至全部中断请求响应完成 计算机的硬件中断系统组成 计算机的中断系统由2片8259A PIC级联构成,当总线控制器发送来第一个INTA时,主8259A将IR0~7中优先级最高的送入ISR,并将其内容编译成级联地址输出到CAS0..2。从8259A接受此级联地址,进行符合比较(译码),符合该级联地址的从控制器在第二个INTA周期输出中断号到数据总线 级联工作原理 可编程中断控制器—8259A ? 每个8259A PIC可管理8个中断,支持级联工作模式,可扩展更多的中断请求通道。其内部关键部件见图。2个PIC作为PC的一个固定的I/O扩展部件,占用的I/O地址为:主片20H~21H,从片A0~A1H 8259A (PIC的编程控制) 8259A PIC有4种工作方式 全嵌套、循环优先级、特定屏蔽和程序查询方式 另外还支持从属工作方式 工作方式的选择通过程序设置其内部的初始化命令字(ICW)来配置 在PC系统中,采用2片PIC级联 采用全嵌套工作方式,自然优先级顺序:IRQ0最高,依次为IRQ1,IRQ8~15,IRQ3~7,IRQ7最低 主从片的数据总线都连接到CPU IRQ0~7对应的中断号为08~0FH,IRQ8~15对应70~77H PC系统在上电后,ROM-BIOS对2片8259A都进行初始化 (具体的初始化流程和程序参见“计算机原理”等相关参考书) 在Windows系统中使用中断 ? 因为中断响应和执行中断服务程序的特殊性(不同于一般的子程序或过程)!中断请求和响应与CPU执行的非中断程序之间是异步的,响应中断时执行中断程序前必须保存程序断点和相关的寄存器内容!中断能提高工业控制的实时性,但是也造成系统保存断点和寄存器内容所浪费的时间 在Windows系统中,用户的中断服务程序(ISR)不能直接被CPU响应,而必须在OS中先注册(或称为hook),当中断发生后由OS来处理 在所有带有OS的系统中,外设的中断请求总是首先 被OS处理,所以使中断的响应被延时,在响应中断 之前OS需要保存断点(PC的值)和相关的寄存器内容, 相关的存储器等 在OS完成必要的保护操作后,将程序指针定位在用 户的ISR起点,执行ISR,当执行到中断返回指令后 立即结束本次中断响应 然后OS将通知PIC结束本次中断,并返还断点和现场 OS处理中断过程 计算机DMA系统的特点 计算机系统中使用2片8237 DMA控制器(2片级联方式)支持7个DMA传输通道,这些通道没有被计算机的任何固定外设占用,均可以通过总线被扩展接口使用 如果总线CLK为
文档评论(0)