You are on page 1of 47

Universit Nancy 2 - UFR Math/Info

Connaissance des PC
Partie II : Architecture des processeurs

Yannick CHEVALIER
anne 2002/2003

DEUST Double Comptence

Remerciements
Antoine Tabbone Huguette Georges Gilles Simon (qui a ralis la majeure partie de ce document)

Bibliographie
Organisation et Conception des Ordinateurs, lInterface Matriel/Logiciel. David Patterson et John Hennessy. Dunod. Le nouveau guide du PC. Composants, Priphriques, Logiciels. Jack Steiner. OSMAN EYROLLES MULTIMEDIA.

Plan de la partie architecture des processeurs


Rappel : dfinition dun systme informatique
Introduction la logique combinatoire Architecture dun micro-ordinateur

Plan de la partie II

Rappel : dfinition dun systme informatique


Introduction la logique combinatoire Architecture dun micro-ordinateur

Systme informatique

Un systme informatique est une machine qui traite une information

Linformation
Linformation est une grandeur qui doit tre numrise et code pour pouvoir tre traite par la machine informatique information : signe, message ou ensemble de connaissances. Caractre immatriel. Ne pas confondre information et sa reprsentation, son support et son codage.
6

Le traitement
Excution dun programme constitu dune suite organise dinstructions Ce programme peut tre crit dans des langages divers, symboliques ou non, et de diffrents niveaux exemple dun programme qui additionne la valeur 1 une variable en mmoire, sauvegarde le rsultat en mmoire et laffiche

En langage symbolique de haut niveau (C, Pascal, Fortran)


var1 = var2+1 var1 := var2+1

en C ou Fortran en Pascal en C en Pascal

printf("Rsultat = %d",var1) writeln(Rsultat = ,var1) write (1,200) var1

Chaque ligne reprsente une instruction dans un langage dit volu ou haut niveau et qui est un langage symbolique proche de langlais
8

En langage symbolique bas-niveau (langage dassemblage)


En assembleur 6809 MOTOROLA :
LDA var2 ADDA # 1 STA var1 JSR impression (impression identifie un sous programme) En assembleur 80x86 INTEL : MOV AX, var2 ADD AX, 1 MOV var1, AX CALL impression

Chaque ligne reprsente une instruction dans un langage dassemblage propre au circuit lectronique du systme informatique utilis. Ce langage dit de bas niveau est encore un langage symbolique proche de langlais.

En langage machine
Circuit 6809 MOTOROLA :
1011 1011 1011 1011 0110 1011 0110 0011 0010 0000 0010 0000 0000 0000 0000 0001 0000 0000 0001 0000 0000 0000

Chaque ligne correspond une instruction en langage machine 6809, donc comprhensible et excutable uniquement par cette machine. Langage binaire donc non symbolique. Chaque instruction en langage machine correspond une opration lmentaire du microprocesseur considr.

10

Seul le langage machine est excutable et uniquement par la machine correspondante


Les langages symboliques de haut ou de bas niveau ne sont pas excutables Pour quun programme crit en langage dassemblage devienne excutable, il faut le traduire dans le langage machine du microprocesseur utilis pour son excution
assembleur : traduit le langage dassemblage dun microprocesseur dans le langage machine de ce mme processeur cross-assembleur : traduit le langage dassemblage d un microprocesseur dans le langage machine d un autre processeur
11

A chaque instruction en langage dassemblage correspond une instruction en langage machine (=opration lmentaire du microprocesseur). Il en rsulte que :
lassembleur nest jamais un logiciel trs encombrant le langage d assemblage est le langage symbolique le plus proche de la machine

Pour quun programme crit en langage volu devienne excutable, il faut le traduire dans le langage machine du microprocesseur du systme informatique utilise a son excution (compilateur) Un langage volu est un langage puissant : une instruction en langage volu sera traduite par le compilateur laide de plusieurs instructions machine un compilateur est un logiciel de taille plus importante quun assembleur

12

Programme en langage volu 1 Programme en langage d assemblage du processeur A Programme en langage d assemblage du processeur B

Couche logicielle utilisateur

Assembleur pour processeur A Couche logicielle systme

Compilateur langage volu 1 pour processeur A

Langage machine

Crossassembleur processeur B vers processeur A

processeur A

13

Cas des x86 : Le microcode

Les diffrentes sortes de x86


Daprs ce qui a t dit, il faudrait acheter plusieurs CD dinstallation de Windows si on veut utiliser un pentium III, un pentium IV, et un Athlon ; il faudrait aussi acheter diffrentes versions de MacOS X selon le processeur quon utilise.

Conclusion :
Il existe un mcanisme qui permet de passer dun processeur un autre !
15

