总线的概念

本贴最后更新于 1255 天前,其中的信息可能已经斗转星移

在冯诺依曼计算机的体系结构中,将计算机系统分为五大部分:运算器、控制器、存储器、输入设备、输出设备。其中,人们将运算器、控制器做在一个芯片上,称为 CPU;将存储器分为主存储器(主存)和辅助存储器(外存);将输入设备和输出设备统一成为 I/O 设备。

1. 为什么要使用总线?

现代计算机的结构比上面的三大基本组成结构要更为复杂,可能有数以百计的 CPU,外部设备的数量和种类更是千差万别。只有将这些复杂的硬件设备连接在一起进行协同工作,才能为计算机系统的性能稳定发挥提供保障。但是每种设备都具有其各自的硬件实现方式,对外接口并不是完全统一的,如何连接众多“杂乱无章”的设备呢:

  • 分散连接方式:将需要进行数据传输的任何两个硬件使用一根数据线进行连接。如果有 n 个硬件需要交换数据,每两个设备之间需要 m 根数据线进行连接,那么一共需要 n*m 根数据线。这种连接方式非常复杂,占用的空间很大,并且难以扩展。
  • 总线连接方式:总线是连接各个部件的信息传输线,是各个部件共享的传输介质(即信号在系统各部件之间的公共传输线)。各个设备都可以连接到总线上,所有需要进行数据交互的设备都使用总线进行信息传输。这种方式的优点是结构简单、可扩展性强;缺点是总线非常繁忙,在任何一个时刻只能有一对部件来使用总线,其它设备必须等待当前正在使用总线的设备释放总线。

现代的计算机硬件系统普遍采用总线连接方式来降低系统设计的难度。

2. 总线上信息的传送

数据在总线上有两种传送方式:

  • 串行传输方式:发送方把要传输的二进制数据一位一位地放到一根总线上去,接收方一位一位地接收数据。这种传输方式只需要一根数据线进行数据传输,但需要的 CPU 时钟周期比较长,但是信号稳定,接收方不容易受到错误的数据。在实时控制和管理方面,采用多台计算机组成的分布式控制系统中,各个 CPU 之间的通信一般都是采用串行传输方式。
  • 并行传输方式:发送方把要传输的二进制数据以字为单位放到多根总线上去,接收方一次接收一个字长的数据。这种传输方式需要多根数据线进行数据传输。如果传输距离比较长,则数据线之间可能会产生干扰,信号也可能会发生变形,适合传输距离比较短的情形,例如计算机与打印机、磁盘等外设,或者是主板上各个部件之间都广泛使用并行传输方式。

3. 总线的分类

  • 片内总线:指的是芯片内部各个电子原件之间使用的总线。

  • 系统总线:计算机各个部件之间的信息传输线,在大多数计算机上可以细分为:

    • 数据总线:用来传输二进制数据的总线。一般是支持双向传输的,与机器字长、存储字长有关。
    • 地址总线:用来传输主存地址的总线。一般是一种单向总线,与存储地址、I/O 地址有关。
    • 控制总线:用来传输控制信号的总线。既可以是单向总线,也可以是双向总线。例如,存储器读存储器写总线请求总线允许中断确认等信号都通过控制总线进行传输。
  • 通信总线:用于计算机系统之间,或者计算机系统与其他系统之间的通讯。

1 操作
zhangkeyang 在 2021-02-13 20:42:25 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...