微机原理与接口第7章CPU与外设之间数据传送的方式_第1页
微机原理与接口第7章CPU与外设之间数据传送的方式_第2页
微机原理与接口第7章CPU与外设之间数据传送的方式_第3页
微机原理与接口第7章CPU与外设之间数据传送的方式_第4页
微机原理与接口第7章CPU与外设之间数据传送的方式_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、第7章 输入/输出与中断 1教学内容教学内容 本章介绍输入输出接口的基本概念,本章介绍输入输出接口的基本概念,cpu与外与外设间的数据传送方式,中断传送方式及相关技术,设间的数据传送方式,中断传送方式及相关技术,以及可编程中断控制器以及可编程中断控制器8259a的结构及编程方法。的结构及编程方法。具体内容如下:具体内容如下:1、i/o接口概述接口概述2、cpu与外设之间数据传送的方式与外设之间数据传送的方式3、中断技术、中断技术4、8086/8088中断系统中断系统5、可编程中断控制器、可编程中断控制器intel 8259a第7章 输入/输出与中断 2 1. 了解了解i/o接口电路的主要功能、

2、内部和外部特接口电路的主要功能、内部和外部特点、端口编址方法、点、端口编址方法、i/o地址译码特点地址译码特点2. 掌握输入输出指令掌握输入输出指令3. 掌握无条件、查询传送方式掌握无条件、查询传送方式4. 理解中断、中断源、中断工作过程、中断源理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套识别、优先权排队和中断嵌套5. 理解理解dma传送的工作过程传送的工作过程第7章 输入/输出与中断 3第7章 输入/输出与中断 7.1 i/o接口概述接口概述 7.2 cpu与外设之间数据传送的方式与外设之间数据传送的方式 7.3 中断技术中断技术 7.4 8086/8088 中断系统中断

3、系统 7.5 可编程中断控制器可编程中断控制器intel 8259a 第7章 输入/输出与中断 4第7章:7.1 i/o接口概述为什么需要i/o接口(电路)?微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与cpu直接相连必须经过中间电路再与系统相连这部分电路被称为i/o接口电路多种外设多种外设第7章 输入/输出与中断 5第7章:7.1 i/o接口概述(续1)什么是i/o接口(电路)? i/o接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 pc机系统板的可编程接口芯片、i/o总线槽的电路板(适配器)都是接口电路第7章 输入/输出与中断

4、6第7章:7.1 i/o接口概述(续2)什么是微机接口技术? 处理微机系统与外设间联系的技术 注意其软硬结合的特点 根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备第7章 输入/输出与中断 7第7章:7.1.1 i/o接口的主要功能 对输入输出数据进行缓冲和锁存输出接口有锁存环节;输入接口有缓冲环节实际的电路常见:输出锁存缓冲环节、输入锁存缓冲环节 对信号的形式和数据的格式进行变换微机直接处理:数字量、开关量、脉冲量 对i/o端口进行寻址 与cpu和i/o设备进行联络第7章 输入/输出与中断 87.1.2 cpu与外设交换的信息与外设交换的信息 主机与i/

5、o设备之间交换的信息可分为数据信息、状态信息和控制信息三类。 1数据信息 数据信息又分为数字量、模拟量和开关量三种形式。 1) 数字量 数字量是计算机可以直接发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等i/o外设与 cpu交换的信息,它们是以二进制形式表示的数或以ascii码表示的数符。 第7章 输入/输出与中断 9 2) 模拟量模拟量 当计算机应用于控制系统中时,输入的信息一般为来自现当计算机应用于控制系统中时,输入的信息一般为来自现场的连续变化的物理量,如场的连续变化的物理量,如温度、压力、流量、位移、湿度温度、压力、流量、位移、湿度等,等,这些物理量通过传感器并经放大处理

6、得到模拟电压或电流,这这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过些模拟量必须先经过模拟量向数字量的转换模拟量向数字量的转换(a/d转换转换)后才能后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也输入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字必须先经过数字量向模拟量的转换量向模拟量的转换(d/a转换转换),把数字量转换把数字量转换成模拟量才能去控制现场。成模拟量才能去控制现场。 3) 开关量开关量 开关量可表示两个状态,如开关的断开和闭合,机器的运开关量可表示两个状态,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。转与停

