Как проинвертировать три сигнала двумя инверторами или их роль в истории ЭВМ

8833eaa2292a41cd8cb463bb0739bc4d.jpgЗадачу «Можно ли проинвертировать три сигнала, если у вас есть только два инвертора, и неограниченное количество элементов «И» и «ИЛИ»? мы решали в институте за одну пару. Сейчас ее решение ставит в тупик даже продвинутых специалистов. Давайте посмотрим как с ней справится geektimes-сообщество, а заодно попробую восстановить истории ее возникновения…

Преподаватель в институте рассказывал, что подобного рода задачи возникали в эру ламповых ЭВМ. Но расспросить подробности у нас студентов-бездарей ума не хватило, потому сейчас историю приходится восстанавливать по описанию старых машин и немного додумывать.
Первые электронные вычислительные машины строились на лампах. Так первая в СССР (1950 год) ЭВМ МЭСМ содержала около 6000 ламп, с помощью которых реализовывались логические функции «И», «ИЛИ» и «НЕ» двоичной логики, которые лежат в основе и современных компьютеров. Реализацию классических вентилей на лампах можно посмотреть на картинке.
efa07173c58b4d24a6505a29fd520bd9.jpg

Логическая функция «И» строилась на одной лампе, число входов определялось числом сеток в лампе. А для реализации элемента классического вентиля »2ИЛИ» требовалось две лампы. И хотя в последствии появились так называемые компактроны, что то на подобии сборок из нескольких ламп в одной колбе, инженерами все же приходилось оптимизировать логические выражения для того, что бы в них преобладала функция «И». Лампы были дорогими, не надежными (наработка на отказ 750 часов), выделяли много тепла, но самое главное они были огромными. В 1952 году появились первые отечественные полупроводниковые диоды для замены маломощных ламп. Их появление ознаменовало появление диодной логики, которая позволила значительно сократить размер логических вентилей. Реализация функции «И» и «ИЛИ» на диодной логике представлено на рисунке.
a420b90b0a6947d196d2e01013388716.jpg

Но для реализации инвертора все еще требовалась лампа. Для построения машины БЭСМ-2 уже применялись полупроводниковые диоды, и она содержала уже 4000 ламп и 5000 полупроводниковых диодов. Сокращение размеров и потребления вентилей «И» и «ИЛИ» были значительными, и заставляло оптимизировать логических функций для уменьшении числа инверторов в схеме. Наверное именно тогда инженерам и пришлось впервые решить эту задачу.
Серийное производство транзисторов, позволивших полностью отказаться от ламп, началось в нашей стране в 1955 году. И в 1959 году первой транзисторной безламповой ЭВМ была машина «Сетунь», хотя в ней все же было 20 ламп.

И все же вернемся к нашей задаче.
Если кто знает решение, давайте не портить удовольствие тем кто хочет решить ее сам. Ответы принимаются в комментариях, просьба оформлять их в виде записи на языке С или Verilog.
Вариант {nA, nB, nC} <= !{A,B,C}; не принимается, это три инвертора.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

© Geektimes