Architecture Fondamentale des Microprocesseurs

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

GEF 435 Principes des systèmes d’exploitation
Électronique de base du processeur
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Plan du cours : 2ème Partie
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
La pile un élément essentiel
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
2.Les différentes architectures (Louis)
Ecriture simplifiée d'une somme de relatifs
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Architecture de machines Principes généraux
Architecture de machines Le microprocesseur
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Cours Systèmes logiques
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Récursivité.
Architecture et technologie des ordinateurs II
Architecture de base d’un ordinateur
Architecture et technologie des ordinateurs II
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Structure de la famille de DSP Motorola 56300
Architecture des Ordinateurs
Fonctionnement des Unités de Traitement
INTRODUCTION AU Février 2008
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES SYSTEMES AUTOMATISES
Architecture et technologie des ordinateurs II
Notre calendrier français MARS 2014
C'est pour bientôt.....
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.
Mise en forme en Mathématiques
Structures des données
Informatique 1. Les applications de l’informatique
Lycée ELKHAWARIZMI De SAFI
Logique programmée & Microprocesseurs
CALENDRIER-PLAYBOY 2020.
Cours Architecture des Systèmes Informatiques
LES PILES ET FILES.
Notions de pointeurs en C
3-Présentation d’un µP simple
Processeurs et chemins des données
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Les Chiffres Prêts?
Chapitre 9 : La machine MIASM
Chapitre 3 :Algèbre de Boole
ARCHITECTURE D’UN SYSTEME MICROPROGRAMME
André Seznec Caps Team IRISA/INRIA 1 Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
J.-M. ADAM – D. BARDOU Fonctionnement de l'unité centrale.
Cours de Structure et Technologie des composants d’ordinateurs
Conception de processeurs – partie 1
Cours Architecture des Systèmes Informatiques
Architecture d'un ordinateur
3-Présentation d’un µP simple
Architectures des ordinateurs
INFOR 101 Chapitre 5 Marianne Morris.
Patricia Renault UPMC 2005/2006
Architecture d’un ordinateur
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Transcription de la présentation:

Architecture Fondamentale des Microprocesseurs Institut Supérieur d’Electronique du Nord 41 Boulevard Vauban - 59046 Lille Cedex - France Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Architecture d’un ordinateur Canaux de communication (bus) Unité centrale Mémoire centrale Contrôleurs d’entrée/sortie ou interface Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Les types d’architecture : SISD Une instruction manipule une seule donnée (Single Instruction Single Data) instruction Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Les types d’architecture : SIMD Une instruction manipule un ensemble de données (Single Instruction Multiple Data) : machine tableau instruction Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Les types d’architecture : MISD Un ensemble d’instructions manipule une seule donnée (Multiple Instruction Single Data) : machine vectorielle ou pipeline Instruction 1 Instruction 2 Instruction 3 Instruction 4 Instruction 2 Instruction 3 Instruction 4 Instruction 5 Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Les types d’architecture : MIMD Un ensemble d’instructions manipule un ensemble de données (Multiple Instruction Multiple Data) : machine multi-processeurs MISD SISD SIMD Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Architecture de Von Neuman Machine de Von Neuman (1945) programme : suite d’instructions codées en binaire et mémorisées en mémoire centrale données : codées en binaire et mémorisées en mémoire centrale les instructions sont exécutées séquentiellement par l’unité centrale une instruction manipule une seule donnée (SISD) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Mémoire centrale : rôle et fonctions Rôle : mémorisation des instructions et des données code binaire (algèbre de Boole) 0 : absence de courant 1 : présence de courant Fonctions d’accès : écriture : mémorisation d’une information lecture : récupération d’une information préalablement enregistrée Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Mémoire centrale : constituants Cellule mémoire : circuit électronique chargé de mémoriser un seul bit d’information Mémoire centrale : construire un mot à partir d’un ensemble de cellules construire un ensemble de mots créer un mécanisme d’accès à un mot dans l’ensemble des mots : adressage Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Mémoire centrale : vision logique tableau de mots plus ou moins grand mécanisme d’adressage : chaque mot est repéré par son emplacement (adresse) dans le tableau (indice) 2006 2004 2005 2003 2002 2001 2000 Entier signé sur 16 bits (valeur -2) FE FF Flottant IEEE sur 32 bits (valeur -1,2345.10-4) 92 77 B9 0E Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Unité centrale : composition L’unité centrale (CPU - Central Processing Unit) regroupe 5 blocs fonctionnels : l’unité de contrôle l’unité arithmétique et logique les registres généraux les registres spécialisés l’interfaçage avec l’extérieur Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Bus de communication interne Registre d’instruction Unité de contrôle Bus de contrôle Bus d’adresse Bus de donnée Horloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre d’instruction Décodeur d’instructions et séquenceur Unité de contrôle Registre d’adresse Registre de donnée UAL Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Unité de contrôle Elle contrôle la totalité du fonctionnement de l’unité centrale lecture, décodage, et exécution des instructions lecture et écriture des données en mémoire centrale lecture et écriture des registres contrôle de l’unité arithmétique et logique contrôle de l’interface avec l’extérieur : bus d’adresse et de donnée fonctions d’accès à la mémoire centrale interruptions, ... Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Programme Un programme écrit en langage évolué (C) n’est pas compréhensible directement par la machine (i.e. par l’unité de contrôle) ... cmp i,#0 bne label move #1,i label: move #2,j compilateur ... 1000 3E332000 1004 2A100B 1007 3F332001 100B 3F332102 assembleur ... if (i == 0) { i = 1 ; } j = 2 ; Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