7、止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接这些开关量通常要经过相应的电平转换才能与计算机连接。开。开关量只要用一位二进制数即可表示。关量只要用一位二进制数即可表示。 第7章 输入/输出与中断 10 2. 状态信息状态信息 状态信息作为状态信息作为cpu与外设之间交换数据时的联络信息,反与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口映了当前外设所处的工作状态,是外设通过接口送往送往cpu的。的。cpu通过对外设状态信号的读取,可得知输入设备的数据是否通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。准备

8、好、输出设备是否空闲等情况。对于输入设备,对于输入设备,一般用准备好一般用准备好(ready)信号信号的高低来表明待输的高低来表明待输入的数据是否准备就绪;入的数据是否准备就绪;对于输出设备,对于输出设备,则用则用忙忙(busy)信号的高低表示输出设备是否处信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收于空闲状态,如为空闲状态,则可接收cpu输出的信息,否则输出的信息,否则cpu要暂停送数。要暂停送数。第7章 输入/输出与中断 11 3控制信息控制信息 控制信息是控制信息是cpu通过接口传送给外设的通过接口传送给外设的,cpu通过发送控制通过发送控制信息设置外设信息设置外设(包

9、括接口包括接口)的工作模式、控制外设的工作。的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。控制信息往往随着外设的具体工作原理不同而含义不同。 虽然数据信息、状态信息和控制信息含义各不相同,但在虽然数据信息、状态信息和控制信息含义各不相同,但在微型计算机系统中,微型计算机系统中,cpu通过接口和外设交换信息时,只能用通过接口和外设交换信息时,只能用输入指令输入指令(in)和输出指令和输出指令 (out)传送数据,所以传送数据,所以状态信息、控状态信息、控制信

10、息也是被作为数据信息来传送的,即把状态信息作为一种制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总线来传送。和控制信息也通过数据总线来传送。但在接口中,这三种信息但在接口中,这三种信息是在不同的寄存器中分别存放的。是在不同的寄存器中分别存放的。 第7章 输入/输出与中断 127.1.3 i/o接口的基本结构接口的基本结构 i/o接口的基本结构如图接口的基本结构如图7.2所示。每个接口电路中都包含一所示。每个接口电路中都包含一组寄存器,组寄存器,cpu与外设进行

11、信息交换时,各类信息在接口中存入与外设进行信息交换时,各类信息在接口中存入不同的寄存器,不同的寄存器,一般称这些寄存器为一般称这些寄存器为i/o端口,简称为口端口,简称为口(port)。用来保存用来保存cpu和外设之间传送的数据和外设之间传送的数据(如数字、字符及某种特定如数字、字符及某种特定的编码等的编码等)、对输入、对输入/输出数据起缓冲作用的数据寄存器称为输出数据起缓冲作用的数据寄存器称为数据数据端口;端口;用来存放外设或者接口部件本身状态的状态寄存器称为用来存放外设或者接口部件本身状态的状态寄存器称为状态端口状态端口;用来存放用来存放cpu发往外设的控制命令的控制寄存器称为发往外设的控

12、制命令的控制寄存器称为控制端口控制端口。 第7章 输入/输出与中断 13cbabdbcpu数据端口状态端口i/o设备译码控制端口图图7.2 一个典型的一个典型的i/o接口接口 第7章 输入/输出与中断 14 正如每个存储单元都有一个物理地址一样,每个端口也有一正如每个存储单元都有一个物理地址一样,每个端口也有一个地址与之相对应,该地址称为个地址与之相对应,该地址称为端口地址端口地址。有了端口地址,。有了端口地址,cpu对外设的输入对外设的输入/输出操作实际上就是对输出操作实际上就是对i/o接口中各端口的读接口中各端口的读/写操作。写操作。数据端口一般是双向的数据端口一般是双向的,数据是输入还是

13、输出,取决,数据是输入还是输出,取决于对该端口地址进行操作时于对该端口地址进行操作时cpu发往接口电路的读发往接口电路的读/写控制信号。写控制信号。由于由于状态端口只做输入操作,控制端口只做输出操作状态端口只做输入操作,控制端口只做输出操作,因此,有,因此,有时为了节省系统地址空间,在时为了节省系统地址空间,在设计接口时往往将这两个端口共用设计接口时往往将这两个端口共用一个端口地址,再用读一个端口地址,再用读/写信号来分别选择访问。写信号来分别选择访问。 注意点注意点:输入输入/输出操作所用到的地址总是对端口而言,而不输出操作所用到的地址总是对端口而言,而不是对接口而言的。接口和端口是两个不同

