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

《图灵完备 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,特此说明)
第一章:基础逻辑电路

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

第三章:处理器架构

24小时热点

1U等于多少人民币?U币怎么兑换人民币?

U币(如USDT)是一种基于区块链技术的稳定币,其价值与美元 ...

251060

区块链圈小菜鸡

如何查询钱包里的USDT是否是黑U?详细教程

“黑U”指的是通过非法手段获取的USDT,这些USDT可能涉 ...

103070

波场区块链浏览器

08年投资1万元比特币,现在值多少钱?比特币的价值与未来

如果你在2008年投资1万元购买比特币,现在会发生什么? ...

120220

波场区块链浏览器

tron钱包最新官方下载地址是什么?

Tron钱包是专门为波场区块链设计的一款数字货币钱包,这款钱 ...

56194

波场区块链浏览器

使用easyminer进行挖矿的详细教程

Easyminer是一款非常实用的挖矿软件,这款软件拥有简单 ...

151381

波场区块链浏览器

Pi钱包最新版本下载攻略,一文教你成功下载Pi钱包

Pi Network是一个新兴的加密货币项目,旨在让普通人也 ...

191671

区块链圈小菜鸡

换u币是干啥的?U币怎么兑换法定货币?

换u币意味着将其他形式的货币或资产转换为U币虚拟货币, U币 ...

66188

波场区块链浏览器

什么是助记词?助记词的重要性有哪些?

助记词是由 12 到 24 个随机单词组成的加密货币钱包恢复 ...

842

区块链网快讯

一个U是多少钱?一个U币等于多少人民币?

USDT等稳定币的设计初衷就是与美元保持1:1的兑换关系,所 ...

176394

波场区块链浏览器

比特币余额查询指南:如何查看您的比特币余额?

比特币余额并非比特币系统原生的概念,而是由比特币钱包应用派生 ...

84767

区块链圈小菜鸡

热点专题

区块链网是什么

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

5292806

知信链

免费的行情软件app网站在国外有哪些?

区块链看行情的软件,简而言之,就是一类能够实时提供数字货币行 ...

2377018

波场区块链浏览器

雷达币最新进展:2024年主网上线时间及前景预测

近期有传闻称,新加坡的加密货币交易所推出了一款雷达币,这款被 ...

1827508

波场区块链浏览器

2024年最新十大不收费看盘软件排名公布

随着股市交易的普及和技术的发展,投资者对高效、可靠且免费的看 ...

1125849

波场区块链浏览器

元界(Metaverse)

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

992187

WEEX数字货币

BTC123

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

839225

Kusama 测试网

最全传销名单,请告诉家人朋友,别让他们上当受骗后赔到血本无归

因为互联网的发展,让现代传销具备了更强的隐蔽性,更让社会经验 ...

785641

律动 BlockBeats

中币网zb——中币交易所

ZB.com是一个全球化的数字货币交易所,目前已获得泰国和迪 ...

751221

中币交易所

Bitfinex(香港B网)

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

722733

Hi元宇宙

DAC币——达芬奇Davinci Coin

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

715222

Mechanism Capital