输入输出和中断技术.ppt
《输入输出和中断技术.ppt》由会员分享,可在线阅读,更多相关《输入输出和中断技术.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Ch.7 输入输出和中断技术输入输出和中断技术n本章内容本章内容n基本概念基本概念n I/O端口的编址端口的编址n 输入输出的基本方法:输入输出的基本方法:无条件无条件、查询查询、中断中断、DMAn中断中断n中断基本概念中断基本概念n8086/8088中断系统中断系统n8259中断控制器中断控制器*nDMA*nDMA的基本概念的基本概念nDMA工作过程工作过程nDMA的三种传输方式的三种传输方式 7.1 输入输入/输出接口(输出接口(I/O接口)接口)n7.1.1 概述概述n什么是I/O接口?把把外设外设连接到连接到总线总线上的一组逻辑电路的总称。实现外设与主机之上的一组逻辑电路的总称。实现外
2、设与主机之间的间的信息交换。信息交换。nI/O接口的功能n数据的寄存和缓冲功能n缓解接口与缓解接口与CPU工作速度的差异工作速度的差异n对外设的控制和检测功能n对外设进行选择n信号电平与类型的转换(信号兼容)n形式、格式、电平、功率、码制等形式、格式、电平、功率、码制等 n7.1.2 端口的编址方式端口的编址方式nI/O端口:I/O信息的三种类型:数据、控制、状态数据、控制、状态。传送这三类信息的通道分别称为:数据端口(I、O)、控制端口(O)、状态端口(I)。n不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号称为端口地址端口地址(或端口号)。n端口有两种编址方式:统一编址
3、统一编址和独立编址独立编址。n1.统一编址统一编址n把外设接口与内存外设接口与内存统一进行编址。各占据统一地址空间的不同部分。n优点n指令统一,灵活;n访问控制信号统一,使用同一组的地址/控制信号。n缺点n内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H n2.独立编址独立编址n外设地址空间和内存地址空间相互独立相互独立。n优点:内存地址空间不受I/O编址的影响n缺点:I/O指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000H
4、n7.1.3 I/O端口地址的译码(地址端口地址的译码(地址+控制信号)控制信号)n片间寻址:n高位地址+控制信号=CS*n片内寻址:n地位地址连接到芯片 n7.1.4 I/O数据的传送方式数据的传送方式n并行n一个数据单位(通常为字节)的各位同时传送n速度快、距离短、成本高n例:PC机的并行接口(通常用于连接打印机)n串行n数据按位按位进行传送n速度慢、距离远、成本低n例:PC机的串行接口(通常用于串行通信)n7.2.1 接口电路的基本结构接口电路的基本结构7.2 简单接口电路简单接口电路数据线数据线控制线控制线状态线状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门)三态门)数据
5、输出寄存器数据输出寄存器(锁存器)(锁存器)状态寄存器状态寄存器(or 三态门)三态门)命令寄存器命令寄存器译码译码电路电路控制控制逻辑逻辑接接外外设设接接主主机机 n数据输入数据输入/输出寄存器输出寄存器暂存输入暂存输入/输出的数据输出的数据n命令寄存器命令寄存器存放控制命令,用来设定接口功能、存放控制命令,用来设定接口功能、工作参数和工作方式。工作参数和工作方式。n状态寄存器状态寄存器保存外设当前状态,以供保存外设当前状态,以供CPU读取。读取。简单接口电路简单接口电路n数据输入接口数据输入接口n必须具有三态输出能力,以便与总线挂接必须具有三态输出能力,以便与总线挂接n外设有数据保持能力时
6、可用三态门实现n外设无数据保持能力时用三态输出的锁存器实现n数据输出接口数据输出接口n常用锁存器实现7.3 I/O设备数据传送设备数据传送控制控制方式方式 n程序控制传送方式n无条件传送n查询式传送n中断方式传送n直接存储器存取(DMA,Direct Memory Access,无需CPU参与)nIOP方式(输入输出处理机)7.3.1 无条件传送方式无条件传送方式n适用于适用于总是处于准备好状态总是处于准备好状态的外设的外设n以下外设可采用无条件传送方式:以下外设可采用无条件传送方式:n开关n发光器件(如发光二极管、7段数码管、灯泡等)n继电器n步进电机n优点优点:软件及接口硬件简单:软件及接
7、口硬件简单n缺点缺点:只适用于简单外设,适应范围较窄:只适用于简单外设,适应范围较窄7.3.2 查询传送方式查询传送方式n适用于外设并不总是准备好,而且对传送速适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。率、传送效率要求不高的场合。nCPU在与外设交换数据前必须询问外设状态在与外设交换数据前必须询问外设状态“你准备好没有?你准备好没有?”n对外设的要求:应提供设备状态信息对外设的要求:应提供设备状态信息n对接口的要求:需要提供状态端口对接口的要求:需要提供状态端口n优点优点:软件比较简单:软件比较简单n缺点缺点:CPU效率低,数据传送的实时性差,效率低,数据传送的实时性差
8、,速度较慢速度较慢7.3.3 中断中断传送传送方式方式nCPU无需循环查询外设状态,而是外部设备无需循环查询外设状态,而是外部设备在在需要进行数据传送时需要进行数据传送时才中断才中断CPU正在进行正在进行的工作,让的工作,让CPU来为其服务。即来为其服务。即CPU在没有在没有外设请求时可以去做更重要的事情,有请求外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了时才去传输数据,从而大大提高了CPU的利的利用率。用率。n优点优点:CPU效率高,实时性好,速度快。效率高,实时性好,速度快。n缺点缺点:程序编制较为复杂。:程序编制较为复杂。7.3.4 DMA传输传输 n前面三种前面
9、三种I/O方式都需要方式都需要CPU作为中介:作为中介:外设外设 CPU 内存内存 两个含义:两个含义:1)软件:外设与内存之间的数据传送是通过)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的执行程序来完成的(PIO方式);方式);2)硬件:)硬件:I/O接口和存储器的读写控制信号、地址信号都是由接口和存储器的读写控制信号、地址信号都是由CPU发发出的(总线由出的(总线由CPU控制)。控制)。n 缺点:程序的执行速度限定了传送的最大速缺点:程序的执行速度限定了传送的最大速度(约为几十度(约为几十KB/秒)秒)解决:解决:DMA传输传输 nDMA传输传输:外设外设 内存内存n外设直接
10、与存储器进行数据交换外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;不再担当数据传输的中介者;n总线由总线由DMA控制器(控制器(DMAC)进行控制()进行控制(CPU要放弃总线控制权),要放弃总线控制权),内存内存/外设的地址和读写控制信号均由外设的地址和读写控制信号均由DMAC提供。提供。n优点:数据传输优点:数据传输由由DMA硬件来控制,数据硬件来控制,数据直直接在内存和外设之间交换,可以达到很高的接在内存和外设之间交换,可以达到很高的传输速率(可达几传输速率(可达几MB/秒)秒)DMA传送原理示意传送原理示意图图 系统总线系统总线CPUDMAC存储器存储器外设接口外设接口
11、AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACKAENIOWIORMEMWMEMR 外设发出外设发出DMADMA请求请求 DMAC DMAC向向CPUCPU申请总线申请总线 CPU CPU完成当前总线周期后完成当前总线周期后响应,并释放总线控制权响应,并释放总线控制权 DMAC DMAC得到总线控制权,并发出得到总线控制权,并发出DMADMA响应信号响应信号 由由DMACDMAC发出各种控制信号,控制外设与存储器之发出各种控制信号,控制外设与存储器之 间的数据传送间的数据传送 数据传送完后,数据传送完后,DMACDMAC撤销撤销HOLDHOLD
12、信号信号 CPUCPU释放释放HLDAHLDA信号,并重新控制总线信号,并重新控制总线nDMA控制器的工作过程控制器的工作过程1)当外设准备好,可以进行)当外设准备好,可以进行DMA传送时,外设向传送时,外设向DMA控制器发出控制器发出“DMA传送请求传送请求”信号(信号(DRQ););2)DMA控制器收到请求后,向控制器收到请求后,向CPU发出发出“总线请总线请求求”信号信号HOLD,表示希望占用总线;,表示希望占用总线;3)CPU在完成当前总线周期后会立即对在完成当前总线周期后会立即对HOLD信信号进行响应。响应包括两个动作:一是号进行响应。响应包括两个动作:一是CPU将数据将数据总线、地
13、址总线和相应的控制信号线均置为高阻态,总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,由此放弃对总线的控制权。另一方面,CPU向向DMA控制器发出控制器发出“总线响应总线响应”信号(信号(HLDA)。)。4)DMA控制器收到控制器收到HLDA信号后,就开始控制总信号后,就开始控制总线,并向外设发出线,并向外设发出DMA响应信号响应信号DACK;nDMA控制器的工作过程(续)控制器的工作过程(续)5)DMA控制器送出地址信号和相应的控制信号,控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;实现外设与内存或内存与内存之间的直接数据传
14、送;例如,向例如,向I/O接口发出读信号,同时往地址总线上发接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号出存储器的地址和存储器写信号和和AEN信号,即可从信号,即可从外设向内存传送一个字节。外设向内存传送一个字节。6)DMA控制器自动修改地址和字节计数器,并判控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往控制器就撤销发往CPU的的HOLD信号。信号。CPU检检测到测到HOLD失效后,紧接着撤销失效后,紧接着撤销HLDA信号,并在下信号,并在下一时钟周期重新开始控制总线。一时
15、钟周期重新开始控制总线。nDMA的三种传输方式的三种传输方式:n连续传送(块传送)连续传送(块传送)nDMAC申请到总线后,将一块数据传送完后才释放总申请到总线后,将一块数据传送完后才释放总线,而不管中间线,而不管中间DREQ是否有效。是否有效。n单次传送(每次传送一个字节)单次传送(每次传送一个字节)n每个每个DMA周期只传送一个字节就立即释放总线。周期只传送一个字节就立即释放总线。n按需传送(猝发传送)按需传送(猝发传送)n只要只要I/O接口的数据缓冲可用,就进行传送。接口的数据缓冲可用,就进行传送。(注:注:I/O接口需要有一定大小的接口需要有一定大小的FIFO缓冲缓冲)YN允许允许DM
16、ADMA请求?请求?DMAC请求总线请求总线CPU响应响应,DMAC获总线控制权获总线控制权DMA传送一个字节传送一个字节块结束?块结束?地址增量,计数器减量地址增量,计数器减量DMAC释放总线释放总线Yn数据块传送数据块传送NNYN允许允许DMADMAC请求总线请求总线CPU响应响应,DMAC获总线控制权获总线控制权DMA传送一个数据传送一个数据块结束?块结束?释放总线至少一个总线周期释放总线至少一个总线周期地址增量,计数器减量地址增量,计数器减量DMAC释放总线释放总线Yn每次传送一个字节每次传送一个字节测试测试I/O的的DREQ DMA请求?请求?NYCPU响应响应,DMAC获总线控制权
17、获总线控制权DMA传送一个字节传送一个字节块结束?块结束?测试测试I/O的的DREQ 有效?有效?地址增量,计数器减量地址增量,计数器减量释放总线,请求中断释放总线,请求中断无效,释放总线无效,释放总线允许允许DMADMA请求?请求?DMAC请求总线请求总线n按需传送按需传送YNYN一个总线周期一个总线周期TDMAC控制总线,共传送控制总线,共传送n个数据个数据DMA1DMA2DMAnCPU重新控制总线重新控制总线CPU对总线控制对总线控制连续传送连续传送TDMA共传送共传送n个数据个数据DMA1DMA2DMAn单次传送单次传送DMA3T按需传送按需传送DMA传送传送k个数据个数据DMA传送传
18、送n-k个数据个数据FIFO可用可用FIFO满满FIFO可用可用FIFO满满图例:图例:DMA传输方式示意图传输方式示意图:7.4 中断技术中断技术n7.4.1 中断的基本概念中断的基本概念n什么是中断什么是中断?n与生活场景的比较与生活场景的比较正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应实际场景实际场景计算机计算机中断返回中断返回中断的定义中断的定义 nCPU执行程序时,由于发生了某种随机执行程序时,由于发生了某种随机的的事件事件(外部或内部外部或内部),引起
19、,引起CPU暂时暂时中中断断正在运行的程序,转去执行一段特殊正在运行的程序,转去执行一段特殊的的服务程序服务程序(称为中断服务程序或中断处称为中断服务程序或中断处理程序理程序),以处理该事件,该事件处理完,以处理该事件,该事件处理完后又后又返回返回被中断的程序继续执行,这一被中断的程序继续执行,这一过程称为中断。过程称为中断。中断源中断源n中断源中断源引起引起CPU中断的事件或设备。如:中断的事件或设备。如:n外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等n事件事件掉电、硬件故障、软件错误、非法操作、定时掉电、硬件故障、软件错误、非法操作、定时时间到等时间到等n中断源分为:外
20、部中断、内部中断中断源分为:外部中断、内部中断n内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断n外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断n 8086/8088的外部中断信号:的外部中断信号:INTR、NMInINTR可屏蔽中断请求,高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控标志的控制。制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。nNMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。都要响应此中断请求信号。为何计
21、算机中要引入中断?为何计算机中要引入中断?n提高数据传输率;提高数据传输率;n避免了避免了CPU不断检测外设状态的过程,提不断检测外设状态的过程,提高了高了CPU的利用率。的利用率。n实现对特殊事件的实时响应。如多任务系实现对特殊事件的实时响应。如多任务系统操作系统中:统操作系统中:n缺页中断n设备中断n各类异常n时钟等中断过程中断过程n五个步骤:五个步骤:n中断请求n中断判优(有时还要进行中断源识别)n中断响应n中断服务n中断返回以下以外部中断外部中断为主介绍这五个步骤。1)中断请求)中断请求n外设接口(中断源)发出中断请求信号,送到外设接口(中断源)发出中断请求信号,送到CPU的的INTR
22、或或NMI引脚引脚;n中断请求信号:边沿请求,电平请求中断请求信号:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求n中断请求信号应中断请求信号应保持保持到中断被处理为止;到中断被处理为止;nCPU响应中断后,中断请求信号应及时响应中断后,中断请求信号应及时撤销撤销。n在在8086/8088系统中,外设的中断要经过系统中,外设的中断要经过8259A可编程中断控制器可编程中断控制器(PIC)的排队的排队判优后判优后向向CPU发出发出2.1)中断源识别)中断源识别n计算机中的中断源有很多,计算机中的中断源有很多,CPU必须识别是必须识别是哪一个设备产生中断。
23、识别中断源有两个方哪一个设备产生中断。识别中断源有两个方法:法:n软件查询软件查询。将中断信号从数据总线读入,用程序。将中断信号从数据总线读入,用程序进行判别。进行判别。n中断矢量法中断矢量法。由中断源提供中断类型号,。由中断源提供中断类型号,CPU根根据类型确定中断源。(据类型确定中断源。(8086/8088即采用此种即采用此种方法)方法)2.2)中断优先级判断)中断优先级判断n多个中断源产生中断,多个中断源产生中断,CPU首先为谁服务首先为谁服务?中断优先级排队问题。中断优先级排队问题。n中断优先级控制要处理两种情况:中断优先级控制要处理两种情况:n对同时产生的中断:应首先处理优先级别较高
24、的中断;若优先级别相同,则按先来先服务的原则处理;n对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套。n中断优先级的控制方法中断优先级的控制方法n硬件判优硬件判优链式判优、并行判优(中断向量法)链式判优、并行判优(中断向量法)n软件判优软件判优顺序查询中断请求,先查询的先服务(即先查询的优顺序查询中断请求,先查询的先服务(即先查询的优先级别高)先级别高)n通常将通常将中断判优中断判优与与中断源识别中断源识别合并在一起进行处理。合并在一起进行处理。nx86系统中,这项任务由系统中,这项任务由PIC和和CPU共同完成。共同完成。INTAinCPUINTAIN
25、TR外设外设1 1外设外设2 2外设接口外设接口1 1菊花链菊花链逻辑电路逻辑电路外设接口外设接口2 2外设外设3 3外设接口外设接口3 31 1菊花链菊花链逻辑电路逻辑电路菊花链菊花链逻辑电路逻辑电路IREQIREQIREQ中断确认中断确认链式判优电路原理图链式判优电路原理图INTAinINTAin中断确认中断确认中断确认中断确认3)中断响应)中断响应n在每条指令的最后一个时钟周期,在每条指令的最后一个时钟周期,CPU检测检测INTR或或NMI信号。若以下条件成立,则信号。若以下条件成立,则CPU响应中断:响应中断:n当前指令执行完当前指令执行完。对INTR,还应满足以下条件n当前指令是ST
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 中断 技术
限制150内