14、的概念,是对接口而言的。接口和端口是两个不同的概念,若干个端口加若干个端口加上相应的控制电路才构成接口。上相应的控制电路才构成接口。 第7章 输入/输出与中断 157.1.4 i/o端口的编址端口的编址 微型计算机系统中微型计算机系统中i/o端口编址方式有两种:端口编址方式有两种:i/o端口与内存端口与内存单元统一编址和单元统一编址和 i/o端口与内存单元独立编址。端口与内存单元独立编址。 1i/o端口与内存单元统一编址端口与内存单元统一编址 这种编址方式是对这种编址方式是对i/o端口和存储单元按照存储单元的编址端口和存储单元按照存储单元的编址方法统一编排地址号,由方法统一编排地址号,由i/o

15、端口地址和存储单元地址共同构成端口地址和存储单元地址共同构成一个统一的地址空间。例如,对于一个有一个统一的地址空间。例如,对于一个有16根地址线的微机系根地址线的微机系统,若采用统一编址方式,其地址空间的结构如图统,若采用统一编址方式,其地址空间的结构如图7.3所示。所示。 第7章 输入/输出与中断 16图7.3 i/o端口与内存单元统一编址存储器i/o 端口0000hxxxxhffffh整个地址空间(xxxx+1)hi/o端口优点:优点:不需要专门的不需要专门的i/o指指令令i/o数据存取与存储数据存取与存储器数据存取一样灵器数据存取一样灵活活缺点:缺点:i/o端口要占去部分端口要占去部分存

16、储器地址空间存储器地址空间程序不易阅读(不程序不易阅读(不易分清访存和访问易分清访存和访问外设)外设)第7章 输入/输出与中断 17 2i/o端口与内存单元独立编址端口与内存单元独立编址 在这种编址方式中,建立了两个地址空间,一个为内存地在这种编址方式中,建立了两个地址空间,一个为内存地址空间,一个为址空间,一个为i/o地址空间。内存地址空间和地址空间。内存地址空间和i/o地址空间是地址空间是相对独立的,通过控制总线来确定相对独立的,通过控制总线来确定cpu到底要访问内存还是到底要访问内存还是i/o端口。为确保控制总线发出正确的信号,除了要有访问内存的端口。为确保控制总线发出正确的信号,除了要

17、有访问内存的指令之外,系统还要提供用于指令之外,系统还要提供用于cpu与与i/o端口之间进行数据传输端口之间进行数据传输的输入的输入/输出指令。输出指令。 第7章 输入/输出与中断 18 80 x86 cpu组成的微机系统都采用独立编址方式。组成的微机系统都采用独立编址方式。在在8086/8088系统中,共有系统中,共有20根地址线对内存寻址,内存的地址范根地址线对内存寻址,内存的地址范围是围是00000hfffffh;用地址总线的低;用地址总线的低16位对位对i/o端口寻址,端口寻址,所以所以i/o端口的地址范围是端口的地址范围是0000hffffh,如图,如图7.4所示。所示。cpu在访问

18、内存和外设时,使用了不同的控制信号来加以区分。在访问内存和外设时,使用了不同的控制信号来加以区分。例如,当例如,当8086 cpu的的m/io信号为信号为1时,表示地址总线上的地址时,表示地址总线上的地址是一个内存地址;为是一个内存地址;为0时,则表示地址总线上的地址是一个端口时,则表示地址总线上的地址是一个端口地址。地址。 第7章 输入/输出与中断 19图7.4 i/o端口与内存单元独立编址 优点: i/o端口的地址空间独立 控制和地址译码电路相对简单 专门的i/o指令使程序清晰易读 缺点: i/o指令没有存储器指令丰富内存内存空间空间i/o空间空间fffff0ffff80 x86采用采用i