code opération (opcode) Instructions mnémonique code opération (opcode) ... cmp i,#0 bne label move #1,i label: move #2,j 1000 3E 332000 1004 2A 100B 1007 3F 332001 100B 3F 332102 étiquette adresse opérande(s) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Exécution d’un programme Bus de contrôle Bus d’adresse Bus de donnée Horloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre d’instruction Décodeur d’instructions et séquenceur Unité de contrôle Registre d’adresse Registre de donnée UAL Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Exécution d’un programme Le compteur ordinal (PC ou Program Counter) registre spécialisé contient à tout moment l’adresse de l’instruction qui va être exécutée 1006 1004 1005 1003 1002 1001 1000 10 2A 0B PC 1004 3E 33 00 20 Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Unité arithmétique et logique (ALU) Bus de contrôle Bus d’adresse Bus de donnée Horloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre d’instruction Décodeur d’instructions et séquenceur Unité de contrôle Registre d’adresse Registre de donnée UAL Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Unité arithmétique et logique (ALU) Rôle : calcul d’opérations élémentaires opérations arithmétiques addition, soustraction, multiplication, division changement de signe opérations logiques et, ou, ou exclusif, inversion décalage, rotation Traite des mots de taille fixe (1, 2, 4 octets) Génère les indicateurs caractérisation du dernier résultat produit par l’ALU Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Bus de communication interne Registre d’instruction Registres Bus de contrôle Bus d’adresse Bus de donnée Horloge Interruptions int e l 8085 Bus de communication interne Registre D Registre H Registre C Registre E Registre L Registre B Compteur ordinal PC Pointeur de pile SP Accumulateur Indicateurs Registre d’instruction Décodeur d’instructions et séquenceur Unité de contrôle Registre d’adresse Registre de donnée UAL Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Registres Registres généraux Registres spécialisés opérandes pour l’unité arithmétique et logique résultats des calculs (accumulateur) en nombre variable (2 à plusieurs dizaines) taille = taille des mots traités par l’ALU Registres spécialisés compteur ordinal (Program Counter - PC) registre d’état (Status Register - SR) pointeur de pile (Stack Pointer - SP) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Exemple d’exécution ... if (i == 0) { i = 1 ; } j = 2 ; ... cmp i,#0 bne label move #1,i label: move #2,j ... 1000 3E332100 1004 2A100B 1007 3F332101 100B 3F332002 100F ... ? 1000 04 10 1007 04 10 1004 04 10 100F 02 04 ???? 02 04 3322 3321 3320 3319 (variable i) (variable j) PC SR (indicateur Z) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Modes d’adressage des opérandes Permettent de localiser précisément les opérandes d’une instruction immédiat (constante) registre (donnée « anonyme ») direct (donnée « variable ») en mémoire centrale indirect (pointeur sur ...) en mémoire centrale via un registre autres suivant la puissance du CPU : indirect avec déplacement (8086, 68000) pré/post indexé (68000) facteur d’échelle (80386) Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Modes d’adressage (1) immédiat (constante) registre R2 4444 2222 3333 registre R2 4444 2222 3333 1111 R1 R3 R2 R4 33 direct / absolu [3044] 0000 4444 2222 6666 3046 3042 3044 3040 3E Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Modes d’adressage (2) indirect via registre [R2] 4444 3044 3333 1111 0000 2222 6666 3046 3042 3040 4444 3044 3333 1111 R1 R3 R2 R4 0000 2222 6666 3046 3042 3040 indirect via registre avec déplacement [R2-2] Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Jeu d’instructions (1) déplacement MOV destination,source R1 R3 R2 R4 4444 3333 1111 2222 MOV R3,R2 2222 MOV [2000],-4 2002 1FFE 2000 1FFC 4444 3333 1111 2222 FFFC Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Jeu d’instructions (2) opérations ADD destination,source R1 R3 R2 R4 4444 3333 1111 2222 ADD R3,R2 5555 NOT destination NOT [R2] 4444 3044 3333 1111 R1 R3 R2 R4 0000 2222 6666 3046 3042 3040 BBBB Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Jeu d’instructions (3) Saut inconditionnel - JMP adresse le compteur ordinal (PC) est remplacé par l’adresse spécifiée par l’instruction l’exécution du programme reprend à partir de la nouvelle valeur du compteur ordinal Saut conditionnel - JNZ adresse la condition porte sur la valeur d’un ou de plusieurs indicateurs de l’UAL (registre d’état) le compteur ordinal (PC) est remplacé par l’adresse spécifiée par l’instruction si et seulement si la condition est vérifiée Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Sous-programme Vision logique : 2 composants une pile mémorisée en mémoire centrale le pointeur de sommet de pile (Stack Pointer - SP) Appel d’un sous-programme : CALL adresse SP  SP - k // création d’un nouveau sommet [SP]  PC // sauvegarde de l’adresse de retour PC  adresse // saut au sous-programme Retour d’un sous-programme : RETURN PC  [SP] // restauration de l’adresse de retour SP  SP + k // destruction du sommet Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Exemple d’exécution 1 ... 2 CALL 100 3 ... 2 1004 100 1002 3 101 200 3 1000 101 3 1004 101 3 1002 101 4 3 1004 101 102 3 1002 101 3 1000 3 1002 101 201 3 1000 PC pile (k = 2) 1004 1002 1000 99 ... 100 CALL 200 101 RETURN 102 ... 199 ... 200 RETURN 201 ... SP Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002

Interruptions Définition : Action : arrivée d’un événement extérieur à l’unité centrale Action : appel forcé d’un sous-programme d’interruption, indépendant du programme en cours d ’exécution Unité centrale Capteur Programme en cours Programme en cours Programme en cours Appel du 18 Architecture Fondamentale des Microprocesseurs - Laurent ALLAIN - Juillet 2002