20
Architecture de machines Le microprocesseur Cours 2000-2001

Architecture de machines Le microprocesseur Cours 2000-2001

Embed Size (px)

Citation preview

Page 1: Architecture de machines Le microprocesseur Cours 2000-2001

Architecture de machinesLe microprocesseur

Cours 2000-2001

Page 2: Architecture de machines Le microprocesseur Cours 2000-2001

Fabrication

Page 3: Architecture de machines Le microprocesseur Cours 2000-2001

UALMémoire

Données

&

Programmes Unité decommande

Schéma simplifié

Page 4: Architecture de machines Le microprocesseur Cours 2000-2001

L’unité de commande

Décodage des instructions Chargement des informations depuis la

mémoire dans l ’ALU Contrôle du flux du programme

Page 5: Architecture de machines Le microprocesseur Cours 2000-2001

Le langage machine

Ensemble d ’instructions élémentaires traitées par le microprocesseur– Codage dans la mémoire

– Environ 300 instructionsBranchements Calculs sur les entiers

Comparaisons Communication mémoire

Calculs sur les réels Opérations «multimédia» (MMX…)

Assembleur : représentation « lisible » du langage machine

Page 6: Architecture de machines Le microprocesseur Cours 2000-2001

Exemple de code en assembleur

77F9EFE4 call 77F95C57

77F9EFE9 leave

77F9EFEA ret

77F9EFEB push ebp

77F9EFEC mov ebp,esp

77F9EFEE sub esp,10h

77F9EFF1 mov ax,word ptr [ebp+10h]

77F9EFF5 mov edx,dword ptr [ebp+8]

77F9EFF8 mov word ptr [ebp-6],ax

77F9EFFC mov eax,dword ptr [ebp+0Ch]

77F9EFFF push edi

Page 7: Architecture de machines Le microprocesseur Cours 2000-2001

L’exécution d’un programme

Pas à pas Notion de cycle d’horloge

Page 8: Architecture de machines Le microprocesseur Cours 2000-2001

Les registres

Mémoires contenues dans le microprocesseur Codés sur un nombre de bits

– Capacité de traitement du processeur– Ex : Registres 64 bits dans le pentium

3 types de registres– Registres entiers : Traitement des nombres entiers– Registres calcul flottant– Registres de contrôle : état et déroulement du

programme

Page 9: Architecture de machines Le microprocesseur Cours 2000-2001

Exemple d’instructions Chargement depuis la mémoire

– Load Registre, Adresse : Place dans un registre le contenu de l’adresseChargement d’une valeur

– Load Registre, Valeur : Place dans un registre la valeur fournie Sauvegarde en mémoire

– Store Registre, Adresse : Place dans la mémoire le contenu du registre Addition

– Add Registre1, Registre2 : Ajoute Registre2 à Registre 1– Add Registre, Valeur : Ajoute la valeur au registre

Multiplication– Mult Registre1, Registre2 : Multiplie Registre1 par Registre 1

Mult Registre, Valeur : Multiplie le registre par la valeur Comparaison

– Cmp Registre1, Registre2 : Compare le registre 1 au registre 2 et saute une adresse si Registre2 <= Registre1

Sauts inconditionnel– Jmp Adresse (ou libellé) : Effectue un saut inconditionnel vers l’adresse

spécifiée (ou le libellé pour simplifier)

Page 10: Architecture de machines Le microprocesseur Cours 2000-2001

Exemple de compilation : Factorielle

En algorithmiqueFact = 1Pour i allant

de 2 a NFact = Fact * i Fin pour

En C

Int fact(int n){ int i = 2 ; int result = 1 ; while(i <= N)

{ result *= i ; i++ ; } fact = result ;} ;

En assembleur Load A, adresse de NLoad B, 1Load C, 2Boucle Cmp A,CJmp FinMult B,CAdd C,1Jmp BoucleFin RTN

Page 11: Architecture de machines Le microprocesseur Cours 2000-2001

Les registres de contrôle Registre d ’instruction : RI

– Code de l ’instruction courante Registre de position dans le programme : CO

– Compteur Ordinal : adresse de la prochaine instruction à éxecuter

Registres d ’état– Etats du microprocesseur

• Débordements de capacité• Comparaisons• Mode d ’exécution

Accumulateur– Stockage des opérandes dans l ’UAL

Page 12: Architecture de machines Le microprocesseur Cours 2000-2001

L’horloge

Permet de cadencer les traitements dans l ’ordinateur

Cycle du microprocesseur <=> Traitements effectués en un top d ’horloge

Détermine la vitesse du microprocesseur Ne suffit pas pour connaître la performance

réelle d ’une machine

Page 13: Architecture de machines Le microprocesseur Cours 2000-2001

Liaisons avec la mémoire

Registre d ’adresse et registre mot– Stockage de l ’adresse mémoire et de la donnée– Sélection de l ’opération

• Lecture• Ecriture

– Transfert

1 transfert par cycle au maximum– Dépend de la vitesse du bus mémoire

Page 14: Architecture de machines Le microprocesseur Cours 2000-2001

L’adressage

Adressage direct– Spécification de l ’adresse

Adressage indirect– L ’adresse contient l ’adresse à considérer (indirection)

Adressage indexé– Utilisation d ’un registre d ’index

• Adresse = Base + index

La pile– Permet de stocker des informations

– Définie en mémoire avec un registre de pile (SP)

Page 15: Architecture de machines Le microprocesseur Cours 2000-2001

Structure complexe

3 unités d ’exécution– Arithmétique

• Calcul et comparaison des nombres entiers

– Calcul flottant• calcul sur les nombres réels

– Unité multimédia• Ex : le mmx

Page 16: Architecture de machines Le microprocesseur Cours 2000-2001

Exécution en pipeline

Exécution de plusieurs instructions en même temps– Partage de l ’UAL– 1 instruction prend « 1

cycle »

Pb : vidage du pipeline

Page 17: Architecture de machines Le microprocesseur Cours 2000-2001

Exécution parallèle/prédictives

Mise à disposition de plusieurs UAL– Problème de remplissage du pipeline

Exécution prédictive

Page 18: Architecture de machines Le microprocesseur Cours 2000-2001

RISC/CISC/VLIW

CISC RISC VLIW Vers une unification ?

Page 19: Architecture de machines Le microprocesseur Cours 2000-2001

Exemple: le pentium

Page 20: Architecture de machines Le microprocesseur Cours 2000-2001

Exemple: l ’Athlon