J'étudie l'électronique numérique où apparaissent les composants ALU et multiplexeur. Pour moi, l'ALU ressemble à un multiplexeur, mais il n'est pas spécifiquement mentionné que c'est le cas. Est-ce vrai ou pourquoi pas?
J'étudie l'électronique numérique où apparaissent les composants ALU et multiplexeur. Pour moi, l'ALU ressemble à un multiplexeur, mais il n'est pas spécifiquement mentionné que c'est le cas. Est-ce vrai ou pourquoi pas?
Non, ce n'est pas un multiplexeur. Un multiplexeur sélectionnerait l'une des deux entrées, dans une ALU les deux entrées peuvent être utilisées simultanément, selon l'opération en cours.
ALU signifie Arithmetic and Logic Unit, et ce sont les types d'opérations qu'il effectue.
Si l'opération appelle un décalage vers la gauche du registre R1, alors la deuxième entrée est ignorée, mais vous pourriez aussi bien avoir "ajouter le contenu de l'adresse RAM 0x1208 au registre R1", alors les deux entrées sont utilisées . Avant que l'ajout puisse être effectué, les données RAM doivent être extraites et placées sur l'une des entrées, et le contenu de R1 sur l'autre.
Dans l'ensemble, une ALU peut effectuer plusieurs opérations logiques, comme l'ajout, le décalage, l'effacement, etc. C'est une logique assez complexe qui fonctionne sur les opérandes sur les entrées et le code d'opération.
Les opérations comme "effacer A" sont simples, mais "multiplier A et B" nécessite beaucoup de portes.
Comme d'autres l'ont noté, la fonction d'une ALU est d'effectuer des opérations arithmétiques et logiques (typiquement binaires ou unaires) sur les bus d'entrée. Vous pouvez diviser une ALU en trois étapes principales avec une logique de contrôle qui configure ces étapes.
Voici un dessin de très haut niveau que j'ai fouetté pour illustrer ce partitionnement.
Il peut y avoir un débat sur la question de savoir si la première étape et la logique de commande font vraiment partie de l'ALU, ou si elles font plutôt simplement partie de l'étape d'exécution du pipeline CPU. / p>
Pour moi, l'ALU ressemble à un multiplexeur ...
Une ALU effectue de nombreuses tâches.
Un multiplexeur effectue essentiellement une tâche.
Une ALU pourrait se voir attribuer une fonction de multiplexeur comme l'une de ses caractéristiques si on le souhaite.
ie les capacités d'un multiplexeur peuvent être un petit sous-ensemble des capacités d'une ALU.
Dans une implémentation typique, les deux ont deux entrées et une sortie.
Mais le multiplexeur n'effectue qu'une sélection soit / ou entre les deux entrées.
L'ALU pourrait faire ceci plus l'addition, OU, ET, XOR, Ajouter, Soustraire, ...
Étant donné une seule entrée de commande C et un port A à n bits (avec les bits A0, A1, A2 ... An) et un n bit B port un multiplexeur peut être considéré comme implémentant.
Mout_x = A_x.C + B_x./C pour tout x = 0 ... n
"." = ET logique
"+" = OU logique.
Non, ce n'est pas un multiplexeur. Une ALU est une unité logique arithmétique.
Elle fait ce que son nom suggère, effectue diverses opérations arithmétiques et logiques comme ajouter, soustraire, multiplier, décaler, ET, OU, etc.
Une ALU effectue plusieurs opérations arithmétiques / logiques en fonction de la "fonction" sélectionnée.
Ce n'est qu'un multiplexage dans le sens où la "fonction" sélectionnée sélectionnera le résultat approprié à envoyer à la sortie.
À titre d'exemple, AJOUTEZ deux nombres ET deux nombres ensemble. Ensuite, la "fonction" multiplexe les résultats ADD ou AND vers la sortie.
Soit dit en passant, c'est ainsi que certains ALU à l'intérieur des microprocesseurs sont conçus.