Академический Документы
Профессиональный Документы
Культура Документы
(6 confrences)
4 confrences
Microprocesseurs 8, 16 et 32 bits dusage gnral (8080, ..., Pentium 4) Microcontrleurs 8 et 16 bits (68hc11, 8051 et PIC) Nouvelles architectures (Itanium, IA64 et TransMeta) Processeurs graphiques (GPU) Mmoires
: P. Leray
2 confrences
Processeurs RISC (PowerPC, Alpha, ...) DSP (TMS320, 56000, ...) Bus de communications
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 1
Architectures
ZISC : Zero Instruction Set Computer
Autrement dit : Processeur Cbl (et donc PAS programm)
Page 1
Microprocesseurs 32 bits
1re Gnration : 80386, 68020 2me Gnration : Pentium 3me Gnration : Pentium Pro, Pentium II 4me Gnration : Pentium 4, TransMeta
Microprocesseurs 64 bits
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 3
1963
1971
1977 Apple II
1985 386
1993 Pentium
2000 Pentium 4
septembre 09
Page 2
1968 : 30.000 ordinateurs dans le monde : Mainframes (plusieurs pices) Mini-ordinateurs (taille dun rfrigrateur)
septembre 09
1960 1964 1968 1971 1972 1973 1975 1976 1978 1979 1982 1983 1984 1987 1989 1993 1995 1997 2000 2007 2008
8 bits 8 bits 8 bits 16 bits 16 bits 16 bits 16 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 64 bits
Premiers CI SSI MSI LSI 1re G. 2me G. 3me G. 1re G. 1re G. 1re G. 2me G. 1re G. 1re G. 1re G. 2me G. 3me G. 3me G. 3me G. 4me G. 4me G. 2me G.
AND, OR Registres DRAM 1 kbits, P 4 bits (4004 dIntel) 8008 (Intel) 8080 (Intel), 6800 (Motorola) 8085 (Intel), 6809 (Motorola), Z80 (Zilog) TMS 9900 (Texas Instruments) 8086 (Intel) IBM-PC/XT 68000 (Motorola) MAC 80286 (Intel) IBM-PC/AT 32032 (National) 80386 (Intel), 68020 (Motorola) 68030 (Motorola) SUN3 80486 (Intel) Pentium (Intel) PentiumPro (Intel) Pentium II (Intel) Pentium 4 (Intel) Core 2 Quad (Intel) Itanium 2 dual core (Intel)
6
septembre 09
Page 3
septembre 09
2300 T
septembre 09
Page 4
Prix : existence de 2ndes Sources Environnement : existence de priphriques de systmes de dveloppement Arrive sur le march Notion de famille : x86, 680x0
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 9
Nombre de transistors
1k 1970
1975
1980
1985
1990
1995
2000
Temps
septembre 09
10
Page 5
septembre 09
11
Technologies Silicium
Evolutions de la Puissance consomme
100000 Puissance (Watts) 10000 1000 100 10 Pentium Dual-Core
0.1 1971 1974 1978 1985 1992 2000 2004 2008 Anne
septembre 09
12
Page 6
septembre 09
13
septembre 09
14
Page 7
septembre 09
15
Systme programm
CPU Unit de commande
Registres
bus Unit dentre dentre bus dadresses bus de
ALU
Unit de sortie
Mmoire
septembre 09
16
Page 8
Systme programm
Constitution
Processeur
Elment central du systme, il constitue les cur et est dfini par son jeu d'instructions et ses registres Cur
Mmoire
Mmoire centrale, en liaison avec le processeur, elle stocke les programmes et les donnes
Poumons
Priphriques et coupleurs
Permettent au systme de communiquer avec l'extrieur
Membres Artres
Bus
Pour la communication entre les diffrents lments du systme pour les adresses, les donnes et les signaux de contrle
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss
17
Registres Donnes
A : Accumulateur
Stocke les donnes intermdiaires
B, C, ... : Registres
lments de stockage adressage implicite
Registres Adresses
PC : Compteur Ordinal
Sert pointer sur la prochaine instruction
SP : Pointeur de Pile
Sert pointer sur le sommet de la pile
IX : Registre dindex
Sert indexer un segment mmoire
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 18
Page 9
Mono-Bus
Bus de donnes
Accumulateur
Status
ALU
Registres internes
septembre 09
19
Double-bus
Bus de donnes (entre)
Accumulateur
Status
ALU
Page 10
Triple-bus
Bus de donnes (entres 1 & 2))
A
Status
ALU
Architecture dP 8 bits
bus de donnes 8
Accumulateur
PC SP IX
16 N H V Z C
ALU
Dcaleur
bus dadresses
Page 11
Fonctionnement squenc
Microprocesseur Mmoire Code opratoire Dcodage Oprandes Excution Rsultat
septembre 09
23
Acclration
Performances dun processeur Temps par tche = I.C.T
I = nombre d'instructions/tche. C = nombre de cycles/instructions. T = temps de cycle. AMLIORATION DES PERFORMANCES Paramtre I Augmenter le jeu dinstructions du P ; instructions de + en + complexes
Architectures CISC et VLIW
Page 12
Scalaire
Super-Scalaire
Cest au dbut des annes 1990 que la technologie a permis lintgration de structures superscalaires ; les processeurs actuels comptent de 3 4 units de calcul entier et de 1 2 units de calcul flottant fonctionnant en parallle
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 25
Acclration
Squencement des instructions
Excution squentielle
Fetch Dcod Mem Exec Fetch Dcod
1 instruction/4 cycles
Mem Exec
Excution pipelined
Fetch Dcod Fetch Mem Dcod Fetch Exec Mem Dcod Fetch Exec Mem Dcod Exec Mem Exec
1 instruction/cycle
Page 13
Exemple : le Pentium 4 possde 20 niveaux de pipeline, ce qui permet dobtenir une frquence dhorloge suprieure 3 GHz.
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 27
Pipeline
Analyse de conflits dans le pipeline
Instructions load/store :
- I : Lecture et dcodage de l'instruction (Fetch), - E : Excution de l'instruction; calcul de l'adresse mmoire - T : Transfert de la donne.
Instructions registre-registre:
- I : Lecture et dcodage de l'instruction (Fetch), - E : Excution de l'instruction; opration arithmtique ou logique entre registres, - W : Mise jour des registres internes - rangement du rsultat.
Instructions de branchement :
- I : Lecture et dcodage de l'instruction (Fetch), - E : Excution de l'instruction; mise jour de l'adresse de l'instruction suivante,
M M
E T I E T I E W I E T I E temps 14
Excution squentielle
A+ B C
Store M BranchX
septembre 09
28
Page 14
Pipeline
Conflits de ressources
Accs simultans une mme ressource, par exemple la mmoire.
Load Load Add Store Branch A B C M X M M A+ B C I E I T E T I E I W E I T E
w ait w a it
A B C M
M M A+B C
E T I wait E T
I wait E W I E T I E temps 8
Branch X
septembre 09
Pipeline
Dpendances de donnes
Load Load A B M M I E I T E T
Add
A+B
Load
A B
M M
E I
T E I T E I E I W E I T E temps 7
C M
A+B C
Branch X
septembre 09
30
Page 15
Pipeline
Conflits de contrle
Lis aux instructions de branchement : ladresse de linstruction nest connue qu la fin de la phase dexcution de linstruction de branchement
Load Load NOP A B M M I E T I E T I C M A+ B C E I E W I E T I E I E I 7
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss
Add Store
E temps
31
Prdiction de Branchement
Les techniques dacclration des traitements (pipeline, superscalaire, utilisation des caches) ne fonctionnent bien que pour des excutions squentielles des instructions ; en cas de branchement (conditionnel, boucle, interruption), il faut remettre les pendules lheure (vidage des pipeline, mise jour des caches, ), ce qui peut tre trs long ! Ainsi, pour profiter de ces structures acclratrices, il faut tre capable de prdire le droulement du programme, ce qui nest pas chose aise. Techniques de Prdiction de Branchement : Statique : Aucune prdiction (ex. 80486) : 40 % de succs On prend tout : 60 % de succs Prdiction rtrograde (ex. PA RISC) : 65 % de succs Le compilateur positionne un bit (ex. RIDGE) : 75 % de succs Dynamique : mme comportement (ex. AMD-K5) : 80 % de succs Branch History Table (ex. PPC-604, Pentium) : > 85 % de succs
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 32
Page 16
Organigramme simplifi
Mise en route
Reset
Initialisation
Arrt Accs direct la mmoire Interruption non masquable Interruption masquable Traitement de linstruction
septembre 09
Halt ?
non
DMA ?
non
NMI ?
non
INT ?
non non
oui oui
Accept ?
Fetch Execute
Sauvegarde Saut
34
Page 17
INT
1 ppppppp 2 ppppppp Routine dinterruption 3 ppppppp Sauvegarde du contexte 4 ppppppp 1 iiiiiiiii 5 ppppppp 2 iiiiiiiii 6 ppppppp 3 iiiiiiiii 7 ppppppp 4 iiiiiiiii 8 ppppppp 5 iiiiiiiii 9 ppppppp 6 iiiiiiiii 10 ppppppp 11 ppppppp 12 ppppppp 13 ppppppp
septembre 09
35
P rogramme principal
S/ IT 3 P S/ IT 2 P
S/ IT 1 P
It1
It3
It2
septembre 09
36
Page 18
Interruptions : Rentrance
P rogramme principal
SP
S/ IT 1 P
I= 0
I= 0
It1
I= 3
CA L SP L
CA L SP L
I= 10!
I= 10
septembre 09
37
2 types dinterruption :
Matrielle Logicielle
septembre 09
38
Page 19
septembre 09
39
Page 20