ARCHITECTURE ORDINATEURS - rabie-ben … · Les activités des additionneurs 1 bit en fonction ......

70
1 UVHC – ISTV – Licence 1 Informatique Rabie Ben Atitallah [email protected] ARCHITECTURE DES ORDINATEURS

Transcript of ARCHITECTURE ORDINATEURS - rabie-ben … · Les activités des additionneurs 1 bit en fonction ......

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  !  

BASCULE RS : CHRONOGRAMME

12

t

t

t

R

S

Q

t

/Q

les états sur R et S

l'état des sorties

BASCULE RS AVEC DES PORTES

13

Rappel sur le Nand 0 NAND X = 1 1 NAND X = Non X

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 RS SYNCHRONE

  On synchronise les entrées avec les impulsions d’horloge

15

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

UTILISATION D’UNE BASCULE D

  Registre à 4 bits

18

UTILISATION D’UNE BASCULE D

  Décaleur à droite

19

COMPTEUR/DIVISEUR

  Une bascule D qui change d’état à chaque top d’horloge

20

COMPTEUR MODULO 4

21

COMPTEUR MODULO 8

22

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

BASCULE JK AVEC UNE D

25

BASCULE JK ET D AVEC RS

26

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.

SYNTHÈSE D’UN ADDITIONNEUR (SCHÉMA)

69

a

b

rs

s

D

Logique combinatoire

Registres d’états

A LIRE

  http://fr.wikipedia.org/wiki/Bascule_(circuit_logique)

A FAIRE   Fiche TD 4

70