【1.16 1.17】斯科特 CPU
本帖最后由 RSR 于 2022-1-17 14:15 编辑斯科特 CPU这是MC基岩版中功能齐全的8Bit计算机。计算机的设计基于书中著名的斯科特CPU,但怎么知道呢?试一试吧!
注意:建议高中水平的计算机科学理解。你很快就会知道为什么。如果你还没读过,但是怎么知道呢?,我强烈推荐这本书。(非赞助)读完之后,您将成为这方面的专业人士,这并不难。或者你可以走很长的路线,等到大学。:)如果你已经有了计算机科学方面的经验,你好,很高兴看到有人在类似的领域工作,并且与我有着相似的兴趣。下载并试一试。我的Github页面中提供了一个汇编器,供您编写基本程序。计算机我建造这台计算机是为了帮助我和我的同龄人理解数字逻辑的原理。现在,我把它分享给你。这是Minecraft中功能齐全的Scott CPU。以下是该项目的一些Blender渲染图。https://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_2.jpeghttps://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_3.jpeg设计这台计算机完全基于原始的 Scott CPU,并进行了一些更改:
[*]出于实际原因,IO系统完全重新设计。
[*]一个堆栈、一个 24 位定点乘法器电路和一个键盘/显示器连接到 IO 系统。
[*]由于红石的工作方式,信号需要时间来传播(使用中继器)。因此,2D平面设计是不可取的,因为电线太长了。我利用垂直尺寸来构建计算机,以最小化电线长度。例如,通用寄存器从字面上被公共总线包装。
[*]此外,由于红石的工作方式,信号在Redstone线(带有中继器)中仅沿一个方向传播。因此,所有组件的所有输出都在所有输入之前接线。
[*]尽管CPU已经过相当优化,但它仍然很慢(每条指令大约30秒)。因此,从技术上讲,它是0.01Hz,每秒0.01个指令。换个角度来看,现代CPU以3GHz的速度运行,即每秒30亿条指令。这并不意味着它不能执行复杂的算术。它有做花哨事情的所有逻辑。这只是意味着这需要时间。建议使用 AFK。
https://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_4.jpeghttps://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_4.png布局
[*]您将在实际CPU之前在地面上生成。
[*]CPU 的所有电线都连接到命令块。提供有关计算机状态的实时聊天更新。如"导通"或"信号接收",甚至"步进高级"。你可以通过按下生成附近地面上的一个方便的按钮来关闭所有命令块。
[*]有一个专用的建筑区域,所有组件都布置在地面上,如加法器或内存模块。您可以试验这些组件,并通过翻转离开者来查看它们的工作原理。
[*]无需担心在计算机运行时意外卸载计算机的一部分。设置滴答声区域,以便在任何给定时间加载计算机的所有块。
[*]另外,请注意,巨大的红石东西=巨大的滞后。我使用最近的iPad Pro,所以延迟不是问题。但对于其他设备来说,情况并非如此。
https://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_5.jpeghttps://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_6.jpeghttps://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_7.jpeg技术特点以下是这台计算机的一些独特功能,其他Minecraft计算机可能没有:
[*]为所有加法器携带前瞻。
[*]复杂的 ALU 架构
[*]操作功能:按位异或,或,和,不,左移,右移,添加
[*]旗帜能力:携带,A-更大,等于,零
[*]携带内存系统(用于超过 1 字节的算术加、减、移操作)
[*]大容量存储体,全 8 位寻址:256 字节内存
[*]可扩展的 IO 系统
操作计算机以下是主要接口映射。https://api.mcpedl.com/storage/submissions/128376/images/scott-cpu_8.jpeg应该已经有一个简单的程序加载到计算机上 - 一个执行10×3并将其显示给IO的程序。运行默认程序:
[*]按[重置IAR]将指令地址寄存器重置为0,从头开始执行程序。
[*]打开[循环]模式。这将在步进一次后自动对步进器进行步进。
[*]按[重置步进器]将步进重置为0。程序应立即执行。
等到在计算机背面的 8 位显示屏上观察到输出。它应该说00011110二进制,十进制是30。指示正确执行。要停止程序执行,请关闭[循环]模式。要手动写入内存:
[*]在计算机关闭时打开[内存覆盖]。
[*]使用"A"键盘输入所需的内存地址。所述地址的内存内容将显示在黄色"D"显示屏中。
[*]将新值放在蓝色"D"键盘中,然后按"写入"。
[*]您已更改内存地址。
警告:执行程序时不要打开内存覆盖模式。不要在"内存覆盖"模式打开时执行程序。强烈建议在打开内存覆盖模式后重新运行程序(因为内存特定的寄存器都被修改了)。机翻修改,转自MCPEDL。
牛皮啊大佬 草 发表于 2022-1-17 16:54
牛皮啊大佬
转载
谢谢,作者加油! 牛逼 nb呀! 感谢转载 Nbnbnbnbnb 牛逼啊大佬 这个地图的作者做了很久吧?