《最新微机原理与接口第7章CPU与外设之间数据传送的方式PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与接口第7章CPU与外设之间数据传送的方式PPT课件.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口第微机原理与接口第7章章CPU与与外设之间数据传送的方式外设之间数据传送的方式第7章 输入/输出与中断 学习要求学习要求 1.了解了解I/O接口电路的主要功能、内部和外部特接口电路的主要功能、内部和外部特点、端口编址方法、点、端口编址方法、I/O地址译码特点地址译码特点2.掌握输入输出指令掌握输入输出指令3.掌握无条件、查询传送方式掌握无条件、查询传送方式4.理解中断、中断源、中断工作过程、中断源理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套识别、优先权排队和中断嵌套5.理解理解DMA传送的工作过程传送的工作过程2第7章 输入/输出与中断 第7章 输入/输出与中
2、断 第7章 输入/输出与中断 第7章 输入/输出与中断 第7章 输入/输出与中断 第7章 输入/输出与中断 第7章 输入/输出与中断 2)模拟量模拟量当计算机应用于控制系统中时,输入的信息一般为来自现当计算机应用于控制系统中时,输入的信息一般为来自现场的连续变化的物理量,如场的连续变化的物理量,如温度、压力、流量、位移、湿度温度、压力、流量、位移、湿度等,等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过些模拟量必须先经过模拟量向数字量的转换模拟量向数字量的转换(A/D转换转换)后才能输后才能输入计算机。反过来,计
3、算机输出的控制信号都是数字量,也必入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字须先经过数字量向模拟量的转换量向模拟量的转换(D/A转换转换),把数字量转换成模把数字量转换成模拟量才能去控制现场。拟量才能去控制现场。3)开关量开关量开关量可表示两个状态,如开关的断开和闭合,机器的运开关量可表示两个状态,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。转与停止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接这些开关量通常要经过相应的电平转换才能与计算机连接。开。开关量只要用一位二进制数即可表示。关量只要用一位二进制数即可表示。9第7章 输入/
4、输出与中断 2.状态信息状态信息状态信息作为状态信息作为CPU与外设之间交换数据时的联络信息,反映与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口了当前外设所处的工作状态,是外设通过接口送往送往CPU的。的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。准备好、输出设备是否空闲等情况。对于输入设备,对于输入设备,一般用准备好一般用准备好(READY)信号信号的高低来表明待输的高低来表明待输入的数据是否准备就绪;入的数据是否准备就绪;对于输出设备,对于输出设备,则用则用忙忙(B
5、USY)信号的高低表示输出设备是否处信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则输出的信息,否则CPU要暂停送数。要暂停送数。10第7章 输入/输出与中断 3控制信息控制信息控控制制信信息息是是CPU通通过过接接口口传传送送给给外外设设的的,CPU通通过过发发送送控控制制信息设置外设信息设置外设(包括接口包括接口)的工作模式、控制外设的工作。的工作模式、控制外设的工作。如如外外设设的的启启动动信信号号和和停停止止信信号号就就是是常常见见的的控控制制信信息息。实实际际上上,控制信息往往随着外设的具体工作原理不同而含义不同。
6、控制信息往往随着外设的具体工作原理不同而含义不同。虽然数据信息、状态信息和控制信息含义各不相同,但在虽然数据信息、状态信息和控制信息含义各不相同,但在微型计算机系统中,微型计算机系统中,CPU通过接口和外设交换信息时,只能用通过接口和外设交换信息时,只能用输入指令输入指令(IN)和输出指令和输出指令(OUT)传送数据,所以传送数据,所以状态信息、控制状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据
7、总线来传送。控制信息也通过数据总线来传送。但在接口中,这三种信息是但在接口中,这三种信息是在不同的寄存器中分别存放的。在不同的寄存器中分别存放的。11第7章 输入/输出与中断 7.1.3 I/O接口的基本结构接口的基本结构I/O接口的基本结构如图接口的基本结构如图7.2所示。每个接口电路中都包含一所示。每个接口电路中都包含一组寄存器,组寄存器,CPU与外设进行信息交换时,各类信息在接口中存入与外设进行信息交换时,各类信息在接口中存入不同的寄存器,不同的寄存器,一般称这些寄存器为一般称这些寄存器为I/O端口,简称为口端口,简称为口(Port)。用来保存用来保存CPU和外设之间传送的数据和外设之间
8、传送的数据(如数字、字符及某种特定的如数字、字符及某种特定的编码等编码等)、对输入、对输入/输出数据起缓冲作用的数据寄存器称为输出数据起缓冲作用的数据寄存器称为数据端数据端口;口;用来存放外设或者接口部件本身状态的状态寄存器称为用来存放外设或者接口部件本身状态的状态寄存器称为状态端口状态端口;用来存放用来存放CPU发往外设的控制命令的控制寄存器称为发往外设的控制命令的控制寄存器称为控制端口控制端口。12第7章 输入/输出与中断 图图7.2一个典型的一个典型的I/O接口接口13第7章 输入/输出与中断 正正如如每每个个存存储储单单元元都都有有一一个个物物理理地地址址一一样样,每每个个端端口口也也
9、有有一一个个地地址址与与之之相相对对应应,该该地地址址称称为为端端口口地地址址。有有了了端端口口地地址址,CPU对对外外设设的的输输入入/输输出出操操作作实实际际上上就就是是对对I/O接接口口中中各各端端口口的的读读/写写操操作作。数数据据端端口口一一般般是是双双向向的的,数数据据是是输输入入还还是是输输出出,取取决决于于对对该该端端口口地地址址进进行行操操作作时时CPU发发往往接接口口电电路路的的读读/写写控控制制信信号号。由由于于状状态态端端口口只只做做输输入入操操作作,控控制制端端口口只只做做输输出出操操作作,因因此此,有有时时为为了了节节省省系系统统地地址址空空间间,在在设设计计接接口
10、口时时往往往往将将这这两两个个端端口口共共用用一一个个端口地址,再用读端口地址,再用读/写信号来分别选择访问。写信号来分别选择访问。注意点注意点:输入输入/输出操作所用到的地址总是对端口而言,而不输出操作所用到的地址总是对端口而言,而不是对接口而言的。接口和端口是两个不同的概念,是对接口而言的。接口和端口是两个不同的概念,若干个端口加若干个端口加上相应的控制电路才构成接口。上相应的控制电路才构成接口。14第7章 输入/输出与中断 7.1.4 I/O端口的编址端口的编址微微型型计计算算机机系系统统中中I/O端端口口编编址址方方式式有有两两种种:I/O端端口口与与内内存存单元统一编址和单元统一编址
11、和 I/O端口与内存单元独立编址。端口与内存单元独立编址。1I/O端口与内存单元统一编址端口与内存单元统一编址这种编址方式是对这种编址方式是对I/O端口和存储单元按照存储单元的编址端口和存储单元按照存储单元的编址方法统一编排地址号,由方法统一编排地址号,由I/O端口地址和存储单元地址共同构成端口地址和存储单元地址共同构成一个统一的地址空间。例如,对于一个有一个统一的地址空间。例如,对于一个有16根地址线的微机系根地址线的微机系统,若采用统一编址方式,其地址空间的结构如图统,若采用统一编址方式,其地址空间的结构如图7.3所示。所示。15第7章 输入/输出与中断 图7.3 I/O端口与内存单元统一
12、编址优点:优点:不需要专门的不需要专门的I/O指指令令I/O数据存取与存储数据存取与存储器数据存取一样灵活器数据存取一样灵活缺点:缺点:I/O端口要占去部分端口要占去部分存储器地址空间存储器地址空间程序不易阅读(不易程序不易阅读(不易分清访存和访问外设)分清访存和访问外设)16第7章 输入/输出与中断 2I/O端口与内存单元独立编址端口与内存单元独立编址 在这种编址方式中,建立了两个地址空间,一个为内存地在这种编址方式中,建立了两个地址空间,一个为内存地址空间,一个为址空间,一个为I/O地址空间。内存地址空间和地址空间。内存地址空间和I/O地址空间是地址空间是相对独立的,通过控制总线来确定相对
13、独立的,通过控制总线来确定CPU到底要访问内存还是到底要访问内存还是I/O端口。为确保控制总线发出正确的信号,除了要有访问内存的端口。为确保控制总线发出正确的信号,除了要有访问内存的指令之外,系统还要提供用于指令之外,系统还要提供用于CPU与与I/O端口之间进行数据传输端口之间进行数据传输的输入的输入/输出指令。输出指令。17第7章 输入/输出与中断 80 x86CPU组成的微机系统都采用独立编址方式。组成的微机系统都采用独立编址方式。在在8086/8088系统中,共有系统中,共有20根地址线对内存寻址,内存的地址范根地址线对内存寻址,内存的地址范围是围是00000HFFFFFH;用地址总线的
14、低;用地址总线的低16位对位对I/O端口寻址,端口寻址,所以所以I/O端口的地址范围是端口的地址范围是0000HFFFFH,如图,如图7.4所示。所示。CPU在访问内存和外设时,使用了不同的控制信号来加以区分。在访问内存和外设时,使用了不同的控制信号来加以区分。例如,当例如,当8086CPU的的M/IO信号为信号为1时,表示地址总线上的地址时,表示地址总线上的地址是一个内存地址;为是一个内存地址;为0时,则表示地址总线上的地址是一个端口时,则表示地址总线上的地址是一个端口地址。地址。18第7章 输入/输出与中断 图7.4 I/O端口与内存单元独立编址 优点:I/O端口的地址空间独立控制和地址译
15、码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富内存内存空间空间I/O空间空间FFFFF0FFFF80 x86采用采用I/O端口独立编址端口独立编址19第7章 输入/输出与中断 3I/O端口的地址译码端口的地址译码 IN AL,21H OUT 43H,AL微机系统常用的微机系统常用的I/O接口电路接口电路一般都被设计成通用的一般都被设计成通用的I/O接口接口芯片,一个接口芯片内部可以有若干可寻址的端口。因此,所芯片,一个接口芯片内部可以有若干可寻址的端口。因此,所有接口芯片都有片选信号线和用于片内端口寻址的地址线。例有接口芯片都有片选信号线和用于片内端口寻址的地址
16、线。例如,某接口芯片内有四个端口地址如,某接口芯片内有四个端口地址(8255),则该芯片外就会有两,则该芯片外就会有两根地址线。本书第根地址线。本书第8章中将详细介绍几种常用的章中将详细介绍几种常用的I/O接口芯片。接口芯片。I/O端口地址译码端口地址译码的方法有多种,一般的原则是把的方法有多种,一般的原则是把CPU用于用于I/O端口寻址的地址线端口寻址的地址线分为高位地址线和低位地址线两部分分为高位地址线和低位地址线两部分,将将低位地址线直接连到低位地址线直接连到I/O接口芯片的相应地址引脚接口芯片的相应地址引脚,实现片内,实现片内寻址,即选中片内的端口;寻址,即选中片内的端口;将将高位地址
17、线与高位地址线与CPU的控制信号组合的控制信号组合,经地址译码电路产生,经地址译码电路产生I/O接口芯片的片选信号。接口芯片的片选信号。20第7章 输入/输出与中断 7.2CPU与外设之间数据传送的方式与外设之间数据传送的方式7.2.1 程序传送方式程序传送方式 1无条件传送方式无条件传送方式 无条件传送流程无条件传送流程微机系统中的一些简单的外设,如开关、继电器、数码管、微机系统中的一些简单的外设,如开关、继电器、数码管、发光二极管等,在它们工作时,可以认为输入设备已随时准备好发光二极管等,在它们工作时,可以认为输入设备已随时准备好向向CPU提供数据,而输出设备也随时准备好接收提供数据,而输
18、出设备也随时准备好接收CPU送来的数据,送来的数据,这样,在这样,在CPU需要同外设交换信息时,就能够用需要同外设交换信息时,就能够用IN或或OUT指令指令直接对这些外设进行输入直接对这些外设进行输入/输出操作。由于在这种方式下输出操作。由于在这种方式下CPU对对外设进行输入外设进行输入/输出操作时无需考虑外设的状态,故称之为无条输出操作时无需考虑外设的状态,故称之为无条件传送方式。件传送方式。21第7章 输入/输出与中断 对于简单外设,若采用无条件传送方式,其接口电路也很简单。对于简单外设,若采用无条件传送方式,其接口电路也很简单。如简单外设作为如简单外设作为输入设备输入设备时,可直接使用三
19、态缓冲器和数据总线时,可直接使用三态缓冲器和数据总线相连,如图相连,如图7.5(a)所示。要求所示。要求CPU在执行输入指令时,外设的数在执行输入指令时,外设的数据是准备好的,即数据已经存入三态缓冲器中。据是准备好的,即数据已经存入三态缓冲器中。简单外设为简单外设为输出设备输出设备时,由于外设取数的速度比较慢,要求时,由于外设取数的速度比较慢,要求CPU送出的数据在接口电路的输出端保持一段时间,因而一般都需要送出的数据在接口电路的输出端保持一段时间,因而一般都需要锁存器,如图锁存器,如图7.5(b)所示。所示。CPU输出的信息经过数据总线送入输输出的信息经过数据总线送入输出锁存器中,输出锁存器
20、保持这个数据,直到外设取走。出锁存器中,输出锁存器保持这个数据,直到外设取走。无条件传送方式下,程序设计和接口电路都很简单,但是为了保无条件传送方式下,程序设计和接口电路都很简单,但是为了保证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。对少量的数据传送来说,无条件传送方式是最经济实用的一种传对少量的数据传送来说,无条件传送方式是最经济实用的一种传送方法。送方法。22第7章 输入/输出与中断 图图7.5无无条条件件传传送送方方式式(a)无无条条件件传传送送数数据据输输入入;(b)无无条条件件传传送送数数据据输输出出23第7章 输入
21、/输出与中断 2查询传送方式查询传送方式 查询传送流程查询传送流程查查询询传传送送也也称称为为条条件件传传送送,是是指指在在执执行行输输入入指指令令(IN)或或输输出出指指令令(OUT)前前,要要先先查查询询相相应应设设备备的的状状态态,当当输输入入设设备备处处于于准准备备好好状状态态,输输出出设设备备处处于于空空闲闲状状态态时时,CPU才才执执行行输输入入/输输出出指指令令与与外外设设交交换换信信息息。接接口口电电路路中中既既要要有有数数据据端端口口,还还要要有有状状态态端口端口。查查询询传传送送方方式式的的流流程程图图见见图图7.6。采采用用查查询询方方式式完完成成一一次次数数据据传送要经
22、历如下过程:传送要经历如下过程:(1)CPU从接口中读取状态字。从接口中读取状态字。(2)CPU检测相应的状态位是否满足检测相应的状态位是否满足“就绪就绪”条件。条件。(3)如果不满足,则重复如果不满足,则重复(1)、(2)步;若外设已处于步;若外设已处于“就绪就绪”状态,状态,则传送数据。则传送数据。24第7章 输入/输出与中断 图图7.6查询传送方式的流程图查询传送方式的流程图25第7章 输入/输出与中断 图图7.7给出的是采用查询传送方式进行输入操作的接口电路。给出的是采用查询传送方式进行输入操作的接口电路。输入设备在数据准备好之后向接口发选通信号,此信号有两个作输入设备在数据准备好之后
23、向接口发选通信号,此信号有两个作用:用:一方面将外设中的数据送到接口的锁存器中;一方面将外设中的数据送到接口的锁存器中;另一方面使接口中的一个另一方面使接口中的一个D触发器输出触发器输出“1”,从而使三态缓冲器,从而使三态缓冲器的的READY位置位置“1”。CPU输入数据前先用输入指令读取状态字,测试输入数据前先用输入指令读取状态字,测试READY位,若位,若READY位为位为“1”,说明数据已准备就绪,再执行输入指令读入数,说明数据已准备就绪,再执行输入指令读入数据。由于在读入数据时信号已将状态位据。由于在读入数据时信号已将状态位READY清清0,于是可以开,于是可以开始下一个数据输入过程。
24、始下一个数据输入过程。26第7章 输入/输出与中断 图图7.7查询式输入的接口电路查询式输入的接口电路27第7章 输入/输出与中断 图图7.8给出的是采用查询传送方式进行输出操作的接口电路。给出的是采用查询传送方式进行输出操作的接口电路。CPU输出数据时,先用输入指令读取接口中的状态字,测试输出数据时,先用输入指令读取接口中的状态字,测试BUSY位,若位,若BUSY位为位为0,表明外设空闲,此时,表明外设空闲,此时CPU才执行输出才执行输出指令,否则指令,否则CPU必须等待。执行输出指令时由端口选择信号、必须等待。执行输出指令时由端口选择信号、M/IO信号和写信号共同产生的选通信号将数据总线上
25、的数据打入信号和写信号共同产生的选通信号将数据总线上的数据打入接口中的数据锁存器,同时将接口中的数据锁存器,同时将D触发器置触发器置1。D触发器的输出信号触发器的输出信号一方面为外设提供一个联络信号,通知外设将锁存器锁存的数据一方面为外设提供一个联络信号,通知外设将锁存器锁存的数据取走;另一方面使状态寄存器的取走;另一方面使状态寄存器的BUSY位置位置1,告诉,告诉CPU当前外设当前外设处于忙状态,从而阻止处于忙状态,从而阻止CPU输出新的数据。输出设备从接口中取输出新的数据。输出设备从接口中取走数据后,会送一个回答信号走数据后,会送一个回答信号ACK,该信号使接口中的,该信号使接口中的D触发
26、器触发器置置0,从而使状态寄存器中的,从而使状态寄存器中的BUSY位清位清0,以便开始下一个数据,以便开始下一个数据输出过程。输出过程。28第7章 输入/输出与中断 图7.8 查询式输出的接口电路 29第7章 输入/输出与中断 查询传送方式的查询传送方式的主要优点主要优点是能保证主机与外设之间协调同步地是能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。工作,且硬件线路比较简单,程序也容易实现。在这种方式下,在这种方式下,CPU花费了很多时间查询外设是否准备就绪,花费了很多时间查询外设是否准备就绪,在这些时间里在这些时间里CPU不能进行其他的操作不能进行其他的操作,浪费浪
27、费CPU时间;时间;在实时控制系统中,若采用查询传送方式,由于一个外设的输在实时控制系统中,若采用查询传送方式,由于一个外设的输入入/输出操作未处理完毕就不能处理下一个外设的输入输出操作未处理完毕就不能处理下一个外设的输入/输出,故输出,故不能达到实时处理的要求,不能达到实时处理的要求,实时性差。实时性差。查询传送方式适用于数据输入查询传送方式适用于数据输入/输出不太频繁且外设较少、对实输出不太频繁且外设较少、对实时性要求不高的情况。时性要求不高的情况。不论是无条件传送方式还是查询传送方式,都不能发现和处不论是无条件传送方式还是查询传送方式,都不能发现和处理预先无法估计的错误和异常情况。为了提
28、高理预先无法估计的错误和异常情况。为了提高CPU的效率、增强的效率、增强系统的实时性,并且能对随机出现的各种异常情况做出及时反应,系统的实时性,并且能对随机出现的各种异常情况做出及时反应,通常采用中断传送方式。通常采用中断传送方式。30第7章 输入/输出与中断 7.2.2 中断传送方式中断传送方式 中断传送流程中断传送流程中断传送方式是指当外设需要与中断传送方式是指当外设需要与CPU进行进行信息交换时,由外信息交换时,由外设向设向CPU发出请求信号,使发出请求信号,使CPU暂停正在执行的程序,转去执暂停正在执行的程序,转去执行数据的输入行数据的输入/输出操作,数据传送结束后,输出操作,数据传送
29、结束后,CPU再继续执行被再继续执行被暂停的程序。暂停的程序。查询传送方式查询传送方式是由是由CPU来查询外设的状态,来查询外设的状态,CPU处于主动地位,处于主动地位,而外设处于被动地位。而外设处于被动地位。中断传送方式中断传送方式则是由外设主动向则是由外设主动向CPU发出请求,等候发出请求,等候CPU处理,处理,在没有发出请求时,在没有发出请求时,CPU和外设都可以独立进行各自的工作。和外设都可以独立进行各自的工作。目前的微处理器都具有中断功能,而且已经不仅仅局限于数据目前的微处理器都具有中断功能,而且已经不仅仅局限于数据的输入的输入/输出,而是在更多的方面有重要的应用。例如实时控制、输出
30、,而是在更多的方面有重要的应用。例如实时控制、故障处理以及故障处理以及BIOS和和DOS功能调用等。功能调用等。31第7章 输入/输出与中断 中断传送方式的中断传送方式的优点优点是:是:CPU不必查询等待,工作效率高,不必查询等待,工作效率高,CPU与外设可以并行工作;与外设可以并行工作;由于外设具有申请中断的主动权,故系统实时性比查询方式要由于外设具有申请中断的主动权,故系统实时性比查询方式要好得多。好得多。缺点:缺点:采用中断传送方式的接口电路相对复杂,而且每进行一采用中断传送方式的接口电路相对复杂,而且每进行一次数据传送就要中断一次次数据传送就要中断一次CPU,CPU每次响应中断后,都要
31、转每次响应中断后,都要转去执行中断处理程序,且都要进行断点和现场的保护和恢复,去执行中断处理程序,且都要进行断点和现场的保护和恢复,浪费了很多浪费了很多CPU的时间。的时间。故中断传送方式一般故中断传送方式一般适合于少量的数据传送。适合于少量的数据传送。对于大批量数据的输入对于大批量数据的输入/输出,可采用高速的直接存储器存取方输出,可采用高速的直接存储器存取方式,即式,即DMA方式。方式。32第7章 输入/输出与中断 7.2.3 直接存储器存取直接存储器存取(DMA)传送方式传送方式 1DMA传送方式简介传送方式简介场合:场合:DMA传送方式是在传送方式是在存储器和外设之间、存储器和存储器存
32、储器和外设之间、存储器和存储器之间直接进行数据传送之间直接进行数据传送(如磁盘与内存间交换数据、高速数据采如磁盘与内存间交换数据、高速数据采集、内存和内存间的高速数据块传送等集、内存和内存间的高速数据块传送等)。特点:特点:传送过程无需传送过程无需CPU介入,在传送时就不必进行保护现场等介入,在传送时就不必进行保护现场等一系列额外操作,传输速度基本取决于存储器和外设的速度。一系列额外操作,传输速度基本取决于存储器和外设的速度。要要求:求:DMA传送方式需要一个专用接口芯片传送方式需要一个专用接口芯片DMA控制器控制器(DMAC)对传送过程加以控制和管理。对传送过程加以控制和管理。过程:过程:在
33、进行在进行DMA传送期间,传送期间,CPU放弃总线控制权,将系统总放弃总线控制权,将系统总线交由线交由DMAC控制,由控制,由DMAC发出地址及读发出地址及读/写信号来实现高速写信号来实现高速数据传输。传送结束后数据传输。传送结束后DMAC再将总线控制权交还给再将总线控制权交还给CPU。一。一般微处理器都设有用于般微处理器都设有用于DMA传送的联络线。传送的联络线。33第7章 输入/输出与中断 图7.9 DMA系统结构框图 34第7章 输入/输出与中断 2DMA控制器的工作方式控制器的工作方式1)单字节传输方式单字节传输方式在在该该方方式式下下,DMAC每每次次控控制制总总线线后后只只传传输输
34、一一个个字字节节,传传输输完后即释放总线控制权。完后即释放总线控制权。2)成组传输方式成组传输方式(块传输方式块传输方式)采用这种方式,采用这种方式,采用这种方式,采用这种方式,DMACDMAC每次控制总线后都连续传送一组数据,每次控制总线后都连续传送一组数据,每次控制总线后都连续传送一组数据,每次控制总线后都连续传送一组数据,待所有数据全部传送完后再释放总线控制权。待所有数据全部传送完后再释放总线控制权。待所有数据全部传送完后再释放总线控制权。待所有数据全部传送完后再释放总线控制权。成组传输方式的数据传输率要比单字节传输方式高。但是,成组成组传输方式的数据传输率要比单字节传输方式高。但是,成
35、组成组传输方式的数据传输率要比单字节传输方式高。但是,成组成组传输方式的数据传输率要比单字节传输方式高。但是,成组传输期间传输期间传输期间传输期间CPUCPU无法进行任何需要使用系统总线的操作。无法进行任何需要使用系统总线的操作。无法进行任何需要使用系统总线的操作。无法进行任何需要使用系统总线的操作。3)请求传输方式请求传输方式在该方式下,每传输完一个字节,在该方式下,每传输完一个字节,DMAC都要检测都要检测I/O接口接口发来的发来的DMA请求信号是否有效。若有效,则继续进行请求信号是否有效。若有效,则继续进行DMA传输;传输;否则就暂停传输,否则就暂停传输,将总线控制权交还给将总线控制权交
36、还给CPU,直至,直至DMA请求信请求信号再次变为有效,再从刚才暂停的那一点继续传输。号再次变为有效,再从刚才暂停的那一点继续传输。35第7章 输入/输出与中断 3DMA操作的基本过程操作的基本过程 DMA传送流程传送流程1)DMAC的初始化的初始化(1)指指定定数数据据的的传传送送方方向向。指指定定外外设设对对存存储储器器是是做做读读操操作作还还是是写操作,这就要对控制写操作,这就要对控制/状态寄存器中的相应控制位置数。状态寄存器中的相应控制位置数。(2)指指定定地地址址寄寄存存器器的的初初值值。即即给给出出存存储储器器中中用用于于DMA传传送送的的数据区的首地址。数据区的首地址。(3)指定
37、计数器的初值。指定计数器的初值。即明确有多少数据需要传送。即明确有多少数据需要传送。36第7章 输入/输出与中断 2)DMA数据传送,数据传送,按以下步骤进行按以下步骤进行(以数据输入为例以数据输入为例)(1)外外围围设设备备发发选选通通脉脉冲冲,把把输输入入数数据据送送入入缓缓冲冲寄寄存存器器,并并使使DMA请求触发器置请求触发器置1。(2)DMA请请求求触触发发器器向向控控制制/状状态态端端口口发发准准备备就就绪绪信信号号,同同时时向向DMA控制器发控制器发DMA请求信号。请求信号。(3)DMA控制器向控制器向CPU发出总线请求信号发出总线请求信号(HOLD)。(4)CPU在在完完成成了了
38、现现行行机机器器周周期期后后,即即响响应应DMA请请求求,发发出出总总线线允允许许信信号号(HLDA),并并由由DMA控控制制器器发发出出DMA响响应应信信号号。此时,由此时,由DMA控制器接管系统总线。控制器接管系统总线。(5)DMA控控制制器器发发出出存存储储器器地地址址,并并在在数数据据总总线线上上给给出出数数据据,随后在读随后在读/写控制信号线上发出写的命令。写控制信号线上发出写的命令。(6)来自外设的数据被写入相应存储单元。来自外设的数据被写入相应存储单元。(7)每传送一个字节,每传送一个字节,DMA控制器的地址寄存器加控制器的地址寄存器加1,从而得,从而得到下一个地址,字节计数器减到下一个地址,字节计数器减1。返回。返回(5),传送下一个数据。,传送下一个数据。如此循环,直到计数器的值为如此循环,直到计数器的值为0,数据传送完毕。,数据传送完毕。37第7章 输入/输出与中断 3)DMA结束结束DMA传传送送完完毕毕,由由DMAC撤撤消消总总线线请请求求信信号号,从从而而结结束束DMA操作。操作。CPU撤消总线允许信号,恢复对总线的控制。撤消总线允许信号,恢复对总线的控制。前面介绍的三种传送方式各有利弊,在实际使用时,要根前面介绍的三种传送方式各有利弊,在实际使用时,要根据具体情况选择既能满足要求,又尽可能简单的方式。据具体情况选择既能满足要求,又尽可能简单的方式。38