selfLearn 发表于 2021-9-23 14:35:03

我对地址总线的理解是否正确?

本帖最后由 selfLearn 于 2021-9-23 18:31 编辑

教程讲到“地址总线指定存储单元,地址总线宽度代表寻址能力”

可以理解成
地址总线的宽度代表CPU可以支持的内存大小么。地址总线宽度越大支持的内存越大
像是家用CPU可支持双通道四插槽最大64G内存,服务器CPU指出四通道更大的内存这样

然后因为地址总线指定存储单元,所以每一位地址总线就相当于一个存储单元,所以最小单位是字节Byte,跟数据总线每一位代表一位bit不同。


static/image/hrline/line4.png
static/image/hrline/line4.png

static/image/hrline/line4.png


之前写的有点乱 我现在重新梳理下

小甲鱼在基础知识03视频里 05:1009:40“64位CPU 位数代表寻址能力。 64位相当于有64根地址总线 每次可以走8个字节(64位数据)”

根据书里的“CPU最多可寻找2的N次方个内存单元”

那么 64位CPU 最多可寻找 2^64 个内存单元

和小甲鱼说的最多可以走8字节肯定是不一样的,那是小甲鱼诳我?
按小甲鱼的意思 和书里就自相矛盾了
那小甲鱼说的意思怎么想才算正确呢?

现在这个例题我会做了,之前一直纠结小甲鱼和书里的事

例题里
“1个 CPU 的寻址能力 8KB,他的地址总线宽度是___”


8KB
= 8 * 1024Byte
= 2^3 * 2^10Byte
= 2^13Byte

这个Byte 就是存储单元的意思吧。
如果我猜的是对的,那这种存储单位和进制往一起算的方式我一时间还难以接受。

newu 发表于 2021-9-23 14:56:39

像是家用CPU可支持双通道四插槽最大64G内存,服务器CPU指出四通道更大的内存这样这个可能不一定是这样。

所以每一位地址总线就相当于一个存储单元 说“每一位”不太合理,只能说地址总线指向了某个内存单元。 最小字节是Bytes这个是与内存有关的,与总线没什么关联。

jackz007 发表于 2021-9-23 16:41:22

       地址总线宽度代表数据容量,例如,对于 8 位地址总线而言,其数值表达能力为 2 ^ 8 = 256,就是说,8 个二进制位总共能表达 256 个不同的数值,其寻址能力就是 256;8088 处理器的数据总线宽度是 20 位,它的寻址能力是 2 ^ 20 = 1048576,就是说,20 个二进制位总共能表达 1048576 个不同的数值,如果 CPU 实际的存储空间超过这个数值,那么,超出的存储单元一定是无法访问到的。

selfLearn 发表于 2021-9-23 17:20:59

newu 发表于 2021-9-23 14:56
这个可能不一定是这样。

说“每一位”不太合理,只能说地址总线指向了某个内存单元。 最小字节是Byte ...

“ 最小字节是Bytes这个是与内存有关的 ...”
这里还是不太理解。能方便举例说明下么。谢谢了

selfLearn 发表于 2021-9-23 17:24:05

本帖最后由 selfLearn 于 2021-9-23 17:25 编辑

jackz007 发表于 2021-9-23 16:41
地址总线宽度代表数据容量,例如,对于 8 位地址总线而言,其数值表达能力为 2 ^ 8 = 256,就是说, ...

“8 个二进制位总共能表达 256 个不同的数值,其寻址能力就是 256”
这个寻址能力需要加单位么。 应该是256Byte 还是 256bit呢
因为检测点1.1的问题里“寻址能力为8KB”。那块我没太理解所以问一下


“如果 CPU 实际的存储空间超过这个数值,那么,超出的存储单元一定是无法访问到的。”
这里语句是不是顺序不对啊,读的不太通。
是————如果这个数值超过CPU实际的存储空间,那这个超出的存储单元一定无法访问的意思么?

jackz007 发表于 2021-9-23 17:28:34

本帖最后由 jackz007 于 2021-9-23 17:30 编辑

selfLearn 发表于 2021-9-23 17:24
“8 个二进制位总共能表达 256 个不同的数值,其寻址能力就是 256”
这个寻址能力需要加单位么。 应该 ...

       毫无疑问,计算机的存储单元是按字节计数的,每个单元可供存储一个字节。8 位地址总线的地址空间是 256,就是说,通过 8 位地址总线,CPU 最多可以存储和访问 256 个字节数据。

selfLearn 发表于 2021-9-23 17:35:58

jackz007 发表于 2021-9-23 17:28
毫无疑问,计算机的存储单元是按字节计数的,每个单元可供存储一个字节。8 位地址总线的地址空 ...

视频里小甲鱼说的 “64位CPU 位数代表寻址能力。 64位相当于有64根地址总线 每次可以走8个字节(64位数据)”

这又跟咱们现在说的 “按字节计数”又不一样

我现在有点钻牛角尖里了

jackz007 发表于 2021-9-23 17:43:28

selfLearn 发表于 2021-9-23 17:35
视频里小甲鱼说的 “64位CPU 位数代表寻址能力。 64位相当于有64根地址总线 每次可以走8个字节(64位数据) ...

          地址总线宽度代表的是 CPU 的寻址能力,和传输能力没有任何关系。数据总线宽度才能代表 CPU 传送数据的能力,如果数据总线是 64 位宽度。那么,这个 CPU 就具备每次传输 8 个字节(每个字节是 8 位,八八六十四)的能力。

selfLearn 发表于 2021-9-23 18:32:30

jackz007 发表于 2021-9-23 17:43
地址总线宽度代表的是 CPU 的寻址能力,和传输能力没有任何关系。数据总线宽度才能代表 CPU...

我又在帖子里重新梳理了一下,还劳驾您看看是不是那么回事。您辛苦

人造人 发表于 2021-9-24 10:42:30

“64位CPU 位数代表寻址能力。 64位相当于有64根地址总线 每次可以走8个字节(64位数据)”

每次可以走8个字节(64位数据)
一个字节是 8 bit,8个字节就是 64 bit
这个 64位数据 指的应该是 地址数据


那么 64位CPU 最多可寻找 2^64 个内存单元
和小甲鱼说的最多可以走8字节肯定是不一样的,那是小甲鱼诳我?

2^64 bit   2 的 64 bit 次方
2^ 8 byte 2 的 8 byte 次方

这两个是一回事,一样的,因为
64 bit == 8 byte

人造人 发表于 2021-9-24 10:50:20

这样理解

= 2^13Byte
地址总线宽度是 13 bit 的 CPU,可以寻址 2 的 13 次方 个字节的存储空间

selfLearn 发表于 2021-9-24 15:12:40

人造人 发表于 2021-9-24 10:42
“64位CPU 位数代表寻址能力。 64位相当于有64根地址总线 每次可以走8个字节(64位数据)”

每次可以走8个 ...

虽然是视频里随便打哈哈,随便说的一嘴。但确实让我困惑了好久。(他不加单位,确实坑人。怪不得叫小甲鱼哈哈)
但也让我学会了一点。虽然书写的读起来晦涩点,但也不能只看视频教程,应该视频和书结合着来。
页: [1]
查看完整版本: 我对地址总线的理解是否正确?