Como inverter três sinais com dois inversores ou seu papel na história dos computadores

A tarefa "É possível inverter três sinais, se você tiver apenas dois inversores, e um número ilimitado de elementos" AND "e" OR "? decidimos no instituto em um par. Agora, sua decisão está desconcertando até profissionais avançados. Vamos ver como a comunidade dos geeks lida com isso e, ao mesmo tempo, tentar restaurar o histórico de sua ocorrência ...

Um professor do instituto disse que tarefas desse tipo surgiram na era dos computadores de tubo. Mas não tínhamos mente suficiente para pedir detalhes aos estudantes de mediocridade, porque agora temos que restaurar a história de acordo com a descrição dos carros antigos e pensar um pouco.
Os primeiros computadores eletrônicos foram construídos em lâmpadas. Assim, o primeiro computador da URSS (1950) MESM continha cerca de 6000 lâmpadas, com a ajuda das quais as funções lógicas “AND”, “OR” e “NOT” da lógica binária foram implementadas, subjacentes aos computadores modernos. A implementação das válvulas clássicas nas lâmpadas pode ser vista na figura.



A função lógica “AND” foi construída em uma única lâmpada, o número de entradas foi determinado pelo número de grades na lâmpada. E para a implementação do elemento da válvula 2IL clássica, foram necessárias duas lâmpadas. E embora posteriormente os chamados compactrons tenham aparecido, algo semelhante aos conjuntos de várias lâmpadas em uma lâmpada, os engenheiros ainda precisavam otimizar as expressões lógicas para que a função "E" prevaleça nelas. As lâmpadas eram caras, não confiáveis ​​(MTBF 750 horas), geravam muito calor, mas o mais importante eram enormes. Em 1952, os primeiros diodos semicondutores domésticos pareciam substituir as lâmpadas de baixa potência. Sua aparência marcou a aparência da lógica dos diodos, o que permitiu reduzir significativamente o tamanho das portas lógicas. A implementação das funções “AND” e “OR” na lógica do diodo é mostrada na figura.



Mas ainda era necessária uma lâmpada para implementar o inversor. Os diodos semicondutores já foram usados ​​para construir a máquina BESM-2 e já continha 4000 lâmpadas e 5000 diodos semicondutores. A redução no tamanho e no consumo das válvulas “AND” e “OR” foi significativa e tornou necessário otimizar as funções lógicas para reduzir o número de inversores no circuito. Provavelmente foi então que os engenheiros tiveram que resolver esse problema pela primeira vez.
A produção serial de transistores, que possibilitou o abandono completo das lâmpadas, começou em nosso país em 1955. E em 1959, o primeiro computador sem câmara de transistor foi a máquina Setun, embora ainda tivesse 20 lâmpadas.

E, no entanto, voltemos à nossa tarefa.

Se alguém souber uma solução, não vamos estragar a diversão para quem quer resolvê-la. As respostas são aceitas nos comentários, preencha-as no formulário de entradas em C ou Verilog.
Variante {nA, nB, nC} <=! {A, B, C}; não aceito, são três inversores.

UPD:

Solução de @eatmore
D =! ((A&B) | (B&C) | (A&C))
E =! ((D & (A | B | C)) | (A & B & C))
nA = (D&E) | (D & (B | C)) | (E & B & C)
nB = (D&E) | (D & (A | C)) | (E & A & C)
nC = (D&E) | (D & (A | B)) | (E & A & B)


Visualização da solução por @AndreyDmitriev
imagem

Source: https://habr.com/ru/post/pt405159/


All Articles