【图灵完备 Turing Complete】游戏经验攻略分享 Part.6 处理器架构2 & 函数

新的架构来了,本游戏的最后一个攻略分享,最后汇编部分无非是对于操作码的熟练,硬件没有问题,那么也就无关痛痒了。


汇编实现,两数相或和两数相与非一起相与即可。

八位异或器,整就完事了。

有手就行。

利用相等相减全零的原理。

从高位到低位去判断,如果高位小于第二个直接输结果,如果不大于,就打开下面一位的检测通路再进行判断。

这个和上面无符号小于差不多,多判断了一下符号位。

判断PC的奇偶,加个3-8译码器,判断奇偶,奇数一定是最后一位是1的,所以激活选通输出。

这关的话。就是一个新的架构了,一次读4条机器码,分别是OP s1 s2 addr,addr相当于结果送到哪。这关由于之后关卡也会复用,所以我已经加了很多东西进去了。然后就是控制存储。写入的时候,加一个常数与地址总线上过来的数字进行比较,相等就激活并打开输入输出。

操作码也相当的简洁,共八位,前两位分别控制s1是立即数还是s2是立即数,第三位判断是否选择是进行比较,然后跳转到指定的行数(此时,前面说的第四个addr就会作为下一个地址传入PC的寄存器)。后五位在第三位没有激活的情况下是用于选择计算(包含简单的MOV),第三位激活之后,就进行判断了,例如大于小于。

RAM部分:另外存在一个RAM寻址寄存器,外加了一个自动加一的计数器,这样的话,设置好基地址,就可以自动的一个一个扫描RAM(这个是后面其中某关的要求)。RAM选定读取写入的操作类似于寄存器。

堆栈部分:

寄存器组:(6个,实则可以拓展,包括栈和ram在内的,存储器件个数只要不超过2的八次方的寻址空间)

运算:(条件选择和这个相同,都是判断OP和指定数字是否相同,相同就激活计算结果,送结果总线,蓝色的那条)

除法器的除零特殊处理。

机器外的输入输出(这里把他们都挂载到7号了,和寄存器等内存器件的选择方法一致):

PC:这里青色即执行比较和JMP指令通过的命令,准备进行跳转,浅蓝色是新传入的地址(如果前面青色线传1,即跳转,那么直接吧addr线,也就是深蓝色线的数字传进PC),如果不是进行比较,而指令中的addr是6,那么直接把之前运算结果传,也就是浅蓝色(结果总线的内容)传入PC作为新的地址。平常情况下不会把那个自动计数器状态设置为置数状态。

另外,此游戏右键特别灵敏,点住就会很快的删除一根导线,就很容易误触缺线,谨慎操作。


FIN

相关推荐
sweet丶5 小时前
理解iOS中Protobuf:一个比JSON更好,但不是替代
ios·性能优化·架构
牛掰是怎么形成的5 小时前
性能优化:线程数量、CPU绑定、负载均衡——游戏多线程场景详解与C#实战
游戏·性能优化·负载均衡
Hernon8 小时前
微服务架构设计 - 配置中心的选择
微服务·架构
MobotStone9 小时前
为什么第一性原理思维可以改变你解决问题的方式
架构·前端框架
控电PLC11 小时前
21-2. PLC的基本逻辑指令(触点的串并联指令)
硬件工程·plc
_大学牲12 小时前
Flutter 勇闯2D像素游戏之路(二):绘制加载游戏地图
flutter·游戏·游戏开发
云鹤_13 小时前
【Amis源码阅读】低代码如何实现交互(下)
前端·低代码·架构
top_designer13 小时前
PS 样式参考:3D 白模直接出原画?概念美术的“光影魔术手”
游戏·3d·prompt·aigc·技术美术·建模·游戏美术
REDcker13 小时前
UEFI BIOS深度解析:现代固件架构的革命性突破
架构·操作系统·uefi·bios
智慧化智能化数字化方案14 小时前
架构进阶——解读45页数据治理能力提升转项目培训-数据架构【附全文阅读】
架构·数据架构·数据治理能力·企业it治理·企业架构规划