什么是RAM、ROM?
RAM(Random Access Memory)随机存取存储器
ROM(Read Only Memory)只读存储器
先记住一件事
RAM断电将失去数据
ROM断电仍会保留数据
RAM、ROM、Flash、内存条、硬盘、SD卡到底怎么归类?
我们先来看下计算机的原理和计算机的需求
计算机原理很简单
输入数据 -> 处理 -> 输出数据
示例一 加法计算器
输入:加数、被加数
程序:加法计算
输出:得到结果
示例二 颜色显示器
输入:红色的值、绿色的值、蓝色的值
程序:三个值拼接
输出:合成的颜色
上面两个示例,其中的程序是需要计算机记住的,这样计算机每次开机,就不用重新编写程序。
输入和输出是计算机临时保存的数据,关机后不需要保存。
计算机的需求
是要可以保存数据(临时保存和永久保存)
最早的计算是如何保存数据的?
是在纸上打孔,这应该就算是ROM吧
后来用电路来保存数据就出现了RAM和ROM
ROM
最早的电路ROM是用半导体,也就是二极管三极管等,要么通要么不通,不通基本就是把半导体烧坏掉,烧录应该也是这么来的。比如一个阵列的二极管,一开始都是导通的,烧入0101,就有通有不通的,也就保存了数据。只能写一次所以叫只读存储器。而现在很多ROM都是可以多次写入的,但是也是有极限的。
RAM
而RAM是类似下图的电路结构,在通电的情况下是可以通过逻辑保存当前数据的。
假设上面或非门的下引脚是0,那么R为1时,Q为0,当R变成0时,Q就会变成1。
显然,输出会受输入的影响。
接下来,我们分析锁存器电路。
R = 1 S = 0 Q = 0 Q' = 1时
当R改变时,Q不受影响,以此完成了锁存功能。
R = 1 S = 0 Q = 0 Q' = 1 假如是初始状态
S = 0 R无论0或1 Q都是0
当改变S=1 R=0,Q会从0变到1
如果Q原来是1,Q会从1变到1
当改变S=0 R=1,Q会从1变到0
如果Q原来是0,Q会从0变到0
当改变S=0 R=0,Q会原来是什么还是什么
下面是真值表
S=1 R=0 输出1
S=0 R=1 输出0
S=0 R=0 锁存
这就是RAM,但当断电则锁存的数据不复存在。
结论
当断电时仍能保存数据就是ROM的一种
当断电无法保存数据就是RAM的一种
ROM虽然叫只读存储器,只不过随着技术的发展只读存储器已经可以多次擦写了。
数据存储的技术越来越多,所以分类确实模棱两可。
所以如果非要说 Flash、内存条、硬盘、SD卡 是RAM还是ROM。那就看掉电是不是还能保存数据。