PREVIEW
ALU (8-bit)

ALU (8-bit)

Arithmetic signal_cellular_alt Advanced schedule 45 min

Interactive Circuit

UAL 8 bits (Unité Arithmétique et Logique)

Vue d'ensemble

  • Objectif : L'UAL 8 bits effectue des opérations arithmétiques et logiques sur des nombres binaires 8 bits. Elle sert de cœur de calcul des systèmes numériques, exécutant diverses opérations en fonction des signaux de contrôle.
  • Symbole : L'UAL est représentée par un bloc rectangulaire avec des entrées pour deux opérandes 8 bits (A et B) et la sélection d'opération, et des sorties pour le résultat 8 bits et les drapeaux d'état.
  • Rôle dans DigiSim.io : L'UAL 8 bits permet le calcul dans les circuits numériques, ce qui la rend essentielle pour l'implémentation de processeurs, de calculatrices et d'autres systèmes de calcul.

composant alu 8 bits

Description fonctionnelle

Comportement logique

L'UAL 8 bits prend deux entrées 8 bits, effectue une opération sélectionnée par les entrées de contrôle d'opération et produit un résultat 8 bits ainsi que des drapeaux d'état. Ces drapeaux indiquent des propriétés telles que si le résultat est zéro, négatif, ou s'il y a eu une retenue ou un débordement.

Sélection d'opération :

OP2 OP1 OP0 Opération Description
0 0 0 Y = A + B Addition
0 0 1 Y = A - B Soustraction
0 1 0 Y = A & B AND bit à bit
0 1 1 Y = A | B OR bit à bit
1 0 0 Y = A ^ B XOR bit à bit
1 0 1 Y = ~A NOT bit à bit (complément de A)
1 1 0 Y = A << 1 Décalage logique à gauche
1 1 1 Y = A >> 1 Décalage logique à droite

Entrées et sorties

  • Entrées :

    • A0-A7 : premier opérande 8 bits.
    • B0-B7 : deuxième opérande 8 bits.
    • OP0-OP2 : sélection d'opération 3 bits pour déterminer la fonction à effectuer.
    • SubIn : signal de contrôle d'entrée de soustraction.
  • Sorties :

    • Y0-Y7 : résultat 8 bits de l'opération.
    • Drapeau de zéro (Z) : activé lorsque le résultat est zéro (tous les bits sont à 0).
    • Drapeau de retenue (C) : activé lorsqu'une opération produit une retenue de sortie (pour l'addition) ou un emprunt (pour la soustraction).
    • Drapeau négatif (N) : activé lorsque le bit le plus significatif du résultat est 1 (négatif en complément à deux).
    • Drapeau de débordement (V) : activé lorsqu'une opération arithmétique signée entraîne un débordement.

Paramètres configurables

  • Délai de propagation : le décalage temporel entre les changements d'entrée et les changements de sortie correspondants. Ceci est simulé dans DigiSim.io.

Représentation visuelle dans DigiSim.io

L'UAL 8 bits est affichée sous la forme d'un bloc rectangulaire avec les entrées sur le côté gauche et les sorties sur le côté droit. Elle est clairement étiquetée « ALU-8BIT » pour identifier sa fonction. Les broches d'entrée (A0-A7, B0-B7, OP0-OP2) et de sortie (Y0-Y7, Z, C, N, V) sont disposées en groupes logiques. Le composant indique visuellement l'état actuel de toutes les entrées et sorties.

Valeur pédagogique

Concepts clés

  • Arithmétique binaire : illustre comment les ordinateurs effectuent des opérations arithmétiques de base sur des nombres binaires.
  • Logique booléenne : montre l'implémentation d'opérations logiques sur des valeurs multi-bits.
  • Drapeaux d'état : introduit le concept de codes de condition qui fournissent des informations sur les résultats des opérations.
  • Blocs de calcul : illustre comment des opérations complexes peuvent être implémentées à l'aide de la logique numérique.

