如何判断处理器可以生成多少个内存地址

how to tell how many memory addresses a processor can generate

Let's say a computer can hold a word size of 26 bits, I'm curious to know how many memory addresses can the processor generate?

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

I'm also curious to know that if let's say that each cell in the memory has a size of 12 bits then how many bytes of memory can this processor address?

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

I'm thinking that the maximum number it can hold would be 2^26 - 1 and can have 2^26 unique memory addresses.

同意。我们通常将此称为 address space.

的大小

至于下一个问题:

如今,字节这个词通常被认为是 8 位,所以 12 位就是 1.5 字节。不过,这是一个术语问题,在过去很长一段时间里有所不同。

所以,我会说 226 12 位字能够 holding/storing 226 * 1.5 字节,尽管它们不能单独寻址,但必须打包和解包才能访问单独的字节。

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

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