【计算机组成原理】输入/输出系统(三)—— I/O控制器(设备控制器)

【计算机组成原理】输入/输出系统(三)—— I/O控制器(设备控制器)

I/O接口

在这里插入图片描述

I/O接口:又称I/O控制器(I/O Controller)、设备控制器,负责协调主机与外部设备之间的数据传输。

I/O控制器多种多样,也会制定相应的标准,如:用于控制USB设备的IO接口、用于控制SATA 3.0硬盘的IO接口等

(I/O控制器就是一块芯片,常被集成在主板上)

在这里插入图片描述

I/O接口的作用

在这里插入图片描述

数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设工作速度的匹配;

错误或状态监测:通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用;

控制和定时:接收从控制总线发来的控制信号、时钟信号;

数据格式转换:串-并、并-串等格式转换;

与主机和设备通信:实现主机一I/O接口—I/O设备之间的通信。

在这里插入图片描述

设备侧的 外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并 转换功能。

主机侧的 内部接口:内部接口与系统总线相连,实质上是与内存、CPU相 连。数据的传输方式只能是并行传输。

在这里插入图片描述

I/O接口的工作原理

在这里插入图片描述

①发送命令字到I/O控制寄存器,向设备发送命令(需要驱动程序的协助);
②从状态寄存器读取状态字,获得设备或I/O控制器的状态信息;
③读/写数据:从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换。

接口与端口

在这里插入图片描述

I/O端口是指接口电路中可以被CPU直接访问的寄存器。

在这里插入图片描述

I/O端口及其编址

  1. 统一编址

把 I/O端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问 I/O端口,又称存储器映射方式。 靠不同的地址码区分内存和I/O设备,I/O地址要求相对固定在地址的某部分。

优点:
不需要专门的输入/输出指令,所有访存指令都可直接访问端口,程序设计灵活性高端口有较大的编址空间读写控制逻辑电路简单。

缺点:
端口占用了主存地址空间,使主存地址空间变小外设寻址时间长(地址位数多,地址译码速度慢)。

  1. 独立编址

I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口,又称**I/O映射方式**。 靠不同的指令区分内存和I/O设备。

优点:
使用专用I/O指令,程序编制清晰;
I/O端口地址位数少,地址译码速度快;
I/O端口的地址不占用主存地址空间。

缺点:
I/O指令类型少,一般只能对端口进行传送操作,
程序设计灵活性差
需要CPU提供存储器读/写、I/O设备读/写两组控制
信号,增加了控制逻辑电路的复杂性

I/O接口的类型

按数据传送方式可分为
并行接口:一个字节或一个字所有位同时传送。
串行接口:一位一位地传送。 注:这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的。接口要完成数据格式转换。

按主机访问I/O设备的控制方式可分为

程序查询接口
中断接口
DMA接口

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43848614/article/details/127193111