输入/输出接口(I/O接口)

I/O接口

1.I/O接口的概述

概述:外部设备的输入输出速度与CPU的处理速度相比慢得多。此外不同外设的信号形式,数据格式也各不相同。所以外部设备不能与CPU直接相连,需要相应的电路在中间完成它们之间的速度匹配,信号转换和某些控制功能。这样的电路被称为I/O接口电路,简称I/O接口。

I/O接口的分类分为并行接口和串行接口两类。
(1)并行接口,一次传送一个字节或多个字节的所有位。
(2)串行接口,一次传送一位,数据的所有位逐位传送。

2.I/O接口的作用

  • 地址译码: CPU通过给接口分配地址识别接口,并通过地址总线将地址信息传送给接口。接口应该具有地址译码的能力。

  • 数据传送: I/O接口的主要功能

  • 提供握手联络信号: 外部设备的工作速度往往远低于CPU的处理速度,CPU发送的数据不能被外设及时读取,造成数据丢失,因此需要握手联络信号使CPU与I/O设备同步。I/O接口必须能够提供CPU的命令输出控制信号,对外设实施控制。

  • 数据格式转换与信号电平转换: 外部设备是复杂的机电设备,其信号电平多数与TTL或者MOS电路不兼容,需要接口来完成信号的电平转换。

  • 错误检测功能: 接口和设备间的数据传输经常受到干扰,导致信息出错,接口应具备一定的错误检测能力,对传输信息进行校验。

3.I/O接口的端口

(1)端口概念和分类

I/O接口电路需要设置若干专用寄存器,用来缓冲输入输出数据,设定控制方式,保存输入输出状态信息等,这些寄存器可以被CPU直接访问,常称为端口。

根据端口传输的信息,端口可分为数据端口,状态端口和控制端口。

  • 数据端口:用来保存CPU与外设之间传送的数据,对输入/输出数据起缓冲作用的数据寄存器。
  • 状态端口:用来存放外设或者接口部件本身状态的寄存器。
  • 控制端口:用来存放CPU发往外设的控制命令的控制寄存器。 CPU通过控制端口来设定IO接口的工作方式

(2)端口的编址方式

统一编址

IO端口与内存单元统一编制,这种编址方式是对IO端口和内存中的存储单元按照存储单元的编址方法统一编排地址号。由IO端口和存储单元构成一个统一的地址空间。

优点: 采用统一编址后,CPU对IO端口的输入输出操作如同对存储单元的读写操作一样,所有访问内存的指令同样都可以用于访问IO端口,因此无需专门的IO指令,从而简化了指令系统的设计。同时对存储器的各种寻址方式也适用于IO端口。

缺点: 由于IO端口占用了一部分存储器地址空间,因而相对减少了内存地址的可用范围。

独立编址

在独立编址的方式中,建立了两个地址空间,一个为内存地址空间,一个为IO地址空间。内存地址空间与IO地址空间是相对独立的,通过控制总线来确定CPU到底要访问内存还是IO端口。8086/8088系统中,共20根地址总线,最大寻址范围为:00000到FFFFF,而用其中的低16位作为端口的地址空间:0000到FFFF。最多管理64k个端口。当8086的CPU的M/IO(非)的信号为1时,表示地址总线上的地址是内存地址,信号为0时表示地址总线上的地址是端口地址。

优点: 不占用内存空间,而且IO端口地址线根数少,译码电路简单,专用的输入输出指令便于理解和检查。

缺点:需要专用的控制信号和专用的输入输出指令,增加了指令系统的复杂性。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值