CPU与外设间的数据传送方式学习教案_第1页
CPU与外设间的数据传送方式学习教案_第2页
CPU与外设间的数据传送方式学习教案_第3页
CPU与外设间的数据传送方式学习教案_第4页
CPU与外设间的数据传送方式学习教案_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、1第三节第三节 CPU与外设间的数据传送方式与外设间的数据传送方式CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。第1页/共58页第一页,共59页。2一、 无条件传送方式二、 条件传送方式 ( 查询方式 )三、 中断传送方式四、 DMA传送方式 ( D i r e c t M e m o r y Access ) 有以下几种传送方式:第2页/共58页第二页,共59页。3 CPU不干予,由硬件实现存储器与外设之间交换不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。数据,称直接存取存储器。第3页/共58页第三页,共59页。4一、无条件传送方式一、无

2、条件传送方式 (同步传送方式同步传送方式) 实现方法 CPU不查询外设工作状态, 与外设速度的匹配通过在软件上延时完成, 在程序中直接用I/O指令,完成与外设的数据传送 特点 1. 适用于外设动作时间已知, 在CPU与外设进行数据传送时,外设保证已准备好的情况 2. 软硬件十分简单。第4页/共58页第四页,共59页。5例 1 无条件输入接口(参看教材图6-8)接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时, 三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时, 三态门均处于高阻状态, 使输入设备的数据线与总线侧断开三 态缓冲器输入设备数据 线IOR地址译码地

3、址线 200H000D7 D0A15A0与非PC总线第5页/共58页第五页,共59页。6无条件输入编程: 从端口200H读入100个字节到内存缓冲区buffer中。、 MOV AX, SEG buffer 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 PUS

4、H CX MOV CX, 80Hcc: LOOP cc POP CX RETdelay ENDP第6页/共58页第六页,共59页。7例2 无条件输出(shch) : 编程控制系统板上扬声器发声。 4765321061H 端口 8253与门放大器扬声器01控制其它外设扬声器控制电路图:T个数发声原理:向扬声器发送一串脉冲信号, 推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的个数,控制音长第7页/共58页第七页,共59页。81. 使61H端口的0位输出0,控制8253输出1。2. 使61H端口的1位按所需频率交替输出0和1, 产生所需的声音。编程方法: 4765321061H 端口 8

5、253与门放大器扬声器01控制其它外设扬声器控制电路图:第8页/共58页第八页,共59页。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 ;控制脉冲

6、数控制脉冲数 JNZ sound MOV AH, 4CH INT 21Hcode ENDS END start发声程序: 61H 端口8253与门放大器扬声器01控制其它外设T个数第9页/共58页第九页,共59页。10将发声程序改编为一子程:入口参数 BX 控制音长 DX 控制音高思考:第10页/共58页第十页,共59页。11二、条件传送方式二、条件传送方式(查询传送方式查询传送方式)实现方法: 在与外设进行传送数据前,CPU先查询外设状态, 当外设准备好后,才执行I/O指令,实现数据传送特点:1. CPU通过不断查询外设状态,实现与外设的速度匹配2. CPU的工作效率低第11页/共58页第十

7、一页,共59页。12查询传送(chun sn)方式,编程流程:NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?第12页/共58页第十二页,共59页。13例1 查询方式输入假设 外设的状态端口为21C H, 其中D4=1时,表示外设数据准备好 外设的数据端口为218 H。 实现从外设读入50H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线第13页/共58页第十三页,共59页。14查询方式输入接口(ji ku), 参看教材图6-10状态端口 D4=1 表示外设准备好三 态缓冲器输入设备数 据 线2 1

8、 8H 数据端口地址译码地址线 状态端口地址译码锁存器IOR R Q D三 态缓冲器+5vD42 1 CH STBPC总线IORA15A0D7D0&MOV DX, 218HIN AL, DXMOV DX, 21CHIN AL, DX第14页/共58页第十四页,共59页。15从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1, 外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中第15页/共58页第十五页,共59页。16 、 MOV AX, SEG buffer ;取缓冲区首地址取缓冲区首地址 MOV DS, AX L

9、EA DI, buffer MOV CX, 50H ;传送个数传送个数 next: MOV DX, 21CH ask: IN AL, DX ;从状态端口读入状态信息 TEST AL, 0001 0000B ;检测检测D4位位 JZ ask ;D4=0,继续查询继续查询MOV DX, 218H IN AL, DX ;从数据端口读入数据从数据端口读入数据MOV DI, AL ;送缓冲区送缓冲区 INC DI ;修改缓冲区指针修改缓冲区指针 LOOP next ;传送下一个传送下一个、查询方式输入程序段:第16页/共58页第十六页,共59页。17例2 查询方式输出假设 外设的状态端口为21C H,

