53
1 Systèmes numériques Du microprocesseur aux circuits logiques

1 Systèmes numériques Du microprocesseur aux circuits logiques

Embed Size (px)

Citation preview

Page 1: 1 Systèmes numériques Du microprocesseur aux circuits logiques

1

Systèmes numériques

Du microprocesseur aux circuits logiques

Page 2: 1 Systèmes numériques Du microprocesseur aux circuits logiques

2

Architecture des Ordinateurs

1- Processeurs2- Mémoire3- Entrées-Sorties

Control Unit

Arith. Logic.Unit

mémoire E/S

bus

Processeur

Page 3: 1 Systèmes numériques Du microprocesseur aux circuits logiques

3

Organisation de la mémoire

E/S

bus

Processeur

Mémoire Instructions + opérandes

Ex: addition du contenu du registre R1avec la valeur numérique 7

ADD R1,#7

B1 07

1011 0001 0000 0111

1011 0001

0000 0111 @: adresse

data

Page 4: 1 Systèmes numériques Du microprocesseur aux circuits logiques

4

Organisation de la mémoire

1011 0001

0000 0111

processeur@ CD04

bus d ’adresse

CD04

@

1

R/W

CS

1011 0001

CD05

1

0000 0111

1: positionnement de @

2: bit R/W en lecture

3: chip select actif

4: données sur le bus D

reg. d’adresse

CD04HCD05H

Page 5: 1 Systèmes numériques Du microprocesseur aux circuits logiques

5

Organisation de la mémoire

processeur

D bus

@ bus

R/W

Décodage d ’adresse

CS1 CS2 CS3

M

D0

CS

D1

CS

E SCS110

10X

10Z

Exemple: mémoires de 2 Mo

21 bits d ’adresse

CS0

CS7

a23a22a21

déc.3 vers 8

.

.

.

a20:a0 @M

Page 6: 1 Systèmes numériques Du microprocesseur aux circuits logiques

6

Entrées / SortiesUne adresse est attribuée au E/S (comme à une position mémoire)

processeur

D bus

@ bus

R/W

Décodage d ’adresse

CS CS CS

mémoire

3-états

interfaced’entrée

interfacede sortie

Page 7: 1 Systèmes numériques Du microprocesseur aux circuits logiques

7

CPU La mémoire contient la suite d ’instructions constituant le programme

ADD R1,#7

B1 07

a=a+7

langage machine

assembleur

langage évolué

assemblage

compilation

Trois grands types d’instructions: transfert, calcul, branchement

LD R1,#4 :chargement de la valeur numérique 4 dans le registre R1MOV R2,ad1 :chargement du contenu de la mémoire @ad1 dans R2

ADD R1,#4 :addition de la val. num. 4 au contenu de R1, résultat dans R1SUB R2,R3 :soustrait le contenu de R3 à celui de R2, résultat dans R2INC R1 :incrémentation de R1 de 1

BR,ad1 :branchement inconditionnel à l’adresse ad1JE,ad2 :branchement conditionnel (si le bit Z est égal à 1) à l ’adresse ad2

Page 8: 1 Systèmes numériques Du microprocesseur aux circuits logiques

8

CPU Codage des instructions

Nécessité de « calculer » l’adresse de la prochaine instruction

Code op. Opérande 1 Opérande 2 . . .

Les instructions n ’ont pas toujours le même nombre d’opérandes

@ CD04Code op.

Code op.

Code op.

Code op.

@ CD07@ CD08

@ CD10

Compteur de programme

Page 9: 1 Systèmes numériques Du microprocesseur aux circuits logiques

9

CPU

recherche de l’instr.

lecture de l’instruction

décodage de l’instr.

éxécution de l’instr.

fetch/decode/execute

Lecture de l ’instruction depuis la mémoire(code op. registre d ’instruction IR )

Incrémentation du compteur de programme(le PC pointe le premier arg. ou la prochaine instr. )PC

Décodage de l’instruction par l’UC

Exécutionlecture des arguments (inc. PC)exécution

M@R

