尝试理解计算机总线的图片

尝试理解计算机总线的图片

在这张来自http://en.kioskea.net/contents/pc/bus.php3这解释了计算机中的总线

在此处输入图片描述

  1. 请问CPU到南桥的黑线也是总线吗?图片上没标出来,叫什么名字?
  2. 那些来自 LAN、SCSI、ISA、USB、IDE 的短黑线也是总线吗?它们的名字是什么?

    请注意,图中来自二级缓存、AGP 和 RAM 的黑线分别称为处理器总线、AGP 总线和内存总线。

  3. 从 CPU 到南桥的黑线是否与 PCI 总线和处理器总线相交?
  4. 数据流是怎样的?

    例如,我的以下理解是否正确?

    从CPU到二级缓存,路线是从CPU到处理器总线的黑线。

    从CPU到AGP或者RAM,路线是从CPU、北桥、AGP总线或内存总线出发的黑线。

    从CPU到LAN或者SCSI,路线是CPU→北桥→PCI总线→LAN或SCSI的黑线。

    从CPU到ISA、USB、IDE中的任意一个,路线为从CPU出发的黑线、北桥、南桥,再从ISA、USB或IDE出发的黑线。

    非CPU组件之间的数据流是怎样的?

谢谢!

答案1

总线只是一种通讯媒介,具有以下特性:

  • 可以连接多个实体
  • 如果一个实体向总线发送消息或“执行某项操作”,则其他所有实体都可以看到它
  • 如果两个实体试图在同一时间进行通信,就会发生不好的事情
  • 需要一种协议或一套规则,以便总线上的所有组件都有一个可以轮流使用的系统。通常,该协议根据总线的用途和速度而不同
  • 使用某种寻址方案,设备可以说出自己是谁以及想要与谁交谈
  • 如果多个实体拥有相同的地址,就会发生不好的事情
  • 至少,想要在总线上“交谈”的实体在尝试通过总线发送数据之前,需要查看是否有活动正在进行
  • 想要在总线上“监听”的实体通常需要监听自己的地址,并且只获取对它们有意义的数据

如果您对网络有任何了解,并且其中大部分内容听起来很熟悉,那么概念上就非常相似。

浅蓝色线表示总线。深蓝色线表示与总线相连的物体。

回答您的问题:

  1. 在我看来,CPU 需要经过处理器总线、北桥和 PCI 总线才能到达南桥。
  2. 我相信它们代表与总线的连接。在我看来,标签似乎在标识较粗的浅蓝色线条。恕我直言,该图可能会更好一些。请注意,AGP 代表“加速图形港口“——从技术上讲,它不是总线,因为其中没有多个组件发挥作用(这也是 AGP 被发明的原因之一)。但对于软件来说,它看起来像是另一个 PCI 总线。
  3. 我认为是这样。IIRC 设备驱动程序为了访问​​南桥组件,需要以编程方式与 PCI 总线进行交互。
  4. 请参阅我的首段。总线可以连接到另一条总线并负责通过它转发数据。如果您曾在 Windows 设备管理器或 中看到过“PCI-PCI 桥接器”设备,它们就是 PCI-PCI 桥接器lspci

答案2

这是来自Ars Technica这可能更清楚

在此处输入图片描述

答案3

任何计算机中只有 3 条“总线”:数据总线、地址总线和控制总线。就是这样。这是从上到下的非常简单的视图。数据总线和地址总线非常明显且相对简单。但是,控制总线可能会变得非常复杂,因为它涉及几乎所有其他内容,包括(可能尤其是)时序。

我在这里看到的是一个基本的系统图。系统中的某些东西负责某些资源/进程。正如您所预料的,CPU 位于堆的顶部,负责几乎所有事情。下面(在层次结构中)是北桥,它直接控制视频和 RAM。北桥通过 PCI“总线”以及 LAN 和 SCSI 系统间接控制南桥。但是,南桥直接控制 ISA、USB 和 IDE 设备。因此,如果您想检索 IDE 驱动器上的数据,您的 CPU 将通过北桥,然后北桥通过 PCI 总线请求该数据,然后南桥又获得 IDE 资源来提供它(或者更准确地说,南桥告诉 IDE 设备何时将信息放在地址/数据总线上 - CPU 真正控制着它)。

你可能把这件事弄得太复杂了。CPU 仍然是每台计算机的核心。因此,你的图表是实际使用的任何“总线”的一个糟糕例子。事实上,整个图表可能被认为是对控制总线的描述——而且只是控制总线。它很好地展示了某些子系统的作用,甚至直接控制某些资源的是什么,但绝对没有表明实际硬连线的内容或整个计算机的实际工作方式,至少在总线结构方面。

答案4

  1. 北桥将南桥与 CPU 连接起来,因此 CPU 和 SB 之间没有直接总线。
  2. 大多数这些“总线”都有自己的自描述名称,例如 ISA 总线、PCI 总线等。其他一些则不太明显,例如 LPC 总线,它将大多数低带宽设备连接到 SB,从而连接到 CPU(例如超级 I/O 控制器、BIOS 等)。
  3. 不,正如描述的那样,这个“总线”并不存在。但是在与图表下半部分的设备进行通信的情况下,数据必须通过“总线”从 CPU 传输到北桥(我引用总线是因为 NB 可能集成在 CPU 上),然后再通过通常是 PCI 总线的总线传输到 SB,反之亦然。
  4. 由于当今的处理器变得越来越复杂,因此对内存、总线和缓存访问采用不同的方法,因此没有一种简单的方法来回答这个问题。大多数现代处理器都集成了内存控制器,因此无需与北桥通信以实现 DMA。例如,英特尔的新型处理器采用 QPI 总线与类似于传统北桥的芯片通信,只是它没有内存控制器,而是通过 QPI 总线与 CPU 通信,QPI 总线取代了传统的前端总线 [FSB]。

我认为 Wiki 中的这张图片可能是一个更有用的助记符,可供您学习:http://upload.wikimedia.org/wikipedia/commons/b/bd/Motherboard_diagram.svg(无法嵌入 SVG 文件)。

相关内容