architecture et technologie des ordinateurs ii gianluca tempesti epfl-di-lsl, inn 235 tel: 693 2676...

24
Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: [email protected] Web: lslwww.epfl.ch/~tempesti/CoursUNIL.h tm

Upload: malgier-savary

Post on 04-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Architecture et technologiedes ordinateurs II

Gianluca TempestiEPFL-DI-LSL, INN 235

Tel: 693 2676E-Mail: [email protected]

Web: lslwww.epfl.ch/~tempesti/CoursUNIL.htm

Page 2: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

BibliographieJohn P. Hayes, Computer Architecture and Organization, McGraw-Hill, 3rd ed., 1998.

David A. Patterson and John L. Hennessy, Computer Architecture : A Quantitative Approach, Morgan Kaufmann, 2nd Ed., 1996.

David A. Patterson and John L. Hennessy, Computer Organization and Design : The Hardware/Software Interface, Morgan Kaufmann, 2nd ed., 1997.

David A. Patterson and John L. Hennessy, Architecture des ordinateurs: une approche quantitative, Thomson Publishing, 2ème ed., 1996.

Page 3: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Programme détaillé Semaine 1: Introduction

Historique Prix vs. performance Niveaux de conception

Semaine 2: Arithmétique I Virgule fixe et flottante Addition et soustraction

Semaine 3: Arithmétique II

Multiplication et division Unité de traitement

Semaine 4: Contrôle Unité de contrôle Programmes

Semaine 5: Instructions Jeux d’instructions Décodage Séquencement Modes d’adressage

Semaine 6: Processeurs Microprogrammation Types de processeur

Page 4: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Programme détaillé Semaine 7: Procédures

Gestion des procédures Gestion des interruptions

Semaine 8: Mémoires I RAM Mémoire virtuelle

Semaine 9: Mémoires II Mémoire cache Mémoires associatives

Semaine 10: Périphériques Gestion du bus système Gestion des périphériques

Semaine 11: Petite pause

Semaine 12: Pipelining Fonctionnement Aléas des pipelines Prédiction de branchement

Semaine 13: Parallélisme des instructions I Ordonnancement dynamique Lancement multiple Compilation

Semaine 14: Parallélisme des instructions II Architectures avancées

Page 5: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Historique I - Époque méchanique

Blaise Pascal - 1642 - Addition et soustraction Retenue automatique, complément

Gottfried Leibniz - 1671 - Multiplication et division Additions successives

Charles Babbage 1823 - Difference engine - addition

Séquence d’instructions

1834 - Analytical engine - toute opération Contrôle de séquence (programme), ALU et mémoire

Page 6: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Historique II - Calcul Calcul : Z=f(X)

Turing machine - 1936

Instructions: read, write, move, halt Machine “universelle”

HH

Processor P

Read/Write Head

Memory Tape T

Page 7: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Historique III - Deuxième guerre Ordinateurs éléctroméchaniques

Konrad Zuse - Z3 (1941) - nombres binaires, flottants ??? - Colossus (1943/1970) - décodage Howard Aiken - Harvard Mark I (1944)

Ordinateurs éléctroniques Mauchly & Eckert - ENIAC (1946)

Programmation manuelle, base 10

Wilkes - EDSAC (1949) Programme embarqué, base 2

Von Neumann, Mauchly & Eckert - EDVAC (1951) Rapport Burks, Goldstine et Von Neumann (1946)

Page 8: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Historique IV - Générations

Dates

1950-1959

1960-1968

1969-1977

1977-????

????-????

1

2

3

4

5

Technologie

Tubes à vide

Transistors

Circuits intégrés

VLSI

????

Produits

Ordinateurs électroniques

Ordinateurs commerciaux

Miniordinateurs

PC et stations de travaille

????

Page 9: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Historique V - Générations

Date

1951

1964

1965

1976

1981

1991

1996

Produit

UNIVAC I

IBM S/360

PDP-8

Cray-1

IBM PC

HP9000

PPro 200

Taille (ft3)

1000

60

8

58

1

2

2

Puissance (W)

124500

10000

500

60000

150

500

500

Add/sec

1900

500K

330K

166M

240K

50M

400M

Prix (1996)

$5M

$4M

$66K

$8.5M

$4K

$8K

$4.5K

Page 10: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Performance Temps d’exécution et bande passante

Coups d’horloge et instructions

Performance = 1

Temps d’exécution

Temps d’exécution (CPU) =Fréquence d’horloge

# coups d’horloge pour le programme

# coups d’horloge pour le programme =

# instructions # coups d’horloge moyen par

instruction

Page 11: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Améliorations et accélération

La loi d’Amdahl

Performance - Loi d’Amdahl

Accélération (speedup) =Temps d’exécution après amélioration

Temps d’exécution avant amélioration

Temps d’exécution après amélioration =

Amélioration

Temps d’exécution concerné+ Temps d’exécution non concerné

Page 12: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Performance - Mesures

MIPS et FLOPS

Fréquence d’horloge

Performance de pointe (peak)

Benchmarks Répartition des instructions Taille Localité des références (spatiale et/ou temporelle) SPEC

Page 13: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Coûts

Coût du circuit intégré =

Rendement après le test final

