微机原理第5章_第1页
微机原理第5章_第2页
微机原理第5章_第3页
微机原理第5章_第4页
微机原理第5章_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章微型计算机和外设的数据传输,本章重点:,接口电路的功能接口部件和I/O端口CPU和外设之间的三种数据传输方式、各自优缺点和使用场合中断传输方式的原理和可屏蔽中断的响应过程DMA方式的原理和DMA控制器的功能,5.1为什么要用接口电路,接口电路按功能可分为两类:使微处理器正常工作所需的辅助电路输入输出接口电路:问题:为什么存储器不需要接口电路,可以直接连在总线上,而输入输出设备却一定要通过接口电路与总线相连呢?,外部设备的输入输出操作和存储器读写操作的不同,所有存储器都是用来保存信息的,功能单一;传送方式也单一,一次必定是传送1个字节或者1个字;品种很有限,只有只读类型和可读可写类型。此外,存储器的存取速度基本上可以和CPU的工作速度匹配。这些决定了存储器可以通过总线和CPU相连,即通常说的直接将存储器挂在系统总线上。外部设备的功能却是多种多样的;每一类设备本身可能又包括了多种工作原理不同的具体设备;对于不同具体设备来说,所使用的信号也各不相同;如果使用数字信号也有传输区别。,如果一个微型机系统中连接的是并行设备,是否可不用接口了呢?,不是。因为CPU通过总线要和多个外设打交道,而在同一个时刻CPU通常只和一个外设交换信息,就是说,一个外设不能长期和CPU相连,只有被CPU选中的外设,才接收数据总线上或者将外部信息送到数据总线上。所以,即使是并行设备,也同样要通过接口与总线拆种接口就是后面要讲的并行接口。另外,外设的工作速度通常比CPU的速度低得多,而且各种外设速度互不相同,这就要求接口电路对输入输出过程能起一个缓冲和联络的作用。,对于输入设备来说,接口通常起信息变换和缓冲功能。变换的含义包括模拟量到数字量的变换、串行数据往并行数据的变换以及电平变换等,总之,目的是将输入设备送来的信息换成CPU能接收的格式,并将其放在缓冲器中让CPU来接收。对于输出设备来说,接口将CPU送来的并行数据放到缓冲器中,并将它变成外部设备所需要的信息形式,如串行数据或模拟量等。可见,输入输出接口电路是为了解决计算机和外部设备之间的信息变换问题而设的,输入输出接口是计算机和外设之间传送信息的部件,每个外设都要通过接口和主机相连。接口技术就是专门研究CPU和外设之间的数据传送方式、接口电路的工作原理。,外部设备需要通过接口电路和主机总线相连的原因,1、信号变换:外部设备和主机之间传送的信号形式是多样化的,需要接口电路进行信号变换。2、速度匹配:外部设备的速度往往不能和主机匹配,需要接口电路提供联络信号,需要接口电路对信号进行传送的缓冲、锁存。3、编址:在一个计算机系统中往往有许多外部设备。通过对接口电路的I/O端口进行编址,使主机可以用不同的I/O地址去访问不同的外部设备。,5.2CPU和输入输出设备之间的信号,CPU和输入输出设备之间有以下几类信号:(1)数据信息,又分为:数字量模拟量开关量(2)状态信息(3)控制信息,5.3接口部件的I/O端口,外设通过接口和系统的连接,数据端口状态端口控制端口或命令端口I/O端口的两种编址方式:独立编址与存储器统一编址,I/O端口单独编址,优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富,I/O端口与存储器统一编址,优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访问内存和访问外设),8086的输入输出指令,输入指令INAL,PORT/DX;字节输入INAX,PORT/DX;字输入输出指令OUTPORT/DX,AL;字节输出OUTPORT/DX,AX;字输出,5.4接口的功能以及在系统中的连接,接口的功能寻址功能输入输出功能数据转换功能联络功能中断管理功能复位功能可编程功能错误检测功能,5.5CPU和外设之间的数据传送方式,解决定时问题的三种传送方式:程序方式中断方式DMA方式,5.4.1程序方式,图无条件传送方式的工作原理,1.无条件传送方式:外设总是处于“准备好”状态,可直接利用I/O指令进行信息的I/O操作。,2.条件传送方式,(1)条件传送方式:又称查询方式,通过程序查询设备的状态,符合要求时,CPU进行I/O操作。外设提供反映其状态的信号,对输入设备,提供“准备好”(“READY”)信号,“READY”1表示输入数据已准备好。输出设备提供“忙”(“BUSY”)信号,“BUSY”1表示当前不能接收数据。(2)条件传送的三个环节:CPU从接口中读取状态字CPU检测状态字传送数据,查询式输入的接口电路,输入设备发选通信号将数据锁存READY1CPU查询(读READY)读数据清除READY。,movdx,8000h;DX指向状态端口status:inal,dx;读状态端口testal,01h;测试标志位D0jzstatus;D00,未就绪,继续查询incdx;D01,就绪,DX指向数据端口inal,dx;从数据端口输入数据,查询式输出的接口电路,CPU送数据至锁存器,发选通信号,通知外设取数据;BUSY输出设备取完数据ACK清BUSYCPU查询,movdx,8000h;DX指向状态端口status:inal,dx;读取状态端口状态数据testal,80h;测试标志位D7jnzstatus;D71未就绪继续查询incdx;D70,DX指向数据端口moval,buf;变量buf送ALoutdx,al;将数据输出给数据端口,查询式输入过程的流程图,例1设从某输入设备上输入一组数据送缓冲区,若缓冲区已满则输出信息“BOFFEROVERFLOW”,然后结束。设该设备的启动地址为0FCH,数据端口为0F8H,状态端口为FAH。DATASEGMENTMESS1DB“BUFFEROVERFLOW”,“$”BUFFDB60DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,START:MOVAX,DATAMOVDS,AXMOVBX,OFFSETBUFF;送缓冲区指针MOVCX,60;送计数初值OUT0FCH,AL;启动设备WAIT:INAL,0FAH;查询状态,若为0等待TESTAL,01HJZWAITINAL,0F8H;输入数据MOVBX,ALINCBXLOOPWAIT;检测缓冲区是否满,不满输入,MOVDX,OFFSETMESS1;缓冲区满,输出标志字符串MOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART,查询优先级问题当CPU对多个设备进行查询时,先为哪个设备服务?采用轮流查询方式解决时,优先级是很明显的,即先查询的设备具有较高的优先级。这种优先级管理方式,存在着一个问题,设备的优先级是变化的,当为设备B服务以后,这时即使A已准备好,它也不理睬,而是继续查询C,也就是说A的优先地位并不巩固(即不能保证随时处于优先)。为了保证A随时具有较高的优先级,可采用加标志的方法,当CPU为B服务完以后,先查询A是否准备好,若此时发现A已准备好,立即转向对A的查询服务,而不是为C设备服务。,5.4.2中断方式,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,中断传送方式的原理,数据输入的过程:当外设发STB数据入锁存器,中断请求触发器置1若没有屏蔽则产生INTRCPU满足条件(允许中断)(进入中断服务子程序)读数据清中断请求触发器。,可屏蔽中断的响应和执行,2.中断优先级问题的解决,(1)解决中断优先级的三种办法:软件查询方式简单硬件方式菊花链法专用硬件方式(2)三种方法的优缺点,简单硬件方法链式中断优先权排队电路,中断优先级,专用硬件方式典型的可编程中断控制器,5.4.3DMA方式,1.DMA传送方式的提出DMA传送方式的优点数据传输率2.DMA控制器的功能和原理,DMA控制器的功能:向CPU发总线请求信号实行对总线的控制修改所用的存储器或接口的地址指针发读写控制信号存放数据长度交还总线控制权,从接口往内存传输一个数据块的过程:,接口往DMA控制器发一个DMA请求得到总线控制权地址寄存器的内容送地址总线通知接口将数据送到数据总线数据送到所指单元地址寄存器的值加1字节计数器的值减1如字节计数器的值不为0,则回到;否则结束,DMA传输单个数据(输出过程)的原理,DMA控制器的内部最小配置和接口要求,DMA传输对接口的要求:,控制寄存器有1位指出数据传输方向控制寄存器有1位用来启动I/O操作状态寄存器有1位指出设备当前是否处于忙状态,DMA传输对DMA控制寄存器的要求:,有1位作为DMA允许位有1位用来确定DMA方向有1位决定进行一次传输后放弃还是维持对总线的控制权状态寄存器有1位表示数据块传输是否结束,对DMA控制器和接口部件预置的信息:,往DMA控制器的字节计数器设置初值往DMA控制器的地址寄存器中设置地址初值对DMA控制器设置控制字并启动DMA操作对接口部件设置控制字并启动I/O操作,启动数据块输入的例子,IDLE:INAL,INTSTAT;检测设备是否处于忙状态,如是,则等待TESTAL,04JNZIDLEMOVAX,COUNT;设置计数OUTBYTE_REG,AXLEAAX,BUFFER;设置地址初值OUTADD_REG,AX,INAL,DMACON;取原DMA控制字ORAL,49H;设置方向、块传输;和允许标志OUTDMACON,AL;置DMA控制字INAL,INTCON;设置接口的传输方向;及允许标志ORAL,05HOUTINTCON,AL;设置接口的控制字,3.DMA控制器的工作特点,是一个接口电路能够控制系统总线操纵外设和存储器之间的数据传输,5.4.4输入输出过程中提出的几个问题,1.系统如何知道接口已准备好数据等待CPU提取或者准备接收CPU的数据?2.当系统中有几个设备处于同一种传输方式之下、而且同时发传输请求时,系统到底先响应哪个请求?3.缓冲区,5.5.6接口部件和多字节数据总线的连接,随着CPU的不断升级,数据总线的位数不断增加,但接口部件通常采用8位数据宽度。8位的接口芯片如何与16位系统相连?在实际使用中,I/O接口通常连接在低8位数据总线上。,5.5.6接口部件和地址总线的错位连接,以16位系统为对象来说明:错位连接:硬件上将系统总线的A1与接口的A0引脚连接,软件设计时使用连续的偶地址代替接口的奇偶地址,就可以保证总是用数据总线的低八位和接口交换数据。,设一个接口的输入端口地址为0100H,而它的状态端口地址为0104H,状态口中第5位为1表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论