第二章IO端口地址译码技术
第2章IO端口地址译码技术培训教材
译码方法
**端口奇偶地址(SBHE)
低位地址部分:连到接口电路以区分内部和端口地址
高位地址部分:组合控制信号产生接口的选择信号cs
地址线 控制信号线
译码 电路
接口选择线 内部端口选择线
计算机科学学院
固定式译码
所谓固定是指接口中用到的端口地址不能更改
接口中只有一个端口时可采用门电路构成。 接口中有多个端口时一般采用译码器电路构成,常见的译码 器有74LS138、74LS154等。
外设占用了内存单元,使内存容量减小。
计算机科学学院
独立编址
I/O端口地址空间与存储器地址空间相互独立。
计算机科学学院
独立编址(续)
这种方式的优点是: (1)MEM地址空间不受I/O端口地址空间影响; (2)端口数量不多,占用地址线少,地址译码简单,速度较快; (3)访问端口和MEM和指令有明显区别,便于理解和检查。
源RAM地址用ES:DI(EDI)/DS:SI(ESI)指定。 EFLAG寄存器中DF位来决定地址加和减。 结果:通过前缀REP在I/O端口和连续的存储器空间 之间传送数据。
计算机科学学院
I/O端口的地址分配
I/O接口硬件分类
系统板上I/O芯片和I/O扩展槽接口卡。
I/O端口地址分配
PC系列I/O地址线有16根,对应64K空间; I/O端口译码只使用了A0-A9,共1024个端口; 地址范围为0000H~03FFH。
第二章 I/O端口地址译码技术
❖ I/O端口及其编址方式 ❖ I/O端口地址分配 ❖ I/O端口地址译码 ❖ GAL器件在I/O端口地址译码中的应用
计算机科学学院
I/O端口
端口:接口电路中能被CPU直接访问的寄存器的地址。
端口地址译码 课件
端口编址方式( 二、 I/O端口编址方式(统一、独立) 端口编址方式 统一、独立)
1. I/O统一编址(存储器映象 编址) 统一编址( 编址) 统一编址 存储器映象I/O编址 一个I/O端口等同于一个存储器单元。存储单元和 一个 端口等同于一个存储器单元。存储单元和I/O 端口等同于一个存储器单元 端口统一编址。 端口统一编址。 优点: 优点: 1)对I/O端口的访问命令与对存储器单元访问相同, ) 端口的访问命令与对存储器单元访问相同, 端口的访问命令与对存储器单元访问相同 不必使用专用I/O指令 指令; 不必使用专用 指令; 2)外设数目或 寄存器数几乎不受限制。 寄存器数几乎不受限制。 )外设数目或I/O寄存器数几乎不受限制 3)微机系统读写控制逻辑较简单。 )微机系统读写控制逻辑较简单。 缺点: 缺点: 1)I/O端口占用部分 端口占用部分MEM空间,可用 空间, 空间减小; ) 端口占用部分 空间 可用MEM空间减小; 空间减小 2)对MEM访问指令较长,执行速度较慢; 访问指令较长, ) 访问指令较长 执行速度较慢; 3)I/O端口地址译码时间较长。 ) 端口地址译码时间较长。 端口地址译码时间较长
返回28页
扩展槽I/O接口卡端口地址 扩展槽 接口卡端口地址(0100H-03FFH):表2-2 接口卡端口地址 :
I/O接口名称 接口名称 游戏控制卡 并行口控制卡1 并行口控制卡 并行口控制卡2 并行口控制卡 串行口控制卡1 串行口控制卡 串行口控制卡2 串行口控制卡 原型插件板(用户可用 原型插件板 用户可用) 用户可用 同步通信卡1 同步通信卡 同步通信卡2 同步通信卡 单显MDA 单显 彩显CGA 彩显 彩显EGA/VGA 彩显 软驱控制卡 硬驱控制卡 PC网卡 网卡
端口地址选用原则: 三、用户I/O端口地址选用原则: 用户 端口地址选用原则 1)系统配置占用的端口地址一律不能用; )系统配置占用的端口地址一律不能用; 2)厂家声明保留的端口地址不要用; )厂家声明保留的端口地址不要用; 3)其余端口地址可用,为避免冲突最好采用 )其余端口地址可用,为避免冲突最好采用DIP。 。
输入输出端口地址译码技术
I/O端口地址选用的原则
只要设计 I/O 接口电路,就必然要使用端口地 址。为了避免端口地址发生冲突,在选用 I/O 端口 地址时要注意: ①凡是被系统配置所占用了的地址一律不能使用; ②原则上讲,未被占用的地址,用户可以使用, 但对计算机厂家申明保留的地址,不要使用,否则, 会发生I/O端口地址重叠和冲突,造成用户开发的 产品与系统不兼容而失去使用价值; ②一般,用户可使用300~31FH地址,用户可以使 用。但是,由于每个用户都可以使用,所以在用户 可用的这段I/O地址范围内,为避免与其他用户开 发的插板发生地址冲突,最好采用地址开关。
统一编址优点: 1、由于对I/O设备的访问是使用访问存储 器的指令,所以指令类型多,功能齐全,这不仅 使访问I/O端口可实现输入/输出操作,而且还 可对端口内容进行算术逻辑运算,移位等等; 2、另外,能给端口有较大的编址空间,这对 大型控制系统和数据通信系统是很有意义的。 这种方式的缺点是端口占用了存储器的地址 空间,使存储器容量减小,另外指令长度比专门 I/O指令要长,因而执行速度较慢。
; I/O端口 ;从端口读数据到AL ;将数据从AL存储器
; I/O端口 ;从内存取数到AL ;数据从Al送端口
I/O端口地址分配
对于接口设计者来说,搞清楚系统I/O端 口地址分配十分重等。因为要把新的I/O设备 加入到系统中去就要在I/O地址空间中占一席 之地。哪些地址已分配给了别的设备,哪些 是计算机制造商为今后的开发而保留的,哪 些地址是空闲的,了解了这些信息才能为我 所用。下面以IBM-PC系列为例来分析I/O 端口地址分配情况。
Байду номын сангаас 2.I/O操作
通常所说的I/O操作是指对I/O端 口的操作,而不是对I/O设备的操作, 即CPU所访问的是与I/O设备相关的端口, 而不是I/O设备本身。
第二章IO端口地址译码技术
12:28
2
一、 I/O端口及I/O操作(续)
3.命令、接口与I/O端口关系
一个接口中有多个I/O端口; 一个I/O端口可接受多种命令,对应多个寄存 器。
4、I/O操作
通常所说的I/O操作是指对I/O端口的操作,而 不是对I/O设备的操作,即CPU所访问的是与I/O 设备相关的端口,而不是I/O设备本身。
&
A0
AEN IOR
IOW12:28
1
1 Y (读)
1 Y (写)
27
分析门电路译码电路
A9
A8
&
A7
A6
1
A5 A4
A3
A2
1
A1 AEN
协处12理:28 器
00F0-00FFH
17
扩展槽I/O接口卡端口地址(0100H-03FFH):
I/O接口名称
地址范围
游戏控制卡
0200-020FH
并行口控制卡1
0370-037FH
并行口控制卡2
0270-027FH
串行口控制卡1
03F8-03FFH
串行口控制卡2
02F8-02FFH
原型插件板(用户可用)
第二章 I/O端口地址译码技术
外部设备选择功能是接口电路应具备的基本功 能之一,因此,作为进行设备端口选择的I/O 端口地址译码电路是每个接口电路中不可缺少 的部分。
本章主要讨论: I/O端口基本概念 I/O端口基本原理、基本方法 I/O端口译码电路的设计
12:28
1
§2.1 I/O端口及其编址方式
I/O端口地址和存储器地址可以重叠而不会相 互混淆。
12:28
7
2.I/O独立编址的特点(续) 缺点:
第02章 IO端口地址译码技术
故不设状态口。
② 端口的数目设置:与接口电路的规模和功能有关。 (4)端口的共用技术 一般情况下,一个端口只允许接纳一种信息,但有些接口 芯片允许同一端口既作命令口用,有作状态口用,或允许向同
一命令口写多个命令字,这就产生了端口共用问题。
当多个命令字写到同一命令口时,命令寄存器采用以下办 法来识别不同的命令:
3
第2章 I/O端口地址译码技术
(1)在命令字中设置特征位或设置专门的访问位,根据特征位 来识别不同的命令(8255)。 (2)在编写初始化程序时,按先后顺序向同一端口写不同的命 令字,命令寄存器就根据这种先后顺序的约定来识别不同 的命令(8251)。 (3)有的是采用两种方法相结合的手段来解决端口的共用问题 (8259)。 2、端口的编址 (1)外设端口和存储器统一编址 ① 在这种编址方式中, 将存储器空间分出一部分给外设 端口,CPU对存储器的访问或对外设的访问使用同一个 操作指令。例如与存储器交换数据用MOV传送指令,与 外设交换数据也用MOV传送指令,是访问存储器还是访 问外设,用不同的地址加以区别。
指令加以区别。因此这种编址方式又称为覆盖编址方式。
5
第2章 I/O端口地址译码技术
② 优点:是不占用存储器地址,因而不会减少存储器容量,专门的 I/O指令比存储器指令执行速度快, 并且与存储器指令区 别明显,从而使程序中的I/O操作清晰,可读性强。 ③ 缺点:是这种方式只能传送数据而无算术或逻辑运算功能。 (3)独立编址方式的端口访问 单字节——当端口地址为单字节宽度时,采用直接寻址方式(AL,AX) 最多可访问256个端口,系统主板上接口芯片的端口。 例:IN AL,port; 将port端口内容送AL IN AX,port; 将port和port+1端口内容送AX OUT port,AL; 将AL内容输出到port端口 OUT port,AX; 将AX内容送port和port+1端口 双字节——当端口地址宽度为双字节宽度时采用间接寻址方式(DX) 最多可访问216,64K 个端口,I/O扩展槽的接口控制卡上 的端口。 例:MOV DX,port IN AL,DX ;将DX指向的端口中读一个字节送AL MOV DX,port IN AX,DX ;将DX和DX+1指向的2个端口组成一个字送AX
第二章端口地址译码(修)
第二章端口地址译码(修)第二章 I/O端口地址译码技术2.1 I/O端口及其编址方式一、I/O 端口和I/O操作1.I/O端口端口:微处理器与I/O设备直接通信的地址。
CPU只所以能够准确无误地与各个I/O接口芯片或I/O接口逻辑电路进行通信,就是因为各个I/O接口芯片或I/O接口逻辑电路具有各自的端口地址。
2.I/O操作I/O操作:I/O端口的操作;包括,端口的输入操作和输出操作两类。
二、端口地址的编址方式所谓寻址方式就是如何实现对I/O 端口的访问问题。
即称之谓I/O 端口寻址。
1.统一编址方式(存储器映象I/O寻址方式)统一编址:指从存储器空间划出一部分地址空间给I/O接口设备,把I/O接口中的端口视作存储器单元一样的进行访问,不设置专门的I/O指令。
统一编址的特点:⑴ I/O 端口与存储器共用同一地址空间。
在系统设计时,指定某地址空间内的一个区域供I/O设备使用,即每一个I/O端口占用存储器空间的一个地址。
⑵ CPU 对I/O端口的管理,是利用对存储器单元进行操作的指令来实现数据传送的,大大增加了程序设计的灵活性,并使CPU对I/O 设备控制更为方便。
⑶ CPU 通过地址总线的最高位状态和读/写控制命令,确定是对存储器访问还是对I/O端口进行访问。
无论对存储器还是对I/O端口访问,CPU一视同仁地将其视为存储空间的一个单元。
⑷统一编址I/O端口占用了存储器地址空间,使存储器容量减少,此外指令长度比专用I/O指令要长,执行时间也长。
2.独立编址方式独立编址:I/O 端口和存储器分别建立两个地址空间,并且相互独立。
CPU 设置专门的输入/输出指令实现对I/O端口的访问。
独立的I/O编址的特点:⑴ I/O设备的端口地址空间与存储器地址空间完全分开,各自独立。
⑵ CPU 使用各自的控制命令对存储器和I/O设备进行访问控制。
⑶ CPU 对I/O设备的管理是使用专门的输入(IN)和输出(OUT)指令来实现数据传输,而输入/输出数据通道则是共用的总线结构。
第二章 IO译码习题答案
8.有一个2732EPROM(4KX8)芯片的ቤተ መጻሕፍቲ ባይዱ码 电路如下图所示,试求: 1)计算2732芯片的存储容量; 2) 给出2732芯片的地址范围; 3) 是否存在地址重叠区?
① 4KB ②08000H---09FFFH ③存在重叠区 08000H---08FFFH 09000H---09FFFH
思考1: Y2~ Y7 译出的端口地址 各是多少? Y Y Y Y Y Y Y Y
CS
RD WR
即218H时,输出 , 时 输出0, 接口的CS有效 使I/O接口的 有效 接口的 否则输出1 否则输出 接口的CS无效 使I/O接口的 无效 接口的
PC总线 总线
I/O接口 接口
方法一、用门电路实现
D0 ~ D7 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 AEN IOR IOW
I/O接口 I/O接口 PC总线 PC总线
方法二、用译码器、 方法二、用译码器、门电路组合实现
D0 ~ D7 A0 A1 A2 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW
数 据 线 DB
0 0 0 0 1 1 0 0 0 0 1 0 0 &
218 A H
B C G1 G2A & G2B
0 0 0 1 0 &
200~207h 208~20Fh 210~217h 218~21Fh 220~227h 228~22Fh 230~237h 238~24Fh
74LS138 3-8译码器 译码器
PC总线 总线
端口译码电路
3.设计一个译码电路,要求产生 2A8H~2AFH共8个端口地址的选通信 号
Y0 Y1 B Y2 C Y3 G2A Y4 G2B Y5 Y6 G1 Y7 A 74LS138
第二章 IO端口地址译码技术习 题
0 0 0 1 0 &
74LS138 3-8译码器
PC总线
端口译码电路
3.设计一个译码电路,要求产生 2A8H~2AFH共8个端口地址的选通信 号
4.设计端口地址为218H的译码电路
5.分析上图74LS138各输出端的译码地址
A3 A4 A5 +5V A6 A7 A8 A9 AEN IOR IOW
8.有一个2732EPROM(4KX8)芯片的译码 电路如下图所示,试求: 1)计算2732芯片的存储容量; 2) 给出2732芯片的地址范围; 3) 是否存在地址重叠区?
思考1: Y2~ Y7 译出的端口地址 各是多少? Y Y Y Y Y Y Y Y
7 6 5 4 3 2 1 0
1 0 1 0 1 0 1 0 A0 1 1 0 0 1 1 0 0 A1 1 1 1 1 0 0 0 0 A2 0 PC AEN 1 A3 1 总 A4 0 A5 0 线 A6 0 A7 0 A8 1 A9 0 IOR 0 &
218 A HHale Waihona Puke 0 0 0 1 0 &
B C G1 G2A
&
G2B
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
74LS138 3-8译码器
端口译码电路
PC总线
6.某接口电路如下,需设计其译码电路。
/IOR A2~A9 译码 电路 /IOW 300H~303H /CS A0~A1 8255
AEN
7.求74LS138的地址范围?
第二章 I/O端口地址译码技术 习 题
1.已知并行接口芯片8255A有4个端口,片
选信号 CS 为低电平有效。试设计一个 译码电路,使该芯片的4个端口地址为 2F0H~2F3H。
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
第一章第二部分 端口地址及译码技术
3
2.独立编址 这种方式是接口中的端口单独编址而不占用 存储空间,大型计算机通常采用这种方式。有些 微机,如IBM-PC系列也采用这种方式。 这种方式的优点: ①专门的I/O指令对端口操作,可读性好, 指令短,执行速度快。 ②端口单独编址,不会与存储器地址相互混 淆。
4
三、独立编址方式的端口访问 通过I/O指令访问I/O端口 在汇编语言中有I/O指令。用于I/O端口与累加 器(AX、AL)之间的数据传送。 在I/O指令中有单字节地址或双字节地址寻址 方式。用单字节作为端口地址,则最多可访问 256(0~0FFH)个端口。若用双字节地址作为端口地 址,则最多可寻址216=64K个端口。 系统主板上的I/O端口,采用单字节地址。在 I/O扩展槽上的接口控制卡上,采用双字节地址。 I/O指令格式为; 输入 IN AX/AL,PORT/DX 输出 OUT PORT/DX,AX/AL 这里,PORT是一个8位的字节地址。
24
1.地址信号的分析与选择: ①PC机提供的用于I/O端口寻址的地址信号是: A9A8A7A6A5A4A3A2A1A0,共10位。 系统板上A9A8=00
②片内需寻址32个口,共需要低位地址线5根,选 A4A3A2A1A0 ③选A7A6A5作为译码器译码输入信号。
25
2.控制信号的选择
用AEN信号来禁止译码电路在DMA方式下工作。 非DMA操作时AEN=0, DMA操作时AEN=1。
②用A4A3A2信号作为译码输入信号并采用3-8译码器 就能获得8个不同的片选信号,实现在扩展板上对8个 接口芯片的片选。
③地址线A9A8A7A6A5可作为改变地址范围所需的信 号。 31
2. 地址范围可选的处理实现分析:
本例中要求的地址范围可选的含义是:该接口电 路设计成功后,既能用于地址范围300H~31FH,也 能用于其它地址范围,如:200H~21FH。 具体做法是: 把高4位A9A8A7A6接入比较器的A输入端,B输 入端通过开关DIP接入四个预定的输入信号,若二者 相等就会产生FA=B=1信号。并把它作为译码器的G1信 号来控制3-8译码器工作。 本例把DIP接入的信号定为:B3B2B1B0=1100, 这就保证只有在A9A8A7A6=1100时译码器才能工作 。假如需要的地址范围是200H~21FH,那么,就只 要把DIP的接入信号拨定为B3B2B1B0=1000即可。
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位双向缓冲器 • 控制端连接在一起, 低电平有效 • 可以双向导通 • 输出与输入同相
第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
第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
I╱O地址译码
2Q
14
13
12
11
10
9
8
Rd
Q
CP
D Sd Q
D Sd Q
CP
Rd Q
1
2
3
4
5
6
7
1Rd 1D
1CP1Sd1Q1 Nhomakorabea GND
② 逻辑功能 逻辑功能如表所示。
输
Sd Rd
LH HL
LL HH HH
HH
入
CP D
xx xx xx ↑H ↑L
Lx
输出
Q n1 Qn1
HL LH H* H* HL LH
实验一 I/O地址译码
outport1 equ 2a0h outport2 equ 2a8h code segment
assume cs:code start:
mov dx,outport1 out dx,al call delay mov dx,outport2 out dx,al call delay
mov ah,4ch int 21h
delay proc near mov bx,2000
lll: dec bx jne lll ret
delay endp code ends end start
74LS74为带预置和清除端的两组D触发器,其外引线排列如图所示。
Vcc
2 Rd
2D
2CP 2Sd
2Q
Qn Qn
实验二、简单并行接口
编程从键盘输入 一个字符和数字, 将其ASCII码通 过输出口输出, 根据8个发光二 极管发光情况验 证正确性。
用逻辑开关预 置某个字母的 ASCII码,编程 输入这个ASCII 码,并将其对 应字母在屏幕 上显示
第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
第二章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)。
{
I/O端口
IBM PC 系列,Intel 80x86 系列微机 Z80 系列机、大型机
I/O端口地址空间不占用存储器地址空间, 二者的地址空间相互独立完全分开,两者各自有一套独立的地址空间,相互 不会影响。 保护模式的I/O 地址空间,且有保护措施
存储器 FFFFFH
FFFFH
以80x86为例
Port 65535
PC系列机采用独立编址方式
Port 255
07FFFH
00000H
0000H
1MB
Port 3 Port 2 Port 1 Port 0 64KB
Port 1(16位) Port 0 (32位) Port 0(16位)
12
2.1
I/O端口及其编址方式
特点 1)端口地址不占用存储器空间,需独立的I/O 端口地址 译码电路选取I/O端口。 2)需要用专门的I/O指令(IN,OUT)对端口进行操 作,I/O指令短,执行速度快。由于I/O指令和存储 器访问指令有明显的区别,从而使I/O程序便于阅 读,层次清晰。
10
2.1
I/O端口及其编址方式
3)能给I/O端口有较大的编址空间,这对大型控 制系统和数据通信系统是很有意义的。
缺点:
• 端口占用了存储器的地址空间,使存储器容量减小。 • 指令长度比专门I/O指令要长,执行时间较长,降低 了数据交换速度,I/O程序不易读。
11
2.1
I/O端口及其编址方式
2、独立编址
13
2.1
I/O端口及其编址方式
3)使用专门的信号来区分CPU是访问存储器 地址总线上是一个有 还是访问I/O端口。
效的I/O端口地址
8086CPU用 M/IO
{
IN,OUT指令时,M/IO=0 执行访问内存指令时,M/IO=1
地址总线上传送的是一 个访问内存的地址
4)I/O端口地址和存储器地址可以重叠, 不会混淆。
;AL 小时 ;AH 小时
;AL
分
23
2.2
I/O端口地址分配
不同的微机系统其I/O端口地址的分配是不同的。 每一个外设都要占用一定的I/O地址空间。 要把新的I/O设备加入到系统中。 以IBM-PC系统为例来分析I/O端口地址分配情况。
24
2.2
I/O端口地址分配
一、I/O接口硬件分类
分两类: 1、系统板上的I/O芯片:大多数是可编程的大规 模集成电路,如定时 / 计数器,中断控制器, DMA 控 制器,并行接口等。 2、I/O扩展槽上的接口控制卡,由若干个集成电路 按一定的逻辑组成的一个部件,如软驱卡、硬驱卡、 图形卡、声卡、串行通信卡等。
2.1
I/O端口及其编址方式
输出: OUT 61H,AL 或: OUT 61H,AX
;将AL的内容送到端口61H ;AL 61H端口, AH 62H端口
例:
将存储器2100H单元的内容送到83H端口 MOV AL,[2100H] OUT 83H,AL
19
2.1
I/O端口及其编址方式
2、间接方式 :
39
2.2
I/O端口地址分配
三、I/O地址空间的保护 1、I/O特权级保护机制
2.2
I/O端口地址分配
PC机I/O端口地址分配
31
2.2
I/O端口地址分配
PC机I/O端口地址分配
32
2.2
I/O端口地址分配
PC机I/O端口地址分配
2.2
I/O端口地址分配
PC机I/O端口地址分配
34
2.2
I/O端口地址分配
PC机I/O端口地址分配
35
2.2
I/O端口地址分配
PC机I/O端口地址分配
25
2.2
I/O端口地址分配
二、I/O端口地址分配 (高6位未用)。
见P12,P13,表2.1,2.2
PC机的I/O地址线只用了低10根A9~A0 故地此范围0000H~03FFH
(210=1024=1K个端口)
26
2.2
I/O端口地址分配
PC机I/O端口地址分配
在Intel系列微机系统中采用I/O独立编址方式。I/O操作 只使用 20 根地址线中的 16 根 A15~A0 ,可寻址的 I/O 端口 数为 64K(65536) 个。 I/O地址范围为 0000H~FFFFH 。在 IBM-PC机中只使用了1024个I/O端口地址(0~3FFH)。 在目前的微型计算机系统中,系统为主板保留了1024 个端口,分配了最低端的 1024 个地址 (0000H~03FFH) 。 1K 以上的地址 (0400H~FFFFH) 作为用户扩展使用。用户 在设计扩展接口时,应注意不能使用系统已经占用的地址。
16
2.1
I/O端口及其编址方式
I/O端口访问—— CPU对I/O端口读/写。 通常所说的 CPU 从端口读数据或向端口写数 据仅仅是指I/O端口与CPU累加器之间的数据传送, 并未涉及数据是否传送到存储器(RAM)的问题。 当要求输入时,将端口的数据传送到存储器, 除了把数据读入CPU的累加器外,还要将累加器 中的数据再传送到内存。或者输出时,数据从存 储器先送到CPU的累加器,再从累加器传送到I/O 端口。
第二章
I/O端口地址译码技术
CPU 对多个外设进行控制时,是分时进行的, 即在某一时刻仅对一个外设进行控制,对外设的选 择是接口的重要部分,外设选择实际上就是端口寻 址。 I/O端口地址译码电路就是用来对外设进行选择 的,本章主要介绍译码电路的设计。
2
本章主要内容 2.1 I/O端口及其编址方式 2.2 I/O端口地址分配 2.3 I/O端口地址译码 2.4 GAL器件及其在I/O地址译码中的应用
27
2.2
I/O端口地址分配
PC机I/O端口地址分配 如何了解微机系统中已经使用了哪些端口地址?
可以通过 Windows 系统中 “ 控制面板 ” 中的系 统程序查看I/O端口的分配。
28
2.2
I/O端口地址分配
PC机I/O端口地址分配
29
2.2
I/O端口地址分配
PC机I/O端口地址分配
30
6
2.1
I/O端口及其编址方式
端口地址是一种重要资源
PC机I/O端口地址分配
7
2.1
I/O端口及其编址方式
二. 端口地址编址方式
1、统一编址(存储器映射方式)
{
Motorola68、 65系列 Apple系列、 小型机
将存储器空间划出一部分给I/O设备,把I/O接口中的 每一个接口当作存储单元一样进行访问,每一个端口占用 一个存储单元地址。 实模式下I/O地址空间
{
命令口(命令寄存器)--------写口 状态口(状态寄存器)--------读口 数据口(数据寄存器)--------读、写
5
2.1
I/O端口及其编址方式
CPU给每个寄存器分配了一个地址(端 口)。 CPU在访问这些寄存器时,只需指明它 们的端口,不需指出是什么寄存器。 CPU在控制I/O设备时,只需指明与该设 备相关的端口 。 通常所说的I/O操作,是对I/O端口的操 作,而不是对I/O设备的操作,即CPU所访 问的是与I/O设备相关的端口,而不是I/O 设备本身。
北京化工大学 BUCT 信息科学与技术学院 本科课程教学 CSE32502E
微机接口技术
INTERFACE TECHNOLOGY OF MICROCOMPUTER SYSTEMS
本科2009级
主讲教师: 韩阳 Michael 2012-2-23
1
VERSION CSE32502E200901-0304 COPYRIGHT© 2009CSE&MIC 2012.2.13. ALL RIGHTS RESERVED.
; 301H为扩展板8255A的PB端口。 ;从内存取数到AL ;数据从AL输出到端口
22
2.1
I/O端口及其编址方式
例 读取系统CMOS中的时钟信息(时、分): AL 分钟 AH 小时 索引值:00—秒 02—分 04—小时 PC机为系统CMOS及实时时钟(system CMOS / real time clock)分配的I/O端口地址为70H—71H 其中:70H—参数索引端口 71H—数据端口 MOV AL, 04 OUT 70H, AL IN AL, 71H MOV AH, AL MOV AL, 02 OUT 70H, AL IN AL, 71H
3
2.1
I/O端口及其编址方式
一、I/O端口和I/O操作 二、端口地址编址方式 三、独立编址方式的端口访问
返 回4
2.1
I/O端口及其编址方式
一、I/O端口和I/O操作
端口( port )是接口电路中能被 CPU 直接访问 的寄存器的地址。 CPU 通过这些地址(端口)向接口电路中的寄 存器发送命令、读取状态和传送数据。 一个接口可以有几个端口
17
2.1
I/O端口及其编址方式
1、直接方式 :
当端口地址小于255(FFH)时可以用立即数表 示端口地址(系统主板上接口芯片的端口)。 输入: IN AL,60H
例: IN AL,60H MOV [DI],AL ;将(60H) AL, ;将AL的内容送到DI的指出内存单元中
18
;将60H端口(系统板8255A的PA口)的 ;内容送到AL中
36
2.2
I/O端口地址分配
PC机I/O端口地址分配
37
2.2
I/O端口地址分配
PC机I/O端口地址分配
38
2.2
I/O端口地址分配
三、I/O端口地址选用的原则 1、凡是被系统配置两个占用了的地址,和 已保留的地址不能使用。 2、可使用300~31FH地址,是IBM-PC留作 实验卡用的,用户可以使用。