一个CPU光有”计算能力“是不够的,它也需要能够”记住“一些东西。寄存器就是负责”记忆“的。

我们之前通过改造SR触发器,得到了D触发器,并且当时就介绍到,D触发器可以存一位数据,我们后续会用到这个来制作寄存器。这一章我们将了解到如何通过D触发器制作一个8位的寄存器。

1位寄存器

我们从1位寄存器开始介绍,先来看下寄存器的原理图:

1bit寄存器

在上面的原理图中,用到了1个D触发器,可以看到一共有三个输入引脚,从左上角开始,最左上角的输入引脚是Load线,Load线下面的是Data线,最右边的是CLK。该电路一共由1个NOT门、两个AND门和一个OR门组成。

当Data线输入高电平时,如果Load线没有输入高电平,则AND门输出低电平,OR门输出由上方的AND门的输出决定,而上方的AND门与Load引脚间还有一个NOT门,因为Load线为低电平,则NOT门输出高电平,则上方的AND门由另一引脚决定,也就是由原来的D触发器的值决定。

如果Load输入高电平,则NOT门输出低电平,上方的AND门一定输出低电平。下方的AND门输出由Data线决定,由于上方的AND门为低电平,则OR门输出由下方的AND门决定,最后拉通就是D触发器的D引脚由Data线决定。此时如果时钟引脚拉高电平,则D触发器的值将变成Data线的输入值。

实际搭建1bit寄存器测试