Architecture de machines Le microprocesseur

Slides:



Advertisements
Présentations similaires
Électronique de base du processeur
Advertisements

Le Concept du programme enregistré
Architecture de machines Principes généraux
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Informatique Deug2 Sciences Eco S. Maabout 2004/2005.
Plan du cours : 2ème Partie
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Objectif de l’exposé.
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Introduction Par définition, dans un modèle à cycle unique, le cycle d’horloge doit avoir la même durée pour toutes les instructions. Le cycle d’horloge.
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Architecture Systèmes
2.Les différentes architectures (Louis)
Architecture de machines Principes généraux
Architecture de machines Le microprocesseur
Les systèmes à microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Architectures et systèmes à microprocesseurs – ELEC288
Architecture de base d’un ordinateur
Architecture et technologie des ordinateurs II
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Architecture des Ordinateurs
Fonctionnement des Unités de Traitement
Algorithmique et Programmation
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Systèmes Superscalaires et VLIW
Architecture et technologie des ordinateurs II
Chap. 2 - Structure d’un ordinateur
Mécanismes d'exécution et de communication
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Informatique 1. Les applications de l’informatique
Lycée ELKHAWARIZMI De SAFI
Logique programmée & Microprocesseurs
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Chapitre 9 : La machine MIASM
8INF856 Programmation sur architectures parallèles
J.-M. ADAM – D. BARDOU Fonctionnement de l'unité centrale.
Cours de Structure et Technologie des composants d’ordinateurs
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
Cours Architecture des Systèmes Informatiques
Architecture d'un ordinateur
3-Présentation d’un µP simple
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
Architectures des ordinateurs
Les Machines RAM.
Projet de Fin d’Etudes – Optimisation SSE 1/28. 1) Présentation du Stage 2) Les instructions SSE 3) Algorithme DSP Audio Conclusion 2/28 Projet de Fin.
Architecture et technologie des ordinateurs II
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. tél Fax Cours Architecture des.
INFOR 101 Chapitre 5 Marianne Morris.
Architecture matérielle Qu’est ce qu’un ordinateur ?
Exécution d ’un programme en 6809: Présentation du programme
UE MAREP Cours 12 : Révisions
Patricia Renault UPMC 2005/2006
Création et Optimisation de Modules Audio avec les instructions SSE
Chapitre 3 L’accès aux données.
Architecture des ordinateurs
Architecture d’un ordinateur
Formations Système Embarqué & Informatique Industrielle
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
Fonctionnement de l'unité centrale
Architecture de machines Le microprocesseur
Architecture de machines Le microprocesseur Cours
Transcription de la présentation:

Architecture de machines Le microprocesseur Cours 2003-2004

L’unité d’exécution Mémoire Données & Programmes UAL 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 Calculs sur les entiers Comparaisons Communication mémoire Calculs sur les réels Opérations «multimédia» (MMX…) Processeur Z80 utilisé en TP: 256 Instructions 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 80H LD A,'A'-1 NCB: INC A OUT (OUTBUF),A CP 'Z' JP NZ,NCB HALT

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 Adressage indirect Adressage indexé 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