第四章输入与输出及IO端口、地址译码_第1页
第四章输入与输出及IO端口、地址译码_第2页
第四章输入与输出及IO端口、地址译码_第3页
第四章输入与输出及IO端口、地址译码_第4页
第四章输入与输出及IO端口、地址译码_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

§1.概述

一.外部设备特点由以上特点,对I/O部分设计必须考虑两个问题:A外设如何与CPU连接----必须通过I/O接口.BCPU如何寻址相应的I/O设备----通过寻址与设备对应的I/O端口.

本章将围绕这两个问题,从I/O的一般特性入手,以80X86CPU为实例,阐述CPU通过各种I/O接口与I/O设备连接,对I/O设备的寻址,存取,CPU与设备之间进行输入/输出的基本方法以及CPU对I/O的控制基本过程。注意:这里的I/O设备泛指:(1)品种繁多。(2)工作速度一般比CPU慢,且速度的分布也相当宽。(3)信号类型与电平种类多样化。(4)信息结构形式复杂。第四章输入与输出及I/O端口

地址译码2/6/2023二。I/O接口和I/O端口

1。I/O接口.(Interface)(1)I/O接口是一电子电路(以IC芯片或接口板形式出现),其内有若干专用寄存器和相应的控制逻辑电路构成.它是CPU和I/O设备之间交换信息的媒介和桥梁.(2)I/O接口的基本功能为:

•进行端口地址译码设备选择

•向CPU提供I/O设备的状态信息和进行命令译码•进行定时和相应时序控制。•对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异。•提供计算机与外设间有关信息格式的相容性变换。提供有关电气的适配•还可以中断方式实现CPU与外设之间信息的交换2/6/2023(3)MPU与I/O之间的接口信号数字:如二进制表示的字母.BCD码.ASC2码或字符。开关量:一些两个状态的量。状态信号:表示I/O装置状态的量。控制信号:如CPU发出的R/W信号和从外设发来的中断信号等。MPUI/O设置数据状态控制2/6/2023对CPU来说,外设状态信息须作为数据输入,而其控制命令作为数据输出,为使它们与数据相互区别------这三者必须从各自端口出入。2/6/20232.I/O端口(Port)是I/O接口中可通过编程实现寻址并进行读写的寄存器。CPU与外设之间交换信息具体是通过I/O端口来进行的。即端口寄存器Note:1.一个外设与CPU交换信息往往需要几个端口:数据端口控制端口状态端口有时可以合用2/6/20232.在微机系统中,每个端口分配有唯一的地址码,称之为端口地址。3.CPU对外设的访问实际上是通过对I/O端口的访问来实现的-----因为端口与设备是一一对应的关系4.I/O通道也就是可以传送和暂存数据的实际通路,所以I/O端口有时也称作I/O通道。2/6/2023ABDBCBCPUI/O接口I/O设备

端口数据控制状态CPU与外设通过I/O接口通信示意图:2/6/2023§2I/O端口编址方式一。存储器映象I/O寻址1。基本结构

从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。2/6/20232:特点(1)主存单元与I/O端口一起编址。(2)据地址区分访问是I/O端口还是主存。(3)系统中可以不设I/O指令。3:优缺点(1)指令兼容性,存储器指令也可用于I/O数据。(2)I/O接口有较大的编址空间。(3)I/O部分的控制逻辑比较简单。但是,其指令功能不强,且处理机芯片有额外的对I/O进行操作的控制引脚。2/6/2023二。独立I/O的寻址方式1:特点(1)主存单元与I/O端口分开寻址(2)设置I/O指令(3)指明是访问I/O端口,还是主存单元?2:基本结构:略3:优缺点:(1)独立的控制结构,使其可与存储器分开进行设计。

2/6/2023

但是,其指令功能不强,且处理机芯片有额外的对I/O进行操作的控制引脚。(2)单独的I/O指令,可与访问存储器的指令区分。(3)指令地址较短,所需译码硬件较少。(4)指令格式较短,执行时间也短。2/6/2023三。80X86的I/O指令1。输入指令ININAL,nINAX,nINAL,DXINAX,DX2。输出指令OUTOUTN,AL/AX;OUTDX,AL/AX;说明

