Unite arithmetique et logique

Unite arithmetique et logique

Unité arithmétique et logique

Page d'aide sur l'homonymie Pour les articles homonymes, voir UAL et ALU.

L'unité arithmétique et logique, abrégée UAL (ou bien ALU, Arithmetic Logic Unit en anglais), est l'organe de l'ordinateur chargé d'effectuer les calculs. Le plus souvent, l'UAL est incluse dans l'unité centrale ou le microprocesseur.

Sommaire

Différents types d'UAL

Les UAL peuvent être spécialisées ou pas. Les UAL élémentaires calculent sur des nombres entiers, et peuvent effectuer les opérations communes, que l'on peut séparer en quatre groupes :

  1. Les opérations arithmétiques : addition, soustraction, changement de signe etc.,
  2. les opérations logiques : compléments à un, à deux, ET, OU, OU-exclusif, NON, NON-ET etc.,
  3. les comparaisons : test d'égalité, supérieur, inférieur, et leur équivalents « ou égal »,
  4. éventuellement des décalages et rotations (mais parfois ces opérations sont externalisées).

Certaines UAL sont spécialisées dans la manipulation des nombres à virgule flottante, en simple ou double précision (on parle d'unité de calcul en virgule flottante ou floating point unit (FPU)) ou dans les calculs vectoriels. Typiquement, ces unités savent accomplir les opérations suivantes :

  • additions, soustractions, changement de signe,
  • multiplications, divisions,
  • comparaisons,
  • modulos


Certaines UAL, le plus souvent de la classe des FPUs, notamment celles des superordinateurs, sont susceptibles d'offrir des fonctions avancées :

  • inverse (1/x),
  • racine carrée,
  • logarithmes,
  • fonctions transcendantales (sin x, cos x, etc.),
  • opération vectorielle (produit scalaire, vectoriel, etc.),
  • etc.

Un processeur fait appel à plusieurs UAL, au moins deux : une située dans le chemin de contrôle pour incrémenter le registre de programme (de 1, 2, 4 ou 8 typiquement), et une autre dans le chemin de données pour traiter l'information. Pour augmenter leurs performances, elles sont le plus souvent pipelinées.

Notation

Une UAL à deux entrées

La figure ci-contre représente un schéma classique d'UAL. Celle-ci possède deux entrées A et B sur lesquelles on présente les données à traiter. L'entrée F désigne l'opération à effectuer. Enfin, l'UAL possède deux sorties, R qui est le résultat de l'opération, et D les drapeaux qui indiquent soit qu'il y a eu erreur (division par zéro, dépassement de capacité, etc.), soit des codes conditions (supérieur, inférieur, égal à zéro, etc.).


Exemples

L'UAL 4 bits 74181 (TTL)

Voici, par exemple, une UAL qui fut très utilisée au moment où seuls les circuits intégrés TTL étaient disponibles : le 74181, une UAL de 4 bits. Ce circuit est destiné à être connecté en cascade avec d'autres pour traiter des entiers de taille supérieure à 4 bits. Il est à la base des UAL de l'Alto et dans de nombreux modèles de PDP-11 (16 bits).

Sa table de vérité décrivant quelle opération est accomplie suivant les valeurs des entrées M et S.

Fonction M = 1 M = 0
S3 S2 S1 S0 Opération logique Cn = 0 Cn = 1
0 0 0 0 F = non A F = A F = A + 1
0 0 0 1 F = non (A ou B) F = A ou B F = (A ou B) + 1
0 0 1 0 F = (non A) et B F = A ou (non B) F = (A ou (non B)) + 1
0 0 1 1 F = 0 F = - 1 F = 0
0 1 0 0 F = non (A et B) F = A + (A et (non B)) F = A + (A et (non B)) + 1
0 1 0 1 F = non B F = (A ou B) + (A et (non B)) F = (A ou B) + (A et(non B)) + 1
0 1 1 0 F = A xor B F = A - B - 1 F = A - B
0 1 1 1 F = A et (non B) F = (A et (non B)) - 1 F = A et (non B)
1 0 0 0 F = (non A) ou B F = A + (A et B) F = (A + (A et B)) + 1
1 0 0 1 F = non (A xor B) F = A + B F = A + B + 1
1 0 1 0 F = B F = (A ou (non B)) + (A et B) F = A ou (non B) + (A et B) + 1
1 0 1 1 F = A et B F = (A et B) - 1 F = A et B
1 1 0 0 F = 1 F = A + (A << 1) F = A + A + 1
1 1 0 1 F = A ou (non B) F = (A ou B) + A F = (A ou B) + A + 1
1 1 1 0 F = A ou B F = (A ou (non B)) + A F = A (not B) plus A plus 1
1 1 1 1 F = A F = A - 1 F = A

Attention : ce tableau peut contenir des erreurs.

Le schéma de ce circuit est donné ci dessous.

Le schéma de l'UAL 4 bits 74181.


Utilisation de multiplexeurs 4 vers 1 comme UAL

Cette technique est utilisée dans l'UAL de l'IBM 7030 « Stetch » (1961). Le concept repose sur le choix judicieux du code fonction F : il correspond aussi au résultat de l'opération désirée. Par exemple, pour faire un ET, on choisira le code F = 0001, correspondant à la colonne de résultat de la table de vérité du et logique. De même, pour un ou on prend F = 0111, pour un ou exclusif F = 0110, etc.


A B A ET B
0 0 0
0 1 0
1 0 0
1 1 1

Pour chaque couple de bits à traiter (ai,bi), on construit les quatre signaux \neg a_i \vee \neg b_i, \neg a_i \vee b_i, a_i \vee \neg b_i et a_i \vee b_i. Ces signaux sont envoyés en entrée d'un multiplexeur, dont l'entrée est F. Cela revient donc à appliquer la fonction logique en question.

L'exemple ci-dessous présente un tel multiplexeur sur deux bits. Le premier multiplexeur prend, comme entrée, les deux bits de poids faible de A et B. Ils servent à sélectionner une des lignes de F : 00 sélectionnera la première ligne, 01 la seconde et ainsi de suite. Le second multiplexeur agit de la même façon avec les deux bits de poids fort de A et B :

00 ET 00 = 00
00 ET 11 = 00
01 ET 01 = 01
10 ET 01 = 00
11 ET 01 = 01
11 ET 11 = 11

Le schéma des multiplexeurs 4 vers 1 ci-dessus est construit à base de circuits intégrés TTL tout à fait standard, dont les références sont affichées. Il s'agit de portes NON, ET et NON-OU.

Voir aussi

Liens externes

Ce document provient de « Unit%C3%A9 arithm%C3%A9tique et logique ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Unite arithmetique et logique de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Unité arithmétique et logique — ● Unité arithmétique et logique partie de l unité centrale de traitement d un ordinateur dans laquelle sont effectuées les opérations arithmétiques et logiques …   Encyclopédie Universelle

  • Unité arithmétique et logique — Pour les articles homonymes, voir UAL et ALU. L unité arithmétique et logique, abrégée UAL (ou bien ALU, Arithmetic Logic Unit en anglais), est l organe de l ordinateur chargé d effectuer les calculs. Le plus souvent, l UAL est incluse dans l… …   Wikipédia en Français

  • Unité de traitement ou unité arithmétique et logique — ● Unité de traitement ou unité arithmétique et logique partie d un ordinateur effectuant les opérations arithmétiques et logiques …   Encyclopédie Universelle

  • unité — [ ynite ] n. f. • XIIIe; lat. unitas, de unus « un » I ♦ Caractère de ce qui est un. 1 ♦ Caractère de ce qui est unique (I, 1o), un seul (identité numérique). Unité et pluralité. L unité divine dans le monothéisme. « L unité et la multiplicité [d …   Encyclopédie Universelle

  • Arithmetique modulaire — Arithmétique modulaire Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un… …   Wikipédia en Français

  • Arithmétique Modulaire — Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un ensemble de méthodes… …   Wikipédia en Français

  • Arithmétique modulaire (synthèse) — Arithmétique modulaire Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un… …   Wikipédia en Français

  • Arithmétique modulo — Arithmétique modulaire Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un… …   Wikipédia en Français

  • Unite de calcul en virgule flottante — Unité de calcul en virgule flottante Un coprocesseur arithmétique Le Motorola 68882 Une unité de calcul en virgule flottante (en anglais Floating Point Unit, soit FPU), ou un coprocesseur arithmétique, est un processeur, ou une partie d un… …   Wikipédia en Français

  • Unité à virgule flottante — Unité de calcul en virgule flottante Un coprocesseur arithmétique Le Motorola 68882 Une unité de calcul en virgule flottante (en anglais Floating Point Unit, soit FPU), ou un coprocesseur arithmétique, est un processeur, ou une partie d un… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”