微型计算机技术微机中接口的基本概念接口的功能接口电路的基本结构端口的概念I/O端口的编址方式CPU与输入/输出设备之间的信号CPU和外设之间的数据传送方式无条件传送方式查询方式中断方式微型计算机技术5.1I/O接口概述5.1.1使用接口电路的原因接口可起到CPU与不同外设进行串行、并行信息的转换作用接口可起到模/数与数/模的转换作用非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。这种A/D,D/A转换是通过接口来完成的。接口对I/O过程起到缓冲和联络作用解决外设存取速度和CPU速度不匹配的问题输入输出(I/O)接口:是把外部设备与微型计算机连接起来实现数据传送的控制电路。微型计算机技术外设必须通过接口电路与微机系统总线相连接数据总线控制总线地址总线数据线控制线状态线接口电路外部设备微型计算机技术5.1.2接口电路的分类按通用性分类通用接口:可供多种外部设备使用的标准接口,目的是使微机正常工作。•通常制造成集成电路芯片,也称为接口芯片。•最初的IBM-PC使用的接口芯片:8284、8288、8255、8259、8237、8253•后来的微机将这些芯片集成为大规模集成电路芯片,称为芯片组。专用接口:为某种用途或某类外设而专门设计的接口电路,目的在于扩充微机系统的功能。•通常制造成接口卡,插在主板总线插槽上使用通用接口和专用接口的界限并不严格。微型计算机技术接口电路的分类按可编程性分类简单的输入/输出接口芯片如锁存器74LS373、单向缓冲器74LS244、双向缓冲器(数据收发器)74LS245等。可编程接口芯片:其功能可以由软件来选用控制。如并行输入输出接口8255、定时器/计数器8253、中断控制器8259、DMA控制器8237等。微型计算机技术5.1.3接口电路的功能简单地说,一个接口的基本功能是在系统总线和I/O设备之间传输信号,提供缓冲作用,以满足接口两边的时序要求。接口的功能概括如下:寻址功能输入/输出功能数据转换功能联络功能中断管理功能可编程功能复位功能错误检测功能*对于一个具体的接口来说,未必全部具备这些功能,但必定具备其中的几个功能。微型计算机技术5.1.4接口电路的基本结构数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑微型计算机技术接口与端口接口是每个外设或每种外设与微处理器相连时使用的电路。一般在接口的内部除了与外设打交道的工作电路外,还包含一组程序可访问的寄存器,这些寄存器可以具有相互独立的地址,也可以几个一组,共用一个地址。这样的寄存器或寄存器组称为输入/输出端口(I/Oport)。CPU以访问端口的形式来访问接口。进而CPU通过这些端口与该接口所连接的外部设备进行信息交换。为传递的数据提供缓冲、锁存等功能的称为数据端口。用来保存设备和接口的状态信息,供CPU查询的称为状态端口。用来保存CPU发出的命令,以控制接口与外部设备的执行动作的称为控制(或命令)端口。微型计算机技术接口与端口接口上可以包含唯一的端口,也可以包含几个端口。对CPU程序来说,接口仅是一个笼统的概念,而接口中的各个端口寄存器是CPU程序与接口打交道的具体对象。端口的地址和端口的数据是程序唯一可见的内容,而接口和外设在程序中是无法直接反映出来的。端口一般分为数据端口、状态端口和控制端口。微型计算机技术5.1.5I/O端口的编址方式端口有两种编址方式:统一编址和独立编址。统一编址:把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。利用对存储器的读写操作完成数据的输入和输出。优点•可使用全部对存储器操作指令,指令多,方便灵活;•访问控制信号统一。缺点•内存可用地址空间减小;•寻址地址线数多,译码复杂。0000H地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H微型计算机技术I/O端口的编址方式独立编址:计算机单独给外设端口编址,外设地址空间和内存地址空间相互独立。PC系列机采用I/O端口独立编址方式优点:内存地址空间不受I/O编址的影响;I/O空间较存储器空间小,地址线少,译码电路简单。缺点:要有专门输入输出指令;I/O指令功能较弱,寻址方式少,不灵活。8088总线A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存储器输入/输出微型计算机技术5.1.68086的I/O编址把端口地址放在DX寄存器中,对该端口进行读写,可寻址的端口号为0~65535(FFFFH)INAL,DXOUTDX,AL端口地址小于或等于FFH(255),可以用立即数表示端口地址。INAL,42HOUT43H,ALIORIOWM/IORDWR微型计算机技术5.2CPU与输入/输出设备之间的信号CPU和I/O设备之间的信号分类•数据信息–数字量–模拟量–开关量•状态信息:对于输入设备来说,用READY信号来标明待输入的数据是否准备就绪。对于输出设备来说,用BUSY信号来表示输出设备是否处于空闲状态。•控制信息:如外设的启动信号和停止信号就是常见的控制信息。微型计算机技术5.3CPU和外设之间的数据传送方式接口电路控制数据信号的传送,这种传送操作是在CPU的监控下实现的。对于CPU而言,数据传送就是输入输出操作,控制接口的传送操作有三种方式:程序方式无条件传送方式条件传送方式(查询方式传送)中断方式DMA方式(DMA控制I/O方式)微型计算机技术5.3.1程序方式程序方式传送是指在程序控制下进行信息传送,又可分为无条件传送和条件传送方式。无条件传送方式•若程序员能够确信一个外设已经准备就绪,就不必查询外设的状态而进行信息传输,这称为无条件传送方式。•在无条件传送方式下,程序设计较简单。微型计算机技术无条件传送输入的例子:IOR三态缓冲器OEI/O装置地址译码器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX无条件传送输出的例子:地址译码器数据锁存器A15~A1IOWA0CS0160H输出设备D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL微型计算机技术条件传送方式(查询方式)CPU通过执行程序不断读取并测试外设的状态,根据外设的工作状态控制外设的输入/输出,即查询方式。在此传送方式下,一个数据传送到接口,其过程由3个环节组成:•CPU从接口中读取状态字•CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步读取状态字。•如执行输入方式时状态字表明外设已处于“就绪”状态,则传送数据。执行输出方式时状态字表明外设已处于“空闲”状态,则传送数据。微型计算机技术①查询式传送输入的例子:三态缓冲器OE0160HD7~D0D0IOW地址译码器A15~A1CSA0IOR0162H0164HCEOCADCDB锁存器RQCD+5V查询输入接口电路原理图清零与读操作启动转换读状态微型计算机技术电路原理分析:启动ADC以后,转换结束时产生EOC信号,把转换结果锁存至锁存器,把状态触发器置为1,表示数据已经准备好。1.控制端口——写164H端口,译码器输出和IOW信号同时有效,启动ADC转换。2.状态端口——读162H端口,译码器输出和IOR信号同时有效,打开通过D0读取状态信息。3.数据端口——读160H端口,译码器输出和IOR信号同时有效,打开三态缓冲器,从D7~D0读入数据,同时清除状态信息。负脉冲微型计算机技术程序示例:从ADC读取一个数据到AL。READ:MOVDX,160HINAL,DX;清状态MOVDX,164HOUTDX,AL;启动ADCREAD1:MOVDX,162HINAL,DX;查询状态TESTAL,1;同01H进行与运算JZREAD1MOVDX,160HINAL,DX;读取数据RET微型计算机技术②查询式传送输出的例子:D7~D0D00160HIOW地址译码器A15~A1CSA00162H0164HRDYDB锁存器QCD+5VRCACKIOR外设启动外设数据准备好取走数据否清除状态微型计算机技术电路原理说明:写到164H端口,产生一个负脉冲来启动外设开始工作。写数据到160H端口,CPU输出数据到锁存器,同时置“1”状态触发器,为外设提供状态信息:“数据已准备好”。读取162H端口,CPU查询状态,看外设是否取走数据。(外设取走数据,则将发出ACK信号,清除状态触发器)微型计算机技术程序示例:将AL中的数据输出。WRITE:MOVDX,164HOUTDX,AL;启动外设MOVDX,160HOUTDX,AL;输出数据MOVDX,162HWRITE1:INAL,DX;查询状态TESTAL,1JNZWRITE1RET微型计算机技术查询方式特点通过查询实现CPU与外设间的同步联络CPU和外设串行工作接口电路简单CPU使用率不高,用CPU的等待实现与外设的同步微型计算机技术5.3.2中断方式中断方式:当外设做好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率。每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性。被外界中断时,程序中下一条指令所在处称为断点。中断传送方式就是外部设备中断CPU的工作,使CPU停止执行当前程序,而去执行一个数据输入/输出的程序(该程序称为中断处理子程序或中断服务子程序)。中断子程序执行完毕后,CPU又返回来执行原来的程序。微型计算机技术中断I/O的一般过程a.数据传送b.中断响应c.中断请求CPU接口外设微型计算机技术中断优先级解决办法(1)软件查询方式:借助于简单的硬件电路。优点:省硬件,不需要有判断优先级的硬件排队电路,而是用程序的优先级来确定设备的优先级。缺点:由设备发出中断请求信号到CPU转入相应的服务程序入口的时间较长,特别是在中断源较多时,查询程序段较长,转入服务程序所花的时间较长。微型计算机技术中断优先级解决办法(2)简单硬件方式——菊花链法CPU以及总线控制逻辑INTAINTR设备3接口菊花链逻辑电路中断回答中断请求设备2接口菊花链逻辑电路中断回答中断请求设备1接口菊花链逻辑电路中断回答中断请求微型计算机技术菊花链逻辑电路中断回答中断请求INTAINTR微型计算机技术中断优先级解决办法(3)专用硬件方式在微机系统中解决中断优先级管理的常用办法是采用可编程的中断控制器。在8086系统中多用8259A。可编程中断控制器中的中断类型寄存器、屏蔽寄存器都是可编程的,当前中断服务寄存器也可以用软件进行控制,中断优先级管理电路的优先级排列方式也是通过指令来设置的,用起来灵活方便。微型计算机技术8086的中断过程•接口部件发中断请求信号IRQ•当前指令执行完后,CPU进行中断回答INTA•接口部件将中断类型号n送到CPU•CPU将FLAGS,CS,IP推入堆栈•CPU清除TF,IF•CPU将n乘4,到中断向量表中查找中断服务程序的入口地址,并将该地址放入CS,IP•CPU进入中断服务子程序,进行保护现场的工作•开中断,允许更高一级中断打断当前的服务程序•执行服务操作及进行恢复现场•执行IRET指令•CPU将IP、CS、FLAGS出栈,恢复原来的程序执行微型计算机技术5.3.3DMA方式(DMA控制I/O方式)DMA:DirectMemoryAccess——直接存储器访问DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设与外设之间、外设与内存之间直接进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC。微型计算机技术原理示意图外设接口存储器CPUINOUTMOV[BX],ALMOVAL,[BX]输出输入读写请求与应答DMAC微型计算机技术DMAC的功能接