Вы находитесь на странице: 1из 20

Architecture des Systmes Programms

(6 confrences)

Architectures CISC et VLIW : J.Weiss

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

Architectures RISC et DSP

: 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)

CISC : Complex Instruction Set Computer


Processeur possdant un jeu dinstructions fourni de longueur et de temps dexcution variables.

VLIW : Very Long Instruction Word


Processeur possdant un jeu dinstructions encore plus fourni que le cas du CISC (longueur et temps dexcution variables).

RISC : Reduced Instruction Set Computer


Processeur possdant un jeu dinstructions rduit de longueur et de temps dexcution fixes
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 2

Page 1

Microprocesseurs dusage gnral architecture CISC


Architecture de base des microprocesseurs
Historique de linformatique et des Microprocesseurs ALU, Registres Composants priphriques

Microprocesseurs et Microcontrleurs 8 bits Microprocesseurs 16 bits


Gestion de mmoire virtuelle, caches

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

50 ans dhistoire de lindustrie informatique


Invention du ENIAC : 1er ordinateur circuit intgr 1er Ordinateur IBM (Kilby et Noyce) 1947 1955 1958-59 Fondation dIntel 1968 Fondation de Microsoft 1975 IBM-PC 1981 486 1989 Pentium II 1997

1948 Mise au point du transistor

1957 Fondation de Fairchild SC

1963

1971

1977 Apple II

1985 386

1993 Pentium

2000 Pentium 4

Mini-ordinateur 1er P DEC 1re EPROM Intel

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

Page 2

tat de linformatique en 1968


1948 : 1er ordinateur : ENIAC (30 tonnes 85 m3)
(Electronic Numerical Integrator And Computer)

1968 : 30.000 ordinateurs dans le monde : Mainframes (plusieurs pices) Mini-ordinateurs (taille dun rfrigrateur)

Programmation : Cartes et bandes perfores

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

Historique des Microprocesseurs CISC


2,3 kT

1,2 MT 5,5 MT 42 MT 580 MT 1900 MT

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

Microprocesseurs dusage gnral : Introduction ; J. Weiss

Page 3

Cration dIntel : les Fairchildren


Bob Noyce : Fondateur
Invention du circuit intgr en 1959 Fondateur et ex dirigeant de Fairchild Semiconductor

Gordon Moore : Fondateur


Invention du circuit intgr en 1959 Fondateur et ex responsable R&D de Fairchild Semiconductor

Andy Grove : N4 dIntel


Docteur en Chimie Ex responsable de fabrication de Fairchild Semiconductor

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

Les dbuts dIntel


1969 : mmoires SRAM 64 bits (bipolaire) 1970 : conception du premier microprocesseur : 4004 pour Busicom (Japon) : Technologie MOS 10 m 3,17*4,23 mm 1971 : Commercialisation du premier microprocesseur : 4004

2300 T

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

Page 4

Succs dun produit


Le succs dun produit est li : Diffusion : Microinformatique (x86) Marchs militaires (Z80.000) Marchs captifs (Rockwell, Comodore)

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

Technologie des microprocesseurs


Loi de Moore
Pentium 4 100 M

Nombre de transistors

Pentium II 10 M 486 1M 286 100 k 10 k 8080 8086 4004 386 Pentium

1k 1970

1975

1980

1985

1990

1995

2000

Temps

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

10

Page 5

Technologie des microprocesseurs


Loi de Moore

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

11

Technologies Silicium
Evolutions de la Puissance consomme
100000 Puissance (Watts) 10000 1000 100 10 Pentium Dual-Core

286 486 8086 386 8085 8080 8008 1 4004

0.1 1971 1974 1978 1985 1992 2000 2004 2008 Anne

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

12

Page 6

Technologie des ordinateurs


Loi de Machrone
La machine dont on a besoin cote toujours $5.000 1983 : IBM-PC/XT : ~2.000 1987 : IBM-PC/AT : ~ 2.000 1991 : IBM-PC/486 : ~ 2.000 1997 : IBM-PC/PII : ~ 2.000 2001 : IBM-PC/PIII : ~ 2.000 2008 : PC Quad-Core : ~ 2.000

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

13

March des microprocesseurs


4 bits 8 bits 16 bits 32 bits 64 bits
Calculatrices Jeux vido systmes Systmes programms Microcontrleurs (carte puce) Systmes embarqus (ABS, Injection) Micro-ordinateurs Stations de travail, PlayStation

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

14

Page 7

March des processeurs

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

15

Systme programm
CPU Unit de commande

Registres
bus Unit dentre dentre bus dadresses bus de

ALU

sortie bus de donnes

Unit de sortie

Mmoire

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

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

lments de base dun processeur


Partie Oprative
ALU : Oprateur arithmtique et logique
Cur du processeur, il est associ un dcaleur

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

Microprocesseurs dusage gnral : Introduction ; J. Weiss

19

Double-bus
Bus de donnes (entre)
Accumulateur

