23
2006/2007 Licence Informatique L3 1-1 Cours du 29 septembre 2006 Architecture des ordinateurs Cours (12x2h00) : Frédéric Mallet - [email protected] TP (12x2h00 - 2 groupes) : Jean-Pierre Lips - [email protected] Christophe Delage – [email protected] http://deptinfo.unice.fr/~fmallet/archi 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric Mallet 1-2 Structure du cours Performances : évolution et comparaison Codage de l’information Fonctions logiques et éléments mémoires Systèmes à microprocesseurs La famille Intel - 80x86 Le PowerPC d’IBM Éléments avancés (parallélisme, mémoire, ...) Conception d'architectures numériques - VHDL 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric Mallet 1-3 Facteurs d'Évolution des performances Technologie : Tubes à vide (46-57), transistors (58-64), SSI-MSI (65- 71), LSI (72-77), VLSI(78-?) Densité : nombre de transistors sur une zone de silicium ( < 0.1μm) Loi de Moore : + 50% par an depuis 1980 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric Mallet 1-4 Illustration de la loi de Moore http://www.intel.com/research/silicon/mooreslaw.htm

Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Licence Informatique L3 1-1

Cours du 29 septembre 2006

Architecture des ordinateursCours (12x2h00) :

♦ Frédéric Mallet - [email protected]

TP (12x2h00 - 2 groupes) :

♦ Jean-Pierre Lips- [email protected]

♦ Christophe Delage –[email protected]

http://deptinfo.unice.fr/~fmallet/archi2006/2007 Architecture des Ordinateurs - Licence Informatique L3

Frédéric Mallet1-2

Structure du cours

♦Performances : évolution et comparaison

♦Codage de l’information

♦Fonctions logiques et éléments mémoires

♦Systèmes à microprocesseurs

♦La famille Intel - 80x86

♦Le PowerPC d’IBM

♦Éléments avancés (parallélisme, mémoire, ...)

♦Conception d'architectures numériques - VHDL

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-3

Facteurs d'Évolution des performances

♦ Technologie : � Tubes à vide (46-57), transistors (58-64), SSI-MSI (65-

71), LSI (72-77), VLSI(78-?)

♦ Densité :nombre de transistors sur une zone de silicium ( < 0.1µm)� Loi de Moore : + 50% par an depuis 1980

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-4

Illustration de la loi de Moore http://www.intel.com/research/silicon/mooreslaw.htm

Page 2: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-5

♦ Technologie

♦ Densité

♦ Vitesse :rapidité des portes logiques et mémoires� augmente en moyenne de 13% par an

♦ Surface : taille physique du + grand circuit intégré

... mais aussi

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-6

Surface et wafer

30 cm de diamètre 1 circuit intégré

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-7

Comparaison de performances

♦ Performance = terme très vague� le plus souvent associé à la rapidité

� plusieurs métriques pour décrire les systèmes et sous-systèmes

♦ compromis avec la facilité de programmation� Architectures orthogonales (RISC)

• Faciles à programmer, mais moins optimisées

� Architectures optimisées (DSP)• Très optimisées, moins faciles à programmer

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-8

MIPS / FLOPS

♦ 2 unités fréquemment utilisées :� Mips : Million d ’Instructions Par Seconde

� Flops : FLoating-point Operations Per Second

♦ Problème� Suivant le système, on a un nombre différent

d ’instructions pour la même tâche

� Compare 2 implémentations sur le même système

Page 3: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-9

CPI/IPC

♦ CPI= nbre de cycles pour chaque instruction

♦ IPC= nbre d'instructions par cycle

CPI = 1/IPC

♦ Ces métriques ne donnent pas de temps d'exécution mais sont très utiles en simulation

♦ On multiplie par la période d'horloge pour obtenir un temps

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-10

Banc d'essai (benchmark)

♦ Série de programmes représentatifsd'une famille d'applications donnée

♦ SPEC :Standard Performance EvaluationCorporation -http://www.spec.org� SPEC CPU2000 = CINT2000 + CFP2000

� serveur web, graphique, unités de stockage

� Temps d'exécution total ≠ MIPS ou IPC

� Tous les constructeurs utilisent les mêmes tests

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-11

CINT2000

♦ Calculs intensifs sur les entiers

164.gzip Compression175.vpr FPGA Placement et routage176.gcc Compilateur C181.mcf Optimisation combinatoire186.crafty Echecs197.parser Traitement de texte252.eon Visualisation C++253.perlbmk PERL254.gap Interpréteur, théorie des groupes255.vortex Base de données, OO256.bzip2 Compression

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-12

