微机接口技术IO端口地址译码技术
IO地址译码(word文档良心出品)

物理与电子科学系实验报告课程名称 微机原理与接口技术 实验班级 B13电子班 实验名称 I/O 地址译码学生姓名 学生学号 一、实验目的掌握I/O 地址译码电路的工作原理。
二、实验内容实验电路如图1-1所示,图中线路两端有节点的信号线需要用户用实验导线连接起来,其中74LS74为D 触发器,可直接使用实验台上部系统板上的D 触发器。
74LS138为地址译码器。
译码输出端Y0-Y7在实验台中间系统板上引出,每个输出端包含8个地址,即:Y0:280H ~287H ; Y4:2A0H ~2A7H; Y1:288H ~28FH; Y 5:2A8H ~2AFH; Y2:290H ~297H; Y 6:2B0H ~2B7H; Y3:298H ~29FH; Y 7:2B8H ~2BFH;G16G2A 45G2B Y4Y5Y6Y7111097A 1B 23CY0Y1Y2Y315141312Y4Y5Y6Y7Y0Y1Y2Y3CLK1Q 6D 2PRE4Q 5CLK 3+5VGNDVCCA3A4A58L0SN7474SN74LS138U14AU18U17SN74LS30U16DSN74LS00U16CSN74LS00U16BSN74LS00U16ASN74LS00118631234567812139104512A6A7A8A9AEN IOR IOW图1-1 I/O 地址译码电路图 例如:执行下面两条程序 MOV DX, 2AOH OUT DX, ALY4输出一个负脉冲,执行下面两条指令 MOV DX,2A8HOUT DX,AL Y5输出一个负脉冲。
计算出的地址=查找出的PCI 卡的基址+偏移量三、源程序ioport equ 0ef00h-0280h ;强制定义inport表示0ef00h-0280h outport1 equ ioport+2a0h ;同上(执行结果编译时产生)outport2 equ ioport+2a8h ;同上code segment ;定义code段assume cs:code ;让code段成为代码段,start: ;代码段开始,根据end表示入口地址mov dx,outport1 ;将outport1给dx(outport1的值就是上面equ强制定out dx,al ;将al的值输出到dx指向的端口,必须用dx做端口) call delay ;调延时子程序mov dx,outport2 ;同上out dx,al ;同上call delay ;调延时子程序mov ah,1 ;ah=1int 16h ;16h软中断(功能调用)je start ;循环,测试z标志位=0则跳否则不跳mov ah,4ch ;ah=4chint 21h ;功能号调用delay proc near ;延时子程序mov bx,2000 ;这段子程序不需要解释,无太大作用,实现靠指令执行lll: mov cx,0ll: loop lldec bxjne lllretdelay endpcode ends ;code段结束end start ;代码结束start为程序入口点四、实验结果分析通过本次实验上机,我了解和掌握了I/O地址译码电路的工作原理,熟练了汇编代码的编写、连接电路、通过代码控制电路,更了解到上机是检验学生理论知识和动手能力的很好的方式。
第2章 I0端口地址译码技术

