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端口地址译码技术

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地址译码

实验一I/O地址译码一.实验内容:1.实验电路如图所示。
74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
2.接线:Y4/IO地址接CLK/D触发器Y5/IO地址接CD/D触发器D/D触发器接SD/D角发器接+5VQ/D触发器接逻辑笔二.实验目的:掌握I/O地址译码电路的工作原理三.实验仪器:TPC-ZK实验系统中的IO地址、D触发器、逻辑笔模块USB核心板HQFC集成开发环境四.实验总体思路:实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。
例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。
编写实验程序:CODES SEGMENTASSUME CS:CODESSTART PROC NEARMOV DX,2A0HOUT DX,ALCALL DELAYMOV DX,2A8HOUT DX,ALCALL DELAYJE STARTDELAY PROC NEARMOV BX,200LL:MOV CX,0L:LOOP LDEC BXJNE LLRETDELAY ENDP五.实验步骤:1、将实验板安好,连接至电脑。
2、开启电源,运行HQPC,查找接口3、点击USB接口存在,进入USB微机接口开发环境4、输入程序,编译源程序5、无误后调试、运行程序六.实验结果:程序正确运行后,灯L7闪烁发光(亮、灭、亮、灭……)七.实验心得:(包含所遇到的问题及解决方法)备注:所有文字一律采用小四,宋体。
第3章-IO地址译码

主要优点: (1) I/O端口地址不占用存储器空间; (2) I/O指令短,执行速度快;
FFFFH
(3) I/O操作和存储器操作层次清晰,程序的可读性强。
缺点:
I/O指令种类有限, I/O空间不易扩展
2、统一编址(存储器映象方式)
地址 0000H ... 0100H 00FFH ...
I/O空间 (256个) 整 个 地 址 空 间
四、DMA传送方式
工作原理 由外设与计算机内存直接进行数据交换,而不是通 过CPU; 在DMA传送期间,DMA控制器接管了总线控制权,而 CPU处在停机方式,即处于等待状态; 在DMA传送完成后,CPU再恢复对总线的控制权,进 入工作状态。 CPU 特点 数据的传送不经过CPU。 RAM 外设 要求 DMA 需要DMA控制器及相关逻辑支持。 控制器 应用 适用于高速度大量数据传送时。
2、C语言I/O语句
C语言有强大的I/O操作功能,利用c语言可方便地设计操作 界面,同时也可以对外设进行直接控制. 端口输出 outportb(port,value) //从port端口输出字节型数据 value outportw (port,value) //从port端口输出字型数据value
了解I/O端口地址分配 对接口设计者非常重要。 一、64K I/O地址映像图 I/O地址线:16位 I/O端口地址空间:64K 分为两部分。 ① 留给微机系统和ISA总线 地址固定 ② 留给PCI总线,主板功能和用户应用 地址动态分配
① 0000H~03FFH
② 0400H~FFFFH
3.3
I/O端口地址分配
第3章基本的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独立编址的特点(续) 缺点:
第二章 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即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
掌握I/O地址译码电路的工作原理。
二、实验原理和内容
实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
注意:命令中的端口地址 D820、D82A 是根据PCI卡的基址再加上偏移量计算出来的,不同的微机器PCI卡的基址可能不同,需要事先查找出来。
计算公式如下:计算出的地址查找出的PCI卡的基址+偏移量;(其中:偏移量 =2A0H - 280H或 2A8H –A80H)
图1
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
三、编程提示
1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。
2、由于TPC卡使用PCI总线,所以分配的IO地址每台微机可能都不同,编程时需要了解当前的微机使用那段IO地址并进行设置,获取方法请参看汇编程序使用方法的介绍。
(也可使用自动获取资源分配的程序取得中断号)。
四、实验代码
CODE SEGMENT
ASSUME CS:CODE
START:
LOOP1:
MOV CX,0FFFFH
LP1:
MOV DX,2AOH
IN AL,DX
LOOP LP1
MOV CX,0FFFFH
LP2:
NOP
LOOP LP2
MOV CX,0FFFFH
LP3:
MOV DX,2A8H
IN AL,DX
LOOP LP3
MOV CX,0FFFFH
LP4:
NOP
LOOP LP4
MOV AH,0BH
INT 21H
CMP AL,0
JZ LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START
五、实验总结
通过实验,了解和掌握I/O地址译码电路的工作原理,熟悉汇编代码的编写。
实验中,连接电路,利用代码控制实验电路,深对课本理论的理解。