关灯
护眼
字体:大 中 小
上一章
目录
下一页
第237章 他们在 MC 里,造了一台能算数的机器
RAM组是最疯的。
组长是个卡内基梅隆的硕士,网名“内存泄漏”,名字就很有自知之明。他的方案是用粘性活塞的伸缩状态来存储比特:活塞伸出代表1,缩回代表0。
一个字节八个活塞,256字节就是2048个活塞。加之寻址电路、读写控制线、数据总线接口,整个RAM模块铺开之后,面积相当于一个足球场。
“我觉得我在盖数据中心。”“内存泄漏”在Discord里发了条消息,配了张俯瞰截图。
截图里,密密麻麻的活塞数组排列成整齐的矩阵,红石线像血管一样在其间蜿蜒。从高空看,确实象一块巨大的内存芯片的版图。
只不过分辨率是一米见方的方块。
伊桑每天晚上都会飞到服务器上空,俯瞰整个工地。
ALU在西边,寄存器在北边,RAM在东边,控制单元在南边。四个模块之间留着宽阔的空地,那是给总线组预留的走线信道。
整个布局象一张展开的芯片版图。
他截了张图,没发到任何社交媒体上。”。
第十五天,ALU组完成了加法和减法功能的搭建与验证。
“硅”在语音里报告:“16位加法,全部真值表通过。减法用补码实现,也没问题。
延迟大概三秒半一个周期。”
“比预期快。”伊桑说。
“走线优化了一下,省了几个中继器。”
“位运算呢?”
“与、或做完了,异或还差两天。移位器————”“硅”顿了一下,“移位器有点麻烦。桶形移位器的面积太大了,我在想要不要改成逐位移位,用时钟周期换面积。”
“用时钟换。面积不够了。”
“收到。”
第二十天,寄存器组完成。四个16位寄存器,读写功能正常,时钟同步没有毛刺。
第二十五天,RAM组完成了前64字节的搭建和验证。“内存泄漏”说剩下的192字节是重复劳动,结构一样,就是体力活。
“我现在右手食指按鼠标按出了腱鞘炎的前兆。”他在Discord里说。
没人回复。大家都差不多。
第三十天。
控制单元组交付了指令译码器的初版。支持八条指令:加、减、与、或、加载、存储、跳转、停机。
极其精简。但够了。
伊桑看着指令集表格,在白板上又加了一行字。
“第三十天。所有模块功能正常。开始集成。”
总线组开始动了。
这是最脏最累的活。把四个独立的模块用16位宽的红石数据总线连起来,每一根线都要手动铺设,穿过预留的信道,接入每个模块的接口端。
十六根数据线,加之地址线、控制线,总共将近五十根红石线并排铺设。
从空中看,象一条红色的高速公路。
铺到一半,有根线出了问题。信号传到第三十格的时候衰减了,中继器漏放了一个。
排查花了四个小时。
“找到了,”总线组的人在语音里说,声音疲惫得象三天没睡,“X坐标负1847那个位置,少了个中继器。”
“补上。”
“补了。通了。”
没有人欢呼。只是继续铺下一根线。
第三十八天。
凌晨三点,波士顿时间。
伊桑一个人坐在实验室里,面前的屏幕上是MC的服务器。
所有模块已经连接完毕。从出生点飞到整个计算机的上空,需要将近一分钟。
它太大了。
占地面积超过了游戏里一个中型村庄。密密麻麻的红石线、中继器、活塞和方块,组成了一个极其壮观的矩阵。
伊桑在RAM里手动写入了一段程序。
很简单:把寄存器A设为3,寄存器B设为5,执行加法,结果存入寄存器C,停机。
小学数学。
但要让一堆泥巴和红石粉算出这个结果,需要信号穿过上万个逻辑门,经过几十个时钟周期的流水线处理。
他深吸了一口气,按下了时钟信号发生器旁边的那个石制按钮。
红石信号亮了。
暗红色的光芒从时钟发生器出发,沿着总线向四面八方扩散。中继器一级一级地接力,活塞开始有节奏地伸缩,发出沉闷的“咔、咔、咔”声。
整台计算机活了过来。
伊桑盯着屏幕,一动不动。
信号在ALU里穿行,全加器的进位链逐级传递。寄存器的触发器在时钟沿翻转状态。
控制单元的译码器把指令拆解成控制信号,
本章未完,请点击下一页继续阅读>>『加入书签,方便阅读』
上一章
目录
下一页