CPU与外设间的数据传送方式课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《CPU与外设间的数据传送方式课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPU 外设 数据 传送 方式 课件
- 资源描述:
-
1、1第三节第三节 CPU与外设间的数据传送方式与外设间的数据传送方式CPU与外设的工作速度不一致,与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。是本节讨论的问题。2一、一、无条件传送方式无条件传送方式二、二、条件传送方式条件传送方式(查询方式查询方式)三、三、中断传送方式中断传送方式四、四、DMA传送方式传送方式 (Direct Memory Access)有以下几种传送方式有以下几种传送方式:3(CPU与外设同步工作):与外设同步工作):外部控制过程各种动作外部控制过程各种动作时间是固定的时间是固定的,而且,而且是已知的是已知
2、的。(CPU与外设不同步工作):与外设不同步工作):传送前,传送前,先查询外设状态先查询外设状态,准备好才传送,否则,准备好才传送,否则CPU处于等处于等待状态。待状态。外设与外设与CPU处于并行工作处于并行工作,一旦外设准备好,外设向,一旦外设准备好,外设向CPU发发中断申请,条件具备,中断申请,条件具备,CPU暂停原程序执行,响应中断,外设暂停原程序执行,响应中断,外设与与CPU串行工作串行工作。(高速(高速I/O及成组交换数据):及成组交换数据):CPU不干予,不干予,由硬件实现由硬件实现存储器与外设之间存储器与外设之间交换数据,称直交换数据,称直接存取存储器。接存取存储器。4一、无条件
3、传送方式一、无条件传送方式(同步传送方式同步传送方式)实现方法实现方法 CPU不查询外设工作状态,不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,与外设速度的匹配通过在软件上延时完成,在程序中直接用在程序中直接用I/O指令,完成与外设的数据传送指令,完成与外设的数据传送 特点特点 1.适用于外设动作时间已知,适用于外设动作时间已知,在在CPU与外设进行数据传送时,外设保证已准备好的情况与外设进行数据传送时,外设保证已准备好的情况 2.软硬件十分简单。软硬件十分简单。5例例 1 无条件输入接口无条件输入接口(参看教材图(参看教材图6-8)接口电路,即硬件上保证接口电路,即硬件上保证:只
4、在只在CPU执行从执行从200H端口输入数据时端口输入数据时,三态门处于工作状态,使输入设备的数据送上总线侧,三态门处于工作状态,使输入设备的数据送上总线侧,而而CPU执行其它指令时执行其它指令时,三态门均处于高阻状态三态门均处于高阻状态,使输入设备的数据线与总线侧断开使输入设备的数据线与总线侧断开三三 态态缓冲器缓冲器输入输入设备设备数据数据 线线IOR地址地址译码译码地址线地址线 200H000D7 D0A15A0与与非非PC总总线线6无条件输入编程无条件输入编程:从端口从端口200H读入读入100个字节到内存缓冲区个字节到内存缓冲区buffer中。中。、MOV AX,SEG buffer
5、 MOV DS,AX ;取缓冲区取缓冲区 LEA DI,buffer ;首地址首地址 MOV CX,100H ;传送个数传送个数 MOV DX,200H ;端口地址端口地址 next:;延时等待延时等待 IN AL,DX ;读入数据读入数据 CALL delay MOV DI,AL ;送缓冲区送缓冲区 INC DI ;修改指针修改指针 LOOP next 、;延时子程延时子程delay PROC PUSH CX MOV CX,80Hcc:LOOP cc POP CX RETdelay ENDP7例例2 无条件输出无条件输出:编程控制系统板上扬声器发声编程控制系统板上扬声器发声。47653210
6、61H 端口端口 8253与与门门放放大大器器扬扬声声器器01控制其它外设控制其它外设扬声器控制电路图扬声器控制电路图:T个数个数发声原理:发声原理:向扬声器发送一串脉冲信号,向扬声器发送一串脉冲信号,推动扬声器内纸盆振动,发出声音推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的频率,控制音高;脉冲的个数,控制音长脉冲的个数,控制音长81.使使61H端口的端口的0位输出位输出0,控制控制8253输出输出1。2.使使61H端口的端口的1位按所需频率位按所需频率交替输出交替输出0和和1,产生所需的声音。产生所需的声音。编程方法:编程方法:4765321061H 端口端口 8253与与门门
7、放放大大器器扬扬声声器器01控制其它外设控制其它外设扬声器控制电路图扬声器控制电路图:9code SEGMENT ASSUME CS:codestart:MOV BX,3000H ;控制脉冲个数控制脉冲个数 MOV DX,6000H ;控制脉冲周期控制脉冲周期 IN AL,61H ;读入读入61H端口数据端口数据 AND AL,1111 1100b ;D0为为0,8253 输出输出1sound:XOR AL,0000 0010b OUT 61H,AL ;61H端口的端口的D1交替为交替为0和和1 MOV CX,DXdelay:LOOP delay ;延时延时 DEC BX ;控制脉冲数控制脉冲
8、数 JNZ sound MOV AH,4CH INT 21Hcode ENDS END start发声程序发声程序:61H 端口端口8253与与门门放放大大器器扬扬声声器器01控制其它外设控制其它外设T个数个数10将发声程序改编为一子程:将发声程序改编为一子程:入口参数入口参数 BX 控制音长控制音长 DX 控制音高控制音高思考思考:11二、条件传送方式二、条件传送方式(查询传送方式查询传送方式)实现方法:实现方法:在与外设进行传送数据前,在与外设进行传送数据前,CPU先查询外设状态先查询外设状态,当外设准备好后,才执行当外设准备好后,才执行I/O指令,实现数据传送指令,实现数据传送特点:特点
9、:1.CPU通过不断查询外设状态,实现与外设的速度匹配通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低的工作效率低12查询传送方式,编程流程查询传送方式,编程流程:NY从状态端口读入状态信息从状态端口读入状态信息从数据端口传送一个数据从数据端口传送一个数据外设准备好否?外设准备好否?13例例1 查询方式输入查询方式输入假设假设 外设的外设的状态端口状态端口为为21C H,其中其中D4=1时,表示外设数据准备好时,表示外设数据准备好 外设的外设的数据端口数据端口为为218 H。实现从外设读入实现从外设读入50H个字节到内存缓冲区个字节到内存缓冲区buffer中。中。21CH端口端
10、口状态端口状态端口218H端口端口数据端口数据端口地址地址译码译码数据数据缓冲缓冲控制控制电路电路输输入入外外备备CPU地址线地址线数据线数据线控制线控制线14查询方式输入接口查询方式输入接口,参看教材图参看教材图6-10状态端口状态端口 D4=1 表示外设准备好表示外设准备好三三 态态缓冲器缓冲器输输入入设设备备数数 据据 线线2 1 8H 数据数据端口端口地址地址译码译码地址线地址线 状态状态端口端口地址地址译码译码锁锁存存器器IOR R Q D三三 态态缓冲器缓冲器+5vD42 1 CH STBPC总线总线IORA15A0D7D0&MOV DX,218HIN AL,DXMOV DX,21
11、CHIN AL,DX15从从21CH状态端口状态端口读入外设状态信息读入外设状态信息从从218H数据端口数据端口读入一个字节数据读入一个字节数据YND4=1,外设准备好否?外设准备好否?N50H个数据传送结束?个数据传送结束?Y编程从外设读入编程从外设读入50H个字节到内存缓冲区个字节到内存缓冲区buffer中中16 、MOV AX,SEG buffer ;取缓冲区首地址取缓冲区首地址 MOV DS,AX LEA DI,buffer MOV CX,50H ;传送个数传送个数 next:MOV DX,21CH ask:IN AL,DX ;从状态端口读入状态信息从状态端口读入状态信息 TEST A
12、L,0001 0000B ;检测检测D4位位 JZ ask ;D4=0,继续查询继续查询MOV DX,218H IN AL,DX ;从数据端口读入数据从数据端口读入数据MOV DI,AL ;送缓冲区送缓冲区 INC DI ;修改缓冲区指针修改缓冲区指针 LOOP next ;传送下一个传送下一个、查询方式输入程序段查询方式输入程序段:17例例2 查询方式输出查询方式输出假设假设 外设的外设的状态端口状态端口为为21C H,其中其中D0=0时,表示时,表示外设准备好外设准备好 外设的外设的数据端口数据端口为为219 H。编程将缓冲区编程将缓冲区buffer的的80H个字节个字节输出到外设。输出到
13、外设。21CH端口端口状态端口状态端口219H端口端口数据端口数据端口地址地址译码译码数据数据缓冲缓冲控制控制电路电路输输出出外外设设CPU地址线地址线数据线数据线控制线控制线18查询方式输出接口查询方式输出接口,参看教材图参看教材图6-11状态端口状态端口 D0=0 表示外设准备好表示外设准备好输输出出设设备备数数 据据 线线219H数据数据端口端口地址地址译码译码地址线地址线 锁锁存存器器 RD D Q 三三 态态缓冲器缓冲器+5vACKPC总总线线IORA15A0D7D0IOW状态状态端口端口地址地址译码译码D021CH&MOV DX,219HOUT DX,AL MOV DX,21CHA
14、sk:IN AL,DX TESTAL,01h JNZ ask 19从从21CH状态端口状态端口读入外设状态信息读入外设状态信息将一字节数据送至将一字节数据送至219H数据端口数据端口YND0=0,外设准备好否?外设准备好否?N80H个数据传送结束?个数据传送结束?Y编程将缓冲区编程将缓冲区buffer的的80H个字节输出到外设个字节输出到外设20、MOV AX,SEG buffer ;取缓冲区首地址取缓冲区首地址 MOV DS,AX LEA SI,buffer MOV CX,80H ;传送个数传送个数 next:MOV DX,21CH ask:IN AL,DX ;从状态端口读入状态信息从状态端
15、口读入状态信息 TEST AL,0000 0001B ;检测检测D0位位 JNZ ask ;D00,继续查询继续查询 MOV AL,SI ;从缓冲区取数从缓冲区取数 MOV DX,219H OUT DX,AL ;从数据端口输出数据从数据端口输出数据 INC SI ;修改缓冲区指针修改缓冲区指针 LOOP next ;输出下一个输出下一个 、查询方式输出程序段:查询方式输出程序段:21三、中断传送方式三、中断传送方式 实现方法:实现方法:1.当外设准备好,向当外设准备好,向CPU发出中断请求发出中断请求 2.CPU在满足响应中断的条件下,发出中断响应信号;在满足响应中断的条件下,发出中断响应信号
16、;3.CPU暂停当前的程序,转暂停当前的程序,转 去执行中断服务程序,去执行中断服务程序,完成与外设的数据传送;完成与外设的数据传送;4.CPU从中断服务程序返回,继续执行被中断的程序从中断服务程序返回,继续执行被中断的程序22中断服务程序中断服务程序发申请发申请中断服务程序中断服务程序发申请发申请中断方式下中断方式下CPU执行程序流程执行程序流程外外设设23使用中断方式时使用中断方式时:外设准备数据,外设准备数据,CPUCPU执行程序执行程序,CPUCPU与外设并行工作;与外设并行工作;一旦外设准备就绪,外设向一旦外设准备就绪,外设向CPUCPU发中断申请,发中断申请,CPUCPU暂停原程序
17、执行,响应中断,进行数据传输。暂停原程序执行,响应中断,进行数据传输。此时,此时,CPUCPU与外设是串行工作。与外设是串行工作。241.CPU和外设大部分时间处在并行工作状态和外设大部分时间处在并行工作状态,只在只在CPU响应外设的中断申请后,响应外设的中断申请后,进入数据传送的过程进入数据传送的过程2.中断传送方式提高了中断传送方式提高了CPU的效率的效率 中断传送方式的特点:中断传送方式的特点:25中断方式中断方式 输入接口输入接口:中断中断请求请求D DQ Q三三态态缓缓冲冲器器&中断中断屏蔽屏蔽触发器触发器Q Q端口端口译码译码地址总线地址总线D D7 7-D-D0 0RDRDINT
18、AINTAINTRINTR输入输入设备设备数据数据输入输入锁存器锁存器+5V+5V某位未屏蔽,某位未屏蔽,中断屏蔽触发器中断屏蔽触发器置置0,Q=026(1 1)当外设数据准备好,外设向接口电路)当外设数据准备好,外设向接口电路发出选通信号发出选通信号:将将数据打入锁存器;同时将中断请求触发器置数据打入锁存器;同时将中断请求触发器置“1”1”,(2 2)若此时)若此时,中断请求屏蔽触发器置中断请求屏蔽触发器置“0”0”,=1=1,Q=0Q=0,允许本接口允许本接口发出发出中断中断,接口电路向接口电路向CPUCPU发出中断请求信号发出中断请求信号INTR=1INTR=1;(3 3)CPUCPU在
19、运行程序时不断访问在运行程序时不断访问INTRINTR,若查到,若查到INTR=1INTR=1信号,信号,且且CPUCPU内部中断允许标志内部中断允许标志IF=1IF=1,则则CPUCPU在现行指令执行完后,在现行指令执行完后,暂停程序的执行,向接口电路发出中断响应信号暂停程序的执行,向接口电路发出中断响应信号 。(4 4)外设把)外设把中断类型号送上数据总线;中断类型号送上数据总线;(4 4 N N)=(IPIP),(),(4 4 (N+2N+2)=(CSCS)(5 5)CPUCPU转入中断服务程序,转入中断服务程序,执行执行ININ指令,读入数据;指令,读入数据;清除中断请求标志清除中断请
20、求标志。当中断处理完后,返回原程序。当中断处理完后,返回原程序。QINTA27四、四、DMA 传送方式传送方式(直接存储器存取方式直接存储器存取方式)实现方法:实现方法:1.由专用接口芯片由专用接口芯片DMA控制器控制器(称称DMAC)控制传送过程,控制传送过程,2.当外设需传送数据时,通过当外设需传送数据时,通过 DMAC向向CPU发出总线请求;发出总线请求;3.CPU发出总线响应信号,释放总线;发出总线响应信号,释放总线;4.DMAC接管总线,控制外设、内存之间直接数据传送接管总线,控制外设、内存之间直接数据传送28DMA 传送方式过程传送方式过程CPUDMAC内存内存外设外设总线总线响应
展开阅读全文