O uso apenas de portas NAND / NOR aumenta o atraso do circuito?


12

Lembro-me de ter aprendido na escola que é possível construir qualquer circuito lógico somente NANDou NORportões.

Antes de tudo, estou pensando se é assim que realmente é feito: ou seja, quando a Intel faz uma CPU, eles constroem todos os registros etc. usando NAND/ NORgates, ou eles têm alguma outra maneira mais extravagante de fazer as coisas?

Em segundo lugar, estou pensando se a construção de tudo dessa maneira aumenta o atraso de propagação em comparação com um circuito feito usando AND/ OR/ NOTgates também.

Eu sei que ao usar PMOS/ NMOSconfigurações para construir portões, um ANDou um ORsai como 2 estágios, em oposição a NANDou a NORque são apenas 1. Como eu sei que você pode criar um ANDde 2 em cascata NANDe um ORde 2 em cascata NOR, ele parece que o atraso na propagação não aumentaria enquanto os fabricantes estivessem usando NANDs e NORs.

Alguém tem alguma idéia sobre tudo isso, especialmente sobre o que realmente é feito nos CIs fabricados?

Respostas:


10

Antes de tudo, estou pensando se é assim que realmente é feito: ou seja, quando a Intel faz uma CPU, eles constroem todos os registros etc. usando NAND/ NORgates, ou eles têm alguma outra maneira mais extravagante de fazer as coisas?

Os registros não são feitos de portas, na maioria das vezes são circuitos dedicados. Eles podem ser vistos como feitos com inversores ( NOT), mas apenas até certo ponto.

Na tecnologia CMOS, o circuito everlogic é baseado no inversor: NORe os NANDportões são apenas inversores com múltiplas entradas dispostas de maneira inteligente, basicamente. Portanto, as portas inversoras são mais rápidas que as não inversoras, que são apenas portas inversoras com a NOTna saída.

Também na lógica dinâmica, é mais simples colocar em cascata dois blocos inversores do que colocar NOTportões em todos os lugares.

Considere que, em alguns casos, um circuito pode ser feito de blocos separados; portanto, pode haver um caso em que a saída seja conectada através de um ou mais inversores para buffer.

E há outra vantagem nisso: integração . Ter um pequeno número de portões diferentes ajuda na organização do circuito e na uniformização do desempenho. Frequentemente, as bibliotecas incluem blocos lógicos em diferentes níveis de complexidade: transistor, gate, operador ou superior.

Então, brevemente, sim, os processadores rápidos estão principalmente usando portas de inversão.


Ok, acho que isso faz sentido para mim. Como verificação - digamos que eu quisesse criar um somador básico (por exemplo, 4 bits) usando lógica combinacional (ou seja, não vinculando semi-adicionadores). Eu abordaria esse problema tentando usar apenas portões NANDe o NORmenor número possível deles? Isso quase sempre produzirá um design melhor (em termos de atraso / contagem de portas) do que se eu abordasse o problema usando um repertório completo de portas e depois substituísse AND/ OR/ NOTportas por seus NAND/ NORequivalentes?
Llakais

@llakais em quase qualquer caso, sim. E pelo menos será igual. Mas, por exemplo, eu projetei um somador para um curso universitário e fiz duas coisas: primeiro, usei blocos de somador 4: 2 com somadores completos (blocos vencidos!) E segundo, eu ' implementamos o somador completo com portas XOR do transistor de passagem; portanto, às vezes existem soluções diferentes.
Clabacchio

Mencionarei que, para os adicionadores, ter uma célula de somador total geralmente é o mais rápido, não uma combinação de portões.
W5VO

@ W5VO bem um somador completo é basicamente uma combinação de um XOR e uma porta AND ... mas na verdade o XOR pode ser feito em maneiras inteligentes sem usar as portas básicas
clabacchio

3

Minha inclinação para o CMOS é pensar em um componente básico como um inversor precedido por uma combinação arbitrária de portas "e" e "ou" independentes, sem interconexões entre elas; todas as seguintes funções:

not (X and (Y or Z))
not (X or (Y and Z))
not (X and Y and Z)
not (X or Y or Z)

têm essencialmente o mesmo custo em silício, embora apenas os dois últimos tenham nomes. Tentar compor as duas funções anteriores usando alguma combinação de portas NAND ou NOR produziria algo muito maior e mais lento do que uma realização direta.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.