第3章io端口地址译码技术概要

上传人:今*** 文档编号:107465578 上传时间:2019-10-19 格式:PPT 页数:33 大小:1.30MB
返回 下载 相关 举报
第3章io端口地址译码技术概要_第1页
第1页 / 共33页
第3章io端口地址译码技术概要_第2页
第2页 / 共33页
第3章io端口地址译码技术概要_第3页
第3页 / 共33页
第3章io端口地址译码技术概要_第4页
第4页 / 共33页
第3章io端口地址译码技术概要_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第3章io端口地址译码技术概要》由会员分享,可在线阅读,更多相关《第3章io端口地址译码技术概要(33页珍藏版)》请在金锄头文库上搜索。

1、2019/10/19,计算机接口技术,1,第3章 I/O 端口地址译码技术,本章主要内容 I/O 端口的基本概念 I/O 端口译码的基本原理 I/O 端口译码电路的设计,3.1 I/O 地址空间,2019/10/19,计算机接口技术,2,如果忽略I/O地址空间的物理特征,仅从软件编程的角度来看,和存储器地址空间一样,I/O地址空间也是一片连续的地址单元,可供各种外设与CPU交换信息时,存放数据、状态和命令代码之用。 实际上,一个I/O地址空间的地址单元是对应接口电路中的一个寄存器或控制器,所以把它们称为接口中的端口。 I/O端口地址与存储器的存储单元一样,都是以数据字节来组织的。无论是早期微机

2、还是现代微机的I/O地址线都只有16位,因此I/O端 口地址空间范围为0000HFFFFH,是连续的64KB地址,每一个 地址对应一个8位的I/O端口,两个相邻的8位端口可以构成一个16位的端口;4个相邻的8位端口可以构成一个32位的端口。,3.2 I/O 端口 3.2.1 什么是端口 端口(port)是接口(Interface)电路中能被CPU访问的寄存器的地址,是物理电路中寄存器的抽象。微机系统给接口电路中的每个寄存器分配一个端口,因此,CPU在访问这些寄存器时,只需指明它们的端口,不需指明什么寄存器。这样,我们在输入/输出程序中,只看到端口,而看不到相应的具体寄存器。也就是说,访问端口就

3、是访问接口电路中的寄存器。可见,端口是为了编程从抽象的逻辑概念来定义的,而寄存器是从物理含义来定义的。 接口电路中有三种不同类型的端口,存储不同的信息,分别是数据口、状态口和控制口。,2019/10/19,计算机接口技术,3,CPU,数据口 状态口 控制口,外设,3.2 .2 I/O 端口共用技术 一般情况下,一个端口只接收一种信息(命令、状态或数据) 的访问,但有些接口芯片,允许同一端口既作命令口用,又作状态口用, 或允许向同一个命令口写入多个命令字,这就产生端口共用的问题。 端口共用问题的处理方法是: 对命令口和状态口共用的处理方法是,根据读/写操作来区分。向该口 写,就是写命令,作命令口

4、用;从该端口读,就是读状态,作状态口用 例如,串行接口芯片8251A采用这种办法。 对多个命令字写到同一个命令口时,可采用两种办法解决:其一,在 命令字中设置特征位,根据特征位的不同,就可以识别不同的命令,例如 82C55A接口芯片采用这种办法;其二,在编写初始化程序段时,按先后顺 序向同一个端口写入不同的命令字,命令寄存器就根据先后顺序的约定来 识别不同的命令,8251A接口芯片采用这种方法。,2019/10/19,计算机接口技术,4,3.2.3 I/O 端口地址编址方式,2019/10/19,计算机接口技术,5,接口中的端口地址单独编址而不和存储空间合在一起,I/O端口有独立编址和统一编址

5、两种方式,2019/10/19,计算机接口技术,6,从存储空间中划出一部分地址空间给I/O设备使用,把I/O接口中的端口当做存储器单元一样进行访问,3.2.4 I/O 端口访问 本节只讨论累加器I/O指令IN和OUT,它们用于在I/O端口和AL、AX、EAX之间交换数据。 例如:,2019/10/19,计算机接口技术,7,分累加器 I/O 指令和串 I/O 指令,1. I/O指令,I/O指令表示,CPU从端口读数据或向端口写数据, 仅仅是指I/O端口与CPU的累加器之间的数据传输, 并未涉及数据是否传输到存储器的问题。若要将端口的数据传输到存储器,还得用MOV指令进行传输。 例如:,2019/