两种指令均可传送一个字节或字,且只能通过AL或者AX传送。如:IN指令中的目的操作数必须是AL(字节传送)或AX(字传送)2/6/2023四、独立编址方式的端口访问1.I/O指令中端口地址的宽度IBM-PC系列采用I/O(input/output)指令访问端口,实现数据的I/O传送。在I/O指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作业端口地址,则最多可访问256个端口。其指令格式为:INAL,PORT;输入OUTPORT,AL;输出这里,PORT是一个8位的字节地址。例如:INAL,60H;60H为系统板8255A的PA端口地址OUT61H,AL;61H为系统板8255A的PB端口地址2/6/2023双字节地址作为端口地址,则最多可寻址216=64K个端口。MOVDX,××××HINAL,DX;8位传送MOVDX,××××HOUTDX,AL;8位传送这里,××××H为16位的两字节地址。例如:MOVDX,300H;300H为扩展板8255A的PA端口INAL,DXMOVDX,301H;301H为扩展板8255A的PB端口OUTDX,AL2/6/20232.I/O端口访问所谓对端口的访问就是CPU对端口的读/写。将端口的数据传送存储器例如:输入时MOVDX,300H;I/O端口

INAL,DX;从端口读数据到ALMOV[DI],AL;将数据从AL→存储器输出时MOVDX,301H;I/O端口

MOVAL,[SI];从内存取数到ALOUTDX,AL;数据从AL→端口2/6/2023

§3

I/O端口地址分配一、I/O接口硬件分类I/O接口的硬件分成两类:1.系统板上的I/O芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。2.I/O扩展槽上的接口控制卡如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。2/6/2023二、I/O端口地址分配PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,其端口地址译码是采用部分译码法,即只使用了低10位地址线一个A0~A9,故其I/0端口地址范围是0000H~003FFH,总共只有1024个端口。2/6/2023表2.1系统板上接口芯片的端口地址I/O芯片名称端口地址DMA控制器1000~01FHDMA控制器20C0~0DFHDMA页面寄存器080~09FH中断控制器1020~03FH中断控制器20A0~0BFH

定时器040~05FH并行接口芯片(键盘接口)060~06FHRT/CMOSRAM070~07FH

协处理器0F0~0FFH2/6/2023表2.2扩展槽上接口控制卡的端口地址I/0接口名称端口地址游戏控制卡200~20FH并行口控制卡1370~37FH并行口控制卡2270~27FH串行口控制卡13F8~3FFH串行口控制卡22F0~2FFH原型插件板(用户可用)300~31FH同步通信卡13A0~3AFH同步通信卡2380~38FH单显MDA3B0~3BFH彩显CGA3D0~3DFH彩显EGG/VGA3C0~3CFH硬驱控制卡1F0~1FFH软驱控制卡3F0~3F7HPC网卡360~36FH2/6/2023三、I/O端口地址选用的原则①凡是被系统配置占用了的地址一律不能使用;②未被占用的地址,用户可以使用,但申明保留的地址,不要使用。③用户可使用300H~31FH地址。2/6/2023

§4I/O端口地址译码一、I/O地址译码电路工作原理及作用1.译码电路的输入信号I/O地址译码电路不仅仅与地址信号有关,而且与控制信号有关。二、I/O地址译码方法①高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片CS的片选。②低位地址线不参加译码,直接连到I/O接口芯片,进行I/O接口芯片的片内端口寻址,即寄存器寻址。2/6/2023三、I/O端口地址译码电路设计1.固定式端口地址译码固定式是指接口中用到的端口地址不能更改。例1:使用74LS20/30/32和74LS04设计I/O端口地址为2F8H的只读译码电路。分析:若要产生2F8H端口地址,则译码电路的输入地址线就应具有如下所示的值。译码电路输入地址线的值地址线00A9A8A7A6A5A4A3A2A1A0

