You are on page 1of 18

Fonctionnement des ordinateurs

Par : Nozha CHERIF


Nozha.cherif@esprit.tn

Fonctionnement des ordinateurs


Chapitre 4

Processeur

Par : Nozha CHERIF


2

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

Composition (1):Les registres spcialiss

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

Composition (2):Les registres gnraux

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.

Composition (3):Unit de commande


Constitue de : Compteur Ordinal CO: Registre contenant ladresse de la prochaine instruction. Dit aussi Program Counter PC Registre dInstruction : contient le code de linstruction en cours Dcodeur : Dcode linstruction (slection de la bonne fonction) Squenceur : Ordonne et Synchronise les blocs-opration pour linstruction dcode

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.

Le type de jeu dinstructions dun processeur dtermine son architecture.


Deux types darchitectures RISC (Reduced Instruction Set Computer) : PowerPC, MIPS, Sparc CISC (Complex Instruction Set Computer): Pentium RISC : jeu dinstructions de taille limite instructions simples format des instructions petit et xe modes dadressage rduits CISC : jeu dinstructions de taille importante instructions pouvant tre complexes format dinstructions variables (de 1 5 mots) modes dadressages complexes.
12

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

La reprsentation binaire dune instruction

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

La reprsentation binaire dune instruction


Linstruction est crite sous forme : opcode+ partie variable partie variable : permet de prciser quelles sont les donnes manipuler: On peut parfois mettre la donne directement dans l'instruction : si la donne est une constante, on peut la placer directement dans l'instruction. Mais dans les autres cas, notre instruction va devoir prciser la localisation des donnes manipuler : est-ce que la donne manipuler est dans un registre (et si oui, lequel), dans la mmoire (et quelle adresse ?). De mme, o enregistrer le rsultat ? Bref, cette partie variable est bien remplie. Les diverses manires dinterprter notre partie variable pour en exploiter son contenu (une adresse, une constante, un nom de registre, etc, ce qui nous permettra de localiser la ou les donne de notre instruction) s'appellent des modes d'adressage.

15

La reprsentation binaire dune instruction


modes d'adressage:
Adressage implicite: inst: opcode exemple: mise en veille.. Adressage immdiat: inst: opcode constante: add 0000 0100 1100 0101 Adressage direct: inst: opcode l'adresse de la donne laquelle accder. Adressage inhrent: inst: opcode nom du registre qui contiendra la donne voulue adressage indirect registre: opcode nom du registre qui contiendra la ladresse de la donne voulue Adressage indexed absolute:Celui-ci fournit l'adresse de base du tableau, et un registre qui contient l'indice. Adressage base plus index: on spcifie deux registres : un registre qui contient l'adresse de dpart du tableau en mmoire : le registre de base ; et un qui contient l'indice : le registre d'index.

16

La reprsentation binaire dune instruction


Format dinstruction

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

You might also like