输入输出传送方式与.pptx
《输入输出传送方式与.pptx》由会员分享,可在线阅读,更多相关《输入输出传送方式与.pptx(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1I/O端口的编址方式输入输出的传送方式:无条件、查询、中断、DMADMA的基本概念DMA工作过程DMA的三种传输方式 8237 DMA控制器主要内容第1页/共102页2重点内容掌握I/O接口的基本概念掌握I/O接口的地址译码掌握几种传送方式的特点了解DMA控制器的工作原理第2页/共102页36.1 I/O接口概述一、I/O接口与I/O设备第3页/共102页4 二、定义 I/O接口是位于系统与外设之间、用来协助完成数据传送和控制任务的逻辑电路。PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路 不同I/O设备对应I/O接口不同。I/O接口受CPU控制,I/O设备受I/O接
2、口控制。为增加通用性,I/O接口电路通常均具有可编程功能。微机系统的应用与外设接口的设计、选用和连接。第4页/共102页5三、I/OI/O接口的主要功能速度匹配(Buffer)信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)第5页/共102页66.1.1 接口电路的内部结构1 1、接口硬件数据线控制线状态线DBCBAB数据输入寄存器(or 三态门)数据输出寄存器(锁存器)状态寄存器(or 三态门)命令寄存器译码电路控制逻辑接接外外设设接接主主机机第6页/共102页7 接口功能CPU与外设主要有数据、状
3、态和控制信息需要相互交换,从应用角度看内部:数据寄存器(端口地址)保存外设给CPU和CPU发往外设的数据 状态寄存器(端口地址)保存外设或接口电路的状态 控制寄存器(端口地址)保存CPU给外设或接口电路的命令(4)接口电路可含有多个端口地址第7页/共102页8CPU侧引脚信号:外设侧引脚信号:数据信号:接口缓冲寄存器与外设间的数据交换;状态信号:外设工作状态送给接口的状态寄存器;控制信号:控制信号:接口的内部控制逻辑控制外设工作的控制接口的内部控制逻辑控制外设工作的控制信号和同步信号。信号和同步信号。地址信号:选择I/O接口中的不同寄存器;数据信号:数据信号:命令或数据写入到相应寄存器,或者从
4、相命令或数据写入到相应寄存器,或者从相关寄存器读取数据或状态;关寄存器读取数据或状态;控制信号:控制命令的执行、时序、信号同步和片选;状态信号:接口的部分工作状态信号。内部控制逻辑:根据控制寄存器、状态寄存器、总线控制信号及外设状态信号控制I/O接口的工作。第8页/共102页9常见接口插槽PS2鼠标PS2键盘千兆网10/100M网卡USB并行口MIDI/游戏接口显示器接口13941394a麦克风/音箱/线入接口串行口第9页/共102页102、接口软件(设备驱动程序)初始化程序:设置接口工作方式及初始条件。传送方式处理程序:CPU针对不同的I/O设备采用不同的处理方式。如设置中断向量等。主控程序
5、:完成接口任务的程序。程序终止与退出程序:对接口电路硬件保护及操作系统中数据恢复。辅助程序:提供人-机对话手段。第10页/共102页113、接口电路芯片的分类 接口电路通常采用中大规模、超大规模集成电路接口芯片:通用接口芯片支持通用的数据I/O和控制的接口芯片如:并行接口芯片、串行接口芯片等。面向外设的专用接口芯片针对某种外设设计接口如:显示接口电路、磁盘驱动接口电路等。面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能如:8259A、8237、8253、8251、8255等。第11页/共102页124、可编程接口许多接口电路具有多种功能和工作方式,可以通过编程的方式设定。接口
6、电路需要与系统物理连接,及编写接口软件。接口软件:1、初始化程序段:设定芯片工作方式等2、数据交换程序段:管理、控制、驱动外设,负责外设和系统间信息交换。第12页/共102页136.1.3 I/O端口的编址接口电路占用的I/O端口的编址可分为两种方式I/O端口单独编址I/O地址空间独立于存储地址空间如INTER系列80X86I/O端口与存储器统一编址它们共享一个地址空间如MCS-51系列单片机第13页/共102页14一、I/O端口单独编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富内存空间I/O空间FFFFF0FFFF
7、注:80 x86采用I/O端口独立编址:第14页/共102页15二、I/O端口与存储器统一编址优点:不需要设计专门的I/O指令I/O数据存取与存储器数据存取同样缺点:I/O端口占用存储器地址空间程序易读性差(不易分清访内存、访问外设)内存部分I/O部分存储器空间00000FFFFF第15页/共102页166.1.4 8088/8086的I/O端口I/O指令(直接寻址、寻址范围:00H FFH)IN AL,PORT ;端口(Port),即I/O端口地址OUT PORT,ALIN AX,PORT ;OUT PORT,AX;I/O指令(间接寻址、寻址范围:0000HFFFFH)IN AL,DX;OU
8、T DX,AL;IN AX,DX;DX寄存器的值就是 端口号(64K个端口)OUT DX,AX;功功能能演示演示功能演示功能演示第16页/共102页17IN AL ,PORT ;OUT PORT ALMOV DX,PORT ;MOV DX,PORTIN AX ,DX ;OUT DX AX 输出一个字:(DX)、(DX)+1 (AX)或(PORT)、(PORT)+1 (AX)输入一个字:(DX)+1、(DX)(AX)或(PORT)、(PORT)+1 (AX)数据交换方式第17页/共102页186.1.5 I/O地址的译码I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点:部分译码时,通
9、常是中间地址线不连接部分译码也有最低地址线不连接的情况每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码给几个给几个译码实例译码实例第18页/共102页19IBM PC/AT主机板的I/O译码电路接口芯片内部译码A0A4:DMA控制器1中断控制器1定时计数器并行接口电路DMA页面寄存器中断控制器2DMA控制器2协处理器A5A6A7A8A9ALS138译码器HLDAMASTERABCE1E2E3Y0Y1Y2Y
10、3Y4Y5Y6Y7第19页/共102页20IBM PC/XT主机板的I/O译码电路Y0 Y1 Y2 Y3 Y4 Y5Y6 Y7A5A6 A7A8A9 AENIOWAB CG2BG2AG174LS138DMA CS(8237)INTR CS(8259)T/C CS(8253)PPI CS(8255)WRTDMAPG(写DMA页面寄存器)WRTNMIREG(写NMI屏蔽寄存器)第20页/共102页21逻辑门电路进行I/O地址译码A9A8A7A6A5A2A4A3AENA1A074LS033E7H第21页/共102页246.2 无条件传送方式适用于外设总是处于准备好状态以下外设可采用无条件传送方式:开
11、关发光器件(如发光二极管、7段数码管、灯泡等)继电器步进电机优点:软件及硬件接口简单缺点:仅适用于简单外设,适应范围较窄传送流程接口实例第24页/共102页30简单的输入接口举例接口电路图如下:83FCH83FFH译码器第30页/共102页31锁存器:由D触发器构成通常一个器件包含8个D触发器常用芯片:(教材图6.5、图6.6)74LS27374LS374(具有三态输出的锁存器,内部结构见图6.8)应用例子:发光二极管接口简单的输出接口举例译码器=1=1.+5VRD0D7CPQ0Q7.D0D7A0A15IOW#74LS273R第31页/共102页32I/O接口综合应用例子根据开关状态在7段数码
12、管上显示数字或符号共阳极7段数码管结构见教材图6.10用74LS273作为输出接口,把数据送到7段数码管74LS273的地址假设为F0H用74LS244作为输入口,读入开关K0K3的状态74LS244的地址假设为F1H当开关的状态分别为00001111时,在7段数码管上对应显示0F(7段码表见下页)第32页/共102页33 7段码.gfedcba形状符号7段码.gfedcba形状符号01110001F00000111701111001E01111101601011110D01101101500111001C01100110401111100B01001111301110111A01011011
13、2011001119000001101011111118001111110第33页/共102页34O1 I1O2 I2O3 I3O4 I4#E1K0K3+5VGG2AG2BCBA1174LS244D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP74068个反相器74LS273Rx81174LS138D0D7IOW#IOR#Y0Y1F0H=0000 0000 1111 0000F1H=0000 0000 1111 0001&1A7A4A15A8A3A2A1A0D0D1D2D3译码电路第34页/共102页35相应程序段如下:Seg7DB3FH,06H,5BH,4FH
14、,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX,Seg7;取7段码表基地址MOV AH,0:MOV DX,0F1H;开关接口的地址为F1HK:INAL,DX;读入开关状态ANDAL,0FH;保留低4位MOVSI,AX;作为7段码表的表内位移量MOVAL,BX+SI;取7段码MOVDX,0F0H;7段数码管接口的地址为F0HOUTDX,ALJMPK第35页/共102页366.3 查询传送方式适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。CPU在与外设交换数据前必须询问外设状态:“准备好没有?”对外设的要求:应提供设
15、备状态信息对接口的要求:需要提供状态端口优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢流程图第36页/共102页37查询方式的流程图超时?READY?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器NY注:多个外设时,查询流程见教材图6.156.15PK第37页/共102页38例:用查询方式进行输出外设状态端口地址为3FBH,第5位(bit5)为状态标志(1 忙,0 准备好)外设数据端口地址:3F8H,写入数据会使状态标志1;外设把数据读走后又把它0。1、画出硬件电路 2、编 程 第38页/共102页39D5D7-D0A9|A31&
16、A15|A101IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y01IORY3OE74LS374CPQQDSSTROBE3FBH1、硬件电路 第39页/共102页402、编程 MOV DX,3F8HTAB:IN AL,DX TEST AL 20H JNZ TAB MOV DX,3FBH LEA BX,BUFFER MOV AL,OFFSET PTRBX OUT AL,DX第40页/共102页416.4 中断传送方式CPU无需查询外设状态,外设在需要进行数据传送时才中断CPU正在进行的
17、工作,让CPU来为其服务。即CPU 与外设并行工作,有请求时才去传输数据,从而大大提高了CPU的利用率。优点:CPU效率高,实时性好,速度快。缺点:程序编制较为复杂。须保护断点、保护现场等。第41页/共102页42 中断传送方式断点CPU:主程序中断服务程序中断请求处理外设事件继续执行返回断点 CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序传送流程传送流程第42页/共102页44 中断系统其他功能:支持多中断源和多种中断源。支持中断屏蔽处理。支持中断嵌套处理。支持中断优先级修改。支持中断结束方式选择。中断处理
18、的隐操作:程序状态及程序断点地址的进栈及出栈。第44页/共102页456.4.1 中断传送与接口中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚本书主要论述中断在输入和输出方面的应用中断还有着非常广泛的应用第45页/共102页466.4.2 中断传送与接口D0D7+5V8D锁存器8位三态缓冲器三态缓冲器RQ 译码 288H中断向量号D0D7INTRD输入设备中断允许触发器A0A15中断请求触发器IORINTASTB第46页/共102页476.5 DMA传送
19、方式 无条件传送、查询传送、中断传送这几种方式都是通过CPU执行程序实现的,占用了CPU资源,传送速度慢(实际上是软件传送方式,最大速度约为几十KB/秒)。为了实现高速外设与内存之间的数据交换,可采用直接存储器存取方式(DMA)。DMA传送方式通常用来高速传送大批量的数据块。如:传送方式通常用来高速传送大批量的数据块。如:硬盘和软盘硬盘和软盘I/O;多处理机和多程序数据块传送;多处理机和多程序数据块传送;在图像处理中,对在图像处理中,对CRT屏幕送数据;屏幕送数据;快速数据采集;快速数据采集;DRAM的刷新操作。的刷新操作。快速通信通道I/O;第47页/共102页48 DMA传送:外设 内存外
20、设直接与存储器进行数据交换,CPU不再担当数据传送的任务,而由DMA控制器控制总线(DMAC)进行数据传送。(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)第48页/共102页49几个基本概念总线控制权、mater、slaveDMAC编程周期:slaveDMAC控制总线进行数据传输周期:masterDMA的数据传输形式:基本的:MEMI/O扩充的:MEMMEM I/O I/O第49页/共102页506.5.1 DMAC控制数据传送 外设发出DMA请求 DMAC向C
21、PU申请总线 CPU完成当前总线周期后响应,并释放总线控制权 DMAC得到总线控制权,并发出DMA响应信号 由DMAC发出各种控制信号,控制外设与存储器之 间的数据传送 数据传送完后,DMAC撤销HOLD信号 CPU释放HLDA信号,并重新控制总线系统总线CPUDMAC存储器外设接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACKAENIOWIORMEMWMEMR第50页/共102页51DMAC的工作过程1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出“DMA传送请求”信号(DRQ);2)DMA控制器收到请求后,向CPU发出“总线
22、请求”信号HOLD,表示希望占用总线;3)CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个动作:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA)。4)DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK;第51页/共102页525)DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;例如,向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号,即可从外设向内存传送一个字节。6)DMA
23、控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。DMA通道 工作过程第52页/共102页53 DMA的三种传送方式:连续传送(块传送)DMAC申请到总线后,将一块数据传送完后才释放总线,而不管中间DREQ是否有效。单次传送(每次传送一个字节)每个DMA周期只传送一个字节就立即释放总线。按需传送(猝发传送)只要I/O接口的数据缓冲可用,就进行传送。(注:I/O接口需要有一定大小的FIFO缓冲)第53页/共102页54数据块传送YN允许
24、DMADMA请求?DMAC请求总线CPU响应,DMAC获总线控制权DMA传送一个字节块结束?地址增量,计数器减量DMAC释放总线YN第54页/共102页55每次传送一个字节NYN允许DMADMAC请求总线CPU响应,DMAC获总线控制权DMA传送一个数据块结束?释放总线至少一个总线周期地址增量,计数器减量DMAC释放总线Y测试I/O的DREQ DMA请求?第55页/共102页56按需传送NYCPU响应,DMAC获总线控制权DMA传送一个字节块结束?测试I/O的DREQ 有效?地址增量,计数器减量释放总线,请求中断无效,释放总线允许DMADMA请求?DMAC请求总线YNYN第56页/共102页5
25、7第57页/共102页586.6 可编程DMA控制器8237A8237A是Intel86系列微处理器的配套芯片,可用来接管CPU对总线的控制权,在存储器与高速外设之间建立直接进行数据块传送的高速通路。8237A必须与一个8位锁存器(8212或其他代用芯片)配套使用,才可形成完整的4通道DMA控制器。各通道可分别完成3种不同的操作:(1)DMA读读存储器送外设。(2)DMA写读外设写存储器。第58页/共102页59(3)DMA校验:通道不传送数据,仅完成校验。任一通道进入DMA校验方式时,不产生对存储器和I/O设备的读/写控制信号,但是仍保持对系统总线的控制权,并且每一个DMA周期都将响应外部设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 传送 方式
限制150内