《第06章_微型计算机的输入输出__修改_.ppt》由会员分享,可在线阅读,更多相关《第06章_微型计算机的输入输出__修改_.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机学院系统教研室第六章 微型计算机的输入/输出n I/O接口功能n I/O端口及其寻址方式n 输入/输出方式 及CPU与外设通信的接口 n 8086CPU的输入/输出n总线简述计算机学院系统教研室6.1 I/O接口功能一、CPU与外设通信特点 需要有接口作为CPU与外设通讯的桥梁;速度速度 信号种类:模拟、数字;并行、串行信号种类:模拟、数字;并行、串行 逻辑电平逻辑电平 需要有数据信息传送之前的“联络”;要传递的信息有三方面内容:状态、数据及控制信息。计算机学院系统教研室CPU I/O接口 外设控制数据地址控制数据状态计算机学院系统教研室 接口电路通常包含一组能够与处理器交换信息的寄存器
2、或缓冲器,称为I/O 端口 数据端口 存放数据信息 状态端口 存放状态信息,即反映外设 当前工作状态的信息 控制端口 存放控制信息计算机学院系统教研室二、接口的功能l l 进行地址译码或设备选择,以便使CPU能与某一指定的外部设备通讯;l l 状态信息的应答,以协调数据传送之前的准备工作;l l 进行中断管理,提供中断信号;计算机学院系统教研室l l 进行数据格式转换,如正负逻辑的转换,串行与并行数据转换等;l l 进行电平转换,如TTL电平与MOS电平间的转换;l l 协调速度;l l 时序控制,提供实时时钟信号。计算机学院系统教研室 6.2 I/O 端口及其寻址方式 一、存储器映像的I/O
3、 寻址 存储单元和I/O 端口的地址统一编址计算机学院系统教研室I/O 端口存储单元I/O 地址空间存储器地址空间整个地址空间计算机学院系统教研室存储器映像的I/O 寻址计算机学院系统教研室n 这种编址方式的优点:利用多余的内存译码资源;可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。n 缺点是:由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小。另外不利于程序阅读。计算机学院系统教研室存储单元 存储地址空间I/O 端口I/O 地址
4、空间 2、I/O 映像的I/O 寻址 I/O 端口地址与存储单元地址分开编址 计算机学院系统教研室I/O 映像的I/O 寻址 计算机学院系统教研室n 这种编址方式的优点是:1、I/O端口不占用存储器地址,故不会减少用户的存储器地址空间;2、采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰,便于理解。n 这种编址方式的缺点是:1、单独I/O指令的功能有限,只能对端口数据进行输入/输出操作,不能直接进行移位、比较等其他操作;2、由于采用了专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性。计算机学院系统教研室 74LS244(8BIT三态门)和74LS273(
5、8BIT D锁存器)D锁存器:只允许在时序控制信号有效时才能改变存储器存储的逻辑值.计算机学院系统教研室74LS244计算机学院系统教研室74LS244是一种三态输出的缓冲器(或称单向线驱动器),74LS244逻辑电路及引脚如图所示,内部线驱动器分为两组,分别有四个输入端(1A11A4,2A12A4)和四个输出端(1Y11Y4,2Y12Y4),分别由使能端,控制。当为低电平,1Y11Y4的电平与1A11A4的电平相同,当为低电平,2Y12Y4的电平与2A12A4的电平相同;当(或)为高电平时,输出1Y11Y4(或2Y12Y4)为高阻态。计算机学院系统教研室74LS273是带有清除端的8D触发器
6、,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。计算机学院系统教研室计算机学院系统教研室n 锁存器74LS373n 在数据传输过程中将数据锁住,然后在此后的任何时刻,在输出控制信号的作用下将数据传送出去。n G为输入使能端,OE为允许输出端n G=1,D端锁入数据n OE=0,D端数据送到Q端n OE=1,Q端为高阻OE计算机学院系统教研室数据收发器74LS245有G和DIR两个控制端G=0,DIR=0,方向A B DIR=1,方向A BG=1,高阻DIRA1A2A3A4A5A6A7A8GNDVCCB1B2B3B4B5B6B7B8计算机学院系统教研室6.3
7、 输入/输出方式及CPU与外设通 信的接口 11、同步传送方式、同步传送方式22、异步查询方式、异步查询方式 程序控制传送方式程序控制传送方式33、中断方式、中断方式 44、直接存储器存取方式、直接存储器存取方式 计算机学院系统教研室 一、程序控制传送方式u(一)、同步传送方式(无条件方式)CPU 直接与外设传送数据并不需要了解外设状态,认为外设已经准备就绪,直接与外设传送数据 计算机学院系统教研室开关Ki闭合时,输入为低电平“0”,而点亮相应LEDi,则输出为高电平“1”,输入与输出的关系相反。计算机学院系统教研室CODE SEGMENT ASSUME CS:CODE MAIN PROC F
8、AR START:PUSH DS MOV AX,0 PUSH AX AGAIN:MOV AH,1;读键盘缓冲区字符 INT 16H CMP AL,1BH;若为“Esc”键,则退出 JZ EXIT MOV DX,200H IN AL,DX;读取开关状态 NOT AL;取反 OUT DX,AL;输出控制LED JMP AGAIN EXIT:RET;返回DOS MAIN ENDPCODE ENDS END START计算机学院系统教研室u(二)、异步查询方式 在执行输入输出前,要先查询接口中状态寄存器的状态。计算机学院系统教研室 输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪;准备好?读取
9、状态信息输入数据是否数据线状态线外设计算机学院系统教研室常用的状态线有IBF,READY功能:n n 1、输入设备准备好数据,状态线有效;n n 2、CPU读数据端口,取走数据后,状态线转换为无效计算机学院系统教研室1、STB 有效,(1)、输入设备数据进入锁存器;(2)、IBF 有效2、CPU 读状态端口3、CPU 读数据端口,同时清IBF外设计算机学院系统教研室Sport EQU 300HDport EQU 310H.Test1:mov dx,Sport in al,dx Test al,01 Jz Test1 Mov dx,Dsport in al,dx.计算机学院系统教研室STBIBF
10、/RD123计算机学院系统教研室 输出时,状态寄存器的状态指示输出设备是否空闲。忙?读取状态信息输出数据否是数据线状态线外设计算机学院系统教研室常用的状态线有empty,busy功能:n n 1、输出设备空闲,BUSY无效;n n 2、CPU写数据端口,输出设备输出数据,状态线转换为有效计算机学院系统教研室1、CPU 读状态端口,查BUSY 线2、CPU 写数据,(1)、数据进入数据锁存器;(2)、BUSY 有效3、输出设备工作完毕,busy 无效外设计算机学院系统教研室n n 举例:从终端往缓冲区输入 从终端往缓冲区输入1 1行字符,当遇到回车符 行字符,当遇到回车符(0DH 0DH)或超过
11、)或超过81 81个字符时,输入结束,并自动加上一 个字符时,输入结束,并自动加上一个换行符(个换行符(0AH 0AH)。如果在输入的)。如果在输入的81 81个字符中没有回车 个字符中没有回车符,则在终端上输出信息。设终端接口的数据输入端 符,则在终端上输出信息。设终端接口的数据输入端口地址为 口地址为32H 32H,数据输出端口地址为,数据输出端口地址为34H 34H,状态端口地,状态端口地址为 址为36H 36H。状态寄存器的。状态寄存器的D1=1 D1=1,表示输入缓冲器已准备,表示输入缓冲器已准备好数据,好数据,CPU CPU可读取数据;状态寄存器的 可读取数据;状态寄存器的D0=1
12、 D0=1,表示输,表示输出缓冲器已空,出缓冲器已空,CPU CPU可往终端输出数据。终端接口电路 可往终端输出数据。终端接口电路具有根据相应操作对状态寄存器自动置 具有根据相应操作对状态寄存器自动置1 1和清 和清0 0功能。功能。计算机学院系统教研室INPUT:IN AL,36H;读状态端口 TEST AL,02H;测输入状态D1位 JZ INPUT;未“准备好”IN AL,32H;读取输入字符 MOV SI,AL;输入字符存缓冲区 INC SI CMP AL,0DH;输入字符为回车否?LOOPNE INPUT;不是回车且接收字符个数未超过81,转INPUT JNE OVERFLOW;不是
13、回车且接收字符个数超过81,转OVERFLOW MOV AL,0AH;是回车且接收字符个数81,存换行符 MOV SI,AL JMP EXIT OVERFLOW:MOV CX,17;初始化输出字符个数 LEA SI,MESS;初始化显示字符串首址 OUTPUT:IN AL,36H;读状态端口 TEST AL,01H;测输出状态D0位 JZ OUPUT;输出缓冲器未空,转OUTPUT MOV AL,SI;取出输出字符 INC SI OUT 34H,AL;输出字符 LOOP OUTPUT 计算机学院系统教研室条件传送特点n n 优点:电路简单n n 缺点:降低CPU效率,实时性不强计算机学院系统教
14、研室u(三)、中断方式 当外设作好传送准备后,主动向CPU 请求中断,CPU 响应中断后在中断处理程序中与外设交换数据。在中断未发生时,CPU 可以执行其他程序,这样可以提高CPU 的利用率。计算机学院系统教研室/BUSY中断程序/BUSY中断程序计算机学院系统教研室/BUSY/BUSY检测状态线检测状态线中断申请信号主程序中断服务子程序中断逻辑中断服务子程序计算机学院系统教研室主程序中断服务子程序中断申请信号计算机学院系统教研室n n与程序查询方式相比,中断控制方式的数据交与程序查询方式相比,中断控制方式的数据交换具有换具有如下特点如下特点:n n(1)(1)提高了提高了CPUCPU的工作效
15、率的工作效率;n n(2)CPU(2)CPU具有控制外围设备服务的主动权具有控制外围设备服务的主动权;n n(3)CPU(3)CPU可以和外设并行工作可以和外设并行工作;n n(4)(4)可适合实时系统对可适合实时系统对I/OI/O处理的要求。处理的要求。计算机学院系统教研室 二、直接存储器存取方式(DMA)(Direct Memory Access)。在高速的外设或成块交换数据的情况,采用程序控制方式进行数据的传输,是无法满足要求的。在这种情况下,采用DMA 方式。计算机学院系统教研室 DMA 方式是在外设与内存间建立起直接的通道,CPU 不再直接参加外设和内存间的数据传输。当系统需要进行D
16、MA 传输时,将CPU 对地址和数据及控制线的管理权交由DMA 控制器进行控制,当完成了一次DMA 数据传输后,再将这个控制权还给CPU,这些工作都是由硬件自动实现的,并不需要程序进行控制。计算机学院系统教研室ABDBCB CPU DMAC RAM/ROM I/O计算机学院系统教研室CPU外设存储器总线:执行程序指令的数据传送路径;:DMA 方式的数据传送路径计算机学院系统教研室内存 外设DMAC输出输入外设 外设DMAC内存 内存DMACDMA 传送的几种形式计算机学院系统教研室8086CPU为DMA提供两根信号线1、HOLD 总线保持请求2、HLDA 总线保持响应计算机学院系统教研室n n
17、 DMA 的基本功能和步骤n n(1)DMAC(1)DMAC接收接收I/OI/O接口的接口的DMADMA请求,并向请求,并向CPUCPU发出总线请求信号发出总线请求信号HOLDHOLD;n n(2)(2)当当CPUCPU发出总线回答信号发出总线回答信号HLADHLAD后,接后,接管对总线的控制,进入管对总线的控制,进入DMADMA传送过程;传送过程;n n(3)(3)能实现有效的寻址,即能输出地址信息能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址;并在数据传送过程中自动修改地址;n(4)能向存储器和I/O接口发出相应的读/写控制信号;n(5)能控制数据传送的字节数,控制DMA
18、传送是否结束;n(6)在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。计算机学院系统教研室6.4 8086CPU的输入/输出1、I/O 寻址64K2、8086CPU的IO指令(11)直接寻址输入输出指令直接寻址输入输出指令(八位端口地址八位端口地址)IN ALIN AL,n(n(字节输入字节输入)IN AXIN AX,n(n(字输入字输入)OUT nOUT n,AL(AL(字节输出字节输出)OUT nOUT n,AX(AX(字输出字输出)0000H00FFH0100HFFFFHn计算机学院系统教研室(2)DX寄存器间接寻址输入(十六位端口地址)IN AL,DX(字节输入)IN
19、AX,DX(字输入)OUT DX,AL(字节输出)OUT DX,AX(字输出)0000H00FFH0100HFFFFHDX 计算机学院系统教研室3、有关端口地址问题 aa、8086CPU8086CPU与外设交换数据可以字或字节进行,与外设交换数据可以字或字节进行,bb、当当以以字字节节进进行行时时,偶偶地地址址端端口口的的字字节节数数据据由由低低88位位数数据据线线D7D7D0D0位位传传送送,奇奇地地址址端端口口的的字字节节数据由高数据由高88位数据线位数据线D15D15D8D8传送,传送,cc、当当用用户户在在安安排排外外设设的的端端口口地地址址时时,如如果果外外设设是是以以88位位的的方方式式与与CPUCPU连连接接,就就只只能能将将其其数数据据线线或或者者与与CPUCPU的的低低八八位位或或者者与与高高八八位位连连接接,这这样样同同一一台台外外设设的的所所有有寄寄存存器器端端口口地地址址都都只只能能是是偶偶地地址址或或是奇地址,这时设备的端口地址就会是不连续的。是奇地址,这时设备的端口地址就会是不连续的。
限制150内