教案19-微型机技术-输入输出传送方式_第1页
教案19-微型机技术-输入输出传送方式_第2页
教案19-微型机技术-输入输出传送方式_第3页
教案19-微型机技术-输入输出传送方式_第4页
教案19-微型机技术-输入输出传送方式_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 微型机原理与应用 第 22 次课章节名称第六章 输入/输出接口6.3 CPU与外设之间的数据传送的控制方式目的要求掌握CPU与外设之间的数据传送控制方式及其特点和适用条件。主要内容与时间概算序号主要内容时间概算1回顾7分2CPU与外设之间的数据传送方式3分3无条件传送方式22分4查询传送方式18分5中断传送方式20分6程序控制传送方式总结5分7DMA传送方式20分8I/O处理机方式5分共计100分重点难点重点:查询、中断、DMA传送方式的工作过程;各种传送方式的特点和适用条件。难点:中断、DMA传送方式的工作过程。方法手段课堂讲授(续表)课 堂 提 问1、数据传送的控制方式为什么不在存储器一

2、章中介绍?2、无条件传送方式时数据传送的可靠性怎么保障?3、当系统中外设数量较多,且各外设的传送响应速度要求较高时,采取何种措施?4、当有多个外设都以中断方式与CPU传送数据时应如何处理?5、对于高速的I/O有批量数据与存储器传送的情况,有没有更高效的数据传送控制方式?6、如何解决因CPU的直接干预造成的传送效率下降问题?7、有没有一个对输入输出操作最根本最彻底的解决方案?本 次 课 内 容 总 结1、回顾5中数据传送控制方式。2、对每一种数据传送控制方式的适用条件、场合、和特点进行总结。3、结论:数据传送性能的提高必然引起软硬件开销的加大。思考题作业题思考题:和DMA方式相比,中断传输方式有

3、什么不足?习 题:P217:6,8参考资料微型计算机技术孙德文主编 高教出版社填表说明:1.该表供主讲教员备课使用,每次课均应按表中所列内容填写,各次课构成一门课教案的整体;2.表中相关项目内容的详略程度由主讲教员酌情掌握;3.该表可书写或电脑录入,书写字迹应工整,电脑录入应按格式中显示的字体、字号(仿宋GB2312小四)填写,外语可用Times New Roman字体。授课内容主要内容重要内容回顾输入输出数据传送的控制方式无条件传送方式查询传送方式中断传送方式DMA方式I/O处理机方式一、 知识的回顾与问题的引出回顾:今天这一节课我们将向大家介绍第六章第二部分内容,数据的传送控制方式。今天的

4、内容主要有以下几点:重要内容回顾输入输出数据传送的控制方式无条件传送方式查询传送方式中断传送方式DMA方式I/O处理机方式在学习新的内容之前我们首先回顾一下上一节课当中学习的重要知识点。1、I/O接口:计算机和外部设备之间传递信息的缓冲部件(框图如下)。2、I/O端口:接口中可供CPU直接访问的具体电路(一般指接口中可供CPU读写的寄存器或缓冲器)(框图如下)。一般的I/O接口中都有若干数据端口、状态端口和控制端口。例如下面就是一个简单的输入端口的例子(简单解释) 3、I/O地址空间:系统中所有I/O接口中的全部I/O端口组成的地址空间(字节型)。80X86系列微机系统的I/O空间由地址线的低

5、16位寻址。(给出8086系统中地址空间的分配简图)引出:以上就是我们上节课给大家讲解得重点内容。下面我们进入本节课内容的学习:CPU与外设之间的数据传送方式。什么是数据传送的控制方式呢?:数据传送的控制方式是在输入/输出数据传送时,为了保证数据传送的可靠性和高效性,必须采取的某种控制策略。那么存储器也是要与CPU进行数据传送的,为什么在存储器中不讨论这个问题?主要原因有:CPU与存储器进行数据传送时:各存储器单元的基本构成、组织方式、传送速率等完全一致;CPU与存储器的数据传送速度大致接近(用TW协调);CPU在任何时刻都可以访问任意存储单元中的数据(存储器随时准备好)。因此我们得到结论:数

6、据传送的可靠性和高效性有保障。 但是: CPU与I/O进行数据传送时:各I/O端口可能分属于不同的I/O;不同的I/O工作原理、数据的组织方式、数据传送的速度差别很大;CPU在访问I/O端口时,端口并非随时准备好。得到结论:CPU与外设数据传送时,数据传送的可靠性和高效性问题尤为突出。因此需要有专门的方法来解决这个问题。二、 输入输出数据传送的控制方式今天介绍的数据传送控制方式有以下几种:无条件传送方式、查询传送方式、中断传送方式、DMA方式、I/O处理机方式;这几种数据传送方式在系统效率、可靠性、硬件接口、软件控制及应用场合各异。 1、 无条件传送方式传送方法:根据程序的需要,在需要执行输入

