欢迎来到365自考网

微型计算机原理及应用学习笔记 数据传送的控制

来源:www.njjwfs.com 2025-06-28
在计算机的操作过程中,最基本和最很多的操作是数据传送。在微机系统中,数据主要在CPU、存储器和I/O接口之间传送,在数据传送过程中,重点问题是数据传送的控制方法,根据I/O控制组织的演变顺序与外设与主机并行工作的程度,微机系统中数据传送的控制方法主要有两种,即程序控制传送方法和DMA传送方法。
1、程序控制传送方法
程序控制的数据传送分为无条件传送、查看传送和中断传送,这种传送方法的特征是,以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输人或输出程序达成数据的传送。这种数据传送方法的传送速度较低,传送路径要经过CPU内部的寄存器,同时数据的输入输出的响应也较慢。
无条件传送方法
无条件传送方法又称“同步传送方法”。主要用于外设的定时是固定的且是已知的场所,外设必需在微处置器限定的指令时间内筹备就绪,并完成数据的接收或发送。一般使用的方法是:把I/O指令插入到程序中,当程序实行到该I/O指令时,外设一定已为传送数据作好了筹备,于是在此指令时间内完成数据传送任务。无条件传送是最方便的传送方法,它所需的硬件和软件都较少。
一个无条件传送的例子如图6—9所示。这是一个同步传送的数据采集系统,图中K5为继电器,继电器线圈L0、L1、…、L7控制8个触点逐个接通,对8个输入模拟量进行采样,采样输入之模拟量送入一个4位10进制数字电压表U1测量,把被采样的模拟量转换成16位BCD码,高8位和低8位通过两个8位端口U2和U3送上系统的数据总线,CPU通过IN指令读入转换后的数字量。至于到底采集哪一通道的模拟量,则由CPU通过U4输出控制信号,以控制继电器线圈LO~L7中电流的通断,继而控制继电器触点的吸合,以达成对不同通道模拟量的采集。
以下程序可以用来达成图6—9电路的数据采集。
START: MOV DX,0100H ;01→DH,设置闭合第一个继电器代码
;00→DL,设置断开所有继电器代码
LEA BX,DSTOR ; 输入数据缓冲区的地址偏移量→BX
XOR AL,AL ;清AL及进位标志
AG人工智能N: MOV AL,DL
OUT 20H,AL ;断开所有继电器线圈
CALL NEAR DELAYl ;模拟继电器触点的释放时间
MOV AL,DH
OUT 20H,AL 、 ;使L0吸合
CALL NEAR DELAY2 ;模拟触点闭合及数字电压表的转换时间
IN AX,10H ;输入
MOV [BX],AX
INC BX
INC BX
RCL DH,1 ;DH左移一位,为下一个触点闭合作筹备
JNC AG人工智能N. ;8个模拟量未输入完,循环此段程序

查看传送方法
查看传送方法又称“异步传送方法”。当CPU同外设工作不同步时,非常难确保CPU在实行输入操作时,外设肯定是“筹备好”的;而在实行输出操作时,外设寄存器肯定是“空”的。如此为保证数据传送的正确进行,提出了查看传送方法。当使用这种方法传送前,CPU需要先对外设进行状况测试。完成一次传送过程的步骤如下:
通过实行一条输入指令,读取所选外设的目前状况。
依据该设施的状况决定程序去向,假如外设正处于“忙”或“未筹备就绪”,则程序转回重复测试外设状况,假如外设处于“空”或“筹备就绪”,则发出一条输入/输出指令,进行一次数据传送。
一个查看传送的例子如图6-10所示。这是一个使用模/数转换器对8个模拟量IN0~IN7采样的数据采集系统。
8个输入模拟量经过多路开关U5选择后送人A/D转换器U1,多路开关U5由控制端口U4输出的三位二进制码控制,当b2blb0=000时选通IN0输入A / D转换器,当b2blb0=111时选通IN7输入A/D转换器,每次只送出一路模拟量到A/D转换器。同时,由控制端口U4的b4位控制A/D转换器的启动与停止。当A/D转换器完成转换后,READY端输出有效信号经过状况端口U2的bo位输入到CPU的数据总线。然后,经A/D转换后的数据由数据端口U3输入CPU的数据总线。该数据采集系统中,使用了三个端口——数据口U3、控制口U4和状况口U2。
依据上述需要,可撰写如下数据采集程序:
START: MOV DL,0F8H ;设置启 动A/D转换的信号
MOV DI,OFFSET DSTOR ;输人数据缓冲区的地址偏移量→DI
AG人工智能N: MOV AL,DL
AND AL,OEFH ;使 D4 = 0
OUT 4,AL ;停止A/D转换
CALL DELAY ;等待停止A/D操作的完成
MOV AL,DL
OUT 4,AL ;启动A/D,且选择模拟量INo
POLL: IN AL,2 ;输入状况信息
SHR AL,1
JNC POLL ;若未READY,程序循环等待
IN AL,3 ;不然,输人数据
STOSB ;存至内存
INC DL ;修改多路开关控制信号,指向下一个模拟量
JNE AG人工智能N ;8个模拟量未输入完,循环
… … ;已完,实行别的程序段