Problmatique
On veut :
pouvoir utiliser un langage machine sur diffrents processeurs de manire transparente ; que ces processeurs puissent etre construit indpendamment par diffrentes entreprises ; que le langage machine utilis permette dutiliser toutes les ressources dun processeur.
Langage machine commun

Processeur, diffrent dune machine lautre 16

Solution : une couche supplmentaire


La solution a t propose par IBM dans les annes 60 les processeurs nexcutent plus directement le langage machine, ils le dcodent avant de lexcuter :
on dfinit les instructions une fois pour toutes ; chaque processeur se charge de traduire les instructions du langage machine vers son micro-code.

Langage machine
Dcodage du langage machine

Micro-code du processeur
17

Les processeurs compatibles


Aujourdhui : Un processeur est compatible avec ceux dIntel si il reconnat le meme ensemble dinstruction ; Demain : Il existe des processeurs qui peuvent changer lensemble des instructions quils reconnaissent, mais ils sont rares ; Il existe aussi des processeurs qui utilisent cette phase de traduction pour rendre les programmes plus efficaces ;
18

Ce que peut excuter un microprocesseur


Un microprocesseur est capable d'excuter des instructions (en langage machine/microcode) :
arithmtiques : +, -, *, parfois / logiques : ET, OU, OU exclusif, ngation, les dcalages, les rotations de prises de dcision en fonction du rsultat dun traitement prcdent

Le jeu dinstructions qui en rsulte est donc restreint et pourtant il permet de tout faire
19

Plan Architecture des processeurs

Dfinition dun systme informatique

Introduction la logique combinatoire


Architecture dun micro-ordinateur

20

Logique combinatoire

Cf. cours + TD tableau

21

Plan Architecture des processeurs

Dfinition dun systme informatique Introduction la logique combinatoire

Architecture dun micro-ordinateur

22

Gnralits
Seul, le micro-processeur ne peut fonctionner. Il faut aussi :
de la mmoire pour stocker le programme excuter + les rsultats intermdiaires des dispositifs dentre fournissant linfo traiter (donne) des dispositifs de sortie pour sortir les commandes vers l'extrieur du systme

23

Schma gnral
CARTE MERE Horloge
Mmoire lecture seule ROM Mmoire lecture-criture RAM

Microprocesseur

BA BD BC Interface dE/S Interface de sortie Interface d'entre

Terminal

Imprimante
24

Souris

La mmoire
Organise en mots (octets) de format identique, reprs par leur adresse
Adresse Mmoire 2000H mot 1 mot 2 mot 3 mot k mot k+1 mot k+2
25

2xxxH

La mmoire
ROM (Read Only Memory) programme par le fabriquant
(PROM programmable une fois par lutilisateur, EPROM reprogrammable)

RAM (Random Access Memory) lecture-criture mais volatile, stockage des donnes provisoires

26

Les bus
Un bus, cest :
Le regroupement de n lignes (fils) permettant lenvoi en parallle dun mot de n bits entre deux composants 1 et 2

Composant 1

Composant 2

27

Le bus dadresse (BA)


Relie le microprocesseur tout circuit adressable (mmoire, interfaces d'entre/sortie ...) Unidirectionnel
Ex : - un microprocesseur 8 bits comporte 16 bits dadresse 65536 @ - un microprocesseur 16 bits comporte 20 bits dadresse 1024000 @

Microprocesseur

BA

16(20...)
Circuit (mmoire, E/S ...)

28

Le bus de donnes (BD)


Transmet les donnes entre le microprocesseur et le circuit adress Bidirectionnel
Un systme 8 bits (16, 32,64 ...) possde un BD 8 bits (16, 32, 64 ...) = taille de linfo que le processeur peut traiter en une opration lmentaire

Microprocesseur

BD

8(16...)
Circuit (mmoire, E/S ...)

29

Le bus de contrle (BC)


Ensemble de lignes transmettant des signaux permettant le fonctionnement du microprocesseur, des circuits mmoire, des circuit dinterface ...
Ex : - R/W (processeur circuit) : sens de transmission du bus de donne - INT (circuit processeur) : interruption

R/W
Microprocesseur

BC

Circuit (mmoire, E/S ...)

INT
30

Le circuit dhorloge
Fournit des signaux priodiques de 1 a X000 MHz destins squencer le travail du processeur dfinit les cycles de base Ex : crire la donne 26H ladresse 3540H
le processeur compose la valeur 3540H sur le bus d adresse met la ligne R/W 0 met la valeur 26H sur le bus de donne

31

Les circuits dinterface dE/S


Permettent au processeur de dialoguer avec l'extrieur
Priphrique de sortie Priphrique de sortie Priphrique d'entre

Interface //

Interface srie

Priphrique d'entre

Interface parallle : rapide


convenable sur quelques mtres
32

Interface srie : lent


convenable sur environ 25 m

Schma gnral
CARTE MERE Horloge
Mmoire lecture seule ROM Mmoire lecture-criture RAM

Microprocesseur

BA BD BC Interface dE/S Interface de sortie Interface d'entre

Terminal

Imprimante
33

Souris

Le microprocesseur
En entre :
1) Il dispose d une adresse dans la mmoire ; 2) Il charge le contenu de cette adresse et le considre comme tant une instruction ; 3) Ensuite, il charge le contenu de l adresse suivante, et il recommence.

