architecture ordinateurs - rabie-ben … · les activités des additionneurs 1 bit en fonction ......
TRANSCRIPT
1
UVHC – ISTV – Licence 1 Informatique
Rabie Ben Atitallah [email protected]
ARCHITECTURE DES ORDINATEURS�
PROGRAMME
Séance 1 Un cours d’architecture pour des informaticiens
Séance 2 De l’électronique à l’informatique
Séance 3 Du binaire à l’information
Séance 4 Notion de circuit logique
Séance 5 Un modèle d’exécution : Von Neumann
Séance 6 Comment mémoriser une donnée ?
Séance 7 Comment réaliser un calcul ?
Séance 8 Instruction et ordonnancement
2
3
CHAP. 4 : NOTION DE CIRCUIT LOGIQUE - CIRCUITS SÉQUENTIELS
Logique séquentielle
Circuit synchrone
Bascule
Compteur
Registre
Machine à états finis
LA LOGIQUE SÉQUENTIELLE
Contrairement à la logique combinatoire elle permet de mémoriser des états binaires.
Principe
Pour déterminer l'état présent en sortie, il faut : L'état sur l'entrée
L'état passé de la sortie 4
DEUX TYPES DE LOGIQUE SÉQUENTIELLE
5
Asynchrone Le système mémorise à tout moment l'état présent
sur son entrée :
Applications : Mémoriser un état binaire isolé (bouton poussoir)
Utilisé dans les vieux automates câblés.
DEUX TYPES DE LOGIQUE SÉQUENTIELLE
6
Synchrone Le système mémorise l'état présent sur son entrée
si et seulement si une horloge fournit un signal de synchronisation :
Applications : Ordinateurs, consoles de jeux
Montres électroniques.
NOTATION DES ÉTATS
Comment noter un état « E » dans le passé, le présent ou le futur? Notion de signal ( en VHDL)
7
Temps
Présent Passé Futur
E(n-‐1) : état de E à l'instant précédent
E(n) : état de E à l'instant présent
E(n+1) : état de E à l'instant suivant
HORLOGE (CLOCK)
Horloge : composant passant indéfiniment et régulièrement d’un niveau haut à un niveau bas (succession de 1 et de 0), chaque transition s’appelle un top.
Fréquence = nombre de changement par seconde en hertz (Hz)
Fréquence = 1/période Une horloge de 1 hertz a une période de 1 seconde 1 Megahertz a une période de 1 millisec 1 gigaHz a une période de 1 nanoSec
8
Période 0 1 2
NOTION D'ÉTAT STABLE
Bistable = 2 portes NON montées en opposition.
Ce circuit a 2 états stables différents : Q1 = 0 et Q2 = 1 Q1 = 1 et Q2 = 0
9
BASCULES SYNCHRONES/ASYNCHRONES
Les bascules synchrones : asservies à des impulsions d’horloge et donc insensibles aux bruits entre deux tops
Les bascules asynchrones, non asservies à une horloge et prenant en compte leurs entrées à tout moment.
10
Bascule Asynchrone
Données Entrées sorties
Horloge Synchrone
BASCULE ASYNCHRONE : BASCULE RS
11
R : remise à zéro (Reset)
S : mise à un (Set)
Q : sor?e principale
/Q : sor?e complémentée
0 0 Q(n-‐1)
1 0 1 0 1 0 0 1 1 1 ?? ??
/Q(n-‐1) État mémoire Mise à 1 (mémorisa?on) Mise à 0 (mémorisa?on) INTERDIT !
UTILISATION D’UN RS
Réduire les aléas des circuits Aléas statique
Aléas dynamique
14 La bascule RS mémorise l’état stable précédent pendant l’état transitoire
BASCULE SYNCHRONE : BASCULE D
16
D : état à mémoriser (Data) CLK : horloge de synchronisation
Q : sortie principale /Q : sortie complémentée
0 X Q(n-1) X 1 Q(n-1) /Q(n-1)
↑ 0 0 1 ↑ 1 1 0
/Q(n-1) État mémoire
État mémoire Mémorisation d'un état 0
Mémorisation d'un état 1
Front montant
La base de la mémoire d’un ordinateur
BASCULE D : CHRONOGRAMME
17
t
t
t
CLK
D
Q
t
/Q
les fronts actifs de l'horloge
Ici front montant
les états sur D pour tous les fronts
Déterminez l'état des sorties
BASCULE SYNCHRONE : BASCULE JK
23
Q : sortie principale /Q : sortie complémentée
J : entrée n°1 K : entrée n°2 CLK : horloge de synchronisation
X X Q(n-1) X ↑ Q(n-1) /Q(n-1)
↑ 0 1 0 ↑ 1 0 1
/Q(n-1)
↑
0 0
1 1 Q(n-1) /Q(n-1)
1 0
État mémoire État mémoire
État mémoire complémenté
Mémorisation de l'état 0 Mémorisation de l'état 1
BASCULE JK : CHRONGRAMME
24
t
t
t
t
t
CLK
J
K
Q
/Q
Déterminez tous les fronts actifs
de l'horloge Déterminer les états sur J et K pour tous
les fronts
Déterminez l'état des sorties
DESCRIPTION DE MACHINE À ÉTATS FINIS
Description de circuits séquentiels, où on raisonne en état présent, état futur avec des conditions de transitions
27
Circuit combinatoire
Circuit combinatoire
registre
État futur
État présent
entrées
sorties
L’ADDITIONNEUR 4 BITS À PROPAGATION
Les activités des additionneurs 1 bit en fonction du temps.
28
b3 a3
s3
r-1
bo ao
so
r-1
b1 a1
s1
b2 a2
s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
L’ADDITIONNEUR 4 BITS À PROPAGATION
29
b3 a3
s3
r-1
bo ao
so
r-1
b1 a1
s1
b2 a2
s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
Actif inactif inactif inactif
L’ADDITIONNEUR 4 BITS À PROPAGATION
30
b3 a3
s3
r-1
bo ao
so
r-1
b1 a1
s1
b2 a2
s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
Inactif actif inactif inactif
L’ADDITIONNEUR 4 BITS À PROPAGATION
31
b3 a3
s3
r-1
bo ao
so
r-1
b1 a1
s1
b2 a2
s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
Inactif inactif actif inactif
L’ADDITIONNEUR 4 BITS À PROPAGATION
32
b3 a3
s3
r-1
bo ao
so
r-1
b1 a1
s1
b2 a2
s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
Inactif inactif inactif actif
L’ADDITIONNEUR
A chaque intervalle de temps un seul additionneur est actif!
Comment réaliser un circuit avec une seul additionneur ?
33
r-1 1 Bit
L’ADDITIONNEUR
Fonctionnement en fonction du temps.
34
r-1 1 Bit
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
L’ADDITIONNEUR
35
r-1 1 Bit
t0
a0
b0
r-1
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t0
L’ADDITIONNEUR
36
r-1
s0
r0
t0
a0
b0
r-1
1 Bit
t1
r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t1 t0
L’ADDITIONNEUR
37
r-1 1 Bit
t1
a1
b1
r0
s0
r0
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t1 t0
La retenue doit être disponible en entrée.
L’ADDITIONNEUR
38
r-1 1 Bit
s1
r1
t1
a1
b1
r0
t2
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t2 t0 t1
L’ADDITIONNEUR
39
r-1 1 Bit
t2
a2
b2
r1
s1
r1
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t2 t0 t1
L’ADDITIONNEUR
40
r-1 1 Bit
t2
a2
b2
r1
s1
r1
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t2 t0 t1
L’ADDITIONNEUR
41
r-1 1 Bit
s2
r2
t2
a2
b2
r1
t3
r-1 r-1
b3 a3 bo ao b1 a1 b2 a2
s3 so s1 s2
r2 r1 r0 r3 1 Bit 1 Bit 1 Bit 1 Bit
t3 t0 t1 t2
L’ADDITIONNEUR
42
r-1
s2
r2
t3
a3
b3
r2
1 Bit
Mémoire
Horloge
L ’utilisation ici d ’un registre permet de mémoriser la retenue t-1 .
L’ADDITIONNEUR
43
r-1 1 Bit
Mémoire
Horloge
Réalisation d ’un additionneur à partir d ’un circuit séquentiel.
LES CIRCUITS SÉQUENTIELS
Un circuit séquentiel est un circuit dont les sorties dépendant des entrées et de l ’état du système.
Etat : ce qu’il faut mémoriser de l’histoire du passé, c-a-d jusqu’à l’instant t-1, pour pouvoir déterminer les sorties présentes S(t).
44
LES AUTOMATES D’ÉTATS FINIS
45
r-1 Logique
combinatoire
s(ti+1) e(ti)
état de l’automate
Horloge
q(ti) q(ti+1)
LES AUTOMATES D’ÉTATS FINIS
46
r-1 Logique
combinatoire
e(ti)
état de l’automate
Horloge
q(ti) q(ti+1) Automate d’états finis
s(ti+1)
LES AUTOMATES D ’ÉTATS FINIS
Un automate est un être mathématique dont la réponse à un stimulus extérieur dépend de ce stimulus et de l ’état interne de l ’automate.
Un automate fini a un nombre fini d ’états internes. Les stimulus sont susceptibles de faire passer l ’automate d ’un état à un autre état.
L ’automate est entièrement déterminé par la donnée de ses fonctions de transition qui fournissent le nouvel état et la réponse en fonction de l ’ancien état et du stimuli.
47
SYNTHÈSE D’UN CIRCUIT SÉQUENTIEL
Pour réaliser la synthèse d’un circuit séquentiel il faut : 1. déterminer le graphe des états (diagramme de
transitions) ; 2. déterminer le nombre de bascules ; 3. construire la table d’états ; 4. réaliser les circuits combinatoires associés aux
entrées des bascules et aux sorties
48
SYNTHÈSE D’UN ADDITIONNEUR
Nous allons tenter de réaliser la synthèse d ’un additionneur à l ’aide d ’un circuit séquentiel.
49
Additionneur
Vue externe
DIAGRAMME DE TRANSITION : GRAPHE D’ÉTAT
50
Additionneur
Etat1
Etats
Etat2
État : ce qu’il faut mémoriser de l’histoire du passé, c-a-d jusqu’à l’instant t+1, pour pouvoir déterminer les sorties présentes S(t)
Dans notre exemple , il y a deux états internes Etat1 = Retenue ; Etat2 = Pas-retenue.
SYNTHÈSE D’UN ADDITIONNEUR (GRAPHE D’ÉTAT)
51
Additionneur Etat
Transition
Entrées/sortie
Etats
Etat
Après avoir défini les états, il faut compléter le graphe par les transitions du systèmes.
Une fonction de transition définit l ’évolution d ’un automate sous l ’effet d ’un stimulus externe.
SYNTHÈSE D’UN ADDITIONNEUR (GRAPHE D’ÉTAT)
52
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
Voici le graphe de transition complet de l ’additionneur.
Nous allons vérifier son comportement à partir d ’un certains nombres de stimulus d ’entrées.
SYNTHÈSE D’UN ADDITIONNEUR 1001+ 10011 = 11100
53
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR (GRAPHE D’ÉTAT)
54
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
55
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0 10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
56
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0 10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
57
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
01/0
SYNTHÈSE D’UN ADDITIONNEUR
58
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
59
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
60
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
00/0
10/0
10/1 Aucune retenue
une retenue
11/0
SYNTHÈSE D’UN ADDITIONNEUR
61
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
62
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
00/0 Aucune retenue
une retenue
11/0
10/1
SYNTHÈSE D’UN ADDITIONNEUR
63
t+5 1
t+4 0+1 1
t+3 1+0 1
t+2 0+0 0
t+1 0+1 0
t 1+1
Additionneur
01/1
00/1
11/1 01/0
11/0
00/0 10/1 Aucune retenue
une retenue
SYNTHÈSE D’UN ADDITIONNEUR
64
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1 Aucune retenue
une retenue
J’ai vérifié sur un jeu d’entrées non exhaustif que le graphe semble bien correspondre au comportement attendu de mon système.
La construction du graphe est l ’étape la plus délicate.
REPRÉSENTATION SOUS FORME DE TABLE
65
01/1
00/1
11/1 01/0
11/0
00/0 10/1
AR
UR
a b EPresent s EFutur
0 0 AR 0 AR 0 0 UR 1 AR 0 1 AR 1 AR 0 1 UR 0 UR 1 0 AR 1 AR 1 0 UR 0 UR 1 1 AR 0 UR 1 1 UR 1 UR
CODAGE DES ÉTATS
66
01/1
00/1
11/1 01/0
11/0
00/0
10/0
10/1
0
1
Codage des états = Nombre de bascules
Il y a deux états : Etat aucune retenue est codé 0 Etat une retenue est codé 1
Le nombre de bascules est donnée par : 2nbB>= nb Etats
nb B=1
LA TABLE DES ÉTATS
67
01/1
00/1
11/1
01/0
11/0
00/0 10/1
0
1
a b EPresent s EFutur
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
On remplace le nom de l ’état par son code.
Fonctions logiques pour la sortie et l’état
SYNTHÈSE D’UN ADDITIONNEUR (SCHÉMA)
68
a
b
rs
s
D État à mémoriser
Les équations sont réalisées à l ’aide de circuits combinatoires.