中断传送方法
无条件传送和查看传送的缺点是:CPU和外设只能串行工作,各外设之间也只能串行工作。为了使CPU和外设与外设和外设之间能并行工作,以提升系统的工作效率,充分发挥CPU高速运算的能力,在计算机系统中引入了“中断”机制,借助中断来达成CPU与外设之间的数据传送,这就是中断传送方法。
在中断传送方法中,一般是在程序中安排好在某一时刻启动某一台外设,然后CPU继续实行其主程序,当外设完成数据传送的筹备后,向CPU发出“中断请求”信号,在CPU可以响应中断的条件下,现行主程序被“中断”,转去实行“中断服务程序”,在“中断服务程序”中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续实行。
使用中断传送方法时,CPU从启动外设直到外设就绪这期间,一直仍在实行主程序,而不是象查看方法中处于等待状况,只是在外设筹备好数据传送的状况下才暂停CPU实行的主程序,在一定量上达成了主机和外设的并行工作。同时,假如某一时刻有几台外设发出中断请求,CPU可以参考预先安排好的优先顺序,按轻重缓急处置几台外设同CPU的数据传送,如此在一定量上也可达成几个外设的并行工作。
中断传送方法的接口电路如图6—11所示。这是一个输入接口电路。当输入设施筹备好一个数据后,发出选通信号STB,该信号一路送数据锁存器Ul,使输入设施的8位数据送入锁存器U1;另一路送中断请求触发器U2,将U2置“1”,若系统允许该设施发出中断请求,则中断屏蔽触发器U3已置“l”,从而通过与门U7向CPU发出中断请求信号INTR。若无其他设施的中断请求,在CPU开中的状况下CPU则在现行指令结束后,CPU响应该设施的中断请求,实行中断响应总线周期,发出中断响应信号,需要提出中断请求的外设把一个字节的中断种类码送上数据总线,然后CPU依据该中断种类码转而去实行中断服务程序,读人数据,同时复位中断请求触发器U2。中断服务完成后,再返回被中断的主程序。
2、DMA传送方法
当某些外设,诸如磁盘、CRT显示器、高速模数转换器等需要高速而很多地传送数据时,使用程序控制方法来传送数据总是没办法满足速度的需要,就拿程序控制方法中传送速度最快的中断方法而言,每传送一个字节都得把主程序停下来,转而去实行中断服务程序,在实行中断服务程序前要做好现场保护,实行完中断服务程序后还要恢复现场。因为在程序控制方法中数据传送过程一直受CPU的干涉,CPU都需要取出和实行一系列指令,每一字节数据都必需经过CPU的累加器才能输入输出,这就从根本上限制了数据传送的速度。为此提出了在外设和内存之间直接地传送数据的方法,即DMA传送方法。
DMA是一种无需CPU干涉也无需软件介入的高速数据传送方法。因为CPU只起动而不干涉这一传送过程,同时整个传送过程只由硬件完成而不需软件介入,所以其数据传送速率能达到非常高。在DMA传送方法中,对这一数据传送过程进行控制的硬件称为DMA控制器。
DMA操作的基本办法
DMA操作的基本办法有三种:
1.周期挪用
借助CPU不访问存储器的那些周期来达成DMA操作,此时,DMAC可以用总线而不需要公告CPU也不会妨碍CPU的工作。这种办法的重点是怎么样辨别适合的可挪用的周期,以防止同CPU的操作发生重叠。有些CPU能产生一个表示存储器是不是正在被用的信号,有些CPU则规定在特定状况下不访问存储器,此时就可用于达成DMA操作。周期挪用并不减慢CPU的操作。但可能需要复杂的时序电路,而且数据传送过程是不连续的和不规则的。
2.周期扩展
用专门的时钟发生器/驱动器电路,当需要进行DMA操作时,由DMAC发出请求信号给时钟电路,时钟电路把供给CPU的时钟周期加宽,而提供给存储器和DMAC的时钟周期不变。如此,CPU在加宽时钟周期内操作不往下进行,而这加宽的时钟周期等于若干个正常的时钟周期,可用来进行DMA操作。加宽的时钟结束后,CPU仍按正常的时钟继续操作。这种办法会使CPU的处置速度减慢,而且CPU时钟周期的加宽是有限制的。因此用这种办法进行DMA传送,一次只能传送一个字节。 ’
3.CPU停机方法
在这种方法下,当DMAC要进行DMA传送时,DMAC向CPU发出DMA请求信号,迫使CPU在现行的总线周期结束后,使其地址总线、数据总线和部分控制总线处于高阻态,从而让出对总线的控制权,并给出DMA响应信号。DMAC接到该响应信号后,就能控制总线,进行数据传送的控制工作,直到DMA操作完成,CPU再恢复对总线的控制权,继续实行被中断的程序。注意,使用这种办法进行的DMA传送期间,CPU处于空闲状况,会减少CPU的借助率,而且会干扰CPU对中断的响应和动态RAM的刷新,这是需要加以考虑的。但在实质应用中,这是最常用、最简单的传送方法,大多数DMAC都使用这种方法。
DMA的传送方法
一般,大多数DMAC都有三种DMA传送方法:
1.单字节传送方法
每次DMA传送只传送一个字节的数据,传送后释放总线由CPU控制总线至少一个完整的总线周期。将来又测试DMA请求线DREQ,若有效,再进入DMA周期。在这种方法中应该注意:①在DMA响应信号DACK有效前,DREQ需要维持有效;②若DREQ在传送过程中一直维持有效,在两次传送之间也必需释放总线。
2.成组传送方法
一个DMA请求可以传送一组信息,这一组信息的字节数由编程决定,只须在DACK有效之前DREQ维持有效即可。一旦DACK有效,不管DREQ是不是有效,DMAC一直不舍弃总线控制权,直到整个数组传送完。
3.请求传送方法
请求传送方法又称查看传送方法。该方法的传送像成组传送方法,但每传送一个字节后,DMAC就测试DREQ,若无效,则挂起;若有效,继续DMA传送,直到:①一组信息传送结束;②外加信号强制DMAC暂停操作。
DMAC的基本功能
在DMA操作中,DMAC是控制存储器和外设之间高速传送数据的硬件电路, 是一种完成直接数据传送的专用处置器,它必需可以取代CPU和软件在程序控制传送中的各项功能,因此DMAC应该具备如下功能:
能同意外设的DMA请求信号DREQ,并能向外设发出DMA响应信号DACK;
能向CPU发出总线请求信号,当CPU发出总线响应信号后能接管对总线的控制权,进入DMA方法;
能发出地址信息,对存储器寻址并修改地址指针;
能发出读、写等控制信号,包含存储器访问信号和I/O访问信号;
能决定传送的字节数,并能判断DMA传送是不是结束;
能发出DMA结束信号,释放总线,使CPU恢复正常工作。
具备上述功能的DMAC工作示意图如图6-12所示。
该电路的工作过程如下:当输入设施筹备好一个字节数据时,发出选通脉冲STB,该信号一方面选通“数据缓冲寄存器”U2,把输人数据通过U2送入“锁存器”U3;其次将“DMA请求触发器”U1置“1”,作为锁存器U3的筹备就绪信号READY,打开锁存器U3,把输入数据送上数据总线;同时DMA请求触发器U1向DMAC发出DMA请求信号。然后,DMAC向CPU发出HOLD信号,CPU在现行总线周期结束后给予响应,发出HLDA信号,DMAC接到该信号后接管总线控制权,发出DMA响应和地址信息,并发出存储器写命令,把外设输入数据(经缓冲器U2、锁存器U3暂存在系统数据总线上)写到内存,然后修改地址指针,修改计数器、检查传送是不是结束,若没有结束,则循环传送直至整个数据块传送完。在整个数据块传送完后,DMAC撤除总线请求信号HOLD,在下一个T周期的上升沿,使HLDA变为无效。上述过程如图6—13的波形图所示。