7、/输出操作时,直接插入一条I/O指令,完成输入/输出操作(前提:外设任何时刻都准备好); 或在固定的时间(或时间间隔)直接插入一条I/O指令,完成输入/输出操作(前提:外设准备好是定时已知的)。例:读开关数据任何时刻开关电路都有其自己的状态,可以随时直接读取。例:读A/D转换器A/D转换器的转换结果在固定的时间出现,可以定时读取。程序实现:在程序需要做输入输出操作的位置直接插入一条I/O指令,执行I/O数据传送操作(给出简单流程图)。接口电路: 无条件输入 无条件输出在硬件上只需要给出相应的数据端口就可以了。例:一个同步传送的数据采集系统。控制过程: 1)断开所有继电器(向20端口送全0)2)

8、等待所有开关可靠断开3)接通一路模拟量(向20端口送一位1)4)等待一位开关吸合及转换结束5)读转换数据(从10端口输入)6)存结果7)回到1.,直至8路模拟量巡回一遍。 程序: START: MOV DX,0100H ; 初值 LEA BX,DSTOR ;置数据存储地址 CLC AGAIN: MOV AL,DL OUT 20H,AL ;断开所有开关 CALL NEAR DELAY1 MOV AL,DH OUT 20H,AL ;接通一个开关 CALL NEAR DELAY2 IN AX,10H ;读数字电压表内容 MOV BX,AX ;存数 INC BX INC BX RCL DH,1;带进位

9、循环左移 JNC AGAIN ;未循环一遍继续特点分析在数据传送时,总是认为I/O设备处于准备就绪的状态,因此, 可在任何需要的时刻直接访问I/O端口进行数据传送。控制简单,所需的软硬件最少。适于外设准备好数据是定时且已知的等简单应用。缺点:实际不可靠的数据传送方式。适用条件无条件数据传送方式适用于外部控制过程的各种动作时间是固定而且是已知的情况。外设必须在微处理器限定的时间内准备就绪,并完成数据的传送和接收。问题:如果外设不能做到随时准备好数据,或者外设准备好数据的时间不确定时,数据传送的可靠性将如何保障? (通过分析,提出解决问题的思路-加状态口)2、 查询传送方式当CPU与外设同步工作时

10、,采用无条件传送方式是很方便的,但当CPU与外设工作不同步时,很难确保CPU在执行输入操作时,外设一定是“准备好”的,也不能确保在执行输出操作时,外设寄存器一定是“空”的。为了保证数据传送的正确进行,提出了查询传送方式。传送方法 CPU在传送数据之前,先检查状态端口中该外设是否“准备好”,若没有准备好,则继续查询其状态,等待外设,直至外设准备好了时,才进行数据传送。 程序实现 从上图可以看出,查询式输入方式的接口电路有两个端口,数据信息和状态信息分别由数据端口和状态端口输入到数据总线。若数据为8位,则占有一个8位端口;状态信息只有1位,一个8位的状态端口可供8个外设使用。接口电路采用查询方式的

11、接口一般需要两个端口,即数据端口和状态端口。1)查询式输入 当CPU用查询方式从外设中输入数据时,必须先由状态端口查询外设的数据是否已经准备好,确认准备好后,再由数据端口输入数据。查询式输入方式的接口电路如下图所示。在输入设备的数据准备好以后,发出输入选通信号,此信号一方面将数据输入数据锁存器,另一方面使D触发器(准备就绪触发器)置1,此1信号通过三态缓冲器发出“准备好(READY)”状态信息,它是一位信息,接到CPU数据线的某一位上。当CPU需要由外设输入数据时,先输入一位状态信息,检查外设的数据是否已准备好,若还未准备好,则程序循环等待、查询;若准备好,则从8位数据缓冲器读入数据(执行IN

12、指令),同时使准备就绪触发器复位,即把状态信息置0,表示输入一个数据的操作已经完成。以后当输入设备的数据再次准备好时,它发出“准备好”状态信息,一方面把输入设备的数据暂存入数据寄存器,另一方面使准备就绪触发器置1,等待CPU查询,进入下一个数据输入周期。如此周而复始,每输入一个数据,都重复上述过程。将无条件数据采集系统的例题换为查询传送,如何更改电路?例:查询方式下的数据采集系统电路当中我们只需要多加一个状态端口就可以了。那么要想循环查询各路输入的情况下如何设计程序?控制过程:1.断开所有继电器(向20端口送全0)2. 等待所有开关可靠断开3.接通一路模拟量(向20端口送一位1)4.查询是否转

