《IO端口地址译码》
合集下载
第2章 I0端口地址译码技术

申明保留的地址,不要使用 用户可使用300H--31FH地址
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
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
第3章 端口地址译码技术

的接口卡发生冲突,最好采用DIP开关进行地址设置。
可通过“附件”→“系统信息”→“硬件资源”→“I/O” 选项来查看 I/O 端口的地址分配状况
12
2.3 I/O端口地址译码
(1) 基本概念与原理
基本概念
▲当执行I/O指令时,CPU首先在总线上发出要访问的端口地
址和必要的控制信号,然后通过一个译码电路将这些信号 转换为相应的I/O端口选通信号。
23
A2 A3 A4
A B C
Y0 Y1 Y2 Y3 2F0H~2F3H 8255A
A8
G2B G2A G1
Y4 Y5 Y6 Y7 74LS138 A0 A1 CS
M/IO# AEN
A5 A6 A7 A9
A0 A1
地址 2F0H 2F3H
A9 1 1 G
A8 0 0 G2B
A7 1 1
A6 1 1 G
能弱,程序设计灵活性差。增加了控制逻辑的复杂性。
6
(3) 独立编址下的I/O指令
指令类型
▲IN:从I/O端口读入数据到微处理器的累加器中。
▲OUT:将微处理器累加器中的数据写入到I/O端口。
注意:数据只在累加器(AX或AL)和端口间进行传递。
原则:传输字节数据时使用AL;传输字数据时使用AX。
基本内容
▲I/O端口与内存单元统一进行地址分配,使用统一的指令访问
I/O端口或者内存单元。又称存储器映射编址方式。
▲Motorola公司的68系列、Apple系列微机即是统一编址。
地址空间 0
内存地址 ( 共960K)
EFFFFH F0000 H I/O 地址 ( 共64K) FFFFFH
3
优点
03第03章 IO端口地址译码技术

4
一、I/O端口和I/O操作
I/O操作是指对I/O端口的操作,而不是对 I/O设备的操作,即CPU访问的是与I/O设 备相关的端口,而不是I/O设备本身。
5
举例:
30h
发送 传送
命令寄存器
31h
CPU
数据寄存器
32h 读取
状态寄存器
CPU与I/O端口
6
二、端口地址编址方式
1.统一编址 端口地址和存储器地址统一编址,即存储器 映射方式。 优点:指令类型多、功能齐全; 端口有较大的编址空间。 缺点:端口占用地址空间,使存储器容量减少; 指令长度及执行时间较长。
13
表3.1 系统板上接口芯片的端口地址
I/O芯片名称 端口地址 DMA控制器1 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
端口地址 200~20FH 370~37FH 270~27FH 3F8~3FFH 2F0~2FFH 300~31FH 3A0~3AFH 380~38FH 3B0~3BFH 3D0~3DFH 3C0~3CFH 1F0~1FFH 3F0~3F7H 360~36FH 15
二、I/O端口地址分配
1.
PC微机I/O地址线有16根,对应的I/O端口编址可达 64K字节。 端口地址译码是采用非完全译码方式,即只考虑了 低10位地址线A0~A9,而没 有考虑高6位地址线 A10~A15。 I/0端口地址范围是0000H~03FFH,总共只有1024个 端口。 凡是被系统配置占用了的地址一律不能使用; 对计算机厂家申明保留的地址,不要使用; 用户可使用300H--31FH地址,且最好使用地址开关。
I-O端口地址译码技术