CD04

CD04 MDR

B1

IR

B1

UC

B1

CD05

07

CD06ALU

A0 07

A7

A0A7

Page 10: 1 Systèmes numériques Du microprocesseur aux circuits logiques

10

CPU

PC

M@R MDR

B1

IR

UC

07

ALU

A0

Instructions de branchement

Branchement inconditionnelJp @ad1le PC est chargé avec l ’adresse ad1

Branchement conditionnelJz @ad2

Appel à un sous programme

Saut absoluSaut relatif

Registre de « flag »

...Z N Ov

=1 si le résultat délivré par l ’ALU est nul

flag

Page 11: 1 Systèmes numériques Du microprocesseur aux circuits logiques

11

CPU

PC

M@R MDR

B1

IR

UC

07

ALU

A0

Sous Programme

Appel à un sous programmecall @ad1

flag

…@15A0 call @2200@15A1 inst.@15A2 ………

@2200 inst.@2201 ……@22E1 ret

Mémoriser l ’adresse de retour

Pile (stack)

Page 12: 1 Systèmes numériques Du microprocesseur aux circuits logiques

12

CPUSous Programme

Sous programmes imbriqués

…@15A0 call @2200@15A1 inst.@15A2 ………

@2200 inst.@2201 call @2900…@22E1 ret

Mémoire LIFO (last in - first out)

Pointeur de pile (stack pointer)

@2900 inst.…@29A0 ret

PC

M@R MDR

B1

IR

UC

07

ALU

A0

flag

SP pile

Page 13: 1 Systèmes numériques Du microprocesseur aux circuits logiques

13

Unité de Controle

Lecture de l ’instruction depuis la mémoire(code op. registre d ’instruction IR )

Incrémentation du compteur de programme(le PC pointe le premier arg. ou la prochaine instr. )

Exécutionlecture des arguments (inc. PC)exécution

@CD04 B1@CD05 07

PCreadM@RwrMemoryreadMemorywait

M@RreadXwrALUcmd(incX)ZreadPCwr

PC

M@R MDR

B1

IR

UC

07

ALU

flag

SP pileX

Z

PC en lectureM@R en écriturerequête à la mémoireacquitement mémoire

M@R en lectureregistre X en écriturecommande de l’ALUregistre Z en lecturePC en écriture

signal généré par l’UC

Décodage de l’instruction par l’UC

signal d’entrée de l’UC

Page 14: 1 Systèmes numériques Du microprocesseur aux circuits logiques

14

Unité de Controle

PC

M@R MDR

B1

IR

UC

07

ALU

flag

SP pileX

Z

Pour chaque instruction, l’UC doit générerdes signaux de commande (vers l ’ALU,les registres, la mémoire) en fonction del’état courant des registres et de stimuliextérieurs

2 implémentations matérielles

machinecablée

machinemicroprogrammée

Page 15: 1 Systèmes numériques Du microprocesseur aux circuits logiques

15

Numération

Représentation d ’un entier:0

01

12

21

1 2222 .a.a....a.aN nn

nn

an-1: MSB, bit de poids forta0: LSB, bit de poids fort

210 = 1024 1 kilo

220 = 1048576 1 Méga

Code héxadécimal

1100 0101 1011 0011

1210=Ch

C5B3h

Page 16: 1 Systèmes numériques Du microprocesseur aux circuits logiques

16

Numération

Représentation des entiers négatifs:

Module et signe:

N = 0an-1….a1a0 -N = 1an-1….a1a0

4 = 0100-4 = 1100

Complément à 1:

N = an-1….a1a0 -N = an-1… a1a0

4 = 0100-4 = 1011

Complément à 2:

N = an-1….a1a0 -N = an-1… a1a0 + 1 = N + 1

4 = 0100-4 = 1100

Page 17: 1 Systèmes numériques Du microprocesseur aux circuits logiques

17

Numération

Intérêt du C2:

Addition binaire:

9+312

1001+0011

1100

1

La soustraction est un cas particulier de l ’addition:

9-36

1001+110110110

