构建自己的CPU--锁存器

2020-02-24  本文已影响0人  哥绿豆饼

 很多时候都需要存储数据,这一节就来介绍一下用门电路制作的存储结构

SR锁存

 所谓锁存即为想一把锁一样把数据锁住,不让其丢失。先来看一下下面的实现:

锁存器

 如上图,上边写着一个0的是输入信号,连接着非门的第一个输入,而非门的第二个输入与一个输出相连,这样就可以把输入1的信号进行存储,当输入信号由1变成0后,输出仍然是1

输入由0变成1 输入由1变成0

 上面已经把数据1存储了,但是无法再把数据从1置换成0,因此SR-锁存器就发挥作用了。

 SR锁存器如上图所示,由两个或非门组成,每个或非门的一个输入与另一个或非门的输出相连,另一个输入与输入信号相连。定义上边的输入信号为Reset(R),下边的输入信号为Set(S),上一个输出为输出信号(Q), 下一个输出为反向输出(Q非,简写为Q~),与输出信号相反。下面是它的电路图和真值表:

SR锁存
R S Q Q~
0 0 X X
0 1 1 0
1 0 0 1
1 1 -- --

(X表示保持原状态。对于SR都是1时,就取决于是那一个先恢复0来决定是存储10,在实际操作中是不允许的)

 上边的SR锁存器一旦输入的数据改变就立马改变其值,当我们使用同一条输入信号来控制多个锁存器时,需要单独的控制其中一个时,这种结构不能满足要求,应为一旦改变输入信号,所有的锁存器都将会改变,因此需要一条信号来告诉锁存器,我要操控的时哪一个,这个信号为使能信号(EN)

 我们来观察一下真值表,当S/R其中一个为1时,锁存器才会改变值,然后我们通过使能信号为1来确定时要改变值,也就是说当S/REN都为1时才输出,这个逻辑就很符合与门。所以,新的SR锁存器就出来了。下面是它的电路图和真值表:

SR-锁存器带使能
EN R S Q Q~
0 0 0 X x
0 0 1 X X
0 1 0 X X
0 1 1 X X
1 0 0 X x
1 0 1 1 0
1 1 0 0 1
1 1 1 -- --

D锁存器

 D锁存器是SR锁存器的改良版。在SR锁存器中,我们需要输入两个数据信号,并且要避开两个都是1的情况。在D锁存器中,添加一个非门使SR的信号始终保持相反的状态,并且把输入信号减少一个。下面是它的电路图和真值表:

D-Latch.png
EN D Q Q~
0 0 X X
0 1 X X
1 0 0 1
1 1 1 0

【在本篇章中使用的软件均为Logisim】

上一篇 下一篇

猜你喜欢

热点阅读