总线和内存传输

2025年3月17日 | 阅读 3 分钟

一个数字系统由许多寄存器组成,必须提供路径以将信息从一个寄存器传输到另一个寄存器。 如果在系统中每个寄存器和所有其他寄存器之间使用单独的线路,则连接所有寄存器的导线数量将会过多。

另一方面,对于在多寄存器配置系统中在寄存器之间传输信息,总线结构效率更高。

总线由一组公共线路组成,每个寄存器位对应一条线路,二进制信息一次通过一条线路传输。 控制信号决定在特定寄存器传输期间总线选择哪个寄存器。

下面的框图显示了四个寄存器的总线系统。 它由四个 4 * 1 多路复用器构成,每个多路复用器有四个数据输入端(0 到 3)和两个选择输入端(S1 和 S2)。

我们使用标签是为了让您更方便地理解四个寄存器的总线系统的输入-输出配置。 例如,寄存器 A 的输出 1 连接到 MUX1 的输入 0。

Bus and Memory Transfers

两条选择线 S1 和 S2 连接到所有四个多路复用器的选择输入。 选择线选择一个寄存器的四个位,并将它们传输到四线公共总线。

当两条选择线都处于低电平逻辑时,即 S1S0 = 00,则选择所有四个多路复用器的 0 数据输入,并将其应用于形成总线的输出。 反过来,这会导致总线线路接收寄存器 A 的内容,因为该寄存器的输出连接到多路复用器的 0 数据输入。

类似地,当 S1S0 = 01 时,选择寄存器 B,并且总线线路将接收寄存器 B 提供的内容。

下表显示了总线为选择线的四种可能二进制值选择的寄存器。

Bus and Memory Transfers

注意:构建总线所需的多路复用器的数量等于每个寄存器中的位数。 每个多路复用器的大小必须为“k * 1”,因为它复用“k”条数据线。 例如,八个 16 位寄存器的公共总线需要 16 个多路复用器,总线中每条线一个。 每个多路复用器必须有八个数据输入线和三个选择线,以便复用八个寄存器中的一个有效位。

总线系统也可以使用三态门而不是多路复用器来构建。

三态门可以被认为是一种数字电路,它有三个门,其中两个信号分别等效于逻辑 1 和 0,就像在传统门中一样。 但是,第三个门表现出高阻抗状态。

在总线系统的情况下,最常用的三态门是缓冲门

三态缓冲门的图形符号可以表示为

Bus and Memory Transfers

下图演示了使用三态缓冲器构建总线系统。

Bus and Memory Transfers
  • 四个缓冲器生成的输出连接起来形成一条总线线路。
  • 在给定的时间点,只能有一个缓冲器处于活动状态。
  • 缓冲器的控制输入决定了四个正常输入中的哪一个将与总线线路通信。
  • 一个 2 * 4 解码器确保在任何给定时间点最多只有一个控制输入处于活动状态。

内存传输

以下列出了用于指定内存传输操作的大多数标准表示法。

  • 将信息从存储单元传输到用户端的行为称为读取操作。
  • 将要存储在内存中的新信息传输到内存的行为称为写入操作。
  • 存储字由字母M指定。
  • 在编写内存传输操作时,我们必须指定存储字的地址。
  • 地址寄存器AR指定,数据寄存器DR指定。
  • 因此,可以将读取操作表示为
  • Read语句导致信息从地址寄存器 (AR) 选择的存储字 (M) 传输到数据寄存器 (DR) 中。
  • 相应的写入操作可以表示为
  • Write 语句导致信息从寄存器 R1 传输到地址寄存器 (AR) 选择的存储字 (M) 中。
Bus and Memory Transfers
下一个主题算术微操作