奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 209 页

PDF 物理页索引 225 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
209
PDF 物理页
225(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
8f7b8eda3fe1378626e10aa114a216af5583c216efd52cb4ccbedd5582a074ce

前面已经向大家演示了怎么搭建小型RAM阵列,你可能会问:为什么不搭建一个大规模的RAM阵列呢?就像下面这样。

上图所示的RAM阵列可存储8192个比特的信息,每8个比特为一组,共分为1024个组。因为2的10次方恰好是1024,所以地址端共有10个输入端口。电路还包括8位的数据输入端和8位的数据输出端。

从专业的角度来讲,这个RAM阵列的存储容量为1024个字节。就好比一个邮局放置了1024个邮箱,而每个邮箱里面都可以存放1字节大小的邮件(希望不是垃圾邮件)。

1024字节通常简称为1千字节(kilobyte),1K这种称呼不可避免地要引起许多混淆。其中它的前缀kilo(源于希腊文khilioi,意思为1000),经常在公制系统中用到。比如1千克( kilogram)代表着 1000 克(grams);1 千米(kilometer)代表着 1000 米(meter)。有所不同的是,这里所说的1千字节却代表着1024个字节——并非1000个字节。

它们之间不同的根本原因在于公制系统是基于10的幂的计数系统,而计算机采用的是基于2的幂的计数系统,它们之间没有交集。比如10的幂为10、100、1000、10000、100000等,而2的幂为2、4、8、16、32、64等。我们可以证明不存在一对整数a和b使得10的a次幂与2的b次幂相等。

但是偶尔也会碰见非常接近的数字。事实的确如此,1000十分接近1024,用数学化的描述方法可以称这种关系为“约等于”,这样我们可以得到相应的数学表达式:

$$
2 ^ { 1 0 } \approx 1 0 ^ { 3 }
$$

这个表达式并非空穴来风,它真正的意义在于表明2的某次幂和10的某次幂几乎相等。我们利用这一巧合可以很方便地把1024个字节的存储空间用1千字节来表示。

16 存储器组织

RAM 阵列的存储容量 = 2 地址输入端的个数

209