关于小型计算器的内在结构介绍

物理
关于小型计算器的内在结构介绍

用户头像
ERROR【数据缺失】(毁灭) 更新于2024-11-28 04:27:29

8月8日更新了减法器原理

$\huge{不是讲我的世界的红石!!!!不要问我水电梯一类的问题!!!!}$


IMG_20240819_135949_282.jpg

来答题啊,有收藏可得,毕竟除了学还要思考,文中有小问题等你来答

(为了结构简单使用我的世界进行电路介绍(数字电路!不是模拟电路!)勿举报!!!最后造出来的计算器也不是正常我们用的按键式的,而且只能算加法......但是也许能帮到想要手搓CPU的你对罢)

$\huge{为什么没人看!!!}$

呜呜呜,拿pad的时间实在是少,和电脑重合不了,更不了一点。

(想要了解用符号表示的电路其实可以去steam的图灵完备游戏里看看,就是有点贵,70RMB,不过B站上有可以白嫖的

搜图灵完备,电脑网页上第一行就有,不过要用夸克下载,记得准备好帐号)

上车,准备出发!


1.三种基础门电路

  • 结构图,从左到右分别是非门,或门,与门。

IMG_20240215_091004_618.jpg

  •  非门,输出(S)与输的关系如图所示,是相反的。1变成0,0变成1。
真值表:      A | S

                0 |  1

                1 |  0

  • 或门,两个输入中有一个是1的就输出1,一般会被忽略。
