计算机组成原理之总线设计(二)

简介: hey guys ,我是 cxuan ,最近有小伙伴们说 cxuan 你能不能出一些关于计算机组成相关的文章,因为小伙伴有需求,所以咱得满足呀,这不,计算机组成系列来了!这一篇文章和你聊聊总线设计。

总线设计

以存储器为主的连接方式

后来,为了改善这种情况,出现了以存储器 为中心的结构,这种结构如下所示

微信图片_20220416174622.jpg

可以看到,这种连接方式以存储器为核心,图中主要涉及的部件功能如下

  • 输入设备将常用的信息转换为机器能够识别的数据形式,常见的有键盘和鼠标等
  • 存储器用于存放指令和数据
  • 运算器用来完成算数和逻辑运算,并将运算结果暂存在运算器内
  • 控制器用来完成指挥、控制程序和数据的输入、运行和处理运算结果
  • 输出设备的转换过程就是输入设备的逆过程,即将运算结果转换为人们可以熟知的形式

由于运算器和控制器在电路结构上的关系非常紧密,所以通常将运算器和控制器统称为 CPU,把输入/输出设备统称为 IO设备,存储器就是内存

所以现代计算机的构成一般就是 CPU + 存储器 + 输入/输出设备

使用这种连接方式后,使 IO 与主存之间的信息交换可以不经过运算器,并且随着中断、DMA 技术的发展和成熟,使 CPU 效率得到很大的提高。

但是使用这种方式,仍然不能解决 IO 设备和主机之间连接的灵活性,因为当我们想增加一种 IO 设备时,这种连接方式却无法处理,由此出现了总线的连接方式。

以 CPU 为主的双总线连接方式

总线采用的是多种 IO 部件共享的连接方式,总线实际上是由许多传输线组成,每条线可一位一位的传输二进制数据,比如 16 条传输线可以同时传输 16 位二进制代码。

下面是一种以 CPU 为中心的双总线结构

微信图片_20220416174627.png

上图的这种连接方式就是一种总线的连接方式,它将各部件连接到一组公共传输线上。从图中可以体会出双总线的概念:其中一组总线连接 CPU 和内存,称为存储总线;另一组用来建立 CPU 和各 I/O 设备之间交换信息的通道,称为 IO 总线。

这种连接方式也会出现问题,当多个部件与总线相连时,如果两个及以上的部件同时发送消息,那么势必会产生信号冲突,导致传输无效。所以,在同一时刻只允许有一个部件发送消息,但是可以有多个部件接收消息。

单总线结构设计

如果将 CPU 、主存和 IO 设备通过 IO 接口都挂到一组总线上,就形成了单总线的连接方式。

微信图片_20220416174631.png

这里思考一个问题,你觉得单总线的连接方式和以 CPU 为主的双总线的连接方式相比,最大的区别在哪里?

以 CPU 为主的双总线连接方式中,CPU 和 IO 总线的交互需要 CPU 参与,CPU 和内存的交互也需要 CPU 参与,所以 CPU 无时无刻都在做功,这也得亏是 CPU ,换个其他人得累死。

单总线连接连接方式,因为 CPU 、内存和 IO 都挂在同一个总线上,所以内存和 IO 交互不需要 CPU 的参与,这就是最大的改变。这种连接方式同样也会出现问题,因为只有一组总线,当各个部件都需要交换信息时,就会发生冲突,所以,在这种设计中,需要设定总线占用优先级,让各个组件按照优先级顺序来依次占用总线。这也是为什么编程语言中使用锁作为线程安全性的真正原因。

还有一个问题是 CPU 没有和内存直接交互,大大影响工作效率。

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

还有一种连接方式是以存储器为中心的双总线结构,它的设计如下

微信图片_20220416174635.png

这种总线设计结构就很舒服了。它是在上面单总线结构的基础上,在 CPU 和内存之间增加了一条存储总线,在 IO 使用系统总线频率比较高的时候,CPU 和内存可以通过存储总线交互,这样既大大加快了系统工作效率,又降低了总线开销。还保留了内存和 IO 交互时不需要经过 CPU 的特点。

后记

这次尝试写了一下计算机组成原理相关的文章,到时候可以和计算机基础那本 PDF 合并一下,不知道计算机组成相关的大家感兴趣么,如果感兴趣,可以帮我点个赞哟~

相关文章
|
6月前
|
存储 芯片 块存储
计算机组成原理(1)----存储器相关(1)
计算机组成原理(1)----存储器相关
172 4
|
6月前
|
存储 固态存储 芯片
计算机组成原理(1)----存储器相关(2)
计算机组成原理(1)----存储器相关
124 1
|
6月前
|
存储 芯片
【计算机组成原理】总线
【计算机组成原理】总线
161 0
【计算机组成原理】总线
|
6月前
|
存储
【计算机组成原理】指令系统
【计算机组成原理】指令系统
216 0
【计算机组成原理】指令系统
计算机组成原理(2.2)--系统总线
它是将 CPU 、主存、 I/0 设备(通过 I/0 接口)都挂在一组总线上,允许 I/0 设备之间、I/0 设备与 CPU 之间或 I/0 设备与主存之间直接交换信息。
117 0
|
存储 芯片
计算机组成原理(2.1)--系统总线
总线(分散连接):连接多个部件的信息传输线,是各部件共享的传输介质。 分散连接:各部件之间使用单独的连线
120 0
|
存储 芯片
计算机总线(上)
本文介绍计算机硬件结构中第一部分的内容:系统总线。由于篇幅原因,会分为上、下两篇文章。
209 0
计算机总线(上)
|
存储 算法 芯片
计算机组成原理-系统总线
计算机组成原理-系统总线
182 0
|
存储
计算机组成原理(2)总线
2.1.概述 总线,连接多个部件的信息传输线,是各个部件共享的传输介质。当多个部件与总线相连时,在某一时刻,只允许有一个部件向总线发送消息,而多个部件可以同时从总线上接收相同的信息。 总线一共有三种: 数据总线 传输数据信息 地址总线 传输数据总线上传输的数据在内存中的地址 控制总线 传输控制信号,如中断信号、复位信号、就绪信号等。
138 0
|
存储 缓存
计算机组成原理(3)存储器
3.1.概述 3.1.1.定义 存储器,用于存储数据和程序。存储器中,以二进制的方式存储数据和程序,存储器由N个存储单元构成,存储单元由N个存储电路组成,这N个存储电路用来保存一个N位二进制数。每个存储单元的编号称为==地址==,存储器中能存放的数据的总位数(byte)称为存储容量,常用单位,KB、MB、GB…..
555 0