13、换结束(从30端口输入,判断D0位)5.读转换数据(从10端口输入)6.存结果7.回到1.,直至8路模拟量巡回一遍。程序: START:MOV DL,0F8H MOV DI,OFFSET DSTOR;置数据存储地址 AGAIN:MOV AL,DL AND AL,0EFH ;D4为0,停止A/D转换 OUT 4,AL CALL DELAY MOV AL,DL ;选择一路模拟量进行A/D转换 OUT 4,AL POLL:IN AL,2 ;读状态 SHR AL,1;右移,最低位(D0 )进C JNC POLL ;未就绪转 IN AL,3 ;读转换数据 STOSB ;存数 INC DL ;选择下一路

14、JNE AGAIN ;未循环一遍转特点分析CPU通过查询I/O设备的状态,确认I/O设备已经准备好时,才进行数据传送,数据传送实际可靠;数据传送的实时性好;接口电路中只增加了一个用来传送外设当前状态信息的状态端口,接口较简单。适用条件CPU与外设工作不同步,CPU执行输入输出时,外设不一定处于准备好或空闲状态。若外设不具备工作条件,CPU就要不断查询其状态,直至准备就绪,即CPU一直等待外设具备工作条件。显然这种传送数据的方式使得CPU将大量时间消耗在等待上,降低了CPU的工作效率。特别是当外设数量较多时,CPU必须轮流为每个外设服务,先查询一个外设的工作状态,当它具备工作条件后,与该外设交换

15、数据;然后对每一个外设重复此过程,直至最后一个外设。在这个过程中,若一个外设已具备工作条件,只要CPU未询问到该外设,它也无法工作,唯一可做的是等待CPU的查询。显然,查询传送方式不适合外设较多的系统,也不适合实时性较高的系统,但由于实现这种传送方式的硬件接口电路简单,在CPU不太忙、传送速度要求不高而且连接外设不多(比如:两三台)时,可以采用。无条件、查询传送方式的特点: CPU“全身心”地为单台外设服务, 在外设准备数据的过程中,CPU总是处于等待状态(CPU与外设串行工作)。 当系统中外设数量较多时,使得系统的其它外设得不到及时地服务,CPU利用率和系统效率较低。 适应环境:适于系统中外

16、设数量不多、传送响应速度要求不太高的应用 。当系统中外设数量较多,且各外设的传送响应速度要求较高时,采取何种措施?3、 中断传送方式在查询方式中,外设处于被动的被查询状态,即使已具备工作条件,只要CPU未查询到该外设,它也无法工作,CPU无法快速响应外设要求随机服务的请求;另一方面,当外设的工作速度较慢时,CPU需要耗费大量的等待时间。这些都大大降低了CPU的工作效率,特别不适合实时控制场合。中断传送方式可以解决以上矛盾,大大提高了CPU的工作效率。传送方法: CPU在启动外设工作后,正常执行其它程序,当外设准备好数据时,向CPU发出请求,CPU暂停原程序执行,响应外设的请求,转到该外设的处理

17、程序,进行输入输出操作,操作完成后返回原程序继续执行,而此时外设又开始下一个数据的准备。 在中断方式下,当CPU需要输入时,外设数据已经存入输入寄存器;需要输出时,外设已将接口电路输出数据寄存器中的数据取走,即输出数据寄存器为空。在这种情况下,外设向CPU发出中断请求,CPU每执行完一条指令就自动检查是否有外设申请中断,一旦有中断申请,且中断响应条件均满足,CPU暂停原程序执行,响应中断,转到中断处理程序,进行输入输出操作,操作完成后返回CPU再执行原程序。接口电路:当外设数据准备好,外设向接口电路发出选通信号,此信号一方面将数据打入锁存器,另一方面将中断请求触发器置1。若此时系统允许本接口发

