资源预览内容
第1页 / 共66页
第2页 / 共66页
第3页 / 共66页
第4页 / 共66页
第5页 / 共66页
第6页 / 共66页
第7页 / 共66页
第8页 / 共66页
第9页 / 共66页
第10页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
输入输入/ /输出接口输出接口 第第8 8 章章8.1 8.1 概述概述 8.1.1 8.1.1 基本概念基本概念8.1.2 8.1.2 输入输入/ /输出端口寻址输出端口寻址8.2 8.2 主机与外设的数据传送方式主机与外设的数据传送方式8.2.1 8.2.1 程序查询方式程序查询方式8.2.2 8.2.2 程序中断方式程序中断方式8.2.3 DMA8.2.3 DMA方式的数据传输方式的数据传输8.3 8.3 可编程接口芯片可编程接口芯片8.3.1 8.3.1 计数器和定时器计数器和定时器Intel8253Intel82538.3.2 8.3.2 并行接口芯片并行接口芯片825582558.3.3 8.3.3 串行接口标准串行接口标准RS-232CRS-232C8.4 8.4 模拟量输入模拟量输入/ /输出接口输出接口 8.4.1 8.4.1 Intel8253 Intel8253 基本工作原理基本工作原理8.4.2 8.4.2 数模(数模(D/AD/A)转换器转换器8.4.3 8.4.3 模数(模数(A/DA/D)转换器转换器 v掌握几种数据传送方式的工作过程;v掌握8253和8255的内部结构及初始化编程;v掌握8237的内部结构和工作方式;v了解模拟量输入和输出的一些基本概念.教 学 要 求第第 8.18.1节节概述概述 8.1.18.1.1 基本概念基本概念 教学进程教学进程8.18.1CPUCPU接接 口口外外 设设控制控制数据数据状态状态系统系统 总线总线I/OI/O接口包含多个存放数据、状态和控制信息的寄存器,分接口包含多个存放数据、状态和控制信息的寄存器,分别以端口地址标识。别以端口地址标识。 数据的输入数据的输入/ /输出是通过输出是通过I/OI/O端口实现的。端口实现的。 80x8680x86系统通过系统通过I/OI/O指令实现对指令实现对I/OI/O端口的读写。端口的读写。2.接口与端口的关系CPUCPU外外 设设系统总线系统总线 数据信息数据信息 状态信息状态信息 控制信息控制信息1.外部设备的信号概述概述 8.1.18.1.1 基本概念基本概念 8.18.1l l I/OI/O端口与存储器统一编址端口与存储器统一编址 把内存的一部分地址分配给把内存的一部分地址分配给I/OI/O端口,一个端口,一个8 8位端口位端口 占用一个内存单元地址;占用一个内存单元地址; 不设置专门的不设置专门的I/OI/O指令;指令;l l I/OI/O端口独立编址端口独立编址 内存储器和内存储器和I/OI/O端口各自有自己独立的地址空间;端口各自有自己独立的地址空间; 访问访问I/OI/O端口需要专门的端口需要专门的I/OI/O指令(如指令(如8086 CPU8086 CPU)优优点点:使用方便,降低使用方便,降低CPUCPU电路的复杂性;电路的复杂性;缺点缺点:减少了内存可用范围;难以区分访问内存和:减少了内存可用范围;难以区分访问内存和 I/OI/O的指令,降低了程序的可读性和可维护性;的指令,降低了程序的可读性和可维护性;8.1.28.1.2 输入输入/ /输出端口寻址输出端口寻址8.1.28.1.2 输入输入/ /输出端口寻址输出端口寻址教学进程教学进程输入指令格 式功 能 1IN AL,PORT (PORT)AL2IN AL,DX(DX)AL3IN AX,PORT (PORT+1; PORT )AX4IN AX,DX(DX+1; DX )AXl l指令格式指令格式: : IN 累加器, PORT l功 能:把外设端口(PORT)的内容传送给累加器。8.1.28.1.2 输入输入/ /输出端口寻址输出端口寻址教学进程教学进程输出指令格 式功 能 1OUT PORT,AL (AL)PORT2OUTDX,AL (AL)DX3OUT PORT,AX (AX) PORT+1;PORT4OUTDX,AX (AX)DX+1;DXl l指令格式:指令格式:OUT PORT,累加器l l功功 能:把累加器能:把累加器的内容传送给外设端口。 第第 8.28.2节节主机与外设的数据传送方式主机与外设的数据传送方式 根据外部设备性质的不同,程序控制方式可分为根据外部设备性质的不同,程序控制方式可分为: :8.2.1 8.2.1 程序查询方式程序查询方式 在程序执行输入在程序执行输入/ /输出指输出指令时,无条件地执行指令令时,无条件地执行指令相应的操作。相应的操作。 无条件传送方式无条件传送方式查询工作方式查询工作方式程序不断地询间外部设备的程序不断地询间外部设备的状态,并根据它们当前的状状态,并根据它们当前的状态来实现数据的输入和输出态来实现数据的输入和输出。教学进程教学进程8.28.28.2.18.2.1 程序查询方式程序查询方式CPUCPU接接 口口外外 设设控制控制数据数据状态状态系统总线系统总线查询方式下的系统构成示意图查询方式下的系统构成示意图教学进程教学进程工作过程工作过程 查询外部设备的状态查询外部设备的状态( ( 利用输入指令利用输入指令 ) ) 检测相应的状态位读入的状态字(视机器字长而定)。检测相应的状态位读入的状态字(视机器字长而定)。 如没准备好,则等待,重复如没准备好,则等待,重复 步骤;否则步骤;否则CPUCPU就执行预定就执行预定 的数据传送。的数据传送。 若为若为读操作读操作,则在数据读入后,则在数据读入后,CPUCPU向外设发响应信号,表向外设发响应信号,表 示数据已被接收,外设收到信号后开始准备下一数据示数据已被接收,外设收到信号后开始准备下一数据; ;若为若为写操作写操作,CPUCPU在向外设送出数据的同时发出输出在向外设送出数据的同时发出输出就绪信就绪信 号号,用来通知外设已送来数据,外设接收数据后,向,用来通知外设已送来数据,外设接收数据后,向CPUCPU发出发出 数据已收到状态信息。数据已收到状态信息。 在一次数据传送结束后,与数据长度计数器值的比较来判在一次数据传送结束后,与数据长度计数器值的比较来判 断数据是否传送完毕。若没有结束,则重复以上各步骤。断数据是否传送完毕。若没有结束,则重复以上各步骤。教学进程教学进程8.2.1 8.2.1 程序查询方式程序查询方式CPU不断地询问外设是否准备好: 如果准备好,CPU执行IO操作;否则,CPU一直等待。 CPU大部分时间处于等待状态,利用率不高。 查询环节n寻址状态口n读取状态寄存器的标志位n若不就绪就继续查询,直至就绪 传送环节n寻址数据口n通过输入指令从数据端口读入数据n通过输出指令向数据端口输出数据输入状态就绪?数据交换YN流 程8.2.1 8.2.1 程序查询方式程序查询方式查询传送流程返回8.2.28.2.2 程序中断方式程序中断方式 中断响应中断响应系统中某些突发的或异常的情况发生,强系统中某些突发的或异常的情况发生,强 迫迫CPUCPU暂停(或中断)正在执行的程序而转去进行相应的服暂停(或中断)正在执行的程序而转去进行相应的服 务,并在服务结束后回到原来被中断的地方继续执行原来务,并在服务结束后回到原来被中断的地方继续执行原来 的程序。的程序。 处理过程处理过程CPUCPU并不主动介入外设的数据传输工作,而并不主动介入外设的数据传输工作,而 是由外部设备在需要进行数据传送时向是由外部设备在需要进行数据传送时向CPUCPU发出中断请求,发出中断请求, CPUCPU在接到请求后,若条件允许,则暂停(或中断)正在进在接到请求后,若条件允许,则暂停(或中断)正在进 行的工作而转去对该外设服务,并在服务结束后回到原来行的工作而转去对该外设服务,并在服务结束后回到原来 被中断的地方继续原来的工作。被中断的地方继续原来的工作。 中断响应和处理过程中断响应和处理过程教学进程教学进程断点主程序中断服务程序中断请求对外设 进行处理继续执行返回断点CPU在执行程 序中,被内部或 外部的事件所打 断,转去执行一 段预先安排好的 中断服务程序; 服务结束后,又 返回原来的断点 ,继续执行原来 的程序。 流程8.2.28.2.2 程序中断方式程序中断方式中断响应和处理过程中断响应和处理过程中断传送流程返回8.2.38.2.3 DMADMA方式的数据传输方式的数据传输 利用中断进行信息传送,可以大大提高CPU的利用率,但是 其传送过程必须由CPU进行监控。每次中断,额外的操作会占 用CPU时间。 如果需要在内存的不同区域之间,或者在内存与外设端口之 间进行大量信息快速传送的话,用查询或中断方式均不能满 足速度上的要求,DMA(Direct Memory Access)直接数据传送:它是在在内 存与高速外设之间直接进行成组的数据传送,而不经过CPU中 转的一种数据传送方式,可以大大提高信息的传送速度。基本思想基本思想教学进程教学进程DMA传送流程HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针流程DMA传送流程返回第第 8.38.3节节可编程接口芯片可编程接口芯片 定时信号三种方法获得定时信号三种方法获得8.3.1 8.3.1 计数器和定时器计数器和定时器Intel 8253 Intel 8253 1. 1. 计数器计数器/ /定时器接口电路定时器接口电路 通过计算机执行一段程序实现定时,常通过计算机执行一段程序实现定时,常 写成子程序形式,被称为延时子程序。写成子程序形式,被称为延时子程序。软软 件件 定定 时时主要指用元器件搭成的延时电路。主要指用元器件搭成的延时电路。 不可编程的硬件定时不可编程的硬件定时由一种专用芯片由一种专用芯片可编程计数器可编程计数器/ /定时定时器作为主要硬件,在简单的程序控制下器作为主要硬件,在简单的程序控制下,能产生准确的时间延迟。,能产生准确的时间延迟。 可编程的硬件定时可编程的硬件定时教学进程教学进程8.38.38.3.18.3.12. 82532. 8253内部结构及外部引脚内部结构及外部引脚计数器和定时器计数器和定时器Intel8253Intel8253教学进程教学进程可编程计数器可编程计数器/ /定时器具有两种功能:定时器具有两种功能:计数器计数器定时器定时器 计数器时,在减到计数器时,在减到“ “0”0”之后输出一个信号,此次计数过程之后输出一个信号,此次计数过程 便结束了;便结束了; 作为定时器时,在减到作为定时器时,在减到“ “0”0”之后输出一个信号,接着自动之后输出一个信号,接着自动 重装计数初值开始下一个周期的定时,如此连续不断地产生重装计数初值开始下一个周期的定时,如此连续不断地产生 信号。信号。 两者的主要差别是:两者的主要差别是:8.3.18.3.1D7D0计数器0控制字寄 存器计数器1计数器2数据总线 缓冲器读/写 逻辑RD WRA0A1 CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2内部总线计数器和定时器计数器和定时器Intel8253Intel8253 (1) 8253(1) 8253的内部结构的内部结构教学进程教学进程可可初始化编程和工作方式初始化编程和工作方式 初始化编程注意:初始化编程注意:vv 对计数器设置计数初始值前必须先将控制字写入。对计数器设置计数初始值前必须先将控制字写入。vv 初始值设置时,要符合控制字中的格式规定。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号