Cours 4 3. Construction d’un ordinateur Le matériel Chapitre 3 CSA

Slides:



Advertisements
Présentations similaires
Le micro-ordinateur.
Advertisements

Électronique de base du processeur
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
Architecture de machines Principes généraux
Architecture de machines Les entrées sorties Cours
TECHNOLOGIE DES ORDINATEURS
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Informatique Deug2 Sciences Eco S. Maabout 2004/2005.
GEF 435 Principes des systèmes d’exploitation
auxiliaires ou mémoires de masse ou alors secondaire).
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
Les microprocesseurs A. Objectifs de la séquence:
TRANSMISSION DES DONNEES INFORMATIQUES
Architecture de machines La mémoire
Architecture de machines Principes généraux
Architecture de machines La mémoire
Cours d’initiation en Informatique
Système d’exploitation : Assembleur
Cours d’algorithme M. Boulakradeche
Les systèmes à microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
ARCHITECTURE DES ORDINATEURS
Architecture d’un ordinateur
Chapitre n°2 : Architecture d'un ordinateur
Architecture de base d’un ordinateur
Réalisée par :Samira RAHALI
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Architecture des Ordinateurs
Algorithmique et Programmation
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Module 1 : Généralités sur les systèmes informatiques
Cours 3 2. Représentation et traitement des informations Le matériel
Cours 1 1.Introduction Le matériel Introduction au langage C
Cours 6 3. Construction d’un ordinateur Le matériel Chapitre 5 CSA
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.
Informatique 1. Les applications de l’informatique
Logique programmée & Microprocesseurs
Architecture Des Ordinateurs Microprocesseur Et Mémoire
Création d'un diaporama sous Open Office
3-Présentation d’un µP simple
REPRESENTATION DE L’INFORMATION
Structure de Base d’un ordinateur Matière : Informatique
Les Machines RAM.
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.
Gestion des Périphériques
Un programme Algorithme permettant au processeur de s'alimenter:
UE MAREP Cours 1 : Algèbre de Boole et entiers naturels
Patricia Renault UPMC 2005/2006
Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.
Codage de l’information
Chapitre 4 La représentation des nombres.
Explication de l’ordinateur et ses composantes
1.1: notions de bases de l’informatique
Architecture des ordinateurs
Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui.
Architecture d’un ordinateur
Initiation à l'informatique
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Architecture d'un automate programmable
Chapitre IV Architecture de VonNeumann. I/ Introduction John VonNeumann est un mathématicien d’origine Hongroise qui a participé au projet Manhattan.
Transcription de la présentation:

Cours 4 3. Construction d’un ordinateur Le matériel Chapitre 3 CSA 2017-04-01 3. Construction d’un ordinateur Schéma général d’un ordinateur Unités fonctionnelles d’un ordinateur Le cycle d’exécution Le matériel Chapitre 3 CSA Chapitres 3 et 4 CSAPP Synthèse du professeur sif-1053

Introduction 2017-04-01 Tout ordinateur, gros ou petit, se compose au minimum d’une mémoire centrale (RAM) qui contient les programmes, les données et éventuellement les résultats, d’une unité centrale de traitement (UCT, CPU) qui exécute les programmes, d’unités d’entrées-sorties (I/O) permettant des échanges avec l’extérieur, et d’un bus de liaison qui permet l’interconnexion des trois modules précédents. sif-1053

Schéma général d’un ordinateur 2017-04-01 sif-1053

Schéma général d’un ordinateur 2017-04-01 sif-1053

Schéma général d’un ordinateur (Little Man Computer) 2017-04-01 sif-1053

Schéma général d’un ordinateur 2017-04-01 sif-1053

Schéma général d’un ordinateur 2017-04-01 sif-1053

Schéma général d’un ordinateur 2017-04-01 Registres importants: PC (program counter) ou IP (instruction pointer) IR (Instruction register) AX (Accumulator register) FR (flag register) sif-1053

Schéma général d’un ordinateur 2017-04-01 sif-1053

Unité arithmétique et logique (ALU) 2017-04-01 1 1 sif-1053

CPU: PENTIUM 2017-04-01 sif-1053

CPU: PENTIUM PRO 2017-04-01 sif-1053

CPU: CORE DUO 2017-04-01 sif-1053

