【问题标题】:how to tell how many memory addresses a processor can generate如何判断一个处理器可以生成多少个内存地址
【发布时间】:2021-11-18 05:22:48
【问题描述】:

假设一台计算机可以容纳 26 位的字长,我很想知道处理器可以生成多少个内存地址?

我认为它可以容纳的最大数量是 2^26 - 1,并且可以有 2^26 个唯一的内存地址。

我也很想知道,如果假设内存中的每个单元的大小为 12 位,那么这个处理器可以寻址多少字节的内存?

我的理解是,在大多数情况下,处理器最多可以容纳 32 位,即 4 字节,每个字节为 8 位。但是,在这种情况下,每个字节将是 12 位,处理器将能够寻址 2^26/12 字节的内存。可以这么说吗?

【问题讨论】:

    标签: memory cpu-architecture memory-address


    【解决方案1】:

    我认为它可以容纳的最大数量是 2^26 - 1,并且可以有 2^26 个唯一的内存地址。

    我同意。我们通常把这个称为address space的大小。


    至于下一个问题:

    如今,术语字节通常被认为是指 8 位,因此 12 位表示 1.5 个字节。不过,这是一个术语问题,在过去很长一段时间内发生了变化。

    所以,我会说 226 12 位字能够保存/存储 226 * 1.5 个字节,尽管它们不能单独寻址,并且会被打包和解包以访问单独的字节。

    DEC PDP-8 计算机是 12 位计算机和字可寻址的,因此有多种存储字符的方案:一个 12 位字中有两个 6 位字符,一个 12 位字中还有 1 和 1/2 个 8 位字符。 12 位字,因此三个 8 位字符在两个 12 位字中。

    在内存中存储压缩布尔值时会出现类似的问题,其中每个布尔值只占用一个位,但处理器一次可以访问至少 8 个位,因此必须从更大的数据中提取一个位。

    【讨论】:

    • 有一个术语always表示8位,“八位字节”。如果我们正在考虑 12 位字节的可能性(这对于 12 位存储单元来说有些合理),最好说“八位字节”。 (在问题中更重要的是,尽管他们甚至询问的事实在某种程度上暗示他们假设为 8 位字节,否则如果存储单元根据定义始终为 1 字节,无论有多少位,这都是一个棘手的问题。)
    猜你喜欢
    • 2019-04-22
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2013-07-06
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    相关资源
    最近更新 更多