Architecture de base d’un ordinateur

Slides:



Advertisements
Présentations similaires
Architecture de machines Le microprocesseur
Advertisements

Plan du cours : 2ème Partie
Architecture de machines Principes généraux
Architecture des ordinateurs
Chapitre 8 : L’architecture de base des ordinateurs
Architecture de base d’un ordinateur
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.
Architecture d'un ordinateur
3-Présentation d’un µP simple
Architecture d’un ordinateur
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
1 © Copyright 2005, Philippe Arlotto tln.fr Creative Commons Attribution-ShareAlike 2.0 license 18/09/2016 Cours microprocesseurs.
o Nicolas Dewaele Architecture matérielle Architecture des ordinateurs.
L’ordinateur et ses composants Un ordinateur est composée d'une unité centrale et de périphériques. Tous les périphériques sont branchés sur l'unité centrale.
François Médevielle - UPSTI -. Introduction  Découvrir les éléments constitutifs d’un « ordinateur »  Comprendre l’organisation fonctionnelle d’une.
Adressage IP Page 1 L’adressage IP.
Formation Réseaux et Télécommunication Master 1 Matière : DSP & FPGA Par: ATOUI Hamza.
Mode noyau Appels Systèmes Interruptions Grégory Seront Institut Paul Lambin
L’ordinateur et ses composants
Architecture Informatique
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Architecture des microordinateurs
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Logique Combinatoire.
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
Opérateurs Toute donnée informatique est stockée en mémoire sous la forme d'une combinaison de bits (mot machine). Les opérateurs bits permettent de modifier.
La science qui permet le traitement automatique des informations
Evaluation de l'UE TICE 1 TRANSMISSION DES DONNEES INFORMATIQUES SABATIER Fabienne 1ère année de sciences du langage/sciences de l’éducation.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Fonctionnement de l'unité centrale
Evolution des machines Introduction à l’ARDUINO
Architecture de machines Le microprocesseur
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Initiation à l’informatique Généralités et Définitions Université de Tébessa 1 ère Année MI Y. MENASSEL.
INFORMATIQUE NAVAL Présentation: ESSO PIDE MALIK 1.
Programmation système
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
Jelassi Khaled Systèmes micro-programmés 1 Les systèmes micro-programmés Principe: Un système microprogramme est donc constitué de:  Un microprocesseur.
De l’ordinateur au processus : rôle d’un système
Evaluation de l'UE TICE 1 TRANSMISSION DES DONNEES INFORMATIQUES SABATIER Fabienne 1ère année de sciences du langage/sciences de l’éducation.
1 Architecture d’ordinateur IFT6800 Jian-Yun Nie
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Projet sur l’ordinateur
Architecture de machines Le microprocesseur Cours
Cours de Structure et Technologie des composants d’ordinateurs
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Calcul Scientifique Initiation à SCILB
Module : Architecture des Ordinateurs (AO)
Qu’est-ce qu’un ordinateur ?. Ordinateur – calculateur Un ordinateur est une machine qui permet de réaliser, d’exécuter des opérations, des calculs, c’est.
Bienvenue sur Coursinfo.fr
ARCHITECTURE DES ORDINATEURS
Introduction aux microprocesseurs
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
1 Décodage d’adresses et mémoires Introduction Définition, Caractéristiques des mémoires Classification des mémoires La mémoire centrale Caractéristiques.
Chapitre 7 : Les mémoires
1 PROJET D’INFORMATIQUE les composants de l'ordinateur Gammoudi Rayéne 7 B 2.
1 Architecture d’ordinateur IFT6800 Jian-Yun Nie
Notions de base de l’informatique. 1-Définitions : Le mot « Informatique » a été créé (vers 1960) à partir des deux mots « information » et « automatique.
1 Architecture d’ordinateur. 2 Plan Architecture Codage et opération de base.
Architecture d’un ordinateur
1690 : Pascal invente la machine à calculer entièrement mécanique (addition et soustraction) 1800 : Jacquart invente le métier à tisser avec cartes perforées.
1 Architecture des ordinateurs Généralités. 2 Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu.
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
1 Architecture d’ordinateur IFT6800 Jian-Yun Nie
Evolution des machines Introduction au MSP-EXP432
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
Introduction aux Circuits Reconfigurables et FPGA.
S ECTION : TS BDD T ITRE DE COURS N1: P RÉSENTATION DE L ’ ARCHITECTURE GÉNÉRALE D ’ UN ORDINATEUR Objectif général: À la fin de cours chaque stagiaire.
Ecole Normale Supérieure de Laghouat Technologie de l‘Information et de la Communication (TICE) DJOUDI Yamina.
Transcription de la présentation:

Architecture de base d’un ordinateur

Définition de l’ordinateur: Un ordinateur est une machine de traitement automatisé de l’information. Fonctionnalités: Acquérir l’information, la stocker, la modifier en appliquant des instructions prédéfinies (programmes) Interagir avec l'environnement grâce à des périphériques (écran, clavier….).     

Historique : 1ère génération 1946-1957 1946 l’ENIAC (Electronic Numerical Integrator And Calculator) 18000 Tubes – 30 tonnes Machines volumineuses et peu fiables Technologie à lampes, relais, résistances Exécute 40 000 opération/s Programmation par cartes perforées usage général, machines fiables – technologie à transistors -éxécute 200 000 opérations/s – premiers langages de programmation évolués (COBOL, FORTRAN, LISP) représentant : mini ordinateur DEC PDP-1 (1961)