Page 18: 1 Systèmes numériques Du microprocesseur aux circuits logiques

18

Algèbre de Boole

Variable logique: variable appartenant à {0,1}

Fonction logique: fonction de variables logiques prenant ses valeurs dans {0,1}

Addition: A+B

0

10

1

0

AB

1

11

1

10

1

0

AB

00

0

Produit: A.B

Page 19: 1 Systèmes numériques Du microprocesseur aux circuits logiques

19

Algèbre de Boole

Quelques propriétés:

(A+B).C = A.C + B.C

(A.B)+C = A+C . B+C !

Théorèmes de de Morgan:

A + B = A . B

A . B = A + B

Généralisation: F(Ai , + , . ) = F(Ai , . , + )

Page 20: 1 Systèmes numériques Du microprocesseur aux circuits logiques

20

Portes logiques élémentaires

Matérialisation des variables logiques :

Les variables logiques sont représentées (le plus souvent)par des tensions VH et VL

Portes élémentaires: porte NAND

A

S

Valim

B A

BA.B

0

10

1

0

AB

1 1

1

Page 21: 1 Systèmes numériques Du microprocesseur aux circuits logiques

21

Portes logiques élémentaires

0

10

1

0

AB

1

Portes élémentaires: porte NOR

A

Valim

B

S0

0

A

BA+B

Page 22: 1 Systèmes numériques Du microprocesseur aux circuits logiques

22

Portes logiques élémentairesSimplification d ’une fonction logique

N0123456789

101112131415

DCBA0000000100100011010001010110011110001001101010111100110111101111

Exemple: afficheur 7-segments

traduction visuelle de nombresécrits en binaire sur un afficheurcomportant 7 DEL

le décodeur est un circuit qui active les segments de a à gen fonction du code de N

a

g

d

b

ce

f

table de Karnaugh:

0

BADC

111

00 01 11 10

00

01

11

10

0 11 1

1 1

xx x x

x x

Page 23: 1 Systèmes numériques Du microprocesseur aux circuits logiques

23

Portes logiques élémentairesSimplification d ’une fonction logique

0

BADC

111

00 01 11 10

00

01

11

10

0 11 1

1 1

xx x x

x x

a = DCBA DCBA DCBA

DABC DBCA DCBA DCBA

situation jamais atteinte

DCBAA.DCBDCBADCAB simplification possible:

DCAB

Page 24: 1 Systèmes numériques Du microprocesseur aux circuits logiques

24

Portes logiques élémentairesSimplification d ’une fonction logique

0

BADC

111

00 01 11 10

00

01

11

10

0 11 1

1 1

xx x x

x x

a = DCBA DCBA DCBA

DABC DBCA DCBA DCBA

DCAB

Adjacences dans la table de Karnaugh

1 1

DCBA + DCBA= DCA

1 1

1 1

DB

1 1

DCB

1 1

DCA

ACDBCDBDCADa

Page 25: 1 Systèmes numériques Du microprocesseur aux circuits logiques

25

Paramètres électriques et temporels

Définition des niveaux logiques

Rappelons le circuit de l ’inverseur CMOS

E S

Valim La caractéristique de transfert de l ’inverseur estdonné par (série HC):

Valim

Valim

Ve

Vs

Page 26: 1 Systèmes numériques Du microprocesseur aux circuits logiques

26

Paramètres électriques et temporels

Définition des niveaux logiques

Valim

Valim

Ve

Vs

A A

ve1

ve1vs1 =ve2

vs1 =ve2

ve2

vs2

vs2

A

Page 27: 1 Systèmes numériques Du microprocesseur aux circuits logiques

27

Paramètres électriques et temporels

Définition des niveaux logiques

Valim

Valim

Ve

Vs

AA ?

ve1

ve1

vs1 =ve2

ve2

vs2

vs2

A?

vs1 =ve2

variation de la tension d ’alimentation

effet de la température

Page 28: 1 Systèmes numériques Du microprocesseur aux circuits logiques

28

Paramètres électriques et temporels