Schéma général d’un ordinateur 2017-04-01 L’information qui transite sur le bus de liaison se divise logiquement en trois catégories importantes bien distinctes: les données, que l’on définit comme tout ce qui est contenu dans la mémoire centrale; les adresses, qui permettent à l’unité centrale de lire ou d’écrire dans une position de mémoire particulière ou d’accéder à une unité périphérique quelconque; et enfin, divers signaux de commandes qui contrôlent le type et le synchronisme des échanges entre les différents composants. sif-1053

Schéma général d’un ordinateur 2017-04-01 Il est donc d’usage courant de représenter schématiquement le bus de liaison par trois bus spécialisés qui sont: le bus de données, le bus d’adresses et le bus de commandes. En pratique, les manufacturiers construisent généralement un seul bus physique qui intègre tous les signaux (données, adresses et commandes). sif-1053

Schéma général d’un ordinateur 2017-04-01 Chaque instruction exécutée par le CPU ne correspond pas à un seul événement, mais est constituée d’une séquence de phases distinctes appelées micro-cycles ou micro-opérations. Chacune de ces micro-opérations est cadencée par rapport à une horloge système Pour une horloge système de 1 GHz, chaque micro-opérations devrait durée au plus 1 nanoseconde t = 1/f , 1.0 = 1 X 10-9 s = 1 nsec 1 X 109 sif-1053

Schéma général d’un ordinateur 2017-04-01 Micro-opérations correspondant à l’exécution d’une instruction typique sif-1053

Bus d’adresse: 32 bits de large mais sera aussi élargi bientôt 2017-04-01 Bus de donnés: Typiquement de 32 bits de large mais de plus en plus à 64 bits Bus d’adresse: 32 bits de large mais sera aussi élargi bientôt Bus de commande: Environ 15 lignes responsables de l’aiguillage des tâches sif-1053

Bus du PENTIUM II: AGP (Accelerated Graphic Ports) et PCI (Peripheral Component Interface) 2017-04-01 sif-1053

Bus du PENTIUM IV (2002): AGP (Accelerated Graphic Ports) et PCI (Peripheral Component Interface) 2017-04-01 sif-1053

Bus du PENTIUM IV: PCI EXPRESS(Peripheral Component Interface) 2017-04-01 Bus du PENTIUM IV: PCI EXPRESS(Peripheral Component Interface) sif-1053

Bus (interconnexions typiques) 2017-04-01 sif-1053

Le rôle de la mémoire principale (RAM) 2017-04-01 Un programme doit être enregistré en mémoire avant le début de son exécution. La mémoire, à partir de laquelle le programme s’exécute, est appelée mémoire centrale ou mémoire principale (RAM). Cette mémoire contient d’une part, les instructions du programme que la machine doit exécuter; les données, souvent appelées opérandes, sur lesquelles la machine effectue les traitements dictés par les instructions; et enfin, les résultats qui sont les conséquences de l’exécution d’une ou de plusieurs instructions. sif-1053

2017-04-01 Pour celui qui programme un ordinateur, la mémoire apparaît comme un ensemble de cases juxtaposées. Chaque case est désignée par un numéro (0, 1, 2,,, 65535, etc.), que l’on appelle adresse, et contient un mot. Ce contenu est un mot binaire d’une longueur donnée et fixe. S’il est de 8 bits, on le nomme octet (byte). Pour en faciliter la lecture (pour un humain), cet octet est représenté par deux chiffres hexadécimaux. Chaque octet peut représenter: une instruction du programme, ou une donnée, ou un résultat. sif-1053

2017-04-01 sif-1053

Relation entre la largeur des adresses et la longueur de la mémoire 2017-04-01 sif-1053

Little-endian VS Big-endian: arrangement des octets en mémoire des mots de 16, 32, 64 bits 2017-04-01 Par exemple si nous déclarons les vecteurs suivants en langage C: unsigned char b1[ ] = {1, 2, 3, 4, 5, 6, 7, 8, 9 ,10, 252, 253, 254, 255 }; unsigned short b2[ ] = {1, 2, 3, 4, 5, 254, 255, 256, 257 , 65532, 65533, 65535, 65536 }; unsigned int b4[ ] = {1, 2, 3, 4, 5, 254, 255, 256, 4095 , 4096, 4097, 4294967295 }; sif-1053

Little-endian VS Big-endian INTEL VS MOTOROLA 2017-04-01 sif-1053

Le rôle de l’unité centrale 2017-04-01 L’unité centrale de traitement doit “traiter” essentiellement deux types d’information: les instructions et les opérandes (données). L’UCT est divisée fonctionnellement en deux unités constituantes: l’unité de contrôle (UC), également appelée unité d’instructions ou unité de commande; et l’unité arithmétique et logique (UAL) ou unité de traitement. sif-1053

