architecture des ordinateurs circuits combinatoires et séquentiels patrice gommery...

Post on 03-Apr-2015

119 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Architecture des Ordinateurs

Circuits Combinatoires et Séquentiels

Patrice Gommeryp.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

A B

A + B

UAL

Registres

Registres d’entrée de l’UAL

Bus d’entrée de l’UAL

Registre de sortie de l’UAL

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

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

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

L’additionneur

r a b S R

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

Table de vérité d’un additionneur complet qui prend en compte la retenue d’entrée :

r = Retenue d’entréeS =Résultat de la somme de r,a et bR =Retenue Sortie

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

0 0 Sortie inchangée (mémorisation)

0 1 Sortie = 0

1 0 Sortie = 1

1 1 Inutilisée

Latch SR

S R Z(t) Z(t+▲t)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0

1 1 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

0 0 0 0 Mémorisation

0 1 0 0 Mémorisation

1 0 0 1 Sortie = 0

1 1 1 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).

top related