微型计算机技术第五章_第1页
微型计算机技术第五章_第2页
微型计算机技术第五章_第3页
微型计算机技术第五章_第4页
微型计算机技术第五章_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、微型计算机技术及应用戴梅萼戴梅萼 史嘉权史嘉权 编著编著第第 5 5 章章第五章第五章微型机和外设的微型机和外设的数据传输数据传输第5章 微型计算机和外设的数据传输教学重点 I/O接口电路的典型结构 无条件传送方式 查询传送方式 中断工作过程存储器都是用来保存信息的,功能单一,传送方式单一(一次必定是传送1个字节或者1个字),品种很有限(只有只读类型和可读/可写类型),存取速度基本上和CPU的工作速度匹配。微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I/O接口电路,通过接口电路对输入/输出过

2、程起一个缓冲和联络的作用。注:接口电路完成相应的信号转换、速度匹配、数据缓冲等功能多种外设多种外设5.1 5.1 为什么要用接口电路为什么要用接口电路5.2 5.2 接口电路的概述接口电路的概述什么是接口技术? 连接计算机系统中的各种功能部件,构成一个完整的、实用的计算机系统,这是接口技术的广义定义。依次定义,实现处理器到系统总线连接的总线驱动器、数据收发器、时钟电路等称为处理器借口。此外,还有RAM接口、ROM接口、外部设备接口等等。更为流行的观点认为接口技术是把由处理器、RAM、ROM等组成的基本系统与外部设备连接起来,从而实现计算机与外部世界通讯的一门 技术,即仅指I/O设备接口技术。什

3、么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路5.2 5.2 接口电路的概述(续)接口电路的概述(续)什么是微机接口技术? 处理微机系统与外设间联系的技术 注意其软硬结合的特点 根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备5.2 5.2 接口电路的概述(续)接口电路的概述(续)5.2 5.2 接口功能接口功能 寻址能力:对送来的片选信号进行识别。 输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。 数据转换功能:

4、并行数据向串行数据的转换或串行数据向并行数据的转换。 联络功能:就绪信号,忙信号等。 中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。并具有优先级管理功能。 复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。 可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。 错误检测:一类是传输错误。另一类是覆盖错误。注:一些接口还可根据具体情况设置其它的检测信息。5.3 I/O5.3 I/O接口与系统的连接接口与系统的连接 (1) 数据信息数据信息 CPUCPU和外设交换的基本信息,和外设交换的基本信息,包括三种形式:数字量、模拟量 、开关量。(2) 状态信息状态

5、信息 是外设通过接口往是外设通过接口往CPUCPU传送的传送的, ,反映反映了当前外设的工作状态。了当前外设的工作状态。 如:“准备好”(READY)信号、“忙”(BUSY)信号(3) 控制信息控制信息 是是CPUCPU通过接口传送给外设的相关通过接口传送给外设的相关控制信息。控制信息。 如:外设的启动信号、停止信号就是常见的控制信息。1 1CPUCPU与与I/OI/O设备之间的信号(三类)设备之间的信号(三类)5.3 I/O5.3 I/O接口与系统的连接(续)接口与系统的连接(续) 数据端口、控制端口、状态端口CPU和外设进行数据传输时,各类信息在接口中进各类信息在接口中进入不同的寄存器入不

6、同的寄存器,一般称这些寄存器为I/O端口,每个端口有一个端口地址端口地址。用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口数据端口。用来存放外部设备或者接口部件本身的状态,称为状态端口状态端口。用来存放CPU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口控制端口。如下图2 2接口部件的接口部件的I/OI/O端口端口注:输入还是输出,所用到的地址总是对端口对端口而言的,不是对接口部件而言的。为了节省地址空间,将数据输入端口和数据输出端口对应同一个端口地址同一个端口地址。同样,状态端口和控制端口也常用同一个端口地址同一个端口地址。CPU对外设的输入/

7、输出操作就归结为对接口芯片各端口的读端口的读/写操作写操作。 2 2接口部件的接口部件的I/OI/O端口端口( (续)续)第第5章:章: I/O接口的典型结构接口的典型结构控制总线控制总线CB地址总线地址总线ABI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器1. 接口电路的内部结构接口电路的内部结构2. 接口电路的外部特性接口电路的外部特性3. 接口电路芯片的分类接口电路芯片的分类4. 接口电路的可编程性接口电路的可编程性 CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: 数