Moyennes arithmétiques et géométriques

♦ Moyenne arithmétique de n entiers� Somme des entiers divisée par n

� e.g. (4+2+4+82) / 4 = 23, (8+8+8+8)/4 = 8

♦ Moyenne géométrique de n entiers� Racine nième du produit des entiers

� e.g.

� Moins sensible aux valeurs accidentelles 16,7824244 =××× 888884 =×××

Page 4: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-13

Le monde du numérique

signal logique et mot

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-14

Numérique ou analogique ?

♦ Analogique : � Échelle continue de valeurs => sensible au bruit

♦ Numérique :� Échelle discrète de valeurs : binaire, ternaire, ... ?

� BInary digiT = BIT (0 ou 1) : valeurs logiques

émetteur

+Vcc

0

Vsup

V inf

1

0

récepteur

+Vcc

0

Vsup

V inf

1

0

VSsup> VEsupVSinf < VEinf

+Vcc

0

VSsup

VSinf

1

0

+Vcc

0

VEsup

VEinf

1

0

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-15

Mots de bits

♦ 1 signal logique représente 21 valeurs : bit

♦ N signaux représentent 2n valeurs : mot

♦ 8 signaux représentent 28=256 valeurs : octet

♦ Codage binaire naturel : entiers non signés� bits ordonnés de 0 à n-1 (de droite à gauche)

� Le ièmechiffre pèse 2i : (e.g. 0b100111)

� En décimal, le ièmechiffre pèse 10i :• 1995 = 1.103+9.102+9.101+5.100

∑−

=

1

02*

n

i

i

ib

∑−

=

1

010*

n

i

i

ib

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-16

Généralisation en base b

♦ Exemple :Base 2

N = an bn + an-1 b

n-1 + ..... + a1 b1+ a0

b0

Poids fort Poids faible

1010 = 1.23 + 0.22 + 1.21 + 0.20

1010 = 10102

Indique la base

ai bi

Poids de ai

Rang de ai

ai = 0 ou 1 => bitbase

Page 5: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-17

Numération Octale et Hexadécimale

♦ Octale: 8=23 symboles 0, 1, 2, 3 ... 7♦ Hexadécimale: 16 symboles 0,1,2,3 ...9,A,B,C,D,E,F

� Passage de la base 10 à la base 8 ou 16

• divisions successives par 8 ou 16

� Passage de la base 2 à la base 8 ou 16

• décomposition en groupe de 3 ou 4 bits

• remplacement de chaque groupe par sa valeur dans la nouvelle base

Exemples: 1011101,0110121 011 101,011 010Base 8 = 135,328

101 1101,0110 1000Base 16 = 5D,6816

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-18

Partie fractionnaire (virgule fixe)

♦ (0,572)10 = 5*10-1 + 7*10-2 + 2*10-3

♦ (0,011)2 = 0*2-1 + 1*2-2 + 1*2-3

♦ (0,b-1b-2...b-n)B = b-1*B-1 + b-2*B-2 + ... + b-n*B-n

� où 0 ≤ b-i < B, ∀i

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-19

Passage de la base 10 à la base 2

20 2

0 10 2

0 5 2

1 2 2

0 1 2

1 0

Bit poids faible

Bit poids fort

2010 = 101002

♦ Partie entière : divisions successives par 2

♦ Partie fractionnaire : multiplications successives par 2 0,375 * 2 = 0, 750,75 * 2 = 1, 50,5 * 2 = 1

0,37510 = 0.0112

20,37510 = 10100.0112

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-20

Signe/valeur absolue

♦ Le signe a 2 valeurs possibles (+ ou - ) : 1 bit� Le bit de poids fort code le signe

� les autres bits représentent la valeur absolue

� e.g.• 0b00001100représente la valeur +12

• 0b10001100représente la valeur -12

� Avec n bits on représente les valeurs • de – (2n-1-1) à +(2n-1-1)

♦ 2 problèmes� Comment coder 0 ?

� Circuits spéciaux pour les opérations arithmétiques (cf. TP)

Page 6: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-21

Décimal codé binaire (DCB)

♦ Chaque chiffre décimal est codé en binaire sur 4 bits

♦ Utile lorsqu'il y a des sorties sur des afficheurs

♦ Exemple :199510 = 0001 1001 1001 0101dcb

� Le signe est stocké dans le quartetle + significatif

