IO接口概念

本部分是作者在复习计算机组成原理时候参考王道视频做的笔记。
在这里插入图片描述
在这里插入图片描述
I/O接口:又称I/O控制器(I/O Controller)、设备控制器,负责协调主机与外部设备之间的数据传输。

IO接口的作用

在这里插入图片描述

  • 数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设工作速度的匹配
  • 错误或状态监测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用
  • 控制和定时:接收从控制总线发来的控制信号、时钟信号
  • 数据格式转换:串-并、并-串等格式转换
  • 与主机和设备通信:实现主机—I/o接口—I/o设备之间的通信

在这里插入图片描述
这里将状态寄存器喝控制寄存器放在了一起。因为命令字后面没有必要在控制寄存器中,可以将设备信息完成情况放在状态寄存器。使用时间上是错开的,所以可以合二为一。
内部接口:内部接口与系统总线相连,实际上是与内存、CPU相连。现在主机侧的传输方式是串行传输的,在2000年之前是并行。
外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此l/O接口需具有串/并转换功能。

IO接口的工作原理

在这里插入图片描述
IO控制器中的各种寄存器称为IO端口
数据线:读写数据、状态字、控制字、中断类型号(当一个工作工作完成需要发送一个中断,当设备故障也要发中断,但是两种类型不一样,为了区别所以需要数据总线结合状态寄存器的内容让CPU知道是什么中断)
地址线:指明IO端口
控制线:读/写IO端口的信号、中断请求信号
①发命令:发送命令字(也称为控制字)到IO控制寄存器,向设备发送命令(需要驱动程序的协助)
②读状态:从状态寄存器读取状态字,获得设备或l/o控制器的状态信息
③读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换

如何确定要操作的设备?
每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备。

接口与端口

在这里插入图片描述
I/O端口是指接口电路中可以被CPU直接访问的寄存器。
I/O端口要想能够被CPU访问,必须要有端口地址,每一个端口都对应着一个端口地址。

统一编址和独立编址

1.统一编址

统一编址就是地址都是连续的。(把IO端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问IO端口,又称存储器映射方式。靠不同的地址码区分内存和IO设备,IO地址要求相对固定在地址的某部分。)
在这里插入图片描述
RISC精简指令集只有LOAD和STORE,通过这两个指令CPU可以对所有IO设备控制。

如系统总线中地址线共10根,则可以访问的存储单元个数为 2 10 2^{10} 210=1024个,假设要给10个I/O端口编址:
1.0~9表示I/O地址,10~1023为主存单元地址
2.0 ~ 1013表示主存,1014~1023表示IO
3.10 ~ 19表示IO,0 ~ 9、20 ~ 1023表示主存

在这里插入图片描述

2.独立编址

独立编址就是地址不连续有重复(I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口,又称l/O映射方式。靠不同的指令区分内存和I/O设备。)。
在这里插入图片描述
在这里插入图片描述

IO接口的类型

按数据传送方式分为
并行接口:一个字节或一个字所有位同时传送。
串行接口:一位一位地传送。
注:这里所说的数据传送方式指的是外设和接口一侧的传送方式。

按主机访问I/O设备的控制方式可分为
程序查询接口
中断接口
DMA接口

按功能选择的灵活性可分为
可编程接口
不可编程接口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值