ALU con 12 transistores (en realidad no)



¿Qué se puede hacer con 12 transistores? Si el circuito es analógico, puede ser, por ejemplo, una radio o un amplificador con características decentes. Para un circuito digital, esto es desastrosamente pequeño. Incluso en un chip tan simple como ALU K155IP3 (74181), hay muchos más.

De hecho, no hay 12, sino 27 transistores aquí, pero solo 11 de ellos se usan en la propia ALU (el duodécimo transistor, que fuerza un cero lógico a la entrada de transferencia al elegir operaciones lógicas, no está instalado). Los transistores restantes están involucrados en la configuración de las señales suministradas a las entradas de la ALU. Cuando la ALU se incluye en el procesador de transistores, es posible que la primera no sea necesaria si todas las señales necesarias ya se generan allí.

¿Cómo mantener dentro de esta cantidad? En primer lugar, para hacer ALU de un solo bit, en segundo lugar, para reducir el número de operaciones a dos aritméticas y cinco lógicas (K155IP3 y cada una de ellas tiene 16, pero aquí hay más), en tercer lugar ...

... realice ALU utilizando la tecnología DCTL inusual (lógica de transistor de acoplamiento directo), que puede reducir significativamente el número de componentes.

La simulación se realizó en Falstad , este simulador es conveniente porque muestra la dirección del flujo de corriente en forma de "luces de marcha". Archivos: solo sumador completo y ALU listo .

Para empezar, crearemos "ALU" con una función: un sumador completo. Dividamos el esquema en dos mitades. El primero está diseñado para preparar señales de entrada para el sumador:



Los interruptores se pueden usar para establecer dos números de un solo bit: A y B y la señal de transferencia. De estos, el circuito genera cuatro señales (la cuarta es la misma B, solo invertida).

La segunda mitad del circuito es el sumador mismo:



Es una implementación del clásico sumador completo. El diagrama estructural muestra adicionalmente la distribución de transistores por elementos lógicos:



Para convertir todo esto en una ALU multifuncional, primero rehacemos el modelador de señal de entrada para que se forme en forma directa e invertida no solo el valor de B, sino también el valor de A:



Pero dado que el autor planea usar su ALU como parte del procesador en componentes discretos, es posible que no se requiera tal modelador: ambas cantidades estarán en forma directa e invertida. Por lo tanto, los transistores del moldeador no están incluidos en el número de transistores ALU. Sí, y sin un procesador, puede tomar los interruptores con contactos cruzados. Bueno, ahora, en realidad ALU:



Cuatro interruptores pueden seleccionar la función realizada por la ALU. Solo se muestran 7 núcleos a continuación:



Para que la ALU no sea "esférica en el vacío", sino que pueda recibir señales del exterior, los interruptores deben reemplazarse por transistores. Como no hay transistor para forzar un cero lógico a la entrada de transferencia cuando se seleccionan funciones lógicas, es necesario aplicar manualmente el cero a esta entrada en tales casos.

Aunque la figura muestra solo 7 funciones, puede probar las 16 combinaciones de posiciones de interruptor. En particular, las funciones AND-NOT, OR-NOT, EXCLUSIVE OR-NOT, transmisión de la señal B de principio a fin, se obtendrá la inversión de la misma señal.

La simulación puede traer sorpresas. ¿Sabe que un transistor bipolar puede funcionar cuando pasa corriente a través de él en la dirección opuesta? Esto sucede con algunas combinaciones de señales de entrada. En un amplificador analógico, la ganancia se reduce, pero los circuitos lógicos continúan funcionando de la misma manera que en el modo normal.

La tensión de alimentación es de +5 V. En el simulador, se seleccionan los transistores de la estructura NPN de aplicación general.

El sumador se obtiene mediante transferencia. La señal de transferencia tiene que pasar por los transistores T8 y T9. Si esto es demasiado lento, primero debe verificar cómo el circuito conectado al emisor del transistor T8 afecta el funcionamiento del circuito. La transferencia también se puede hacer más rápido si la ejecuta durante dos bits al mismo tiempo.

Si solo se necesita un sumador completo, entonces la lógica convencional de diodo-transistor (DTL) también es adecuada. Solo necesitas dos transistores, pero diodos ... Puedes reemplazar estos transistores con lámparas, obtienes lo que el autor llama DVTL - diode-vacuum-tube-logic.



La parte superior del circuito genera una señal de transferencia invertida. El segundo calcula la suma invertida: AMOUNT = ((A o B o C in) y / C out). Esta expresión también se puede representar como (A y B y C en).

El diagrama de bloques es el siguiente:



Al agregar algunos componentes más, puede forzar cero o uno a la entrada de transferencia. Entonces el circuito podrá realizar la operación AND (una en la entrada de transferencia, cero en la salida de transferencia invertida), y también OR (cero en la entrada de transferencia, una en la salida de transferencia invertida).

Para enviar una señal "C o invertida" a la entrada "C in" del circuito para el siguiente bit, necesita un inversor de transistor. O puede aceptar la regla según la cual la lógica directa e inversa alterna entre bits.

Todo esto puede convertirse en una ALU válida calculando las resistencias y agregando componentes adicionales para optimizar la "capacidad de respuesta" del circuito. Los dispositivos conectados a las entradas deben contener teclas que los cierren a la tierra (para las entradas del diodo "Y"), o conectarlos al plus de la fuente de alimentación (para las entradas del diodo "O").

Este es un esquema muy simple, no implementa una transferencia rápida.

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


All Articles