Recuerdo haber aprendido en la escuela que uno puede construir cualquier circuito lógico a partir únicamente de NAND
puertas NOR
.
En primer lugar, me pregunto si es así como se hace realmente: es decir, cuando Intel fabrica una CPU, ¿construyen todos los registros, etc. usando NAND
/ NOR
gates, o tienen alguna otra forma más elegante de hacer las cosas?
En segundo lugar, me pregunto si construir todo de esta manera aumenta el retraso de propagación en comparación con un circuito hecho con AND
// puertas también OR
.NOT
Sé que cuando se usan configuraciones PMOS
/ para construir compuertas, an o an aparecen como 2 etapas en lugar de a o a, que son solo 1. Ya que sé que puedes hacer una de 2 s en cascada y una de 2 s en cascada, es parece que el retardo de propagación no aumentaría mientras los fabricantes utilizaran tanto s como s.NMOS
AND
OR
NAND
NOR
AND
NAND
OR
NOR
NAND
NOR
¿Alguien tiene alguna idea sobre todo esto, especialmente sobre lo que realmente se hace en los circuitos integrados fabricados?
En primer lugar, me pregunto si es así como se hace realmente: es decir, cuando Intel fabrica una CPU, ¿construyen todos los registros, etc. usando
NAND
/NOR
gates, o tienen alguna otra forma más elegante de hacer las cosas?
Los registros no están hechos de puertas, la mayoría de las veces son circuitos dedicados. Pueden verse como hechos con inverter ( NOT
), pero solo hasta cierto punto.
En la tecnología CMOS, el circuito everlogic se basa en el inversor: NOR
y NAND
las puertas son solo inversores con múltiples entradas dispuestas de manera inteligente, básicamente. Entonces, las compuertas inversoras son más rápidas que las no inversoras, que son solo compuertas inversoras con a NOT
en la salida.
También en lógica dinámica, es más simple colocar en cascada dos bloques inversores que poner NOT
puertas en todas partes.
Tenga en cuenta que, en algunos casos, un circuito puede estar formado por bloques separados, por lo que puede haber un caso en el que la salida se interconecte a través de uno o más inversores para el almacenamiento en búfer.
Y hay otra ventaja en eso: la integración . Tener una pequeña cantidad de puertas diferentes ayuda a diseñar el circuito y uniformar el rendimiento. A menudo, las bibliotecas incluyen bloques lógicos en diferentes niveles de complejidad: transistor, puerta, operador o superior.
Entonces, brevemente, sí, los procesadores rápidos utilizan principalmente puertas inversoras.
Mi inclinación con CMOS es pensar en un bloque de construcción básico como un inversor precedido por una combinación arbitraria de puertas independientes "y" y "o" sin interconexiones entre ellas; todas las siguientes funciones:
not (X and (Y or Z))
not (X or (Y and Z))
not (X and Y and Z)
not (X or Y or Z)
tienen esencialmente el mismo costo en silicio, aunque solo los dos últimos tienen nombres. Intentar componer las dos funciones anteriores usando alguna combinación de puertas NAND o NOR produciría algo mucho más grande y más lento de lo que sería una realización directa.
llakais
NAND
yNOR
, y la menor cantidad posible? ¿Producirá esto casi siempre un mejor diseño (en términos de retardo/recuento de puertas) que si abordara el problema usando un repertorio completo de puertas y luego reemplazara //AND
las puertas con susOR
/ equivalentes?NOT
NAND
NOR
clabacchio
W5VO
clabacchio