1、1,第7章 输入输出接口,2,7.1.1 输入输出接口概念及其功能,一、输入输出接口概念负责将外设连接到总线上的一组逻辑电路的总称。 连接外设和主机的桥梁的作用;协调/匹配外设与主机之间的正常工作。,3,二、I/O接口的功能,地址译码与设备选择 数据缓冲与数据锁存 信息格式和电平的转换 数据传送的定时与协调,4,7.1.2 I/O接口的基本结构与组成,CPU,数据端口,状态 端口,控制端口,外设,数据,状态,控制,数据,地址,控制信号,控 制 电 路,5,数据端口 状态端口 控制端口,端口:接口中的寄存器,7.1.2 I/O接口的基本结构与组成,I/O接口:由寄存器组(端口)、控制逻辑电路、接
2、口与主机/接口与外设的信号线组成。,6,7.1.3 输入输出接口的分类,按数据传送方式 串行接口:接口与外设之间串行(逐位依次传送),接口与主机之间并行传送数据; 并行接口:接口与外设、接口与主机之间都并行传送数据,每次传送一个字或字节的全部位; 按数据收发双方的配合方式 同步接口:接口的操作在主机的系统时钟控制下进行,与CPU的节拍同步工作; 异步接口:接口的操作不由系统时钟控制,主机与外设间采用应答方式传送信息。,7,7.1.3 输入输出接口的分类,按通信的协调控制方式 程序传送接口、中断传送接口与DMA接口 按电路规模 简单接口、可编程接口及外设接口适配器,8,7.1.4 I/O接口的编
3、址方式,统一编址:端口地址与存储器存储单元统一编址,共占存储器的访问空间; 独立编址:端口使用与存储器空间完全分开的、独立的地址空间。,9,端口与存储器统一编址,特点: 使用访问存储器的指令对端口读写操作,使用方便; 端口与存储器公用一个存储空间,端口地址空间较大; 不足:端口占用了部分存储空间,存储器地址资源减少; 且执行速度慢;,内存 地址 960KB,I/O地址 64KB,00000H,F0000H,FFFFFH,10,端口独立编址,特点: 端口访问使用专门的I/O指令,执行速度快,不占内存地址空间; 端口地址的范围较小; 8086和现在的微机大都采用独立编址方式。,内存 地址,I/O
4、地址,00000H,FFFFFH,FFFFH,0000H,11,7.2 主机与外设之间的数据传送控制方式,程序控制方式 中断方式传送 直接存储器存取(DMA),无条件传送 程序查询传送,12,一、无条件传送,对于总是处于准备好状态的外设,CPU可在任意时刻进行数据传送,不需询问和应答。 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较窄,13,二、程序查询传送方式,外设并不总是准备好,CPU传送数据前,必须对外设状态进行检测,当状态满足条件时才传送,否则CPU等待。 外设应提供设备状态信息 接口应具备状态端口 特点: 优点:能较好协调外设与主机之间的时间差异,所用硬件较少; 缺点:
5、主机和外设只能串行工作,外设未准备好,主机一直查询等待,效率不高;一次只能和一台外设传送数据。 适用:对传送速率要求不高,外设数量也不多的情况。,14,三、中断控制方式,特点: 外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序 优点:CPU效率高,实时性好,速度快,应用范围广。 缺点:程序编制较为复杂。,15,以上三种I/O方式的共性,均需CPU作为中介: 软件: 外设与内存之间的数据传送是通过CPU执行程序来完成的; 硬件: I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的。缺点:程序的执行速度限定了传送的最大速度,当主机与外设
6、之间需要成批快速交换数据时,就难以满足要求了。,16,四、DMA控制方式,特点: 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者; 总线由DMA控制器进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMA控制器提供。 DMA方式的优先级别高于一般程序中断方式的优先级别; DMA控制器与CPU同时要访问主存冲突时,通常给DMA控制器较高的优先权,保证高速外设的及时响应;,17,DMA控制方式的优缺点,数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率; 适用于高速外设与主机成批交换数据; 但一个DMA控制器通常只能对同类外设进行
7、控制,只适合一般外设不多的微小型计算机。,18,DMA控制方式,DMA 控制器,外设 接口,CPU,DRQ,MEM,DACK,HOLD,HLDA,系统总线,控制信号,19,DMA控制方式的工作过程,外设向DMA控制器发出“DMA传送请求”信号DRQ; DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD; CPU在完成当前总线周期后会立即发出总线响应信号HLDA,对HOLD信号进行响应; DMA控制器收到HLDA信号后,就开始控制系统总线,并向外设发出DMA响应信号DACK;,20,DMA控制方式的工作过程,DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接
8、数据传送; DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。 当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。,21,五、输入输出处理机控制方式,具有专用的输入、输出处理机来专门管理和控制外设; 常用于大、中型计算机或分布式计算机系统中。,22,7.3 中断技术,掌握: 中断的基本概念 中断响应的一般过程 中断向量表及其初始化 8088/8086中断系统,23,一、中断的基本概念,中断: CPU执行程序时,由于发生了某种异常情况或随机事件(外部或内部),引起CPU暂时中断正
9、在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,24,中断源,引起CPU中断的事件,发出中断请求的来源,内部中断,外部中断,异常中断,软件中断,可屏蔽中断,非屏蔽中断,异常事件引起,中断指令引起,INTR中断,NMI中断,25,外部中断,对于外部中断,是利用CPU的两条中断输入信号线INTR和NMI来告诉CPU. INTR: 可屏蔽中断请求输入信号,IF=0 (关中断), INTR中断请求被屏蔽IF=1 (开中断), 允许响应INTR中断请求 NMI: 非屏蔽中断请求输入信号,必须响应,26
10、,引入中断的原因,使CPU与I/O设备实现并行工作; 自动故障处理; 实现实时处理; 实现人机通信; 实现多道程序和分时操作 等等。,27,二、中断响应的一般过程,中断请求 中断源识别及中断判优 中断响应 中断处理(服务) 中断返回,28,7.3.2 中断系统的功能,中断系统的检测与屏蔽 堆栈与断点保护 矢量中断与中断矢量 多重中断与中断优先级,29,29,中断请求的检测与屏蔽,定时检测:指令周期的最后一个机器周期 IF寄存器,为1,允许中断;为0,屏蔽中断,30,堆栈与断点保护,教材P175图7-11,31,矢量中断与中断,矢量中断:发生中断时CPU取得中断服务程序地址的方式 中断矢量:指向
11、中断服务程序的起始地址的指针,32,32,多重中断与中断优先级,对同时产生的中断:首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则 对非同时产生的中断:低优先级的中断程序允许被高优先级的中断源所中断,33,7.3.3 8086中断系统,内部中断外部中断,除法错中断 溢出中断 单步中断 软件中断,非屏蔽中断(NMI) 可屏蔽中断(INTR),256个中断源,34,34,中断矢量表,00000H,003FFH,1KB,35,35,中断矢量表,存放各类中断的中断服务程序的入口地址 每个入口占用4 Bytes,低字为段内偏移,高字为段基址 表的地址位于内存的00000H003FFH,大
12、小为1KB,共256个入口,36,8086中断响应过程,获取中断类型码: 若检测到软件中断:自动生成中断类型码 若检测到NMI中断:自动生成中断类型码2 若检测到INTR中断,且CPU处于开中断状态:由数据总线获得外设的中断类型码,37,8086中断响应过程,中断处理过程(各类中断都相同): 通过中断类型码乘以4,找到中断矢量 标志寄存器入栈,保护各标志位 暂存TF,清除IF和TF,屏蔽新的INTR和单步中断 保护断点,把主程序断点处的IP和CS压栈 从中断矢量表取中断服务程序入口地址,分别送入IP和CS 按新地址执行中断服务程序 保护CPU内部寄存器的内容,开中断(解除对其它中断的屏蔽) 程
13、序执行结束,恢复现场,IP、CS值和标志寄存器值出栈,返回被中断的程序继续执行下一条指令,38,中断请求,中断请求信号:分为边沿触发和电平触发,NMI:边沿触发,能被及时响应 INTR:电平触发,不能被及时响应INTR中断请求信号应保持到中断被响应为止; CPU响应中断后,中断请求信号还应及时撤销。,39,中断源识别,软件查询法 中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。,40,中断判优 要解决的问题,对同时产生的中断:首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则 对非同时产生的中断:低优先级的中断程序允许被高优先级的中断源所中断,中断嵌套,41,中断判
14、优 控制方法,软件判优顺序查询中断请求,先查询的先服务 (即先查询的优先级别高) 硬件判优中断向量法、链式判优,42,中断响应,响应中断请求必须满足的4个条件:P310 中断响应的工作: 向中断源发出中断响应信号; 保护断点;包括FLAGS、CS和IP 获得中断服务程序入口地址,中断向量法,43,中断处理,中断服务子程序的特点: 为“远过程” 用IRET指令返回,44,中断服务子程序完成的工作,关中断(CLI) 保护断点和现场 获取中断向量码 开中断(STI) 中断处理 关中断(CLI) 恢复断点和现场 开中断(STI) 返回原程序 见P311 图7.17,45,中断返回,执行IRET指令,使
15、IP、CS和FLAGS从堆栈弹出,返回原程序,46,三、8088/8086中断系统,内部中断外部中断,除法错中断 溢出中断 单步中断 软件中断,非屏蔽中断 可屏蔽中断,256个中断源,47,中断向量表,00000H,003FFH,1KB,48,中断向量表,存放各类中断的中断服务程序的入口地址 每个入口占用4 Bytes,低字为段内偏移,高字为段基址 表的地址位于内存的00000H003FFH,大小为1KB,共256个入口 P315 图7.19,49,8088/8086中断系统的优先级,优先级从高到低的顺序为: 内部中断 NMI中断 INTR中断 单步中断,50,7.4 总线(BUS)的一般概念
16、,总线是一组传输公共信息的信号线的集合,是多个部件之间公用的一组连线。能够很大程度上减少连线的数量。 发送信息的部件(信息源)分时将信息发往总线,由总线将信息同时发往各接收方部件。 任一时刻,只能有一个部件/设备通过总线发送数据,其他部件只能处于接收状态。 总线上不允许两个信息源同时工作,但允许多个信息接收器同时工作。,51,计算机的三总线,数据总线(Data Bus,DB) 传输数据信息 其宽度决定了其数据传输能力 例如,ISA总线为16位,PCI总线为32/64位 地址总线(Address Bus,AB) 传输地址信息(主存单元地址和外设端口地址) 其宽度决定了微机系统的寻址能力 如,IS
17、A为24位,可寻址16MB;32位PCI可寻址4GB 控制总线(Control Bus,CB) 传输控制信号、时序信号和状态信号/响应信号,52,常见系统总线,ISA (Industry Standard Architecture)工业标准体系结构 EISA (Extended ISA) MCA (Micro Channel Architecture)微通道体系结构 VESA (Video Electronic Standard Association)视频电子标准协会 PCI (Peripheral Component Interconnect)外设互联 AGP (Accelerated Graphics Port)加速图形接口,53,作业:P210,1-6,8-9,11-14 25-33,谢谢大家!,