相关文章推荐

08

27

贵港自学考试一般多少分合格?

贵港自学考试一般多少分合格?愈加多的工薪族想要通过贵港自学考试来提高自己的学历。不少考生对自学考试有关信息都不太知道,今天记者就来和大伙聊一聊贵港自学考试的合格分数线,期望对大伙有所帮助。

08

27

2023自学考试02316计算机应用技术串讲笔记(3)

2023自学考试02316计算机应用技术串讲笔记81、程序设计任务书:详细地描述这个处置逻辑可以用“输入一加工一输出”(InpuProcessOutput,IPO)图。IPO图将为编制程序提供指导,所以也叫做程序设计任务书。

08

26

2023年00453教育法学自学考试容易见到章节考试

2023年00453教育法学自学考试容易见到章节考试知识点难题:第三章1、 教育法的拟定法律拟定就是国家机关依据法定权限和程序,拟定、修改和废止法律和法规的活动,又可称为立法。教育法的拟定是国家法律拟定活动的一部分,它是有专门的机关和一套规

08

26

2022年河南自学考试《高等数学(一)》模拟考试

2022年河南自学考试《高等数学(一)》模拟考试33、计算题1.求f=x/x,phi=|x|/x当x|0时的左、右极限,并说明它们在x|0时的极限是不是存在。2.求微分方程/+2xy=xe^的通解3.设z=lntan,求dz4.intxln

