第七章计算机输入输出接口I/O接口的概念、功能、结构与编址方式;并行接口和串行接口的主要特点;主机与外设之间的数据传送方式;中断的概念、中断响应的条件与过程、中断系统的功能及中断处理方法;总线标准及常见的微机总线。本章要点:7.1输入输出接口的基本知识7.1.1输入输出接口的概念及功能一、输入输出接口的引入1、外设类型不同:机械、电子、机电、电磁2、传送信息类型:数字量、模拟量3、传送方式:串行、并行4、传送速度、编码方式不同三、功能二、概念输入输出:CPU或主存与外设(I/O设备)交换信息的过程。输入输出接口:是计算机中协调、匹配外设与主机正常工作所设置的逻辑部件及相应的控制软件,简称I/O口。1、能进行地址译码和设备选择;2、能实现数据缓冲和数据锁存;3、能完成信息格式和电平的转换;4、能保证数据传送的定时与协调。7.1.2输入输出接口的基本结构CPU和外设之间通常传递的信息:数据、状态、控制一、组成寄存器组、控制逻辑电路、主机与接口和接口与I/O设备之间的信号联接线、地址线、数据线等信号线。CPU控制电路DRSRCRI/O设备地址数据IO/MRDWR数据状态控制数据寄存器控制寄存器都由数据总线传送状态寄存器接口电路中具有不同地址,可以由CPU进行读/写操作的寄存器。通常有数据端口、状态端口和控制端口。(一)数据口数据:外设输入给CPU或从CPU输出给外设的各种数据信息。数据口用于完成输入与输出数据。(二)状态口状态:反映外设当前工作状态的信息。如输入设备是否准备好(READY);输出设备是否忙(BUSY)等。状态(输入)口,用于使CPU了解外设状态。(三)控制口控制:CPU发出的对外设或接口的控制信息。如外设的启动或停止,接口的工作模式设置等。控制(输出)口,用于完成CPU的控制操作。数据信息、控制信息和状态信息都由数据线传送,因此要通过不同的端口来区分。二、端口的概念7.1.3I/O接口分类1、传送方式并行和串行串行接口:接口与外设之间以串行方式传送数据,即每个字或字节逐位依次传送。3、协调配合方式程序传送、中断传送、DMA4、电路规模简单接口、可编程接口、外设接口适配器并行接口:接口与外设之间以并行方式传送数据,即各位数据同时传送。2、收发配合方式同步和异步传送方式7.1.4输入输出接口的编址方式在接口电路中通常都具有多个可由CPU进行读写操作的寄存器——端口。不同计算机对端口的编址方式不同。2、I/O端口独立编址给I/O接口中的各端口提供与存储器空间完全分开、完全独立的I/O地址空间。1、存储器统一编址将I/O接口中的端口地址与存储单元统一编址。优点:访存指令可访问端口,指令类型多;端口地址空间大。缺点:占用存储器空间;速度慢。优点:专门的I/O指令,与访存分开;执行速度快;不占内存地址空间。缺点:端口地址范围小。7.2主机与外设间的信息传送方式一、程序直接控制传递方式二、程序中断控制方式三、直接内存访问方式——DMA四、输入、输出处理机方式7.2.1程序直接控制传送方式优点:较好协调主机与外设之间的时间差异;所用硬件少。缺点:主机与外设只能串行工作,CPU效率低;主机一个时间段只能与一个外设进行通信。读外设状态就绪?读/写YN一、无条件传送方式无需了解外设状态,但要求外设随时处于准备好的状态。二、有条件传送方式——查询式传送外设工作情况无法预先知道或无规律时一般采用。适用于对主机速度要求不高,外设数量不多的场合。7.2.2中断传送方式中断——CPU暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行。优点:主机可以与一个或多个外设并行工作,提高了CPU的效率。缺点:执行中断服务程序时,保护断点等工作占用时间,难以满足成批快速交换数据的要求。7.2.3直接存储器访问——DMA方式前两种方式以CPU为中心,占用CPU时间,DMA方式以内存为中心,由专门的DMA控制器向CPU请求并接管总线的控制权,但需要利用系统的地址、数据和控制总线。一、DMA方式的定义直接存储器存取方式——DMA(DirectMemoryAccess)方式,是一种没有CPU参与的、在高速外设与存储器之间直接进行数据传输的控制方式。二、特点:数据传送速度快,是高速外设与主机之间成批交换数据的有效方式。但有局限性,适合外设不多的微小型计算机系统。7.2.4输入输出处理机(IOP)方式有单独的存储器和独立的运算部件,可访问系统的内部存储器。功能:除数据传输外,还应能处理传送过程中出错及异常情况,数据格式翻译,数据块校验。特点:由专门的输入输出处理机来管理外设,提高主机的工作效率。应用于大、中型计算机系统或分布式计算机系统。7.3中断控制技术7.3.1中断的概念一、基本概念中断:CPU暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行。中断请求:当外设准备好后,向CPU发出要求传送数据的信号,称为中断请求。禁止中断:外设发出中断请求后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器,由软件控制其状态。只有该触发器为“1”状态时,才允许CPU响应中断——允许中断,否则禁止中断。中断源:在机器中引起中断产生的事件或发生中断请求的来源统称为中断源。1、一般的输入输出设备:键盘,打印机,鼠标等。2、数据通道中断源:软盘,硬盘等。3、实时时钟:用外部时钟定时发出中断信号,由CPU进行处理。4、故障源:电源掉电,内存出错,输入输出出错等。5、测试程序设置的中断源:如单步运行和断点运行。–内部中断:由机器内部产生的中断。电源故障、主机设备故障、运算产生故障(溢出、除数为零、非法格式等)、定时时钟中断等。–外部中断:由外设引起的中断。可屏蔽中断(INTR)和非屏蔽中断(NMI)。CPU主程序中断请求中断请求中断响应中断返回中断服务程序中断服务程序:为处理意外情况或有意安排的任务而编写的程序。中断响应:CPU接到中断请求信号,若某种条件满足(允许中断),就保存断点,找到中断服务程序入口,转至中断服务程序执行,在中断服务结束后恢复断点,继续原程序的执行(中断返回),这个过程称作中断响应。断点二、CPU响应可屏蔽中断的条件及过程(一)条件1、中断源有中断请求;2、CPU允许接受中断请求;3、一般一条指令执行完毕后CPU才能响应中断。(二)中断响应过程1、关中断;2、保护断点、保存现场;3、开中断;4、执行中断服务程序;5、关中断,恢复现场、恢复断点;6、开中断,返回断点。取指令执行指令中断?响应中断关中断、保护断点、保存现场、开中断执行中断服务程序Y关中断、恢复现场、开中断返回断点N例:对于8086,IF=1时允许中断申请(开中断);IF=0时禁止中断申请(关中断)。由指令STI和CLI软件设置。7.3.2中断系统的功能中断系统就是完成一次中断操作的全过程所需要的各种部件及其相互关系。1、中断请求的检测与中断响应的控制–CPU必须有识别中断源的电路;–当外部中断源申请中断时,CPU是否响应还要取决于其内部的中断允许设置。断点:程序被中断的地址。断点需保存,以备恢复执行时使用,保存断点的地方称为栈区。CPU主程序中断请求中断响应中断返回中断服务程序断点中断矢量2、断点的保护中断矢量:实际上就是一个指针,它指向中断服务程序起始地址(入口地址)。(1)多个中断源申请中断时,CPU根据预先设定的中断优先级别进行处理,先为高优先级中断服务,然后再为低优先级中断服务。(2)具有多重中断的能力。多重中断就是CPU在执行某一中断服务程序后,如果开中断,则CPU还可以接受较高级的中断申请,执行其中断服务程序,形成多重中断(也称为中断嵌套)。3、实现多重中断判别的能力7.4总线接口1、总线作用多个部件之间公用的传送信息的一组连线,负责计算机各部件进行数据交换、控制信号、地址信号的发送和接收。2、总线组成信号线、总线控制器、收发电路、转换器等3、总线分类传递信息:并行总线、串行总线总线位置:器件总线、内部总线、外部总线7.4.1总线的作用与分类(1)并行总线:多条线同时传递所有的二进制数位。多位同时传递信息,速度快,结构复杂。计算机部件之间大量采用。(2)串行总线:多位二进制信息公用一位信号线传递。速度慢,但结构简单。部件之间距离较远时,采用串行总线可降低成本。4、总线功能——传递信息5、总线位置(1)器件总线:大规模集成电路中采用的通信总线。(2)内部总线:计算机机箱内各部件之间的总线。(3)外部总线:主机与外部设备以及计算机与计算机之间使用的总线。7.4.2总线标准1、物理特性:指总线的物理连接方式,包括总线条数、连线的插头、和插座形状、引脚排列方式和次序等。2、功能特性:描述总线中每一条线的功能。如地址总线AB,数据总线DB和控制总线CB。相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上几乎没有相同的,但各厂家生产的相同功能部件却可以互换使用,其原因在于它们都遵守了相同的系统总线的要求,这就是系统总线的标准化问题。3、电气特性:每条线上的信号传送方向、有效电平范围。4、时间特性:每条线上的信号在什么时间上有效。总线带宽是衡量总线性能的重要指标,单位:兆字节每秒(MB/s)。【例】(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为33MHz,则总线带宽是多少?(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,则总线带宽是多少?[解](1)设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,根据定义可得:Dr=D/T=D×1/T=D×f=4B×33×106/s=132MB/s(2)64位=8B,Dr=D×f=8B×66×106/s=528MB/s总线带宽:总线本身所能达到的最高传输速率。7.4.3微机总线简介多数计算机采用了分层次的多总线结构。在这种结构中,速度差异大的设备使用不同速度的总线。Pentium计算机主板就是一个三层次的多总线结构,即有CPU总线、PCI总线和ISA总线。CPU总线:也称CPU——存储器总线,它是一个64位数据线和32位地址线的同步总线。总线时钟频率为66MHZ、100MHZ等,CPU内部时钟是此时钟频率的倍频(超频)。可以把CPU总线看成是CPU引脚信号的延伸。数据宽度16位/8位,工作频率8MHz,传输速率8MB/s,24位地址线。适合速度要求不太高的板卡和外设。分两组,长的一组用于插8位的与ISA兼容的板卡。该总线支持7个DMA通道和15级可屏蔽硬件中断。另外还与主板上的实时钟/日历、键盘控制器等相接。98线黑色插槽。80286处理器主存储器显示器外存储器外通信号16位总线8MHz1、ISA总线(IndustryStandardArchitecture)2、PCI总线(PeripheralComponentInterconnect)PCI总线控制器在CPU和外设之间插入一个复杂的管理层协调数据传输。用于连接高速的I/O设备模块,如显卡、网卡、硬盘控制器等。通过“北桥”上面与高速的CPU-存储器总线相连,通过“南桥”下面与低速的ISA总线相连。PCI总线是一个同步总线,32位(或64位)数据/地址线是分时复用的同一组线。PCI总线有专用的PCI控制器,它不依赖CPU;提供数据缓冲,能支持10种外设;工作频率33MHz,最大传输速率132MB/s;120线白色插槽,提供即插即用(PnP)功能。3、通用串行总线USB(UniversalSerialbus)USB是一种通用万能插口,“即插即用”。是低速连接设备插入USB端口。总线的带宽为12MB/s。4、AGP总线(AcceleratedGraphicPort)图形加速器与主存之间的通路。32位数据总线,工作频率为66MHz,能以13