《图灵完备》游戏攻略第三章:处理器架构

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

第三章:处理器架构

前言

在本章中,我们要学习架构处理器,最后我们会制造出一台图灵完备的计算机!

算术引擎

关卡解析
  • 请一定要明白我们每步为什么要这样做,这关结束时的电路极其复杂,如果你不明白原理很有可能抄都抄不出来。有必要的话,你可以先补习“逻辑引擎”那一关。
还记得我们之前造出的很像一个人头的电路吗?本关会沿用我们在“逻辑引擎”那一关制作的电路,我们会在它的基础上为它添加加法和减法运算的能力。本关其实并不难,只需要为它添加两个模块即可。
  • 另外,我推荐你先把这个电路复制一份,以免操作错误导致发生不可逆的后果。点击左上角的“切换电路图”,在里面可以复制电路。

首先,我们需要在红框位置再新增加两条线,来解码新的ADD(加)和SUB(减)指令,像这样:

我们使用8位加法器将两个数据相加,然后设置8位开关,接入总线。开关要让ADD指令路控制。像这样,注意红框位置:

减法和加法类似,只需要在8位加法器的输入2前面加上一个8位取反器,让数字变成负数。其他的都一样,开关照样接,让SUB指令路控制,然后接入总线:

现在我们就做好了一个具有加法和减法功能的计算引擎,这是整体截图:

本关最终答案

寄存器之间

前言

从本关开始,我们可能会一直沿用同一个电路,所以请尽量做的简洁。你可以适当写一些注释,以免忘记自己做的是些什么。
本关题目较长,请仔细阅读。

元件工坊

本关开始我们可以自己创造函数(元件),也就是游戏里说的“元件工坊”。我们制作好的元件会被“浓缩”。例如我们之前做的人头,压缩成元件后就是这样:

关卡解析

我们要先理解这些寄存器之间的结构:INPUT-R0-R1-R2-R3-R4-R5-OUTPUT

首先,我们将代码解码为宽带:

把它延伸下去:

我们规划,6个寄存器由上至下分别是R0~R5,并且连接获取相应的数据。把INPUT的开关连接到左侧线路上,OUTPUT的开关连接到右侧线路上。这样:

将各寄存器及INPUT、OUTPUT连接到总线:

本关最终答案

元件工坊

  • 这并不是关卡,此处不做解读。你可以在目录中查找之前解释过的。




指令解码器

关卡解析

题目说白了就是要让我们做一个“可以根据不同二进制数决定要启用什么计算机功能”的电路。其实再一想,就是前几关我们做过的解码器,但是要连接到具体的指令上。我们先做解码器:

然后再连接到4个输出即可:

本关最终答案

指令解码器

它会作为元件加入元件工坊。

计算单元

关卡解析

在“寄存器之间”关卡的成品基础上,添加元件工坊里的指令解码器(DEC):

将DEC的第三个端口加非门,连接到两个3位解码器的右端,防止之后的宽带或总线短路:

添加元件工坊的算数引擎(ALU),并将指令输入端连接至顶部端口,用于向ALU输入指令:

将ALU的输出端添加8位开关来防止总线短路,让DEC的第二个输出端口控制开关,此时我们就可以直接将ALU的输出结果接入总线了:

题目说将REG1和REG2作为要进行操作的数字,输出到REG3。所以我们先将REG1和REG2连接到ALU。注意REG1要连接ALU的输入1端口,REG2要连接ALU的输入2端口:

因为ALU的计算结果会直接输出至总线,所以我们只需要设置“何时开启REG3的写入功能”。由于REG3在本关要求的特殊性,我们添加一个或门,在原条件的基础上,再加入一个条件。满足任意一个条件,就开启REG3的写入功能。一端依然连接至宽带,另一端连接至DEC的第二端口。如下图:

这样就完成了,本关整体电路如下图:

本关最终答案

条件判断

关卡解析

关卡说明说白了就是“如果数字符合条件就输出绿色”。

先对两侧都进行拆解,并在指令侧制作宽带:

要将题目里的情况全部考虑到,我们需要制作更多宽带:

然后再逐个进行与门逻辑判断,再用或门连到输出端:

本关最终答案

注意这个地方不要忘了连,我刚才没连上

错误检修

条件判断器(COND)

我们本关制作的元件被加入了元件工坊。它要求输入一个条件和数据,在数据满足条件的情况下输出1。



程序

关卡解析

本关很简单,只需要使用8位计数器+PROGRAM替代原来的指令输入端即可:

本关最终答案

立即数

关卡解析

  • 请先理解关卡要求。

首先我们改造一下REG0的写入条件,用一个或门。原来宽带上的还是在宽带上,但是当DEC的第一个端口开启时REG0的写入端也要开启。像这样:

本关最终答案

图灵完备

前言
  • 经历了这么多后,在本章的最后一关,我们终于能在本关制造出一台图灵机了!
关卡解析
  • 请先阅读清楚关卡说明!

首先我们在REG3旁放置一个元件工坊的条件判断器(COND),将REG3内储存的值不断输入到COND的“输入”端。将PROGRAM输入的值输入到COND的“条件”端(亮绿色线):

将REG0连接至计时器的写入端:

将COND的判断结果和DEC的第四输出端口接入到一个与门进行判断,然后输出至计时器的“步进/擦写模式”接口(注意几个画红框的地方):

这样就完成了。

如果你运行后发现明明电路都一样,但是却运行错误。检查发现计数器莫名其妙出现奇怪的数字(比如“7”),那么请你点击计数器,在下方将单步增量重新调整为1(即只开启最右侧),然后再运行。

恭喜你!造出了一台图灵完备的计算机!让我们来看一下我们携手制作的计算机:

本关最终答案

图灵完备


第四章:编程

前言

我们已经造出了一台图灵完备的计算机,继续加油,相信之后的路会更好走。




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

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


以下三章为《图灵完备 Turing Complete》游戏手把手教程(教程原创为知乎:淘气喵w,特此说明)
第一章:基础逻辑电路
第二章:算术运算和存储器
第三章:处理器架构

24小时热点

热点专题

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

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

2382721

波场区块链浏览器

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

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

1132523

波场区块链浏览器

Bitfinex(香港B网)

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

727339

Hi元宇宙

OEX全球站交易所介绍

OEX(www.oex.com)隶属于OEX Interna ...

643654

Cointelegraph Bitcoin

挖矿app十大排名,挖矿软件推荐

区块链技术自比特币诞生以来,已经在全球成为最热门的一项技术, ...

577399

波场区块链浏览器

FSN币,Fusion

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

500268

ImToken 多链钱包

区块链免费看行情的网站有哪些?

区块链行情网站,简单来说,就是提供数字货币实时价格,交易量, ...

498285

区块链圈小菜鸡

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

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

489022

区块链圈小菜鸡

全球币圈十大交易所排名有哪些?最新2024年币圈十大交易所排行榜

在加密货币市场中,交易所是投资者进行数字资产买卖的关键平台。 ...

455023

区块链圈小菜鸡

2024年人气最高的免费看行情的软件大全

区块链看行情的软件是指那些能够提供实时数字货币行情、市场动态 ...

454369

波场区块链浏览器