8、据寄存器 输入数据寄存器:保存外设给CPU的数据 输出数据寄存器:保存CPU给外设的数据 状态寄存器 保存外设或接口电路的状态 控制寄存器 保存CPU给外设或接口电路的命令2 2接口部件的接口部件的I/OI/O端口端口( (续)续)3 3接口与系统的连接接口与系统的连接接口电路位于接口电路位于CPU与外设之间,从结构上看与外设之间,从结构上看,可以把一个接口分为两个部分。,可以把一个接口分为两个部分。用来和用来和I/OI/O设备相连;设备相连;用来和系统总线相连,这部分接口电路结用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。构类似,连在同一总线上。下图是一个典型的下图是一个典型的

9、I/O接口和外部电路的连接接口和外部电路的连接图:图:3 3接口与系统的连接(续)接口与系统的连接(续)联络信号联络信号:读读/ /写信写信号,以便决定数据传号,以便决定数据传输方向。输方向。地址译码器,片选信地址译码器,片选信号号:地址译码器除了地址译码器除了接收地址信号外,还接收地址信号外,还用来区分用来区分I/0I/0地址空地址空间和内存地址空间的间和内存地址空间的信号信号(M/ I0)(M/ I0)用于译用于译码过程。码过程。 注:一个接口通常有若干个寄存器若干个寄存器可读/写,一般用1-21-2位低位地址位低位地址结合读/写信号来实现对接口内部寄存器的寻址。 4 4输入输出的寻址方式

10、输入输出的寻址方式接口电路占用的接口电路占用的I/O端口有两类编排形式端口有两类编排形式 I/O端口单独编址端口单独编址 I/O地址空间独立于存储地址空间地址空间独立于存储地址空间 如如8086/8088 I/O端口与存储器统一编址端口与存储器统一编址 它们共享一个地址空间它们共享一个地址空间如如M6800I/OI/O端口与存储器统一编址端口与存储器统一编址 优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访存和访问外设)内存内存部分部分I/O部分部分存储器空间存储器空间00000FFFFF 优点: I/

11、O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富内存内存空间空间I/O空间空间FFFFF0FFFF80 x86采用采用I/O端口独立编址端口独立编址I/OI/O端口单独编址端口单独编址8088/80868088/8086的输入输出指令的输入输出指令 输入指令(IN:将外设数据传送给CPU内的AL/AX)IN AL,i8;字节输入IN AL,DX;字节输入IN AX,i8;字输入IN AX,DX;字输入 输出指令(OUT:将CPU内的AL/AX数据传送给外设)OUT i8,AL;字节输出OUT DX,AL;字节输出OUT i8

12、,AX;字输出OUT DX,AX;字输出演示演示演示演示8088/80868088/8086的的I/OI/O端口端口 8088只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址 8086用于寻址外设端口的地址线为16条,端口最多为21665536(64K)个,端口号为0000H FFFFH 每个端口用于传送一个字节的外设数据I/OI/O寻址方式寻址方式 8088/8086的端口有64K个,无需分段,设计有两种寻址方式v直接寻址:只用于寻址00H FFH前256个端口,操作数i8表示端口号v间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号 对

13、大于FFH的端口只能采用间接寻址方式数据交换方式数据交换方式 如果输入输出一个字节,利用AL寄存器 如果输入输出一个字,利用AX寄存器 输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口) 输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口IN指令实例(指令实例(从从20H端口输入一个字)端口输入一个字);方法1:直接寻址,字量输入in ax,20h;方法2:间接寻址,字量输入mov dx,20hin ax,dx;方法;方法3:直接寻址,字节量输入直接寻址,字节量输入in al,21hin al,

14、21hmov ah,almov ah,alin al,20hin al,20h;方法;方法4:间:间接寻址,字节量输入接寻址,字节量输入mov dx,21hmov dx,21hin al,dxin al,dxmov ah,almov ah,aldec dxdec dxin al,dxin al,dx第第5章:章:OUT指令实例(向指令实例(向300H端口输出一个字节)端口输出一个字节);唯一的方法:间接寻址,字节量输出mov al,bvar;bvar是字节变量mov dx,300hout dx,al5.4 CPU5.4 CPU和外设之间的数据传送方式和外设之间的数据传送方式 程序控制下的数据传

15、送通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送 直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送 I/O处理机CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理1. 无条件传送方式及其接口无条件传送方式及其接口 在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 适合于简单设备,如LED数码管、按键或按纽等 无条件传送的接口和操作均十分简单 这种传送有前提:外设必须