Historique : 2ème génération 1958- 1964 Machines fiables Technologie à transistors Exécute 200 000 opérations/s Premiers langages de programmation évolués (COBOL, FORTRAN, LISP) usage général, machines fiables – technologie à transistors -éxécute 200 000 opérations/s – premiers langages de programmation évolués (COBOL, FORTRAN, LISP) représentant : mini ordinateur DEC PDP-1 (1961)

Historique : 3ème génération 1965- 1971 Technologie des circuits intégrés Exécute 1 000 000 opération/s Avènement du système d’exploitation complexe (UNIX, Pascal, Basic, CISC) 1971 : premier microprocesseur 4004 de INTEL: Toutes les composantes de la CPU sont réunies sur une même puce 4004 de INTEL(1971) technologie des circuits intégrés (S/MSI small/medium scale integration) -éxécute 1 000 000 opération/s – avènement du système d’exploitation complexe – UNIX, Pascal, Basic, – CISC 1971 : premier microprocesseur 4004 de INTEL toutes les composantes de la CPU sont réunies sur une même puce

Historique : 4ème génération 1972- 1977 Technologie LSI (large SI) Exécute 10 000 000 opérations/s Avènement de réseaux de machines Traitement distribué/réparti

Historique : 5ème génération 1978 Technologie VLSI (very large) Systémes distribués interactif Multimédia, traitement de données non numériques: (textes, images, paroles) Parallélisme massif, client-serveur RISC

machine de Von Neumann(1952) Idée : ranger les programmes en mémoire et non plus tout câbler et recâbler à chaque fois. Cet ordinateur a servi de base à tous les autres ordinateurs généralistes. Données et instructions sont représentées en code binaire D’après Von Neumann le modèle de machines universelles possède -une unité centrale (CPU): une unité arithmétique et logique (UAL) et une unité de commande(UCC) - une mémoire -une unité d’entrées/sorties (E/S) Les différentes unités sont interconnectées via des bus. boite à musique – métiers à tisser

Architecture Bus des données ²² Unité d’E/S CPU Mémoires Bus d’adresse Définition d’un Bus: Un bus est un ensemble de n fils conducteurs, utilisés pour transporter n signaux binaires entre les composantes de l’ordinateur Type des bus: Il est un bus bidirectionnel. Lors d’une lecture, c’est la mémoire qui envoie un mot sur le bus lors d’une écriture, c’est le processeur qui envoie la donnée Il est un bus unidirectionnel : transporte les adresses mémoire auxquelles le processeur souhaite accéder pour lire ou écrire une donnée. Il transporte les ordres et les signaux de synchronisation en provenance de l’unité de commande et à destination de l'ensemble des composants matériels Architecture ²² Bus des données CPU Mémoires Unité d’E/S La fréquence de cette horloge s’exprime en MHz (millions de battements par seconde). Bus d’adresse Bus de controle

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

Unité de commande L’Unité de commande dirige le fonctionnement de toutes les autres unités : UAL, mémoire, entrées / sorties, etc., en leur fournissant les signaux de cadence et de commande. Cette unité comporte • Le compteur ordinal CO • Le registre d’instruction RI • Le décodeur de code opération • Le séquenceur • L’horloge RA = registre d ’adresses RM = registre mot 11

Unité de Commande L’Unité de commande dirige le fonctionnement de toutes les autres unités, en leur fournissant les signaux de cadence et de commande. Elle est composé de: 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. 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.

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

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

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.

Exemple : exécution d’une opération arithmétique ou logique. 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

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.

Registres de l’unité de traitement(CPU) (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.

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

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)

Structure des instructions niveau machine(1/3) Une instruction machine doit fournir au CPU toutes les informations pour l’exécution d’une opération élémentaire. Elle doit donc contenir un code opération qui est essentiel pour spécifier le type d’action désiré. Elle doit en outre contenir une ou plusieurs adresses selon le cas : l’adresse de (ou des) opérande(s), l’adresse où envoyer le résultat et l’adresse où chercher l’instruction suivante. Par conséquent, le format d’une instruction machine comporte un champ code opération et jusqu’à quatre champs d’adresse. On parle d’instructions à n adresses. On dit d’une machine qu’elle est à n adresses si la plupart de ses instructions sont à n adresses. 21

Structure des instructions niveau machine(2/3) Ainsi, le MC6809 est une machine à une adresse, le Pentium et le MC68000 sont des machines à 2 adresses. Le PowerPC est une machine à 3 adresses pour les opérations entre registres, à 2 adresses pour les accès mémoire. Exemples : LDA 1000 instruction à 1 adresse (6809) mov ax,[esi+4] instruction à 2 adresses (Pentium) add eax,ebx instruction à 2 adresses (Pentium) move d4,8(a6) instruction à 2 adresses (MC68000) move d3,d4 instruction à 2 adresses (MC68000) ld r0,4(r1) instruction à 2 adresses (PowerPC) add r3,r2,r1 instruction à 3 adresses (PowerPC) 22

Structure des instructions niveau machine(3/3) Il existe aussi des machines à zéro adresse. Ce sont des machines à pile, analogues aux calculatrice à notation polonaise inverse (RPN). Elle prennent tous ses opérandes sur la pile et inscrivent le résultat au sommet de la pile. 23

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.

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

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.

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

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.

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.

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 = { }

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.

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.

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.

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

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.

Modes d’adressage (4/4) Adressage relatif : adresse effective = contenu du champ adresse + contenu du Compteur Ordinal (CO) Utilisé dans des instructions de branchements