Aller au contenu

Architecture matérielle

Fonctionnement et architecture d'un microprocesseur (vidéo)⚓︎

Vidéo de Jason Champagne (FormationVideo) (1:44:57)

Registres d'un microprocesseur (vidéo)⚓︎

Vidéo de Jason Champagne (FormationVideo) (59:30)

L'Unité Arithmétique et Logique (UAL)⚓︎

L'Unité Arithmétique et Logique (UAL, ou ALU en anglais) est le composant du processeur qui effectue les calculs. Elle réalise les opérations arithmétiques (addition, soustraction, …) et logiques (ET, OU, NON, …) sur les données.

Rôle dans le processeur⚓︎

L'UAL est l'un des trois composants fondamentaux d'un processeur (avec l'unité de contrôle et les registres).
Elle reçoit deux opérandes depuis les registres, effectue une opération déterminée par le code opération (opcode), et renvoie le résultat.

Cycle d'exécution

Le cycle d'exécution simplifié est : Fetch → Decode → Execute (UAL) → Writeback.

Voici les détails de chaque étape pour plus de clarté :

  • Fetch : recherche ou chargement de l'instruction depuis la mémoire
  • Decode : décodage de l'instruction par l'unité de contrôle
  • Execute (UAL) : exécution de l'opération par l'UAL
  • Writeback : écriture en mémoire ou enregistrement du résultat dans les registres

Opérations arithmétiques⚓︎

  • Addition : somme binaire avec propagation de retenue
  • Soustraction : généralement par complément à deux (\(A - B = A + \bar{B} + 1\))
  • Multiplication / Division : parfois déléguées à une unité spécialisée (MDU : Multiplication-Division Unit)
  • Incrémentation (\(A + 1\)) / Décrémentation (\(A - 1\))

Opérations logiques⚓︎

  • ET (AND) : bit à bit, utile pour le masquage
  • OU (OR) : bit à bit, utile pour combiner des drapeaux
  • NON (NOT) : inversion de tous les bits
  • OU exclusif (XOR) : utilisé pour la comparaison rapide et le chiffrement
  • Décalages (shift left/right) : multiplication ou division par 2

Les drapeaux (flags)⚓︎

Après chaque opération, l'UAL met à jour des bits d'état appelés « drapeaux (flags) » :

  • Z (Zero) : le résultat est nul.
  • C (Carry) : retenue sortante (dépassement non signé)
  • N (Negative) : le bit de poids fort du résultat est 1.
  • V (oVerflow) : dépassement de capacité en arithmétique signée

À retenir

Les drapeaux conditionnent les sauts conditionnels (BEQ, BNE, BLT, …). Sans drapeaux, un processeur ne pourrait pas prendre de décisions.

TP sur l'UAL (de Modulo)⚓︎

TP sur l'UAL (en ligne)

Portes logiques booléennes⚓︎

Portes logiques booléennes : simulation (en ligne)

Un ordinateur en dominos⚓︎

A computer built with dominos (08:10)

Logisim : simulateur de circuits logiques⚓︎

Logisim : simulateur de circuits logiques (gratuit)

Logisim : aide en ligne⚓︎

Logisim : aide en ligne

SimcirJS : simulateur de circuits en HTML5 et JavaScript⚓︎

Site de SimcirJS

Modulo : simulateur de circuits logiques (HTML5/JavaScript)⚓︎

Simulateur logique de Modulo

Comment fonctionne une machine de Turing ?⚓︎

Application en ligne sur Interstices.info