19、/o端口独立编址端口独立编址第7章 输入/输出与中断 20 3i/o端口的地址译码端口的地址译码 in al, 21h out 43h, al 微机系统常用的微机系统常用的i/o接口电路接口电路一般都被设计成通用的一般都被设计成通用的i/o接接口芯片,一个接口芯片内部可以有若干可寻址的端口。因此,口芯片,一个接口芯片内部可以有若干可寻址的端口。因此,所有接口芯片都有片选信号线和用于片内端口寻址的地址线。所有接口芯片都有片选信号线和用于片内端口寻址的地址线。例如,某接口芯片内有四个端口地址例如,某接口芯片内有四个端口地址(8255),则该芯片外就会有,则该芯片外就会有两根地址线。本书第两根地址线

20、。本书第8章中将详细介绍几种常用的章中将详细介绍几种常用的i/o接口芯片。接口芯片。 i/o端口地址译码端口地址译码的方法有多种,一般的原则是把的方法有多种,一般的原则是把cpu用于用于i/o端口寻址的地址线端口寻址的地址线分为高位地址线和低位地址线两部分分为高位地址线和低位地址线两部分,将将低位地址线直接连到低位地址线直接连到i/o接口芯片的相应地址引脚接口芯片的相应地址引脚,实现片内,实现片内寻址,即选中片内的端口;寻址,即选中片内的端口;将将高位地址线与高位地址线与cpu的控制信号组合的控制信号组合,经地址译码电路产生,经地址译码电路产生i/o接口芯片的片选信号。接口芯片的片选信号。 第

21、7章 输入/输出与中断 217.2 cpu与外设之间数据传送的方式与外设之间数据传送的方式 7.2.1 程序传送方式程序传送方式 1无条件传送方式无条件传送方式 无条件传送流程无条件传送流程 微机系统中的一些简单的外设,如开关、继电器、数码管、微机系统中的一些简单的外设,如开关、继电器、数码管、发光二极管等,在它们工作时,可以认为输入设备已随时准备好发光二极管等,在它们工作时,可以认为输入设备已随时准备好向向cpu提供数据,而输出设备也随时准备好接收提供数据,而输出设备也随时准备好接收cpu送来的数送来的数据,这样,在据,这样,在cpu需要同外设交换信息时,就能够用需要同外设交换信息时,就能够

22、用in或或out指令直接对这些外设进行输入指令直接对这些外设进行输入/输出操作。由于在这种方式下输出操作。由于在这种方式下cpu对外设进行输入对外设进行输入/输出操作时无需考虑外设的状态,故称之输出操作时无需考虑外设的状态,故称之为无条件传送方式。为无条件传送方式。 第7章 输入/输出与中断 22 对于简单外设,若采用无条件传送方式,其接口电路也很简单。对于简单外设,若采用无条件传送方式,其接口电路也很简单。如简单外设作为如简单外设作为输入设备输入设备时,可直接使用三态缓冲器和数据总线时,可直接使用三态缓冲器和数据总线相连,如图相连,如图7.5(a)所示。要求所示。要求cpu在执行输入指令时,

23、外设的数在执行输入指令时,外设的数据是准备好的,即数据已经存入三态缓冲器中。据是准备好的,即数据已经存入三态缓冲器中。 简单外设为简单外设为输出设备输出设备时,由于外设取数的速度比较慢,要求时,由于外设取数的速度比较慢,要求cpu送出的数据在接口电路的输出端保持一段时间,因而一般送出的数据在接口电路的输出端保持一段时间,因而一般都需要锁存器,如图都需要锁存器,如图7.5(b)所示。所示。cpu输出的信息经过数据总线输出的信息经过数据总线送入输出锁存器中,输出锁存器保持这个数据,直到外设取走。送入输出锁存器中,输出锁存器保持这个数据,直到外设取走。 无条件传送方式下,程序设计和接口电路都很简单,

24、但是为了保无条件传送方式下,程序设计和接口电路都很简单,但是为了保证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。对少量的数据传送来说,无条件传送方式是最经济实用的一种传对少量的数据传送来说,无条件传送方式是最经济实用的一种传送方法。送方法。 第7章 输入/输出与中断 23(b)至外设数据总线(db)地址总线(ab)锁存器来自cpu的数据地址译码器wriom/(a)来自外设的数据数据总线(db)地址译码器地址总线(ab)1三态缓冲器至cpurdiom/1图图7.5 无条件传送方式无条件传送方式(a) 无条件传送数据输入;无条件传送