I/O端口地址译码技术
统一编址的主要优点:一是对任何存储器操作指令都可用 于操作I/O接口,而不必使用专用的I/O指令,系统中存储器操 作指令是丰富多彩的,可以大大增强系统的I/O功能,使访问外 设端口的操作方便、灵活、不仅可对端口进行数据传送,还可 对端口内容进行移位和算术逻辑运算等;二是可以使外设数目 或I/O寄存器数目只受总存储容量的限制,从而大大增加系统的 吞吐率,这在某些大型控制或数据通信系统等特殊场合是很有 用的;三是使微机系统的读/
主要缺点:一是端口地址占用了存储器地址,使可用的内 存空间相对减少;二是由于地址位数长,访问内存的指令一般 较长,执行速度较慢;三是为了识别一个I/O端口,必须对全部 地址线译码,这样不仅增加了地址译码电路的复杂性,而且使
统一编址方式在单片机中得到广泛应用,而在通用型的计 算机系统中已经不再使用。
I/O端口地址译码技术
I/O端口地址译码技术
同时,由于使用专门的I/O指令访问端口,并且I/O端口地 址和存储器地址是分开的,故I/O端口地址和存储器地址可以 重叠,而不会相互混淆。并且由于存储器与I/O端口的控制结
这种方式的缺点是专用I/O指令类型少,远不如存储器访 问指令丰富,使程序设计的灵活性较差;且使用I/O指令一般 只能在累加器和I/O端口间交换信息,处理能力不如存储器映 像方式强;尤其是要求处理器能提供存储器读/写及I/O端口读/ 写两组控制信号,这不仅增加了控制逻辑的复杂性,而且对于 引脚线本来就紧张的CPU芯片来说不能不说是一个负担。
OUT PORT,AL
其中,PORT是一个8位的字节地址。
I/O端口地址译码技术
例如:
IN AL,60H;60H为系统板8255A的PA
OUT 61H,AL;61H为系统板8255A的PB
接口多媒体第二章IO端口译码

Байду номын сангаас
2.3 I/O用端口地址译码
如何把来自地址总线的地址代码翻译成 所要访问的端口(寄存器)? CPU为了对I/O端口进行读写操作,就需 确定与自己交换信息的端口(寄存器), 那么,是通过I/O地址译码电路把来自地 址总线上的地址代码翻译成为所需要访 问的端口(寄存器)。
I/O地址译码电路工作原理及作用
例如:输入时 MOV DX ,300H ;I/O端口 IN AL,DX ;从端口读数据到AL MOV (DI),AL ;将数据从AL→存储器 输出时 MOV DX , 301H ; I/O 端 口 MOV AL , [SI] ; 从 内 存 取 数 到 AL OUT DX,AL ;数据从AL→端口
若用双字节地址作为端口地址,则最多 可访问64K个端口。(间接寻址方式) MOV DX,300H ;300H为扩展板 8255A的 PA端口 IN AL,DX MOV DX,301H;301H为扩展板 8255A的PB端 OUT DX , AL
[2]I/O端口访问 所谓对端口的访问就是CPU对端口的读/写。而 通常所说的微处理器CPU从端口读数据或向端 口写数据,仅仅是指I/O端口与CPU的累加器之 间的数据传送,并未涉及数据是否传送到存储 器(RAM)的问题。若要求输入时,将端口的 数据传送到存储器,则除了把数据读入CPU的 累加器之外,还要将累加器中的数据再传送到 内存。或者相反,输出时,数据从存储器先送 到CPU的累加器,再从累加器传送到I/O端口。
缺点是: (1)专用I/O指令增加指令系统复杂性且 I/O指令类型少 (2)程序设计灵活性较差 (3)要求处理器提供MEMR/MEMW和 IOR/IOW两组控制信号增加了控制逻辑 的复杂性。
PC系列I/O端口访问
2.3 I/O用端口地址译码
如何把来自地址总线的地址代码翻译成 所要访问的端口(寄存器)? CPU为了对I/O端口进行读写操作,就需 确定与自己交换信息的端口(寄存器), 那么,是通过I/O地址译码电路把来自地 址总线上的地址代码翻译成为所需要访 问的端口(寄存器)。
I/O地址译码电路工作原理及作用
例如:输入时 MOV DX ,300H ;I/O端口 IN AL,DX ;从端口读数据到AL MOV (DI),AL ;将数据从AL→存储器 输出时 MOV DX , 301H ; I/O 端 口 MOV AL , [SI] ; 从 内 存 取 数 到 AL OUT DX,AL ;数据从AL→端口
若用双字节地址作为端口地址,则最多 可访问64K个端口。(间接寻址方式) MOV DX,300H ;300H为扩展板 8255A的 PA端口 IN AL,DX MOV DX,301H;301H为扩展板 8255A的PB端 OUT DX , AL
[2]I/O端口访问 所谓对端口的访问就是CPU对端口的读/写。而 通常所说的微处理器CPU从端口读数据或向端 口写数据,仅仅是指I/O端口与CPU的累加器之 间的数据传送,并未涉及数据是否传送到存储 器(RAM)的问题。若要求输入时,将端口的 数据传送到存储器,则除了把数据读入CPU的 累加器之外,还要将累加器中的数据再传送到 内存。或者相反,输出时,数据从存储器先送 到CPU的累加器,再从累加器传送到I/O端口。
缺点是: (1)专用I/O指令增加指令系统复杂性且 I/O指令类型少 (2)程序设计灵活性较差 (3)要求处理器提供MEMR/MEMW和 IOR/IOW两组控制信号增加了控制逻辑 的复杂性。
PC系列I/O端口访问
IO端口地址译码PPT课件