16、随时就绪流程流程无条件传送:输入示例无条件传送:输入示例IOR三态缓冲器OEI/O装置地址译码器CSD7D0A15A1A00160HMOV DX, 160HIN AL, DX无条件传送:输入实例无条件传送:输入实例MOV DX, 160HIN AL, DX74LS244+5V10K x 8G1 G2数据总线数据总线CSRD无条件传送:输出示例无条件传送:输出示例地址译码器数据锁存器A15A1IOWA0CS0160H输出设备D7D0MOV DX, 160HMOV AL, BXOUT DX, AL无条件传送:输出实例无条件传送:输出实例MOV DX, 160HMOV AL, BXOUT DX, A

17、L+5V74LS373300 x 8LE OE数据总线数据总线CSWR无条件传送:输入输出接口无条件传送:输入输出接口K7K1K0+5VD0D7A0A15CLKLS06反相反相驱动器驱动器LS2738D锁存器锁存器LS244三态三态缓冲器缓冲器8000H译码译码+5VLED0LED7GIOWIORnext:mov dx,8000h;DX指向数据端口in al,dx;从输入端口读开关状态not al;反相out dx,al;送输出端口显示call delay;调子程序延时jmp next;重复又称查询方式,即又称查询方式,即通过程序查询相应设备的状态通过程序查询相应设备的状态,若状态不符合,则,

18、若状态不符合,则CPUCPU不能进行输入不能进行输入/ /输出操作输出操作,需要等待;只有当状态信号符合要求时,需要等待;只有当状态信号符合要求时,CPUCPU才才能进行相应的输入能进行相应的输入/ /输出操作输出操作。2. 条件传送方式条件传送方式一般外设均可以提供一些反映其状态的信号,如对输一般外设均可以提供一些反映其状态的信号,如对输入设备来说,它能够提供入设备来说,它能够提供“准备好准备好”(“READY”)信号,信号,“READY” 1 表示输入数据已准备好。输出表示输入数据已准备好。输出设备则提供设备则提供“忙忙”(“BUSY”)信号,信号,“BUSY”1表示表示当前时刻不能接收当

19、前时刻不能接收CPU来的数据,只有当来的数据,只有当“BUSY”0时,才表明它可以接受来自于时,才表明它可以接受来自于CPU的输出数据。的输出数据。 2. 条件传送方式(续)条件传送方式(续) CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送效率低就绪就绪?条件传送的两个环节条件传送的两个环节 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 是输入,通过输入指令从数据

20、端口读入数据 是输出,通过输出指令向数据端口输出数据输入状态输入状态就绪?就绪?数据交换数据交换YN流程流程查询输入接口查询输入接口IOR+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器译码译码1位位三态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D0D输入输入设备设备IORSTBmov dx,8000h;DX指向状态端口status:in al,dx;读状态端口test al,01h;测试标志位D0jz status;D00,未就绪,继续查询inc dx;D01,就绪,DX指向数据端口in al,dx;从数据端口输入数据查询输出接口查询输出接口8D锁存器锁存器译码译码1位位三

21、态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D7D+5V输出输出设备设备ACKIOWIORmov dx,8000h;DX指向状态端口status:in al,dx;读取状态端口的状态数据test al,80h;测试标志位D7jnz status;D71,未就绪,继续查询inc dx;D70,就绪,DX指向数据端口mov al,buf;变量buf送ALout dx,al;将数据输出给数据端口条件传送举例条件传送举例例例1. 1. 假定接口的数据输入端口地址为假定接口的数据输入端口地址为0052H0052H,数据,数据输出端口地址为输出端口地址为0054H0054H,状态端口地址

22、为,状态端口地址为0056H0056H,并,并且设定如果状态寄存器中第且设定如果状态寄存器中第1 1位为位为1 1,则表示输入缓,则表示输入缓冲器中已经有冲器中已经有1 1个字节准备好,可以进行输入。此外个字节准备好,可以进行输入。此外,还设定如果状态寄存器的第,还设定如果状态寄存器的第0 0位为位为1 1,则表示输出,则表示输出缓冲器已经腾空,因而缓冲器已经腾空,因而CPUCPU可以往终端输出数据。可以往终端输出数据。程序:DATA_SEG SEGMENTMESSAGE DB BUFFER OVERFLOW,0DH,0AH DATA_SEG ENDSCOM_SEG SEGMENTBUFFER

23、 DB 82 DUP(?)COUNT DB ?COM_SEG ENDS CODE SEGMENTASSEME DS:DATA_SEG, ES:COM_SEG, CS:CODESTAT: MOV AX,DATA_SEG MOV DS,AX MOV AX, COM_SEG程序(续): MOV ES,AX MOV DI, OFFEST BUFFER MOV COUNT, DI MOV CX, 81 CLDNEXT_IN: IN AL, 56H TEST AL, 02H JZ NEXT_IN IN AL, 52H OR AL, 0 JPE NO_ERROR JMP ERRORNO_ERROR: AND

24、 AL, 7FH STOSB程序(续): CMP AL, 0DH LOOPNE NEXT_IN JNE OVERFLOW MOV AL, 0AH STOSB SUB DI, COUNT MOV COUNT, DI :OVERFLOW: MOV SI, OFFEST MESSAGE MOV CX, 17NEXT_OUT: IN AL, 56H TEST AL, 01H JZ NEXT_OUT LODSB OUT 54H, AL LOOP NEXT_OUT :例例2 假设从某输入设备上输入一组数据送缓冲区,假设从某输入设备上输入一组数据送缓冲区,接口电路如图接口电路如图5-3,若缓冲区已满则输出一

25、组信息,若缓冲区已满则输出一组信息“BOFFER OVERFLOW”,然后结束。设该设备的,然后结束。设该设备的启动地址为启动地址为0FCH,数据端口为,数据端口为0F8H,状态端口为,状态端口为FAH。程序如下:程序如下:DATA SEGMENTMESS1 DB “BUFFER OVERFLOW”,“$”BUFF DB 60 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV BX,OFFSET BUFF;送缓冲区指针;送缓冲区指针 MOV CX,60;送计数初值;送计数初值 OU

26、T 0FCH,AL;启动设备;启动设备 WAIT: IN AL,OFAH;查询状态,若为;查询状态,若为0,则等待,则等待 TEST AL,01H JZ WAIT IN AL,0F8H;输入数据;输入数据 MOV BX,AL INC BX LOOP WAIT ;检测缓冲区是否满,不满再输入;检测缓冲区是否满,不满再输入 MOV DX,OFFSET MESS1;缓冲区满,输出标志字符串;缓冲区满,输出标志字符串 MOV AH,09H INT 21H MOV AH,4CH INT21H CODE ENDSEND START 中断传送方式中断传送方式1.为什么要采用中断传送方式 从查询式的传输过程可

27、以看出,它的优点是硬件开销小,使用起来比较简单。但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其它程序,这样就浪费了CPU的大量时间,降低了主机的利用率。 1.1.为什么要采用中断传送方式为什么要采用中断传送方式(续)续) 为了解决这个矛盾,我们提出了中断传送方式:即当CPU进行主程序操作时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU即返回继续执行原

28、来被中断的主程序。这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。第第5章:章:5.4.2 中断传送方式中断传送方式断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求对外设对外设进行处理进行处理继续执行继续执行返回断点返回断点 CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序流程流程中断传送与接口中断传送与接口 中断传送是一种效率更高的程序传送方式 进行传送的中断服务程序是预先设计好的 中断请求是外设随机向CPU提出的 CPU对请求的检测是有规律的:一般是在每

29、条指令的最后一个时钟周期采样中断请求输入引脚 本书主要论述中断在输入和输出方面的应用 中断还有着非常广泛的应用中断输入接口电路中断输入接口电路数据输入的过程数据输入的过程:当外设发STB数据入锁存器,中断请求触发器置1若没有屏蔽则产生INTRCPU满足条件(允许中断;指令执行完)发INTA(进入中断服务子程序)读数据,发RD,和地址清中断请求触发器,数据送D0D7。(输出过程请自己思考)4. 中断优先级中断优先级问题的提出:问题的提出: 当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。下

30、面分别介绍: 软件查询法软件查询法只需有简单的硬件电路,如将只需有简单的硬件电路,如将A A、B B、C C三台设备的中断请求三台设备的中断请求信号信号“或或”后作为系统后作为系统INTRINTR,这时,这时,A A、B B、C C三台设备中只三台设备中只要至少有一台设备提出中断请要至少有一台设备提出中断请求,都可以向求,都可以向CPUCPU发中断请求发中断请求。进入中断服务子程序后,再。进入中断服务子程序后,再用软件查询的方式分别对不同用软件查询的方式分别对不同的设备的服务,查询程序的设的设备的服务,查询程序的设计思想同查询式,查询的前后计思想同查询式,查询的前后顺序就给出了设备的优先级,顺

