【文档说明】CPU与外设间的数据传送方式课件.ppt,共(58)页,380.512 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-6042.html
以下为本文档部分文字说明:
1第三节CPU与外设间的数据传送方式CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。2一、无条件传送方式二、条件传送方式(查询方式)三、中断传送方式四、DMA传送方式(Dir
ectMemoryAccess)有以下几种传送方式:3概述1。无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的。2。查询方式(CPU与外设不同步工作):传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。
3。中断方式:外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。4。DMA方式(高速I/O及成组交换数据):CPU不干予,由
硬件实现存储器与外设之间交换数据,称直接存取存储器。4一、无条件传送方式(同步传送方式)实现方法CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送特点1.适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况
2.软硬件十分简单。5例1无条件输入接口(参看教材图6-8)接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时,三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,三态门均处于
高阻状态,使输入设备的数据线与总线侧断开三态缓冲器输入设备数据线IOR地址译码地址线200H000D7~D0A15~A0与非PC总线6无条件输入编程:从端口200H读入100个字节到内存缓冲区buffer中。、、、MOVAX,S
EGbufferMOVDS,AX;取缓冲区LEADI,buffer;首地址MOVCX,100H;传送个数MOVDX,200H;端口地址next:;延时等待INAL,DX;读入数据CALLdelayMOV[DI],AL;送缓冲区IN
CDI;修改指针LOOPnext、、、;延时子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCXRETdelayENDP7例2无条件输出:编程控制系统板上扬声器发声。4765321061H端口8253与门放大器扬声器01控制其它外设扬
声器控制电路图:T个数发声原理:向扬声器发送一串脉冲信号,推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的个数,控制音长81.使61H端口的0位输出0,控制8253输出1。2.使61H端口的1位按所需频率交替输出0和1
,产生所需的声音。编程方法:4765321061H端口8253与门放大器扬声器01控制其它外设扬声器控制电路图:9codeSEGMENTASSUMECS:codestart:MOVBX,3000H;控制脉冲个数MOV
DX,6000H;控制脉冲周期INAL,61H;读入61H端口数据ANDAL,11111100b;D0为0,8253输出1sound:XORAL,00000010bOUT61H,AL;61H端口的D1交替为0和1MOVCX,DXde
lay:LOOPdelay;延时DECBX;控制脉冲数JNZsoundMOVAH,4CHINT21HcodeENDSENDstart发声程序:61H端口8253与门放大器扬声器01控制其它外设T个数10将发声程序改编为一子程:入口参数BX控制
音长DX控制音高思考:11二、条件传送方式(查询传送方式)实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU
的工作效率低12查询传送方式,编程流程:NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?13例1查询方式输入假设外设的状态端口为21CH,其中D4=1时,表示外设数据准备好外设的数据端口为218H。实现从外设读入5
0H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线14查询方式输入接口,参看教材图6-10状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H
数据端口地址译码地址线状态端口地址译码锁存器IORRQD三态缓冲器+5vD421CHSTBPC总线IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DX15从21CH状态端口读入外设状态信息从218H数据端口读
入一个字节数据YND4=1,外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中16、、、MOVAX,SEGbuffer;取缓冲区首地址MOVDS,AXLEAD
I,bufferMOVCX,50H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息TESTAL,00010000B;检测D4位JZask;D4=0,继续查询MOVDX,218HINAL,DX;从数据端口读入数据MOV[DI],AL;送
缓冲区INCDI;修改缓冲区指针LOOPnext;传送下一个、、、查询方式输入程序段:17例2查询方式输出假设外设的状态端口为21CH,其中D0=0时,表示外设准备好外设的数据端口为219H。编程将缓冲区buffer的80H个字节输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓
冲控制电路输出外设CPU地址线数据线控制线18查询方式输出接口,参看教材图6-11状态端口D0=0表示外设准备好输出设备数据线219H数据端口地址译码地址线锁存器RDQ三态缓冲器+5vACKPC总线IORA15~A0D7~D0IOW状态端口地址译码D021CH&&MOVDX,219HO
UTDX,ALMOVDX,21CHAsk:INAL,DXTESTAL,01hJNZask19从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0,外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节输出到外设20、、、MOVA
X,SEGbuffer;取缓冲区首地址MOVDS,AXLEASI,bufferMOVCX,80H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息TESTAL,00
000001B;检测D0位JNZask;D0≠0,继续查询MOVAL,[SI];从缓冲区取数MOVDX,219HOUTDX,AL;从数据端口输出数据INCSI;修改缓冲区指针LOOPnext;输出下一个、、、查询方式输出程序段:21三、中断传送方式
实现方法:1.当外设准备好,向CPU发出中断请求2.CPU在满足响应中断的条件下,发出中断响应信号;3.CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;4.CPU从中断服务程序返回,继续执行被中断的程序22中断服务程序发申请中断服务程序发
申请中断方式下CPU执行程序流程外设23使用中断方式时:•外设准备数据,CPU执行程序,CPU与外设并行工作;•一旦外设准备就绪,外设向CPU发中断申请,CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与
外设是串行工作。241.CPU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送的过程2.中断传送方式提高了CPU的效率中断传送方式的特点:25中断方式输入接口:中断请求DQ三态缓冲器&&&中断屏蔽触发器Q端口译码地址总线D7--D0RDINT
AINTR输入设备数据输入锁存器+5V某位未屏蔽,中断屏蔽触发器置‘0’,Q=026(1)当外设数据准备好,外设向接口电路发出选通信号:将数据打入锁存器;同时将中断请求触发器置“1”,(2)若此时,中断请求屏蔽触发器置“0”,=1,Q=0,允许本接口发出中断,接口电路向CPU发出中断请求信
号INTR=1;(3)CPU在运行程序时不断访问INTR,若查到INTR=1信号,且CPU内部中断允许标志IF=1,则CPU在现行指令执行完后,暂停程序的执行,向接口电路发出中断响应信号。(4)外设把中断类型号送上数据总线;(4N)=(IP),(4(N+2))=(CS)(5)CP
U转入中断服务程序,执行IN指令,读入数据;清除中断请求标志。当中断处理完后,返回原程序。QINTA27四、DMA传送方式(直接存储器存取方式)实现方法:1.由专用接口芯片DMA控制器(称DMAC)控制传送过程,2
.当外设需传送数据时,通过DMAC向CPU发出总线请求;3.CPU发出总线响应信号,释放总线;4.DMAC接管总线,控制外设、内存之间直接数据传送28DMA传送方式过程CPUDMAC内存外设总线响应总线请求29DMA传送方式的特点1.外设和内存之间,直接进行数据传送,不通过CPU,传送效率
高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。2.电路结构复杂,硬件开销较大。30接收接口往DMA控制器发出DMA请求信号后,DMA控制器能向CPU发出总线请求信号HOLD(高电平)。当CPU向DMA发出响应
信号HLDA(高电平)以后,DMA能接管对总线的控制,进入DMA方式。能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。能向存储器或外设发,命令。能决定传送字节数,并判断DMA传送是否结束。DMA过程结束,能向CP
U发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。DRWRDMA控制器功能31DMA控制器数据端口状态/控制端口地址寄存器计数器控制/状态寄存器CPU存储器HOLDHLDA数据缓冲寄存器DMA请求触发器输入设备DMA请求DMA响应ReadyDMA控制器工作原理3
2当外设输入数据准备好,外设向DMA发出一个选通信号,将数据送数据端口;向DMA发出请求。DMA控制器向CPU发出总线请求信号(HOLD)高电平。CPU在现行总线周期结束后响应,向DMA发出响应信号(HLDA)高电平;CPU放弃对总线控制,DMA控制器接管三态总线,接
口将数据送上数据总线,并撤消DMA请求;内存收到数据以后,给DMA一个回答,于是DMA修改地址指针,改变传送字节数。检查传送是否结束。没有结束,下次接口准备好数据,再进行一次新的传输;当计数值计为0,DMA传输过程便
告结束。DMA控制器撤消总线请求(HOLD变低),在下一个时钟周期上升沿使总线响应HLDA变低,DMA释放总线,CPU取得总线控制权。DMA控制器工作原理(续)33传送结束?HLDA发存储器地址传送数据修改地址指针DMA结束NYDMA控制器工作原理(续)34用DMA方式进行输出过程
与输入过程类似,只是在DMA控制器发出回答信号后接着发出的是I/O写信号和存储器读信号,数据传送方向与输入相反而已。DMA控制器工作原理(续)35第四节接口技术的现状与发展趋势(自学)一、接口技术的现状二、接口技术的发展趋势36一、接口技术的现状1.用
简单的逻辑电路2.用可编程集成接口芯片3.用多功能的芯片组4.?(结合所学的数字电子技术,在并行接口实验报告上阐述)第四次实验报告371.用简单的逻辑电路采用简单的逻辑部件完成接口电路特点:原理清楚,但实际用得少。例1无条件输入
接口例2无条件输出接口例3查询输入接口例4查询输出接口注意:教材中控制信号采用的是8088CPU工作于最小模式下的信号讲义中控制信号采用的是IBMPC/XT总线上的信号38例1无条件输入接口(参看教材图6-8)三态缓冲器输入设备数据线IOR地址译码地址线2
00H000D7~D0A15~A0与非PC总线注意:在逻辑门前输入信号的,表示对信号求反。与锁存器、三态门等控制端的意义不同。简单的逻辑电路:39例2无条件输出接口(参看教材图6-9)PC总线锁存器输出设备数据线IOW地址译码
地址线300H000D7~D0A15~A0与非简单的逻辑电路:40例3查询输入接口(参看教材图6-11)状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H数据端口地址译码地址线状态端口地址译码锁存器IORRQD三态缓冲器+5vD421CHSTBPC总线IORA1
5~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DX简单的逻辑电路:41例4查询输出接口(参看教材图6-12)状态端口D0=0表示外设准备好输出设备数据线219H数据端口地址译码地址线锁存器RDQ三态缓冲器+5v
ACKPC总线IORA15~A0D7~D0IOW状态端口地址译码D021CH&&MOVDX,219HOUTDX,ALMOVDX,21CHINAL,DX简单的逻辑电路:422.用可编程集成接口芯片将完成某一功
能的接口电路集成在一个芯片上,通过对接口芯片编程,设置接口芯片的工作状态。特点:1.体积小、功能强、可靠性高2.通常是专门为配合微机系统中的各种适配器设计,不必增加或增加很少的电路,就可直接与总线连接,
使用方便。3.应用时,应掌握芯片的工作原理、外部特性、编程方法。43接口芯片举例:并行接口芯片8255A、8155A、Z80-PIO串行接口芯片8251A、8250、Z80-SIO定时/计数器8253、8254、Z80-CTC中断控制器8259ADM
A控制器8237A、Z80-DMA键盘控制器8279CRT控制器8275、6845硬盘控制器6843D/A转换器DAC0832A/D转换器ADC080944例用可编程并行接口芯片8255A做打印机的接口。查询方式接线图
A0A1CS并行接口8255A打印机PC总线A0A1数据线IORRDWRIOW片选译码PA0~PA7PC0PC4A2~A9数据线STROBEBUSYD0~D7D0~D745中断方式接线图A0A1CS并行接口8255A打印机PC总线A0A1数据线IORRDWRIOW片
选译码PA0~PA7PC7PC6A2~A9数据线STROBEACKD0~D7D0~D7PC3IRQ346将完成多个功能的接口电路集成在一个芯片上,通过编程,设置控制字,改变接口芯片的工作状态。例82206集成外设控制器,内部包含:2个8237DMA控制器2个8259A中断控制器1个8254定
时/计数器1个MC146818实时时钟以及其他接口芯片特点:可靠性更高、功能更强3.用多功能的芯片组47将主板上的外围芯片集成在一组(2~4片)超大规模集成芯片上,构成芯片组。芯片组是主板的关键部件,通常固定
在主板上,不象CPU、内存条或其他插卡等可进行简单的替换和升级。芯片组提供主板的核心逻辑,影响主板的性能和功能,决定主板所支持的CPU类型、内存类型、总线类型、总线速度等关键技术配置4849550MHzIDE2Pe
ntiumIII北桥440BXAGP南桥PIIX4ECMOS&RTCUSB超级I/OIDE1COM1COM2LPT1550MHzL1CacheL2Cache处理机总线100MHz100MHzPCI总线33MHzPCI插
槽ISA插槽硬件实验箱ISA总线8MHz内存条ROMBIOS显示器硬盘光驱软驱键盘鼠标打印机MODEM66MHz显卡50二、接口技术的发展趋势⚫集成化⚫多功能化⚫标准化⚫智能化51第五节接口的设计与分析一、基本方法二、注意事项52一、基本方法1.了解外设工作原理,明确接口功
能,选择接口芯片2.设计接口与系统的连接3.分析和设计接口程序4.接口的调试531.了解外设工作原理,明确接口功能,选择接口芯片CPU接口作用外设模/数转换(A/D)数/模转换(D/A)模拟量信息类型数字量三态缓冲、锁存数字量工作速度快解决传送方式慢
串/并转换并/串转换串行通信方式并行三态缓冲、锁存并行54外设数据线接口电路PC总线数据线片选译码高位地址线控制线低位地址线控制线状态线CPU辅助电路CPU2.设计接口与系统的连接55接口电路实现计算机与外设间的数据传送功能接口电路的一般连接方法:接口与计算机的连接(1)接口的数据线
与计算机的数据线连(2)接口的地址线与总线的低位地址连由接口的片内译码确定接口内不同的端口接口的片选信号由总线的高位地址经译码电路得到(3)接口的控制线与计算机相应的控制线连如接口的RD与总线的IOR连接口的WR与总线的IOW连接口与外设的连接(1)接口的数据端口与外设的数据线、状
态线连(2)接口与外设控制线的连接据设计确定。56采用可编程接口芯片,步骤:(1)掌握接口芯片的编程结构、编程方法包括:确定各端口地址;了解控制字各位的含义和设置控制字的方法(2)确定接口的工作方式,设
计接口工作过程包括:CPU与外设的数据传送方式(3)据硬件连接关系,编写接口程序包括:可编程芯片的初始化程序CPU与外设间数据传送的输入/输出程序3.分析和设计接口程序57单独调试硬件单独调试软件综合调试硬件、软件4.接口的调试实验指导书中给出了每个硬件实验的一些调试经验,可供大家实验时参考58
二、注意事项1.软、硬件应综合考虑2.注意信号的转换在逻辑上(高电平、低电平、边沿信号)当信号在电平上(TTL电平、非TTL电平)在时序上等不匹配,需转换匹配后,方能连接。3.注意数据线的连接考虑是否需加三态缓冲、锁存器等