1 systèmes numériques du microprocesseur aux circuits logiques

Post on 04-Apr-2015

129 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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 , . , + )

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

21

Portes logiques élémentaires

0

10

1

0

AB

1

Portes élémentaires: porte NOR

A

Valim

B

S0

0

A

BA+B

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

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

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

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

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

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

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

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

30

Paramètres électriques et temporels

Courants de sortie

E=0

S=1

Valim

IOH

E=1 S=0

Valim

IOL

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

32

Paramètres électriques et temporels

Courants de sortie

courant maximaldélivré par l ’alimentationau repos

courants minimaux fournis à la chargependant les transitions

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

34

Paramètres électriques et temporels

Paramètres temporels

écart relatif maximal

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

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

37

Quelques fonctions combinatoiresMultiplexeur/Démultiplexeur

101

0

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

39

Quelques fonctions combinatoiresArithmetic and Logic Unit

40

Logique séquentielle

0

Principe

1

1

0

État initial

0

1

1

0

0 1

Mémorisation

E1

E2

S1

S2

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é

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

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

44

Logique séquentielleD latch

E1

E2

Q

D10X

Q10

mém.

Table de vérité

D

T

D

T

t

S

t

T110

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

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

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

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

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

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

51

Logique séquentielleFonctions séquentielles: comptage

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

53

Logique séquentielleFonctions séquentielles: registres

Registre à décalage: D Q

QT

D Q

QT

D Q

QT

T

0 01 010 010

top related