第3章-IO地址译码

合集下载

实验一 IO地址译码器实验

实验一  IO地址译码器实验

计算机科学系实验报告课程名称微型计算机技术及应用实验班级实验名称实验一 IO地址译码器指导教师学生姓名学生学号一、实验目的掌握I/O地址译码电路的工作原理。

二、实验设备1.PC机一台2.专用导线若干3.TPC-H通用微机接口实验系统一台4.MASM汇编及调试程序三、实验原理和内容实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲,执行下面两条指令MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

实验的流程图如下:四、程序代码code segmentassume cs: codestart: mov dx,2a0hout dx,alcall delay ;调延时子程序mov dx,2a8hout dx,alcall delay ;调延时子程序mov ah,1int 16hje start ;无键按下转startmov ah,4chint 21hdelay proc near ;延时子程序mov bx,5lll: mov cx,0ll: loop lldec bxjne lllretdelay endpcode endsend start五、实验现象试验电路中D触发器CLK端输入脉冲时,上升沿使Q段输出高电平L7发光,CD端加低电平L7灭。

本试验用74LS138的Y4端口控制CLK,用Y5端口控制CD。

第3章-IO端口地址译码技术

第3章-IO端口地址译码技术
第3章 I/O 端口地址译码技术
本章主要内容
➢ I/O 端口的基本概念 ➢ I/O 端口译码的基本原理 ➢ I/O 端口译码电路的设计
2020/5/11
计算机接口技术
1
一、接口信息与功能
1、接口信息 • 数据信号:
如:8位、16位、32位数据;
• 状态信号:
表示外设是否准备好信号。
CPU
地址 数据 控制
;将端口F4H和F5H的16位数据送AX ;将端口F4H、F5H、F6H和F7H的32位数据送 ;EAX ;从DX指出的端口输入32位数据到EAX
;EAX内容输出到DX指出的32位数据端口
2020/5/11
计算机接口技术
10
I/O指令表示,CPU从端口读数据或向端口写数据,
仅仅是指I/O端口与CPU的累加器之间的数据传输,
并未涉及数据是否传输到存储器的问题。若要将端口的数据 传输到存储器,还得用MOV指令进行传输。
例如:
MOV [DI],AL IN AL,DX
;将数据从AL→存储器 ;从端口读数据到AL
MOV [DI],AL ;将数据从AL→存储器
MOV DX,301H ;I/O端口
将端口的 数据传输 到存储器
MOV AL,[SI] ;从内存取数据到AL
信号转换功能:协调总线信号与I/O设备信号。转换包 括信号的逻辑关系、时序配合和电平转换。
可编程功能:增加接口的灵活性和智能性。
3.1 I/O 地址空间
如果忽略I/O地址空间的物理特征,仅从软件编程的角度来看,和 存储器地址空间一样,I/O地址空间也是一片连续的地址单元,可供 各种外设与CPU交换信息时,存放数据、状态和命令代码之用。
出程序段:接口电路硬件保护及操作系统中数据恢复。

第3章 端口地址译码技术

第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
优点

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端口间交换信息,处理能力不如存储器映 像方式强;尤其是要求处理器能提供存储器读/写及I/O端口读/ 写两组控制信号,这不仅增加了控制逻辑的复杂性,而且对于 引脚线本来就紧张的CPU芯片来说不能不说是一个负担。
OUT PORT,AL
其中,PORT是一个8位的字节地址。
I/O端口地址译码技术
例如:
IN AL,60H;60H为系统板8255A的PA
OUT 61H,AL;61H为系统板8255A的PB

O地址译码一、实验目的掌握IO地...

O地址译码一、实验目的掌握IO地...

微机原理硬件实验报告实验一I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。

二、实验原理和内容1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

2、接线: Y4/IO地址接 CLK/D触发器Y5/IO地址接 CD/D触发器D/D触发器接 SD/D角发器接 +5VQ/D触发器接L7(LED灯)或逻辑笔三.硬件连线图四.软件流程图五.源程序CODE SEGMENTASSUME CS:CODESTART: MOV DX,2A0HOUT DX,ALCALL DELAYMOV DX,2A8HOUT DX,ALCALL DELAYJMP STARTMOV AX,4C00HINT 21HDELAY PROC NEAR --延时子程序MOV BX,200LOOP1:MOV CX,0FFFFHLOOP2:LOOP LOOP2DEC BXCMP BX,0JNZ LOOP1RETDELAY ENDPCODE ENDSEND START六.实验结果小灯L7出现亮灭交替的现象,通过改变延时子程序BX的值可以改变亮灭的时间间隔。