Objectifs d'apprentissage

  • Comprendre comment les systèmes numériques effectuent des calculs arithmétiques et logiques.
  • Apprendre la relation entre les opérations binaires et leurs résultats.
  • Reconnaître comment les drapeaux d'état fournissent des informations essentielles sur les résultats des opérations.
  • Appliquer les concepts d'UAL à la conception de systèmes de calcul simples.
  • Comprendre comment l'UAL s'intègre dans l'architecture plus large d'un système informatique.

Exemples d'utilisation / Scénarios

  • Conception simple de CPU : l'UAL forme le cœur de calcul d'un CPU, exécutant les opérations arithmétiques et logiques.
  • Circuits de calculatrice : implémentation de calculatrices binaires effectuant des opérations mathématiques de base.
  • Manipulation de données : traitement des données par des opérations bit à bit pour le masquage, le filtrage ou la transformation des valeurs.
  • Test de condition : utilisation de l'UAL et de ses drapeaux pour tester des conditions spécifiques dans les valeurs de données.
  • Traitement du signal : opérations de traitement numérique du signal de base comme la mise à l'échelle, l'ajustement de décalage et la détection de seuil.

Notes techniques

  • Opérations arithmétiques : l'addition et la soustraction sont implémentées à l'aide d'additionneurs complets avec propagation de retenue.
  • Génération de drapeaux : les drapeaux d'état sont dérivés du résultat de l'opération et de la chaîne de retenue.
  • Latence opérationnelle : différentes opérations peuvent avoir des délais de propagation légèrement différents, l'addition et la soustraction prenant généralement le plus de temps en raison de la propagation de retenue.
  • Mise en cascade : plusieurs UAL 8 bits peuvent être connectées entre elles pour effectuer des opérations sur des données plus larges (16 bits, 32 bits, etc.).

Caractéristiques

  • Configuration des entrées :

    • Deux entrées de données 8 bits (A[7:0] et B[7:0])
    • Entrées de sélection d'opération 3 bits (OP[2:0])
    • Entrée d'horloge optionnelle pour les opérations séquentielles
    • Retenue d'entrée optionnelle pour les opérations arithmétiques chaînées
    • Peut inclure des signaux de contrôle supplémentaires pour des fonctions spécialisées
    • Charge d'entrée cohérente avec la famille logique utilisée
    • Toutes les entrées utilisent généralement des niveaux logiques standard
  • Configuration des sorties :

    • Sortie de résultat 8 bits (Y[7:0])
    • Sorties de drapeaux d'état :
      • Drapeau de zéro (Z) : activé lorsque le résultat est zéro (tous les bits à 0)
      • Drapeau de retenue (C) : activé lorsque l'opération produit une retenue de sortie
      • Drapeau de débordement (V) : activé lorsqu'une opération arithmétique signée déborde
      • Drapeau négatif (N) : activé lorsque le résultat a MSB=1 (négatif en complément à deux)
    • Retenue de sortie optionnelle pour la mise en cascade de plusieurs UAL
    • Sorties à niveau logique standard
    • Sorties capables de piloter des charges numériques typiques
    • Peut inclure une capacité de sortie tri-state
  • Fonctionnalité :

    • Opérations arithmétiques : addition, soustraction, incrémentation, décrémentation
    • Opérations logiques : AND, OR, XOR, NOT
    • Opérations de décalage : décalage logique à gauche/droite, rotation à gauche/droite
    • Opérations de transfert : passage de A, passage de B, effacement, mise à 1
    • Sélection d'opération via les entrées de contrôle
    • Génération de drapeaux pour l'état du résultat
    • Fonctionnement combinatoire (sauf si en registre)
    • Peut prendre en charge à la fois des opérations non signées et signées
    • Mise en cascade possible pour des largeurs de mots plus grandes
  • Délai de propagation :

    • Varie selon l'opération :
      • Addition/Soustraction : 30-50 ns (chemins les plus complexes)
      • Opérations logiques : 15-25 ns (généralement plus rapides)
      • Opérations de décalage : 20-35 ns (complexité modérée)
    • Le chemin critique passe généralement par la propagation de retenue
    • La génération de drapeaux ajoute un délai supplémentaire
    • Dépendant de la technologie (TTL, CMOS, etc.)
    • Sensible à la température et à la tension
    • Variations entre le délai maximal et typique
    • Le délai augmente lorsqu'elle est mise en cascade pour des opérations plus larges
  • Fan-Out :

    • Les sorties de données pilotent généralement 10-20 charges standard
    • Les sorties de drapeaux peuvent avoir une capacité de pilotage inférieure
    • La charge de sortie affecte le délai de propagation
    • Peut nécessiter un tampon pour les situations à fan-out élevé
    • Cohérent avec les spécifications de la famille logique
    • Les signaux critiques peuvent nécessiter une attention particulière
  • Consommation électrique :

    • Modérée à élevée selon la complexité
    • Dépend de la technologie (CMOS, TTL, etc.)
    • La puissance dynamique augmente avec la fréquence d'horloge
    • Dépend de l'opération (l'arithmétique est généralement plus élevée)
    • L'activité de commutation des entrées affecte la consommation
    • La puissance statique est significative dans les anciennes technologies
    • La consommation augmente avec le nombre de portes actives
  • Complexité du circuit :

    • Complexité élevée en raison de multiples fonctions
    • Nécessite des ressources logiques importantes
    • Chemins de données internes étendus
    • Logique complexe de sélection de fonction
    • La génération de drapeaux ajoute une complexité supplémentaire
    • Plusieurs étages internes
    • Les conceptions intégrées réduisent le nombre de composants externes
    • L'intégration de registres augmente encore la complexité