31、序就给出了设备的优先级,框图如图所示。框图如图所示。 以链式中断优先权排队电路为以链式中断优先权排队电路为例,例,基本设计思想基本设计思想:将所有的设备:将所有的设备连成一条链,靠近连成一条链,靠近CPUCPU的设备优的设备优先级最高,越远的设备优先级别先级最高,越远的设备优先级别越低,则发出中断响应信号,若越低,则发出中断响应信号,若级别高的设备发出了中断请求,级别高的设备发出了中断请求,在它接到中断响应信号的同时,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们封锁其后的较低级设备使得它们的中断请求不能响应,只有等它的中断请求不能响应,只有等它的中断服务结束以后才开放,允的中断服务

32、结束以后才开放,允许为低级的设备服务。许为低级的设备服务。如图所示。如图所示。 简单硬件方法简单硬件方法 有了中断控制器以后,有了中断控制器以后,CPUCPU的的INTRINTR和引脚不再与接口直接相连和引脚不再与接口直接相连,而是与中断控制器相连,外设的中断请求信号通过,而是与中断控制器相连,外设的中断请求信号通过IR0IR0IR7IR7进进入中断控制器,经优先级管理逻辑确认为级别最高的那个请求的入中断控制器,经优先级管理逻辑确认为级别最高的那个请求的类型号会经过中断类型寄存器在当前中断服务寄存器的某位上置类型号会经过中断类型寄存器在当前中断服务寄存器的某位上置1 1,并向,并向CPUCPU

33、发发INTRINTR请求,请求,CPUCPU发出发出INTAINTA信号后,中断控制器将中信号后,中断控制器将中断类型码送出。在整个过程中,优先级较低的中断请求都受到阻断类型码送出。在整个过程中,优先级较低的中断请求都受到阻塞,直到较高级的中断服务完毕之后,当前服务寄存器的对应位塞,直到较高级的中断服务完毕之后,当前服务寄存器的对应位清清0 0,较低级的中断请求才有可能被响应。如图所示。,较低级的中断请求才有可能被响应。如图所示。 专用硬件方式专用硬件方式采用可编程的中断控制器采用可编程的中断控制器芯片,如芯片,如Intel8259AIntel8259A。DMA传送方式传送方式 希望克服程序控

34、制传送的不足:外设CPU存储器外设CPU存储器 直接存储器存取DMA:外设存储器外设存储器 CPU释放总线,由DMA控制器管理1. DMA传送方式的提出传送方式的提出 利用中断进行信息传送,可以大大提高CPU的利用率,但是其传送过程必须由CPU进行监控。每次中断,CPU都必须进行断点及现场信息的保护和恢复操作,这些都是一些额外的操作,会占用一定的CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求,这时应采用直接数据通道传送,即DMA数据传送方式。DMA(Direct Memory Access)意为直接数据传送,它

35、是在内存的不同区域之间,或者在内存与外设端口之间直接进行数据传送,而不经过CPU中转的一种数据传送方式,可以大大提高信息的传送速度。DMA传送方式的提出(续)传送方式的提出(续)DMA传送的工作过程传送的工作过程外设准备就绪时,向DMA控制器发DMA请求,DMA控制器接到此信号后,向CPU发DMA请求;CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时,放弃对总线的控制;DMA控制器取得总线控制权后,往地址总线发送地址信号,每传送1个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节;每传送一个字节,字节计数器的值减1,当减到0时,DMA过程

36、结束;DMA控制器向CPU发结束信号,将总线控制权交回CPU。 DMADMA传送控制方式,解决了在内存的不同传送控制方式,解决了在内存的不同区域之间,或者内存与外设之间大量数区域之间,或者内存与外设之间大量数据的快速传送问题,代价是需要增加专据的快速传送问题,代价是需要增加专门的硬件控制电路,称为门的硬件控制电路,称为DMADMA控制器,其控制器,其复杂程度与复杂程度与CPUCPU相当。相当。 DMA传送过程(续)传送过程(续)DMA传送流程传送流程HLDA发存储器地址发存储器地址传送数据传送数据传送结束?传送结束?DMA结束结束修改地址指针修改地址指针流程流程传送方式的比较传送方式的比较 无条

温馨提示

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

评论

0/150

提交评论