
Que peut-on faire avec 12 transistors? Si le circuit est analogique, il peut s'agir, par exemple, d'une radio ou d'un amplificateur aux caractéristiques décentes. Pour un circuit numérique, c'est terriblement petit. Même dans une puce aussi simple que l'ALU K155IP3 (74181), il y en a beaucoup plus.
En fait, il n'y a pas 12, mais 27 transistors ici, mais seulement 11 d'entre eux sont utilisés dans l'ALU lui-même (le douzième transistor, forçant un zéro logique à l'entrée de transfert lors du choix des opérations logiques, n'est pas installé). Les transistors restants participent à la mise en forme des signaux fournis aux entrées de l'ALU. Lorsque l'ALU est inclus dans le processeur de transistor, le premier peut ne pas être nécessaire si tous les signaux nécessaires y sont déjà générés.
Comment respecter ce montant? Premièrement, pour rendre ALU un bit, deuxièmement, pour réduire le nombre d'opérations à deux arithmétiques et cinq logiques (K155IP3 et chacune d'elles en a 16, mais ici elles sont en fait plus), troisièmement ...
... effectuer ALU en utilisant la technologie DCTL inhabituelle (logique à transistor à couplage direct), qui peut réduire considérablement le nombre de composants.
La simulation a été réalisée à
Falstad , ce simulateur est pratique en ce qu'il montre la direction du flux de courant sous forme de "feux de circulation". Fichiers:
uniquement additionneur complet et
ALU prêt .
Pour commencer, nous allons construire "ALU" avec une seule fonction - un additionneur complet. Décomposons le schéma en deux moitiés. Le premier est conçu pour préparer des signaux d'entrée pour l'additionneur:

Les commutateurs peuvent être utilisés pour définir deux nombres à un bit - A et B et le signal de transfert. Parmi ceux-ci, le circuit génère quatre signaux (le quatrième est le même B, seulement inversé).
La seconde moitié du circuit est l'additionneur lui-même:

Il s'agit d'une implémentation de l'additionneur complet classique. Le schéma structurel montre en outre la répartition des transistors par éléments logiques:

Afin de transformer tout cela en une ALU multifonctionnelle, nous refaisons d'abord le conditionneur de signal d'entrée de telle sorte qu'il génère sous forme directe et inversée non seulement la valeur de B, mais aussi la valeur de A:

Mais comme l'auteur prévoit d'utiliser son ALU comme partie du processeur sur des composants discrets, un tel shaper peut ne pas être nécessaire: les deux quantités seront sous forme directe et inversée. Par conséquent, les transistors du shaper ne sont pas inclus dans le nombre de transistors ALU. Oui, et sans processeur, vous pouvez simplement prendre les commutateurs avec des contacts croisés. Eh bien, maintenant - en fait ALU:

Quatre commutateurs peuvent sélectionner la fonction exécutée par l'ALU. Seuls 7 noyaux sont indiqués ci-dessous:

Pour que l'ALU ne soit pas "sphérique dans le vide", mais puisse recevoir des signaux de l'extérieur, les interrupteurs doivent être remplacés par des transistors. Puisqu'il n'y a pas de transistor pour forcer un zéro logique à l'entrée de transfert lors de la sélection de fonctions logiques, il est nécessaire d'appliquer manuellement un zéro à cette entrée dans de tels cas.
Bien que la figure montre seulement 7 fonctions, vous pouvez essayer les 16 combinaisons de positions de commutateur. En particulier, les fonctions ET-NON, OU-NON, OU EXCLUSIF OU, transmission du signal B de part en part, inversion du même signal seront obtenues.
La simulation peut apporter des surprises. Savez-vous qu'un transistor bipolaire peut fonctionner lorsqu'il fait passer du courant dans la direction opposée? Cela se produit avec certaines combinaisons de signaux d'entrée. Dans un amplificateur analogique, le gain est réduit, mais les circuits logiques continuent de fonctionner de la même manière qu'en mode normal.
La tension d'alimentation est de +5 V. Dans le simulateur, des transistors de structure NPN d'application générale sont sélectionnés.
L'additionneur est obtenu par transfert. Le signal de transfert doit passer par les transistors T8 et T9. Si cela est trop lent, vous devez d'abord vérifier comment le circuit connecté à l'émetteur du transistor T8 affecte le fonctionnement du circuit. Le transfert peut également être effectué plus rapidement si vous l'exécutez pour deux bits en même temps.
Si seul un additionneur complet est nécessaire, la logique diode-transistor (DTL) conventionnelle convient également. Vous n'avez besoin que de deux transistors, mais des diodes ... Vous pouvez remplacer ces transistors par des lampes, vous obtenez ce que l'auteur appelle DVTL - diode-vacuum-tube-logic.

Le sommet du circuit génère un signal de transfert inversé. Le second calcule la somme inversée: AMOUNT = ((A ou B ou C in) et / C out). Cette expression peut également être représentée par (A et B et C dans).
Le schéma fonctionnel est le suivant:

En ajoutant quelques composants supplémentaires, vous pouvez forcer zéro ou un à l'entrée de transfert. Ensuite, le circuit pourra effectuer l'opération ET (une à l'entrée de transfert, zéro à la sortie de transfert inversée), et également OU (zéro à l'entrée de transfert, un à la sortie de transfert inversée).
Pour envoyer un signal «C inversé» à l'entrée «C in» du circuit pour le bit suivant, vous avez besoin d'un inverseur à transistor. Ou vous pouvez accepter la règle selon laquelle la logique directe et inverse alterne entre les bits.
Tout cela peut être transformé en une ALU valide en calculant les résistances et en ajoutant des composants supplémentaires pour optimiser la "réactivité" du circuit. Les appareils connectés aux entrées doivent contenir des clés qui les ferment à la masse (pour les entrées de la diode «ET»), ou les relient au plus de l'alimentation (pour les entrées de la diode «OU»).
Il s'agit d'un schéma très simple, il n'implémente pas de transfert rapide.