二进制001011111000十六进制2F82/6/2023译码电路输入:地址线:10根,地址值:2F8HA9~A0=1011111000B 控制线:AEN=0IOR=0译码电路输出: Y=0为译码选中。

2/6/2023A9A8A7A3A2A1A0AENIOR&&≥Y2/6/2023 当执行指令:MOVDX,2F8HINAL,DX时,Y=0,对应端口被选中2/6/2023

例⒉用门电路设计地址为2E2H的读写译码电路。

Y2(写)&≥&≥≥A9A8A7A4A3A2A1A0AENIORIOWY1(读)2/6/2023例⒊使用专用译码器LS138设计PC机主板接口的译码电路。

LS138译码器功能:当控制信号G2A=0,G2B=0G=1,对应ABC任一组合,Y0~Y7中一定有一个为(0)。2/6/202374LS138译码器输入与输出对应关如下: CBA输出 000 /Y0=0其它输出为高电平 001 /Y1=0其它输出为高电平 010 /Y2=0其它输出为高电平 011 /Y3=0其它输出为高电平 100 /Y4=0其它输出为高电平 101 /Y5=0其它输出为高电平 110 /Y6=0其它输出为高电平 111 /Y7=0其它输出为高电平

2/6/2023A/Y0B/Y1C/Y2/Y3/G2B/Y4/G2A/Y5G1/Y6/Y774LS138≥≥A5A6A7A8

A9AENIOW/DMACS(8237)/INTERCS(8259)/TCCS(8253)/PPICS(8255)/WRTDMAPG/WRTNMIREG2/6/20232.可选式端口地址译码---即

采用比较器设计可选址的译码电路

地址线:A1A0不参加译码。 A4A3A2输入组合使74LS138译码器输出八个片选信号。 A5=0,A9A8A7A6采用比较器和跳线开关变址。比较器为74LS85,A0A1A2A3和B0B1B2B3为待比较的数据。输入“A=B”为高选择相等比较。输出“A=B”为1输入两组数据相等,否则输入两组数据不相等。

2/6/2023A0A1A2A3B0B1B2B3A=BA=BABC/G2A/G2BG1A5A6A7A8SWLS138/Y0/Y1/Y2/Y3/Y4/Y5/Y6/Y7A2A3A4A5AENVCC2/6/2023例:设计扩展板上的I/O端口地址译码电路,要求让扩展板上每个接口芯片的内部端口数目为4个,并且,端口地址可选。例如,选择地址范围为300H~31FH.分析:①对于DIP开关,有两种状态:合(ON)和断(OFF)。②对于比较器有两点要考虑,一是比较的对象,二是比较的结果。2/6/2023

§5I/O程序传送方式一。无条件传送方式指在外部控制过程的定时是固定的或已知的条下,进行数据传送的方式。条件:必须在已知并确信外设已准备就绪下,才能应用。(1)输入操作的进行输入时,认为外设数据已至三态缓冲器,CPU执行IN指令。

在这种传送方式中,微型机与外设间的数据传送由程序来控制。2/6/2023三太缓冲器地址译码器M/IORDDATA数据来自外设此时,指定端口地址送至译码器,CPU进入输入周期。选中的地址信号与M/IO及RD信号相‘与’,选通缓冲器,同时外设数据经数据总线输入CPU。1.无条件传送的输入方式1CPU2/6/2023

2。无条件传送的输出方式地址译码器锁存器CE1M/IORD地址总线到外设此时,CPU信息经数据总线输出到锁存器,端口地址送至译码器,选中的地址信号和M/IO及WR相“与”,去选通锁存器,信息保留其中,由它把信息通过外设输出。CPU2/6/2023测试I/O设备状态准备就绪?启动执行数据传送I/O设备暂停结束NY3。查询式I/O传送例如:程序TEST:INAL,2:

温馨提示

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

评论

0/150

提交评论