版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.2.2 基本输入输出方法CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是接口技术讨论的问题。基本输入输出方法:程序控制的输入/输出方式;程序中断输入/输出方式;直接存储器存取(DMA:DirectMemoryAccess)方式;专用I/O处理器方式。概述1.无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的。2.查询方式(CPU与外设不同步工作):传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。3.中断方式: 外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。4.DMA方式(高速I/O及成组交换数据):
CPU不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。程序控制的输入/输出无条件传送程序数据传送输入状态字数据传送YN数据准备好?有条件传送一、无条件传送方式(同步传送方式)实现方法
CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送
特点
1.适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况
2.软硬件十分简单。例1
无条件输入接口接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时,
三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,
三态门均处于高阻状态,使输入设备的数据线与总线侧断开三态缓冲器输入设备数据线IOR地址译码地址线
200H000D7~D0A15~A0与非PC总线无条件输入编程:
从端口200H读入100个字节到内存缓冲区buffer中。......MOVAX,SEGbufferMOVDS,AX;取缓冲区
LEADI,buffer;首地址
MOVCX,100;传送个数
MOVDX,200H;端口地址next: CALLdelay ;延时等待
INAL,DX;读入数据
MOV[DI],AL;送缓冲区
INCDI;修改指针
LOOPnext.......;延时子程delayPROCPUSHCXMOVCX,80Hcc:LOOPccPOPCXRETdelayENDP例2无条件输出接口PC总线锁存器输出设备数据线IOW地址译码地址线
300H000D7~D0A15~A0与非例2
无条件输出:编程控制系统板上扬声器发声。
4765321061H端口
8253与门放大器扬声器01控制其它外设扬声器控制电路图:发声原理:向扬声器发送一串脉冲信号,推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的个数,控制音长1.使61H端口的0位输出0,控制8253输出1。2.使61H端口的1位按所需频率交替输出0和1,产生所需的声音。编程方法:
4765321061H端口
8253与门放大器扬声器01控制其它外设扬声器控制电路图:codeSEGMENTASSUMECS:codestart:MOVBX,3000H;控制脉冲个数
MOVDX,6000H;控制脉冲周期
INAL,61H
;读入61H端口数据
ANDAL,11111100b;D0为0,8253输出1sound:XORAL,00000010bOUT61H,AL;61H端口的D1交替为0和1MOVCX,DXdelay:LOOPdelay;延时
DECBX;控制脉冲数
JNZsoundMOVAH,4CHINT21HcodeENDSENDstart发声程序:
61H端口8253与门放大器扬声器01控制其它外设二、条件传送方式(查询传送方式)实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低查询传送方式,编程流程:NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?例1
查询方式输入假设外设的状态端口为21CH,其中D4=1时,表示外设数据准备好外设的数据端口为218H。实现从外设读入50H个字节到内存缓冲区buffer中。21CH端口状态端口218H端口数据端口地址译码数据缓冲控制电路输入外备CPU地址线数据线控制线查询方式输入接口状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H
数据端口地址译码地址线
状态端口地址译码锁存器IOR
R
Q
D三态缓冲器+5vD421CH
STBPC总线IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHask:INAL,DXTESTAL,10hJZask从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1,外设准备好否?N50H个数据传送结束?Y编程从外设读入50H个字节到内存缓冲区buffer中......MOVAX,SEGbuffer;取缓冲区首地址
MOVDS,AXLEADI,bufferMOVCX,50H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息TESTAL,00010000B;检测D4位JZask;D4=0,继续查询MOVDX,218HINAL,DX;从数据端口读入数据MOV[DI],AL;送缓冲区INCDI;修改缓冲区指针LOOPnext;传送下一个......查询方式输入程序段:例2
查询方式输出假设外设的状态端口为21CH,其中D0=0时,表示外设准备好外设的数据端口为219H。编程将缓冲区buffer的80H个字节输出到外设。21CH端口状态端口219H端口数据端口地址译码数据缓冲控制电路输出外设CPU地址线数据线控制线查询方式输出接口状态端口D0=0表示外设准备好输出设备数据线219H数据端口地址译码地址线
锁存器
RD
Q
三态缓冲器+5vACKPC总线IORA15~A0D7~D0IOW状态端口地址译码D021CH&&MOVDX,219HOUTDX,ALMOVDX,21CHAsk:INAL,DXTESTAL,01hJNZask
STB从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0,外设准备好否?N80H个数据传送结束?Y编程将缓冲区buffer的80H个字节输出到外设......MOVAX,SEGbuffer;取缓冲区首地址
MOVDS,AXLEASI,bufferMOVCX,80H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息
TESTAL,00000001B;检测D0位
JNZask;D0≠0,继续查询
MOVAL,[SI];从缓冲区取数
MOVDX,219HOUTDX,AL;从数据端口输出数据
INCSI;修改缓冲区指针
LOOPnext;输出下一个
......查询方式输出程序段:
三、中断传送方式
实现方法:
1.
当外设准备好,向CPU发出中断请求
2.CPU在满足响应中断的条件下,发出中断响应信号;
3.CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;
4.CPU从中断服务程序返回,继续执行被中断的程序
缺点主要有:为了能接受中断的请求信号,CPU内部要有相应的中断控制电路,外围设备要提供中断请求信号及中断类型号。利用中断输入/输出,每传送一次数据就要中断一次CPU。CPU响应中断后,进入中断处理将程序引导至“中断服务程序”入口。在“中断服务程序”中一般都要保护现场、恢复现场,这要安排多条指令,浪费了很多CPU时间。故此种传送方式一般较适合于传送少量的输入/输出数据以及中低速度的外围设备。对于大量的输入/输出数据,应采用高速的直接存储器存取方式DMA。中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设使用中断方式时:外设准备数据,CPU执行程序,
CPU与外设并行工作;一旦外设准备就绪,外设向CPU发中断申请,CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。
中断传送方式的特点:1.CPU和外设大部分时间处在并行工作状态,
只在CPU响应外设的中断申请后,进入数据传送的过程2.中断传送方式提高了CPU的效率(1)当外设数据准备好,外设向接口电路发出选通信号:
将数据打入锁存器;同时将中断请求触发器置“1”,(2)若此时,中断请求屏蔽触发器置“0”,允许本接口发出中断,
接口电路向CPU发出中断请求信号INTR;(3)CPU在运行程序时不断访问INTR,若查到INTR信号, 且CPU内部中断允许标志IF=1,则CPU在现行指令执行完后, 暂停程序的执行,向接口电路发出中断响应信号INTA。(4)外设把中断类型号送上数据总线;(5)CPU转入中断服务程序,执行IN指令,读入数据; 清除中断请求标志。当中断处理完后,返回原程序。3.直接存储器存取方式(DMA)
外围设备通过DMAC向CPU申请DMA请求CPU响应DMA请求交出总线控制权从源地址中读取数据将数据写到目标地址DMA结束数据传送结束否?修改地址指针NYDMA传送方式(直接存储器存取方式)
实现方法:
1.由专用接口芯片DMA控制器(称DMAC)控制传送过程,2.当外设需传送数据时,通过
DMAC向CPU发出总线请求;3.CPU发出总线响应信号,释放总线;4.DMAC接管总线,控制外设、内存之间直接数据传送DMA
传送方式过程CPUDMAC内存外设总线响应总线请求DMA传送方式的特点
1.外设和内存之间,直接进行数据传送,不通过CPU,传送效率高。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。
2.电路结构复杂,硬件开销较大。
接收接口往DMA控制器发出DMA请求信号后,
DMA控制器能向CPU发出总线请求信号HOLD(高电平)。当CPU向DMA发出响应信号HLDA(高电平)以后,
DMA能接管对总线的控制,进入DMA方式。能向地址总线发出内存地址信息,对其进行寻址及修改地址指针。能向存储器或外设发#RD,#WR命令。能决定传送字节数,并判断DMA传送是否结束。
DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控 制权还给CPU,CPU恢复正常工作。DMA控制器功能用DMA方式进行输出过程与输入过程类似,只是在DMA控制器发出回答信号后接着发出的是I/O写信号和存储器读信号,数据传送方向与输入相反而已。DMA控制器工作原理4.专用I/O处理器方式
对于有大量的、高速的I/O设备的微机系统,前面几种方法都难以满足要求,于是,人们又提出并实际上广泛采用了一种专用I/O处理机(IOP)控制方式,比如8089。这种方式是把原来由CPU完成的各种I/O操作与控制全部交给I/O处理器去完成。I/O处理器能够直接存取系统主存储器,能够中断CPU或被CPU查询,并能直接执行I/O程序和数据预处理程序。因此,这种方式可以大大提高CPU对具有大量I/O设备的数据吞吐量。接口技术1.用简单的逻辑电路2.用可编程集成接口芯片3.用多功能的芯片组1.用简单的逻辑电路采用简单的逻辑部件完成接口电路特点:原理清楚,但实际用得少。
例1无条件输入接口例2无条件输出接口例3查询输入接口例4查询输出接口注意:有些控制信号采用的是8088CPU工作于最小模式下的信号有些控制信号采用的是IBMPC/XT总线上的信号例1无条件输入接口三态缓冲器输入设备数据线IOR地址译码地址线
200H000D7~D0A15~A0与非PC总线注意:在逻辑门前输入信号的,表示对信号求反。与锁存器、三态门等控制端的意义不同。简单的逻辑电路:例2无条件输出接口PC总线锁存器输出设备数据线IOW地址译码地址线
300H000D7~D0A15~A0与非简单的逻辑电路:例3
查询输入接口状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H
数据端口地址译码地址线
状态端口地址译码锁存器IOR
R
Q
D三态缓冲器+5vD421CH
STBPC总线IORA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DX简单的逻辑电路:例4查询输出接口状态端口D0=0表示外设准备好输出设备数据线219H数据端口地址译码地址线
锁存器
RD
Q
三态缓冲器+5vACKPC总线IORA15~A0D7~D0IOW状态端口地址译码D021CH&&MOVDX,219HOUTDX,ALMOVDX,21CHINAL,DX简单的逻辑电路:STB2.用可编程集成接口芯片
将完成某一功能的接口电路集成在一个芯片上,通过对接口芯片编程,设置接口芯片的工作状态。特点:1.体积小、功能强、可靠性高2.通常是专门为配合微机系统中的各种适配器设计,不必增加或增加很少的电路,就可直接与总线连接,使用方便。3.应用时,应掌握芯片的工作原理、外部特性、编程方法。接口芯片举例:并行接口芯片8255A、8155A、Z80-PIO串行接口芯片8251A、8250、Z80-SIO定时/计数器8253、8254、Z80-CTC中断控制器8259ADMA控制器8237A、Z80-DMA键盘控制器8279CRT控制器8275、6845硬盘控制器6843
D/A转换器DAC0832A/D转换器ADC0809例用可编程并行接口芯片8255A做打印机的接口。查询方式接线图A0A1CS并行接口8255A打印机PC总线A0A1数据线IORRDWRIOW片选译码PA0~PA7PC0PC4A2~A9数据线STROBEBUSYD0~D7D0~D7中断方式接线图A0A1CS并行接口8255A打印机PC总线A0A1数据线IORRDWRIOW片选译码PA0~PA7PC7PC6A2~A9数据线STROBEACKD0~D7D0~D7PC3IRQ33.用多功能的芯片组
将完成多个功能的接口电路集成在一个芯片上,通过编程,设置控制字,改变接口芯片的工作状态。例
82206集成外设控制器,内部包含:
2个8237DMA控制器2个8259A中断控制器
1个8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度车库租赁及智能停车设备安装合同3篇
- 二零二五年度雏鸡养殖场与动物疫病防控中心合作合同4篇
- 科技赋能下的宠物医疗行业发展前景
- 科技创新助力创新药物研发的市场突破
- 二零二五年度车间承包与新能源应用合作协议4篇
- 二零二五年度GPS技术在智能穿戴设备中的应用合同3篇
- 网络时代下家庭教育的新视角-家庭网络安全教育的重要性及实践路径
- 教育、医疗、办公多领域下的农业科技发展探讨
- 二零二五年度橱柜行业展会参展与采购合同4篇
- 二零二五年度文化产业发展艺人合作合同2篇
- 冷库制冷负荷计算表
- 肩袖损伤护理查房
- 设备运维管理安全规范标准
- 办文办会办事实务课件
- 大学宿舍人际关系
- 2023光明小升初(语文)试卷
- GB/T 14600-2009电子工业用气体氧化亚氮
- GB/T 13234-2018用能单位节能量计算方法
- 申请使用物业专项维修资金征求业主意见表
- 房屋买卖合同简单范本 房屋买卖合同简易范本
- 无抽搐电休克治疗规范
评论
0/150
提交评论