Méthodes d'implémentation

  1. Implémentation en logique discrète

    • Construite à partir de portes de base et de composants MSI
    • Circuits séparés pour chaque type d'opération
    • Multiplexeurs pour sélectionner le résultat de l'opération
    • Logique de génération de drapeaux pour chaque résultat
    • Implémentation pédagogique pour démontrer les principes de l'UAL
    • Nombre de composants significatif
    • Limité à des vitesses plus faibles
    • Précieuse pour comprendre l'architecture d'une UAL
  2. Implémentation par circuit intégré

    • Circuits intégrés UAL dédiés
    • Exemples : 74181 (UAL 4 bits, mise en cascade possible), 74382
    • Diverses fonctionnalités et ensembles d'opérations
    • Disponibles dans différentes familles logiques
    • Réduction du nombre de composants externes
    • Fiabilité améliorée par rapport aux conceptions discrètes
    • Caractéristiques de timing et de charge bien définies
    • Souvent utilisés dans les conceptions informatiques anciennes ou pédagogiques
  3. Conception à anticipation de retenue

    • Techniques avancées de propagation de retenue
    • Réduit le délai du chemin critique
    • Structures d'additionneurs à préfixe parallèle
    • Opérations arithmétiques plus rapides
    • Structure de portes plus complexe
    • Nombre accru de portes pour les performances
    • Courante dans les implémentations à hautes performances
    • Divers schémas d'anticipation de retenue possibles
  4. Implémentation en cascade

    • Plusieurs UAL plus petites combinées
    • Chaînage de retenue entre les unités
    • Logique de combinaison de drapeaux
    • Approche modulaire pour des tailles de mots plus larges
    • Utilise efficacement les composants standard
    • Équilibre entre performances et complexité
    • Peut avoir un délai de propagation accru
    • Économique pour des implémentations plus larges
  5. Implémentation FPGA/ASIC

    • Conception basée sur HDL (VHDL, Verilog)
    • Optimisée pour la technologie cible
    • Tire parti des structures arithmétiques dédiées
    • Ensemble d'opérations configurable
    • Évolutive vers différentes largeurs de bits
    • Peut tirer parti des chaînes de retenue rapides dans les FPGA
    • Personnalisable pour des exigences spécifiques
    • Implémentation économe en ressources
  6. UAL contrôlée par microcode

    • Opérations contrôlées par microcode
    • Ensemble d'opérations plus flexible
    • Exécution potentiellement plus lente
    • Opérations complexes décomposées en micro-opérations
    • Courante dans les conceptions de processeurs CISC
    • Plus facile à étendre avec de nouvelles opérations
    • Surcoût de contrôle plus élevé
    • Mieux adaptée aux jeux d'instructions complexes
  7. Implémentation en tranches de bits (bit-slice)

    • Construite à partir de composants processeurs en tranches de bits
    • Conception modulaire pour différentes largeurs de mots
    • Approche classique pour les processeurs personnalisés
    • Exemples : AMD 2901, 74LS181
    • Interfaces standardisées entre tranches
    • Options de configuration flexibles
    • Bien adaptée à des fins pédagogiques
    • Architecture historiquement importante