Mmoire contenant le Adresse programme 2000H I1 I2 I3

En sortie :
1) Il donne le rsultat de la premire instruction ; 2) Il donne le rsultat de la deuxime instruction ; 3) ... 2xxxH
34

Ik
Ik+1 Ik+2

Structure interne
Microprocesseur
UNITE DE TRAITEMENT UNITE DE CONTROLE Interface de donnes

BD

Interface de controle

Interface dadresse

BA

35

BC

Etape 0 : un registre appel Compteur Ordinal contient ladresse de la premire instruction excuter Microprocesseur
UNITE DE TRAITEMENT UNITE DE CONTROLE Interface de donnes

BD

Compteur ordinal

Interface de controle

Interface dadresse

BA

36

BC

Etape 1 : la lecture de linstruction I1 consiste transfrer le contenu de la mmoire correspondante dans le registre dinstructions Microprocesseur
UNITE DE TRAITEMENT UNITE DE CONTROLE Interface de donnes

BD interne

BD

Registre dinstruction

Compteur ordinal

Interface de controle

Interface dadresse

BA

37

BC

Etape 2 : lanalyse (dcodage) du premier octet permet au microprocesseur de connatre le nombre doctets que comporte linstruction ainsi que lopration lmentaire a excuter Microprocesseur
UNITE DE TRAITEMENT UNITE DE CONTROLE Interface de donnes

BD interne

BD

Registre dinstruction

Dcodeur de fonctions

Compteur ordinal

Interface de controle

Interface dadresse

BA

38

BC

Etape 3 : le microprocesseur effectue le traitement correspondant (unit de traitement) Microprocesseur


UNITE DE TRAITEMENT UNITE DE CONTROLE Interface de donnes

BD interne
Registre d'tat

BD

Accu A

Registre dinstruction

Accu B

Dcodeur de fonctions

UAL
Interface de controle

Compteur ordinal

Interface dadresse

BA

39

BC

L'unit de traitement
BD interne
Registre d'tat

LUAL (Unit Arithmtique et Logique) deux registres de travail contenant une donne ou un rsultat : accumulateurs A et B un registre d'tat comportant des indicateurs mmorisant la faon dont sest effectue lopration lmentaire (ex : retenue C, zro Z)
40

Accu A

Accu B

UAL

Les performances d un micro-processeur


Elles dpendent bien sr de la vitesse de l horloge de l ordinateur ; Mais elles dpendent aussi :
1. 2. du pipeline ; du cache.

Ce sont ces deux derniers critres les plus importants !


41

Note sur le pipeline (1)

42

Avantages et inconvnients
Avantages : On excute des instructions en mme temps ; On divise le temps entre deux rsultats d instructions Inconvnient : Ca ne marche qu avec des instructions simples ; Problmes lors dune boucle

43

Problme lors d une boucle


On part dun programme avec les instructions L1L2-L3-L4-L5-L6-L7, et supposons que le rsultat de L4 oblige recommencer en L1 ; Question : que fait le pipeline ? Conclusion : La vitesse dun ordinateur dpend aussi de la manire dont va tre gr le pipeline.
44

Le cache
Laccs la mmoire vive est lent, et celui au disque est encore plus lent ; Pour viter d accder la mmoire vive (RAM) ou au disque dur, on utilise un cache.
Le cache est de la mmoire trs rapide situe ct de l unit de traitement du processeur. Cest de la mmoire lintrieur du processeur.

45

Comment a marche ?
Lors dun appel la mmoire : ladresse appele est intercepte sur le bus dadresses (mais continue son chemin) ; on regarde si cette adresse est stocke quelque part dans le cache ; si oui, on nattend pas le retour du contenu de la mmoire, on envoie le contenu du cache. Si non, il faut attendre.

46

Avantage et inconvnients

Avantage : La mmoire cache permet au processeur de ne pas etre ralenti par la mmoire extrieure (RAM, disque dur,)

Inconvnients :
La mmoire cache est chre, et elle occupe de la place sur le micro-processeur.

47

You might also like