2017-04-01 sif-1053

2017-04-01 Au cours d’un traitement, les différentes informations: instructions, données et résultats, doivent être temporairement conservées à l’intérieur de l’unité centrale dans des éléments de mémoire capables de contenir une information. Il s’agit tout simplement de cases de mémoire comparables à celles que l’on retrouve à l’intérieur de la mémoire principale (RAM), mais ces cases sont situées à l’intérieur de l’unité centrale et elles sont appelées registres. Exemples EAX: registre accumulateur de 32 bits AX: registre accumulateur de 16 bits sif-1053

2017-04-01 Une unité centrale possède toujours un certain nombre de registres que l’on identifie par des noms particuliers. Par exemple, un registre par où transite les données ou les résultats s’appelle habituellement “registre accumulateur”, ou plus simplement accumulateur. L ’ensemble des registres et de l ’UAL forment ce que l ’on identifie comme « le chemin des données » (data path). sif-1053

2017-04-01 sif-1053

Le rôle des unités d’entrées/sorties 2017-04-01 Jusqu’à présent notre ordinateur exécute un programme initialement enregistré en mémoire centrale, portant sur des données également enregistrées en mémoire centrale, et les résultats sont rangés dans la mémoire au fur et à mesure de leur obtention. Les programmes et les données que l’on charge en mémoire centrale proviennent d’unités périphériques, par exemple un terminal ou un lecteur de disque. Il faut donc donner à la machine les moyens de communiquer avec l’extérieur, c’est-à-dire avec ses unités périphériques. C’est le rôle des unités d’entrées-sorties (I/O). sif-1053

2017-04-01 Il existe deux grandes catégories d’unités périphériques, tout d’abord les unités de communication (terminal, souris, imprimante) qui permettent le dialogue homme/machine. Et en second lieu les mémoires auxiliaires (disques, bandes magnétiques) dont les capacités de stockage (en nombre d’octets) sont supérieures à celle de la mémoire principale. sif-1053

2017-04-01 Il existe également une autre catégorie d’unités de communication extrêmement importante, les unités qui permettent les communications machine/machine. On retrouve dans cette catégorie toutes les interfaces nécessaires au réseautage local ou étendu. sif-1053

2017-04-01 sif-1053

2017-04-01 sif-1053

PCI: Peripheral Component Interconnect 2017-04-01 PCI: Peripheral Component Interconnect ISA: Industry Standard Architecture sif-1053

Exécution d’un programme simple 2017-04-01 Examinons comment l’ordinateur s’y prend pour résoudre un programme simple, tel l’addition des nombres 8 et 2. Algorithme 1) Le nombre 8 est placé dans le registre accumulateur; 2) ajouter 2 au contenu de l ’accumulateur; 3) recopier le contenu de l’accumulateur en mémoire centrale, afin de conserver le résultat de l’addition; 4) on s’arrête ici. sif-1053

2017-04-01 Remarquer que l’on a délibérément choisi de ne pas transmettre le résultat de l’addition au monde extérieur (à un terminal par exemple), question d’avoir un programme simple. On se contente de conserver le résultat de l’addition en mémoire principale. sif-1053

2017-04-01 La seconde étape consiste à traduire notre algorithme selon un ensemble d’instructions un peu plus près de ce que peut comprendre un ordinateur. Pour ce faire, les manufacturiers d’ordinateurs offrent tous un langage symbolique qui nous permet de représenter notre algorithme sous une forme beaucoup plus compacte, et beaucoup plus près de ce que la machine peut comprendre. Par exemple, notre algorithme pourrait correspondre au langage symbolique suivant: sif-1053

1) MVI A, 8 // A <- 8 2) ADI A, 2 // A <- A + 2 2017-04-01 1) MVI A, 8 // A <- 8 2) ADI A, 2 // A <- A + 2 3) STA 2FFF // 2FFF <- A 4) HLT sif-1053

1) MVI A correspond au code 3E 2) ADI A correspond au code C6 2017-04-01 1) MVI A correspond au code 3E 2) ADI A correspond au code C6 3) STA correspond au code C9 4) HLT correspond au code 76 sif-1053

2017-04-01 Il ne nous reste plus qu’à assembler (recopier) les instructions de notre programme, en utilisant les codes numériques et en y ajoutant les opérandes que l’on code également sous forme hexadécimale. Ce qui nous donne: 1) 3E 8 2) C6 2 3) C9 2FFF 4) 76 sif-1053

