跳转到内容

电子学/RAM 和 ROM

来自 Wikibooks,开放世界中的开放书籍

RAM:随机存取存储器 ROM:只读存储器

电容器作为存储器

[编辑 | 编辑源代码]
  • 电容器 可以充电,充电后可以放电。
  • 充电后,它们就像一个电压源,但只能持续有限的时间,除非它们被“刷新”。
  • 如果充电,它们可以“刷新”,方法是反复充电,使它们的电压保持在指定的最小值以上。此过程可以在定期间隔内自动完成,并且仅适用于电压已高于该设定最小值的电容器。
  • “写入”电容器存储器意味着根据需要为该电容器充电或放电。如果其电压低于指定值,我们说一个存储器是“零”,如果高于指定值,则为“一”。将 1 写入存储器意味着为电容器充电,而将 0 写入存储器意味着为电容器放电。
  • “读取”电容器存储器相当于在它的端子上连接一个电压表,查看它的电压是否高于给定的最小值。

注意:现代存储器使用晶体管、门、二极管等。

参考 1:Commodore 64 个人电脑程序员参考指南,1988 年由 Commodore Business Machines, Inc. 出版。

  • 微处理器 6510 的部分特性
  • 对于 0,最小值为负 0.3 伏,最大值为正 0.3 伏。
  • 对于 1,最小值为正 2.0 伏,最大值为电源电压 (通常约为 5 伏) 以上 1 伏,但其绝对最大值为 7.0 伏。注意,静电 (例如,在地毯上摩擦产生的静电) 会造成很大损害,必须加以防范。


参考 2:为设计工程师提供的半导体存储器数据手册,1975 年由德州仪器公司出版。

  • 将“一个比特”想象成一个存储单元,例如一个电容器存储器。它可以根据需要包含“一个零”或“一个一”;“高” (H) 通常是 1,而“低” (L) 通常是 0。比特是二进制数的简称。
  • 字节是一组比特。一个比特只能表示“一个计数”为零或一,两个比特组合在一起形成一个字节可以表示一个计数为零到 3,三个比特组合在一起形成一个字节可以计数到 7,n 个比特组合在一起形成一个字节可以计数到 2n 减 1。一个包含 8 个比特的字节可以计数从 0 到 255。“字”是字节;它们都有规定的比特数。
  • 字节也可以组合;2 个字节,每个字节包含 8 个比特,可以计数到 256 乘 256 减 1,即 0 到 65535。
  • 字是一个概念,可以追溯到早期的计算机体系结构,其中单个存储“单元”与 8 个比特不同。常见的早期字大小通常是 10 个比特,但有时是 6 个或 20 个比特。
  • 通常,字被定义为内部存储 (即 RAM 或 ROM) 的存储总线大小,以及最小的独立可寻址存储单元。
  • 大多数现代 CPU 体系结构使用独立可寻址的字节体系结构,但一些现代 CPU (如奔腾和其他 x86 CPU) 如果存储器在字边界“对齐”,则可以更有效地执行存储器和指令任务。
  • 诸如长字等术语分别可以追溯到 16 位和 32 位 CPU 体系结构,并为向后兼容的软件工具提供了一个通用框架。最近,双字这个术语用于表示 64 位的存储器,尽管有时也使用八字这个术语 (因为它一次访问了 8 个字节)。
  • 大小端体系结构 定义了存储器在计算机 RAM 中的编码方式及其与字节地址的关系。通常,对于大多数软件来说,这并不是问题,除非您编写的数据文件 предназначены для consumption on multiple platforms that have multi-byte components.

地址总线连接

[编辑 | 编辑源代码]

正如邮递员需要在每个要送达/取回的物品上都有地址一样,访问存储器的特定字节也需要“送达”到特定的地址,或者从特定的地址“取回”。

  • 例如,一个存储器可以有 16 个地址连接,标记为 0 到 15。这意味着数据可以输入或取出特定存储单元,其地址在 0 和 (216 减一) 之间,即 0 和 65535 之间。

数据总线连接

[编辑 | 编辑源代码]

在将特定地址输入存储器后,将特定的给定数字“写入”数据总线连接,或者“读取”该地址的内容。

  • 例如,一个存储器可以有 8 个数据连接,标记为 0 到 7。这意味着输入到选定字节的数字必须在 0 和 (28 减一) 之间,即 0 和 255 之间。

读/写连接

[编辑 | 编辑源代码]

还有一个输入端子连接,指示所需的运行操作。0 输入到该连接可能表示下一个操作将是“写入”,而 1 可能表示下一个操作将是“读取”。

时钟连接

[编辑 | 编辑源代码]

一个存储器可能需要一个或多个时钟信号,可能是“相位 1”和“相位 2”等,它们是来自振荡器的存储器输入,这意味着它们在 0 和 1 之间快速交替。当时钟为 0 时,可以进行各种更改,例如更改地址和/或更改数据,但实际的读写操作仅在时钟为 1 时进行。一些存储器包括时钟振荡器,可能需要外部晶体。

RAM(随机存取存储器)

[编辑 | 编辑源代码]

RAM 是“随机存取存储器”,其大小和架构差异很大,用户可以将其地址字节中的任何一个设置为不超过给定最大值的任何数字,并且可以根据需要用另一个数字替换该数字。 一些内存提供写入内容的补码。

  • 例如,一个具有 1024 位的内存可能只需要将 0 或 1 写入 1024 个单元中的任何一个,而另一个内存可能需要每个字 4 位(0 到 15),但一次只能保留 16 个字,等等。

动态读写存储器

需要频繁刷新。

静态读写存储器

即使控制信号不存在,也会保留数据,但是此类存储器可以使用动态寻址。

ROM(只读存储器)

[编辑 | 编辑源代码]

ROM 是“只读存储器”。 它是在工厂生产的,通常其内容是固定的。 ROM 可以读取,但通常不能写入。 ROM 通常包含设备运行所需的非常重要的固定信息。

掩模编程只读存储器

在制造过程中使用掩模,内容不可更改。

可编程只读存储器

允许在制造后更改每个单元,但只能更改一次。

可重编程只读存储器

允许在制造后多次更改每个单元。
华夏公益教科书