返回第136章 打造算术逻辑单元(第1/3页)  重生学神有系统首页

关灯 护眼     字体:

上一章 目录 下一页

    在计算机中,二进制数是以补码的形式进行运算的。

    这样做的目的,是为了用统一的方式,来进行有符号数的加减法运算,使得硬件复杂度最小化。

    关于补码的运算规则比较复杂,这里不多展开。

    江寒首先要实现的,是最简单的“半加器”。

    其功能十分简单,就是实现两个二进制位的加法。

    之所以叫“半加器”,是因为输入只有两个,不考虑其他运算产生的进位。

    它的两个输入位,只允许传入两个1位的二进制数:1或者0。

    输出的运算结果,也有两个二进制位。

    一个叫sum位,表示“和”;另一个则是carry位,保存着“进位”信息。

    比如……

    输入:【1,1】,则输出【1,0】

    输入:【1,0】,则输出【0,1】

    输入:【0,1】,则输出【0,1】

    输入:【0,0】,则输出【0,0】

    输出中,前面的是carry位,后面的是sum位。

    如果单看sum位的取值,这不就是把输入进行了xor(异或)运算的结果吗?

    再看carry位,它的取值也很有规律,就是个and(与)逻辑。

    没错,就是这么简单。

    只要将一个“异或门”,并联上一个“与门”,一只半加器就做成了。

    做好了这只半加器后,江寒又将其改造了一下。

    为了缩减工艺难度,统一基本元器件的种类,可以只用“与非门”,去实现所有的逻辑运算。

    江寒很快就完成了这个计划。

    毕竟一只“半加器”的构造,实在很简单。

    当然,这里也可以使用“异或门”或其他什么门,效果都差不太多,没什么本质的区别。

    江寒试着将这只半加器扔进了“回收站”。

    也不知道,这么简单的“半加器”,到底值多少积分?

    结果没什么惊喜,只有可怜的1.6分,远远不能保本。

    好,继续改进。

    接下来,江寒将“半加器”改造成了“全加器”。

    和“半加器”相比,“全加器”只多了一个输入位。

    也就是说,输入端包含了3个二进制位。

    之所以这么做,是考虑到了来自其他数位的进位。

    “全加器”有多种设计。

    最简单的设计,可以用两个“半加器”,加上一个“或门”来实现。

    多个“全加器”级联,就成了“多位全加器”,也叫“加法器”。

    随后,江寒还实现了另一个基本运算器件:“增量器”。

    “增量器”的功能只有一个,给输入的数据加1。

    随后,在以上工作的基础上,就可以打造出可运算n位二进制数的“加法器”了。

    但在实现之前,江寒再次打开“商品列表”,买了几张“空白图纸”。

    这玩意是他前几天翻阅元件列表时,无意中发现的。

    其功能也很简单。

    将其与任何作品一起回收,系统都会自动生成对应的图纸,并将其收纳于【图纸列表】中。

    说实话,江寒对这个功能还是挺欣赏的。

    尽管要多花一些积分,但至少省了手绘图纸的麻烦。

    江寒将一只“与非门”和空白图纸一起扔进了【回收站】。

    点击了确认以后,作品与空白图纸同时消失。

    几乎与此同时,图纸列表更新了,多出了一个《与非门》的条目。

    这样,以后再构建复杂

『加入书签,方便阅读』

上一章 目录 下一页