第240章 他们在 MC 里,造了一台能算数的机器
第237章 他们在 mc 里,造了一台能算数的机器
ram组是最疯的。
组长是个卡內基梅隆的硕士,网名“內存泄漏”,名字就很有自知之明。他的方案是用粘性活塞的伸缩状態来存储比特:活塞伸出代表1,缩回代表0。
一个字节八个活塞,256位元组就是2048个活塞。加上寻址电路、读写控制线、数据总线接口,整个ram模块铺开之后,面积相当於一个足球场。
“我觉得我在盖数据中心。”“內存泄漏”在discord里发了条消息,配了张俯瞰截图。
截图里,密密麻麻的活塞阵列排列成整齐的矩阵,红石线像血管一样在其间蜿蜒。从高空看,確实像一块巨大的內存晶片的版图。
只不过解析度是一米见方的方块。
伊桑每天晚上都会飞到伺服器上空,俯瞰整个工地。
alu在西边,寄存器在北边,ram在东边,控制单元在南边。四个模块之间留著宽阔的空地,那是给总线组预留的走线通道。
整个布局像一张展开的晶片版图。
他截了张图,没发到任何社交媒体上。存在本地,文件名是“day—12.png”。
第十五天,alu组完成了加法和减法功能的搭建与验证。
“硅”在语音里报告:“16位加法,全部真值表通过。减法用补码实现,也没问题。
延迟大概三秒半一个周期。”
“比预期快。”伊桑说。
【写到这里我希望读者记一下我们域名 101 看书网伴你读,101??????.?????超顺畅 】
“走线优化了一下,省了几个中继器。”
“位运算呢?”
“与、或做完了,异或还差两天。移位器————”“硅”顿了一下,“移位器有点麻烦。桶形移位器的面积太大了,我在想要不要改成逐位移位,用时钟周期换面积。”
“用时钟换。面积不够了。”
“收到。”
第二十天,寄存器组完成。四个16位寄存器,读写功能正常,时钟同步没有毛刺。
第二十五天,ram组完成了前64位元组的搭建和验证。“內存泄漏”说剩下的192位元组是重复劳动,结构一样,就是体力活。
“我现在右手食指按滑鼠按出了腱鞘炎的前兆。”他在discord里说。
没人回復。大家都差不多。
第三十天。
控制单元组交付了指令解码器的初版。支持八条指令:加、减、与、或、载入、存储、跳转、停机。
极其精简。但够了。
伊桑看著指令集表格,在白板上又加了一行字。
“第三十天。所有模块功能正常。开始整合。”
总线组开始动了。
这是最脏最累的活。把四个独立的模块用16位宽的红石数据总线连起来,每一根线都要手动铺设,穿过预留的通道,接入每个模块的接口端。
十六根数据线,加上地址线、控制线,总共將近五十根红石线並排铺设。
从空中看,像一条红色的高速公路。
铺到一半,有根线出了问题。信號传到第三十格的时候衰减了,中继器漏放了一个。
排查花了四个小时。
“找到了,”总线组的人在语音里说,声音疲惫得像三天没睡,“x坐標负1847那个位置,少了个中继器。”
“补上。”
“补了。通了。”
没有人欢呼。只是继续铺下一根线。
第三十八天。
凌晨三点,波士顿时间。
伊桑一个人坐在实验室里,面前的屏幕上是mc的伺服器。
所有模块已经连接完毕。从出生点飞到整个计算机的上空,需要將近一分钟。
它太大了。
占地面积超过了游戏里一个中型村庄。密密麻麻的红石线、中继器、活塞和方块,组成了一个极其壮观的矩阵。
伊桑在ram里手动写入了一段程序。
很简单:把寄存器a设为3,寄存器b设为5,执行加法,结果存入寄存器c,停机。
3+5=8。
小学数学。
但要让一堆泥巴和红石粉算出这个结果,需要信號穿过上万个逻辑门,经过几十个时钟周期的流水线处理。
他深吸了一口气,按下了时钟信號发生器旁边的那个石制按钮。
红石信號亮了。
暗红色的光芒从时钟发生器出发,沿著总线向四面八方扩散。中继器一级一级地接力,活塞开始有节奏地伸缩,发出沉闷的“咔、咔、咔”声。
整台计算机活了过来。
伊桑盯著屏幕,一动不动。
信號在alu里穿行,全加器的进位链逐级传递。寄存器的触发器在时钟沿翻转状態。
控制单元的解码器把指令拆解成控制信號,精確地驱动著每一个模块。
二十秒。
三十秒。
四十五秒。
“咔嗒。”
停机指令执行。时钟信號停止。整台机器安静下来。
伊桑飞到寄存器c的位置,低头看那十六个d触发器的输出端。
从低位到高位:亮、亮、亮、灭、灭、灭、灭、灭、灭、灭、灭、灭、灭、灭、灭、
灭。
二进位:0000000000001000。
十进位:8。
他盯著那几个亮著的红石火把,坐在椅子上,一动没动,大概有十秒钟。
然后他摘下耳机,靠回椅背,对著空荡荡的实验室天花板,说了一句话。
“跑通了。”
声音很轻,像是说给自己听的。
他拿起手机,在discord群里打了一行字。
“3+5=8。首次计算成功。所有模块各项指標正常。”
凌晨三点十二分。
群里陆续亮起了绿点。
“臥槽。”
“我们居然真的做到了。
“截图呢?”
伊桑把俯瞰图发了上去。
从五百格的高空往下看,整台红石计算机像一块被放大了一百万倍的集成电路,铺满了整个视野。红色的信號线纵横交错,活塞阵列排列成整齐的矩阵,在方块世界的白色平原上,构成了一幅极其震撼的图景。
discord里安静了大概三十秒。
然后“內存泄漏”发了条消息:“我要把这张图列印出来贴在我导师办公室门上。”
“硅”跟了一条:“附议。”
伊桑没有把这张截图发到reddit上。
他只是保存在本地,文件名改成了“day—38—first—run.png”。
t
然后关掉电脑,去睡觉了。
闹钟定的早上七点。他还有一篇论文的截止日期在下周。
但纸包不住火。
团队三十七个人,总有管不住嘴的。
第二天下午,一个伯克利的组员在自己的推特小號上,发了一张红石计算机局部特写的截图。没加任何说明,只配了一个表情符號:。
转发量在两个小时內破了一万。
因为任何一个学过数字电路的人,一眼就能看出那张截图里的东西是什么。
那不是什么花里胡哨的红石机关。
那是一个標准的16位算术逻辑单元。
评论区的画风跟普通游戏帖完全不同。
“这是桶形移位器还是逐位移位?看结构像是后者。”
“右下角那个是进位选择加法器?谁设计的?走线很乾净。”
“等等,这东西的规模————你们是在造cpu?”
截图被转到了hackernews。
標题被编辑改成了:“mit的学生似乎正在《我的世界》里用红石逻辑搭建一台功能完备的16位处理器。”
四个小时,八百条评论,衝上了hn首页第一。
伊桑看到的时候,正在食堂吃三明治。
他嚼了两下,把三明治放下,打开discord。
“谁发的推特?”
沉默了十秒。
伯克利那哥们儿弱弱地冒了个泡:“————我的锅。”
伊桑没发火。他想了一下,说:“算了。反正迟早的事。但从现在开始,所有对外信息由我统一发布。”
“收到。”
“收到。”
“抱歉,老大。”
伊桑关掉discord,把三明治吃完了。
他知道这件事瞒不住。三十七个人的项目,涉及六所高校,保密本来就是奢望。
但他没想到会这么快。
更没想到的是,这条消息传回大洋彼岸的速度。
知乎热榜,当天下午。
“如何评价mit博士生团队在《我的世界》中用红石搭建16位cpu?”
问题下面,那个之前提出“图灵完备”猜想的清华微电子系id,第一个写了回答。
“我之前的猜想被证实了。红石系统是图灵完备的。这意味著,《我的世界》不仅仅是一个游戏,它是一个可编程的物理模擬器。
陆云,或者说他的团队,在一个面向大眾的沙盒游戏里,埋了一套完整的计算基础设施。这件事的意义,远超游戏本身。”
回答很短,但赞数在一小时內破了两万。
评论区里,平时只潜水的技术大佬们纷纷冒头。
“说个更恐怖的事实:这台红石cpu的指令集架构,和早期的risc处理器高度相似。
也就是说,如果有人愿意花时间,理论上可以在mc里跑一个极简的作业系统。”
“楼上別嚇人了。”
“我没嚇人。我在认真分析可行性。”
b站这边反应更直接。
有up主连夜做了个科普视频,標题是《mit疯子在马赛克游戏里造了台电脑,这意味著什么?》。
视频里用动画演示了红石逻辑门的工作原理,从与门讲到全加器,再到cpu的基本架构。最后放出了那张泄露的截图。
弹幕在alu特写出现的那一刻彻底失控。
“我特么大学数电掛了两次,现在在游戏里看懂了。
“陆云:我做了个游戏。mit:我们在你的游戏里做了台电脑。”
“所以这游戏的上限到底在哪???”
播放量一夜破五百万。
而在海城陆达总部,陆云刷到这条新闻的时候,正靠在沙发上喝茶。
他看著屏幕上那张红石cpu的俯瞰图,嘴角微微勾了一下。
没说话。
把茶杯放下,切回了工作邮箱。
沈妙妙从旁边探过头来,瞄了一眼他的屏幕。“你不激动吗?mit在你的游戏里造电脑误。”
“意料之中。”陆云说。
“切,装。”沈妙妙白了他一眼,缩回去继续挖她的矿洞。
ram组是最疯的。
组长是个卡內基梅隆的硕士,网名“內存泄漏”,名字就很有自知之明。他的方案是用粘性活塞的伸缩状態来存储比特:活塞伸出代表1,缩回代表0。
一个字节八个活塞,256位元组就是2048个活塞。加上寻址电路、读写控制线、数据总线接口,整个ram模块铺开之后,面积相当於一个足球场。
“我觉得我在盖数据中心。”“內存泄漏”在discord里发了条消息,配了张俯瞰截图。
截图里,密密麻麻的活塞阵列排列成整齐的矩阵,红石线像血管一样在其间蜿蜒。从高空看,確实像一块巨大的內存晶片的版图。
只不过解析度是一米见方的方块。
伊桑每天晚上都会飞到伺服器上空,俯瞰整个工地。
alu在西边,寄存器在北边,ram在东边,控制单元在南边。四个模块之间留著宽阔的空地,那是给总线组预留的走线通道。
整个布局像一张展开的晶片版图。
他截了张图,没发到任何社交媒体上。存在本地,文件名是“day—12.png”。
第十五天,alu组完成了加法和减法功能的搭建与验证。
“硅”在语音里报告:“16位加法,全部真值表通过。减法用补码实现,也没问题。
延迟大概三秒半一个周期。”
“比预期快。”伊桑说。
【写到这里我希望读者记一下我们域名 101 看书网伴你读,101??????.?????超顺畅 】
“走线优化了一下,省了几个中继器。”
“位运算呢?”
“与、或做完了,异或还差两天。移位器————”“硅”顿了一下,“移位器有点麻烦。桶形移位器的面积太大了,我在想要不要改成逐位移位,用时钟周期换面积。”
“用时钟换。面积不够了。”
“收到。”
第二十天,寄存器组完成。四个16位寄存器,读写功能正常,时钟同步没有毛刺。
第二十五天,ram组完成了前64位元组的搭建和验证。“內存泄漏”说剩下的192位元组是重复劳动,结构一样,就是体力活。
“我现在右手食指按滑鼠按出了腱鞘炎的前兆。”他在discord里说。
没人回復。大家都差不多。
第三十天。
控制单元组交付了指令解码器的初版。支持八条指令:加、减、与、或、载入、存储、跳转、停机。
极其精简。但够了。
伊桑看著指令集表格,在白板上又加了一行字。
“第三十天。所有模块功能正常。开始整合。”
总线组开始动了。
这是最脏最累的活。把四个独立的模块用16位宽的红石数据总线连起来,每一根线都要手动铺设,穿过预留的通道,接入每个模块的接口端。
十六根数据线,加上地址线、控制线,总共將近五十根红石线並排铺设。
从空中看,像一条红色的高速公路。
铺到一半,有根线出了问题。信號传到第三十格的时候衰减了,中继器漏放了一个。
排查花了四个小时。
“找到了,”总线组的人在语音里说,声音疲惫得像三天没睡,“x坐標负1847那个位置,少了个中继器。”
“补上。”
“补了。通了。”
没有人欢呼。只是继续铺下一根线。
第三十八天。
凌晨三点,波士顿时间。
伊桑一个人坐在实验室里,面前的屏幕上是mc的伺服器。
所有模块已经连接完毕。从出生点飞到整个计算机的上空,需要將近一分钟。
它太大了。
占地面积超过了游戏里一个中型村庄。密密麻麻的红石线、中继器、活塞和方块,组成了一个极其壮观的矩阵。
伊桑在ram里手动写入了一段程序。
很简单:把寄存器a设为3,寄存器b设为5,执行加法,结果存入寄存器c,停机。
3+5=8。
小学数学。
但要让一堆泥巴和红石粉算出这个结果,需要信號穿过上万个逻辑门,经过几十个时钟周期的流水线处理。
他深吸了一口气,按下了时钟信號发生器旁边的那个石制按钮。
红石信號亮了。
暗红色的光芒从时钟发生器出发,沿著总线向四面八方扩散。中继器一级一级地接力,活塞开始有节奏地伸缩,发出沉闷的“咔、咔、咔”声。
整台计算机活了过来。
伊桑盯著屏幕,一动不动。
信號在alu里穿行,全加器的进位链逐级传递。寄存器的触发器在时钟沿翻转状態。
控制单元的解码器把指令拆解成控制信號,精確地驱动著每一个模块。
二十秒。
三十秒。
四十五秒。
“咔嗒。”
停机指令执行。时钟信號停止。整台机器安静下来。
伊桑飞到寄存器c的位置,低头看那十六个d触发器的输出端。
从低位到高位:亮、亮、亮、灭、灭、灭、灭、灭、灭、灭、灭、灭、灭、灭、灭、
灭。
二进位:0000000000001000。
十进位:8。
他盯著那几个亮著的红石火把,坐在椅子上,一动没动,大概有十秒钟。
然后他摘下耳机,靠回椅背,对著空荡荡的实验室天花板,说了一句话。
“跑通了。”
声音很轻,像是说给自己听的。
他拿起手机,在discord群里打了一行字。
“3+5=8。首次计算成功。所有模块各项指標正常。”
凌晨三点十二分。
群里陆续亮起了绿点。
“臥槽。”
“我们居然真的做到了。
“截图呢?”
伊桑把俯瞰图发了上去。
从五百格的高空往下看,整台红石计算机像一块被放大了一百万倍的集成电路,铺满了整个视野。红色的信號线纵横交错,活塞阵列排列成整齐的矩阵,在方块世界的白色平原上,构成了一幅极其震撼的图景。
discord里安静了大概三十秒。
然后“內存泄漏”发了条消息:“我要把这张图列印出来贴在我导师办公室门上。”
“硅”跟了一条:“附议。”
伊桑没有把这张截图发到reddit上。
他只是保存在本地,文件名改成了“day—38—first—run.png”。
t
然后关掉电脑,去睡觉了。
闹钟定的早上七点。他还有一篇论文的截止日期在下周。
但纸包不住火。
团队三十七个人,总有管不住嘴的。
第二天下午,一个伯克利的组员在自己的推特小號上,发了一张红石计算机局部特写的截图。没加任何说明,只配了一个表情符號:。
转发量在两个小时內破了一万。
因为任何一个学过数字电路的人,一眼就能看出那张截图里的东西是什么。
那不是什么花里胡哨的红石机关。
那是一个標准的16位算术逻辑单元。
评论区的画风跟普通游戏帖完全不同。
“这是桶形移位器还是逐位移位?看结构像是后者。”
“右下角那个是进位选择加法器?谁设计的?走线很乾净。”
“等等,这东西的规模————你们是在造cpu?”
截图被转到了hackernews。
標题被编辑改成了:“mit的学生似乎正在《我的世界》里用红石逻辑搭建一台功能完备的16位处理器。”
四个小时,八百条评论,衝上了hn首页第一。
伊桑看到的时候,正在食堂吃三明治。
他嚼了两下,把三明治放下,打开discord。
“谁发的推特?”
沉默了十秒。
伯克利那哥们儿弱弱地冒了个泡:“————我的锅。”
伊桑没发火。他想了一下,说:“算了。反正迟早的事。但从现在开始,所有对外信息由我统一发布。”
“收到。”
“收到。”
“抱歉,老大。”
伊桑关掉discord,把三明治吃完了。
他知道这件事瞒不住。三十七个人的项目,涉及六所高校,保密本来就是奢望。
但他没想到会这么快。
更没想到的是,这条消息传回大洋彼岸的速度。
知乎热榜,当天下午。
“如何评价mit博士生团队在《我的世界》中用红石搭建16位cpu?”
问题下面,那个之前提出“图灵完备”猜想的清华微电子系id,第一个写了回答。
“我之前的猜想被证实了。红石系统是图灵完备的。这意味著,《我的世界》不仅仅是一个游戏,它是一个可编程的物理模擬器。
陆云,或者说他的团队,在一个面向大眾的沙盒游戏里,埋了一套完整的计算基础设施。这件事的意义,远超游戏本身。”
回答很短,但赞数在一小时內破了两万。
评论区里,平时只潜水的技术大佬们纷纷冒头。
“说个更恐怖的事实:这台红石cpu的指令集架构,和早期的risc处理器高度相似。
也就是说,如果有人愿意花时间,理论上可以在mc里跑一个极简的作业系统。”
“楼上別嚇人了。”
“我没嚇人。我在认真分析可行性。”
b站这边反应更直接。
有up主连夜做了个科普视频,標题是《mit疯子在马赛克游戏里造了台电脑,这意味著什么?》。
视频里用动画演示了红石逻辑门的工作原理,从与门讲到全加器,再到cpu的基本架构。最后放出了那张泄露的截图。
弹幕在alu特写出现的那一刻彻底失控。
“我特么大学数电掛了两次,现在在游戏里看懂了。
“陆云:我做了个游戏。mit:我们在你的游戏里做了台电脑。”
“所以这游戏的上限到底在哪???”
播放量一夜破五百万。
而在海城陆达总部,陆云刷到这条新闻的时候,正靠在沙发上喝茶。
他看著屏幕上那张红石cpu的俯瞰图,嘴角微微勾了一下。
没说话。
把茶杯放下,切回了工作邮箱。
沈妙妙从旁边探过头来,瞄了一眼他的屏幕。“你不激动吗?mit在你的游戏里造电脑误。”
“意料之中。”陆云说。
“切,装。”沈妙妙白了他一眼,缩回去继续挖她的矿洞。