地址总线是否指示 ram 中地址的大小?

is the address bus indicate the size of the address in ram?

对于这么简单的问题,我很抱歉,但这个问题让我很困惑。所以 exp 我们有地址总线 20 位。

这是否意味着 ram 中的地址应该有 20 位大小,如果数据总线有 16 位,则 ram 中的值是代码 16 位?

地址总线指示可寻址项的大小,包括 ram、bios、视频 ram、任何 I/O 映射设备,...。数据总线表示一次可以传输多少位。

20 位将是 1 MB 地址 space。但是,可以使用支持扩展内存的外部芯片来允许更多内存。我记得使用 80186 的嵌入式设备(1980 年代的磁带驱动器)具有自定义扩展内存接口以支持超过 1MB 的 ram。

在最近 45 年左右制造的任何类似 PC 的(微型)计算机上,内存中的最小可寻址单元始终是 8 位字节。

并且总线大小并不表示字大小或可寻址范围。以古老的 Motorola 68000 CPU 为例,它有一个外部 16 位数据总线和一个 24 位地址总线。但在内部它都是 32 位的,指令可以从内存中获取 8 位、16 位或 32 位的值,并且所有 32 位地址 - space 都是可寻址的(即使没有全部使用)。

更高版本的 68k CPU 添加了完整的外部 32 位总线(带有 68020)。