Applications

  1. Unités centrales de traitement (CPU)

    • Élément de calcul central
    • Exécution d'instructions
    • Calcul d'adresses
    • Manipulation du compteur de programme
    • Opérations conditionnelles
    • Contrôle de boucles
    • Génération de drapeaux pour le branchement
  2. Microcontrôleurs

    • Calcul embarqué
    • Traitement d'E/S
    • Conversion de données
    • Implémentation de protocoles
    • Traitement de données de capteurs
    • Algorithmes de contrôle
    • Opérations en temps réel
  3. Traitement numérique du signal

    • Filtrage du signal
    • Transformations (FFT, DCT)
    • Opérations de convolution
    • Manipulation d'échantillons
    • Multiplication de coefficients
    • Opérations d'accumulation
    • Génération de signaux
  4. Traitement graphique

    • Transformation de coordonnées
    • Manipulation de pixels
    • Calculs de géométrie
    • Opérations de mélange
    • Mappage de texture
    • Conversion d'espaces de couleurs
    • Opérations vectorielles
  5. Machines de calcul personnalisées

    • Processeurs spécifiques à l'application
    • Accélérateurs matériels
    • Calcul basé sur FPGA
    • Algorithmes spécialisés
    • Architectures de flux de données
    • Éléments de traitement parallèle
    • Calcul haute performance
  6. Systèmes pédagogiques

    • Apprentissage de l'architecture des ordinateurs
    • Enseignement de la conception numérique
    • Conception pratique de processeurs
    • Implémentation d'algorithmes
    • Analyse des performances
    • Compréhension de l'interface matériel/logiciel
    • Fondamentaux du calcul
  7. Test et vérification

    • Test de circuits
    • Détection de pannes
    • Comparaison logique
    • Analyse de signature
    • Auto-test intégré
    • Test de fabrication
    • Vérification fonctionnelle

Limitations

  1. Contraintes de performances

    • Le délai de propagation de retenue limite la vitesse arithmétique
    • Exécution séquentielle des opérations (une à la fois)
    • La taille de mot fixe nécessite plusieurs cycles pour des opérations plus grandes
    • Surcoût de sélection d'opération
    • Chemin critique à travers les opérations arithmétiques
    • La génération de drapeaux ajoute du délai
    • La vitesse d'opération varie selon la fonction
  2. Limitations architecturales

    • Ensemble d'opérations limité
    • La largeur de bits fixe nécessite la mise en cascade
    • Les opérations de base nécessitent un séquencement d'instructions pour les tâches complexes
    • Dépendances de drapeaux entre les opérations
    • Parallélisme limité au sein de l'unité
    • Granularité d'opération au niveau du mot
    • La nature généraliste sacrifie l'optimisation spécialisée
  3. Défis d'implémentation

    • Logique de contrôle complexe requise
    • Ressources de routage importantes nécessaires
    • Le nombre élevé de portes augmente la consommation
    • Complexité des tests due aux multiples opérations
    • Vérification du timing pour toutes les opérations
    • Compromis performances vs surface
    • Chemins de timing critiques à travers les chaînes de retenue
  4. Contraintes opérationnelles

    • Pas de support direct pour la virgule flottante
    • Précision limitée (8 bits)
    • L'arithmétique multi-précision nécessite des algorithmes logiciels
    • Pas de support direct pour la division ou la multiplication
    • Les opérations complexes nécessitent plusieurs étapes
    • Support limité des types de données
    • Les drapeaux de résultat peuvent ne pas être exhaustifs
  5. Problèmes de mise à l'échelle

    • Les performances se dégradent avec la mise en cascade
    • La consommation augmente avec la largeur
    • La complexité de conception croît de manière non linéaire
    • La complexité des tests augmente exponentiellement
    • Augmentation des défis de placement
    • Les interconnexions deviennent critiques
    • La distribution d'horloge devient plus difficile

