Plan du cours : 2ème Partie

Slides:



Advertisements
Présentations similaires
GEF 435 Principes des systèmes d’exploitation
Advertisements

GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Électronique de base du processeur
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Plan du cours : 1ère Partie (1/3)
Cours 3 Microprocesseurs
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Objectif Comprendre à l ’aide d ’un exemple simple le déroulement des instructions au niveau microprogramme.
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
Architecture Systèmes
2.Les différentes architectures (Louis)
Les structures de données
Les microprocesseurs A. Objectifs de la séquence:
Architecture de machines Principes généraux
Architecture de machines Le microprocesseur
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur

Architecture des ordinateurs
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
SÉQUENCE D’ACTIONS SUR
Architecture et technologie des ordinateurs II
Architecture de base d’un ordinateur
Gestion des Périphériques
Les piles Djamal Rebaïne.
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
Architecture Fondamentale des Microprocesseurs
LES SYSTEMES AUTOMATISES
GPA770: Microélectronique appliquée
Architecture et technologie des ordinateurs II
Chap. 2 - Structure d’un ordinateur
Cours 5 3. Construction d’un ordinateur Le matériel
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.
Lycée ELKHAWARIZMI De SAFI
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Chapitre 9 : La machine MIASM
J.-M. ADAM – D. BARDOU Fonctionnement de l'unité centrale.
Cours de Structure et Technologie des composants d’ordinateurs
Cours Architecture des Systèmes Informatiques
Architecture d'un ordinateur
Les Microcontrôleurs 68HCXX
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.
Architecture et technologie des ordinateurs II
INFOR 101 Chapitre 5 Marianne Morris.
Exécution d ’un programme en 6809: Présentation du programme
Patricia Renault UPMC 2005/2006
Agata Savary, IUT de Blois, Département GTR, 1e année,
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.
Chapitre IV Architecture de VonNeumann. I/ Introduction John VonNeumann est un mathématicien d’origine Hongroise qui a participé au projet Manhattan.
Fonctionnement de l'unité centrale
Architecture de machines Le microprocesseur Cours
Architecture de base d’un ordinateur
Transcription de la présentation:

Plan du cours : 2ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Schéma simplifié d’une unité centrale Charger la prochaine instruction à exécuter : Mémoire => Registre d’instruction: Décoder le code opération de l’instruction; Modifier le compteur ordinal pour qu’il pointe sur l’adresse de l’instruction suivante; Localiser, s’il y a lieu, les opérandes en mémoire; Charger, dans ce cas, ces opérandes dans les registres de l’UC; Exécuter l’instruction; Retourner à l ‘étape N° 1 pour traiter la prochaine instruction. D’après « Architecture et Technologie des Ordinateurs » de Paolo Zanelle et Yves Ligier chez Dunod Année 2002-2003 Initiation à l'architecture des ordinateurs

Eléments de l’Unité de Commande Registres : Compteur Ordinal (CO) : contient l’adresse en mémoire de la prochaine instruction à exécuter. Registre Instruction (RI) : contient l’instruction en cours à décoder et à exécuter. Registre d’état ou Program Status Word (PSW) : contient les informations sur l’état du système (retenue, dépassement, etc.). Décodeur : détermine l’opération à effectuer et les opérandes. Séquenceur : génère les signaux de commandes vers les différents composants et en particulier l’UAL pour exécuter l’opération qui vient d’être décodée. Il peut être cablé ou microprogrammé. Horloge : génère des impulsions régulières synchronisant les actions et les éléments de l’unité centrale. Année 2002-2003 Initiation à l'architecture des ordinateurs

Séquencement des opérations Cycle d’instruction = Cycle de recherche + Cycle d’exécution Cycle d’instruction Cycle de recherche Cycle d’exécution Horloge Cycle d’exécution Année 2002-2003 Initiation à l'architecture des ordinateurs

Cycle de recherche d’une instruction (1/2) Registre d’Adresse Mémoire Centrale Registre d'Instruction Compteur Ordinal Registre Mot Décodeur Séquenceur Horloge 1 2 3 4 4’ Unité de commande Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Cycle de recherche d’une instruction (2/2) Transfert de l’adresse de l’instruction du Compteur Ordinal vers le Registre d’Adresse de la mémoire. Lecture de l’instruction dans la mémoire et transfert dans le Registre Mot. Transfert de l’instruction dans le registre d’instruction. Décodage du code opération et lancement du séquenceur. Si nécessaire transfert de l’adresse de l’opérande dans le Registre d’ Adresse de la Mémoire Incrémentation du Compteur Ordinal pour qu’il pointe vers l’instruction suivante (s’ il n’est pas mis à jour par une instruction de branchement). Le Séquenceur pilote l’Unité de Calcul pour exécuter l’instruction. Année 2002-2003 Initiation à l'architecture des ordinateurs

