合用总线怎么区分地址和数据

2024-03-20 阅读181 评论0 喜欢0

众所周知,总线就是用来帮助连接两个或多个计算机组件,计算机内部存在三种类型的总线,地址总线、数据总线和控制总线。

地址总线:这决定了处理器将从内存中读取数据或写入数据的内存位置。

数据总线:它包含已从内存位置读取或将写入内存位置的数据内容。

控制总线:它管理组件之间的信息流,指示操作是读取还是写入,并确保操作在正确的时间发生。

孤立地看,微处理器、内存和输入/输出端口是不同的计算机组件,但它们不能做任何有用的事情。

如果它们能够相互通信,组合起来就可以形成一个完整的系统。这种通信是通过将系统各部分连接在一起的信号线束(称为总线)完成的。

我今天就讲一下地址总线和数据总线的特点和用途。

1、地址总线

地址总线是一种微处理器用于传输内存物理地址的计算机总线。它是单向的,只能在一个方向传输数据的 I/O 和数据的内存地址。

CPU 和 DMA(直接内存访问)使用地址总线来定位用于通信的物理地址,计算机处理器使用地址总线从内存中定位数据的位置,在需要访问时指定物理地址的单个内存块,这有助于读取/写入数据。

CPU 和 DMA 以二进制位的形式读/写所有的地址总线。

当系统要在内存中写入数据时,它会发送写入信号并将写入地址放在地址总线上,通过地址总线定位内存中的某个位置,然后将特定数据放在数据总线上,将数据传输到该位置。

同理,当系统要从内存中读取数据时,它会在地址总线上发送读取命令信号。当内存接收到读取信号时,它将从内存中获取特定数据并将特定数据放回数据总线上。

一条 32 位宽的总线可以寻址 2^32 个内存块,相当于 4GB 内存空间。现在,新的计算机都在使用 64 位地址总线。

我简单计算一下,为什么32 位宽的地址总线可以 4GB 的内存空间,计算结果如下:

4GB = 4 * 2^10 MB
    = 4 * 2^10 * 2^10 KB
    = 2^2 * 2^10 * 2^10 * 2^10 B
    = 2^32 B

4GB 表示有 2^32 个字节(byte),而内存中最小的存储单位就是字节。

所以 4GB 内存有 2^32 个位置(内存地址)可以存储数据,这样的话,32 位地址总线,就可以遍历完 4GB 物理内存中的所有位置地址。

所以如果电脑的地址总线宽度为 32,那么即使有 8G 内存,其中的 4 个 G 的内存也是用不了的(想使用 8G 内存,至少需要总线宽度为 33)。

2、数据总线

数据总线有助于将数据从一个设备传输到另一个设备,数据总线是双向的,它有助于发送和接收数据。

数据总线承载数据,然后将它们存储在特定位置,这有助于在不同的计算机组件之间发送数据。

在数据总线中,宽度是指传输数据的速率,即一次可以传输的数据位数,类似于高速公路上的车道数,2019 年制造的所有计算机都有 64 位数据总线(64 位机器)。

数据总线仅用于传输数据信号,分为内部和外部数据总线,内部总线在处理器内部传输或传输信息或数据,而外部总线在处理器和内存之间传输数据。

对于读取和写入操作,均使用相同的数据总线,当系统调用写入命令时,处理器会将写入的数据放入数据总线上。同样,当系统调用读命令时,内存控制器会从某个内存块中获取数据,然后通过数据总线发送出去。

通过控制总线来控制写入还是读取。

数据总线速度也影响计算机系统的整体处理性能。32 位是数据总线的第一个标准,但现在新的数据总线可以处理更多的数据量。

需要注意的是:

数据的每一位都必须在数据总线的不同线上传输,假如数据总线宽度为8,则数据 7 表示为 0000 0111,这些 0 和 1 比如分别放在 8 条数据总线上。


不只是科技数码,还有一些有趣的生活分享给大家

  • 文章

    0

  • 浏览

    0

  • 获赞

    0

赞一个、收藏了!

分享给朋友看看这篇文章

热门推荐