10、其中D0 = 0时,表示外设准备好 外设的数据端口为219 H。 编程将缓冲区buffer的80H个字节输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓冲控制电路输出外设CPU地址线数据线控制线第17页/共58页第十七页,共59页。18查询方式输出接口, 参看教材图6-11状态端口 D0 = 0 表示外设准备好输出设备数 据 线219H数据端口地址译码地址线 锁存器 RD Q 三 态缓冲器+5vACKPC总线IORA15A0D7D0IOW状态端口地址译码D021CH&MOV DX, 219HOUT DX, AL MOV DX, 21CHAsk: IN AL, DX T

11、ESTAL,01h JNZ ask 第18页/共58页第十八页,共59页。19从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0, 外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节输出到外设第19页/共58页第十九页,共59页。20、 MOV AX, SEG buffer ;取缓冲区首地址取缓冲区首地址 MOV DS, AX LEA SI, buffer MOV CX, 80H ;传送个数传送个数 next: MOV DX, 21CH ask: IN AL, DX ;从状态端口读入状态信息 TEST AL, 0000 0001B ;检测

12、检测D0位位 JNZ ask ;D00,继续查询继续查询 MOV AL, SI ;从缓冲区取数从缓冲区取数 MOV DX, 219H OUT DX, AL ;从数据端口输出数据从数据端口输出数据 INC SI ;修改缓冲区指针修改缓冲区指针 LOOP next ;输出下一个输出下一个 、查询方式输出程序段: 第20页/共58页第二十页,共59页。21三、中断传送方式三、中断传送方式 实现方法: 1. 当外设准备好,向CPU发出中断请求 2. CPU在满足响应中断的条件下,发出中断响应信号; 3. CPU暂停当前的程序,转 去执行中断服务程序, 完成与外设的数据传送; 4. CPU从中断服务程序

13、返回,继续执行被中断的程序第21页/共58页第二十一页,共59页。22中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设第22页/共58页第二十二页,共59页。23使用中断方式时:外设准备数据,CPU执行程序, CPU与外设并行工作; 一旦外设准备就绪,外设向CPU发中断申请, CPU暂停(zn tn)原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。第23页/共58页第二十三页,共59页。241. CPU和外设大部分时间处在并行工作状态, 只在CPU响应外设的中断申请后, 进入数据传送的过程2. 中断传送方式提高了CPU的效率 中断传送方式的特点:第24页/

14、共58页第二十四页,共59页。25中断方式(fngsh) 输入接口:中断中断请求请求D DQ Q三三态态缓缓冲冲器器& & & &中断中断屏蔽屏蔽触发器触发器Q Q端口端口译码译码地址总线地址总线D D7 7-D-D0 0RDRDINTAINTAINTRINTR输入输入设备设备数据数据输入输入锁存器锁存器+5V+5V某位未屏蔽(pngb),中断屏蔽(pngb)触发器置0,Q=0第25页/共58页第二十五页,共59页。26(1)当外设数据准备好,外设向接口电路发出(fch)选通信号:将数据打入锁存器;同时将中断请求触发器置“1”,(2)若此时,中断请求屏蔽触发器置

