![第6章微型计算机的输入输出_第1页](http://file4.renrendoc.com/view11/M02/1F/3D/wKhkGWXf2omAQ5gjAADkdjbyrYU347.jpg)
![第6章微型计算机的输入输出_第2页](http://file4.renrendoc.com/view11/M02/1F/3D/wKhkGWXf2omAQ5gjAADkdjbyrYU3472.jpg)
![第6章微型计算机的输入输出_第3页](http://file4.renrendoc.com/view11/M02/1F/3D/wKhkGWXf2omAQ5gjAADkdjbyrYU3473.jpg)
![第6章微型计算机的输入输出_第4页](http://file4.renrendoc.com/view11/M02/1F/3D/wKhkGWXf2omAQ5gjAADkdjbyrYU3474.jpg)
![第6章微型计算机的输入输出_第5页](http://file4.renrendoc.com/view11/M02/1F/3D/wKhkGWXf2omAQ5gjAADkdjbyrYU3475.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章微型计算机的输入/输出
CPU与外设通信的特点输入/输出方式
CPU与外设通信的接口
8086CPU的输入/输出16.1CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁;(1)速度不匹配:CPU的速度很高,而外设的速度要低得多,而且不同的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。(2)信号电平不匹配:CPU所使用的信号都是TTL电平,而外设大多是复杂的机电设备,往往不能用TTL电平所驱动,必须有自己的电源系统和信号电平。(3)信号格式不匹配:CPU系统总线上传送的通常是8位、16位或32位的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行方式。(4)时序不匹配:各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。2需要有数据信息传送之前的“联络”;要传递的信息有三方面内容:状态、数据及控制信息接口功能:进行地址译码或设备选择,以便使CPU能与某一指定的外部设备通信。状态信息的应答,以协调数据传送之前的准备工作。进行中断管理,提供中断信号。进行数据格式转换,如正负逻辑的转换、串行与并行数据转换等。进行电平转换,如TTL电平与MOS电平间的转换。协调速度,如采用锁存、缓冲、驱动等。时序控制,提供实时时钟信号。3
I/O信息的组成(1)数据信息
——要交换的数据本身,有并行和串行两种传送方式①数字量:按一定的编码标准(2进制/ASCII码),由若干位组合所表示的数或字符。如:通过键盘/CRT/打印机等与CPU交换的信息。②模拟量:现场信息(如温度/压力/流量/位移等非电量)经传感器而转换成的电量(电压、电流)。
模拟量经A/D、D/A转换器在CPU与外设间交换。③开关量:一位2进制信息:0、1。如:开关的断开/闭合;控制电机的启/停等。通常开关量要经过相应的电平转换才能与计算机连接。数据信息、状态信息、控制信息4(2)状态信息
——在CPU与外设之间交换数据时的联络信息(3)控制信息
——CPU发给外设的命令信息
如:A/D转换器的启/停信号,设置外设工作模式的信息等。外设是否准备好传输数据:如“READY”?
外设是否准备好接收数据:如“BUSY”?接口(interface)与端口(port):传送这三种信息(数据、状态、控制)的接口电路中的寄存器称为数据、状态和控制端口。不同的寄存器(组)对应不同的端口,以地址来区别。端口由一个或多个寄存器组成。接口由若干个端口加上相应的控制逻辑组成。CPU对外设输入/输出的控制,通过对接口中各I/O端口的读/写操作完成5存储器映像方式
I/O端口与存储器共享一个寻址空间,统一编址。
在这种系统中,CPU用同样的指令对I/O端口和存储器单元进行访问。例:Motorola的M6800系列、日立H8S单片机系列等6.1.1I/O端口的寻址方式为了区分接口电路的各个寄存器,系统为它们分配不同的地址,称为I/O端口地址,以便对它们进行寻址。I/O端口有两种编址方式:存储器映像方式、I/O独立编址方式优点:对I/O口的访问灵活方便,有利于提高端口数据的处理能力。
缺点:I/O端口占用了主存地址,相对减少了主存的可用范围。6优点:主存和I/O端口的地址可用范围都比较大。
缺点:I/O指令的功能一般比较弱,在I/O操作中必须借助
CPU的寄存器进行中转。2.I/O端口独立编址(I/O映射)方式(8086)
主存地址空间和I/O端口地址空间相互独立,分别编址。
CPU通过指令来区分是访问I/O口还是存储单元。I/O端口存储单元I/O地址空间存储器地址空间整个地址空间存储单元存储地址空间I/O端口I/O地址空间7
8086采用独立的I/O编址方式
(1)CPU通过M/IO来区分对存储器还是对I/O操作。
(2)CPU使用地址总线中A0~A15来寻址I/O口,
最大I/O空间是64K个字节端口(或32K个字端口)。
若用直接寻址方式寻址外设,可寻址256个端口,A7~A0译码。若用DX寻址外设,端口地址是16位的,用A15~A0译码。
INAL,imm8OUTimm8,ALINAX,imm8OUTimm8,AXINAL,DXOUTDX,ALINAX,DXOUTDX,AX86.1.2I/O端口地址的形成1系统中使用存储器映像的I/O寻址方式使用该寻址方式,系统中可以和存储器统一使用译码器芯片。译码器输出端既可接至存储器芯片的片选端形成存储单元地址,也可接至I/O接口芯片的控制端或片选端形成I/O端口地址。这里,译码器控制端G1与M/IO而连接,高电平有效,表示对存储器的访问,实际上还包括了对I/O端口的访问。图中形成一个2K的存储单元地址和一个2K的I/O端口地址。存储单元地址范围为OOOOOH-007FFH,I/O端口地址为00800H-OOFFFH。92.系统中使用I/O映像的I/O寻址方式使用这种寻址方式时,系统中的I/O端口地址需要单独一个译码器芯片,译码器的输出仅允许接I/O接口芯片的控制端或片选端。此时,译码器的控制输入端要接CPU的M/IO线,且在该线上产生低电平时有效。因为执行IN或OUT指令时,CPU的M/IO管脚输出低电平有效信号。使用I/O映像的I/O寻址时,端口地址仅需要A0-A15这16根地址线或A0-A7这8根地址线。图中形成了2位十六进制的端口地址,第一片I/O芯片端口地址为80H-87H,第二片I/O芯片端口地址为88H-8FH。106.2输入/输出方式6.2.1程序控制的输入和输出CPU与外设之间信息交换的方式可分为三种:程序控制的输入和输出中断控制的输入和输出直接存储器存取(DMA)——在程序中安排相应的I/O指令来完成和外设间的信息交换(1)当编程人员预先知道何时进行数据交换时,使用这种方式。
根据需要将有关的I/O指令置于程序的相应位置。(2)这种方式又分为‘无条件传送方式和查询传送方式’两种。1.无条件传送(同步传输,外设始终准备好,与CPU始终同步)
——无需查询外设状态而直接使用I/O指令进行输入输出特点:简单,外设可以处于CPU控制下
CPU认为需要时,随时与外设交换数据。11
输出:CPU对“外设BUSY?”进行查询,不忙则输出。输入:CPU查“外设数据READY?”,若准备好则读入。
外设要求:状态口和数据口在有多个外设的系统中,
CPU的查询顺序由外设的优先级确定。2.查询传送(异步)
——一种CPU主动、外设被动的I/O操作方式特点:避免了对端口的“盲读”、“盲写”,数据传送的可靠性高,硬件接口相对简单。缺点:CPU工作效率低,I/O响应速度慢。READY?读取状态端口读/写数据端口YN状态端口复位查询控制的程序流程126.2.2中断控制的输入和输出——CPU被动而外设主动的I/O操作方式中断工作过程外设需要CPU服务时外设→I/O接口→向CPU发中断请求,INTR中断请求有效
CPU执行完当前指令后,(注:若IF=1)CPU→I/O接口→向外设发中断响应
CPU执行中断服务程序
CPU←→I/O接口←→外设读写数据中断方式下CPU执行程序流程发申请发申请中断服务程序外设中断服务程序特点:(1)
CPU和外设大多时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送过程。(2)提高了CPU的效率,使系统有了实时处理功能。缺点:硬件电路和处理过程比较复杂。13中断可被响应的条件:
中断请求触发器置位;
CPU内部开放中断;
CPU未处理更高级中断;
CPU现行指令执行完。中断请求是外设随机向CPU提出的;CPU对中断请求的检测是有规律的:一般在每条指令的最后一个时钟周期采样中断请求输入引脚;进行传送的中断服务程序是预先设计好的;注意:146.2.3直接存储器存取(DMA方式)
中断方式仍然是通过CPU执行程序来实现数据传送的。缺点:①大量的数据在磁盘与内存间交换需大量的时间。
②高速I/O设备时或成组数据交换时,显得速度太慢。——在外设与内存间直接传送数据的方式DMA方式,CPU不参加传送操作,省去了CPU取指/取数/送数等操作。在数据传送过程中,没有保存/恢复现场之类的工作。内存地址修改、传送字个数的计数等,是用硬件(DMA控制器8237)直接实现的。流程图传送结束?HLDA发存储器地址传送数据修改地址指针DMA结束NY156.3CPU与外设通信的接口6.3.1同步传输方式与接口(外设始终准备好,最简单的传输方式)1同步输入方式一、过程(1)提供端口地址,以便CPU从指定的外设中取入数据。(2)执行IN指令或存储器读指令。(3)地址译码器输出,同时产生M/IO和RD控制信号。(4)数据从端口中输入至CPU寄存器。二、接口电路为了防止CPU在取外设数据时,数据发生变化,往往在硬件上采用缓冲器或锁存器,把外设数据保存起来。硬件接口电路必须保证同步输入过程的正确执行。16三、缓冲器74LS244(1)三态输出,8位,20个管脚(2)2个低电平有效片选端CE1和CE28个输入端D0~D7和8个输出端Q0~Q7(3)用CE1和CE2信号作为缓冲器的控制端,两脚信号连接在一起,可将一片74LS244作为8位缓冲器使用,其内部结构实质上是8个带“允许输出”的三态器件,它仅能用于输入接口。图示输入外设为按键开关。172同步输出方式一、过程(1)提供端口地址,以便CPU将数据送到指定外设。(2)执行OUT指令或存储器写指令。(3)地址译码器输出,同时产生M/IO和WR控制信号。(4)CPU将数据输出到端口。二、接口电路由于CPU数据线上挂接的负载很多,为了将CPU数据线上的信息准确传输,除了正确提供端口地址外,还需将数据锁存或驱动后提供给外设。18三、锁存器74LS273(1)8位D锁存器,20个管脚(2)具有清零端CLR和锁存控制端CP,只有CP端低电平时,D0-D7输入端信号才会被锁存到74LS273内,并在Q0-Q7的输出端上输出;CP端为高电平时,原被锁存的信号不会因输入端D0-D7上信号的变化而改变。(3)74LS273芯片适合作为输出接口,图示用一片74LS273组成的输出接口电路图,输出外设为发光二极管。19输入缓冲器:凡输入数据到CPU的设备须经三态缓冲器挂在CPU的数据总线上。当该设备被选通时,占据总线并送上数据,否则让出总线(浮空),以防总线冲突。当读有效时,才将缓冲器中的三态门打开,使外设的数据进入系统的数据总线;其它时间,三态门处于高阻状态,不影响总线上的其它操作。
输出锁存器:当CPU输出数据到外设时,需将输出的数据锁存,以便较慢的外设有足够的时间进行处理,而CPU则脱身去做其它的工作。锁存器的控制端处于触发状态,
总线上的数据进入锁存器。当触发信号消失,不管总线上的数据(锁存器输入端)如何变化,只要没有再次使锁存器触发信号有效,锁存器的输出端就一直保持原来锁存的信息不变。206.3.2异步查询方式(条件传输)与接口(1)异步查询必要性:大多数情况下,外设不处于CPU控制下,CPU与外设工作常不能同步。由于外设不能总处于“准备好”状态,如果仍采用同步方式,就会出现数据丢失。(2)异步查询方法当CPU与外设用异步查询方式通信时,要求外部设备提供状态信息。状态信息是通过状态端口检测的。当状态满足条件时,CPU从数据端口与外设交换数据;状态不满足条件时,CPU则要不断地从状态端口检测状态,直至状态满足为止。
21一、异步查询输入方式与接口(当外设数据准备好,读入)当CPU从慢速的外设取数时,取数之前需要查询外设是否把数据准备好。当外设的数据准备好时,应发出相应的状态信息,如STB信号,将数据锁存起来。在CPU用IN指令从数据端口读取数据之前,首先要用IN指令从状态端口读取状态,并且根据状态信息获得是否有数据需要读入。22外设数据准备好时发出低电平有效的状态信号。该信号有两个作用:(1)作为8位锁存器的控制信号。当STB(数据选通触发脉冲)低电平时,外设将准备好的数据锁存起来,且锁存器的输出为缓冲器的输入;(2)STB信号使D触发器的输出端Q变成高电平,该高电平为缓冲器1的输入信号。至此,外设输出的STB信号使数据锁存,使状态信号保存于缓冲器1中。缓冲器1的输出接于CPU数据线D0上,执行一条IN指令,从状态端口取数,测试其D0位是否为“1”。若D0为1,表明状态满足条件,从而可执行从数据端口取数指令,CPU将数据从缓冲器8取走的同时,将D触发器的Q端清零,使外设状态条件不满足。当外设再次发出低电平STB信号时,准备好的数据被锁存,状态信号又使D触发器的Q端变为“1",CPU检查状态满足后,进行下一个数据的读取。23二、异步查询输出方式与接口(当外设空闲时,输出)当CPU将数据送到外部设备时,由于CPU执行速度很快,外设能否及时把数据取走是解决问题的关键。若外设没有取走前一个数据,CPU就不能立即输出下一个数据;否则,数据就会丢失(覆盖)。因此,外设取走一个数据就要发出一个状态信息,表示缓冲区的数据已被外设取走。CPU要输出下一个数据,仍要读取状态端口的状态信息,才决定是否输出下一个数据。24当CPU执行一条OUT指令,将数据输出到锁存器中时,会使D触发器的Q端输出高电平有效信号OBF,表示输出缓冲区“满”,通知外设可以取数。外设取走数据后,发出一个回答信号ACK,这个低电平有效的ACK信号清除D触发器,使D触发器为Q端输出为0,也使得状态缓冲器的输出为0。状态信号接到CPU的数据总线D0上,CPU执行一条取状态指令,测试其D0位。若D0为0,表明缓冲区空,外设已将前一个数据取走,CPU可以输出下一个数据;否则,CPU要一直测试状态信息D0位,D0为"1”时,CPU不会送下一个数据,以免前面的数据被覆盖而丢失。256.48086CPU的输入/输出1、I/O寻址64KB2、8086CPU的I/O指令(1)直接寻址输入/输出指令(八位端口地址) INAL,n(字节输入) INAX,n(字输入) OUTn,AL(字节输出) OUTn,AX(字输出)0000H00FFH0100HFFFFHn
26(2)DX寄存器间接寻址输入(十六位端口地址)
INAL,DX(字节输入) INAX,DX(字输入) OUTDX,AL(字节输出) OUTDX,AX(字输出)0000H00FFH0100HFFFFHDX
27283、有关端口地址问题
a、8086CPU与外设交换数据可以字或字节进行,
b、当以字节进行时,偶地址端口的字节数据由低8位数据线D7~D0位传送,奇地址端口的字节数据由高8位数据线D15~D8传送,
c、当用户在安排外设的端口地址时,如果外设是以8位的方式与CPU连接,就只能将其数据线或者与CPU的低八位或者与高八位连接,这样同一台外设的所有寄存器端口地址都只能是偶地址或是奇地址,这时设备的端口地址就会是不连续的。29无条件传送方式一般用于控制CPU与低速接口之间的信息交换.例如开关、温度、压力流量等(A/D)转换器。由于这些信号变换缓慢,当需要采集这些数据时,外设已经将数据准备就绪了,因此无需检查端口的状态,就可以立即采集数据。由于数据保持时间相对于CPU的处理时间长得多,故输入端可直接用输入缓冲器与CPU的数据总线相连。若外设是输出设备,一般要求接口有锁存能力,也就是CPU送给外设的数据应该在接口中保持一段时间,其原因是外设的速度较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年女用内衣项目投资价值分析报告
- 工程砂石料购销协议书
- 会议场馆终端机租赁合同
- 2025年度半挂车买卖与融资租赁业务合作协议
- 终止合伙协议书范本
- 2025年商洛货运从业资格考题
- 商业空间装修预算合同范本
- 老年公寓装修延期协议
- 2025年抚州货运从业资格证模拟考试下载安装
- 2025年度爆破作业安全培训与考核合同协议
- 《机修工基础培训》课件
- 统编《道德与法治》三年级下册教材分析
- 纺织材料学课件第二章-植物纤维(棉)
- 《铸造用珍珠岩除渣剂》
- 清淤边坡支护施工方案
- 智能制造装备及系统 配套课件
- 离婚协议书怎么写
- 国开行政管理论文行政组织的变革及其现实性研究
- 塔吊沉降值观测记录
- 高中体育与健康-足球-脚内侧传球射门技术(第二课时)教学课件设计
- 中国传统文化 英文
评论
0/150
提交评论