在1950年代,计算机是如何实现逻辑门的?计算机进入了晶体管时代,但是晶体管价格昂贵,因此对电路进行了优化以最大程度地减少晶体管的数量。在本文中,我将描述一种实现逻辑门的方法:二极管晶体管逻辑。
IBM 1401计算机,其中显示了一些卡。 (单击任何图像以获取更大的版本。)
上面提到的IBM 1401计算机于1959年问世,成为1960年代初期最受欢迎的计算机,无法使用的计算机超过10,000个,它是由数千个电路卡构成的,每个电路卡都实现了一些逻辑门之类的功能。 IBM 1401中的门在大多数情况下使用了一种简单的逻辑形式,称为IBM的CTDL(互补晶体管二极管逻辑)和世界其他地区的DTL(二极管-晶体管逻辑)。由二极管和晶体管构成。 1个
这些卡的大小与纸牌差不多,被称为SMS(标准模块系统)卡。 3 2每种类型的卡都有一个代码,通常为四个字母。上面的卡是" CHWW"卡,实现三个NAND门,它包含少量组件:晶体管,二极管,电阻器和电感器。一个不寻常的组件是中间的跳线,称为"程序帽"此栏允许稍微更改卡的功能,以便一张卡可以充当多个角色。卡的背面(下图)显示了印刷电路板以及带有16个镀金触点的连接器的迹线。详细信息CHWW卡中的CHS在我的SMS卡数据库中。
CHWW卡包含三个NAND门。以下是IBM 1959年的文档中的示意图,其中显示了这些门之一。请注意,IBM晶体管的不寻常符号显式地显示了N-P-N结构,发射极带有一个外部箭头。
由83型晶体管构建的NAND逻辑电路的示意图。摘自《标准模块化系统组件电路》,第43页。
我用现代符号重绘了下图,箭头(定性地)显示了当门有两个高输入时发生的情况,左箭头表示流经电阻和晶体管基极的电流。将晶体管导通,将输出连接至-6伏,并产生低输出。
但是,如果有一个(或两个)低输入,则电阻的电流通过二极管而不是通过晶体管流出。在晶体管关闭的情况下,输出被上拉电阻上拉至高电平。结果是一个与非门:只有两个输入都为高电平时,输出才为低电平。在该电路中,二极管是计算逻辑功能的组件。 4晶体管放大(并反相)结果。 5
不过,这扇门有问题。对于高信号,输出电压约为+6伏,对于低信号,输出电压约为-6伏。当输入大约在此范围的中间时,您希望门切换。当输入约为-6伏时将切换。因此,输入电压和输出电压电平不兼容,并且您不能将两个门连接在一起。
这个问题有多种解决方案。第一个解决方案是使用其他二极管和晶体管来移位电压电平以使其兼容.Fairchild在1960年代流行的DTL集成电路Micrologic系列中使用了这种方法。 9第二种解决方案(在IBM的SDTDL电路中使用)是通过使用附加电阻器来改变电压电平。
相反,1401的门采用了令人惊讶的解决方案,避免了额外的组件。在上面的门中,输出电压水平比输入高,但具有PNP晶体管而不是NPN晶体管的类似门将具有相反的特性:输出电平将降低。因此,IBM的解决方案是将由NPN晶体管构建的栅极与由PNP晶体管构建的栅极交替使用。第一个栅极将电压电平升高,第二个栅极将电压水平降低。门的类型是您的两倍,并且设计起来更复杂,但是却避免了额外组件的花费。
下图显示了基于PNP的NAND门卡,它与以前的NPN卡几乎相同,除了晶体管是PNP而不是NPN。另一个不同之处在于它使用-12V和0V而不是-6V和6V供电。 6
更详细地讲,对于我们首先检查的NPN门,输入在-6伏左右开关,输出大约-6伏或6伏;在相应的PNP门中,输入在0伏左右开关,输出为- 12伏或0伏。IBM称-6V / 6V电平为" T"并且0V / 12V电平类型为" U&#34 ;,因此NPN门具有U输入和T输出,而PNP门具有T输入和U输出。通过交替使用NPN门和PNP门,您可以将T输出输出到T输入,将U输出输出到U输入,一切正常。 8
下图显示了1401加法器的逻辑图的一部分,该图经过了大大简化。两个U型信号进入第一个CHWW门,后者输出T信号。 4JMX门是一个PNP NAND门,它接受T个输入并输出一个U.CRZV是一个将U转换为T的NPN缓冲器。最后,CNTW是一个NPN驱动器,它放大T信号,在这种情况下是二进制进位信号注意信号在T和U之间如何交替(最后一个特殊驱动器除外)。
这些逻辑门还有一个有趣的技巧:wired-OR。想法是您可以将多个NAND门的输出连接在一起。如果任何一个门输出逻辑0,则该门将输出拉低;如果所有门输出逻辑1,则输出将被上拉电阻拉至高电平。下图说明了NAND门的接线方式以及电路的逻辑行为。1401年广泛使用了“线或”电路,因为您可以免费获得“或”门,从而最大限度地减少了电路。
线或运算存在一个小问题:如果将标准NAND门连接在一起,最终会并联多个上拉电阻,这会影响门的行为。解决方案是使用不带上拉电阻的门,除了一个具有上拉电阻的门。例如,4JMX卡具有上拉电阻(称为“集电极负载”),而3JMX卡则没有上拉电阻。 -OR可以使用一张4JMX卡,其余的可以使用3JMX。(这就是为什么有这么多不同类型的SMS卡的原因之一。)
由于每个卡仅实现少量逻辑,因此IBM 1401计算机需要数千张卡。下图显示了它们是如何安装在计算机中的。在这里,我将不详细介绍如何组合SMS卡以创建功能单元,但是我已经写过1401中的电路。 s加法器,如果您想了解更多。
安装在IBM 1401计算机中的SMS卡。左侧的风扇使卡保持凉爽。
这些门使用了目前仍在使用的双极型NPN和PNP晶体管,但是锗合金结晶体管与现代的硅平面晶体管完全不同。下图显示了NPN合金晶体管的结构,它由一个P型锗晶体基体,锡/锑珠在任一侧融合形成发射极和集电极。锗-锑合金区域形成" N"。地区。所得的N-P-N层形成NPN晶体管。(类似地,使用铟作为合金来形成PNP晶体管。)10在照片中,垂直金属板是与圆形孔中的微小锗盘的基极接触。铜线连接到锗盘两侧的铟珠上。
在IBM 1401计算机中使用的锗合金结晶体管内部。这是IBM的083NPN型晶体管。 IBM 1401恢复团队的照片
1950年代是晶体管技术日新月异的时代.1947年,贝尔实验室发明了该晶体管.1950年,通用电气公司发明了合金结晶体管(用于1401).1953年,漂移晶体管的创建速度更快,因为IBM在饱和漂移晶体管二极管逻辑(SDTDL)系列中使用了漂移晶体管.1954年推出了第一款硅晶体管.1958年发明了基于晶片的台面晶体管,随后在1959年发明了现代平面晶体管。 ,晶体管在1950年代经历了根本的变化,IBM引入了新的逻辑系列以利用这些新的晶体管类型。
二极管晶体管逻辑是IBM早期计算机(例如IBM 1401)的关键部分.1964年,IBM推出了突破性的System / 360系列大型机,这些计算机仍然使用二极管晶体管逻辑,而不是SMS卡。逻辑电路由分立元件组成,被封装在包含微型硅晶体管和二极管的小型SLT模块中(下图).SLT模块大致相当于SMS卡,但侧面只有半英寸,可靠性几乎是后者的100倍。 SLT模块的密度,低成本和可靠性对于System / 360系列产品的成功至关重要。
板上可能有来自System / 360的24个SLT模块。 361453模块实现了AND-OR-Invert。
在1960年代引入了二极管-晶体管逻辑集成电路,但是DTL在1960年代后期被TTL(晶体管-晶体管逻辑)的兴起所淹没.1970年代,带有MOS晶体管逻辑的集成电路变得很普遍,尤其是对于微处理器而言CMOS逻辑在1980年代接管,它仍然是最受欢迎的逻辑家族。由于摩尔定律,技术已经从IBM 1401时代发展到板上只有几个晶体管,而现代的微处理器已经达到数十亿个。芯片上的晶体管数量。
加利福尼亚山景城的计算机历史博物馆有两台可以使用的1401台计算机,因此在大流行结束后进行一次演示(感谢bogomipz建议这个主题),感谢Randall Neff和Henk Stegeman的SMS卡照片。我在Twitter上的最新博客文章,请关注我@kenshirriff。我也有一个RSS feed。
IBM在那个时代使用了令人眼花logic乱的逻辑系列。甚至1401也使用了多个系列(大多数是上面讨论的CTDL,还有TAU磁带控制器中的电流模式和STDTL,偶尔还有SDTRL)。
下表自1963年以来总结了IBM的众多逻辑系列。CTRL(互补晶体管电阻逻辑)用于合金结晶体管。它运行速度很慢,在200 kHz以下运行.CTDL(互补晶体管二极管逻辑)也使用了合金结晶体管,但工作频率高达250 kHz(互补系列交替使用NPN和PNP电路)。电流模式(类似于发射极耦合逻辑)为由于晶体管不饱和且电压摆幅较小(±0.4V),因此速度要快得多。合金结晶体管的工作频率为1兆赫,扩散结晶体管的工作频率为7兆赫。
有关更多讨论,请参见1401中的晶体管组件电路和逻辑系列.William Crouse在Wikipedia的DTL演讲页面上进行了有趣的讨论,该页面由IBM设计了许多SDTDL电路。 ↩
IBM还提供了SMS卡作为组件供其他公司在产品中使用。以下声明来自1966年Datamation。
标准模块系统卡背后的想法是IBM可以制造少量的标准化卡并从中构建系统。不幸的是,从理论上讲,标准化要比实际上更好,IBM最终产生了数千种不同类型的卡以及逻辑功能。 SMS卡具有各种各样的作用,包括振荡器,打印机驱动程序,核心存储器阵列,读出放大器,电源调节和磁带前置放大器。 ↩
许多真空管计算机都将半导体二极管用作其逻辑门的关键部分。计算机世代分为管型与晶体管型,没有认识到以二极管形式逐渐引入半导体的情况。 ↩
注意连接到门输出的电感。电感将输出拉高时会提高速度,问题是输出通过电阻上拉至高电平,因此输出线上的任何电容都会在充电时产生延迟,电感会抵消该电容。对于手波,一旦电阻器开始将信号上拉,电感器将保持电流流动。 ↩
这是CGWW卡中使用的基于PNP的与非门的原理图,它与基于NPN的门相似,不同之处在于电路是翻转的并消耗-12伏特的电压。
我要指出的是,拥有两组电压电平会使1401系统的调试非常混乱。例如,如果您测量-3伏特,这对于T信号来说是逻辑低,对于U信号来说是逻辑高。或门也使调试不便。如果输出为低,您将无法轻易分辨出哪个NAND门将输出拉为低电平,并且这些NAND门可能位于具有许多不同输入的不同卡上。 ↩
下图显示了Fairchild Micrologic集成电路系列中NAND门的实现,该电路使用附加的晶体管和二极管来改变电压电平,这在集成电路中很实用,因为附加组件的成本最低。因为1401的锗组件提供的电压漂移比Fairchild IC中的硅组件小得多,所以在IBM 1401中不能很好地工作。
元素周期表说明了为什么在合金晶体管中使用铟等元素。 请注意,半导体锗与硅位于同一列中,后来被硅取代了。铟和镓位于左侧的列中,因此它们的价电子少一个。 因此,将它们添加到半导体中会使它变得更正(P型),因为电子是负的。 锡中与锗同列的锡被用于合金中,但对半导体性能没有影响。