25、数据输入;(b) 无条件传送数据输出无条件传送数据输出 第7章 输入/输出与中断 24 2查询传送方式查询传送方式 查询传送流程查询传送流程 查询传送也称为条件传送,查询传送也称为条件传送,是指在执行输入指令是指在执行输入指令(in)或输出或输出指令指令(out)前,要先查询相应设备的状态,当输入设备处于准前,要先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,备好状态,输出设备处于空闲状态时,cpu才执行输入才执行输入/输出输出指令与外设交换信息。接口电路中既要有指令与外设交换信息。接口电路中既要有数据端口,还要有状数据端口,还要有状态端口态端口。 查询传送方式的流程图

26、见图查询传送方式的流程图见图7.6。采用查询方式完成一次数据。采用查询方式完成一次数据传送要经历如下过程:传送要经历如下过程:(1) cpu从接口中读取状态字。从接口中读取状态字。(2) cpu检测相应的状态位是否满足检测相应的状态位是否满足“就绪就绪”条件。条件。(3) 如果不满足,则重复如果不满足,则重复(1)、(2)步;若外设已处于步;若外设已处于“就绪就绪”状状态,则传送数据。态,则传送数据。第7章 输入/输出与中断 25图图7.6 查询传送方式的流程图查询传送方式的流程图nyy取外设状态外设准备就绪?n开始传送数据传送完否?结束第7章 输入/输出与中断 26 图图7.7给出的是采用查

27、询传送方式进行输入操作的接口电路。给出的是采用查询传送方式进行输入操作的接口电路。输入设备在数据准备好之后向接口发选通信号,此信号有两个作输入设备在数据准备好之后向接口发选通信号,此信号有两个作用:用:一方面将外设中的数据送到接口的锁存器中;一方面将外设中的数据送到接口的锁存器中;另一方面使接口中的一个另一方面使接口中的一个d触发器输出触发器输出“1”,从而使三态缓冲器,从而使三态缓冲器的的ready位置位置“1”。cpu输入数据前先用输入指令读取状态字,测试输入数据前先用输入指令读取状态字,测试ready位,若位,若ready位为位为“1”,说明数据已准备就绪,再执行输入指令读入,说明数据已

28、准备就绪,再执行输入指令读入数据。由于在读入数据时信号已将状态位数据。由于在读入数据时信号已将状态位ready清清0,于是可,于是可以开始下一个数据输入过程。以开始下一个数据输入过程。 第7章 输入/输出与中断 27选通状态信息ready数据总线db至cpu地址译码器&5 v锁存器数据缓冲器三态缓冲器q d输入设备数据状态端口译码输出数据端口译码输出rrd&io/mrd地址总线ab图图7.7 查询式输入的接口电路查询式输入的接口电路 第7章 输入/输出与中断 28 图图7.8给出的是采用查询传送方式进行输出操作的接口电路。给出的是采用查询传送方式进行输出操作的接口电路。cpu输出数据时,先用输

29、入指令读取接口中的状态字,测试输出数据时,先用输入指令读取接口中的状态字,测试busy位,若位,若busy位为位为0,表明外设空闲,此时,表明外设空闲,此时cpu才执行输出才执行输出指令,否则指令,否则cpu必须等待。执行输出指令时由端口选择信号、必须等待。执行输出指令时由端口选择信号、m/io信号和写信号共同产生的选通信号将数据总线上的数据打入信号和写信号共同产生的选通信号将数据总线上的数据打入接口中的数据锁存器,同时将接口中的数据锁存器,同时将d触发器置触发器置1。d触发器的输出信号触发器的输出信号一方面为外设提供一个联络信号,通知外设将锁存器锁存的数据一方面为外设提供一个联络信号,通知外

30、设将锁存器锁存的数据取走;另一方面使状态寄存器的取走;另一方面使状态寄存器的busy位置位置1,告诉,告诉cpu当前外设当前外设处于忙状态,从而阻止处于忙状态,从而阻止cpu输出新的数据。输出设备从接口中取输出新的数据。输出设备从接口中取走数据后,会送一个回答信号走数据后,会送一个回答信号ack,该信号使接口中的,该信号使接口中的d触发器触发器置置0,从而使状态寄存器中的,从而使状态寄存器中的busy位清位清0,以便开始下一个数据,以便开始下一个数据输出过程。输出过程。 第7章 输入/输出与中断 29去cpudb输出设备&数据地址译码器数据端口译码输出地址总线db状态端口译码输出状态寄存器bu