15、“0”, =1,Q=0, 允许本接口发出(fch)中断,接口电路向CPU发出(fch)中断请求信号INTR=1;(3)CPU在运行程序时不断访问INTR,若查到INTR=1信号,且CPU内部中断允许标志IF=1,则CPU在现行指令执行完后,暂停程序的执行,向接口电路发出(fch)中断响应信号 。 (4)外设把中断类型号送上数据总线;(4N)=(IP),(4 (N+2)=(CS)(5)CPU转入中断服务程序,执行IN指令,读入数据;清除中断请求标志。当中断处理完后,返回原程序。QINTA第26页/共58页第二十六页,共59页。27四、四、DMA 传送方式传送方式(直接存储器存取方式直接存储器存取

16、方式) 实现方法: 1. 由专用接口芯片DMA控制器 (称DMAC) 控制传送过程,2. 当外设需传送数据时,通过 DMAC向CPU发出总线请求;3. CPU发出总线响应信号,释放总线;4. DMAC接管总线,控制外设、内存之间直接数据传送第27页/共58页第二十七页,共59页。28DMA 传送方式过程CPUDMAC内存外设总线响应总线请求第28页/共58页第二十八页,共59页。29DMA传送方式的特点 1. 外设和内存之间,直接进行(jnxng)数据传送, 不通过CPU, 传送效率高。 适用于在内存与高速外设、 或两个高速外设之间进行(jnxng)大批量数据传送。 2. 电路结构复杂,硬件开

17、销较大。第29页/共58页第二十九页,共59页。30 接收接口往DMA控制器发出DMA请求信号后, DMA控制器能向CPU发出总线请求信号HOLD(高电平)。 当CPU向DMA发出响应信号HLDA(高电平)以后, DMA能接管对总线的控制,进入DMA方式(fngsh)。 能向地址总线发出内存地址信息, 对其进行寻址及修改地址指针。 能向存储器或外设发 , 命令。 能决定传送字节数,并判断DMA传送是否结束。 DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。DRWRDMA控制器功能(gngnng)第30页/共58页第三十页,共59页。31D

18、 M A 控 制 器D M A 控 制 器数 据数 据端 口端 口状 态 / 控 制状 态 / 控 制端 口端 口地 址 寄 存 器地 址 寄 存 器计 数 器计 数 器控 制 / 状 态控 制 / 状 态寄 存 器寄 存 器C P UC P U存存储储器器H O L DH O L DH L D AH L D A数 据数 据缓 冲缓 冲寄 存 器寄 存 器D M AD M A请 求请 求触 发 器触 发 器输 入 设 备输 入 设 备D M A 请 求D M A 请 求D M A 响 应D M A 响 应R e a d yR e a d yDMA控制器工作(gngzu)原理第31页/共58页第

19、三十一页,共59页。32 当外设输入数据准备好,外设向DMA发出一个选通信号, 将数据送数据端口;向DMA发出请求。 DMA控制器向CPU发出总线请求信号(HOLD)高电平。 CPU在现行总线周期结束后响应, 向DMA发出响应信号(HLDA)高电平; CPU放弃对总线控制,DMA控制器接管三态总线, 接口将数据送上数据总线,并撤消DMA请求; 内存收到数据以后,给DMA一个回答,于是DMA修改地址指针, 改变传送字节数。检查传送是否结束。没有结束, 下次接口准备好数据, 再进行(jnxng)一次新的传输;当计数值计为0,DMA传输过程便告结束。 DMA控制器撤消总线请求(HOLD变低),在下一

20、个时钟周期上升沿使总线响 应HLDA变低,DMA释放总线,CPU取得总线控制权。DMA控制器工作(gngzu)原理(续)第32页/共58页第三十二页,共59页。33传 送 结 束 ?传 送 结 束 ?H L D AH L D A发 存 储 器 地 址发 存 储 器 地 址传 送 数 据传 送 数 据修 改 地 址修 改 地 址指 针指 针D M A 结 束D M A 结 束N NY YDMA控制器工作(gngzu)原理(续)第33页/共58页第三十三页,共59页。34用DMA方式进行输出过程与输入过程类似, 只是在DMA控制器发出回答信号后接着发出的是IO写信号和存储器读信号,数据传送方向(f

21、ngxing)与输入相反而已。DMA控制器工作(gngzu)原理(续)第34页/共58页第三十四页,共59页。35 第四节第四节 接口技术的现状与发展趋势接口技术的现状与发展趋势(自学)自学)一、接口技术的现状二、接口技术的发展趋势第35页/共58页第三十五页,共59页。36一、接口技术的现状一、接口技术的现状(xinzhung)(xinzhung)1用简单的逻辑电路2用可编程集成(j chn)接口芯片3用多功能的芯片组4. ? (结合所学的数字电子技术结合所学的数字电子技术, 在在并行接口实验报告并行接口实验报告上阐述上阐述)第四次实验报告第36页/共58页第三十六页,共59页。37 1.

22、用简单的逻辑电路采用简单的逻辑部件完成接口电路特点:原理清楚,但实际用得少。 例1 无条件输入接口例例2 无条件输出接口无条件输出接口例例3 查询输入接口查询输入接口例例4 查询输出接口查询输出接口注意: 教材中控制信号采用的是8088CPU工作于最小模式下的信号 讲义中控制信号采用的是IBM PC/XT总线上的信号第37页/共58页第三十七页,共59页。38例 1 无条件输入接口(参看教材图6-8)三 态缓冲器输入设备数据 线IOR地址译码地址线 200H000D7 D0A15A0与非PC总线注意:在逻辑门前输入信号的 ,表示对信号求反。与锁存器、三态门等控制端的意义不同。简单(jindn)

23、的逻辑电路:第38页/共58页第三十八页,共59页。39例 2 无条件输出接口(参看教材图6-9)PC总线锁存器输出设备数据线IOW地址译码地址线 300H000D7 D0A15A0与非简单(jindn)的逻辑电路:第39页/共58页第三十九页,共59页。40例3 查询输入接口(参看教材图6-11)状态端口 D4=1 表示外设准备好三 态缓冲器输入设备数 据 线2 1 8H 数据端口地址译码地址线 状态端口地址译码锁存器IOR R Q D三 态缓冲器+5vD42 1 CH STBPC总线IORA15A0D7D0&MOV DX, 218HIN AL, DXMOV DX, 21CHIN A