Status

ALU

Bus de donnes (sortie)


septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 20

Page 10

Triple-bus
Bus de donnes (entres 1 & 2))

A
Status

ALU

Bus de donnes (sortie)


septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 21

Architecture dP 8 bits
bus de donnes 8

Registres 16 bits (adresses)

Accumulateur

PC SP IX
16 N H V Z C

ALU
Dcaleur

bus dadresses

Registres 8 bits (donnes)


septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 22

Page 11

Fonctionnement squenc
Microprocesseur Mmoire Code opratoire Dcodage Oprandes Excution Rsultat

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

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

Paramtre C Ncessite le traitement simultan de plusieurs instructions


- structures pipeline, - structures parallles, superscalaires

Paramtre T Amlioration de la technologie, rduction de la dure des oprations lmentaires


- structures Super-Pipeline
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 24

Page 12

Architecture des Processeurs


(Super-Scalaire)
Dans la recherche de performances de calcul maximales, il peut tre intressant dintgrer plusieurs units (N) arithmtiques en parallle ; ainsi, sous rserve de non-dpendance des donnes et des ressources, on peut envisager dexcuter N instructions simultanment.
Registres Registres

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

Exemple : Intel Pentium 4 : 20 niveaux de pipeline


septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 26

Page 13

Squencement des instructions


(Pipeline - Super-Pipeline)
Le squencement pipeline permet, dans un cas idal, dobtenir lexcution dune instruction/cycle mais il peut tre intressant de dcouper certaines phases pour pouvoir augmenter les frquences dhorloge ; on parlera alors de structures Super-Pipeline. 5 ns 5 ns
10 ns
Registre Registre Registre Registre Tampon

Oprateur arithmtique combinatoire


Fmax = 100 MHz

Oprateur arithmtique pipeline


Fmax = 200 MHz

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,

Load A Load B Add C

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

Microprocesseurs dusage gnral : Introduction ; J. Weiss

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

Phases dattente (Wait)


temps
8

Load Load Add Store

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

Sparation des mmoires programme et donnes


(architecture Havard)
29

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

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

Insertion dune instruction NOP

Load NOP Add Store

C M

A+B C

Branch X

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

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

Insertion dune instruction NOP

Add Store

Branch X NOP X : Instruction suivante

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

Mise en uvre des structures acclratrices


Pour profiter pleinement des structures superscalaires et pipeline, cest dire sans temps dattente (Wait ou NOP), lidal est dordonner correctement les instructions (Instruction Scheduling) ; ceci peut tre fait par : Le logiciel : un compilateur performant devrait tre capable doptimiser lagencement des instructions en fonction des ressources matrielles ; ceci nest hlas pas toujours possible (varits de processeurs et d environnements, systme dexploitation, ) Le matriel : sur la puce, un systme de contrle peut rorganiser les instructions en fonction des disponibilits du moment (excution dans le dsordre ou Out-Of-Order) ; le principe est efficace mais ne peut fonctionner que sur un faible nombre dinstructions.
septembre 09 Microprocesseurs dusage gnral : Introduction ; J. Weiss 33

Organigramme simplifi
Mise en route

Reset
Initialisation

Arrt Accs direct la mmoire Interruption non masquable Interruption masquable Traitement de linstruction
septembre 09

Halt ?
non

oui Halt oui DMA oui

DMA ?
non

NMI ?
non

INT ?
non non

oui oui

Accept ?

Fetch Execute

Sauvegarde Saut

Microprocesseurs dusage gnral : Introduction ; J. Weiss

34

Page 17

Fonctionnement sous interruption


Principe
Principe : drouter un programme la demande dun organe priphrique
Programme principal

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

Microprocesseurs dusage gnral : Introduction ; J. Weiss

35

Hirarchisation des interruptions

P rogramme principal

S/ IT 3 P S/ IT 2 P

S/ IT 1 P

It1
It3

It2

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

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

Microprocesseurs dusage gnral : Introduction ; J. Weiss

37

Fonctionnement sous interruption


Contexte
En cas de demande dinterruption :
Doit-on en tenir compte ? ........notion de masquage Qui la provoque ? .................identification (N de ligne ou vecteur) Qui est prioritaire en cas de demande multiple? Que doit-on sauvegarder ?

2 types dinterruption :
Matrielle Logicielle

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

38

Page 19

Fonctionnement sous interruption


Modes
NMI (Non Maskable Interrupt): Sauvegarde du contexte et saut une adresse fixe INT(Maskable Interrupt) : plusieurs modes :
Mode 1 : comparable NMI Mode 2 : sauvegarde du contexte et attente de ladresse de saut sur le bus de donnes Mode 3 : sauvegarde du contexte et attente dun vecteur sur le bus de donnes permettant de dfinir ladresse de saut

septembre 09

Microprocesseurs dusage gnral : Introduction ; J. Weiss

39

Page 20

Вам также может понравиться