Cycle d’exécution d’une instruction (1/2) Mémoire Centrale Registre d’Adresse Registre Mot 2 Accumulateur 1 Exemple : exécution d’une opération arithmétique ou logique. Registres de travail Séquenceur 3 Unité de commande Unité de Calcul Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Cycle d’exécution d’une instruction (2/2) Opération arithmétique ou logique Le séquenceur pilote la mémoire pour lire l’opérande et le transférer dans le registre mot (RM). Transfert de l’opérande du RM vers un registre de travail ou l’accumulateur. Exécution par l’Unité Arithmétique et Logique de l’opération à effectuer sous contrôle du séquenceur. Ecriture d’un résultat en mémoire Transfert du contenu de l’accumulateur vers le RM. Le séquenceur pilote la mémoire pour transférer l’opérande depuis le RM et l’écrire en mémoire Instruction de branchement conditionnel Test du bit de condition (Flag) Transfert si nécessaire du contenu du champ adresse de l’instruction depuis le RI vers le CO. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Registres de l’unité de traitement (1/3) Compteur Ordinal (CO) (Programme Counter (PC)) Contient l’adresse de la prochaine instruction à exécuter Non accessible au programmeur Registre Instruction (RI) (Instruction Register (IR)) Contient l’instruction à décoder et à exécuter Registre ACCumulateur (ACC) Reçoit le résultat de l’opération effectué par l’Unité Arithmétique et Logique (UAL). Peut contenir un des opérandes impliqués dans l’opération que doit effectuer l’UAL. Un des registres les plus sollicités de la machine. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Registres de l’unité de traitement (2/3) Registres de travail Permettent d’accélérer l’exécution des programmes en évitant de solliciter la mémoire. Contiennent les résultats de calculs intermédiaires ou les opérandes fréquemment utilisés. Registre d’index (XR) (Index Register (RX)) Utilisé pour l’adressage indexé Registre de Base Utilisé pour l’adressage Base + Déplacement Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Registres de l’unité de traitement (3/3) Registre d’état (Program Status Word (PSW)) Contient entre autres les bits de condition (flags) positionnés à l’issu de chaque exécution d’une instruction. Registres de gestion de pile Registre pointeur de pile (PP) (Stack Pointer (SP)) Contient l’adresse du sommet de la pile Registres spécialisés Registres virgule flottante (Floating point registers) Registres à décalage (Shift registers) Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Plan du cours : 3ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Format des instructions (1/2) Opérandes Code Opération Code opération : ce qu’il faut faire Exemples : faire une addition, tester le résultat d’une opération, se débrancher vers une certaine adresse, etc. Opérandes : avec quoi le faire Exemples : valeur numérique, contenu d’un registre, contenu d’une adresse mémoire adresse où se débrancher, etc. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Format des instructions (2/2) Code opération Exemple x86 : LAHF transfert les bits de conditions (status flags) dans le registre Ah Code opération Opérande 1 Exemple x86 : NOT DX complémente à 1 le contenu du registre Dx Code opération Opérande 1 Opérande 2 Exemple x86 : ADD AX,DX ajoute le contenu du registre Dx à celui de l’accumulateur Année 2002-2003 Initiation à l'architecture des ordinateurs

