存储器
复习
- 第二十六章:设计实现了寄存器,它可以保存少量数据
- 第二十九章:为了解决“线太多“的问题,引入了地址、译码器和存储矩阵,得到了能按地址取用的存储器
TL;DR
- 存储器按地址存取数据,容量远大于寄存器
- RAM:可读可写,但断电后数据丢失(易失)
- ROM:只能读,断电后数据保留(非易失)
- “内存“指 RAM,“硬盘“属于外存,二者的速度和用途都不同
正文
上一章,我们靠着地址、译码器和矩阵,做出了能存很多数据、又能按需取用的存储器。这一章把它看仔细些。
按地址存取
存储器的使用方式很简单:给一个地址,它就吐出(或吞进)对应单元里的数据。
- 写:把地址和要写的数据一起送进去,再拉一下写信号,数据就存好了
- 读:把地址送进去,拉一下读信号,数据就从数据线上出来
一个存储器能存多少个单元、每个单元多少位,都是设计时定好的。比如“1K × 8 位“,就是 1024 个单元,每个单元 8 位。
RAM:可读可写
既能读、又能写的存储器,叫随机存取存储器(RAM,Random Access Memory)。
“随机存取“的意思是:不管访问哪个地址,花的时间都差不多,想读哪个就读哪个,不需要从头一个个找。(与之相对的是“顺序存取”,比如老式磁带,必须倒带倒到位置才能读。)
RAM 有个要命的缺点:断电就全忘了。所以它属于“易失性存储器“。这也是为什么电脑一断电,没保存的东西就没了。
RAM 按保存数据的方式,又分两种:
- 静态 RAM(SRAM):用触发器保存数据,速度快,但每个 bit 要很多晶体管,贵、占地方
- 动态 RAM(DRAM):用电容上的电荷保存数据,电容会漏电,需要不停地“刷新“,速度慢一些,但便宜、密度高
我们平时说的“内存条“,大多是 DRAM;而 CPU 里那种又快又小的缓存,用的是 SRAM。
ROM:只能读
另一种存储器叫只读存储器(ROM,Read-Only Memory)。顾名思义,它里面的数据是预先写好的,平时只能读、不能随便改,而且断电后数据依然保留。
你可能会问:那手机、电脑里那些能升级的系统固件是怎么回事?其实现在的 ROM 早已不是“绝对不可写“,而是发展出了可擦写、可电擦写的各种变体。但“断电不丢“这个基本特点没变。它常用来存放开机时就要用到的程序,比如主板上的 BIOS。
内存与硬盘
日常生活中,人们常把 RAM 叫作“内存“,把硬盘叫作“硬盘“(外存)。它们的区别很关键:
| 内存(RAM) | 硬盘(外存) | |
|---|---|---|
| 速度 | 快 | 慢很多 |
| 容量 | 小(几 GB 到几十 GB) | 大(几百 GB 到几 TB) |
| 断电 | 数据丢失 | 数据保留 |
| 用途 | 存放正在运行的程序和数据 | 长期保存文件 |
这两者的速度和容量差距极大,正是下一章“存储层次结构“要处理的核心矛盾。
思考题
为什么“内存“断电会丢数据,而“硬盘“不会?如果有一天内存也能断电不丢,电脑还需要硬盘吗?
小结
知识点
- 存储器按地址存取
- RAM 与 ROM 的区别
- SRAM 与 DRAM
- 内存与外存的区别
参考资料
- Wikipedia(zh):随机存取存储器:RAM 的详细介绍
- Wikipedia(zh):只读存储器:ROM 的详细介绍
- Wikipedia(zh):動態隨機存取記憶體:DRAM 的工作原理
思考题答案(仅供参考)
内存用 DRAM(靠电容电荷)或 SRAM(靠触发器)保存数据,一旦断电,电荷消失、触发器状态也没了,所以数据丢失;硬盘把数据记录在磁性介质或闪存单元上,不依赖持续供电,所以断电也能保留。如果内存真的做到又快又大又断电不丢,那“内存“和“硬盘“的界限就会模糊,电脑也许不再需要传统意义上的硬盘——但那意味着成本和工艺的巨大突破。
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图
设计师 | 南国微雪