微机原理与接口技术输入输出接口技术_第1页
微机原理与接口技术输入输出接口技术_第2页
微机原理与接口技术输入输出接口技术_第3页
微机原理与接口技术输入输出接口技术_第4页
微机原理与接口技术输入输出接口技术_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第6章输入输出接口技术本章重点I/O接口的基本概念输入输出IN/OUT指令程序查询输入输出方式中断输入输出方式DMA输入输出方式I/O端口地址分配I/O端口地址译码计算机系统的I/O接口为什么输入输出设备不能像存储器一样直接连在总线上?6.1接口技术基本概念ALUCPUI/O设备CU主存MI/O接口地址总线AB控制总线CB数据总线DB外设接口(I/O接口)的必要性外设的种类繁多,而存储器的种类单一,必须经过接口电路连接到总线上。外设的速度较慢,而存储器的速度较快,必须经过接口电路进行数据的缓冲和锁存。外设的信号多种多样,必须经过接口电路转换成处理器可以识别的信号。

I/O接口的作用相当与一个转换器,它可以保证外围设备用计算机所要求的形式发送或接受信息。I/O接口的功能进行译码选址——在具有多台外设的系统中,外设接口必须能够进行地址译码,确定本设备是否被选中转换信息格式——接口电路完成串/并转换、并/串转换协调定时差异——为了缓解主机与外设之间的速度差异,对传输的数据或地址加以缓冲或锁存提供联络信号——接口电路向主机提供外部设备“就绪”、“忙”,数据缓冲器“满”、“空”等状态信号中断管理功能——接口电路有产生并管理中断请求和DMA请求的能力,以满足实时系统以及大批量数据传送的能力可编程——对一些通用的接口电路,应该具有通过软件编程控制外设工作方式的能力错误检测功能——对通信过程中的传输错误或者溢出错误能够进行实时检测I/O接口的组成控制寄存器地址译码器状态寄存器数据缓冲寄存器控制逻辑电路I/O接口外部设备数据线数据线CPU控制命令线状态状态线地址线I/O接口与I/O端口端口:CPU能够直接访问的I/O接口内部的寄存器称为端口端口号:每一个端口的访问地址I/O接口CPU与I/O接口传递的信息数据信息:

CPU输入输出设备

CPU输入输出设备控制信息:

CPU输入输出设备控制命令外设状态状态信息:输入输出设备CPU数据信息、状态信息和控制信息都是通过数据总线传送的。CPU写入控制端口的数据是CPU对外设的控制信息;CPU读状态端口的数据是外设的状态信息;CPU写数据端口的数据是CPU送给外设的数据CPU读数据端口的数据是外设送给CPU的数据I/O端口编址方式为了便于CPU访问端口,每一个端口都有一个地址,系统有两种方式为端口分配地址:I/O端口和存储器统一编址统一编址就是从存储器空间中划分出一部分给I/O设备,把I/O端口当作存储单元来访问。例如:设CPU有16根地址线,存储空间为64K,规定地址总线的最高位A15=1访问I/O端口,A15=0访问存储器,则0~32K为存储器地址空间,32K~64K为I/O端口地址空间。统一编址的优点是不需要专门的I/O指令,凡对存储器有效的访问指令都可以访问I/O端口,访问形式灵活。缺点是端口占用了一定的存储空间,存储器空间变小。6.3I/O端口编址方式及地址译码2016统一编址方式I/O端口和存储器独立编址独立编址就是I/O端口地址补占用存储器地址空间,两者的地址空间完全独立,都从0开始编址。独立编址需要专门的I/O端口访问指令。8086采用存储器与I/O端口独立编址方式,即内存单元和I/O端口从0单元开始编址。当引脚M/IO为高电平时访问存储器,当M/IO为低电平时访问I/O端口。

8086有专门的访问I/O端口的指令(IN和OUT),当8086在执行访问I/O端口的输入(IN)指令和输出(OUT)指令时,就会使M/IO信号处于低电平,结合RD和WR信号产生出对相应的I/O端口的读/写操作。独立编址的优点是I/O端口不占用内存空间;缺点是I/O指令功能单一,类型少,使输入输出操作受到限制。独立编址方式IN和OUT指令

8086系统中可以有64K个8位端口,相邻编号的两个端口可以组合成为一个16的端口。执行输入(IN)输出(OUT)指令时,CPU可以从一个8位端口读入(写出)一个字节到AL中,或者从一个16位端口读入(写出)一个字到AX中。1.IN指令(输入指令)格式:INA,PORT;A可以是AL或者是AX功能:AL←(PORT)或AX←(PORT

+1)_(PORT)(1)直接输入指令端口号为0~255,用一个立即数表示(00H~FFH)INAL,50H;将50H端口的字节读入ALINAX,70H;分别将70H、71H端口的内容读入AL、AH(2)间接输入指令当端口号大于FFH时,这些端口号不能用在指令中用立即数的形式给出,端口号放在DX寄存器中。MOVDX,500H;端口号送DX

INAL,DX;将DX所指端口内容送ALOUTDX,AL;将AL中的字节输出到DX所指的端口中2.OUT指令(输出指令)格式:OUTPORT,A;A可以是AL或者是AX功能:AL→(PORT)或AX→(PORT

+1)_(PORT)(1)直接输出指令OUT44H,AL;将AL中的内容输出到44H端口

