Professional Documents
Culture Documents
Processeur
PLAN
Introduction Types Composition Fonctionnement Excution dune instruction Jeux dinstructions Pipeline
Introduction
Le microprocesseur est un circuit intgr complexe intgrant plusieurs fonctionnalits. Invent par Ted Hoff , le 4004 est commercialis par Intel en1971 o 2300 transistors o Effectue 60000 oprations par seconde
Aujourdhui: Plusieurs types de processeurs Plusieurs fabricants Grande varit de chaque type Caractristiques qui ont volu : Frquence, consommation, nombre de transistors, On parle de : Mips (Million of Instructions Per Second) Mflops (Million of Floating Operations per Second
Types
Loi de moore. Depuis quelques annes, la course la rapidit de la frquence d'horloge des processeurs s'essouffle : la loi de Moore qui s'est avre exacte jusqu'en 2004 est remise en cause. Elle prvoyait le doublement de la puissance des processeurs tous les deux ans grce l'augmentation consquente du nombre de transistors dans chaque chip. Mais cette concentration de composants bute aujourd'hui sur des phnomnes de dissipation thermique qui empchent un accroissement parallle de la frquence d'horloge. L'un des moyens de contournement de cette barrire physique rside alors dans la multiplication du nombre de curs du processeur (l'unit de calcul).
Composition
Le microprocesseur est compos, physiquement un bout de silicium dop, base de millions de transistors.
Compos de: Unit arithmtique et logique: effectue laction de linstruction Unit de commande:
Dirige le processeur Gnre les signaux Coordonne lexcution des instructions Registres: Mmoires internes au processeur Nombre dpend du processeur : Entre 10 et 100 voire plus ! Processeur performant Beaucoup de registres Taille dpend du processeur : Exprime en bits , Caractrise le processeur (Processeur 32 bits, 64 bits..).
Le registre dadresse dinstruction: Program counter PC: adresse (@)de la prochaine instruction excuter. Le registre dinstruction RI :contient le code de linstruction en cours. Le registre dtats: les flags: ensemble de boolens. Ce registre est trs diffrent suivant les processeurs, mais certains bits reviennent souvent :
divers bits utiliss lors d'oprations de comparaisons ou de tests qui servent donner le rsultat de celles-ci ; le bit d'overflow, qui prvient quand le rsultat d'une instruction est trop grand pour tenir dans un registre ; le bit null Z : prcise si le rsultat d'une instruction est nul (vaut zro) ; le bit de retenue C: utile pour la propagation dune retenue lors des additions ; le bit de signe, qui permet de dire si le rsultat d'une instruction est un nombres ngatif ou positif. Le Stack Pointer: registre stocke l'adresse du sommet de la pile, si le processeur en possde une pile. Registres entiers Registres flottants Registres de constantes: comme , pour faciliter le calcul 7 Registres dindex DI,SI
accumulateurs : utilisables pour tout et n'importe quoi. Ce sont des registres qui n'ont pas d'utilit particulire et qui peuvent stocker toute sorte dinformation code en binaire: adresses, entiers, flottants
Dans la ralit, nos processeurs utilisent souvent un espce de mlange entre les deux solutions. Gnralement, une bonne partie des registres du processeur sont des registres gnraux, part quelques registres spcialiss, accessibles seulement travers quelques instructions bien choisies.
Fonctionnement(1)
Lit instruction suivante: Bus Adresse registre PC Bus Commande Lire instruction Registre RI Bus Donne Incrmente compteur ordinal PC PC + taille(RI)
Dcode Instruction ex: Add A,(123) Registre A contenu du registre A + contenu @123.
Lit donnes (facultatif) Bus Adresse 123 Bus Commande lire donne Registre temporaire tmp Bus Donne Transfert donnes UAL UAL.1 contenu de A UAL.2 contenu de tmp UAL.RI addition
10
Fonctionnement(2)
UAL calcule opration: Activation de ladditionneur intgral le rsultat tmp UC range rsultat selon la destination mentionne dans linstruction: A tmp Recommence Lit & Excute instruction suivante Pas de repos pour un processeur
Rsum
1. Lit instruction suivante 2. Avance compteur Ordinal 3. Dcode Instruction 4. Lit donnes (facultatif) 5. Fournit Donnes UAL 6. Excute Instruction 7. Range rsultat Et recommence (UC) (UC) (UC) (UC) (UC) (UAL) (UC)
11
Jeu dinstructions
Le jeu dinstructions est lensemble des oprations lmentaires quun processeur peut accomplir.
Jeu dinstructions
CISC + programmation de plus haut niveau + programmation plus compacte (criture plus rapide et plus lgante des applications) + moins doccupation en mmoire et lexcution - complexie le processeur - taille des instructions leve et variable : pas de structure xe - excution des instructions : complexe et peu performante. RISC + instructions de format standard + traitement plus efcace + possibilit de pipeline plus efcace - programmes plus volumineux - compilation plus complique
13
Certes, les instructions stocks en mmoire sont reprsentes en binaire, comme par exemple:
Instruction
Ne rien faire durant un cycle d'horloge : NOP Mise en veille : HALT Addition : ADD criture en mmoire : STORE
Valeur Binaire
1001 0000 0110 1111 0000 0000, ou 0000 0001, ou 1000 0000, etc... 1111 1100, ou 1111 1101, ou 1111 1110, etc...
La suite de bits de notre instruction contient au moins une portion qui permet d'identifier l'instruction en question. Cette partie permet ainsi de dire s'il s'agit d'une instruction d'addition, de soustraction, d'un branchement inconditionnel, d'un appel de fonction, d'une lecture en mmoire, etc. Cette portion de mmoire s'appelle l'opcode.
14
15
16
17
Pipeline
3 phases indpendantes (fetch, decode, execute) ralise chacune en 1 cycle dhorloge Travail en parallle des 3 units responsables des 3 phases: au cycle i: on recherche linstruction i, on dcode linstruction i 1, on excute linstruction i 2
18