24、L, DX简单(jindn)的逻辑电路:第40页/共58页第四十页,共59页。41例4 查询输出接口(参看教材图6-12)状态端口 D0 = 0 表示外设准备好输出设备数 据 线219H数据端口地址译码地址线 锁存器 RD Q 三 态缓冲器+5vACKPC总线IORA15A0D7D0IOW状态端口地址译码D021CH&MOV DX, 219HOUT DX, ALMOV DX, 21CHIN AL, DX简单(jindn)的逻辑电路:第41页/共58页第四十一页,共59页。422. 用可编程集成接口(ji ku)芯片 将完成某一功能的接口(ji ku)电路集成在一个芯片上, 通过对接口(

25、ji ku)芯片编程,设置接口(ji ku)芯片的工作状态。特点:1. 体积小、功能强、可靠性高2. 通常是专门为配合微机系统中的各种适配器设计, 不必增加或增加很少的电路,就可直接与总线连接, 使用方便。3. 应用时,应掌握芯片的工作原理、外部特性、编程方法。第42页/共58页第四十二页,共59页。43接口芯片举例(j l):并行接口芯片 8255A、8155A、Z80-PIO串行接口芯片 8251A、8250、Z80-SIO定时/计数器 8253、8254、Z80-CTC中断控制器 8259ADMA控制器 8237A、Z80-DMA键盘控制器 8279CRT控制器 8275、6845硬盘控

26、制器 6843D/A转换器 DAC0832A/D转换器 ADC0809第43页/共58页第四十三页,共59页。44例 用可编程并行接口芯片8255A做打印机的接口。查询方式接线图A0A1CS并行接口8255A打印机PC总线A0A1数 据 线IORRDWRIOW片选译码PA0PA7PC0PC4A2A9数据线STROBEBUSYD0D7D0D7第44页/共58页第四十四页,共59页。45中断方式接线图A0A1CS并行接口8255A打印机PC总线A0A1数 据 线IORRDWRIOW片选译码PA0PA7PC7PC6A2A9数据线STROBEACKD0D7D0D7PC3IRQ3第45页/共58页第四十

27、五页,共59页。46 将完成多个功能的接口电路集成在一个芯片上, 通过编程,设置控制字,改变接口芯片的工作状态。例 82206集成外设控制器,内部包含: 2个8237DMA控制器2个8259A中断控制器 1个8254定时/计数器 1个MC 146818实时时钟 以及其他接口芯片特点:可靠性更高、功能更强3. 用多功能的芯片组第46页/共58页第四十六页,共59页。47l将主板上的外围芯片集成在一组(24片)超大规模集成芯片上, 构成芯片组。l 芯片组是主板的关键部件,通常固定在主板上, 不象CPU、内存条或其他插卡等可进行简单的替换和升级。l芯片组提供主板的核心逻辑,影响主板的性能和功能,芯片

28、组提供主板的核心逻辑,影响主板的性能和功能, 决定主板所支持的决定主板所支持的CPU 类型、内存类型、类型、内存类型、 总线类型、总线速度等关键技术配置总线类型、总线速度等关键技术配置第47页/共58页第四十七页,共59页。48第48页/共58页第四十八页,共59页。49550MHzIDE2Pentium III北桥440BXAGP南桥PIIX4ECMOS & RTCUSB超级I/OIDE1COM1COM2LPT1550MHzL1CacheL2Cache处理机总线 100MHz100MHzPCI 总线 33MHzPCI 插槽ISA插槽硬件实验箱ISA总线 8MHz内存条ROM BIOS

29、显示器硬盘光驱软驱键盘鼠标打印机MODEM66MHz显卡第49页/共58页第四十九页,共59页。50二、二、接口技术的发展趋接口技术的发展趋势势l集成化l多功能化l标准化l智能化第50页/共58页第五十页,共59页。51 第五节第五节 接口的设计与分析接口的设计与分析一、基本方法二、注意事项第51页/共58页第五十一页,共59页。52一一、基本方法、基本方法1. 了解外设工作原理,明确接口功能,选择接口芯片2. 设计接口与系统的连接3. 分析和设计接口程序4. 接口的调试第52页/共58页第五十二页,共59页。531. 了解外设工作原理,明确接口功能(gngnng),选择接口芯片CPU接接口口作作用用外外设设模模/数数转转换换( (A/ /D) )数数/模模转转换换( (D/ /A) )模模拟拟量量信信息息类类型型数数字字量量三三态态缓缓冲冲、锁锁存存数数字字量量工工作作速速度度快快解解决决传

温馨提示

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

评论

0/150

提交评论