计算机io接口指令控制,计算机接口及IO指令.ppt

计算机接口及IO指令

输入/输出程序设计 学习目的 1)掌握计算机接口的概念 2)掌握CPU与接口交换信息、CPU控制外部设备的基本原理. 3)理解接口设计的大致过程和方法. 学习目的 4)掌握端口访问指令的功能、使用方法、寻址方式 5)能够理解简单的接口控制程序。 (1)外设接口存在的必要性 外部设备种类丰富,处理速度差异较大。 设备中使用的信号标准也各不相同。 如果使用CPU直接控制外部设备将使计算机系统本身的设计复杂化。 (2)接口的概念 接口,顾名思义,为了使两种本来互相不匹配的事物能够相互沟通而产生的一种中介。(例如,翻译就起到这种作用)。 计算机接口,由特定的电路结构来实现,具有两面性,如下图所示: 端口的分类 状态端口:一般是只读的端口,为CPU提供接口当前的工作状态,以便CPU判断当前应该针对接口做一些什么操作. 控制端口:一般是只写的端口,CPU通过设置控制端口,可以设定接口的工作方式,向接口发送各种操作命令. 端口的分类 数据输入端口:如果设备具有输入功能,那么通过把输入数据存放在输入端口,等待CPU来读取. 数据输出端口:如果设备具有输出功能,那么CPU把输出数据传送到输出端口作为接口的输出数据. 在实际应用中,各类端口可能会在物理上重叠. (3)接口的设计过程 1)设计接口的逻辑电路图,选择所需芯片,包括端口的分析和设计。 2)设计接口的实际电路图,主要针对接口板卡中具体的线路布局。(包括板卡的实际形状、走线细节、各个芯片在板卡中的实际位置)。 3)根据实际电路图制作板卡样品,在板卡样品上焊接对应的芯片。 (3)接口的设计过程 4)编制接口控制程序,该程序要能完成接口电路的基本数据输入、输出功能。 5)将板卡样品插入总线插槽,运行接口控制程序,调试板卡硬件以及控制程序。 (4)8086/8088CPU中I/O端口的编址空间 I/O端口和寄存器、内存单元具有相同的特性,同属于存储单元,用于存放二进制信息。 (4)8086/8088CPU中I/O端口的编址空间 三种存储单元所在的物理位置不同: 寄存器位于CPU内部 内存单元位于内部存储器内部 I/O端口位于接口电路当中。 (4)8086/8088CPU中I/O端口的编址空间 一般来说,在计算机系统中,寄存器具有独立的编址空间。 在8086汇编语言中,对寄存器地址的引用和对内存单元地址的引用存在明显差别。 这种差别反映了二者具有不同的编址空间。 (4)8086/8088CPU中I/O端口的编址空间 对于I/O端口来说,存在统一编址和独立编址两种方式。 不同计算机系统中可能使用不同的编址方式。 统一编址方式 统一编址方式是指内存单元和I/O端口共存于同一个地址空间内。 I/O端口和内存单元不会出现重复的地址。 访问内存单元和I/O端口时,使用的指令、寻址方式、地址表示形式完全一致,唯一的区别是具体逻辑地址的差异。 独立编址方式 独立编址方式是指I/O端口的地址和内存单元的地址在不同的两个地址空间。 内存单元地址和I/O端口地址无关联,二者可能出现重复地址。 访问内存单元和I/O端口需要使用不同的指令,不同的控制信号,以区分两个完全不同的地址空间。 (4)8086/8088CPU中I/O端口的编址空间 在8086/8088系统中,I/O端口采用独立编址方式。 控制信号方面,使用RD信号表示读操作、使用WR信号表示写操作。 同时使用M/IO信号区别两个地址空间,该信号等于1时,表示访问内存单元,等于0时表示访问I/O端口。 (4)8086/8088CPU中I/O端口的编址空间 指令方面,访问端口和访问内存单元使用两套不同的指令。 访问内存单元的指令执行时会使M/IO信号为1,访问I/O端口的指令执行时会使该信号为0。 (5)访问端口的指令 读端口指令:把端口数据读入CPU的寄存器中。 IN AL,XXH IN AX,XXH 上面这种格式为直接寻址方式,XXH是端口地址,范围为0到255。 (5)访问端口的指令 IN AL,DX IN AX,DX 间接寻址方式,端口地址由DX寄存器的内容给出,变化范围为0到65535。 8086系统中,最多可以访问65536个端口。 (5)访问端口的指令 写端口指令:把CPU寄存器中的数据送到端口保存。 直接寻址方式: OUT XXH,AL OUT XXH,AX 间接寻址方式: OUT DX,AL OUT DX,AX (5)访问端口的指令 8086系统中,端口寻址方式只有直接寻址和间接寻址两种。 8086系统中对端口访问无段基值概念,生成物理地址时固定使用0作为段基值,因为端口空间为64K,正好是一个段的长度. 接口控制程序示例 例. 假设有一个4*4的小键盘,和一个1*2的7段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值