第136章 打造算术逻辑单元(2/2)
这样,以后再构建复杂元器件时,就不用每一个“与非门”都手搓了。
代价只是稍微多花一点点积分而已。
江寒试验了一下,发现自动构建一个“与非门”,需要花费27.2分。
这个电路只需要5个晶体管,价值25分;导线等等算0.2分。
这样,江寒只需要额外多花费不到8%的积分,就可以自动化生产基本部件,从而避免了大量的重复性机械劳动。
接下来,他又将“半加器”、“全加器”、“增量器”……全都制作成了图纸,留待以后使用。
不得不说,江寒有点收集癖。
接下来,江寒就让系统帮忙,大批量生产“与非门”。
手指飞速点动:【与非门】、【确认】、【与非门】、【确认】……
十分钟后,工作台上已经出现了一大堆“与非门”电路。
与手工打造相比,一个明显的优点是规格、造型都极为统一。
接下来,江寒将这些“与非门”连接成了“加法器”。
这是一只32位的加法器,最多支持32位有符号数的加法。
接下来,江寒开始进行今天的最后一个大工程,打造一只“算数逻辑单元”,也就是alu。
其包括32+32位的输入,和32位的输出。
此外,内部还实现了一些函数,并设计了6个输入标志位:zx、nx、zy、ny、f、no。
每个标志位分别实现不同的基本指令。
如zx表示输入的x置0,nx表示对输入x取反,no表示对结果按位取反……
f为0时,执行add指令,做加法运算;
f为1时,则执行and指令,进行位与运算……
通过这些标志位的不同组合,还可以实现更加复杂的功能。
6个标志位,最多允许处理2^6,也就是64种不同的指令。
但江寒只实现了54种比较常用的功能,并没有将所有的函数位置都用掉,为以后根据需要再次扩展,保留了一点余地。
此外还有两个状态位:zr和ng,根据运算结果,置0或1。
这个alu可实现的功能,包括输入数相加、相减、位与、位或、取反、取相反数、自加1,自减1、清0、置1、置-1……
随后,江寒利用刚才生产的一系列“与非门”,将其手工搭建了出来。
再经过反复测试,所有功能都能正确执行,这也就意味着,这只alu到这里就算成功创建了。
接下来,当他试着将其扔进回收站时……
“咦?居然值3024分?”
而成本才不过1800多分,也就是说,每台净赚将近1200!
但这玩意用来刷分,并不会比“无线电发送装置”更有效率。
因为,打造一台实在太麻烦了,足足3个半小时,才能打造出一个。
而且,每时每刻都要极度小心、细心、耐心,无论哪个地方,只要出一点点小问题,都会导致全盘失败……
不过,江寒很快就想到了一个可能性。
江寒将其和一张“空白图纸”一起扔进了“回收站”,然后去图纸列表里看了一眼。
【需要花费积分1890+1238点,是否自动构建?确认/取消。】
江寒开心一笑。
不错!
只多花了不到100分,就将alu再次购买了回来。
接下来,就是继续提高设计复杂度,做出真正的cpu来!
当然,这不是一朝一夕之功。
今天已经很累,就先到这里。
以后每天晚上来做一点,估计几天之后,一个简单的晶体管计算机就能出炉了。
至于x86兼容机,就稍微麻烦一些,可能得努力一个月以上……
83中文网最新地址www.83zws.com