� Selon les constructeurs :+ = 0000 et - = 1111

+ = 1011 et - = 1101 (Correspond aux caractères + et - en ascii)

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-22

Blocs, fonctions et portes logiques

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-23

Blocs et fonctions logiques

♦ Un bloc logiquemanipule des entrées binaires pour produire des sorties

♦ Chaque sortie réalise une fonction logique:� Les fonctions combinatoires(e.g. addition)

• ne dépendent que des entrées E: S = f(E)

� Les fonctions séquentielles ou à mémoire• dépendent des entrées et du passé (état Q) : S=f(E,Q)

• l'état évolue au cours du temps : Q+ = g(E,Q)

• e.g. compteur

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-24

Modèle logique du transistor

♦ Transistor N (Très bonne conduction si S = 0 )� Quand G=0, le transistor est bloquant

� Quand G=1, le transistor est passant (Source->Drain)

♦ Transistor P (Très bonne conduction si S = 1 )� Quand G=0, le transistor est passant (Source->Drain)

� Quand G=1, le transistor est bloquant

Transistor N Transistor P

D S

D S

D S

D S

Page 7: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-25

Fonction NON, inverseur

♦ Fonction logique NON :

♦ Table de vérité :

♦ Porte logique (réalisation) : inverseur� 1 transistor N et 1 transistor P

� Tous les signaux sont de bonne qualité

0 1 1 0

0110

a a

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-26

Portes universelles : NAND

♦ Toute fonction logique peut être réalisée avec un seul type de “porte universelle”:� La porte NAND qui réalise la fonction NAND

aaa =•

101

011

110

100

a•bba

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-27

Porte NAND à 3 entrées

♦ Le nombre de transistors en série dans les réseaux N et P est limité (3-5)

1110

1001

1101

1011

1

0

1

0

c

110

011

100

100

a•b•cba

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-28

Portes universelles :NOR

� Ou la porte NOR qui réalise la fonction NOR

aaa =+

001

011

010

100

a+bba

Page 8: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-29

Fonction ET

Produit logique (AND) :a • b

babaaaa +=•=•=• ,00 ,1001

111

010

000

a•bba

– Exercice : réaliser une porte AND avec que des NOR, compter les transistors

baba •=•

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-30

Fonction OU

♦ Somme logique (OR) :a + b

babaaaa •=+=+=+ ,0 ,11101

111

110

000

a+bba

– Exercice : réaliser une porte OR avec que des NAND, compter les transistors

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-31

Fonction OU exclusif

♦ Ou exclusif (XOR) :

bababa •+•=⊕101

011

110

000

a⊕⊕⊕⊕bba

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-32

Multiplexage

♦ La fonction multiplexagepermet de sélectionner une entrée parmi 2

♦ Un multiplexeur à 2n entrées nécessitent n bits de sélection

MultiplexeurOS

b1

a0

Page 9: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-33

Décodeur n vers 2n

♦ La fonction décodage3 bits permet de sélectionner une sortie parmi 23=8

♦ Un démultiplexeur à 2n sorties nécessitent n bits d’entrée

♦ Le numéro de la sortie sélectionnée est codé en binaire naturel sur l’entrée

Décodeur 3 vers 83

E8

S

00000001111

00000010011

00000100101

00001000001

00010000110

00100000010

01000000100

10000000000

S0S1S2S3S4S5S6S7E0E1E2

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-34

Compteur (m,k)

♦ Entrée : mot de m bits Sortie : mot de k bits

♦ La fonction compteur(m,k)� compte le nombre de 1 présents sur ses m entrées

� donne le résultat sur k bits en numération simple de position(binaire naturel)

♦ Un compteur (2,2) est appelédemi additionneur

♦ Un compteur (3,2) est un additionneur complet

(m,k)am-1

a0...

s0sk-1 ...

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-35

Demi additionneur

♦ Équation arithmétique: 2r+s = a+b

♦ Équations logiquess = a ⊕ b r = a•b

réalisation :retenue

somme

2

1

1

0

Nb

0111

1001

1010

0000

srba

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-36

Additionneur complet

♦ Équation arithmétique: 2r+s = a+b+c

♦ Équations logiquess = a ⊕ b ⊕ c r = a•b+a•c+b•c

♦ Plusieurs réalisations possibles (cf. TP)

3

2

2

1

2

1

1

0

Nb

00000

10010

10001

01011

1

1

1

1

c

1111

0101

0110

1000

srba

Page 10: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-37

Additionneur 4 bits