18、出中断,即中断屏蔽触发器置1,接口电路向CPU发出的中断请求信号置0。CPU在运行程序时不断访问信号,若查到为0,且中断允许触发器的状态为1,则CPU在现行指令执行完后,暂停程序的执行,向接口电路发出中断响应信号。于是外设把中断矢量送上数据总线,CPU转入中断服务程序,执行IN指令,读入数据;清除中断请求标志。当中断处理完后,返回原程序。中断允许触发器在CPU内部,它的状态决定了当前CPU是否可以响应可屏蔽中断。中断控制过程CPU在外设准备数据的过程中,正常执行其它程序;当外设准备好数据时,向CPU发出请求(中断);CPU暂停原程序执行,响应外设的请求,转到该外设的处理程序,进行输入输出操作,

19、操作完成后返回原程序继续执行;外设准备下一个数据 ;中断控制过程所涉及的基本问题 CPU在何时响应外设的中断请求? CPU响应外设中断请求的条件? CPU如何转到该外设的处理程序? CPU如何从外设的处理程序返回?当有多个外设都以中断方式与CPU传送数据时应如何处理?第八章当中会对中断做详细解释。特点分析数据传送可靠;可实现主机与外设并行工作;可使CPU同时管理多台外设。缺点:对CPU和外设及其接口电路要求多,控制较复杂。三种方式的共同特点无条件传送方式、查询传送方式和中断传送方式都是程序控制下的以CPU为中心的数据传送方式,其特点是:CPU通过执行指令完成数据传送;CPU亲自参与数据传送的全

20、过程,I/O数据-CPU-存储器,数据传送速度低。 特别不适合较高速的I/O有批量数据向存储器传送的情况。分析程序控制下数据传送的特点:CPU慢速野蛮干预通过思考,引出DMA方式4、 DMA传送方式中断传送方式灵活高效,可完成复杂的任务。但是,由于中断过程是CPU通过执行中断服务程序实现的,为正确返回断点,CPU响应中断请求后,必须将断点地址推到堆栈中保护起来,而且,在中断服务程序中还要保护现场和恢复现场,这些都需要耗费时间,而这些时间并不是实质性的信息传递,因而称为额外开销。假若CPU与高速外设(如磁盘驱动器)之间也用中断方式传送数据,那么每传送一个数据都要重复上述过程,当数据量很大时,这种

21、额外开销将非常大,可能远远大于实际数据传送所需的时间,此时中断传送方式将不再占有优势。 CPU与外设之间大量数据的传送,实际上是外设与存储器之间大量数据的传送,因为CPU内部是不可能存放大量数据的,此时CPU只不过是控制数据在两者之间传送的媒介。为了提高传送速度,设想用另外一个专用硬件取代CPU,直接在外设与存储器之间传送数据,这时数据传送的速度仅取决于存储器的存取速度。这种方式称为“直接存储器存取方式”(direct memory access),简称DMA方式。这种专用硬件称为DMA控制器,简称DMAC。DMAC的种类很多,例如,8237A就是Intel系列中高性能可编程DMA控制器。 D

22、MA传送的工作过程在总线上,可以控制其他部件的部件称为总线主控或主控(bus master),被控部件称为从控(slave)。任意时刻,总线上只有一个主控。DMAC具有独立的控制三大总线来访问存储器和I/O端口的能力,它能像CPU一样提供数据传送所需的地址信息和读写控制信息。在DMA操作之前,应先对DMAC编程,把要传送的数据块长度、数据块在存储器中的起始地址,数据传送方向等信息发送给DMAC。DMA操作过程包括三个阶段:DMA请求;DMA响应和数据传送;传送结束。具体如下:1) DMA操作之前,应先对DMAC编程,把要传送的数据块长度、数据块在存储器中的起始地址,数据传送方向等信息发送给DM

23、AC。2)当外设要求以DMA方式为它服务时,发DMA请求信号DREQ到DMAC。3)DMAC检查该信号是否被屏蔽及其优先权,如确认该信号有效则向CPU发送总线请求信号HRQ(连到CPU的HOLD)。4) 每个总线周期结束时CPU检测HOLD,如为高电平,则响应HOLD请求,输出响应信号HLDA通知DMAC,同时使三态总线CPU侧呈高阻状态。5)DMAC接管总线,并以DACK信号通知外设,使之成为DMA传送时被选中的设备。6.)DMAC给出内存地址以及I/O读写和存储器读写等控制信号,在外设和存储器之间完成数据传送。7) 传送完成后,DMAC放弃总线,撤消总线请求(HRQ为低),CPU检测到HRQ(HOLD)为低后,撤消HLDA,CPU重新获得总线控制权。DMA传送方式的特点 DMAC控制数据传送,但不参与数据传送; 高速高效可靠的数据传送方式; CPU失去对总线的控制权 ; 硬件和

温馨提示

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

评论

0/150

提交评论