计算机中有许多地方需要八根导线将寄存器连接在一起。例如,我们的寄存器有八个内存位,每个都有一个输入和一个输出。为了简化图表,我们将用双线替换八根导线。所以我们的寄存器可以看起来像这样。

或者简化为:
![]()
这完全是一样的,简化的会让它们更容易理解。当这两束导线之间存在连接时,每束导线中的一根导线连接到另一束导线的一根,如左图所示。但我们会简化它,就像右边的图一样画出来。

这种由八根导线组成的结构在计算机内部非常常见,并被称为bus(公共汽车)。它为什么叫bus?嗯,这可能与旧的电气术语“总线”有关,这意味着在发电厂之类的地方,一根金属棒用作非常大的电线。但与人们用于交通的公共汽车也有一个有趣的相似之处。
公共汽车是一种通常沿着预定路线行驶的车辆,在人们上下车的地方停很多站。公共汽车从某处出发,然后把他们带到其他需要去的地方。在计算机世界中,总线只是一组八根线,它们连接到计算机内部的各个地方。当然,8是携带一个字节的信息。在计算机内部,字节的内容需要从它们所在的位置到达其他位置,因此总线会到达所有这些位置,寄存器的设计允许任何选定字节的内容到达总线,并在选定的目的地下车。
下面的例子中,我们有一个总线,并且有5个寄存器,每个寄存器都有输入和输出,并且连接同一个总线。

如果所有的“s”位和“e”位都关闭,则每个寄存器都将按原样设置,并保持原样。如果您想将信息从R1复制到R4,首先打开R1的“e”位。R1中的数据现在将在总线上,并且在所有五个寄存器的输入端都可用。如果随后短暂打开并关闭R4的“s”位,总线上的数据将被捕获到R4中。字节已被复制。所以电脑总线有点像载人的公共汽车。有许多站台,字节可以到达它们需要的位置。
注意,我们可以将任何字节复制到任何其他字节。您可以将R2复制到R5中,或将R4复制到R1中。总线可以在任意方向工作。当您启用任何寄存器时,总线上的电力将尽可能快地传输到总线上其他所有设备的输入端。您甚至可以在总线上启用一个寄存器,并将其同时设置进入两个或多个其他寄存器。您不想做的一件事是同时将两个寄存器的输出启用到总线上。
就比特位的大小而言,您可以这样看:当R1的“e”位打开时,R1中的比特位现在变长了,它们的空间更大,因为它们现在连接到总线,所以这8位现在包括R1和整个总线。当R4的“s”位打开时,R1位会变得更大,因为它们现在包括R1、总线和R4。如果此时R1中的任何内容以某种方式发生变化,总线和R四会立即随之变化。当R4的“s”位关闭时,R4将恢复其作为单独字节的状态,当R1的“e”位关闭后,总线不再是R1的一部分。
所以这就是计算机公共汽车的概念。它是一束八根电线,通常会连接到许多地方。
关于寄存器还有一件事:在很多地方,我们要将寄存器的输入和输出连接到同一总线,因此为了进一步简化,我们可以只显示一束标记为“i/o”的导线,表示输入和输出。就其工作方式而言,以下所有内容都是完全相同的。可以调整图纸上电线的位置,使其尽可能整齐。

另一中语言注解:字节是256种状态之一的位置信息。有时我们会讨论将一个字节从这里移到那里。根据定义,字节不会在计算机内部移动。字节仅指位置,但有时当有人想引用字节的当前设置时,他们应该说“让我们将R1的内容复制到R4中”,他们会简化并说“将R1移动到R4”或“将这个字节移到那里”。使用单词byte表示字节的内容。在上面将R1的内容复制到R4的示例中,您可能会听到它被描述为“将字节从R1移动到R4”。从技术上讲,R1和R4是字节,它们不会移动,只有内容会从一个地方移动到另一个地方。
此外,内容不会离开它们的来源地。当您完成“移动”一个字节时,“from”的字节没有改变,它不会丢失它所拥有的内容。在另一端,原来在“to”字节中的内容现在“消失了”,它没有去任何地方,它只是被新信息覆盖了,旧内容就不复存在了。字节没有移动,两个位置仍有两个字节,但第一个字节中的信息已复制到第二个字节中。
总之,计算机里字节(数据)不会被删除,只能被覆盖。