第七章输入输出接口7.1输入输出接口基础7.2中断系统7.3DMA传送和DMA控制器82377.4主机板上的计时计数逻辑7输入输出(I/O)接口运算器控制器CPU存储器输出设备I/O接口输入设备A.BUSD.BUSC.BUSCPUI/O设备I/O接口7输入输出(I/O)接口基本概念I/O接口:是介于CPU和I/O设备之间,把CPU和I/O设备连接起来,是CPU和I/O设备的桥梁。CPU和I/O设备通过I/O接口进行信息交换,从而协调一致工作。7输入输出(I/O)接口总线控制逻辑ROMRAM协处理器RT/COMSRAMI/O接口板组键盘磁盘驱动器网卡CRT显示器打印机微处理器MODEM鼠标主机板系统总线微机系统硬件组成图7输入输出(I/O)接口在主机板上,与I/O接口有关的逻辑包括:1.支持访问扩充板上存储器操作的逻辑2.支持执行输入输出指令的逻辑3.支持外部中断方式的以8259为核心的中断控制逻辑4.支持存储器直接读写(DMA)操作的以8237为核心组成的DMA控制逻辑这些逻辑是总线控制逻辑组成部分。7输入输出(I/O)接口CPUI/O设备总线控制逻辑I/O插槽I/O接口I/O接口板组这些逻辑,一侧与CPU相连,受CPU控制和管理,另一侧形成系统总线接到扩充插槽的节点上,与I/O接口板组相连。注:I/O接口在主机板上。7.1输入输出(I/O)接口基础I/O接口的几个基本问题:1.数据输入输出的基本方式2.I/O接口的结构3.I/O指令要求的接口逻辑7.1.1输入输出(I/O)的基本方式基本概念:I/O端口:CPUI/O设备寄存器寄存器寄存器寄存器…….I/O接口CPUI/O设备I/O接口7.1.1输入输出(I/O)的基本方式CPUI/O设备I/O端口I/O端口I/O端口I/O端口…….I/O接口每一个I/O端口都是一个8位寄存器,都有唯一的一个地址(I/O地址范围0000~03FF即0~1023,这与内存物理地址相似),CPU通过I/O端口与I/O外设进行通信。CPU可以从I/O端口读入数据(IN指令),也可以向I/O端口输出数据(OUT指令)。0000H0001H03FFH7.1.1CPU与I/O设备通信通信过程输入过程1.I/O外设把数据送到I/O接口2.I/O接口通过端口把数据送进CPU输出过程1.CPU把数据送到I/O接口2.I/O外设从I/O接口中的端口中取数据可见,CPU和I/O接口之间通信是通过I/O接口进行的。7.1.1输入输出(I/O)的基本方式CPUI/O设备AX/ALI/O端口I/O端口I/O端口I/O端口…….I/O接口格式:INAL/AX,SRC功能:CPU从指定端口读入数据,送到AL或AX7.1.1输入输出(I/O)的基本方式格式:INAL/AX,SRC;不影响标志位功能:CPU从端口(寄存器)读入数据,送到AL或AXSRC有两种寻址方式:1.直接寻址。SRC为端口地址,其范围为00H~FFH(0~255)如:INAL,28HINAX,0F0H(AL)([28H])(AX)([F1H]:[F0H])2.间接寻址。当端口地址大于FFH,即>255时候,要通过寄存器DX进行数据传递。如:MOVDX,100H;100H=256>255INAX,DX(AX)([101H]:[100H])7.1.1输入输出(I/O)的基本方式CPUI/O设备AX/ALI/O端口I/O端口I/O端口I/O端口…….I/O接口格式:OUTDST,AL/AX功能:CPU把AL或AX中的数据送到指定端口7.1.1输入输出(I/O)的基本方式格式:OUTDST,AL/AX;不影响标志位功能:CPU从AL或AX输出数据,送到端口(即寄存器里)DST有两种寻址方式:1.直接寻址。DST为端口地址,其范围为00H~FFH(0~255)如:OUT28H,ALOUTF0H,AX([28H])(AL)([F1H]:[F0H])(AX)2.间接寻址。当端口地址大于FFH,即>255时候,要通过寄存器DX进行数据传递。如:MOVDX,03FDH;3FDH=1021>255OUTDX,AX([3FEH]:[3FDH])(AX)7.1.1输入输出(I/O)的基本方式输入输出同步问题1.CPU与外设之间,如何向对方提供联络信息,并以什么方式响应和处理对方提供的联络信息。2.当多个外设同时要求与CPU交换信息时,以什么策略解决多个外设传输请求。7.1.1数据输入输出基本方式CPU与I/O设备之间传输信息的三种基本方式:程序直接控制传送方式(查询方式)程序中断控制传送方式(中断方式)存储器直接存取方式(DMA方式)CPUI/O设备I/O接口可实现CPU与I/O设备之间数据信息、状态信息和命令信息的传输。程序直接控制传送方式(查询方式)查询方式查询方式是CPU在向接口输入或输出数据时,主动去检查I/O外设是否“准备好”,只有当确认I/O外设已具备传输条件后,才进行数据交换。输入状态信息准备好了?输入数据输入状态信息准备好了?输出数据查询输入方式流程图查询输出方式流程图NYYN程序直接控制传送方式(查询方式)查询方式显然,在查询方式下,CPU需要花费许多时间来查询外设的状态,并等外设进行数据传输的准备。缺点:CPU工作效率很低优点:不需要增加额外的硬件电路,易于实现。程序中断控制方式(中断方式)程序中断:指主机在运行程序时,出现了特殊情况,暂时停止执行正在运行的程序,转到另一段处理特殊情况的程序(中断处理子程序),等特殊情况处理程序执行完后,返回到被暂时停止的程序接着运行。内部中断(软件中断)外部中断(硬件中断)特殊情况就是中断。中断中断处理子程序中断请求主机运行程序类似于主程序调用子程序程序中断控制方式(中断方式)程序中断控制方式:借助于CPU响应外中断的能力,实现输入输出的控制。当外设需要向CPU传输数据或者从CPU接收数据时候,首先向CPU产生一个中断请求,然后CPU相应此请求,从而执行中断处理子程序,进行数据的传输。当然,数据的传输仍然是靠IN或者OUT指令来完成的。程序中断控制方式(中断方式)程序中断控制方式特点:1.虽然程序中断功能参与了控制,但数据的传输仍然要靠IN或者OUT指令来完成。2.外设要求与CPU传输数据的状态信息,不是用指令输入和测试的,而是从CPU的中断请求输入端直接加入的。中断控制输入输出是靠硬件和软件相配合来实现的。不需要进行查询,避免了用指令查询外设状态造成的大量时间浪费提高了CPU的时间利用率。需要有专门的接口逻辑电路——中断控制器。程序中断控制方式(中断方式)程序中断控制方式:在外设没有准备好时候,CPU可以运行与数据传输无关的其他指令。外设准备好后,主动向CPU请求中断,CPU响应这一请求,暂停正在运行的程序二运行与外设进行数据传输的中断处理程序。由此可见,中断方式是CPU和外设进行I/O传输的有效方式,它可以避免因反复查询外设的状态而浪费时间,提高了CPU的工作效率。存储器直接存取方式(DMA方式)DMA:在外设和存储器(内存)之间开辟直接的数据传输通道,数据传输不靠执行I/O指令,数据不经过CPU的任何寄存器,不破坏任何寄存器原有内容,在存储器与外设之间的通路上直接传输数据。这种I/O方式的实现主要靠硬件的功能。在数据传输时没有程序和指令的介入,但在数据传输前的准备工作,如传输涉及的存储区的开始地址、要传输的字节数等参数,还是要用程序指令来实现的。存储器I/O接口I/O外设总线控制逻辑DMA控制器CPU系统总线7.1.2输入输出接口的基本结构I/O接口包含硬件(1)主机板上的接口逻辑;(2)系统总线;(3)具体外设的接口逻辑。总线控制逻辑ROMRAM协处理器RT/COMSRAMI/O接口板组键盘磁盘驱动器网卡CRT显示器打印机微处理器MODEM鼠标主机板系统总线7.1.2输入输出接口的基本结构2.IBMPC系统提供的接口资源IBMPC/XT及其兼容机的基本配置包括:主机箱、键盘、CRT显示器、打印机和软、硬盘机。IBMPC系统为I/O接口提供的资源:1.硬件接口资源2.软件接口资源7.1.2输入输出接口的基本结构IBMPC系统为I/O接口提供的硬件资源:(1)在扩充插槽上提供了系统级总线;(2)主机板上有键盘接口逻辑和扬声器接口逻辑;(3)主机板上有以两片8259为核心组成的中断控制逻辑;(4)主机板上以两片8237DMA控制器为核心组成的DMA传送控制逻辑;(5)一片8254定时/计数器芯片;(6)基本配置的I/O接口卡:显示器接口;两个并行口;两个RS232串行口;磁盘驱动器接口。7.1.2输入输出接口的基本结构IBMPC系统为I/O接口提供的软件资源:1.DOS功能调用2.BIOS功能调用7.1.2输入输出接口的基本结构几种常用的系统总线:1.最早的是IBMPC/XT系统总线。2.ISA(industrialstandardarchitecture)总线标准是IBM公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。3.EISA总线是1988年由Compaq等9家公司联合推出的总线标准。它是在ISA总线的基础上使用双层插座,在原来ISA总线的98条信号线上又增加了98条信号线,也就是在两条ISA信号线之间添加一条EISA信号线。4.VESA(videoelectronicsstandardassociation)总线是1992年由60家附件卡制造商联合推出的一种局部总线,简称为VL(VESAlocalbus)总线。7.1.2输入输出接口的基本结构几种常用的系统总线:5.PCI(peripheralcomponentinterconnect)总线是当前最流行的总线之一,它是由Intel公司推出的一种局部总线。它定义了32位数据总线,且可扩展为64位。PCI总线主板插槽的体积比原ISA总线插槽还小,其功能比VESA、ISA有极大的改善,支持突发读写操作,最大传输速率可达132MB/s,可同时支持多组外围设备。PCI局部总线不能兼容现有的ISA、EISA、MCA(microchannelarchitecture)总线,但它不受制于处理器,是基于奔腾等新一代微处理器而发展的总线。6.CompactPCI的意思是“坚实的PCI”,是当今第一个采用无源总线底板结构的PCI系统,是PCI总线的电气和软件标准加欧式卡的工业组装标准,是当今最新的一种工业计算机标准。7.1.5IBMPC/AT机的I/O端口地址分配I/O端口(类似于内存单元)是存在于I/O接口中的8位的数据寄存器。每一个I/O端口都有一个唯一的I/O端口地址。I/O端口与内存单元的编址可有两种方式:1.统一编址2.单独编址(常用此种)单独编址:1.内存单元的编址:00000H~FFFFFH2.I/O端口编址:0000H~03FFH(0~1023)7.1.5IBMPC/AT机的I/O端口地址分配用户可使用的I/O地址有:1.100H~1EFH2.220H~26FH3.280H~2AFH4.300H~35FHPC/AT系统I/O端口地址分配:P349,表7.27.2中断系统主讲内容:1.中断功能2.外部中断和8259中断控制器3.应用中断功能7.2中断系统7.2.1微处理器的中断功能中断:指CPU暂停正在执行的程序,转去执行处理中断事件的中断服务程序,待执行完中断服务程序再返回到原来被中断的程序继续执行。中断源:引起中断的事件7.2.1微处理器的中断功能1.中断的种类和中断类型号(1)外部硬中断微处理器外部事件发生,产生中断请求信号,中断请求信号再通过微处理器芯片上的接受中断请求信号的引脚加入微处理器而出现的中断。7.2.1微处理器的中断功能CPUINTRNMI不可屏蔽中断可屏蔽中断不可屏蔽中断(NMI):CPU中标志寄存器中的IF位对该中断没有控制作用,CPU对不可屏蔽中断请求的响应是无条件的,一旦CPU查询到NMI有请求,就立即响应。7.2.1微处理器的中断功能NMI在外部中断源中的优先级是最高的,通常用于处理系统故障