Bien que le calcul interne de toutes les réponses, puis l'utilisation d'un multiplexeur pour les sélectionner fonctionnera, ce n'est certainement pas une conception minimale.
Considérez que vous pouvez découper le problème en bits; au lieu d'un seul bloc logique avec deux entrées 8 bits, vous pouvez le partitionner en deux sections 4 bits, tant que vous pouvez les lier pour obtenir un résultat global correct. Heureusement, la liaison des tranches n'est pas pire qu'un seul bit, qui dans le cas de l'addition représente le bit de retenue. Ainsi, chaque tranche de 4 bits a un bit de reprise et un bit de reprise. (Notez que les logiques comme AND et NOR n'en auront même pas besoin, mais si plus tard vous implémentez des décalages gauche / droite, ce bit est facilement réutilisé).
Poussé à l'extrême, vous pouvez utiliser 8 tranches de 1 bit chacune. Il est utile de penser aux tranches de 1 bit, car cela facilite la réflexion sur une approche qui évolue vers des tranches plus grandes. Ainsi, avec une tranche de 1 bit, vous n'avez que 7 entrées: le code de fonction 4 bits, un bit de l'entrée A, un bit de l'entrée B et un bit de reprise. Vous avez également seulement deux sorties: fonction out et exécution. Alors maintenant, vous pouvez écrire les deux fonctions de sortie en termes de seulement 7 entrées, ce qui est du domaine de la capacité humaine à réduire raisonnablement. Vous vous retrouverez avec une poignée de portes qui ne calculeront pas nécessairement toujours toutes les fonctions, mais peu importe ce qui se passe à l' intérieur la tranche, mais seulement qu'elle produit le résultat correct lorsqu'elle est vue de l'extérieur.
Maintenant, vous pouvez aller de deux façons. Une façon consiste simplement à utiliser 8 de ces tranches de 1 bit et vous avez terminé. Une autre façon consiste à faire de plus grosses tranches, puis à les utiliser. En passant de 1 bit à 2 bits, les équations vont de 7 entrées à 9, et 4 bits nécessiteront des fonctions de 13 entrées. Ce n'est pas nécessairement facile, mais donnera des résultats plus compacts que l'approche compute-everything-then-mux. De plus, si vous regardez les internes d'une tranche ALU 74181 4 bits, vous ne verrez pas de multiplexeur à l'intérieur.