【科普】存储器
继续前面的文章 【科普】二进制和加法器
先看一下之前文章 【科普】晶体管-2 中介绍过的Flip-Flop正反触发器电路图,左图是我画的简化版,右图是更加科学的版本,其中的R1和R2相当于左图的灯泡。
可以通过一个或多个施加在控制输入端的信号来改变自身的状态,并会有1个或2个输出的电路,叫做双稳态电路,也叫做双稳态多谐振荡器Bistable Multivibrator,也就常说到的正反触发器电路。
触发器电路的功能看上去就像一个现实里的电灯开关,按一下,就会一直是被按下状态,直到下次按了另一边才会改变。但触发器与现实的开关不同,它是电子的,而电灯开关是机械的,改变电流总是比实现机械运动简单容易,读取电流也比用眼睛观察开关状态容易很多。
如果我们把两个非门收尾相连会怎样?
如上图所示,左右两种状态都可以使回路处于稳定状态。
我们给双非门构成的双稳态前面加一个非门来控制输入,就得到下图。
如上图,改变双非门右侧输出的值分为三步:
如果我们把左侧输入Data换为1,然后按一下开关也可以把回路记录的数字改为1。这个电路智能记录两种情况,0或1,也就是可以存储1比特的信息。关于比特和信息熵可以参考这篇文章 【科普】什么是熵 。
最常用的双稳态存储器是Set-Reset latch,锁存器,它是由两个异或门构成的交叉回路,如下图所示:
如上图所示,R=0,S=0,可以对应两种不同的状态,至于具体是哪种,完全取决于上一次RS的输入。如下图所示,我们可以用临时电压永久改变锁存器的状态:
如上图,我们临时提高R的电压为1,这时候Q被强制变成0,0或S=0结果为0,取反为1,即~Q为1。
另外两种修改数字的情况如下图所示:
左图Reset=1的情况用于将Q设置为1,~Q为0;而右边这种RS都是0的情况应该避免出现,因为它会导致Q和~Q都是0。
R和Q总是相反,如果觉得这是个问题,解决方法也很简单,那就是在R和S的左边连接一个非门就可以了。
经过上面的了解,大家可以知道无论是CPU芯片还是内存,本质是都是数量庞大的晶体管组成的电路,所以我们常说计算机芯片和内存都是大规模晶体管集成电路实现的,这些晶体管不停地通断电,实现了我们手机和电脑的数据运算与存储。
END