2.3 I/O端口地址的译码
将来自地址总线上的地址代码翻译成为所需要 访问的端口。
I/O端口地址译码电路结构:
译码电路的输入信号
地址信号:由地址范围决定 控制信号:数据流向(读/写)、数据宽度(8位/16位)、
是否采用奇/偶地址和DMA传送方式
74LS20 &
≥1 ≥1
74LS32
≥ 1 R77AH
读/写操作77AH端口地址的译码电路
A 10
74LS04
AAAAAAA1843965
A 15
A 14
A 13 A 12
A 11
A7
A2 A0
AEN
IOR
IOW
74LS30 &
≥1
&
≥1 74LS20 &
74LS 32
≥1
≥1
R 77AH
≥1
W 77AH
据 要 锁
( 没 存
锁存器 有再次 器外的部输输
出1端3 14
变1。7
就
一D 4直
D5 D6
保
持Q Q Q
4原
5
6
来12
15 16
锁
存
的
信出息设不备
18
D7
Q 7 19
IOW
译码片选
74LS32
11 1
+5V
CLK CL R
I/O地址译码方法
地址译码的方法灵活多样 高位地址线与CPU的控制信号进行组合,
A3
74LS32
A1
74LS30
A2 74LSO4
A1
第三章 端口地址译码技术

A1 A0 0 0 8
•
22
逻辑表达式: Y= A9A8A7A6A5A4A3A2 A1A0 AEN IOR 摩根定律:或非=非与,非或=与非 Y=A9A8A7A6A5A4A3A2 + A1A0 AEN IOR
结论:输出Y低电平有效。即当端口地址 为2F8H,AEN=0,IOR=0低电平时,输出Y 有效。
第三章
3.1 3.3
I/O端口地址译码技术
I/O端口及其编址方式 I/O端口地址译码
返回目录
1
3.1
3.1.1
3.1.2 3.1.3
I/O端口及其编址方式
I/O端口和I/O操作
I/O端口地址编址方式 独立编址方式的端口访问
返回第三章
2
3.1.1
1.I/O端口
I/O端口和I/O操作
定义:端口(port)是接口电路中能被CPU直 接访问的寄存器(的地址)。 CPU 与外设之间交换信息具体是通过I/O 端口来进行的。
10
I/O端口访问
所谓对端口的访问就是CPU对端口的读/写。 指I/O端口与CPU的累加器之间的数据传送, 并未涉及数据是否传送到存储器的问题。
输入: 端口数据 输出: 内存中的数据
CPU中的累加器 CPU中的累加器
内存 I/O端口
11
3.1.3、独立编址方式的端口访问
1.I/O指令中端口地址的宽度
26
逻辑表达式:
Y1 =A9A8A7A6A5A4A3A2 + A1A0 AEN + IOR
Y1 = A9A8A7A6A5A4A3A2 · 1A0 AEN ·IOR A
IO接口数据传送及地址译码技术

Image 的数据 (输出寄存器)
状态寄存器——保存状态信息,CPU可从状态 口读取当前状态;
控制寄存器——用来保存CPU写入的控制字。
任何接口电路均包括如下基本功能:
No 1. 作为微型机与外设间传递数据的中间缓冲站; Image 2.正确寻址与微机交换数据的外设 ;
No (2) 模拟量
Image 非电量信息
传感器
电量
信号 处理
A/D CPU
No (3) 开关量 两个状态的量 (可以用0、1表示) Image 例如电机的启与停,开关的合与开等。
2. 状态信息 (STATUS)
No 反映当前外设工作状态的信息,例如:
输入时,输入设备是否准备好? (READY)
(256个) FFH
... ...
M空间
原则:M与I/O分开编址、互不干扰——M 与I/O地址不重叠
优点:M空间不受I/O空间影响;有专用 I/O指令(程序清晰);I/O指令短, 执行速度快
缺点:I/O指令种类有限,I/O空间不易 扩展
(64KB) FFFFH
Image 输出时,输出设备是否空闲?(BUSY)
3. 控制信息 (CONTROL)
CPU通过接口输出用以控制外设工。
AB
1 DATA
CPU
DB
I/O 接口
2
STATUS
I/O 设备
CB
CONTROL
3
CPU 与外设之间的接口信息
6.2 I/O 端口及其寻址方式
可寻址256个端口。
No 采用间接寻址,则其指令格式为: 输入指令:IN AL,DX 输出指令:OUT DX,AL
Image 这种间接寻址方式的端口地址为两个字节长,
接口_第3章 IO端口地址译码技术

或
MOV DX, XXXXH OUT DX, AL OUT DX,AX
;8位传送(输出) ;16位传送(输出)
这里,XXXXH为16位的两字节地址。
2、I/O端口的寻址方式
I/O端口寻址有直接I/O端口寻址和间接I/O端口 寻址,其差别在I/O端口寻址是否经过DX传输。 例如:输入时 IN AL,0E0H ;直接寻址 MOV DX,300H ;间接寻址 IN AL,DX 例如:输出时 OUT 0E0H,AL ;直接寻址 MOV DX,300H ;间接寻址 OUT DX,AL
16位微处理器的I/O地址线是16位,实际上 只使用A0-A9地址线,地址线的选择应遵循下 列规则: 高位地址作为片间寻址,低位地址作为片 内寻址。 片内地址线数由接口中寄存器的数目决定。
2、I/O端口地址译码电路的输入与输出信号线
I/O地址译码电路的输入信号
I/O地址译码电路不仅仅与地址信号有关,而 且与控制信号有关。例如:
地址线 0 0 A 9 A8 A7 A6 A5 A4 A3 A 2 A1 A0
二进制
0
0 0
控制信号
0
C
B
A
? ? ? ? ?
片内地址
片选地址
地址范围在00H-0FFH区间的译码电路
开关式I/O地址译码电路设计
例:某微机系统的I/O空间为000H-3FFH,分成连 续的16段可选地址,每个段包括8个接口芯片, 每个接口芯片拥有8个端口。 分析:采用部分译码方法,允许16个段可以选择, 所以采用4位开关。
3.4
I/O端口地址分配及选用原则
4.3 IO端口地址译码-微型计算机汇编语言与接口技术-刘均-清华大学出版社

业精于勤而荒于嬉
教材第页 8
4.3.2 I/O端口地址的固定式译码
固定式译码是指译码电路设计好后,接口芯片中的端口地址就 固定了,不能更改。为该接口编写驱动程序时,一定要按固定 的端口地址编写。大部分接口卡中都采用固定式译码。固定式 译码可用门电路和译码器进行设计。
业精于勤而荒于嬉
教材第页 10
4.3.2 I/O端口地址的固定式译码
图4.6中接口芯片内部只有一个端口,要访问该端口,只要接口 芯片的片选 CS有效即可。要使CS 有效,则或门两个输入端必 须为0。这样,两个与非门的输出必须为0。则与非门输入端, 直接接与非门的地址线必须为1,经过非门接到与非门的地址 线必须为0。 AEN控制信号必须为0。这样A9 A8 A7 A6 A5 A4 A3 A2 A1 A0地址线上的信号组合必须为1011111000B时才能让CS 有效, 即端口的地址为1011111000B=2F8H。
业精于勤而荒于嬉
4.3.1 I/O端口地址译码的基本原则
ቤተ መጻሕፍቲ ባይዱ
业精于勤而荒于嬉
教材第页 7
4.3.1 I/O端口地址译码的基本原则
在某些系统中,端口地址采用偶地址连接方式。在这种连接方 式下,CPU地址线的A0信号线为0,不接到接口芯片上,而是从 A1开始分配低位地址线作为端口选择。这样,接口芯片内部的 每个端口地址都是偶数。
1. 采用门电路进行地址译码 采用门电路设计地址译码电路,是指采用与门、与非门、反相
器、或门等基本门电路构成地址译码电路。CPU高位地址线和 控制信号,经过门电路逻辑,产生接口芯片的片选信号CS。
2.第二章 IO端口地址译码技术

Y2
Y3 Y4
G2B G2A G1
Y5
Y6 Y7
IOW
逻辑门电路进行I/O地址译码
A9 A8 A7 A6 A5 A2 A4 A3 AEN A1 A0
74LS03
3E7H
1. 固定式端口地址译码
接口中用到的地址不能更改,分为单端口地址 译码和多个端口地址译码两种情况 例1. 使用74LS30/20/32和74LS04设计2F8的只读 译码电路 表2.3 译码电路输入地址线的值
A9 1
Y7
端口31 31F
A4~A0
A0 A1 A2 A3 A4
MOV DX,301H ( 31FH ) IN AL,DX D0~D7 IOR
300~31FH
端口0 300 端口1 301
IOW AEN CPU A9 A8
A7 1 1 0
A6 A5
0 0
端 口 译 码 电 路
端口1 302 Y0 CS
方法1:使用基本的逻辑门
304H ~ 307H
A0 A1 A2 CPU A3 A4 A5 A6 A7 A8 A9
D0-D7
A6 A7 A8 A9
1
A2 A3 A4
__ Y0 __ Y1
端口0 端口1 端口2 端口3
….
__ Y6 __
G1
Y7
31C~31FH
(扩展槽上接口卡的地址译码电路)
以Y0为例:
通过跳线控制其逻辑电平组合决定具体选中哪一个扩展卡
A9 1 1 1 1
A8 A7 A6 1 0 0 1 0 0 1 0 0 1 0 0
A5 0 0 0 0
介绍74LS245
8位双向缓冲器 • 控制端连接在一起, 低电平有效 • 可以双向导通 • 输出与输入同相
微机接口技术-第3章IO端口地址译码技术

内存 内存接口
系统总线:地址总线XA19-0,数据总线XD7-0,控制总线/XIOR ……
智能仪器接口 通信接口 过程控制接口 输入接口
输出接口
外存接口
数字化存储示 波器,数字化
万用表
终端 调制解调器 TTY 电传机
A/D转换器 开关量输入 D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示
么?
思考:在PC机上设计接口,你设计的接口IO地址必须不能与其他设备 接口IO地址冲突,你能想到用什么办法解决这个问题?
方案一:先查PC机硬件说明书,看那些IO 地址已经被占用。
缺点是麻烦,且非PC机器厂家生产的设备 (如扩展接口卡)地址,必须通过查该卡
说明书才能了解它占用的IO地址。
不可能!!你怎么知道你的卡被客户装在 哪台机器上?客户计算机上装了哪些其它 厂家的卡,你怎么能预先知道呢?客户买
Y X 9X A 8 X A 7 X A 6 X A 5 X A 4 X A 3X A 2 A X 1 X A 0 X AX I O A XA9 XA8 XA7 XA6 XA5 XA4 XA3 XA2
/+Y
例2。 使用74LS138设计一个系统板上IO端口地址译码电路,并且让每个接口芯片内部 可以有32个端口,非DMA期间可以访问接口芯片。
分析:输入 XA9-5,XAEN。因为低5位地址用来选中芯片内部端口,不作为外部译码器 的输入。一片138只能译码3位地址,这里用138对XA7-XA5译码。
输出 8个芯片选中信号/Y0-/Y7。 逻辑关系:XAEN=0,XA9XA8=00时,使译码器工作。 XA7-XA5=000时,输出/Y0=0, 其余全无效为1。 XA7-XA5=001时,输出/Y1=0, 其余全无效为1 XA7-XA5=010时,输出/Y2=0, 其余全无效为1 ……
第02章IO端口地址译码技术

第2章 I/O端口地址译码技术
② 优点:是CPU访问外设的操作比较灵活、方便,有利于提高端口 数据处理速度。
③ 缺点:是外设端口占用了有效的存储器空间, 造成存储器有效 容量减小。另外,访内存指令一般都比专门I/O指令需要 更多的字节,因而执行时间较长。
(2)外设端口单独编址 ① 在这种编址方式下,外设的地址不占用存储器空间, 所有的外 设端口地址单独构成一个输入/输出空间,例如与存储器交换数 据用MOV传递指令,而与外设交换数据则用专用的输入指令IN和 输出指令OUT。这种单独编址会使得外设端口的地址与存储器单 元的地址有可能重叠,是访问存储器还是访问外设, 用不同的 指令加以区别。因此这种编址方式又称为覆盖编址方式。
4、输入/输出指令(IN/OUT)与读/写控制信号(IOR/IOW)的关系 它们是为完成 I/O操作这一共同任务的软件和硬件相互依
存,缺一不可的两个方面。 IOR和IOW是CPU对外设进行读/ 写的硬件上的控制信号, 低电平有效。 但是, 这两个控制信 号本身不能激活自己,使之变为有效, 去控制读/写操作。 而 必须由软件编程,在程序中执行IN/OUT指令,才能激活IOR/ IOW,使之变为有效,实施对外设的读/写操作。
同步通信卡1 同步通信卡2
单显MDA 彩显CGA 彩显EGA/VGA
3A0H~3AFH 380H~38FH
3B0H~3BFH 3D0H~3DFH 3C0H~3CFH
硬驱控制卡 1F0H~1FFH 软驱控制卡 3F0H~3FFH
PC网卡
360H~36FH
8
第2章 I/O端口地址译码技术
3、I/O端口地址选用原则 (1)系统占用的不能使用。 (2)厂商保留的不能使用。 (3)用户只用使用300H~31FH一段区间,为了避免与其他用户 开发的插板发生地址冲突,最好使用地址开关。
第二章 IO端口地址译码技术

举例:
30h发送命令寄存器CPU31h 传送
数据寄存器
32h
读取
状态寄存器
CPU与I/O端口
二、端口地址编址方式
1.统一编址 端口地址和存储器地址统一编址,即存储器 映射方式。
优点:指令类型多、功能齐全; 端口有较大的编址空间。
缺点:端口占用地址空间,使存储器容量减少; 指令长度及执行时间较长。
二、I/O端口地址分配
1. PC微机I/O地址线有16根,对应的I/O端口编址可达 64K字节。
2. 端口地址译码是采用非完全译码方式,即只考虑了 低10位地址线A0~A9,而没 有考虑高6位地址线 A10~A15。
3. I/0端口地址范围是0000H~03FFH,总共只有1024个 端口。
三、I/O端口地址选用的原则
000~01FH
DMA控制器2
0C0~0DFH
DMA页面寄存器
080~09FH
中断控制器1
020~03FH
中断控制器2
0A0~0BFH
定时器
040~05FH
并行接口芯片(键盘接口) 060~06FH
RT/CMOS RAM
070~07FH
协处理器
0F0~0FFH
表2.2 扩展槽上接口控制卡的端口地址
凡是被系统配置占用了的地址一律不能使用; 对计算机厂家申明保留的地址,不要使用; 用户可使用300H--31FH地址,且最好使用地址开关。
2.3 I/O端口地址译码
一、I/O地址译码电路原理及作用
I/O地址译码电路的作用是把输入的地址和控制 信号进行逻辑组合,从而产生对接口芯片的选择 信号,低电平有效。
双字节地址指令格式:
MOV DX, × × × ×H
10-IO地址译码技术

(Port) Acc=AL,AX或EAX
间接输出(变量)
输入字节串 输入字串 输入双字串
OUT DX, Acc
INSB INSW INSD
(ES:DI) (ES:DI) (ES:DI)
(Acc)
((DX)) ((DX)) ((DX))
((DX))
E(DI) E(DI) E(DI) E(DI) ±1 E(DI) ±2 E(DI) ±4
9
表 系统板上接口芯片的端口地址 I/O芯片名称 DMA控制器1 DMA控制器2 DMA页面寄存器 中断控制器1 中断控制器2 定时器 并行接口芯片(键盘接口) RT/CMOS RAM 协处理器
10.1
I/O端口及其编址方式
端口地址 200~20FH 370~37FH 270~27FH 3F8~3FFH 2F0~2FFH 300~31FH 3A0~3AFH 380~38FH 3B0~3BFFH 3D0~3DFH 3C0~3CFH 1F0~1FFH 3F0~23F7H 360~36FH
2) 扩展槽上的I / O接口控制卡。 由若干个集成电路按一定的逻辑功能组成的接口部件 例:图形卡、声卡、网卡 端口地址:后768个端口(100~3FFH) 16位地址
8
10.1
I/O端口及其编址方式
端口地址 000~01FH 0C0~0DFH 080~09FH 020~03FH 0A0~0BFH 040~05FH 060~06FH 070~07FH 0F0~0FFH
表 扩展槽上接口控制卡的端口地址
I/O接口名称 游戏控制卡 并行口控制卡1 并行口控制卡2 串行口控制卡1 串行口控制卡2 原型插件板(用户可用) 同步通信卡1 同步通信卡2 单显MDA 彩显CGA 彩显EGA/VGA 硬驱控制卡 软驱控制卡 PC网卡
第2章 IO端口地址译码技术

