系统总线

Posted Li-Yongjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统总线相关的知识,希望对你有一定的参考价值。

计算机组成

计算机系统由五大部分组成,它们分别是运算器、控制器、存储器、输入设备、输出设备。
运算器和控制器在电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往制作在同一芯片上,这个芯片就是 CPU。并且通常把输入设备和输出设备简称为 I/O 设备。
这样,现代计算机可认为由三大部分组成,它们分别是 CPU主存I/O 设备。CPU 和 主存合起来称为主机,I/O 设备叫做外设。

系统总线

计算机中的总线,大致分为三类:

  1. 同一部件如 CPU 内部连接各寄存器及运算器之间的总线,称为内部总线。
  2. 同一台计算机系统的各部件,如 CPU、内存、通道和各类 I/O 接口互相连接的总线,称为系统总线
  3. 多台处理机之间互相连接的总线,称为多机系统总线。
    本篇文章,我们主要聊一聊系统总线

系统总线的发展

计算机三大部件之间的互连方式有两种。
一种是各部件之间单独连线,叫做分散连接
另一种是将各部件连接到一组公共信息传输线上,叫做总线连接

早期的计算机大多数采用分散连接,它是以 CPU 为中心的结构,当外设与内存,外设与外设通信时,都需要经过 CPU,导致 CPU 停止运算,严重影响了 CPU 的工作效率。并且,外设与 CPU 之间的连接非常不灵活,随着计算机应用领域的不断扩大,外设的种类和数量越来越多,想要增加或减少外设,可以说是十分艰难,你得想办法让外设和 CPU 直接相连,要保证机械、电气、时序都要吻合才能通信,并且 CPU 的引脚也是有限的。

于是,就出现了总线连接方式。
总线是连接多个部件的传输线,是各部件共享的传输介质。总线在物理上是由许多传输线组成,每条线可传输一位二进制码,若干条线可同时传输若干位二进制码。当多个部件与总线相连时,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突,传输无效。因此,在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息,这种机制称为分时复用。

双总线

上面介绍的总线为单总线,所有的部件都挂在同一总线上,因此总线只能分时复用,即同一时间只能允许一对部件之间传送数据,这就使信息传送的吞吐量受到限制。为此,出现了双总线,如下图。

这种双总线结构,既保持了单总线系统简单、易于扩展的优点,又在 CPU 和内存之间专门设置了一组高速的内存总线。使 CPU 可通过内存总线与内存交换信息,同时内存仍可以通过系统总线与外设实现 DMA 操作,而不必经过 CPU,大大提高了系统整体通信效率。

三总线

三总线是在双总线的基础上增加了 I/O 总线形成的。三总线中,增加了通道,通道实际上是一台具有特殊功能的处理器,又称为 IOP(I/O 处理器),它分担了一部分 CPU 的功能,以实现对外设的统一管理,以及外设与内存之间的数据传送。显然,又进一步提高了系统整体效率。

总线控制

总线上连接的各类设备,按其对总线有无控制功能可分为主设备和从设备两种。主设备对总线有控制权,从设备只能响应从设备发来的总线命令。多个主设备同时要使用总线时,就由总线控制器进行判优、仲裁逻辑按一定的优先级顺序,确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
对于仅有一个主设备的简单系统,就无需判优了,总线使用权始终归它占有。

以上是关于系统总线的主要内容,如果未能解决你的问题,请参考以下文章

什么是单总线技术

计算机组成原理

串行总线是啥

通用串行总线控制器?

SPII2CUARTI2SGPIOSDIOCAN

总线驱动设备