Définition des niveaux logiques

Valim

Valim

Ve

Vs

A A

ve1 ve2 vs2

A

VILmax VIHmin

VOLmax

VOHmin

VOLmax < VILmax et VOHmin > VIHmin

Page 29: 1 Systèmes numériques Du microprocesseur aux circuits logiques

29

Paramètres électriques et temporels

Définition des niveaux logiques

valeur minimale de la tension d ’entréepour que le signal soit vu comme « 1 »

valeur maximalede la tension d ’entréepour que le signalsoit vu comme « 0 »

dans les conditions du testle circuit assure cette tension

Page 30: 1 Systèmes numériques Du microprocesseur aux circuits logiques

30

Paramètres électriques et temporels

Courants de sortie

E=0

S=1

Valim

IOH

E=1 S=0

Valim

IOL

Page 31: 1 Systèmes numériques Du microprocesseur aux circuits logiques

31

Paramètres électriques et temporels

Courants de sortie

E S

Valim

IOL

Valim

charge

E S

Valim

E S

Valim

=0 =11

t

vs=1 =00

IOH

t

vs

=0 =1

Courant statique 0Consommation de courant en commutation

Page 32: 1 Systèmes numériques Du microprocesseur aux circuits logiques

32

Paramètres électriques et temporels

Courants de sortie

courant maximaldélivré par l ’alimentationau repos

courants minimaux fournis à la chargependant les transitions

Page 33: 1 Systèmes numériques Du microprocesseur aux circuits logiques

33

Paramètres électriques et temporels

Paramètres temporels

tpHL tpLH

tf

t

t

E S

E

S

tp: temps de propagation

tt: temps de transition

condition de charge

Page 34: 1 Systèmes numériques Du microprocesseur aux circuits logiques

34

Paramètres électriques et temporels

Paramètres temporels

écart relatif maximal

Page 35: 1 Systèmes numériques Du microprocesseur aux circuits logiques

35

Quelques fonctions combinatoires

Comparaison de deux mots binaires

La plupart de ces fonctions sont nécessaires à la réalisation d ’un système à µP,elles existent souvent aussi sous la forme de boitiers standards

4

4A

BA>B

A=BA<B

A>B

A=B

A<B

Page 36: 1 Systèmes numériques Du microprocesseur aux circuits logiques

36

Quelques fonctions combinatoiresGénérateur de parité