真值表:       A | B | S

                0 | 0  | 0

                0 | 1  | 1

                1 | 0  | 1

                1 | 1  | 1

  • 与门,只有两个输入都是1才输出1。可以通过将两个输入通过非门之后通过与门,输出的结果再通过非门得到。
  • 真值表:       A | B | S

                    0 | 0  | 0

                    0 | 1  | 0

                    1 | 0  | 0

                    1 | 1  | 1

    嘿嘿嘿,看这么多,晕不晕?别急,后面还有更多叫人脑子发晕的东西哦~


    2.半加器与全加器

    • 在了解半加器之前,我们要先了解异或门,他大概长这个样子。

    IMG_20240322_190217_004.jpg

    • 异或门的输出规则是两边输入相同的情况下不输出。
    真值表:            A | B  | S

                   0 | 0  | 0   

                   0 | 1  | 1

                   1 | 0  | 1

                   1 | 1  | 0

    思考:异或门还有另一种表达形式,请你在评论区打出来,第一个打出来对的有五个藏,第二个四个藏以此类推

    • 了解了异或门之后,我们就可以学习如何制作半加器了,制作半加器需要一个异或门与一个与门,输出结果如下(左边是十位,右边是个位):

    IMG_20240214_225554_324.jpg

    IMG_20240214_225610_625.jpg

    IMG_20240214_225657_439.jpg

    IMG_20240214_225629_710.jpg

    是不是感觉要长脑子了?这就对了~

    下面更难哦~


    • 一般我的世界中有两种加法器,横式加法器就是将两个上面讲的半加器串联额外引出一条进位线并将两个半加器的进位进行或门运算。图中的是竖式的,它与横式不相上下,使用哪种仅凭你的意愿。它的真值表相信大家都能想到,就不写出来了。
    思考:它的真值表是什么?使用AB$C_{n}$输入,S$C_{n+1}$输出,这个比较简单,只有第一个对的有一个藏。

    IMG_20240702_183719_802.jpg

    如果将多个一位加法器并接(将低位加法器的进位输出线连接到高位加法器的进位输入线),就得到了一个多位加法器,图中的是四位加法器。

    IMG_20240702_183646_204.jpg

    还是很难......


    接下来我们要制作的是减法器,虽然跟题目没什么关系,但是还是很重要的。

    首先我们要知道反码,补码的概念。

    反码,首先要判定符号位,如果是正数就不管他,是负数就将所有除了符号位的位取反,就是通过非门。

    然后是补码,补码是在反码的基础上的,补码也要判定符号位,如果是正数仍然不变,如果是负数就加一。

    例:                         反。                       补

    10011011。      11100100。        11100101(-29,-100,-101)

    00111111。      00111111。        00111111(63,63,63)

    01001010。      01001010。        01001010(72,72,72)

    11011000。      10100111。        10101000(-88,-39,-40)

    知道了反,补码的概念,接下来我们要推出一个公式:

    [A]补+[-B]补=[A-B]补

    由于目前AB都是正数,且S也是正数,所以我们只有B需要处理,我们只需要将减数取反并加一就行了。

    具体实现就是两个全加器并接,前段全加器一个输入减数,一个输入常量1,后端全加器一个输入前段全加器的输出,一个输入被减数就好了。

    简不简单?

    emmm......

    我承认,还是挺难的。

    收起
    68
    65
    共11条回复
    时间正序
    用户头像
    用户头像
    火羽黑
    2年前

    哇高级jj-dalao

    用户头像
    小粉兔
    2年前
    想起 大刘写的《圆》里的人类计算机
    1条评论
    用户头像
    ERROR【数据缺失】(毁灭)
    2年前

    你怎么不说三体的人列计算机呢

    用户头像
    ERROR【数据缺失】(毁灭)
    2年前
    接下来更新就随缘了,不确定什么时候能用电脑。
    用户头像
    孤电子对
    2年前
    大佬能不能给一下异或门俯视图,求带。
    1条评论
    用户头像
    ERROR【数据缺失】(毁灭)
    2年前

    很抱歉,电脑不在身边,我现在没办法放上去,下次更新的时候我会加上去的

    用户头像
    这个名字真的有十个字
    2年前
    真的很强
    用户头像
    無名
    2年前
    确实要长脑子了,这关于红石电路真的是还原了现实电路,原来我还在地表,你却在大气层,没有自己多次试验(不包括看教学哈),真的好佩服啊!
    3条评论
    用户头像
    ERROR【数据缺失】(毁灭)
    2年前

    过奖了过奖了,不过红石电路只是还原了部分现实的电路的功能,还对其进行了简化,毕竟红石电路就不像现实的电路有正负极。

    用户头像
    好好学习,天天向上! 回复 ERROR【数据缺失】(毁灭)
    1年前

    红石电路更像现实中的逻辑电路

    用户头像
    ERROR【数据缺失】(毁灭) 回复 好好学习,天天向上!
    1年前

    对,感觉红石火把能被反充能,即熄灭的特性真的就是为逻辑电路量身打造,没有它真的会很难搞,好多都得改成械电,降低了运算速度

    用户头像
    ERROR【数据缺失】(毁灭)
    1年前
    更新辣!!!
    用户头像
    还没有昵称
    1年前
    催更!!!
    用户头像
    纳维莱獭
    1年前
    我也是mc红石爱好者,一起研究吗?你的mc算法和思路或许能为我创造一些启发
    4条评论
    用户头像
    ERROR【数据缺失】(毁灭)
    1年前

    OK。

    用户头像
    纳维莱獭 回复 ERROR【数据缺失】(毁灭)
    1年前

    有wx吗?你加我吧,我现在手机不在身边,我wx号是tcm201

    用户头像
    ERROR【数据缺失】(毁灭) 回复 纳维莱獭
    1年前

    问题在于我没有

    用户头像
    爱喝HSbF6的水木球 回复 纳维莱獭
    2天前
    用户头像
    好好学习,天天向上!
    1年前
    不是,异或门同或门与非门或非门三太门蕴含门呢?
    1条评论
    用户头像
    ERROR【数据缺失】(毁灭)
    1年前

    异或门讲了,其他要么是有手就行,要么和标题没有太多关系

    用户头像
    不稳定-累了
    3月前

    孩子们,我回来了!不过只有一点点时间......

    我意识到了一个问题:全加器最低位是有3个输入的!不知道你们是不是忘了,所以全减器只需要一个全加器,但删除最高进位线,并在最低位的进位输入1!

    image.png

    (PS:其实广义的来说到了加法器教完题目就已经完成了,但是实在是太不智能了!!!难道你愿意在计算加法之前先把两个加数转换成2进制,再输进去,得到的2进制还要再手算成10进制?那还不如直接手加呢!

    于是,你可以用译码器!

    (图先欠着))