【科普】存储器

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击如何从零开始制造计算机?


继续前面的文章【科普】二进制和加法器

双稳态电路Bistable Circuit

先看一下之前文章【科普】晶体管-2中介绍过的Flip-Flop正反触发器电路图,左图是我画的简化版,右图是更加科学的版本,其中的R1和R2相当于左图的灯泡。

【科普】存储器_第1张图片
FF正反触发器电路
  • 首先,这是一个带供电的回路;
  • 其次,回路可以有两个状态:左边灯亮或者右边灯亮,这也可以视为两种输出;
  • 最后,它有两个开关,每次按下其中一个就能改变回路状态。

注意,即使开关弹起之后这种状态也能保留,直到下一次另外一个开关按下。看上去像是这个电路具有记忆功能。

可以通过一个或多个施加在控制输入端的信号来改变自身的状态,并会有1个或2个输出的电路,叫做双稳态电路,也叫做双稳态多谐振荡器Bistable Multivibrator,也就常说到的正反触发器电路。

触发器电路的功能看上去就像一个现实里的电灯开关,按一下,就会一直是被按下状态,直到下次按了另一边才会改变。但触发器与现实的开关不同,它是电子的,而电灯开关是机械的,改变电流总是比实现机械运动简单容易,读取电流也比用眼睛观察开关状态容易很多。

两个非门构成双稳态

如果我们把两个非门收尾相连会怎样?

【科普】存储器_第2张图片
两个非门构成的双稳态回路

如上图所示,左右两种状态都可以使回路处于稳定状态。

我们给双非门构成的双稳态前面加一个非门来控制输入,就得到下图。

【科普】存储器_第3张图片
双稳态记忆示意

如上图,改变双非门右侧输出的值分为三步:

  • 设定要修改的数字Data为0,按下按钮;
  • 新的数字在回路中震荡,形成新的状态,右侧输出变为0;
  • 弹开按钮,回路中仍然保留新的状态不变。

如果我们把左侧输入Data换为1,然后按一下开关也可以把回路记录的数字改为1。这个电路智能记录两种情况,0或1,也就是可以存储1比特的信息。关于比特和信息熵可以参考这篇文章【科普】什么是熵。

锁存器SR Latch

最常用的双稳态存储器是Set-Reset latch,锁存器,它是由两个异或门构成的交叉回路,如下图所示:

【科普】存储器_第4张图片
锁存器RS Latch的两种状态

如上图所示,R=0,S=0,可以对应两种不同的状态,至于具体是哪种,完全取决于上一次RS的输入。如下图所示,我们可以用临时电压永久改变锁存器的状态:

【科普】存储器_第5张图片
改变Set临时电压实现存储修改

如上图,我们临时提高R的电压为1,这时候Q被强制变成0,0或S=0结果为0,取反为1,即~Q为1。

另外两种修改数字的情况如下图所示:

【科普】存储器_第6张图片
RS Latch的另外两种情况

左图Reset=1的情况用于将Q设置为1,~Q为0;而右边这种RS都是0的情况应该避免出现,因为它会导致Q和~Q都是0。

R和Q总是相反,如果觉得这是个问题,解决方法也很简单,那就是在R和S的左边连接一个非门就可以了。

另外一种常用的双稳态1比特存储器是用两个NAND与非门组成的,这里就不重复讲解了,有兴趣的读者可以自己画一下试试看。

经过上面的了解,大家可以知道无论是CPU芯片还是内存,本质是都是数量庞大的晶体管组成的电路,所以我们常说计算机芯片和内存都是大规模晶体管集成电路实现的,这些晶体管不停地通断电,实现了我们手机和电脑的数据运算与存储。

芯片内部电路示意

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击如何从零开始制造计算机?


每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

你可能感兴趣的:(【科普】存储器)