其他分享
首页 > 其他分享> > 2021-05-22

2021-05-22

作者:互联网

8086cpu、输入输出接口

主要内容:

  1. I/O接口与I/O端口的概念
  2. I/O端口的编址方式
  3. I/O端口的地址译码
  4. I/O数据的传送方式

一、
I/O接口(interface):
①将外设连接到总线的一组逻辑电路的总称
②实现外设与主机之间的信息交换
8086CPU和外部设备之间是通过I/O芯片进行联系,达到相互间传输信息的目的。每个I/O芯片上都有一个端口或几个端口,一个端口往往对应于芯片上的一个寄存器或一组寄存器。微机系统要为每个端口分配一个地址。叫端口地址或端口号,各个端口号和存储器单元地址一样,应具有唯一性。
I/O端口(port):
接口中的寄存器(数据端口、控制端口、状态端口)

I/O接口的基本结构如下↓
基本机构

I/O接口要解决的问题

①速度不匹配
②信号电平不匹配:TTL和非TTL电平
③信息格式不匹配:串并行,数字量,模拟量,开关量,电流量,电压量等
④时序不匹配
TTL:输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平是0.2V。

I/O接口的功能

①设置数据缓冲以解决两者速度差异
②设置信号电平转换电路设
③置信息转换逻辑以满足对各自格式的要求
④设置时序控制电路来同步CPU和外设的工作
⑤提供地址译码电路:使cpu在同一时刻只能选中某一个I/O端口

二、I/O端口极其编址方式
命令口和状态口可以共用一个,这三种信息都通过数据总线传送,分别送入不同端口的寄存器,状态入,控制出。

①端口与内存统一编址
I/O端口地址空间是内存地址空间的一部分。
在这里插入图片描述
采用I/O独立编址方式(但地址线与存储器共用)
地址线上的地址信号用M/IO来区分
I/O操作只使用20根地址线中的16根:A15~A0
可寻址的I/O端口数为64K(65536)个
I/O地址范围为0~FFFFH
IBM PC只使用了1024个I/O地址(0~3FFH),其中0 ~FF为直接寻址范围。
每个端口用于传送一个字节的外设数据
三、I/O端口的地址译码
在这里插入图片描述
8088/8086的端口有64K个,无需分段,设计有两种寻址方式
直接寻址:只用于寻址00H ~ FFH前256个端口,操作数i8表示端口号
间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号
对大于FFH的端口只能采用间接寻址方式

四、数据传送方式

如果输入输出一个字节,利用AL寄存器
如果输入输出一个字,利用AX寄存器
输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口)
输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口

在这里插入图片描述

标签:编址,22,05,端口,接口,地址,寻址,2021,外设
来源: https://blog.csdn.net/weixin_57038830/article/details/117165314