Le microprocesseur bis .pdf



Nom original: Le microprocesseur bis.pdf
Titre: Architecture de machines
Auteur: H. Luga

Ce document au format PDF 1.5 a été généré par Microsoft® Office PowerPoint® 2007, et a été envoyé sur fichier-pdf.fr le 19/10/2014 à 01:24, depuis l'adresse IP 197.202.x.x. La présente page de téléchargement du fichier a été vue 654 fois.
Taille du document: 920 Ko (28 pages).
Confidentialité: fichier public


Aperçu du document


Architecture de machines
Le microprocesseur

Cours 2014-2015

L’unité d’exécution

Mémoire
UAL
Données
&
Programmes

Unité de
commande

Fabrication

Fabrication(2)

Fabrication(3)

Présentation

Evolution de l’intégration: Processeurs x86

Microprocesseur = Unité Contrôle + UAL


L’Unité de contrôle
– Décodage des instructions
– Chargement des informations depuis la mémoire
dans l ’UAL
– Contrôle du flux du programme



L’Unité Arithmétique et Logique
– Réalisation des opérations
• Calculs entiers
• Calculs sur les nombres réels
• Comparaisons

Le langage machine


Ensemble d ’instructions élémentaires traitées
par le microprocesseur
– Environ un millier d’instructions
Branchements
Comparaisons
Calculs sur les réels



Calculs sur les entiers
Communication mémoire
Opérations «multimédia» (MMX…)

Codage dans la mémoire
– « code instruction »



Assembleur :
– Représentation « lisible » du langage machine
– Mnémonique: représentation des instructions

De l’assembleur au code machine
OUTBUF EQU

NCB:

LD
INC
OUT
CP
JP
HALT

80H
A,'A'-1
A
(OUTBUF),A
'Z'
NZ,NCB

Les registres



Mémoires contenues dans le microprocesseur
Codés sur n bits
– Capacité de traitement du processeur
– 64 bits dans les microprocesseurs modernes
– 4/8 bits dans les processeurs anciens



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

Principaux 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



Registre de pile : SP
– Permet de créer une « pile » dans la mémoire



Registres d ’état
– Etats du microprocesseur
• Débordements de capacité
• Comparaisons
• Mode d ’exécution



Accumulateur
– Registre de travail principal

Exemple d’instructions


Chargement depuis la mémoire
– LD Registre, Adresse : Place dans un registre le contenu de l’adresse
Chargement d’une valeur
– LD Registre, Valeur : Place dans un registre la valeur fournie



Sauvegarde en mémoire
– LD 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 (n’existe pas)
– Mult Registre1, Registre2 : Multiplie Registre1 par Registre 1
Mult Registre, Valeur : Multiplie le registre par la valeur



Comparaison
– CP Registre1, Registre2 : Compare le registre 1 au registre 2 et place les
bits d’état



Sauts inconditionnel
– JP, JR Adresse (ou libellé) : Effectue un saut inconditionnel vers
l’adresse spécifiée (ou le libellé pour simplifier)

L’horloge


Cadence 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

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
– Processeurs actuels très dépendants de vitesses
d’échange

L’adressage


Adressage direct
– Spécification de l ’adresse
LD (0120H),A : Charge dans A la valeur contenue en 0120H



Adressage indirect
– L ’adresse à considérer est stockée (indirection)
LD BC, 0120H
LD (BC),A



Adressage indexé
– Utilisation d ’un registre d ’index (IX, IY sur Z80)
• Adresse = Base + index
LD (IX+3), 72 : Charge 72 à l’adresse IX+3



La pile
– Empilage (push) et dépilage (pop)
– En général pas de contrôle de ces opérations !

Exemple: le Z80

Structure complexe


2,5 unités d ’exécution
– Arithmétique
• Calcul et comparaison des nombres entiers

– Calcul flottant :
• coprocesseur mathématique => calcul sur les
nombres réels

– Unité multimédia
• MMX/SSE/3DNow! : exécution particulière de
certaines opérations

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
– Instructions de branchement

Exécution parallèle/prédictives


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



Exécution prédictive

Exemple: le pentium

Exemple: l ’Athlon

Exemple : le Pentium 4

Pipeline Réel




PIV : 20 Niveaux
PIII: 10 Niveaux
Athlon: 11 Niveaux

L’Hyper Threading


Simule deux processeurs
sur un seul
– 2 files d’exécution
– Mêmes UAL



Nécessite des applications
compatibles
– Augmente la disponibilité du
système

Optimisation de l’utilisation des ressources

RISC/CISC/VLIW






CISC
RISC
VLIW

Exemple de compilation : Factorielle

En algorithmique
Fact = 1
Pour i allant
de 2 a N
Fact = 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 N
Load B, 1
Load C, 2
Boucle Cmp A,C
Jmp Fin
Mult B,C
Add C,1
Jmp Boucle
Fin
RTN




Télécharger le fichier (PDF)

Le microprocesseur bis.pdf (PDF, 920 Ko)

Télécharger
Formats alternatifs: ZIP







Documents similaires


coursmicrop8086y haggege chap5
corrigeds11
microproc
le microprocesseur bis
microprocesseursintel8086
solution c8 c11

Sur le même sujet..