(3) 扩展槽上的I/O接口控制卡端口地址分配
I/O接口名称 硬驱控制卡 游戏控制卡 扩展器/接收器 并行口控制卡1 并行口控制卡2 PC/XT 0320 ~ 032FH 0200 ~ 020FH 0210 ~ 021FH 0370 ~ 037FH PC/AT 01F0 ~ 01FFH 0200 ~ 020FH - 0370 ~ 037FH
第二章 I/O端口地址译码技术
徐承彬
第二章 I/O端口地址译码技术
1
I/O端口编址 I/O端口地址分配 I/O端口地址译码
2
3
2
2.1 I/O端口编址
基本概念
接口内部包含一个或多个CPU可进行读写的寄存器,这些
寄存器称为I/O端口。数据端口、状态端口和控制端口。
CPU对外设的各种操作,最终都归结为对接口中各端口的
缺点
▲专用的I/O指令增加了指令系统的复杂性,且指令类型少,功
能弱,程序设计灵活性差。
▲CPU需提供I/O读写与存储器读写2套控制信号,增加了控制
逻辑的复杂性。
7
(3) 独立编址下的I/O指令
指令类型
▲IN:从I/O端口读入数据到微处理器的累加器中。
▲OUT:将微处理器累加器中的数据写入到I/O端口。
读
Y
写
Y
28
【例2-3】某接口芯片内部有4个端口,地址范围为2F0H~ 2F3H。请使用门电路为其设计一个端口地址译码电路。 分析:
▲ 地址范围为2F0H ~ 2F3H,故CPU访问该接口芯片时,地址线 xx = 00, 01, 10, 11, 上的信号为: 对应4个端口
地址线
值
0 0 A 9 A8 A7 A6 A5 A4 A 3 A2 A1 A0
第二章IO端口地址译码技术

