【问题标题】:is the address bus indicate the size of the address in ram?地址总线是否指示ram中地址的大小?
【发布时间】:2020-12-10 22:04:11
【问题描述】:

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

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

【问题讨论】:

    标签: memory cpu-architecture


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 对于 1970 年代的一些小型计算机,大多数指令的最小正常可寻址单元是 16 位字,有些使用索引寄存器来访问 8 位字节(例如,HP 2100 系列) .
      • @rcgldr 更不用说 36 位系统在 80 年代仍然很强大。这就是为什么我很难过“PC-like”。 IE。 微型 计算机。 :)
      • 另外,SDRAM(包括当前的DDR4 SDRAM)分别传输地址的行和列部分,因此它可以寻址大量的RAM而不需要大量的引脚。 en.wikipedia.org/wiki/DDR4_SDRAM#Command_encoding 显示行地址使用 18 位,列地址使用 10 位。 (并且“可寻址单元”是一个 64 字节的突发,它可以被截短,并且在以前的 DDR 版本中可以被屏蔽)。因此,您可能会争辩说,从问题或这个答案所谈论的意义上说,它没有“地址总线”。
      • 第一台 PC 是 1981 年,早于 CP/M 或“家用”型计算机的类似操作系统。 Pertec PCC 2000 是基于 8085 的小型办公室/家庭计算机,运行 CP/M 和 16 位寻址,但扩展了类似存储的内存接口,可提供高达 1 MB 的地址空间。 CP/M“bios”使用存储的内存来最大化主用户 RAM 的数量。
      猜你喜欢
      • 1970-01-01
      • 2013-05-14
      • 2019-02-19
      • 1970-01-01
      • 2013-02-22
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多