写在前面:
- 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
一、单总线结构
下图是单总线结构的示意图,它是将CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上,允许I/O设备之间、I/O设备与CPU之间或I/O设备与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,这极易形成计算机系统的瓶颈。
需要说明的是,单总线并不是只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。
二、多总线结构
1、双总线结构
(1)双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间的数据传送,另一条是I/O总线,用于多个外部设备与通道之间的数据传送。
(2)双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构,图中通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大。
(3)主存总线支持突发(猝发)传送,即送出一个地址,收到多个地址连续的数据。
(4)这种双总线结构的缺点是需要增加通道等硬件设备,既然通道能承担“小CPU”的职责,那么通道的造价自然不会低。
2、三总线结构
(1)如果将速率不同的I/O设备进行分类,然后将它们连接在不同的通道上,那么计算机系统的工作效率将会更高,由此发展成多总线结构。
(2)三总线结构是在计算机系统各部件之间采用三条各自独立的总线来构成信息通路,这三条总线分别为主存总线、I/O总线和直接内存访问DMA总线。
①主存总线用于CPU与主存之间的传输;I/O总线供CPU与各类I/O设备之间传递信息;DMA总线用于高速I/O设备(磁盘、磁带等)与主存之间直接交换信息。
②在三总线结构中,任一时刻只能使用一种总线,主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才能用到。
(3)另一种三总线结构的示意图如下,处理器与Cache之间有一条局部总线,它将CPU与Cache或与更多的局部设备连接。Cache的控制机构不仅将Cache连到局部总线上,而且还直接连到系统总线上,这样Cache就可通过系统总线与主存传输信息,而且I/O设备与主存之间的传输也不必通过CPU。还有一条扩展总线,它将局域网、小型计算机接口(SCSI)、调制解调器(Modem)以及串行接口等都连接起来,并且通过这些接口又可与各类I/O设备相连,因此它可支持相当多的I/O设备,与此同时,扩展总线有通过扩展总线接口与系统总线相连,由此便可实现这两种总线之间的信息传递,其系统的工作效率明显提高。
3、四总线结构
(1)为了进一步提高I/O设备的性能,使其更快地响应命令,又出现了四总线结构,其中桥接器用于连接不同的总线,具有数据缓冲、转换和控制功能。
(2)四总线结构增加了一条与计算机系统紧密相连的高速总线(越靠近CPU的总线速度应该越快),在高速总线上挂接了一些高速I/O设备,它们通过Cache控制机构中的高速总线桥或高速缓冲器与系统总线和局部总线相连,使得这些高速设备与CPU更密切。
(3)这种结构对高速设备而言,其自身的工作可以很少依赖CPU,同时它们又比扩展总线上的设备更贴近CPU,可见对于高性能设备与CPU来说,各自的效率将获得更大的提高。
4、总线结构举例
(1)传统微型计算机的总线结构:
(2)VL-BUS局部总线结构:
(3)PCI总线结构:
(4)多层PCI总线结构: