《图灵完备》游戏攻略第二章:算术运算和存储器——存储器

《图灵完备 Turing Complete》游戏攻略保姆级详解。

第二章:算术运算和存储器

优雅存储

关卡解析

本关要求我们制作一个存储器,存储器会一直存储数据,直到写入端要求它更新。

留存数据无疑需要使用延迟线,但是延迟线只能保存一刻数据,所以我们要一直刷新它。我们先构成一个循环,延迟线会一直存储数据,直到它被关闭,如下图:

我们需要一个开关来控制它何时被关闭:

  • 新增的线是蓝色的。

当然这个开关现在起不到任何作用,我们需要把延迟线的输出值输入到开关上:

然后我们将待写入的值接入总线:

然后用一个开关来控制:

本关最终答案按

1位存储器

在本关中我们做出的电路是1位存储器,它可以储存1位数据。

存储一字节

关卡解析

我们先制作一个可以存储8位数据的存储器。我们只有1位存储器,所以我们需要8个。将8位数据拆成8个1位数据,存储到8个存储器中:

当然,我们还需要制作输出端,将存储的8个1位数据再转化为1个8位数据:

接下来就是如何控制,它有3个要求:
  1. 输入0亮:读取并输出
  2. 输入1亮:写入到存储器
  3. 输入0亮:启用输入端

我们先制作第二个。只要将输入1连接到每个1位存储器即可:

此时,将输入0连接至输出端下方即可完成一和三:

本关最终答案

8位存储器

我们本关制作出的整个电路是8位存储器,可以存储1字节的数据。

1位解码器

关卡解析

本关的电路搭建特别简单,不需要过多解释,直接看图即可:

本关最终答案

1位解码器

本元件就相当于上面的电路,可以在两路输出中选择一路。



3位解码器

关卡解析
我的方法是一路一路制作,8个输出端口分别对应一套电路。注意对照下方的真值表。

我们先制作第一套,此电路可以确定是不是三个红,如果是就输出到输出1:

然后制作第二套,因为真值表的第一行是绿色,所以我们不用放置非门:

然后再制作第三套,第二路是绿,因此第二路不需要非门:

像这样将所有电路全做出来,一共8套电路:

然后我们将8个电路结合起来,注意不要连错孔:

本关最终答案 方案A

宽带

这里提供一下另一种解法:

本关最终答案 方案B -小渊xyz
你可以先理解一下这种解法,我们之后在“小盒子”那关会用到。“宽带”这个名字是我取的,只是因为这个带子很宽,我不知道现实里这个东西叫什么。
  • 点击元件后按空格可以旋转。

3位解码器

本关我们获得了3位解码器,这个元件输入3个数据,根据这3个数据在那条路决定在哪条路输出。

逻辑引擎

前言

本章已经步入尾声,加油!

编码、解码

我们发现,本关4个指令,编入了0~3这4个数字,这就是编码。我们用解码器可以对其进行解码。

关卡解析

  • 请一定要明白我们每步为什么要这样做,这关结束时的电路极其复杂,如果你不明白原理很有可能抄都抄不出来。

我们先将指令输入端进行解码,用到我们上一关制作的3位解码器:

这样,4种指令,就分别对应解码器的前4个输出口。

我们使用8位或元件直接处理两个数据,然后将处理结果加上8位开关,与解码器输出的OR指令路连接:

现在来制作第二条指令,即按位与非,和我们之前制作的按位或和按位非的电路相似,只是把逻辑门换成了与非门,我们用1举例:

后面的也这样搭建,然后在结果路放置8位开关,让指令NAND路控制开关,将结果输出到总线:

  • 注意本关空间有限,最好不要做的太乱,我们还需要制作2条指令。

然后制作按位或非,我们已经有按位或和按位非,把它们组合就行:

然后在结果路加开关,让NOR指令路控制,接入总线,适当调整位置节省空间:

现在我们再制作按位与的电路即可:

也是同样,加开关,让指令AND控制,接入总线:

本关最终答案
运行后发现正确无误。
  • 长得好像一个蓝头发的人头......
  • 注意:本关电路不要删除之类的,我们之后的“算术引擎”还会用到!

函数

  • 本关创建的电路有点像是汇编里的函数概念,0、1、2、3分别是函数,而两个输入端就是参数。了解一下即可,后面会用到。
  1. def OR(x,y):                 #定义OR函数
  2. return(按位或操作(x,y))
  3. def NAND(x,y):               #定义NAND函数
  4. return(按位与非操作(x,y))
  5. def NOR(x,y):                #定义NOR函数
  6. return(按位或非操作(x,y))
  7. def AND(x,y):                #定义AND函数
  8. return(按位与操作(x,y))
  9. print(OR(183,180))           #调用OR函数
-----------控制台----------
75
---------------------------

8位与、8位非、8位或非

我们获得了这关里制作的3个按位操作元件:



小盒子

关卡解析

这关的难点在于空间很小,我们要想尽办法节省空间。

还记得我们在前讲的“宽带”吗?首先我们先将地址数据使用解码器导出成4条线路:

我们知道,用A、B、0、1可以组成4个地址,分别的 (A,0), (A,1), (B,0), (B,1),我们将这4个地址用与门判断出来:

我们在输入端设置4个8位寄存器,输出结果直接接入总线,然后输出到输出端:

接下来我们只需要做到“控制”即可。需要8个与门,空间有点小,你看怎么能摆下:

左边4个与门用于判断是否读取,我们先接入数据:

然后我们把输入1接进去,就相当于“如果收到读取的信号,就让信息通过”:

右边四个与门也类似,用于判断是否写入。先接入数据(我用的是深蓝色的线):

将输入2接入到四个与门,就相当于“如果接收到要写入的信号,就让数据通过”:

最后我们再来一条线(白线),将读取信号输入端和输出端开关连接。注意你很有可能没办法连接这条线,因为空间被填满了,你需要让其他东西“让开”。在移动其他元件时一定要将它的输入输出一起移动,不要导致断开和短路,如果出问题了可以按Ctrl+Z撤销操作。最后做出来是这样:

本关最终答案

256字节随机存储器

可以用于存储数据的元件,之后会用到。

计数器

关卡解析

首先我们制作一个这样的结构:

寄存器会始终把数据存储并输出,并且直接输出到输出端。到下一段后,因为有ADD在,会+1(高电平就是1),然后再输出出来,重新写入到寄存器。左侧的高电平时为了始终启用寄存器的读取和写入功能。这样,在不覆盖的状态下,寄存器会每刻都+1。

现在我们来做数据覆盖。我们只需要用到一个选通器,选择让哪个数据覆盖到寄存器即可。注意不要弄错选通器的输入端口:

本关最终答案

8位计数器

我们获得了8位计数器元件,其实就是我们本关制作的电路。它会每秒+1,直到有新的数据覆盖。



《图灵完备 Turing Complete》游戏攻略保姆级详解

你可以通过《图灵完备》这款游戏,学习处理器架构,搭建自己的伟大作品。游戏闯关模式的最终目标是搭建一台可以运行的计算机。我将会开始更新这款游戏的攻略,详细解析每一关的通关思路,并且讲解背后的原理。


以下三章为《图灵完备 Turing Complete》游戏手把手教程(教程原创为知乎:淘气喵w,特此说明)
第一章:基础逻辑电路

第二章:算术运算和存储器

第三章:处理器架构

欧易OKX

注册并登录App即可领取高达60,000元的数字货币盲盒,享受高额返佣。

24小时热点

比特币ETF势必获批推出刺激加密货币市场

根据来自基金巨擘贝莱德和景顺的消息人士透露,美国第一档现货比 ... 置顶

8504

ACC2-ACChain-资产收集链

货币简介 AC ...

34276

盒盒数字藏品

BCEX元宝网

元宝网BCEX是一个提供数字资产交易的平台,隶属于Casca ...

53788

BCEX元宝网

DBC-DeepBrain Chain-深脑链

货币简介 De ...

42454

寻迹藏品

Join Our Team , EOSIO

Contact Have a question for o ...

30649

DAO

区块链网

区块链网是广州金财域科技有限公司旗下区块链资讯类型的网站,由 ...

88261

NewsBTC

Increase revenue and efficiency in your business——Dash

Increase revenue and efficienc ...

26675

时藏

Payment Gateways , Litecoin (LTC)

Payment Gateways ...

126781

CCFOX

Buy Litecoin , Litecoin (LTC)

Buy Litecoin Easily purchase ...

33697

安银

What kind of wallet should I use?

What kind of wallet should I u ...

32429

NFT

Instantly Move Money to All Corners of the World  ,  Ripple

Instantly Move Money to All Co ...

25698

NBA Top Shot

热点专题

区块链网是什么

中国区块链价值评价中心 中国区块链价值评价中心于2 ...

5245980

知信链

元界(Metaverse)

元界(Metaverse)是一个去中心化的公有区块链项目,元 ...

926230

WEEX数字货币

BTC123

BTC123(www.btc123.com)成立于2011年 ...

674007

Kusama 测试网

DAC币——达芬奇Davinci Coin

达芬奇项目的平台是通过叫作"Dchain"的自身区块链把可以 ...

668688

Mechanism Capital

Bitfinex(香港B网)

Bitfinex交易平台目前仍处于试运营阶段,该平台由iFi ...

636729

Hi元宇宙

MCO币

MCO,前为Monaco,朝着让每个钱包都载有加密货币的愿景 ...

635571

第九空间

熊猫矿机(PandaMiner)

熊猫矿机(PandaMiner),企业文化背景为:其一,熊猫 ...

602870

金融界区块链频道

陈景润证明哥德巴赫猜想1+2的论文

大偶数表为一个素数及一个不超过二个素数的乘积之和 。 本 ...

512898

鲸探

五大区块链骗局揭露

从古至今,骗子这个行当一直都是经久不衰,上至皇宫贵族,下至农 ...

502909

DeRace

FSN币,Fusion

FUSION是一个公开的区块链,通过提供跨链、跨组织和跨数据 ...

466064

ImToken 多链钱包