Détail d'implémentation du circuit

Schéma fonctionnel de base de l'UAL

graph LR
    A[A Operand<br/>8-bit] --> ARITH[Arithmetic Section<br/>Add/Sub]
    A --> LOGIC[Logic Section<br/>AND/OR/XOR]
    A --> SHIFT[Shift Section<br/>Left/Right]
    B[B Operand<br/>8-bit] --> LOGIC
    
    ARITH --> MUX[Multiplexer]
    LOGIC --> MUX
    SHIFT --> MUX
    
    OP[Operation Select<br/>OP2:0] --> CTRL[Control Logic]
    CTRL --> MUX
    
    MUX --> Y[Result<br/>Y 8-bit]
    CTRL --> FLAGS[Status Flags<br/>Z,C,N,V]

Logique de génération de drapeaux

graph LR
    ResultY[Y 7:0] --> NorGate[NOR Gate] --> ZeroFlag[Zero Flag Z]
    ResultY7[Y bit 7] --> BufGate1[Buffer] --> NegFlag[Negative Flag N]
    
    CinPin[Carry In] --> XorGate[XOR Gate] --> OverFlag[Overflow Flag V]
    CoutPin[Carry Out] --> XorGate
    
    CoutPin --> BufGate2[Buffer] --> CarryFlag[Carry Flag C]

Tranche d'UAL 1 bit (bloc de construction de base)

Chaque tranche de bits contient :

  • Unité arithmétique : additionneur complet pour l'addition/soustraction
  • Unité logique : portes AND, OR, XOR pour les opérations logiques
  • Unité de décalage : connexion au bit adjacent pour les opérations de décalage
  • Multiplexeur : sélectionne le résultat en fonction du code d'opération

Sélection d'opération :

OP2:0 Sortie sélectionnée
000 Résultat d'addition
001 Résultat de soustraction
010 Résultat AND
011 Résultat OR
100 Résultat XOR
101 Résultat NOT A
110 Résultat de décalage à gauche
111 Résultat de décalage à droite

Composants associés

  • UAL 4 bits : version plus petite pour les opérations à l'échelle du quartet
  • UAL 16 bits : version étendue pour les opérations à l'échelle du mot
  • UAL 32/64 bits : versions plus grandes pour les processeurs modernes
  • Décaleur en barillet (barrel shifter) : composant spécialisé pour les décalages multi-bits
  • Additionneur binaire : composant focalisé sur l'addition uniquement
  • Unité logique : dédiée aux opérations logiques uniquement
  • Multiplicateur : spécialisé pour les opérations de multiplication
  • Diviseur : spécialisé pour les opérations de division
  • Unité à virgule flottante (FPU) : gère l'arithmétique à virgule flottante
  • UAL SIMD : effectue la même opération sur plusieurs éléments de données en parallèle

school Parcours d'apprentissage

arrow_back Prérequis

arrow_forward Prochaines étapes

help_outline Foire aux questions

Qu'est-ce qu'une ALU 8 bits ?

Une ALU 8 bits effectue des opérations arithmétiques et logiques sur des nombres 8 bits. C'est le cœur computationnel de la plupart des microprocesseurs et CPU 8 bits.

Que sont les drapeaux d'état de l'ALU ?

Les drapeaux indiquent les propriétés du résultat : Zéro (le résultat est 0), Retenue (débordement non signé), Débordement (débordement signé), Négatif (MSB est 1).

Comment construire une ALU 8 bits dans DigiSim ?

Utilisez le composant ALU_8BIT de la section Arithmétique, ou construisez-en une à partir d'un additionneur 8 bits, de portes logiques et de multiplexeurs pour la sélection d'opération.

play_arrow Exécuter le circuit en direct

Voir d'autres composants