Lors du traitement ou de la transmission d'un mot binaire,il peut arriver qu'une erreur sur un des bits intervienne(à la suite d'une variation des tensions d'alimentation ou d'une perturbation).En ajoutant à l'information utile, un bit supplémentaire appelé "bit de parité",il est possible de détecter qu'une erreur s'est produite.

Ce bit vaut "1" si le nombre de "1" contenu dans le mot utile est pair:

Ex:

A7:A00 1 1 0 0 1 0 1

even odd1 0

A7:A00 1 1 0 1 1 0 1

even odd1 0

contradiction

Page 37: 1 Systèmes numériques Du microprocesseur aux circuits logiques

37

Quelques fonctions combinatoiresMultiplexeur/Démultiplexeur

101

0

Page 38: 1 Systèmes numériques Du microprocesseur aux circuits logiques

38

Quelques fonctions combinatoiresArithmetic and Logic Unit

ALU 16 bits

choix d ’un fonctionnement« en ligne » ou synchronisé

sortie 3-états

choix de l ’opérande

sélectionde l ’opération

retenue entrante

bits d ’état

registreopérande

Page 39: 1 Systèmes numériques Du microprocesseur aux circuits logiques

39

Quelques fonctions combinatoiresArithmetic and Logic Unit

Page 40: 1 Systèmes numériques Du microprocesseur aux circuits logiques

40

Logique séquentielle

0

Principe

1

1

0

État initial

0

1

1

0

0 1

Mémorisation

E1

E2

S1

S2

Page 41: 1 Systèmes numériques Du microprocesseur aux circuits logiques

41

Logique séquentielle

0

Principe

0

1

1

E1

E2

S1

S2

E1

0110

E2

1010

S1

10

1

S2

01

1mém.

Table de vérité

Page 42: 1 Systèmes numériques Du microprocesseur aux circuits logiques

42

Logique séquentiellePrincipe

t

E1

t

E2

t

S2

t

E1

t

E2

t

S2

Les sorties dépendent des entrées, des états précédents des entréeset des temps de retard dans les circuits

Page 43: 1 Systèmes numériques Du microprocesseur aux circuits logiques

43

Logique séquentielle

0

Principe

1E1

E2

Q

R01X

S10X

Q10

mém.

Table de vérité

S

T

R1

t

R

S

T

t

S

t

T110

Page 44: 1 Systèmes numériques Du microprocesseur aux circuits logiques

44

Logique séquentielleD latch

E1

E2

Q

D10X

Q10

mém.

Table de vérité

D

T

D

T

t

S

t

T110

Page 45: 1 Systèmes numériques Du microprocesseur aux circuits logiques

45

Logique séquentiellebascule D (D flip-flop)

D10X

Q10

mém.

Table de véritéD

T

t

Q

t

T1,0

Q

D

T

T ’

T

t

T ’

t

Page 46: 1 Systèmes numériques Du microprocesseur aux circuits logiques

46

Logique séquentielleApplications des bascules D

Q

D T

Q

D T

Q

D T

Q

D T

D0:Dn

TRegistre parallèle

D Q

QT

Division de fréquence

t

D

Q

t

Tt

Page 47: 1 Systèmes numériques Du microprocesseur aux circuits logiques

47

Logique séquentiellebascule JK (JK flip-flop)

T

t

K

t

t

J

t

Q

Toggle(J=1 et K=1)

Mémor.(J=0 et K=0)

Mise à 1(J=1 et K=0)

Mise à 0(J=0 et K=1)

J

K

T

Q

J

X0011

K

X0101

T

0,1,

état futurQn

Qn-1

Qn-1

01

Qn-1

mémor.mémor.mise à 0mise à 1toggle

J

01XX

K

XX10

état antérieurQn-1

0011

état futurQn

0101

Page 48: 1 Systèmes numériques Du microprocesseur aux circuits logiques

48

Logique séquentielleFonctions séquentielles: comptage

t

Q0

t

Tt

Q1

t

Q2

7 0 1 2 3

Chaque sortie est obtenue à partir de la précédentepar une division par 2 de la fréquence

Page 49: 1 Systèmes numériques Du microprocesseur aux circuits logiques

49

Logique séquentielleFonctions séquentielles: comptage

t

Q0

t

Tt

Q1

t

Q2

7 0 1 2 3

J Q

QK

T

1

J Q

QK

T

1

J Q

QK

T

1Q0 Q1 Q2

7 06 4

Page 50: 1 Systèmes numériques Du microprocesseur aux circuits logiques

50

Logique séquentielleFonctions séquentielles: comptage

J Q

QK

T

1

J Q

QK

T

J Q

QK

T

Q0 Q1 Q2

Ck

Q0 change d ’état à chaque transition de CkQ1 change d ’état à chaque transition de Ck, si Q0=1Q1 change d ’état à chaque transition de Ck, si Q0 .Q1 =1

Compteur synchrone

Page 51: 1 Systèmes numériques Du microprocesseur aux circuits logiques

51

Logique séquentielleFonctions séquentielles: comptage

Page 52: 1 Systèmes numériques Du microprocesseur aux circuits logiques

52

Logique séquentielleFonctions séquentielles: registres

Registre parallèle:

Q

D T

Q

D T

Q

D T

Q

D T

D0:Dn

T

Q0:Qn

Les données d ’entrée (D0:Dn) sont transmises en sortie (Q0:Qn)à chaque front d ’horloge

Page 53: 1 Systèmes numériques Du microprocesseur aux circuits logiques

53

Logique séquentielleFonctions séquentielles: registres

Registre à décalage: D Q

QT

D Q

QT

D Q

QT

T

0 01 010 010