首页 > 其他分享 >主机和IO设备的交互

主机和IO设备的交互

时间:2023-04-07 20:00:29浏览次数:28  
标签:DMA 控制器 主机 主存 IO 交互 cpu

系统总线的结构与I/O系统

主机和IO设备的交互通过IO接口实现

什么是IO接口

IO接口就是负责协调主机和外部设备的数据传输的部件,又叫做IO控制器。如下:

image-20230407190938572

IO接口主机侧连接到主机,设备侧连接IO设备。这里我们着重看到主机侧的这边,主机侧连接到系统总线,而系统总线的结构也会对IO的控制方式产生影响。

系统总线的结构

单总线结构

image-20230407191511109

此时,CPU、主存、IO接口共用一组系统总线。

双总线结构

image-20230407192421831

此时,引入通道这个部件,实现对IO设备的统一管理。该结构可以将低速的IO设备从总线上分离。

通道:具有特殊功能的处理器,通道程序存放在主存中。

三总线结构

image-20230407192716120

此时,取消了通道,引入了DMA总线,实现高速外设和低速外设的分离。高速外设对应的IO接口称为DMA控制器。

DMA方式

上文提及了DMA方式,在三总线结构看,由于DMA控制器一端连接高速外设(磁盘),一端连接主存,因此不难理解,DMA控制器可以实现脱离cpu的主存和磁盘的数据传输。cpu向DMA控制器指明输入还是输出,传送多少数据等等信息后,DMA控制器通过DMA总线自主进行工作。

当主存只有一个端口时,只能在同一时段支持一个部件的访存,因此cpu和DMA控制器就可能出现冲突,此时需要解决:谁先访问主存?答案有如下三个模式:

停止cpu访存

image-20230407194354250

这个模式不太行,我们引入DMA的初衷就是让cpu从磁盘数据传输工作中脱离出来,而这种模式会导致cpu在磁盘数据传输时产生阻塞。

DMA与CPU交替访存

image-20230407194923437

周期挪用

标签:DMA,控制器,主机,主存,IO,交互,cpu
From: https://www.cnblogs.com/nanguahh/p/17297199.html

相关文章