31、sy5 v锁存器qd数据总线db来自cpu选通信号ackwrio/mr&rdio/m图7.8 查询式输出的接口电路 第7章 输入/输出与中断 30 查询传送方式的查询传送方式的主要优点主要优点是能保证主机与外设之间协调同步地是能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。工作,且硬件线路比较简单,程序也容易实现。在这种方式下,在这种方式下,cpu花费了很多时间查询外设是否准备就绪,花费了很多时间查询外设是否准备就绪,在这些时间里在这些时间里cpu不能进行其他的操作不能进行其他的操作,浪费浪费cpu时间;时间;在实时控制系统中,若采用查询传送方式,由于一个外设的输在实时

32、控制系统中,若采用查询传送方式,由于一个外设的输入入/输出操作未处理完毕就不能处理下一个外设的输入输出操作未处理完毕就不能处理下一个外设的输入/输出,故输出,故不能达到实时处理的要求,不能达到实时处理的要求,实时性差。实时性差。查询传送方式适用于数据输入查询传送方式适用于数据输入/输出不太频繁且外设较少、对实输出不太频繁且外设较少、对实时性要求不高的情况。时性要求不高的情况。 不论是无条件传送方式还是查询传送方式,都不能发现和处不论是无条件传送方式还是查询传送方式,都不能发现和处理预先无法估计的错误和异常情况。为了提高理预先无法估计的错误和异常情况。为了提高cpu的效率、增的效率、增强系统的实

33、时性,并且能对随机出现的各种异常情况做出及时反强系统的实时性,并且能对随机出现的各种异常情况做出及时反应,通常采用中断传送方式。应,通常采用中断传送方式。 第7章 输入/输出与中断 317.2.2 中断传送方式中断传送方式 中断传送流程中断传送流程 中断传送方式是指当外设需要与中断传送方式是指当外设需要与cpu进行进行信息交换时,由外信息交换时,由外设向设向cpu发出请求信号,使发出请求信号,使cpu暂停正在执行的程序,转去执暂停正在执行的程序,转去执行数据的输入行数据的输入/输出操作,数据传送结束后,输出操作,数据传送结束后,cpu再继续执行被再继续执行被暂停的程序。暂停的程序。查询传送方式

34、查询传送方式是由是由cpu来查询外设的状态,来查询外设的状态,cpu处于主动地位,处于主动地位,而外设处于被动地位。而外设处于被动地位。中断传送方式中断传送方式则是由外设主动向则是由外设主动向cpu发出请求,等候发出请求,等候cpu处理,处理,在没有发出请求时,在没有发出请求时,cpu和外设都可以独立进行各自的工作。和外设都可以独立进行各自的工作。目前的微处理器都具有中断功能,而且已经不仅仅局限于数据目前的微处理器都具有中断功能,而且已经不仅仅局限于数据的输入的输入/输出,而是在更多的方面有重要的应用。例如实时控制、输出,而是在更多的方面有重要的应用。例如实时控制、故障处理以及故障处理以及bi

35、os和和dos功能调用等。功能调用等。第7章 输入/输出与中断 32中断传送方式的中断传送方式的优点优点是:是:cpu不必查询等待,工作效率高,不必查询等待,工作效率高,cpu与外设可以并行工作;与外设可以并行工作;由于外设具有申请中断的主动权,故系统实时性比查询方式要由于外设具有申请中断的主动权,故系统实时性比查询方式要好得多。好得多。缺点:缺点:采用中断传送方式的接口电路相对复杂,而且每进行一采用中断传送方式的接口电路相对复杂,而且每进行一次数据传送就要中断一次次数据传送就要中断一次cpu,cpu每次响应中断后,都要转每次响应中断后,都要转去执行中断处理程序,且都要进行断点和现场的保护和恢

36、复,去执行中断处理程序,且都要进行断点和现场的保护和恢复,浪费了很多浪费了很多cpu的时间。的时间。故中断传送方式一般故中断传送方式一般适合于少量的数据传送。适合于少量的数据传送。对于大批量数据的输入对于大批量数据的输入/输出,可采用高速的直接存储器存取方输出,可采用高速的直接存储器存取方式,即式,即dma方式。方式。 第7章 输入/输出与中断 337.2.3 直接存储器存取直接存储器存取(dma)传送方式传送方式 1dma传送方式简介传送方式简介场合:场合: dma传送方式是在传送方式是在存储器和外设之间、存储器和存储器存储器和外设之间、存储器和存储器之间直接进行数据传送之间直接进行数据传送

