带12个晶体管的ALU(实际上不是)



12个晶体管能做什么? 如果电路是模拟电路,则可以是具有良好特性的无线电或放大器。 对于数字电路,这是灾难性的很小。 即使在像ALU K155IP3(74181)这样简单的芯片中,也有更多的芯片。

实际上,这里没有12个晶体管,而是27个晶体管,但是ALU本身仅使用了11个晶体管(第十二晶体管在选择逻辑操作时未将逻辑零强制为传输输入)。 其余晶体管参与提供给ALU输入的信号整形器。 当ALU包含在晶体管处理器中时,如果已经在此处生成了所有必需的信号,则可能不需要前者。

如何保持在这个数量之内? 首先,将ALU设为一位,其次,将运算数量减少到两个算术和五个逻辑(K155IP3,每个都有16个,但实际上实际上更多),其次,...

...使用不常见的DCTL技术(直接耦合晶体管逻辑)执行ALU,可以显着减少组件数量。

该仿真是在Falstad中进行的,该仿真器非常方便,因为它以“行车灯”的形式显示电流的方向。 文件: 仅完整的加法器就绪的ALU

首先,我们将使用一个功能-完整的加法器来构建“ ALU”。 让我们将该计划分为两半。 第一种设计用于为加法器准备输入信号:



开关可用于设置两个单位数字-A和B以及传输信号。 其中,电路产生四个信号(第四个是相同的B,只有反相)。

电路的后半部分是加法器本身:



它是经典完整加法器的实现。 该结构图还通过逻辑元素显示了晶体管的分布:



为了将所有这些转换为多功能ALU,我们首先以这样的方式重做输入信号调节器:它不仅以B值而且以A值的形式直接生成和反转生成:



但是由于作者计划将他的ALU用作分立组件上处理器的一部分,因此可能不需要这样的整形器:这两个数量将以直接形式和反向形式出现。 因此,整形器的晶体管不包括在晶体管ALU的数量中。 是的,没有处理器,您只需带交叉触点的开关即可。 好吧,现在-实际上是ALU:



四个开关可以选择ALU执行的功能。 下面仅显示7个核心:



因此,ALU并非“球形”,而是可以接收来自外部的信号,因此必须将开关替换为晶体管。 由于在选择逻辑功能时没有晶体管强制将逻辑零施加到传输输入,因此在这种情况下必须手动将零施加到该输入。

尽管该图仅显示7个功能,但是您可以尝试所有16种开关位置组合。 特别地,将获得功能AND-NOT,OR-NOT,排他性OR-NOT,通过和通过的信号B的传输,相同信号的反相。

模拟会带来惊喜。 您知道双极性晶体管在相反方向通过电流时可以工作吗? 输入信号的某些组合会发生这种情况。 在模拟放大器中,增益会降低,但是逻辑电路将继续以与正常模式相同的方式工作。

电源电压为+5V。在模拟器中,选择了通用NPN结构的晶体管。

加法器是通过传递获得的。 传输信号必须经过晶体管T8和T9。 如果太慢,则必须首先检查连接到T8晶体管发射极的电路如何影响电路的运行。 如果同时执行两位操作,传输也可以更快地完成。

如果只需要一个完整的加法器,那么传统的二极管晶体管逻辑(DTL)也适用。 您只需要两个晶体管,但只需要二极管...您可以用灯代替这些晶体管,您将得到作者所谓的DVTL-二极管-真空管-逻辑电路。



电路的顶部生成一个反向传输信号。 第二个计算反转的总和:AMOUNT =((A或B或C输入)和/ C输出)。 该表达式也可以表示为(A和B,以及C in)。

框图如下:



通过添加更多组件,您可以将零或一强制设置为转移输入。 然后,该电路将能够执行AND操作(在传输输入处一个,在反向传输输出处为零),以及OR(在传输输入处为零,在反向传输输出处为一个)。

要将信号“反相的C o”发送到电路的输入“ C in”以获取下一位,您需要一个晶体管反相器。 或者,您也可以接受规则,即正逻辑和逆逻辑在位之间交替。

通过计算电阻器并添加其他组件以优化电路的“响应性”,所有这些都可以转化为有效的ALU。 连接到输入的设备必须包含将其接地(对于二极管“ AND”的输入)或将其连接到电源的正极(对于二极管“ OR”的输入)的按键。

这是一个非常简单的方案,它没有实现快速传输。

Source: https://habr.com/ru/post/zh-CN448074/


All Articles