6、10/19,计算机接口技术,8,将端口的数据传输到存储器,2019/10/19,计算机接口技术,9,I/O 地址是否经过DX寄存器传输,I/O端口寻址有直接和间接I/O端口寻址,其差别表现在I/O端口地址是否经过DX寄存器传输。不经过DX传输,直接写在指令中,作为指令的一个组成部分的,称为直接I/O寻址;经过DX传输的,称为间接I/O寻址。 例如:,2. I/O端口寻址方式,它们是完成I/O操作这一共同任务的软件(逻辑)和硬件(物理),是相互依存、缺一不可的两个方面。 IOR和IOW是CPU对I/O设备进行读/写的硬件上的控制信号,低电平有效。 但是,这两个控制信号本身并不能激活自己,使之有效

7、去控制读/写操作,必须由软件编程,在程序中执行IN/OUT指令才能激活。 执行IN指令使IOR信号有效,完成读操作。 执行OUT指令使IOW信号有效,完成写操作。,2019/10/19,计算机接口技术,10,3. I/O指令与I/O读/写控制信号的关系,3.3 I/O 端口地址分配及选用的原则 3.3.1 早期微机I/O地址的分配 I/O端口只使用了低10位地址线A0A9,地址范围0000H03FFH。I/O空间分成系统I/O支持芯片的端口地址和常规外设接口卡的端口地址两部分。如表3.1和表3.2所示。,2019/10/19,计算机接口技术,11,表3.1系统的I/O支持芯片端口地址 I/O支

8、持芯片名称 端口地址 DMA控制器1 000H01FH DMA控制器2 0C0H0DFH DMA页面寄存器 080H09FH 中断控制器1 020H03FH 中断控制器2 0A0H0BFH 定时器 040H05FH 并行接口芯片 060H06FH RT/CMOS RAM 070H07FH 协处理器 0F8H0FFH,表3.2系统的外设接口卡端口地址I/O接口卡名称 端口地址 并行口控制卡1 378H37FH 并行口控制卡2 278H27FH 串行口控制卡1 3F8H3FFH 串行口控制卡2 2F8H2FFH 原型插件板 300H31FH 同步通信卡1 3A0H3AFH 同步通信卡2 380H3

9、8FH 彩显EGA/VGA 3C0H3CFH硬驱控制卡 320H32FH,3.3.2 现代微机I/O地址的分配,2019/10/19,计算机接口技术,12,现代微机I/O地址分配的特点 1.使用即插即用的资源配置机制,使端口地址的分配是动态变化的。 2.用户程序所使用的I/O端口地址与操作系统分配的现代微机系统端口地址是不一致的,两者之间通过PCI配置空间进行映射。 3.I/O地址映射对用户来讲是透明的。,3.3.3 I/O端口地址选用的原则,2019/10/19,计算机接口技术,13,1.凡是被系统配置占用了的地址一律不能使用; 2.未被占用的地址,原则上用户可以使用。但申明保留的地址,不要

10、使用; 3.留给用户可使用的端口地址:300H-31FH。 根据上述原则,本教材扩展的接口芯片,使用表3.3中分配的I/O端口地址。,表3.3 用户扩展的接口芯片I/O端口地址 接口芯片名称 端口地址 82C55A 300H303H 82C54A 304H307H 8251A 308H30BH 82C79A 30CH30DH,3.4 I/O 端口地址译码 3.4.1 I/O地址译码的方法,2019/10/19,计算机接口技术,14,全译码,所有I/O地址线全部作为译码电路的输入参加译码。,I/O地址线分为高位地址和低位地址分别用来在芯片间寻址和芯片内寻址(接口芯片中的寄存器寻址)。,在部分译码