2017-04-01 sif-1053

2017-04-01 Chez tous les ordinateurs, l’exécution d’une instruction par l’UCT suit un processus bien déterminé. Ce processus porte le nom de “cycle d’extraction, de décodage et d’exécution” ou tout simplement cycle extraction-décodage-exécution (en anglais, FETCH-DECODE-EXECUTE cycle). Certains auteurs l’appellent également FETCH-EXECUTE sif-1053

Little Man Computer VS CPU (Cycle d’exécution) 2017-04-01 sif-1053

Little Man Computer 2017-04-01 sif-1053

FETCH (LOAD) 2017-04-01 sif-1053

FETCH (LOAD) 2017-04-01 sif-1053

EXECUTE (LOAD) 2017-04-01 sif-1053

EXECUTE (LOAD) 2017-04-01 sif-1053

Étapes d’exécution d’une instruction 2017-04-01 Chargement de la prochaine instruction à partir de la mémoire dans le IR. Mise à jour du PC (PC <- PC + 1). Décodage de l ’instruction. Si un accès mémoire est requis (opérandes), déterminer l ’emplacement. Chargement du mots de mémoire, si requis, dans un des registres Exécution de l ’instruction. Répéter ces étapes pour la prochaine instruction. sif-1053

Étapes d’exécution d’une instruction (Pentium) 2017-04-01 Sur une architecture INTEL Pentium, nous pourrions exécuter l’instruction suivante: short int ncount = 256; // langage C MOV AX, 0x100 // langage assembleur 1011 1000 0000 0000 0000 0001 // binaire   Code de l’instruction Opérande de 16 bits sif-1053

Étapes d’exécution d’une instruction (Pentium) 2017-04-01 Registres: AX: Accumulateur IR: D’instruction IP: Pointeur d’instruction MAR: Adresse mémoire sif-1053

Étapes d’exécution d’une instruction (Pentium) 2017-04-01 Registres: AX: Accumulateur IR: D’instruction IP: Pointeur d’instruction MAR: Adresse mémoire MDR: Données mémoire Relation entre le MAR, le MDR et la RAM Address Data sif-1053

Étapes d’exécution d’une instruction (Pentium) 2017-04-01 Registres: AX: Accumulateur IR: D’instruction IP: Pointeur d’instruction MAR: Adresse mémoire MDR: Données mémoire Exemple d’interaction sif-1053

Cycle FETCH-EXECUTE (Pentium) 2017-04-01 Phase de retrait de l’instruction (FETCH) L’adresse dans le registre IP est copiée sur le bus des adresses et emmagasinée dans le registre MAR (MAR <- IP) Le registre IP est incrémenté et pointe sur l’emplacement suivant dans la mémoire contenant le programme (IP++) Le module de mémoire sélectionne l’emplacement requis et copie son contenu sur le bus de données (DBus <- [MAR]) Le CPU transfert le contenu du bus de données dans le registre IR (IR <- DBus) Le décodage de l’instruction dans le registre IR commence alors sif-1053

Cycle FETCH-EXECUTE (Pentium) 2017-04-01 Phase de retrait de l’instruction (FETCH) IP sif-1053

Cycle FETCH-EXECUTE (Pentium) 2017-04-01 Phase d’exécution de l’instruction (EXECUTE) Cette phase peut varier selon le type d’instruction. Pour le MOV AX, 256 les phases sont: Le contenu du registre IP est copié sur le bus d’adresse et emmagasiné dans le registre MAR (MAR <- IP) Le registre IP est incrémenté (IP++) L’opérande de 16 bits (256) sélectionnée en mémoire est déposée sur le bus des données ( DBus <- [MAR]) Le CPU emmagasine la valeur sur le bus de données dans le registre AX (AX <- DBus) sif-1053

Cycle FETCH-EXECUTE (Pentium) 2017-04-01 sif-1053

Cycle FETCH-EXECUTE (Pentium) Chronologie 2017-04-01 sif-1053

Cycle FETCH-EXECUTE Sans pré-chargement Avec pré-chargement 2017-04-01 La séquences FECTH-EXECUTE peut être grandement accélérée en effectuant un pré-chargement des instructions Sans pré-chargement Avec pré-chargement sif-1053

Cycle FETCH-EXECUTE 2017-04-01 Le pré-chargement des instructions doit alors être effectué par une unité dédiée sif-1053

Architecture avec une unité FETCH indépendante 2017-04-01 sif-1053