当前位置: 组成原理 > 03-总线 > 阅读正文

计组 总线的基本概念

2021.7.13.   337 次   1149字

为什么要使用总线?

计算机中至少有5大部件, 即使我们把控制器, 运算器, 而输入输出使用I/O表示, 计算机的基本组成至少也包括3大部件

但现在计算机的结构比基本计算机的结构更复杂, 可能有几个, 几十个, 几百个, 甚至上千个cpu, 外部设备总类和数量也非常丰富, 只有把这些部件连接在一起, 才能组成一个完整的计算机硬件系统, 才能够协调的工作。

那么如何连接这些设备?一种方法是使用分散连接的方法, 需要通讯的两个部件两两连接, 几百个部件两两连接需要大量的通讯线, 这些线非常复杂, 且在集成电路板上接口之间占用大量的空间, 若增加一个设备, 则需要增加n-1个接口以及通讯线

为了解决上述问题, 引入了总线系统, 所谓总线: 总线是连接各个部件的信息传输线, 是各个部件共享的传输介质

所有设备, 都可以连接到总线上, 总线在任一时刻, 只有一对设备使用总线, 其他设备需要等待使用总线的设备释放总线使用权, 总线会成为系统的一个瓶颈, 但这种结构非常简单, 可扩展性非常好

总线上信息的传输

总线上的信息有2种传送方式

  • 串行 ==> 数据一位一位的发送, 且以位接收
  • 并行 ==> 多位同时放在总线上发送, 多位接收

并行传输, 需要多条数据线进行传输, 多根线之间会平行向外排列, 多根线之间存在干扰, 如果距离比较长, 传输信号就会变形, 接收方很难接收到, 所以通常情况下, 并行传输的距离都比较短, 如果想要传输的较远, 通常使用串行传输, 或对并行传输使用一些额外的技术

总线结构举例

单总线结构

单总线结构中, cpu, 主存, 以及所有外设等均连接到此条总线上, 这种结构有什么问题?

如果主存和某个I/O设备进行数据传输, 那么cpu和主存就无法利用这条总线传输数据, 如果不采取一些手段, 那么cpu的工作效率就会大大降低( 无法交互内存, 必须等待 ), 此外, 如果外设备较多, 那么该总线会较长, 传输信息的延迟也会比较大

为了解决单总线的问题, 应该引入多总线, 让多个设备之间能够并行( 这里并行指同时 )的传输

面向cpu的双总线结构

面向cpu, 就是以cpu为核心, 延展出2条总线,

  • 一条是I/O总线, 连接外部设备
  • 一条是M总线, 连接主存

分析这样的总线结构会存在什么问题? 如果2个外部设备要交互, 还是得通过cpu进行数据传输, 这样cpu的工作任务被打断

以存储器为中心的双总线结构

以主存为中心, 延展出2条总线,

  • 一条为系统总线, 此总线上连接着cpu, 主存, 以及外部设备
  • 一条为存储总线, 仅连接cpu与主存

这样的结构比前面的好很多, 既保留了任意设备连通的灵活性, 又能让cpu与主存之间灵活交互, 不干扰cpu的工作。

但实际上, 即使以现在的技术, 双口的存储器并不能同时和cpu交互, 又和外设交互, 存储器实际是单口的, 多口实际是通过分时做的, 并不是真正的双口

随着技术的发展, 也许存储器可以实现同时和cpu传输, 又能同时和外设传输。

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群