查看: 7897|回复: 0

[互助技巧] 红石伪超前进位加法器

[复制链接]

308

主题

380

帖子

1789

积分

实习版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

发表于 2017-9-15 09:00:57 | 显示全部楼层 |阅读模式
能够进行快速运算的全加器叫做并行加法器(并行全加器),一般的串行加法器运算速度慢的原因,是由于高位必须等待低一位的进位信号,才能输出正确的结果以及对下一位的进位信号,我们随便画一个串加的电路图来分析一下
223514y6z66sspbppkkzwk.png
好,从这里可以看到,Y2的输出结果和对下一位的进位信号需要等待上一位的进位信号,Y3的输出结果和对下一位的进位信号要等待Y2的进位信号,Y4的输出结果和对下一位的进位信号需要等待Y3的进位信号.......这样几位下来或许没什么,但是如果要做几十甚至几百位的运算呢?这就像一条超长的中继器链。辣么,超前进位加法器呢
超前进位加法器,顾名思义,就是每一位自己能够产生对下一位进位信号,而不需要等前一位输入的进位信号。
超加(超前进位加法器的缩写,后同)用了这种方式来完成这个功能
S=Ai⊕Bi⊕Ci
Ci+1=Gi+(Pi+Ci)
Gi=Ai*Bi
Pi=Ai⊕Bi有基础的童鞋应该看得懂吧
这里来解释下进位的原理
当Gi为1时,输出进位信号,当Pi为1时,输出上一位的进位信号到下一位
但是在这里,Gi比Pi的优先级高,也就是说,当Gi为1时,不管Pi如何,直接输出进位信号别问我为毛这次不把这个的电路图画粗来,现实中的超加电路图可以吓趴人滴。所以这也是标题加“伪”字的原因---我们要利用MC的特性来做超加
那么,在MC中,活塞这个东西具有微延迟,相对其它延迟高原件更适于用于制作高速加法器,我们可以把活塞安在第一个异或门的输出,把它当作上述式子的P,然后进位链可以是一条红石线,分别接上每位的Gi,这样也可以达到“进位不由上一位提供”的效果。
最后放图~
全世界最正常的超加
223536gxcx3gsxz6wj5wmq.png
223537kgu8pop875eo2ugp.png
223538trfcc7kk7s776wzi.png

223539tbooof4c1r5x5riz.png
自己魔改的超加
223532ed1812ec8yq8swpc.png
223533xc22bhxc3psm188o.png
223534ilx2wx6xetex985v.png
223535u1k1cm82ml8xzaz0.png
照着做很简单吧~堆叠方式和普通的串行加法器一样



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击这里给我发消息 点击链接加入【17173社区玩家群1】