OUT80H,AX;将AL、AH中的内容输出到80H、81H端口(2)间接输出指令I/O端口地址译码CSA9A8A7A6A5A4A3A2M/IOAEN接口电路芯片A1A0片内端口选择端口地址27CH~27FH固定式译码方式门电路译码

跳线在J1时,端口地址27CH~27FH跳线在J2时,端口地址37CH~37FHA9A8A7A6A5A4A3A2CSJ1J2M/IOAENCS接口电路芯片A1A0片内端口选择可选式译码方式译码器电路译码G3CBAG2G1Y0Y2Y1Y3Y4Y6Y5Y774LS138A2A1A0A7A5A4A3&M/IOA9A8A6&340H341H342H343H344H345H346H347H全地址译码G3CBAG2G1Y0Y2Y1Y3Y4Y6Y5Y774LS138A7A6A5000-01FH040-05FH060-07FH080-09FH0A0-0BFH0C0-0DFH0E0-0FFHA9A8M/IO1020-03FH部分地址译码CPU与外部设备的定时方式-输入过程:1)CPU把一个地址值放在地址总线上,选择某一输入设备;2)CPU等候输入设备的数据成为就绪;3)CPU从数据总线读入数据,并放在一个相应的寄存器中。-输出过程:1)CPU把一个地址值放在地址总线上,选择输出设备;2)CPU等候输出设备的状态成为就绪;3)CPU把数据放在数据总线上,输出设备把数据取走。问题的关键在于:输入时究竟什么时候输入设备数据成为就绪?输出时什么时候输出设备的状态才成为就绪。很显然由于输入输出设备本身的速度差异很大,对于不同速度的外围设备,需要有不同的定时方式。6.3CPU与外设数据传递方式CPU与外围设备的定时有三种情况:-简单外围设备:

CPU和这类设备的数据交换不需要定时,CPU认为它们始终处于就绪状态,例如:机械开关,CPU认为输入设备的数据一定就绪,因为只要根据开关的闭/合就可以输入0/1信号;例如:显示二极管,CPU认为输出设备的状态一定就绪,因为只要CPU输出0/1信号,显示二级就可以灭/亮。

CPU和这类设备的数据交换一般采用无条件传送方式。-慢速外围设备由于这类设备的速度和CPU的速度不在一个数量级上,如打印机;或由于设备本身是在不规则时间间隔下操作的,如键盘,因此CPU与这类设备之间的通常采用异步定时方式。输入:CPU首先查询外部设备的数据是否就绪,如果就绪则通过数据总线输入数据,否则循环等待直到数据就绪;或者由外部设备在数据就绪时通知CPU,CPU通过数据总线输入数据。输出:CPU首先查询外部设备的状态是否就绪,如果就绪则通过数据总线输出数据,否则循环等待直到外设就绪;或者由外部设备在状态就绪时通知CPU,CPU通过数据总线输出数据。

CPU和这类设备的数据交换一般采用程序查询方式或者中断方式。-高速的外围设备由于这类外设是以相等的时间间隔操作的,则CPU可以用等间隔的速率执行输入/输出指令。因此CPU与这类设备之间的通常采用同步定时方式。例如外设外设的速度是2400B/s,则CPU每隔1/2400执行一次输入指令即可。

CPU和这类设备的数据交换一般采用DMA方式或通道方式。无条件方式CPU认为外设的输入数据始终有效,随时可以输入;或外设的状态始终就绪,随时可以输出。程序查询方式CPU和I/O串行工作踏步等待从I/O接口中读一个字到CPU从CPU向主存写入一个字CPU向I/O发读指令CPU读I/O状态检查状态完成否未准备就绪现行程序是出错已准备就绪否

CPU通过执行程序不断读取并测试外设的状态,如果外设处于就绪状态,则CPU执行输入指令或输出指令与外设交换数据。否则CPU必须循环等待。②设备选择电路数据缓冲寄存器QQ&数据线是否就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥就绪忙⑥①②③⑤1010④程序查询方式的接口

1)设备选择电路2)数据缓冲寄存器3)设备状态标志

CPU通过执行程序不断读取并测试外设的状态,如果外设处于就绪状态,则CPU执行输入指令(in)或输出指令(out)与外设交换数据。否则CPU循环等待。检查状态标记交换数据准备就绪?是否测试指令转移指令传送指令控制总线输入设备状态寄存器CPU数据总线地址总线0:未就绪1:就绪端口地址:61H设I/O接口的数据寄存器端口地址为62H(图中未给出),输入的字符存放在BX所指的内存缓冲区中,则通过查询传送输入数据的程序如下:

INPUT:INAL,61H;读状态寄存器

TESTAL,01H;测试最低位

JZINPUT;继续读入

INAL,62H;输入数据

MOV[BX],AL;存放数据RDY查询式输入接口电路查询式输出接口电路中断传送方式在查询方式中,不能有效的利用CPU。为了提高CPU的利用率,于是产生了中断处理技术。在中断系统中,CPU与外设交换数据时,CPU不需要查询外部设备的状态,当外设没有做好传送数据的准备时,CPU可以执行其他操作,当外设准备好后,向CPU发送中断请求,CPU暂停当前的程序,执行中断程序来完成数据传送,接着返回原来的程序继续执行。主程序主程序中断请求中断返回中断服务子程序中断的概念在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂

温馨提示

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

评论

0/150

提交评论