♦ 4 additionneurs completsen parallèle♦ Si Cout = 1, dépassement (overflow)♦ Attention: faux parallélisme

� Le temps de calcul est proportionnel au nombre de bits : temps de propagation de la retenue

� Il existe des versions avec anticipation de retenue

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-38

Le complément à 2♦ 2 cas

� Nombres positifs :binaire naturel, le bit de poids fort est 0� Nombres négatifs :inverser chaque bit de la valeur

absolue, ajouter 1, le bit de poids fort est FORCEMENT 1� Exemple :

• +12 est représenté par 00001100• -12 est représenté par 11110100

♦ En circuit :� Pas de circuit spécial pour l'addition signée� Pour la soustraction, on ajoute l'opposé

♦ Dissymétrique :� Représente les valeurs de -2n-1 à 2n-1-1

Inverser les bits11110011

+ 1

= 11110100

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-39

♦ En complément à 2 :

♦ Quand add/sub vaut 0, additionneur4 bits : 0⊕bi=bi

♦ Quand add/sub vaut 1, soustracteur4 bits : 1⊕bi=¬bi� La retenue entrante du bit de poids faible est 1

1)( ++=−+=− BABABA1+=− BB

Additionneur/Soustracteur : 1 circuit

(complément à 2)

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-40

UAL 1-bit

♦Unité Arithmétique et Logique� Opérations arithmétiques simples (+, -)

� Opérations logiques (And, Or, Xor, Lsh, Ash)

Les opérateurs sont mis en parallèleA chaque fois qu'une entrée change les deux opérations sont effectuées

Une seule sortie doit être validecode opération (1 bit = 2 opérations)

Page 11: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-41

UAL n-bit♦ n ALU 1-bit en parallèle

♦ Les retenues des additionneurs sont cascadées

♦ Un code opération (c0, c1) pour choisir la valeur de sortie

♦ Une UAL produit aussi des indicateurs(flags):� Z : le résultat est nul

� C : la retenue

� N : le résultat est négatif

� V : dépassement de capacité (overflow)

Xn

Yn

Sn

c0 c1

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-42

Nombres approchés

Partie fractionnaireReprésentation à virgule flottante

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-43

Nombres approchés

♦ Nombres à virgule fixe� Des bits sont réservés pour la partie imaginaire

♦ Nombres à virgule flottante : ANSI/IEEE 754� Représentés par mantisse x 2exposant

� 2 précisions • Précision simple sur 32 bits

• Précision double sur 64 bits

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-44

La virgule flottante

♦ On déplace la virgule après le premier chiffre significatif

♦ On compense avec un exposant

♦ Exemple : 1011101,011012101110,1011012 x 211011101,011012 x 20

10111,01011012 x 221011,101011012 x 23101,1101011012 x 2410,11101011012 x 251,011101011012 x 261,011101011012 x 26

mantisse exposant

Page 12: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-45

Simple précision : float

� (1,M)2 nombre binaire = mantisse préfixée de '1,'

� -0 : nombre négatif dont la valeur absolue est < à 2-149

� NaN: Not a Number (e.g. Racine d'un nombre négatif)

� Infini signifie que la valeur absolue est > à 2127x(2-2-23)

-∝02551

+∝02550

NaN>0255-

-0001

+0000

(-1)Sx2-126x(0,M)2>00S

(-1)Sx2E-127x(1,M)2ME=]0,255[S

Nombre représentéMantisseExposantSigne

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-46

Exemples

� 0 10000000 00000000000000000000000 • = (-1)0 x 2128-127x(1,0)2 = 2

� 0 10000001 10100000000000000000000 • = (-1)0 x 2129-127x(1,101)2 = 4 x 1.625 = 6.5 • car (1,101)2 = 1x20+1x2-1+0x2-2+1x2-3 = 1,625

� 0 00000000 00000000000000000000001 • = (-1)0 x 2-126x2-23 = 2-149

• Plus petit nombre que l'on peut représenter en simple précision

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-47

Double précision : double

� 2047 = 211-1 : 11 bits d'exposant, 52 bits de mantisse

-∝020471

+∝020470

NaN>02047-

-0001

+0000

(-1)Sx2-1022x(0,M)2>00S

(-1)Sx2E-1023x(1,M)2ME=]0,2047[S

Nombre représentéMantisseExposantSigne

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-48

Compléments sur IEEE 754

♦ La représentation en complément à 2sur 32 bits permet de représenter un intervalle de 232 valeurs

♦ La représentation en virgule flottantepermet de représenter un intervalle de 2256 valeurs� Moins de précisions sur les valeurs très grandes et très petites

� Bonne précision sur les valeurs entre -1 et 1

0-∞ +∞≈ -2128 ≈ -2-149 ≈ 2-149 ≈ 2128

Page 13: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-49

Arrondis

♦ Manipulations étendues :� simple précision étendue (43 bits)

� double précision étendue (80 bits)

♦ 4 modes :� Round-to-nearest : par défaut

• Si au milieu de 2 valeurs, 0 en poids faible

� Round-to-zero : conversion en entiers

� Round-to-+∞ et Round-to--∞

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-50

Précision

♦ (0,1)10 = (1,1001100…)2*2-4

♦ (0,1+0,1)10

=(1,1001100…1101)2*2-3 En précision infinie

=(1,1001100…1100)2*2-3 En précision sur 43 bits

♦ (0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)10

=(1,1001100…1101)2*2-1 En précision sur 43 bits

=(1,1001100…1110)2*2-1=0.8 En précision infinie

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-51

Représentation des caractères

♦ Caractères à coder, alphabet + , ! * " %

♦ Code ASCII (7 bits + 1 bit de parité)� AmericanStandard Code for Information Interchange

� permet 128 combinaisons différentes 27

� utilisation de cette table ...

♦ Code EBCDIC (8 bits)� ExtendedBinaryCodedDecimalInterchangeCode

� Utilisé principalement par IBM

♦ Code ANSI� AmericanNational Standard Institute

� Utilisés par certains logiciels (Windows)

� Code ASCII + extensions multilingue

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-52

Évolution du code ASCII

♦ "iso-latin-1", connu sous le nom iso-8859-1� le huitième bit qui servait pour le contrôle de parité, va

être utilisé pour coder plus de caractères.

� Les codes ASCII de 0 à 7F (127 en décimal) demeurent inchangés,

� les codes supérieurs (ceux qui ont le bit 7 à 1) représentent quelques symboles supplémentaires, ainsi que les lettres accentuées qui satisfont aux exigences des langues de l'Europe de l'Ouest

Page 14: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-53

Code iso-latin-1 (iso-8859-1)

‘G’ est codé 47h soit 0100 011122006/2007 Architecture des Ordinateurs - Licence Informatique L3

Frédéric Mallet1-54

Bibliographie

♦ « Architecture de l’ordinateur »� N. P. Carter, Schaum’s, EdiScience, 2002

♦ « Architecture des ordinateurs - Une approche quantitative »� J.L. Hennessy, D.A. Patterson, Vuibert, 2003

♦ « Architecture de l’ordinateur »� A. Tanenbaum, Dunod, 2001

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-55

La logique séquentielle et les éléments mémoire

♦Les fonctions combinatoires n'intègrent pas la notion de tempset de mémorisation

♦Ces notions sont nécessaires au fonctionnement de plusieurs composants

♦Notion de temps = Horloge� Une action d'un processeur est un enchaînement

d'étapes� Les horloges sont des signaux périodiques qui

déterminent l'instant auquel les différentes parties se synchronisent

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-56

Horloge (1/2)♦Logique séquentielle synchrone

� Synchronisation sur front d'impulsion d'horloge(de montée ou de descente)

� En général, une seule horloge par processeur

♦Les systèmes sans horloge sont ditsasynchrones

Cycle, période Th

Front de montée Front de descente

Th

fréquence 1=

Page 15: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-57

Exemple sur l’UAL 1-bit

♦Tous les chemins n’ont pas la même longueur� Plus de portes à traverser (Cout, O)

� Le temps dépend du routage♦Solution facile à mettre en œuvre

� Synchroniser les entrées/sorties (éléments mémoire)2006/2007 Architecture des Ordinateurs - Licence Informatique L3

Frédéric Mallet1-58

Horloge 2/2

♦ Les signaux d'entrée des composants mémoire doivent être valideslors du front d'horloge� Stablesi les entrées ne changent pas

♦ La périodede H doit être suffisamment grande par rapport au temps de stabilisationdu plus lent des blocs combinatoires : Th > Tmin

bloccombinatoire

Élément mémoire 2

H

Élément mémoire 1

H

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-59

Les éléments mémoire♦ L'information à mémoriser est modélisée par un Etat Q

♦ Pour une mémoire élémentaire (1 bit) : Q+ = f(E,Q)

♦ Ces mémoires peuvent être réalisées avec de la logique combinatoire asynchrone� Rétroaction, utilise le délai des portes

c=0, la barrière est ferméeQ+ = Q

c=1, la barrière est ouverteQ+ = E

δt Q

E Q+

c

1111

1011

0101

0001

1110

0010

1100

0000

Q+QEc

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-60

Latch SR asynchrone

♦Complètement combinatoire� La rétroaction et le délai réalisent la

mémorisation� Set: fixe la sortie à 1, Reset: fixe la sortie à 0� La combinaison S=1 R=1 est interdite et pose des

problèmes d'oscillation (cf. TP2)

Non utilisé11

101

010

Q00

Q+R(eset)S(et)

Page 16: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-61

Latch D synchrone

♦Le latchD est actif sur niveau hautde l'horloge� H=0, le latchest fermé, Q+ = Q

� H=1, le latchest ouvert 'transparent', Q+ = D

♦D doit être valide avant le front descendant de H

♦R et S ne peuvent plus être à 1 simultanément

111

001

Q10

Q00

Q+DH

111

001

Q10

Q00

Q+DH

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-62

Exemple de bon fonctionnement♦Chronogramme :

� Ici, l'horloge est périodique mais pas symétrique

� Latchsynchrone, car il y a une horloge

Donnée D

Horloge H

Sortie Q

Etat initial Q=0δt = temps de mémorisation

δt

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-63

Limitations du latch D

♦Un latchD peut séparer deux composants

♦Mais ne convient pas pour plus de deux� Quand H=1, les deux latchsD1 et D2 s'ouvrent

� Les données traversent les 2 étages en 1 cycle• Ssi T1+T2 < TH/2

bloccombinatoire 1

bloccombinatoire 2

bloccombinatoire 3

D2

Horloge H

T1 T2T3

TH

D1

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-64

Bistable et Maître-Esclave♦Un bistable est une bascule synchronisée sur front

d'horloge, le latchD est synchronisé sur niveau

♦Réalisation avec une commande Maître-Esclave� 1 horloge H1 commande l'écriture : Maître

� 1 horloge H2 commande la lecture : Esclave

Maître

D

H

Q

Esclave

D

H

Q

H1 H2

021 =•HH

Page 17: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-65

Bistable D -Flip-Flop♦En pratique, 1 seule horloge H génère H1 et H2

♦Les sorties sont activées sur front de descente de H

♦L'entrée I doit être valide avant et après le front actif� Temps d'établissement(setup), temps de maintien(hold)

Bistable D

D

H

Q

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-66

Les registres♦Un registre 1-bitest un bistable D avec 1 entrée W

� L'entrée synchroneW(rite) contrôle l'écriture� W=1 : contrôle par l'horloge; W=0 : désactivé

♦Un registre n-bitest constitué de n registres 1-bit

b0

b1

b2

b3

WH

Registre 4-bit

4 4

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-67

Les bancs de registres

♦Les registres peuvent être regroupés en bancs� On lit ou écrit en donnant le numéro du registre(adresse)� E.g. 2 lectures et 1 écriture dans le même cycle d’horloge� E.g. Pour un banc de 8 registres, il faut 3 bits de sélection

R044

w

R744

w

Banc de 8 registres de 4 bits

4

4

4

3

3

3

W Donnée 1 à lire

Donnée 2 à lire

Donnée à écrire

N° reg écritureN° reg 1 lectureN° reg 2 lecture

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-68

Commande de lecture - multiplexeur

♦ Pour la lecture : simple multiplexeur� Coût important et temps de traversée = O(n)� Que se passe-t-il quand on ne veut pas lire ?� Remarque : Il est interdit de connecter ensemble deux

sorties logiques sauf ...

R044

w

R744

w

4

N° du registre de lecture

Page 18: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-69

Coût du multiplexeur

♦ Ici, seulement 4 entrées� 4 portes à 3 entrées� 1 porte à 4 entrées� Coût = Nombre de portes

• en O(n)

♦Banc de registres : 8 registres� 8 portes à 4 entrées� 1 porte à 8 entrées ????

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-70

Logique à 3 états et bus♦ Une sortie 3 étatspeut prendre un des 3 états :

� État logique 0, état logique 1

� État déconnecté (pas logique dit “haute impédance”)

� Un tel signal est réalisé avec une commande Enable

♦ 1 bus coûte bien moins cher qu’un multiplexeur

Ligne de bit commune (bus 1 bit)

1 contrôleur autorise 1 seuleligne à la fois :

e.g. Décodeur d'adresse

symbolise une sortie à 3 états

O=I ssi E(nable)=1

Porte de transfert à 3 états

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-71

Banc de registres et bus 3 états♦Plus le bus est long, plus le temps de

propagation est grandb0

b1

b2

b3

E0

b0

b1

b2

b3

E7

R0

R7

D0

D1

D2

D3

Bus 3 états 4 bits

Décodeur3 vers 8

3

N° du registreà lire

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-72

Les mémoires RAM

♦ Réseaux de mémoires élémentaires de taille supérieure aux bancs de registres

♦ Coût (financier + surface) proportionnel à la rapidité� Mémoire rapide (statique) : SRAM (1ns)

• Petites (cache)

� Mémoire lente (dynamique) : DRAM (60-70ns)• Plus grandes (mémoire principale)

� Disque dur: mémoire virtuelle (10ms)• Beaucoup plus lent (/103), beaucoup plus grand

Page 19: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-73

Structure des puces mémoire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Cellulebinaire

Moitiésupérieure des bits d'adresse

Multiplexeur ou bus 3 états

Décodeur

Moitiéinférieure des bits d'adresse

Sortie

Lignes de mot

Lignes de bit

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-74

Structure des puces mémoire

♦Chaque cellule binaire mémorise 1 bit♦Les bits de poids élevésont chargés dans un

décodeur pour activer une ligne de mot♦Les bits de poids faiblesélectionnent la ligne de bit

(multiplexeur ou contrôleur 3 états)♦Pour avoir une mémoire sur plusieurs bits

� Plusieurs plans de cellules binaires (8 plans pour 1 octet)� Logique plus compliquée de sélection des lignes de bit

♦Les matrices ne sont pas carrées :� Mémoire 8 bits : 8 cellules binaires par rangée (mot)

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-75

Rapidité des mémoires♦ La rapiditédes mémoires est déterminée par :

� La longueur des lignes de mot et des lignes de bit• Mémoires modernes : plus de petites matrices

� La manière dont les cellules binaires sont construites• SRAM : 6 transistors, plus rapide mais plus grande

• DRAM : 1 transistor, moins rapide et moins grande

♦ Temps d'accès (latence) � Durée entre l'activation et l'obtention d'une donnée

valide (peut être de plusieurs cycles)

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-76

SRAM ( Static RAM)

♦Quand la ligne de mot est inactive� La donnée est mémorisée indéfiniment (statique)

♦Quand la ligne de mot est active� Lecture : la valeur et son inverse vers les lignes de bit

• Puis sélectionnées en sortie

� Écriture : les 2 lignes de bit sont alimentées avec la valeur à mémoriser et son inverse

Cellule de SRAM6 transistors

Page 20: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-77

DRAM (Dynamic RAM)

♦ Lorsque la ligne de mot est active, le condensateur est connecté à la ligne de bit

♦ Sinon, il se décharge petit à petit (dynamique)

♦ Les DRAM ont une capacité plus grosse que les SRAM et sont plus lentes

♦ Les DRAM doivent être rafraîchies régulièrement

Cellule binaire DRAM1 transistor1 condensateur (1 connexion)

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-78

Rafraîchissement de DRAM

♦ Les rangées sont rafraîchies en lisant la valeur et en la ré-écrivant immédiatement

♦ Si les rangées sont rafraîchies suffisamment souvent, leur contenu est préservé indéfiniment

♦ Les DRAM indique un temps de rafraîchissement� Plusieurs politiques de rafraîchissement existent

� Par exemple, on peut rafraîchir chaque rangée les unes après les autres

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-79

DRAM et DRAM paginées

♦ DRAM� La transmission de l'adresse se fait en 2 phases

• RAS : l'adresse de la rangée (bits de poids forts)

• CAS : l'adresse de la colonne (bits de poids faibles)

♦ DRAM paginées (FastPage Mode)� Lors de RAS tous les bits de la rangée sont

mémorisés dans un latch

� Plusieurs CAS successifs permettent de lire tous les bits de la rangée et de réduire le temps d'accès

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-80

DRAM ExtendedData Out

♦ Apparues en 1995 en remplacement de FPM� Lorsqu’une donnée est lue, l’adresse de la rangée

suivante est générée automatiquement

� Bonne accélération, lorsqu’on lit des données consécutives

� Cette technologie asynchroneest limitée par la fréquence d’horloge� Mémoires synchrones« avec le processeur »

Page 21: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-81

Mémoires synchrones

♦SDRAM (Synchronous DRAM) - 1997� La mémoire se branche sur la fréquence d’horloge du

processeur, le processeur n’a plus besoin d’attendre

♦DDR-SDRAM (Double Data Rate SDRAM)� Apparue en 1999

� Plusieurs canaux de lecture en même temps (2 ou 4)

� En pratique on couple 2 barrettes mémoires

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-82

Conditionnement

♦SIMM (Single Inline Memory Module)� Circuits imprimés rectangulaires

� 30 ou 72 broches

♦DIMM (Dual Inline Memory Module)� 168 broches

� Plus besoin de coupler 2 barrettes (2 bancs sur la même barrette)

� Détrompeur pour l’installation

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-83

Contrôle

Machines à états finis

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-84

Machines à états finis♦ Les systèmes de contrôlecadencent les différents

composants assemblés (e.g. multiplieur)

♦ On les décrits avec des machines à états finis

♦ Mealy et Moore ont le même pouvoir d'expression

Fonction de sortiesortie = h(q,e)

mSortie

Fonction état suivantq+ = f(q,e) Mealyq+ = f(q) Moore q+

état suivant

État courant

n

Horloge

Entrée

n

q

Blocs combinatoires

Réseaux de bistables D

Page 22: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-85

Multiplication binaire non signée

♦ Une multiplication n bits est équivalente à n additions

♦ On accumuleles résultats intermédiaires dans un registre 2n-bit

0 0 1 1x 0 1 1 1

0 0 1 1+ 0 0 1 1 0

0 1 0 0 1+ 0 0 1 1 0 0

0 1 0 1 0 1+ 0 0 0 0 0 0 0

0 0 1 0 1 0 1Résultats intermédiaires

Registre 1 Registre 2

+

Accumulateur

opérande1 opérande2

DécalageWin

RAZWaccu

Signaux de contrôlechemin de données

Compteurccontrôle

b0

incrémenter

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-86

Contrôle du multiplieur♦Entrées :

� b0 (bit de poids faible du registre 2) et c (compteur=n)

♦Sorties :� Win (valider les opérandes), Waccu(accumuler)

� Décalage, incrémenter

♦4 états (2 bits q1 q0) :� Initial : mise à zéro accu et compteur, lire opérandes

� Calcul: en cours de calcul

� Addition : b0 vaut 1, on accumule

� Final : le calcul est terminé

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-87

Machine à états pour le multiplieur

Initialq1=0,q0=0

Calculq1=0,q0=1

Additionq1=1,q0=0

Finalq1=1,q0=1

[c=1]

/ Win, RAZ

[c=0 & b0=0] / decalage, incrementer

[c=0 & b0=1] / Waccu, incrementer

/ decalage

000001111--

010001001--

000001111

000001101

101000110

1100010

10

00

000111000--

IncrDécWaccuRazW inq0+q1

+q0q1b0c

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-88

Équations logiques

♦ Ces fonctions logiques peuvent être réalisées simplement avec des réseaux logiques programmables (RLP)

10 qqRAZW in•==

010 qqbcW accu•••=

01 qqcrIncrémente ••=accuWq =+

0

010101 )( qqbcqqq ••++•=+

01010 qqqqbcDécalage •+•••=

Page 23: Cours du 29 septembre 2006 Structure du cours Architecture ...deptinfo.unice.fr/~fmallet/archi/Cours1_2.pdf · 2006/2007 Architecture des Ordinateurs - Licence Informatique L3 Frédéric

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-89

Réseau Logique Programmable

♦ 3 cas de “programmation”� Les 2 matrices sont figées

• ROM = Mémoire morte

� Matrice OU figée• PAL = Programmable Array Logic

� Les 2 matrices sont programmables

• PLA = Programmable Logic Array

Matrice portes ET

Matrice portes OU

n

p

m

entrées

produits

sorties

2006/2007 Architecture des Ordinateurs - Licence Informatique L3Frédéric Mallet

1-90

Application au multiplieur

♦ marquer les intersections pour programmer le PLA

b0

c

q0

q1

Matrice OU

MatriceET

Win = RAZ

10 qq •

10 qq •

Décalage

10 qq •

010 qqcb •••

100 qqcb •••

01 qqc ••

100 qqb ••

+= 0qWaccu

10 qqRAZW in•==

010 qqbcW accu•••=

01 qqcrIncrémente ••=accuWq =+

0

010101 )( qqbcqqq ••++•=+

01010 qqqqbcDécalage •+•••=

+1q

Incrémenter