Architecture des Ordinateurs Circuits Combinatoires et Séquentiels Patrice Gommery p.gommery@iut-troyes.univ-reims.fr
L’unité Arithmétique et Logique Elle permet de réaliser toutes les opérations logiques et arithmétique de base. Il existe en réalité une UAL pour le traitement des nombres entiers, une autre pour celui des nombres à virgule flottante. Elles travaillent directement avec un espace mémoire interne au processeur : Le registre.
Organisation de l’unité centrale A + B A B Registres A B Registres d’entrée de l’UAL Bus d’entrée de l’UAL UAL Registre de sortie de l’UAL A + B
Les circuits combinatoires : A partir des portes logiques de bases et connaissant la manière dont l’ordinateur interprète les nombres et effectue les calculs de base, on peut concevoir les premiers circuits qui constituent l’UAL (Unité Arithmétique et Logique)
Les circuits combinatoires Exemples : Les additionneurs Les codeurs / décodeurs Les comparateurs Les multiplexeurs / Démultiplexeurs
L’additionneur C’est un des éléments essentiels de l’UAL. Il permet de réaliser les autres opérations arithmétiques comme la soustraction ou la multiplication. Un processeur n-bits va contenir un additionneur n-bits. L’additionneur sera lui-même composé de n additionneurs 1 bit.
L’additionneur S=A.b + a.B ce qui correspond à un OU exclusif Table de vérité d’un demi-additionneur : S est le résultat de la somme R est la retenue S=A.b + a.B ce qui correspond à un OU exclusif R=a.b ce qui correspond à un ET a b S R 1
L’additionneur Table de vérité d’un additionneur complet qui prend en compte la retenue d’entrée : r = Retenue d’entrée S =Résultat de la somme de r,a et b R =Retenue Sortie r a b S R 1
L’additionneur Schéma logique de l’additionneur complet
L’additionneur Pour réaliser l’addition de n bits, il suffit de chaîner entre eux n additionneurs Un additionneur 4 bits
Le soustracteur Il n’y a pas de circuit spécifique pour la soustraction. On utilise un additionneur avec un signal de contrôle qui indique qu’il s’agit d’une soustraction ou d’une addition On exploite les propriétés du complément à 2 et le fait que le premier additionneur n’a pas de retenue d’entrée.
Le soustracteur a-b en complément à 2 est équivalent à a+B+1. Pour effectuer le (+1) il suffit d’entrer 1 comme retenue d’entrée du premier additionneur. Pour effectuer +B on rajoute un inverseur en entrée de l’additionneur sous la forme d’un XOR qui inversera b si la retenue d’entrée du premier additionneur est à 1.
Le soustracteur Schéma d’un soustracteur 4 bits
Comparateur
Codeur / Décodeur
Circuits Séquentiels L’exécution d’une instruction à l’intérieur d’un processeur constitue un enchaînement d’étapes : Chaque composant produit un résultat qui sera exploité par le composant suivant. Il faut donc synchroniser les différents composants entre eux.
Cycles d’horloge On utilise pour cela des « barrières » qui vont bloquer la propagation du résultat vers le composant suivant tant que l’opération n’est pas terminée. Ces barrières s’ouvrent et se ferment à intervalles fixes. Elles sont commandées par un signal périodique (cycle) comportant une phase haute (ouverture) et une phase basse (fermeture). C’est l’horloge du processeur.
Mémorisation La tâche effectuée par un composant pouvant durer plus d’un cycle, il est nécessaire de mémoriser l’information dans les barrières pour la restituer après fermeture. En fonction de la phase haute ou basse du cycle d’horloge l’information sera donc le résultat mémorisé ou le bit d’entrée (calcul non effectué).
Mémorisation C=0, la barrière est fermée et la valeur en sortie est la valeur mémorisée, c’est-à-dire la valeur en sortie à l’instant précédent C=1, la barrière est ouverte et la valeur en sortie est celle présente en entrée
Mémorisation La mémorisation est obtenue en renvoyant en entrée le signal de sortie. La rétroaction est indiquée en gras sur le schéma. On voit ici que les circuits séquentiels peuvent être implémentés avec les mêmes portes logiques que les circuits combinatoires.
Les circuits séquentiels élémentaires Tout comme les circuits combinatoires, les circuits séquentiels sont constitués à partir de circuits élémentaires qui intègrent dans leur conception les notions de temps et de mémorisation. Exemples : Latchs SR, Latchs D Bascules (Flip-Flops)
Latch SR Il dispose de deux signaux de commande S (Set) et R (Reset) ainsi que d’une boucle de rétroaction pour la mémorisation. Le rôle des signaux est le suivant : S R Comportement du latch Sortie inchangée (mémorisation) 1 Sortie = 0 Sortie = 1 Inutilisée
Latch SR S R Z(t) Z(t+▲t) 1
Latch D Ce circuit ne possède qu’un seul signal de commande, D (Delay) qui est en réalité une entrée. Il est constitué à partir d’un latch SR Il est associé à un signal d’horloge C destiné à inhiber la modification de la sortie
Latch D C D S R Comportement Mémorisation 1 Sortie = 0 Sortie =1
Bascules Les latchs D conviennent pour jouer le rôle de barrières, mais posent des problèmes si le nombre des composants est supérieur à deux. Dans le schéma suivant, les barrières sont cadencées par une horloge et vont donc s’ouvrir et se refermer en même temps. Si le composant C2 met moins de ½ cycle pour réaliser son opération son résultat va se propager à C3 avant qu’un cycle ne soit terminé.
Bascules Pour éviter ce phénomène, les barrières seront donc constituées par une bascule (flip-flop) qui est composée de deux latchs en opposition. Ainsi lorsqu’un latch est ouvert l’autre est fermé et empêche la propagation immédiate du résultat avant la fin du cycle.
Registres Une des utilisations importantes des bascules est le registre. Il sert à mémoriser les informations manipulées directement par l’UAL. Il est composé de n bascules en fonction de la longueur des mots gérés par le processeur (8,16, 32 ou 64 bits) Ces bascules disposent d’un signal supplémentaire permettant au processeur de contrôler l’écriture dans le registre En général, un processeur comporte plusieurs registres regroupés dans un banc de registres. Ces registres sont numérotés et adressés par le processeur par leurs numéros.
Ressources Le cours Architecture des Ordinateurs : Olivier Teman (LRI – CNRS Université Paris-Sud).