【发布时间】:2012-11-16 22:26:44
【问题描述】:
当我阅读以下摘录时,我正在处理The Elements of Computing Systems:
Hack 计算机包括一个由 256 个组成的黑白屏幕 每行 512 像素的行。屏幕的内容由 从 RAM 地址 16384 (0x400) 开始的 8K 内存映射。每一行 在物理屏幕中,从屏幕的左上角开始,是 在 RAM 中由 32 个连续的 16 位字表示。因此像素在 顶部的 r 行和左侧的 c 列映射到 c%16 位于 RAM[16384 + r * 的字的位(从 LSB 到 MSB 计数) 32 + c%16]。要写入或读取物理屏幕的像素,一个 读取或写入 RAM 驻留内存映射中的相应位 (1 = 黑色,0 = 白色)。
那么,如果屏幕是 256 行,每行 512 个像素,每个像素是一个位,那么整个屏幕的 8K 内存映射如何?
256 行 * 512 位 = 131072 / 8 位 / 字节 / 1024 字节 / K = 16K
那不是 16K 内存映射吗?
我唯一能想到的是,因为字长是 16 位,也许这是一个因素?我一直都知道“字节”的意思是 8 位,但如果它的定义取决于计算机的字长,也许这会为我解开这个谜。有人可以向我解释那段中描述的屏幕是如何用 8K 内存映射而不是 16K 表示的吗?
【问题讨论】:
-
您将其解释为“8K 字节”,但它似乎意味着“8K 字”