La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Architecture matérielle des ordinateurs

Présentations similaires


Présentation au sujet: "Architecture matérielle des ordinateurs"— Transcription de la présentation:

1 Architecture matérielle des ordinateurs
ESME - Linux et programmation system - A.TALBI

2 Architecture basique d’un système numérique
Fonctionnement: Le microprocesseur charge un programme en mémoire depuis le disque dur (ou mémoire flash ROM) l’exécute puis affiche le résultat sur l’écran. Typiquement c’est l’architecture des premiers ordinateurs Un problème dans cette architecture !!!! La vitesse de fonctionnement de ce système (fréquence) dépend du périphérique le plus lent car tous les périphériques ainsi que le microprocesseur partage la même horloge. Le processeur est contraint à fonctionner sur la même horloge donc à la même fréquence que les périphériques Actuellement les périphérique ont des fréquence allant de quelques KHZ à quelques centaines de MHZ au plus. Or les unités de calcul modernes sont conçues pour avoir des horloges très rapide (de l’ordre du GHZ) afin d’accélérer les calculs et augmenter les performance Solution: Utilisation dans le microprocesseur d’un cache entre l’unité de calcul et le reste du système Unité de calcul (Microprocesseur) Bus adresses Bus donnés Horloge (CLK) mémoire Device 1 (ex: écran) Device 2 (ex: disk, ROM) ….Device n ESME - Linux et programmation system - A.TALBI

3 ESME - Linux et programmation system - A.TALBI
Architecture d’un calculateur avec un cache Le cache (antémémoire) : Le cache est une mémoire rapide qui enregistre temporairement des parties (copies) de données (d’espace mémoire) provenant de la mémoire principale afin que l’unité de calcul (UC) puisse y accéder rapidement Fonctionnement: 1- le UC demande une donnée à une certaine adresse mémoire (qu’on appellera la cible). 2- Si la cible est présente dans le cache (on parle alors de hit ou succès) la cible est transmise à l’UC. 3- Si la cible n’est pas présente dans le cache (on parle alors de miss ou échec) le cache va lire la cible depuis la mémoire principale puis la transmet à l’UC. En fait le cache va lire va lire un block de donnée qui contient (entoure) la cible car la probabilité d’utiliser une autre donnée (cible) adjacente est grande (ceci est du au fait que les instructions et les variables dans un programme se situent dans la même zone mémoire) on parle alors de localité spatiale) et la probabilité d’utiliser la même donnée dans le future est grande (cas de boucles dans un programme) on parle alors de localité temporelle. Microprocesseur Unité de calcul Bus data du microprocesseur Horloge interne du microprocesseur (plus rapide que celle du bus) Bus adresse du microprocesseur Cache (Mémoire interne) Bus adresses Bus donnés Horloge bus (CLK) mémoire Device 1 (ex: écran) Device 2 (ex: clavier) ….Device n ESME - Linux et programmation system - A.TALBI

4 ESME - Linux et programmation system - A.TALBI
Architecture d’un calculateur avec un cache Microprocesseur mémoire Device 1 (ex: écran) Device 2 (ex: clavier) ….Device n Bus adresses Bus donnés Horloge bus (CLK) Unité de calcul Cache (Mémoire interne) Horloge interne du microprocesseur (plus rapide que celle du bus) Bus data du microprocesseur Bus adresse du microprocesseur Problème dans cette architecture !!! On oblige tous les périphériques à fonctionner à la même fréquence (horloge) que le périphérique le plus lent  on perd en performance Solution: Utiliser des bridges « ponts » entre les bus rapides et bus lents ESME - Linux et programmation system - A.TALBI

5 Architecture d’un ordinateur avec bridge
Microprocesseur Unité de calcul Cache Les bridges (chipsets) font le lien entre différents bus de différents types et de différentes fréquences Bus adresses Bus donnés Horloge bus rapide (ex: > 200 MHZ) mémoire Devices rapide (1…n) (ex: carte graphique) Bus Bridge (Chipset) Bus adresses Bus donnés Horloge bus moyen (ex: 10 ~ 200 MHZ) Devices moyens (1…n) (ex: carte réseau, usb, disk…) Bus adresses Bus donnés Horloge bus lent ( ex: < 10 MHZ) Autres bus…. Devices lents (1…n) (ex: clavier, sourie…) Bus Bridge ESME - Linux et programmation system - A.TALBI

6 Architecture d’un ordinateur avec bridge
Microprocesseur Unité de calcul Cache Problème dans cette architecture !!!! Si le processeur décide d’accéder à un device lent ou moyen (ex: lire le caractère tapé sur le clavier, ou lire un block de données sur le disk dur…) alors tous le système est bloqué en attendant la réponse de ce device, et le processeur ne peut rien faire entre temps  en perd en performance Solution 1: Les microprocesseur multi-cœurs Solution 2: Le DMA Bus adresses Bus donnés Horloge bus rapide (ex: > 200 MHZ) mémoire Devices rapide (1…n) (ex: carte graphique) Bus Bridge (Chipset) Bus adresses Bus donnés Horloge bus moyen (ex: 10 ~ 200 MHZ) Devices moyens (1…n) (ex: carte réseau, usb, disk…) Bus adresses Bus donnés Horloge bus lent ( ex: < 10 MHZ) Devices lents (1…n) (ex: clavier, sourie…) Bus Bridge Autres bus…. ESME - Linux et programmation system - A.TALBI

