第七章计算机输入/输出系统与接口技术7.1计算机的输入/输出系统一、输入/输出系统的基本组成外存储器设备显示打印设备输入设备工业控制设备通讯设备CPU1、为什么要使用接口?a)接口电路使CPU可以管理多个外部设备;b)不同外设的工作方式不同;c)外部设备与CPU之间的速度不匹配;d)接口电路可以实现串-并行数据格式转换;e)接口电路可以实现模拟信息的输入输出。二、接口电路Interface2、接口电路的基本构成数据总线数据输入寄存器数据输出寄存器控制寄存器状态寄存器外部设备数据线控制线状态线总线接口电路I/O设备地址总线控制总线1、数据信息:数字量、模拟量、开关量;2、状态信息:外设的工作状态;3、控制信息:三、CPU和输入/输出设备之间传输的信号7.2微型计算机的常用外部设备一、输入设备:键盘、鼠标;二、输出设备:显示器、打印机;三、多媒体设备:声卡、图像卡。7.3总线技术Bus一、为什么要用总线?分散连接结构总线连接方式总线是连接多个部件的信息传输线,是各部件共享的传输介质。在任何一个时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。二、两种总线结构系统总线CPU存储器I/O接口1I/O接口2外设1外设21、单总线结构:两种总线结构2、双总线结构CPU存储器存储总线I/O接口1I/O接口2外设1外设2I/O总线1.片内总线:连接CPU内部各部件;2.系统总线:包括数据总线,地址总线,控制总线;3.通讯总线:USB,485总线,串行通讯总线,并行通讯总线。三、总线分类ISA总线:PC机的早期总线标准,8~16位数据线,20位地址线;PCI总线:32~64位的数据线,64位地址线;VESA总线:显示卡专用;AGP总线:显示卡专用;PCMCIA总线:常用于移动设备,16位数据线,26位地址线,支持‘即插即用’;SCSI总线:小型机总线。四、总线标准7.4基本I/O端口Port一、端口编址方式1.统一编址:I/O与存储器统一编址;2.独立编址:I/O的地址和存储器的地址是分开的,不占用存储空间;1.读端口:INAL,P8:8位地址,8位数据INAX,P16;8位地址,16位数据INAL,DX;16位地址,8位数据INAX,DX;16位地址,16位数据2.写端口:OUTP8,AL:8位地址,8位数据OUTP16,AX;8位地址,16位数据OUTDX,AL;16位地址,8位数据OUTDX,AX;16位地址,16位数据二、8086的I/O指令三、基本I/O接口电路举例(输入端口)A0Y0A1Y1A2Y2A3Y3A4Y4A5Y5A6Y6A7Y71G2GGNDVCC74LS244片选数据总线基本I/O接口电路举例(输入端口译码)A0Y0A1Y1A2Y2A3Y3A4Y4A5Y5A6Y6A7Y71G2GGNDVCC74LS244片选数据总线Y0AY1BY2CY3Y4Y5G1Y6G2AY7G2BA0A1A2A3A4A5A6A7M/IORD74LS138INAL,0E8H基本I/O接口电路举例(输出端口)D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7OCCLK片选74LS373数据总线VCC四、输入输出端口使用同一地址输出锁存器输入缓冲器端口译码器数据总线地址总线输出设备输入设备WRRDM/IO7.5中断技术一、中断的概念1、计算机I/O传输的三种方式查询方式中断方式DMA方式查询方式的接口程序I/O总线接口1接口2接口3外设1外设2外设3状态口:sport1sport2sport3数据口:dport1dport2dport32、中断过程取指令执行指令中断否?响应中断断点入栈调用中断服务程序否是1)如何判断有中断?2)如何响应中断?3)如何判断是哪个设备的中断?4)如何调用中断服务程序?5)多个中断同时发生时,如何处理?3、需要解决的问题1、中断引脚INTR:中断信号NMI:不可屏蔽中断信号INTA:中断应答信号中断判断:在一条指令执行完之后,8086CPU检测NMI和INTR是否为高电平,如为高电平,则表示有中断。中断响应:CPU在INTA上发出两个负脉冲。二、8086的中断系统2、中断排队电路排队电路:当多个中断源同时提出请求时,必须对各中断源的请求进行排队,只接受级别最高的中断源的请求;排队电路中断源1中断源2中断源3中断源4INTP1INTP2INTP3INTP43、中断矢量中断矢量形成电路INTP1INTP2INTPn...INTR中断矢量(8位)中断矢量8086CPU通过中断矢量可以知道是哪个中断源发出的中断。80868259A数据总线中断源1中断源2中断源8...INTAINTR4、8086CPU的中断过程1.外部设备通过INTR向8086CPU发出中断请求;2.8086CPU在执行完当前指令后检测是否有中断,如有中断则暂停当前程序运行,相应中断,向INTA引脚发出两个负脉冲;3.外设在第二个负脉冲的下降沿之后,将中断矢量发往数据总线,8086在上升沿读取中断矢量;4.8086关中断,根据中断矢量查找中断矢量表中相应中断服务程序入口地址,并转移到相应的中断服务程序执行;5.执行完中断服务程序后,返回到正常程序的中断点继续执行。5、中断矢量表中断0偏移地址低8位0000:0000偏移地址高8位段地址低8位段地址高8位中断1偏移地址低8位0000:0004偏移地址高8位段地址低8位段地址高8位中断2偏移地址低8位0000:0008…a)将标志寄存器入栈;b)将IF和TF清0;c)将下一条指令的CS和IP入栈;d)利用中断矢量在中断矢量表中查找中断服务程序的入口地址,将段和偏移地址放入CS:IP,执行中断服务程序。6、中断执行过程三、中断服务程序保护现场服务程序恢复现场开中断、中断返回