11、方法的基础上,加上地址开关来改变端口地址。,3.4.2 I/O地址译码电路的输入与输出信号线,2019/10/19,计算机接口技术,15,全译码,包括地址信号和控制信号,控制线中注意AEN的使用。,只有一个CS信号,低电平有效。,3.4.3 CS的物理含义,2019/10/19,计算机接口技术,16,CS有效,CS无效,选中这个接口芯片,其内部的数据线打开,并与系统的数据总线接通,从而打通了接口电路与系统总线的通路。,这个芯片未选中,其内部数据线呈高阻抗,与系统的数据总线隔离开来,从而关闭了接口电路与系统总线的通路。,3.5 设计I/O端口地址译码电路应注意的问题 1.合理选用I/O端口地址范

12、围 2.正确选用I/O地址译码方法 3.灵活选用I/O地址译码电路,2019/10/19,计算机接口技术,17,3.6 I/O端口地址译码电路设计 例1 单个端口地址译码电路设计 1要求 设计I/O端口地址为2F8H的只读译码电路。 2分析 由于是单个端口地址的译码电路,不需产生片选信号,故采用全译码方法。地址线全部作为译码电路的输入线,参加译码。 为了满足端口地址是2F8H,10位输入地址线每一位的取值必须是如表3.4所示。另外,还需要几根控制信号(AEN、IOR和IOW)参加译码。,2019/10/19,计算机接口技术,18,表3.4 固定式单端口地址2F8H的地址线取值,2019/10/

13、19,计算机接口技术,19,3设计 能够实现上述地址线取值的译码电路有很多种,一般采用IC门电路就可以实现,而且很方便。本例采用门电路实现地址译码,译码电路如图3.1所示。,图3.1 固定式单端口地址译码电路,2019/10/19,计算机接口技术,20,例2 多个端口地址译码电路设计,1要求 设计一个系统板上的I/O端口地址译码电路,要求可选8个接口芯片并且让每个接口芯片内部的端口数目为32个。选用74LS138作译码器。 2分析 多端口地址译码电路,采用部分译码方法。高位地址线中的A9和A8两位应赋值为0,以满足系统板上的I/O端口地址分配在0000FFH范围内的要求;A7A6A5参加译码,

14、产生8个接口芯片片选信号。为了让每个被选中的芯片内部拥有32个端口,需要留出5根低位地址线不参加译码,作为芯片内部寄存器选择。由上述分析可以得到译码电路10位输入地址线每一位的取值,如表3.5所示。,表3.5 译码电路输入地址线的取值,2019/10/19,计算机接口技术,21,对于译码器74LS138的分析有两点。一是它的控制信号线应当满足 G1=1, = =0时,74LS138才能进行译码。二是译码的逻辑 关系,输入(C、B、A)与输出( )的对应关系,即真值表,如表3.6所示。,表3.6 74LS138的真值表,2019/10/19,计算机接口技术,22,3设计 采用74LS138译码器

15、设计微机系统板上的端口地址译码电路,如图3.2所示。,图3.2 微机系统配置的I/O端口地址译码电路,2019/10/19,计算机接口技术,23,4.讨论,2019/10/19,计算机接口技术,24,1要求 设计某微机实验平台板的I/O端口地址译码电路,要求平台上每个接口芯片的内部端口数目为4个,并且端口地址可选,其地址选择范围为300H31FH。 2分析 开关式译码电路可由译码器、地址开关、比较器或异或门几种元器件组成。 先分析3个元器件的工作原理,然后根据题目要求进行电路设计。 DIP开关有两种状态,即合(ON)和断(OFF)。所以,要对这两种状态进行设定,可以设置DIP开关状态为ON=0,OFF=1。 我们采用74LS85 4位比较器。比较器的作用是把比较器A组与B组的比较,转换成了地址线的值与DIP开关状态的比较。为此,把它的A组4根线与地址线连接,B组4根线与DIP开关相连。74LS85比较器比较的结果有3种:AB,AB,A=B。我们采用A=B的结果,并令当A=B时,比较器输出高电平。这意味着,当4位地址线的值与4个DIP开关的状态相等时,比较器输出高电平,否则,输出低电平。 将比较器的A=B输出线连到译码器74LS138的控制线G1上,因此,只有当4位地址线(A6A9)的值与4个DIP开关(S0S3)的状态各位均相等时,才能使74LS138的控制线G1=1,译码器

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号