七.实验总结与心得体会本次实验主要是对延时子程序的编写,由于书上有范例所以比较简单。

实验二简单并行接口一、实验目的掌握简单并行接口的工作原理及使用方法。

二、实验原理和内容1、按下面图简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。

74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。

第三章 端口地址译码技术

第三章 端口地址译码技术

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

I O地址译码(微机实验报告)

I O地址译码(微机实验报告)

I/O地址译码一、实验目的掌握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 SEGMENTASSUME CS:CODESTART:LOOP1:MOV CX,0FFFFHLP1:MOV DX,2AOHIN AL,DXLOOP LP1MOV CX,0FFFFHLP2:NOPLOOP LP2MOV CX,0FFFFHLP3:MOV DX,2A8HIN AL,DXLOOP LP3MOV CX,0FFFFHLP4:NOPLOOP LP4MOV AH,0BHINT 21HCMP AL,0JZ LOOP1MOV AH,4CHINT 21HCODE ENDSEND START五、实验总结通过实验,了解和掌握I/O地址译码电路的工作原理,熟悉汇编代码的编写。

IO接口数据传送及地址译码技术

IO接口数据传送及地址译码技术
在输出时,保存CPU发往外设
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 这种间接寻址方式的端口地址为两个字节长,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主要优点: (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地址译码内容提要

微机接口技术概述 CPU与接口交换数据的方式 I/O端口地址译码技术
3.1 I/O接口概述
通用的微型计算机硬件系统是由中央处理器(CPU 或MPU)、存储器、I/O(输入/输出)设备及其接口电
路组成。 I/O设备 键盘 显示器 打印机 外存储设备 控制设备 测量设备 通讯设备
OUTSB / OUTSW / OUTSD指令
MOV DX, 0A00H ;I/O端口地址 MOV SI, 1001H ;存储器偏移地址 MOV CX, 0FH ;传输字节数 CLD ;存储器地址值增加 REPOUTSB ;REP为重复前缀,块操作 从地址为ES:1001H~ES:100FH的存储器输出 15字节数据到地址为0A00H的端口。
8位
数据总线 地址 总线
数据 到外设
CE
(b)无条件输出
地址译码器
IO/M
WR
二、条件传送方式(查询方式)
工作原理 CPU先查询外设的状态信息是否准备好; 准备好,就传送数据; 否则,继续查询。 特点 CPU与外设间自然同步 要求 需要增加表示外设状态的简单硬件电路。 应用 适用在CPU不太忙且传送速度要求不太高时。
M空间 从存储器空间划出一部分地址空间 (65280个) 给I/O设备,把I/O接口中的端口当作 (64KB) 存储器单元一样进行访问。 FFFFH 优点: (1)I/O 可有较大编址空间,易扩展; (2)不设置专门的I/O指令,指令类型多,功能齐全。 缺点: (1)占用了存储器的地址空间,使存储器容量减小。 (2)另外指令长度比专门I/O指令要长,因而执行速 度较慢。
端口输入
value=inportb(port)
value=inportw(port)
//从port端口输入字节型数据, 并存储在 value变量中; //从port端口输入字型数据, 并存储在value变量中;
注意: VC++也有类似的I/O命令 _inp(_inpw)、_outp(_outpw)
例:读取CMOS信息
一、无条件传送方式(同步传送)
特点
条件是己知的情况
输入时外部设备是准备好的,输出时外设空闲
不用查询外设的状态信息 直接使用IN或OUT指令完成数据传送
要求 接口加缓冲器 应用 对简单外设的操作
缓冲器
数据来 自外设
CE
8位
数据总线
地址译码器 IO/M RD
缓冲器
地址 总线
(a)无条件输入
INSB / INSW / INSD指令
MOV DX, 0A00H MOV DI, 1001H INSB ;I/O端口地址 ;存储器偏移地址 ;输入,ES:DI<-DX
从DX所包含的端口输入1字节数据到以ES为段基地 址、以DI为偏移量的存储单元,传输完一字节后, 按标志寄存器EFLAG中的方向标志位DF的状态,DI 自动增或减1(或±2、 ±4)。
图3.2 微处理机通过接口与外设交换信息
二、接口信息
指外部设备与CPU之间交换的信息,分为: • 数据信号
如:8位,16位,32位数据;
• 状态信号
表示外设是否准备好的信号。 如:READY、BUSY、ACK
• 控制信号
表示启动、停止外设之类的信号 (STROBE)
3.1.2
I/O端口及其地址
一、I/O端口 I/O端口:是接口电路中能被CPU直接访问的寄存器。
I/O端口地址信号:借用RAM地址线信号, 和 IOW# / IOR#信号线,以及表示DMA正 在工作的AEN#的反相信号组成。
2、I/O端口地址寻址方法
I/O端口支持直接寻址和间接寻址方式。 直接寻址:使用一字节立即数寻址,端口寻址 范围 00H~FFH 共256个。 间接寻址:使用DX寄存器间接给出I/O端口 地址,可寻址的范围是 0000H~FFFFH 共 64K个。
发送 30h
命令寄存器
传送
31h
CPU
读取
数据寄存器
32h
状态寄存器
CPU与I/O端口
3.1.3 端口的编址方式
1、独立编址(I/O映象方式)
接口中的端口地址单独编址,
而不与存储空间合一起。

地址 00H FFH ...
I/O空间 (256)
地址 0000H
...
PC系列、 Z-80系列
M空间 (64KB)
三、中断传送方式
主程序
转向 工作原理 执 行 由外设向CPU发出中断请求; 子 程 CPU暂停原程序执行,转入中断服务; 序 继 返回 续 完成后返回原程序继续执行。 执 行 特点 CPU不用等待外设,提高CPU的利用率。 CPU与外设 可同时工作。 要求 接口中需要中断控制逻辑支持。 应用 适用于非高速度大量数据传送时。
二、实模式下I/O地址分配
1、I/O接口的硬件分类
分成两类 1)系统板上的I/O芯片 如: 定时/计数器、中断控制器、DMA 控制器,并行 接口等。 2)I/O扩展槽上的接口控制卡 如: 软驱卡、硬驱卡、图形卡、声卡、打印卡、 串行通信卡等。
数据 输 出 设 备 ACK
锁 存 器 (8) 状态标志 Q R
数据总线 数据口选中
PORT1
WR IO/M 地址译码器 IO/M RD 地址总线
D +5V 状态口选中
PORT2
准备好为“1”
"0"为空闲 接数据总线DO位
查询式输出接口电路 MOV DX , PORT2 LOP: IN AL,DX TEST AL,01H JZ LOP MOV DX,PORT1 IN AL,DX ;读取接口状态 ;检测状态口的状态 ;未就绪,继续查询 ;就绪 ; 完成数据输入
3.1.6 I/O地址空间的保护
I/O保护在保护模式下有效,在实模式下无效。 两种保护机制: I/O特权级IOPL保护和I/O允许位 映像保护。 1、 I/O特权级IOPL保护 保护通过比较当前任务的特权级CPL和标志寄存 器的IOPL字段实现的, CPL保存在CS中的最低两位, 当选择子成功装入CS寄存器后,相应的选择子中的 RPL(请求特权级)就变成了CPL。 CPL<=IOPL,可执行I/O操作;否则不行。 IOPL的值是由微处理器的特权级来设置的,即受操 作系统的控制,用户程序不能随意修改。
数据总线(DB) 中央 处理器 CPU 地址总线(AB) 内存储器 I/O 接口 I/O 接口 控制部线(CB)
I/O 设备
I/O 设备
I/O接口 8255、8253、8251、8237等
3.1.1
I/O接口电路及接口信息
一、接口电路
介于主机和外设之间的一种缓冲电路.
微处 理机 接口 电路 外部 设备
MOV [DI], AL ; 将数据从AL -> 存储器
串I/O指令INS和OUTS
完成I/O端口和存储器之间传送一串(一块) 信息,而不经过累加器。有三种不同的形式: INSB、 INSW 、INSD和OUTSB、 OUTSW、 OUTSD,表示输入 /出字节串、字串和双字串。只能使用间接寻址方式, 用DX寄存器指定I/O端口地址。 INS指令:用ES:DI(或ES:EDI)指定目的存储器地址。 OUTS指令:用ES:SI(或DS:ESI)指定源存储器地址。
OUT 61H, AL ;数据从AL到端口61H
双字节地址指令
MOV DX, PORT IN AL, DX MOV DX, PORT OUT DX,AL
;8位传送
;8位传送
注意: PORT--为16位的两字节地址。范围:0000H~ FFFFH,则最多可寻址216=64K个端口。

端口间址寄存器:DX 例如: MOV DX, 300H ; 300H为扩展板8255A的PA端口 IN AL, DX ; 从端口300H读数据到AL
端口的种类:一个接口可以有几个I/O端口。
如命令口、状态口和数据口,分别对应于命令寄存器、 状态寄存器和数据寄存器。 I/O端口地址:对接口中不同寄存器的编号。CPU通过端 口地址向接口电路中的寄存器发送命令,读取状态和 传送数据。
相关文档
最新文档