7 Architecture d’un ordinateur multi-coeur
Microprocesseur Solution 1: Les processeurs multi-coeurs Même si un cœur est bloqué en attendant un périphérique, les autres cœur peuvent continuer à exécuter des instructions Ceci implique un modèle de programmation en multi-taches, c-a-d la possibilité d’avoir plusieurs taches qui s’exécutent en parallèles chacunes d’elles étant exécutée sur un cœur. Sur les systèmes modernes basés sur linux ou autre, un processus (un programme en cours d’exécution) possède des taches (des fonctions à exécuter). Le système d’exploitation possède lui-même une tache qui est responsables de la répartition de l’exécution des différentes taches de tous les processus sur les différents cœurs du microprocesseur. Cette répartition s’appelle l’ordonnancement (scheduling) Cœur 1 Cœur 2 Unité de calcul Unité de calcul Cache L1 Cache L1 Cache L2 Bus system mémoire Carte graphique Bus Bridge (Chipset) Carte réseaux Bus IDE Carte son Disk1 Disk2 clavier Sourie Port USB ESME - Linux et programmation system - A.TALBI

8 Architecture d’un ordinateur avec DMA dans le bridge
microprocesseur (µP) Master 1- Une tache fait un read sur un fichier 5- l’UC peut reprendre la tache arrêtée à la phase 1 Solution 2: Le DMA (Direct Memory Access) Le DMA est conçu pour déchargé le processeur du transfert de données entre les périphériques et la mémoire et laisser cette tache à un contrôleur dédié à cette fin. De cette façon le processeur peut exécuter d’autres taches pendant les transfert DMA. Cette technique introduit la notion de master et slave: Un bus Master est un périphérique qui a la capabilité d’initier un transfert de données entre lui et un autre périphérique. Dans le cas de la figure, le microprocesseur et le bridge sont des masters. Un slave n’a pas cette capabilité (ex la mémoire) 4- Le DMA Controller du bridge signal à l’UC (interruption) que le transfert s’est terminé 2- Le µP configure le DMA Controller du bridge pour un transfert d’un block de données depuis le disque dur vers la mémoire puis exécute une autre tache. BUS 3- Le DMA Controller du bridge effectue le transfert du block de données depuis le disque dur vers la mémoire Bridge (Chipset) Mémoire (Slave) DMA Controller (Master) Disque dur (Slave) ESME - Linux et programmation system - A.TALBI

9 Architecture d’un ordinateur: différentes configuration de DMA
microprocesseur (µP) Master Solution 2: Le DMA (Direct Memory Access) On peut trouver des DMA controller à tous les niveaux: dans le processeur lui-même, dans une carte graphique ou une carte réseau… Les DMA controller sont très utils pour fluidifier le trafic sur le bus ainsi optimiser au mieu les performance, leur utilité est indispensable dans certaines situation comme: Les accès à la mémoire de la carte graphique Les accès au disques durs Les accès au cartes réseaux DMA Controller (Master) mémoire Bridge (Chipset) Carte graphique Carte réseau DMA Controller (Master) DMA Controller (Master) DMA Controller (Master) ESME - Linux et programmation system - A.TALBI

10 Architecture d’un ordinateur: Les contrôleurs
Bus adresse et data Les contrôleurs: Un contrôleur de périphérique est le module électronique qui fait l’interface entre le bus et le port physique sur une carte. Il est en général constitué d’une unité de control et d’un datapath et souvent d’un étage de puissance pour le connecter au port physique de la carte en cas où il est nécessaire d’adapter les tensions et lui puissances Signaux de control Contrôleur de périphérique Datapath (Par où passe les données) Unité de control registres de configurations Étage de puissance Port physique ESME - Linux et programmation system - A.TALBI

11 Architecture d’un ordinateur: exemple de contrôleurs
Bus system Bus PCI Bus IDE Contrôleur mémoire (Sur la carte mère) Contrôleur IDE (Sur la carte mère) Contrôleur carte graphique ESME - Linux et programmation system - A.TALBI

12 Architecture d’un ordinateur: Architectures Intel des années 2000
ESME - Linux et programmation system - A.TALBI

13 Architecture d’un ordinateur: Architectures Intel des années 2012
Remarque: Par rapport à l’architecture précédente, le pont (bridge) nord à disparu !!!! …. A vrai dire il est maintenant intégré sur le processeur lui même ESME - Linux et programmation system - A.TALBI

14 Architecture d’un ordinateur: ARM
ESME - Linux et programmation system - A.TALBI

15 ESME - Linux et programmation system - A.TALBI
Architecture d’un ordinateur: Multicore DSP+ARM KeyStone II System-on-Chip (SoC) SoC: Lorsqu’on trouve plusieurs cœurs avec plusieurs contrôleurs de périphériques intégrés sur la même puce avec un gros bus (un interconnect) on dit que c’est un SOC (System-On-Chip). Le bus est appelé un NoC (Network on Chip) ESME - Linux et programmation system - A.TALBI


Télécharger ppt "Architecture matérielle des ordinateurs"

Présentations similaires


Annonces Google