1、第第6章章 输入输出输入输出一、一、接口的基本概念接口的基本概念二、二、输入输出的寻址方式输入输出的寻址方式三、三、CPU与外设交换信息的控制方式与外设交换信息的控制方式作业作业7/27/2022微机原理及应用微机原理及应用1一、接口的基本概念一、接口的基本概念1.接口的定义及功能接口的定义及功能2.接口电路中的信息接口电路中的信息3.接口的类型接口的类型7/27/2022微机原理及应用微机原理及应用2二、输入输出的寻址方式二、输入输出的寻址方式1、I/O端口的编址端口的编址2、I/O端口地址译码方法端口地址译码方法3、IBM PC/XT的的I/O端口地址端口地址7/27/2022微机原理及应
2、用微机原理及应用3三、三、CPU与外设交换信息的控制方式与外设交换信息的控制方式1、程序控制方式程序控制方式2.、中断控制方式中断控制方式3、直接存储器存取控制方式直接存储器存取控制方式(DMA)4、I/O处理机(处理机(IOP)控制方式控制方式7/27/2022微机原理及应用微机原理及应用41、接口的定义及功能、接口的定义及功能 输入输出设备输入输出设备(I/O,又称外设)是计算机系统又称外设)是计算机系统的基本组成部分的基本组成部分,是实现人是实现人机联系的主要手段。机联系的主要手段。常见的外设有键盘,显示器,打印机,鼠标,开常见的外设有键盘,显示器,打印机,鼠标,开关量输入输出通道和关量
3、输入输出通道和A/D,D/A转换器等等。转换器等等。微处理器CPU存储器I/O接口I/O设备数据总线控制总线地址总线7/27/2022微机原理及应用微机原理及应用51、接口的定义及功能、接口的定义及功能 从原理上讲,从原理上讲,输入输出操作输入输出操作类似于对存储器的类似于对存储器的读写操作读写操作,CPU可以用访问存储器的相类似的方法同可以用访问存储器的相类似的方法同外部设备交换数据。外部设备交换数据。事实上输入输出操作要比访问存储器复杂的多。事实上输入输出操作要比访问存储器复杂的多。微处理器CPU存储器I/O接口I/O设备数据总线控制总线地址总线7/27/2022微机原理及应用微机原理及应
4、用61、接口的定义及功能、接口的定义及功能 I/O接口接口是建立在是建立在CPU与外设之间,使两者动作与外设之间,使两者动作协调的连接电路。协调的连接电路。也就是,在也就是,在CPU与外设之间建立一个缓冲区,解与外设之间建立一个缓冲区,解决决CPU与外设之间存在的与外设之间存在的数据形式数据形式、数据的传递方数据的传递方式式、以及、以及传递速率传递速率上存在的差异。上存在的差异。I/O接口的功能接口的功能就是对数据传输的控制。就是对数据传输的控制。微处理器CPU存储器I/O接口I/O设备数据总线控制总线地址总线7/27/2022微机原理及应用微机原理及应用72、接口电路中的信息、接口电路中的信
5、息 从含义和功能上来看,数据信息、控制信息和从含义和功能上来看,数据信息、控制信息和状态信息是各不相同的,必须分别传送,各有通路,状态信息是各不相同的,必须分别传送,各有通路,我们称这些通路为我们称这些通路为端口端口(PORT),三种端口的集合就三种端口的集合就是接口。是接口。CPU数据数据端口端口控制控制端口端口状态状态端口端口外外部部设设备备接口接口接口电路中通常包含:接口电路中通常包含:*数据信息数据信息 *控制信息控制信息 *状态信息状态信息7/27/2022微机原理及应用微机原理及应用8接口电路中的数据信息接口电路中的数据信息 数据信息数据信息 CPU与外设交换的基本信息就是与外设交
6、换的基本信息就是数据,数据,8位或位或16位。位。包括三种类型:包括三种类型:(1)数字量:是指由键盘,磁盘等读入的信号,数字量:是指由键盘,磁盘等读入的信号,或由或由CPU送到打印机送到打印机,显示器等信息显示器等信息,,一般是二进制,一般是二进制数,或是以数,或是以ASCII码表示的数据及字符号。码表示的数据及字符号。7/27/2022微机原理及应用微机原理及应用9接口电路中的数据信息接口电路中的数据信息 (2)模拟量:当微机系统用于过程控制系统时)模拟量:当微机系统用于过程控制系统时,则现场多数是模拟量,如温度、压力、流量等,需则现场多数是模拟量,如温度、压力、流量等,需要通过要通过A/
7、D和和D/A转换。转换。(3)开关量:)开关量:是指可以表示成两个状态的物是指可以表示成两个状态的物理量,如开关的理量,如开关的“通通”与与“断断”,电机的,电机的“运转运转”与与“停止停止”,可以用一位二进制表示。,可以用一位二进制表示。7/27/2022微机原理及应用微机原理及应用10接口电路中的控制信息接口电路中的控制信息 控制信息控制信息 CPU通过接口电路传送给外设通过接口电路传送给外设,从从而达到控制外设的目的。而达到控制外设的目的。常见的控制信号:外设的启动、停止常见的控制信号:外设的启动、停止 不同的外设,工作原理不同,其控制信号也会有不同的外设,工作原理不同,其控制信号也会有
8、所不同。所不同。7/27/2022微机原理及应用微机原理及应用11接口电路中的状态信息接口电路中的状态信息 状态信息状态信息 是反映当前外设所处的工作状态是反映当前外设所处的工作状态,是外设通过接口电路向是外设通过接口电路向CPU传送的信号。传送的信号。如:如:输出设备常用输出设备常用BUSY信号来表明现在正处于忙碌信号来表明现在正处于忙碌状态;状态;输入设备常用输入设备常用READY信号来表明输入的数据已信号来表明输入的数据已经准备好。经准备好。7/27/2022微机原理及应用微机原理及应用123、接口的类型、接口的类型接口电路大多由接口电路大多由接口芯片接口芯片来实现。来实现。(1)接口芯
9、片按通用性可以分为两类:专用接)接口芯片按通用性可以分为两类:专用接口和通用接口;口和通用接口;如:如:显示控制器,键盘控制器等属于专用接口;显示控制器,键盘控制器等属于专用接口;而通用接口可以供几类外设使用。而通用接口可以供几类外设使用。返回7/27/2022微机原理及应用微机原理及应用133、接口的类型、接口的类型 (2)接口芯片按与外设数据的传送方式可以分)接口芯片按与外设数据的传送方式可以分为并行接口和串行接口。为并行接口和串行接口。并行接口并行接口是指主机与外设之间信息的传送按字是指主机与外设之间信息的传送按字节或字进行;节或字进行;串行接口串行接口是指主机与外设备之间信息的传送是按
10、是指主机与外设备之间信息的传送是按通讯规则一位一位进行通讯规则一位一位进行7/27/2022微机原理及应用微机原理及应用141、I/O端口的编址端口的编址(1)I/O端口和存储器统一编址端口和存储器统一编址(2)I/O端口独立编址端口独立编址7/27/2022微机原理及应用微机原理及应用152、I/O端口地址译码方法端口地址译码方法如:如:8237:A9A8=10,A7 A6A5=000;8259:A9A8=10,A7 A6A5=001;A4A0则由具体芯片的连线完成,用于芯则由具体芯片的连线完成,用于芯片内多个端口的选择。片内多个端口的选择。CPU可以可以通过通过74LS138与与相关的接口
11、芯相关的接口芯片相连,参与片相连,参与译码的地址线译码的地址线一般为一般为10条:条:7/27/2022微机原理及应用微机原理及应用163、IBM PC/XT I/O端口地址分配端口地址分配 IBM PC/XT 采用了采用了A0A9 10条地址线对条地址线对I/O端端口进行编址,可以有口进行编址,可以有1K个端口。个端口。分成两部分:分成两部分:(1)系统板上的)系统板上的I/O芯片和芯片和DOS用:用:000H1FFH;(2)扩展槽用扩展槽用200H3FFH。7/27/2022微机原理及应用微机原理及应用17(1)I/O端口和存储器统一编址端口和存储器统一编址 统一编址方式是外设端口地址和存
12、储器单元地统一编址方式是外设端口地址和存储器单元地址,共占存储器的地址,即址,共占存储器的地址,即一个外设端口占用一个一个外设端口占用一个存储单元地址存储单元地址。CPU对外设端口的读写操作相当于对存储单元对外设端口的读写操作相当于对存储单元的读写操作。的读写操作。CPU可以采用任意一条访问存储器的指令,访可以采用任意一条访问存储器的指令,访问问I/O端口。端口。7/27/2022微机原理及应用微机原理及应用18(2)I/O端口独立编址端口独立编址 独立编址方式是让独立编址方式是让I/O端口和存储器地址分别建端口和存储器地址分别建立两个地址空间,独立编址。立两个地址空间,独立编址。这时,这时,
13、CPU采用专门的采用专门的I/O指令去访问指令去访问I/O端口。端口。8086/8088CPU采用采用I/O端口独立编址,设置了专端口独立编址,设置了专门的门的I/O指令指令。7/27/2022微机原理及应用微机原理及应用198086/8088的的I/O指令指令(1)直接端口寻址方式)直接端口寻址方式 对于端口对于端口PORT的地址范围是的地址范围是8位,即位,即00HFFHIN AL,PORT;端口端口PORT的字节信息送的字节信息送ALOUT PORT,AL;将将AL的数据信息送到端口的数据信息送到端口PORTIN AX,PORT;端口端口PORT的字信息送的字信息送AX,即端口即端口 ;
14、PORT的字节信息送的字节信息送AL,端口端口;PORT+1的字节信息送的字节信息送AHOUT PORT,AX;将将AX的字信息送端口,即的字信息送端口,即AL送端送端;口口PORT,AH送端口送端口PORT+17/27/2022微机原理及应用微机原理及应用208086/8088的的I/O指令指令(2)间接端口寻址方式)间接端口寻址方式 对于端口地址大于对于端口地址大于8位时,必须用间接端口寻址位时,必须用间接端口寻址方式:方式:IN AL,DX;从从DX所表示的端口输入字节数据到所表示的端口输入字节数据到ALOUT DX,AL;将将AL中的数据输出到以中的数据输出到以DX表示的端口表示的端口
15、IN AX,DX;从从DX所表示的端口输入字数据到所表示的端口输入字数据到AX,即即DX;端口的字及到;端口的字及到AL,DX+1端口的字节到端口的字节到AHOUT DX,AX;将将AX的字数据输出到以的字数据输出到以DX表示的端口,即表示的端口,即;AL输出到输出到DX端口,端口,AH输出到输出到DX+17/27/2022微机原理及应用微机原理及应用211、程序控制方式、程序控制方式(1)无条件传送控制方式)无条件传送控制方式 这是一种简单的数据传送方式,适用于任何时这是一种简单的数据传送方式,适用于任何时候均处于候均处于“准备就绪准备就绪”状态的外部设备,状态的外部设备,CPU可以可以随时
16、执行随时执行I/O指令来完成数据传送操作。指令来完成数据传送操作。(2)条件传送控制方式)条件传送控制方式 查询输入查询输入 查询输出查询输出 例题例题7/27/2022微机原理及应用微机原理及应用22查询输入查询输入 若若CPU需要外设输入数据时,首先应从状态端口读入状需要外设输入数据时,首先应从状态端口读入状态信息,判断数据是否准备好?态信息,判断数据是否准备好?NY输入状态信息READY?输入数据READY(1位)数据端口(8位)状态端口(1位)数据端口地址状态端口地址程序段程序段:LT:IN AL,S_PORT;从从状态口状态口S_PORT读入状态读入状态AND AL,80H;检查检查
17、READY=1?JZ LT;READY=0,返回继续等待返回继续等待IN AL,D_PORT;READY=1,从从数据口数据口D_PORT;读入数据;读入数据D_PORTS_PORT接口接口7/27/2022微机原理及应用微机原理及应用23查询输出查询输出 CPU输出数据前,先查询外设的状态端口的状态信息,输出数据前,先查询外设的状态端口的状态信息,若为若为“空空”(如(如BUSY=0,表示空闲),则执行输出指令把数表示空闲),则执行输出指令把数据送入据送入I/O接口的数据端口。接口的数据端口。BUSY(1位)数据端口(8位)状态端口(1位)数据端口地址状态端口地址NY输入状态信息BUSY?取
18、数并输出数据准备输出数据程序段程序段:WT1:IN AL,S_PORT;从状态端口从状态端口S_PORT读入状态读入状态AND AL,01H ;BUSY=0?JNZ WT1 ;BUSY=1,返回继续等待返回继续等待MOV AL,DOUT ;BUSY=0,取准备传送的数据取准备传送的数据OUT D_PORT,AL;从数据端口从数据端口D_PORT输出数据输出数据接口接口D_PORTS_PORT7/27/2022微机原理及应用微机原理及应用24例题例题 1、设状态端口地址为、设状态端口地址为60H,数据数据端口地址为端口地址为61H,外部输入信息准备外部输入信息准备状态标志位状态标志位D0=1,请
19、用查询方式写出请用查询方式写出读入外部数据的程序段。读入外部数据的程序段。NY输入状态信息READY?输入数据程序段程序段:WT1:IN AL,60H ;从状态端口读入状态信息从状态端口读入状态信息 AND AL,01H ;判断判断D0=1?JZ WT1 ;D0=0,返回再读状态信息返回再读状态信息 IN AL,,61H ;D0=1,从数据端口读入从数据端口读入解:分析:这是查询输入。流程图:解:分析:这是查询输入。流程图:7/27/2022微机原理及应用微机原理及应用25例题例题 2、设状态端口地址为、设状态端口地址为086H,数数据端口地址为据端口地址为085H,外设忙碌外设忙碌D7=1,
20、请用查询方式写出请用查询方式写出CPU从存储器缓从存储器缓冲区冲区Buffer送出送出1KB的数据给外设的的数据给外设的程序段。程序段。NY输入状态信息BUSY?取数并输出数据设置循环次数CX=1000设置Buffer指针SI修改Buffer指针CX-1送CXCX=0?NY数据传送结束解:分析,这是查询输出。解:分析,这是查询输出。要求输出要求输出1K字节,流程图:字节,流程图:7/27/2022微机原理及应用微机原理及应用26例例2:程序段清单:程序段清单 LEA SI,Buffer;取取Buffer的有效地址送的有效地址送SI MOV CX,1000;循环次数循环次数W1:MOV DX,0
21、86H;状态端口地址送状态端口地址送DX IN AL,DX ;从状态端口读入状态信息从状态端口读入状态信息 AND AL,80H ;BUSY=0?JNZ W1 ;BUSY=1,返回等待返回等待 MOV AL,SI ;BUSY=0,取数据取数据 MOV DX,085H;数据端口送数据端口送DX OUT DX,AL ;数据从数据端口输出数据从数据端口输出 INC SI;SI指向下一个字节数据指向下一个字节数据 LOOP W1 ;CX-1送送CX0,循环循环 HLT ;CX=0,传送结束传送结束NY输入状态信息BUSY?取数并输出数据设置循环次数CX=1000设置Buffer指针SI修改Buffer
22、指针CX-1送CXCX=0?NY数据传送结束7/27/2022微机原理及应用微机原理及应用272、中断控制方式、中断控制方式 中断中断是是CPU与外部与外部设备交换信息的一种方设备交换信息的一种方式,它是通过式,它是通过硬件硬件手段手段来直接影响和改变来直接影响和改变CPU执行程序的顺序。执行程序的顺序。中断处理程序CPU响应中断有中断请求中断返回原程序 CPU在执行正常程序的过程中,当出现某些异在执行正常程序的过程中,当出现某些异常事件或外设请求常事件或外设请求CPU服务时,服务时,CPU暂时中断正在暂时中断正在执行的原程序,而去执行对异常事件或外设请求的执行的原程序,而去执行对异常事件或外
23、设请求的中断处理程序;当中断处理程序;当CPU执行完中断处理程序后,又执行完中断处理程序后,又回到原程序的断点处,继续执行原程序。回到原程序的断点处,继续执行原程序。7/27/2022微机原理及应用微机原理及应用283、直接存储器存取控制方式、直接存储器存取控制方式(DMA)DMA控制方式控制方式是一种完全由是一种完全由硬件(硬件(DMA控制控制器)器)完成输入完成输入/输出操作的工作方式,称为直接存储输出操作的工作方式,称为直接存储器存取控制方式。器存取控制方式。DMA从从CPU处接管系统总线的控制权,使存储处接管系统总线的控制权,使存储器与高速外设之间直接进行数据交换,即外设数据器与高速外
24、设之间直接进行数据交换,即外设数据可以直接写入存储器,存储器中的数据可直接读出可以直接写入存储器,存储器中的数据可直接读出送给外设,大大加快了数据传送的速度。送给外设,大大加快了数据传送的速度。7/27/2022微机原理及应用微机原理及应用293、直接存储器存取控制方式、直接存储器存取控制方式(DMA)工作过程:工作过程:第第1步:外围设备向步:外围设备向DMA控制器发出控制器发出DMA请求;请求;第第2步:步:DMA控制器向控制器向CPU发出总线请求信号;发出总线请求信号;第第3步:步:CPU执行完现行的总线周期后,向执行完现行的总线周期后,向DMA发出响发出响应请求的回答信号;应请求的回答
25、信号;第第4步:步:CPU将总线包括将总线包括CB、AB和和DB让出,由让出,由DMA控制器进行控制;控制器进行控制;第第5步:步:DMA控制器向外围设备发出控制器向外围设备发出DMA请求的回答请求的回答信号;信号;第第6步:进行步:进行DMA传送;传送;第第7步:设定的数据传送完毕后,步:设定的数据传送完毕后,DMA控制器撤除向控制器撤除向CPU的请求信号,的请求信号,CPU重新控制总线,恢复正常运行。重新控制总线,恢复正常运行。7/27/2022微机原理及应用微机原理及应用304、I/O处理机(处理机(IOP)控制方式控制方式 输入输出处理机(输入输出处理机(IOP)是一种通讯结构的是一种通讯结构的I/O处理机。处理机。IOP不是独立于不是独立于CPU工作的,而是协助主机工工作的,而是协助主机工作的一个部件。作的一个部件。IOP可以和可以和CPU并行工作,提供高速的并行工作,提供高速的DMA处处理能力。理能力。7/27/2022微机原理及应用微机原理及应用31作业作业P1642、3、47/27/2022微机原理及应用微机原理及应用32