【发布时间】:2020-12-10 22:04:11
【问题描述】:
对于这么简单的问题,我很抱歉,但这个问题与我息息相关。所以 exp 我们有 20 位的地址总线。
这是否意味着 ram 中的地址应该有 20 位大小,如果数据总线有 16 位,则 ram 中的值是 16 位代码?
【问题讨论】:
对于这么简单的问题,我很抱歉,但这个问题与我息息相关。所以 exp 我们有 20 位的地址总线。
这是否意味着 ram 中的地址应该有 20 位大小,如果数据总线有 16 位,则 ram 中的值是 16 位代码?
【问题讨论】:
地址总线指示可寻址项目的大小,包括内存、BIOS、视频内存、任何 I/O 映射设备……。数据总线表示一次可以传输多少位。
20 位将是 1 MB 的地址空间。但是,可以使用支持扩展内存的外部芯片来允许更多内存。我记得一个使用 80186 的嵌入式设备(1980 年代的磁带驱动器),具有自定义扩展内存接口以支持超过 1MB 的内存。
【讨论】:
在过去 45 年左右制造的任何类似 PC 的(微型)计算机上,内存中最小的可寻址单元始终是 8 位字节。
并且总线大小并不表示字长或可寻址范围。以古老的Motorola 68000 CPU 为例,它有一个外部 16 位数据总线和一个 24 位地址总线。但在内部它都是 32 位的,指令可以从内存中获取 8 位、16 位或 32 位的值,并且所有 32 位地址空间都是可寻址的(即使不是全部都被使用)。
更高版本的 68k CPU 添加了完整的外部 32 位总线(使用 68020)。
【讨论】: