Linux内存之计算机系统总线结构(一)

系统总线介绍

系统总线就是把计算机中多个组件连接到一起的传输介质,负责设备间通信。系统总线上传送的信息包括数据信息、地址信息、控制信息,因此,系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。在本文中,可能会有很多不同名称的系统总线,它们的功能都一样,只不过连接的设备不同而名称不同。

计算机中的总线架构

单总线结构

最初的单总线结构只有一条总线叫做系统总线,把各个部分连接起来,所有设备间的通信都要经过系统总线,单总线结构就会显得负载比较重,同时只能有两个设备进行通信,其他设备间想要通信就必须等待。
在这里插入图片描述

双总线结构

由于单总线结构中,CPU和内存的通信比较频繁,且数据量传输相对来说比较大,所以就把内存和CPU之前的通信用单独的总线连接起来叫做M(Memory)总线,也就是内存总线,CPU和其他设备间的通信通过I/O总线连接起来。
在这里插入图片描述
上面的双总线结构中,如果主存要和其他设备通信,都必须经过CPU,这样也会让占用CPU的资源,增加CPU的负载,叫做面向CPU的双总线结构,还有一种叫做面向存储器的双总线结构。面向存储器的双总线结构中,主存一边通过存储总线和CPU连接进行通信,一边也连接在系统总线上和其他设备进行通信。如果主存支持同时有两个源写入或者读取数据,那么当CPU和主存通信时,其他IO设备还可以和主存进行通信;如果主存不支持同时操作两组数据,那么当其他设备和主存通信时,CPU也还可以和其他设备进行通信,前提是不需要主存。
在这里插入图片描述
除了上面的两种双总线结构外,还有一种总线结构,IO设备统一通过通道来管理,通道是一种特殊的处理器,负责IO设备和其他设备的通信。
在这里插入图片描述

三总线结构

三总线结构中,新增了一条DMA(直接存储访问)总线,可以让高速IO设备和主存进行通信,但是在这种总线结构下,那些低速的IO设备要想和主存进行通信还是要经过CPU,占用CPU资源。
在这里插入图片描述
三总线的另一种结构,新增了一条扩展总线和局部总线,局部总线把CPU和Cache相连,Cache又通过系统总线和主存连接到一起,这样CPU只和速度比较高的Cache进行通信,当Cache中的数据没有时,Cache和主存进行通信,把数据从主存中取出来放入Cache中。所有的IO设备通过扩展总线和系统总线与主存进行通信,但是扩展总线上也没法区分高速的IO设备和低速的IO设备。
在这里插入图片描述

四总线结构

在四总线结构中,新增了一条高速总线,负责连接一些高速的IO设备,距离CPU和主存都比较近,通信比较块,扩展总线上连接一些低速的IO设备。
在这里插入图片描述

PCI总线结构

PCI总线结构是现代计算机上使用的总线结构,CPU通过系统总线和存储器连接,同时系统总线上连接了一个PCI桥,通过PCI桥可以连接PCI总线,PCI总线下也可以连接符合PCI接口的IO设备,同时PCI总线下又可以连接PCI桥,PCI桥下再连接PCI总线,就可以一直向下扩展,不过也是有一些数量限制的。
在这里插入图片描述

PCI多层总线结构

在这里插入图片描述
在Linux系统下,可以通过lspci命令查看PCI结构下的设备
在这里插入图片描述

声明:文章图片来自哈工大刘宏伟老师的计算机组成原理,如有侵权,请联系删除。

个人博客地址

Feidao wechat
关注我,一起打怪升级吧!