CPU的“三条”总线

年底前会集中研究汇编语言,顺便分享一波学习心得。在网上找到了一本神书:王爽老师的《汇编语言(第3版)》,内容通俗易懂,例子风趣活泼,相见恨晚。如果你也对汇编感兴趣想学一学,后台回复:汇编二字即可获取该书的电子版。

汇编语言是面向机器的符号语言,也是一门低级语言……在这个不懂点Python都不好意思说话的大数据时代,学汇编是不是脑子进水了?

非也!

做底层开发、内核开发、驱动开发等,汇编语言扮演着及其重要的角色!

汇编是直接控制硬件的唯一语言!

汇编的执行速度比C还要快大概10倍!

呵呵,勉强找了三个理由支撑我的求知欲。

今天是汇编专辑的第一弹,这篇聊聊总线的故事。

图片

总线

CPU是计算机的“大脑”,它控制整个计算机的运转。

如何让CPU工作起来呢?

很简单,向它提供指令和数据就可以了。

那么指令和数据在哪里呢?

当然是存储器,也就是我们平时所说的内存。在内存中指令和数据没有任何区别,都是二进制信息。一台PC 机按重要性排序,CPU坐头把交椅,第二便是内存。离开了内存,性能再好的CPU也无法工作。

那么CPU是如何从内存中进行信息的传递呢?

CPU想要操纵数据的读写,必须和芯片进行信息交互:

​ 1. 地址信息——数据存在哪?

​ 2. 控制信息——读还是写?

​ 3. 数据信息——具体要读写的数据是什么?

针对这三类信息,CPU和存储器芯片之间是如何传递呢?我们知道计算机靠电信号传递信息,电信号用导线来传送,那么CPU与芯片的导线,就是总线(bus)!

图片

所以说,总线就是一堆物理上实际存在导线。按照信息类型,物理意义上的总线按照逻辑可划分为:

地址总线

控制总线

数据总线

图片

我们模拟一次交互过程:

​ \1. CPU通过地址总线将地址信息发出;

​ \2. CPU通过控制总线发出内存读命令,选中存储器芯片并通知其要进行读操作;

​ \3. 发出的地址信息对应的存储单元中的数据通过数据总线送人CPU。

图片

流程是不是很简单呢?

CPU通过地址总线来指定存储单元的位置。所以地址总线的越多,则CPU传送的信息量越大,那么CPU的寻址能力则越强;

数据总线越多,则数据传送的速度越快。8根data bus一次可以传送1byte,16根一次可传送2byte,依次类推。

严谨来讲,控制总线是一堆控制线的集合,控制总线越多,则CPU对外部器件的控制能力越强。

总结

每一个CPU 芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能:

  • 地址总线的宽度决定了 CPU的寻址能力;
  • 数据总线的宽度决定了 CPU 与其他器件进行数据传送时的一次数据传送量;
  • 控制总线的宽度决定了 CPU对系统中其他器件的控制能力.

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fly_wt/article/details/121315027