37、(如磁盘与内存间交换数据、高速数据采如磁盘与内存间交换数据、高速数据采集、内存和内存间的高速数据块传送等集、内存和内存间的高速数据块传送等)。特点:特点:传送过程无需传送过程无需cpu介入,在传送时就不必进行保护现场介入,在传送时就不必进行保护现场等一系列额外操作,传输速度基本取决于存储器和外设的速度。等一系列额外操作,传输速度基本取决于存储器和外设的速度。要求:要求:dma传送方式需要一个专用接口芯片传送方式需要一个专用接口芯片dma控制器控制器(dmac)对传送过程加以控制和管理。对传送过程加以控制和管理。过程:过程:在进行在进行dma传送期间,传送期间,cpu放弃总线控制权,将系统总放弃

38、总线控制权,将系统总线交由线交由dmac控制,由控制,由dmac发出地址及读发出地址及读/写信号来实现高速写信号来实现高速数据传输。传送结束后数据传输。传送结束后dmac再将总线控制权交还给再将总线控制权交还给cpu。一。一般微处理器都设有用于般微处理器都设有用于dma传送的联络线。传送的联络线。 第7章 输入/输出与中断 34控制/状态dma响应数据readydma请求hldaholddma控制器数据端口控制/状态端口地址寄存器cpudma请求触发器数据缓冲输入设备数据计数器存储器图7.9 dma系统结构框图 第7章 输入/输出与中断 35 2dma控制器的工作方式控制器的工作方式 1) 单

39、字节传输方式单字节传输方式 在该方式下,在该方式下,dmac每次控制总线后只传输一个字节,传输每次控制总线后只传输一个字节,传输完后即释放总线控制权。完后即释放总线控制权。 2) 成组传输方式成组传输方式(块传输方式块传输方式) 3) 请求传输方式请求传输方式 在该方式下,每传输完一个字节,在该方式下,每传输完一个字节,dmac都要检测都要检测i/o接口接口发来的发来的dma请求信号是否有效。若有效,则继续进行请求信号是否有效。若有效,则继续进行dma传输;传输;否则就暂停传输,否则就暂停传输,将总线控制权交还给将总线控制权交还给cpu,直至,直至dma请求信请求信号再次变为有效,再从刚才暂停

40、的那一点继续传输。号再次变为有效,再从刚才暂停的那一点继续传输。 第7章 输入/输出与中断 36 3dma操作的基本过程操作的基本过程 dma传送流程传送流程 1)dmac的初始化的初始化 (1) 指定数据的传送方向。指定数据的传送方向。指定外设对存储器是做读操作还是指定外设对存储器是做读操作还是写操作,这就要对控制写操作,这就要对控制/状态寄存器中的相应控制位置数。状态寄存器中的相应控制位置数。 (2) 指定地址寄存器的初值。指定地址寄存器的初值。即给出存储器中用于即给出存储器中用于dma传送传送的数据区的首地址。的数据区的首地址。 (3) 指定计数器的初值。指定计数器的初值。即明确有多少数

41、据需要传送。即明确有多少数据需要传送。 第7章 输入/输出与中断 37 2) dma数据传送,数据传送,按以下步骤进行按以下步骤进行(以数据输入为例以数据输入为例) (1) 外围设备发选通脉冲,把输入数据送入缓冲寄存器,并外围设备发选通脉冲,把输入数据送入缓冲寄存器,并使使dma请求触发器置请求触发器置1。 (2) dma请求触发器向控制请求触发器向控制/状态端口发准备就绪信号,同状态端口发准备就绪信号,同时向时向dma控制器发控制器发dma请求信号。请求信号。 (3) dma控制器向控制器向cpu发出总线请求信号发出总线请求信号(hold)。 (4) cpu在完成了现行机器周期后,即响应在完成了现行机器周期后,即响应dma请求,发出请求,发出总线允许信号总线允许信号(hlda),并由,并由dma控制器发出控制器发出dma响应信号。响应信号。此时,由此时,由dma控制器接管系统总线。控制器接管系统总线。 (5) dma控制器发出存储器地址,并在数据总线上给出数据,控

温馨提示

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

评论

0/150

提交评论