A7A6A5 000~111
0H
0~7H
控制
片选
长江大学地物学院
A4A3A2A1A0 00000~11111 0~1FH 片内端口寻址
74LS138的真值表:
输入
输出
G1 G2A G2B 100 100 100 100 100 100 100 100 0xx x1x xx1
CBA 000 001 010 011 100 101 110 111 xxx xxx xxx
如图2.6所示:
长江大学地物学院
长江大学地物学院
本章思考题
• 在图2.1(b)中的原读/写地址为2E2H,若要 求I/O端口读/写地址改为374H,则输入线 要作哪些改动?
• 在独立编址方式下,CPU采用什么指令访 问端口?
长江大学地物学院
问题与讨论
长江大学地物学院
长江大学地物学院
三.独立编址方式的端口访问
1. I/O指令中端口地址的宽度 系统板上的接口芯片的端口采用单地址字节
最多可寻址28 =256个端口 采用双地址字节时:最多可寻址216 =64K个端
口,I/O扩展槽的接口控制卡上采用双地址 字节编址 2.I/O端口访问 即CPU对端口的读写
长江大学地物学院
端口访问举例:
输入(CPU把端口数据读入主存) MOV DX,300H IN AL,DX MOV [DI], AL 输出(CPU把主存数据写入端口) MOV DX,301H MOV AL,[SI] OUT DX,AL
长江大学地物学院
2.2 I/O端口地址分配
系统板上接口芯片的端口地址
I/O芯片名称
设计结果
长江大学地物学院
PC系统板上的各个端口的地址范围:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A0~i 译
码 器
/CS
&
/Y0 /Yn
&
I读 8个 I写 8个
D0-7
1个存储单元(8bit)
& I读 8个
接自外部译码 器“选中”线
存储器或IO接口芯片内部读写控制原理图(2)
同时控制 8个3态门
/XIOW
/XIOR
XA0-i
外
译
XAi+1--9
码 器
WR
8个 &
I写
RD
1个存储单元(8bit)
优点:指令丰富,电路简单。
缺点:外设占用存储器空间,内存容 量减小。
2、独立编址方式
内存
8088 CPU (最大
AB
模式)
译
码
/Y0-i 去存储器
器
/XMENR /XMEMW
系统总线
/XIOR
/XIOW
接口
译
/Y0-j 去I/O接口
码
器
注:最大模式下系统的控制总线来源于总线控制器8288和
DMA总线仲裁逻辑
输出接口
外存接口
数字化存储示 终端 波器,数字化 调制解调器
万用表 TTY 电传机
A/D转换器 开关量输入
D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示
光笔 图形输入 激光打印 液晶显示
声音输入 喷墨打印 绘图仪
扫描仪
X-Y记录仪
硬盘 软盘 光盘 磁带
3.1 I/O端口
一。IO端口及其编码方式 1. IO端口 端口是接口电路中能被CPU直接访问的寄
优点:存储器和外设都有自己的地址译码器,地址空 间独立,互不影响。用专用的I/O 指令访问I/O 端口。
三。 独立编址方式的端口访问
输入指令: IN AL, n ; n 为8位IO端口地址 IN AL, DX ; 16位地址用DX间址
输出指令: OUT n, AL OUT DX, AL
1. IO地址宽度 IO地址在00H00H-FFFFH,称为16位地址宽度
&
A0-i
/Y0
译
I读 8个
1个存储单元(8bit)
&
A0~i 译 /Y0
码 器
I读 8个
/CS
/Yn 内部选中线,
用于选中1个
IO端口
D0-7
接自外部译码 存储器或IO接口芯片内部读写控制原理图(1) 器“选中”线
同时控 制8个3 态门
/WR
8个 &
I写
/RD
1个存储单元(8bit)
XA0-i
外 部 译
XAi+1~9 码
器
说明: ➢ 不论IO地址宽度是8位,还是16位,都 可以用DX间 接寻址; ➢ 只有IO地址是8位宽度才能直接寻址。 2. IO 数据宽度 • 当一次传输1个端口数据,即8位数据时,用AL累加器 • 当一次传输连续2个端口数据,即16位时,用AX累加器
3.3 IO端口地址分配
一。IO接口硬件分类 • 系统板(主板)上的IO芯片(如定时器,并口等等) • IO扩展槽上的接口控制卡(声卡、网卡、软驱卡、显 卡)
芯片(就是打开芯片内部译码器)。
(2). 低位地址线直接连接到 I/O 接口芯片,由内部 译码器实现选中存储单元或IO端口。
例如:8255内部有四个端口寄存器,则至少要留出 2低位地址线用于8255内部寻找寄存器
XA0-i
外 部 译
XAi+1~9 码
器
同时控 制8个3 态门
/WR /RD
8个 &
I写
3.1 I/O地址空间
• 和存储器地址空间一样,IO地址空间 也是一片连续的地址单元。
• 地址单元可以被任何外设使用,但不 可以地址冲突。
• 和存储单元一样,都是以数据字节来 组织的。
CPU 系统总线接口
内存 内存接口
系统总线:地址总线XA19-0,数据总线XD7-0,控制总线/XIOR ……
智能仪器接口 通信接口 过程控制接口 输入接口
原理:译码器根据地址和控制信号,产生选中信号。不 同的地址控制组合,最多只可能使一根“选中”信号有 效,该有效的选中信号用于打开它所连接的IO接口芯 片的数据线与系统线的通路总开关。
地址信号 控制信号
地址译码器
“选中” 信号
“地址”信号 线
“控制”信号 线
“选中”信号 线
在这一段时间, 3个控制信号没 有同时有效,译 码器“选中”信 号线输出全部无 效
XD0-7
控制线始 终保持有 效或不带 控制线
单个端口IO芯片(如373)内部读写控制原理图
二。 I/O 端口地址译码方法:
2. 多端口芯片(内部带译码器)由地址信号和 控制信号的不同组合实现。其原则是:
(1). 高位地址与CPU 的控制信号组合,经外部译码电 路产生 I/O 接口芯片的片选信号( /CS ),实现选中
XREADY XD7-0
XIOR
来自0025H号IO端口的数据 11H
从IO端口读出数据(IN AL,0025H)时系统总线 时序( (25H端口)=11H)
同时控 制8个3 态门
/XIOW /XIOR XA0-15
& G
8个
I写
1个存储单元(8bit) D0-7
&
外 /Y 部 译 码 器
I读 8个 OE
CLK
T1 T2 T3、TW T4
XA15-0
0026H 0026H号IO端口地址
XREADY XD7-0
XIOW
来自CPU内AL中的数据 22H
向IO端口写数据时(OUT 0026H,AL)系统总线时序 (假设(AL)=22H)
CLK
T1 T2 T3、TW T4
XA15-0
0025H
0025H号IO端口地址
存器的地址。计算机给接口电路中的每 个寄存器分配一个地址。 2.IO操作 指CPU对设备相关的IO端口的访问操作 ,而不是对IO设备的操作
二。IO端口地址编码方式 1、统一编址方式 端口地址与存储器地址统一编址
CPU
AB
译
Y0---i 去存储器芯片
码
器
Yi+1---j 去I/O接口芯片
WR RD
控制信号有效时, 地址000时,仅 /IOY0有效。其 余选中线全无效
01 00 00
01
11 00
0
1
01
0
0
11
1
1
11
二。 I/O 端口地址译码方法: 1.简单接口芯片,只含有一个端口,内部不带带译 码器,译码器设计原则:
由“IO地址”信号和“IO读/写”控制信号的不同 组合实现。控制芯片内寄存器的入口或出口开关。
二。IO端口地址分配 参看表3.1 表3.2
三。IO端口地址选用的原则 ➢被系统配置已经占用的不可用 ➢计算机厂家声明保留的地址不要使用 ➢一般IBM实验卡用300H-31FH。
3.4 I/O 端口地址译码
一。IO地址译码电路工作原理及作用
• 输入信号:地址信号,控制信号
• 输出信号:“选中”信号。