Exemples de programme (1/5) Machine à une adresse Instructions : Load X : transfère la variable X dans l’accumulateur. STA X : transfère le contenu de l’accumulateur dans la variable X. ADD : additionne la valeur de la variable X au contenu de l’accumulateur. SUB : soustrait la valeur de la variable X au contenu de l’accumulateur. MPY : multiplie le contenu de l’accumulateur par la valeur de la variable X. DIV X : divise le contenu de l’accumulateur par la valeur de la variable X. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Exemples de programme (2/5) Fonction à réaliser : A = B x (C + (D x E) – (F / G)) Programme: LOAD F => ACC = F DIV G => ACC = ACC / G => ACC = F / G STA T1 => T1 = ACC LOAD D => ACC = D MPY E => ACC = ACC x E => ACC = D x E ADD C => ACC = ACC + C => ACC = (D x E) + C SUB T1 => ACC = ACC – T1 => ACC = (D x E) + C – ( F / G) MPY B => ACC = ACC x B => ACC = ((D x E) + C – ( F / G)) x B STA A => A = ACC => A = ((D x E) + C – ( F / G)) x B T1 = variable intermédiaire Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Exemples de programme (3/5) Machine à zéro adresse (Sauf gestion de la pile) Nécessite une pile (mémoire LIFO : Last In, First Out) Instructions de gestion de la pile (Instructions à 1 adresse) : LOAD X : Transfère le contenu de la variable X au sommet de la pile. STORE X : Transfère le contenu du sommet de la pile dans la variable X. Principe de fonctionnement : Instructions à zéro adresse: Les opérandes sont dans les 2 positions supérieures de la pile. Le résultat remplace les deux opérandes au sommet de la pile. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Exemples de programme (4/5) Instructions à zéro adresse: ADD sort les 2 opérandes aux sommets de la pile, fait leur somme et place le résultat au sommet de la pile. SUB sort les 2 opérandes aux sommets de la pile, soustrait la valeur au sommet de la seconde position et place le résultat au sommet de la pile. MPY sort les 2 opérandes aux sommets de la pile, fait leur produit et place le résultat au sommet de la pile. DIV sort les 2 opérandes aux sommets de la pile, divise la valeur en seconde position (dividende)par la valeur située au sommet de la pile (diviseur) et place le résultat au sommet de la pile. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Exemples de programme (5/5) Même fonction à réaliser : A = B x (C + (D x E) – (F / G)) Programme: LOAD B => Pile = { B } LOAD C => Pile = { B ; C} LOAD D => Pile = { B ; C ; D} LOAD E => Pile = { B ; C ; D ; E } MPY => Pile = { B ; C ; (D x E) } ADD => Pile = { B ; C + (D x E) } LOAD F => Pile = { B ; C + (D x E) ; F } LOAD G => Pile = { B ; C + (D x E) ; F ; G } DIV => Pile = { B ; C + (D x E) ; (F / G) } SUB => Pile = { B ; C + (D x E) - (F / G) } MPY => Pile = { B x (C + (D x E) - (F / G)) } STA A => Pile = { } Année 2002-2003 Initiation à l'architecture des ordinateurs

Types d’ instructions (1/2) Transferts de données : de registre à registre, de registre à mémoire, de mémoire à registre, de mémoire à mémoire. Opérations arithmétiques : Addition, soustraction,multiplication,division. Opérations logiques : NON, ET, OU, Ou exclusif, etc. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Types d’ instructions (2/2) Contrôle de séquence : branchements , branchements conditionnels, appel de sous-programmes, Entrées/Sorties (I/Os) : lectures/écritures sur les périphériques (écran, imprimantes, disques durs, etc.) Autres opérations : décalage, permutation circulaire de bits, comparaison, incrémentation d’index, etc. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Plan du cours : 3ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Modes d’adressage (1/4) Adressage implicite : Le code opération indique implicitement où se trouve l’opérande. Exemple X86 : LAHF transfert les bits de condition (status flags) dans le registre Ah Adressage immédiat : Le champ adresse de la source contient la valeur de l’opérande. Exemple X86 : MOV DX,1234 transfert la valeur immédiate 1234 dans le registre Dx Adressage registre : Le champ adresse contient le numéro du registre contenant l’opérande. Exemple x86 : NOT DX complémente à 1 le contenu du registre Dx (1234) qui devient donc EDBC. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Modes d’adressage (2/4) Adressage direct : Le champ d’adresse contient l’adresse effective de l’opérande. Exemple X86 : Mov [0100], DX transfère le contenu du registre Dx à l’adresse mémoire 0100 qui contient donc maintenant EDBC. Adressage indirect : Le champ d’adresse contient l’adresse où se trouve l’adresse effective de l’opérande. Exemple PDP-11 : MOV (R1), R4 transfère dans R4 le contenu de l’adresse contenue dans R1 Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Modes d’adressage (3/4) Adressage indexé : adresse effective = contenu du champ adresse + contenu du registre d’index Exemple PDP-11 : MOV R4, 100(R3)+ transfère dans R4 le contenu de l’adresse (100 + contenu de R3) et incrémente R3. Utilisé pour travailler sur des tableaux Adressage basé : Base + Déplacement adresse effective = contenu du champ adresse (Déplacement) + contenu du registre de base (Base) Utilisé - en cas d’allocation dynamique de la mémoire, - lorsque le nombre de bit alloué à l’adresse dans l’instruction est faible. Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Modes d’adressage (4/4) Adressage relatif : adresse effective = contenu du champ adresse + contenu du Compteur Ordinal (CO) Utilisé dans des instructions de branchements Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Plan du cours : 3ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Plan du cours : 3ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs CISC versus RISC (1/2) Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Plan du cours : 3ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Pipelining Année 2002-2003 Initiation à l'architecture des ordinateurs

Initiation à l'architecture des ordinateurs Plan du cours : 3ème Partie Introduction 1ère Partie : Concepts de base 2ème Partie : Traitement des données Unité de traitement Jeu d’Instructions Modes d’adressage Modes d’interruptions Microprogrammation Amélioration des performances 3ème Partie : Stockage des informations 4ème Partie : Transfert des informations : les bus Conclusion Année 2002-2003 Initiation à l'architecture des ordinateurs