Coût de la puce + Coût du test + Coût de la mise en boîtier

Coût d’une puce =Puces par tranche x Rendement des puces

Coût de la tranche (wafer)

Coût de fabrication

Coût des composants = 25-30% du prix de vente

Page 14: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Codage binaire

TRANSITORS

C

C=0

C=1BA

BA

BA

C

C=0

C=1BA

BA

BA IN OUT 0 1 1 0

IN=1 OUT=0

Vcc

GND

INVERSEUR

Dans les systèmes numériques, toute information est codée en binaire

Codage en base 2:

N = pn2n + … + p222 + p121 + p020

par exemple:

10110 = 1x24 + 0x23 + 1x22 + 1x21 + 0x20 = 16 + 4 + 2 = 22

mais aussi:

10110 = add R1, R2

Page 15: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Logique combinatoire I

AB

2-INPUTAND GATE

O

A B O 0 0 0 0 1 0 1 0 0 1 1 1

2-INPUTOR GATE

I O

INVERTER

I O

0 1 1 0

4-INPUTMULTIPLEXER

Portes logiques

Algèbre booléenne

Minimisation (tables de Karnaugh)

AB O

A B O 0 0 0 0 1 1 1 0 1 1 1 1 S0 S1 O

0 0 A 0 1 B 1 0 C 1 1 D

AB OCDS0S1

Page 16: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Logique combinatoire III

A B

MS

2F

M S1 S0 F0 0 0 A0 0 1 A•B0 1 0 A0 1 1 A+B1 0 0 A-11 0 1 A+B1 1 0 A-B1 1 1 A+1

logique

arithmétique

Unité arithmétique et logique (ALU)

Page 17: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Verrou (latch)

Bascule (flip-flop)

Logique séquentielle I

D

LD

Q0

1Q

D

LD

Q

Q

D: entrée d’excitationLD: entrée de contrôleQ: sortie ou état du latch

D

CKQ

Q

LD LD

DD

Q Q

QQmaître esclave

D

CK

Q

Q

Page 18: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Logique séquentielle II

X1X2/Z

10/1

10/1

00/000/0

00/1

00/1

01/1

01/1

11/1

11/1

10/0

10/0

11/011/0

01/0

01/0

étatprésentétat

futur

ƒ bascules

CK

n

Machine d’état

a0001

b0010

c0100

d1000

Page 19: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Logique séquentielle III

push pop

sommet

L

CK

D3 D2 D1 D0

Q3 Q2 Q1 Q0

Registre Registre à décalage

CK

Pile (stack)

DIR

CK Q3 Q2 Q1 Q0

Compteur

S0CK

D3 D2 D1 D0

Q3 Q2 Q1 Q0

D3 D0S1

Page 20: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Niveau registre

Unité d’information: mot (2N bits)

Composants de base: multiplexeurs, décodeurs, additionneurs, ALUs, registres, registres à décalage, compteurs, etc.

Pas de méthode formelle pour les optimisations et les simplifications.

L’algèbre booléenne peut être adaptée, mais ne suffit pas (opérations numériques).

Page 21: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Niveau processeur (CPU) Unités d’information: blocs d’instructions, blocs de

données.

Composants de base: mémoire cache, datapath, décodeur, bancs de registres, unité flottante.

RegistresRegistres

Unité deTraitement

Unité deTraitement

UnitéFlottante

Unité deContrôle

Unité deContrôle

Décodeur

PC

ALU

CPU CacheDonnées

CacheInstructions

Page 22: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Unités d’information: programme, structures de données.

Composants de base: mémoire, CPU, I/O, bus système

I/Os “standard”: cartes SCSI et/ou IDE, clavier, souri, haut-parleurs, etc.

La vitesse du bus système devient le facteur prédominant pour la performance d’un ordinateur.

Niveau système

MÉMOIREMÉMOIRE CPUCPUIOIO

• • • • •IOIO IOIO

BUS SYSTÈME

Page 23: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Von Neumann

Harvard

Von Neumann vs. Harvard

MÉMOIREMÉMOIRE CPUCPUIOIO

• • • • •IOIO IOIO

BUS SYSTÈME

MÉMOIREDONNÉES

MÉMOIREDONNÉES CPUCPU IOIO • • • • •IOIO IOIO

BUS DONNÉES

BUS INSTRUCTIONS

MÉMOIREINSTR

MÉMOIREINSTR

Page 24: Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm

Architecture Von Neumann

Architecture Harvard

Architecture Harvard “réelle”

Hiérarchie des mémoires

Mémoirecache

(niveau 1)

Mémoirenon-volatile(disque dur)

Mémoirevolatile(RAM)

Mémoirecache

(niveau 2)

RegistresCPU

(niveau 0)

Mémoirevolatile

instructions

Cache instructions(niveau 1)Mémoire

non-volatile(disque dur)

Cacheinstructions(niveau 2)

Cachedonnées

(niveau 1)

Mémoirevolatiledonnées

Cachedonnées

(niveau 2)

RegistresCPU

(niveau 0)

Cacheinstructions(niveau 1)Mémoire

non-volatile(disque dur)

Mémoirevolatile(RAM)

Mémoirecache

(niveau 2) Cachedonnées

(niveau 1)

RegistresCPU

(niveau 0)