Title: Architecture des Ordinateurs
1Architecture des Ordinateurs
- Circuits Combinatoires et Séquentiels
- Patrice Gommery
- p.gommery_at_iut-troyes.univ-reims.fr
2Lunité 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.
3Organisation de lunité centrale
A B
A
B
Registres
A
B
Registres dentrée de lUAL
Bus dentrée de lUAL
Registre de sortie de lUAL
A B
4Les circuits combinatoires
- A partir des portes logiques de bases et
connaissant la manière dont lordinateur
interprète les nombres et effectue les calculs de
base, on peut concevoir les premiers circuits qui
constituent lUAL (Unité Arithmétique et Logique)
5Les circuits combinatoires
- Exemples
- Les additionneurs
- Les codeurs / décodeurs
- Les comparateurs
- Les multiplexeurs / Démultiplexeurs
6Ladditionneur
- Cest un des éléments essentiels de lUAL.
- 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. - Ladditionneur sera lui-même composé de n
additionneurs 1 bit.
7Ladditionneur
- Table de vérité dun demi-additionneur
- S est le résultat de la somme
- R est la retenue
- SA.b a.B ce qui correspond à un OU exclusif
- Ra.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
8Ladditionneur
Table de vérité dun additionneur complet qui
prend en compte la retenue dentrée r
Retenue dentrée S Résultat de la somme de r,a
et b R Retenue Sortie
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
9Ladditionneur
Schéma logique de ladditionneur complet
10Ladditionneur
- Pour réaliser laddition de n bits, il suffit de
chaîner entre eux n additionneurs
Un additionneur 4 bits
11Le soustracteur
- Il ny a pas de circuit spécifique pour la
soustraction. - On utilise un additionneur avec un signal de
contrôle qui indique quil sagit dune
soustraction ou dune addition - On exploite les propriétés du complément à 2 et
le fait que le premier additionneur na pas de
retenue dentrée.
12Le soustracteur
- a-b en complément à 2 est équivalent à aB1.
- Pour effectuer le (1) il suffit dentrer 1 comme
retenue dentrée du premier additionneur. - Pour effectuer B on rajoute un inverseur en
entrée de ladditionneur sous la forme dun XOR
qui inversera b si la retenue dentrée du premier
additionneur est à 1.
13Le soustracteur
Schéma dun soustracteur 4 bits
14Comparateur
15Codeur / Décodeur
16Circuits Séquentiels
- Lexécution dune instruction à lintérieur dun
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.
17Cycles dhorloge
- On utilise pour cela des barrières qui vont
bloquer la propagation du résultat vers le
composant suivant tant que lopération nest pas
terminée. - Ces barrières souvrent 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). Cest lhorloge du
processeur.
18Mémorisation
- La tâche effectuée par un composant pouvant durer
plus dun cycle, il est nécessaire de mémoriser
linformation dans les barrières pour la
restituer après fermeture. - En fonction de la phase haute ou basse du cycle
dhorloge linformation sera donc le résultat
mémorisé ou le bit dentrée (calcul non
effectué).
19Mémorisation
C0, la barrière est fermée et la valeur en
sortie est la valeur mémorisée, cest-à -dire la
valeur en sortie à linstant précédent C1, la
barrière est ouverte et la valeur en sortie est
celle présente en entrée
20Mé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.
21Les 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)
22Latch SR
- Il dispose de deux signaux de commande S (Set) et
R (Reset) ainsi que dune 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
23Latch 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
24Latch D
- Ce circuit ne possède quun seul signal de
commande, D (Delay) qui est en réalité une
entrée. - Il est constitué à partir dun latch SR
- Il est associé à un signal dhorloge C destiné Ã
inhiber la modification de la sortie
25Latch 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
26Bascules
- 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 souvrir
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 quun
cycle ne soit terminé.
27Bascules
- 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
lorsquun latch est ouvert lautre est fermé et
empêche la propagation immédiate du résultat
avant la fin du cycle.
28Registres
- Une des utilisations importantes des bascules est
le registre. - Il sert à mémoriser les informations manipulées
directement par lUAL. - 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 dun 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.
29Ressources
- Le cours Architecture des Ordinateurs
- Olivier Teman (LRI CNRS Université Paris-Sud).