08

26

钦州自学考试大专需要考试科目有哪些?

钦州自学考试大专需要考试科目有哪些?关于这个问题,不少参加钦州自学考试大专的考生都有咨询过,所以记者给大伙整理了以下内容解析,期望能给大伙带来帮助。钦州自学考试大专有16门左右的科目需要考,自学考试公共科目一般有3~5门左右,其中《中国近现

08

26

2022年十月河南自学考试《公关心理学》考试真题

2022年十月河南自学考试《公关心理学》考试真题·55、论述题:本大题共2小题,每小题10分,共20分。36.试述公益与赞助活动的心理效应及心理方案。

08

26

2022年河南自学考试《学前教育心理学》考试真题

11.互惠性教学中,对阅读中存在的困惑进行解答的过程被叫做()A. 提问 B. 澄清C. 总结 D. 预言12.学前教育心理学研究的核心是婴幼儿学习心理和婴幼儿()A. 教学心理 B. 游戏心理 C. 认知心理 D. 进步心理13.以下是教

08

26

2022年十月河南自学考试设计概论考试真题·1

2022年十月河南自学考试设计概论考试真题·11、单项选择题:本大题共 10 小题,每小题 1 分,共 10 分。 在每小题列出的备选项中只有一项是最符合题目需要的,请将它选出。

08

26

2022年十月河南自学考试《行政管理学》考试真题

行政管理学考试试题课程代码:002771.请考生按规定用笔将所有考试试题的答案涂、写在答卷纸上。2. 答卷前,考生务势必我们的考试课程名字、名字、准考证号用!黑色字迹的签字笔或钢笔填写在答卷纸规定的地方上。

08

26

全国2013年4月高等教育自考课程设计与评价考试

全国2013年4月高等教育自考课程设计与评价考试试题课程代码:09338请考生按规定用笔将所有考试试题的答案涂、写在答卷纸上。选择题部分需要注意的地方:1.答卷前,考生务势必我们的考试课程名字、名字、准考证号用黑色字迹的签字笔或钢笔填写在答