《图灵完备》卡关记录 1:锁存器

在学《计算机科学导论》的时候,Epi 接触了门电路,但是那时候他没有过多在意

在学《离散数学》的时候,Epi 狠狠吃了一记回旋镖,他决定使用真值表大法

在玩《图灵完备》时,Epi 卡关了,警钟长鸣。

在《图灵完备》中,过了基础逻辑之后,游戏就会分为两条路,运算(ARITHMATIC)和存储(MEMORY),运算部分在了解了全加器,移位和补码的知识就很好过(暂时),但是存储的部分着实有些摸不着头脑,Epi 依稀记得在计算机科学导论的课程里学习过 SR 锁存器,他决定复习一下

观前提示,本文中对所有元件输入节点的编号均从上到下记作输入 A,B,C,D

纠缠的门 —SR 锁存器

image-20240828103246053

在 SR 锁存器中,在中间形成了一个 “纠缠” 的循环链,这个循环有两种进行状态

当输入 IN 的开关 A 开启时:循环以状态一运行,输出为 0

当输入 IN 的开关 B 开启时:循环以状态二运行,输出为 1

当输入开关都关闭时:输出由循环状态决定,可能是 1,也可能是 0

特别的,开关 A,B 都开启时,由于中间产生了冲突,最好不要这么做

总的来说,开关 A 置 0,开关 B 置 1,循环状态起到了存储信息的作用,这个装置就叫做 SR 锁存器

注:实际上 SR 锁存器使用或非门 / 与非门构建

下图展示了或非门构建的 SR 锁存器全输入 1 时,输出全为 1,称为禁止态

在这里插入图片描述

S means Set(1), R means reset(0)

Flip-Flop 触发器

img

看起来是跟锁存器类似的结构,不太懂(

D 锁存器

但是,SR 锁存器是由两个输入分别控制置 0 置 1 的,有些不好记不方便

Q: 能不能设计一个这样的电路:有两个输入,输入 A 控制是否启用锁存器,若输入 A 开启,则输入 B 为 0 时置 0,输入 1 时置 1,若输入 A 关闭,B 不影响电路状态

可以的!电路如下(其中的 FF 为触发器,输入 A 为 1 时置 0,输入 B 为 1 时置 1)

image-20240828114134526

这样我们就完成了 D 锁存器!

把这样的 8 个锁存器连接起来,就得到了寄存器 ~

顺带一提:发出文章的现在,epi 卡在了 Caculation 这关

image-20240903170143545