同步通信卡1
3A0H~3AFH
同步通信卡2
380H~38FH
单显MDA
3B0H~3BFH
彩显CGA
3D0H~3DFH
彩显EGA/VGA
3C0H~3CFH
硬驱控制卡
1F0H~1FFH
软驱控制卡
3F0H~3F7H
PC网卡
360H~36FH
.
本章7首页
5.2.3 I/O端口地址译码
1. I/O地址译码电路工作原理及作用
.
本章12首页
本章要点
端口的概念 端口的地址编址方式及其特点 I/O端口地址选用的原则 掌握I/O端口地址译码电路的工作原理 I/O端口地址译码电路的设计与分析
.
本章13首页
片间选择:高位地址+控制信号
译码电路
片选信号
高位地址、 低位地址的划分
片内端口选择:低位地址直接与接口芯片地址线相连
.
本章8首页
5.2.3 I/O端口地址译码(续)
3. I/O端口地址译码电路设计
A9
地址范围:n根地址线未参与译码,译出地址含2n个 1)固定式端口地址译码 门电路译码法——单个地址或地址范围
微机原理与接口
(第5章)
信息工程学院 电子信息工程教研室
.
1
5.2 I/O端口地址译码技术
主要内容
5.2.1 I/O端口及其编址方式 5.2.2 I/O端口地址分配 5.2.3 I/O端口地址译码
.
2
5.2.1 I/O端口及其编址方式
1. I/O端口和I/O操作
1)I/O端口
端口(port):是接口电路中能被CPU直接访问的寄存器。
C
Y0
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 ……
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
端口的种类:数据口、状态口、命令口
2)I/O操作
本质:I/O端口的操作
2. 端口地址编址方式
1)统一编址(存储器映象方式)
Motorola系列、 Apple系列、 部分小型机
原则: M与I/O共用整个地址空间;I/O端口与存储单 元等同——M与I/O地址不重叠
优点: I/O 可有较大编址空间,易扩展;
3. I/O端口地址选用原则
1)凡是系统配置占用了的地址一律不能使用 2)计算机厂家申明保留的地址最好不要使用 3)可用留作实验卡的地址:300H~31FH;最好用地址开关
整理课件
本章6首页
I/O端口地址分配表
系统板上接口芯片的端口地址
I/O芯片名称 端口地址
DMA控制器1 DMA控制器2 DMA页面寄存器
000H~00FH 0C0H~0DFH 080H~09FH
中断控制器1 中断控制器2
020H~03FH 0A0H~0BFH
定时器
040H~05FH
并行接口(键盘) 060H~06FH
RT/CMOS RAM 070H~07FH
协处理器
0F0H~0FFH
扩展槽上接口控制卡的端口地址
I/O接口名称
端口地址
微机原理与接口
(第5章)
信息工程学院 电子信息工程教研室
整理课件
1
5.2 I/O端口地址译码技术
主要内容
5.2.1 I/O端口及其编址方式 5.2.2 I/O端口地址分配 5.2.3 I/O端口地址译码
整理课件
2
5.2.1 I/O端口及其编址方式
1. I/O端口和I/O操作
1)I/O端口 端口(port):是接口电路中能被CPU直接访问的寄存器。
A1 1 A0 1 AEN 1
当其3个译码控制端都为有效,即:G1=1,G2A= IOR 1 G2B=0时,它的8个译码输出端(Y0~Y7)有且只有一 个为有效(低电平),有效引脚的编码由输入选择信
号C、B、A决定;即:CBA=i,则Yi=0(i=0~7)
& 74LS30
74LS32 1 Y
& 74LS20
DX ,PORTS AL ,DX AL ,80H WAIT DX ,PORTD AL ,BUF DX ,AL
;读取状态字,判断READY=1? ;READY=0,等待
;将数据输出到端口PORTD
整理课件
本章5首页
5.2.2 I/O端口地址分配
1. I/O接口硬件分类
1)系统板上的I/O芯片 定时/计数器、中断控制器、DMA控制器、并行接口等
例:PC机系统板上的端口地址译码电路(为每个接口芯片分配一个含有32个地 址的地址范围)
DMA操作
2)地址译码电路的输出信号
输出信号:低电平有效
2. I/O地址译码方法
片间选择:高位地址+控制信号
译码电路
片选信号
高位地址、 低位地址的划分
片内端口选择:低位地址直接与接口芯片地址线相连
整理课件
本章8首页
5.2.3 I/O端口地址译码(续)
3. I/O端口地址译码电路设计
地址范围:n根地址线未参与译码,译出地址含2n个
原则: M与I/O分开编址、互不干扰——M与I/O 地址不重叠
优点: M空间不受I/O空间影响;有专用I/O指令 (程序清晰);I/O指令短,执行速度快
缺点: I/O指令种类有限, I/O空间不易扩展
3. 独立编址方式的端口访问
... ...
地址 00H I/O空间 FFH (256个)
PC系列、 Z-80系列
游戏控制卡
200H~20FH
并行口控制卡1 并行口控制卡2
370H~37FH 270H~27FH
串行口控制卡1 串行口控制卡2
3F8H~3FFH 2F8H~2FFH
原型插件板(用户可用) 300H~31FH
同步通信卡1 同步通信卡2
3A0H~3AFH 380H~38FH
单显MDA 彩显CGA
3B0H~3BFH 3D0H~3DFH
彩显EGA/VGA
3C0H~3CFH
硬驱控制卡
1F0H~1FFH
软驱控制卡
3F0H~3F7H
PC网卡
360H~36FH
整理课件
本章7首页
5.2.3 I/O端口地址译码
1. I/O地址译码电路工作原理及作用
1)地址译码电路的作用 作用:地址+控制信号 逻辑组合 接口芯片的选择信号
常用控制信号:SHBE、I/OCS16 、AEN、IOR 、IOW AEN=0:避免在DMA期间,由DMA控制器对这些以非DMA方式传送的端口执行
2)I/O扩展槽上的接口控制卡 软驱卡、硬驱卡、声卡、视卡等
2. I/O端口地址分配
PC微机I/O地址:A0~A15,非完全译码,地址空间(1KB):000~3FFH PC机:前512个(A9=0)分配给系统板;后512个( A9=1)分配给扩展槽 AT机:前256个(00H~FFH)分配给系统板;后768个分配给扩展槽 具体分配如表所示
OUT PORT ,AX
OUT DX ,AX
本章4首页
5.2.1 I/O端口及其编址方式(续)
2)I/O端口访问
设某输出设备的状态READY(高有效)可由端口PORTS中读出(D7位),数据端口 地址为PORTD,编写程序段,将内存中BUF单元的内容输出给该设备。
WAIT: MOV IN AND JZ MOV MOV OUT
I/O操作指令类型多、功能齐全;
地址
0000H I/O空间
...
00FFH 0100H
(256个)
空整 间个
地
M空间
址
...
(65280个) (64KB)
缺点: M的地址空间受限; I/O指令较长,执行速度较慢 整理课件
FFFFH
本章3首页
5.2.1 I/O端口及其编址方式(续)
2)独立编址(I/O映象方式、专用I/O指令方式)
地址 0000H
M空间 (64KB)
1)I/O指令
FFFFH
输入 IN AL ,PORT IN AL ,DX IN AX ,PORT IN AX ,DX
注意事项 PORT范围(长格式):00H~FFH
数据寄存器:AL/AX 端口间址寄存器(短格式):DX
整理课件输出ຫໍສະໝຸດ OUT PORT ,ALOUT DX ,AL
1)固定式端口地址译码 门电路译码法——单个地址或地址范围 例:图中译码输出地址2FH(只读、AEN=0)
A9 A8 1 A7 A6 A5 A4
? 试分析将图中的A1、A2去掉后,译码输出的地址 译码器(以74LS138为例)译码法——多个地址
A3 A2 1
或地址范围 三——八译码器74LS138的逻辑功能: