Génie de la production automatisée GPA435 S.E. et prog. système Cours #1 Systèmes d’ordinateurs T. Wong, ing., Ph.D. Jean-Phillipe Roberge, ing., M. ing. P. Ouimet, ing., jr. GPA435 Systèmes d'exploitation et programmation de systèmes Cours #1 Systèmes d’ordinateurs – éléments communs Cours #1 Objectifs Éléments Exemples Discussion Motivation • Les ordinateurs sont des machines électroniques gérés par leur système d’exploitation (SE). Pour maîtriser les SE, il faut bien connaître le matériel à gérer. Exercices Lecture Objectifs d’apprentissage • Décrire les éléments communs de différents systèmes informatiques. • Expliquer l’architecture de base des ordinateurs. • Discuter des tendances associées aux systèmes d’ordinateurs modernes. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs Cours #1 Objectifs Éléments Exemples 1. Abstraction Un ordinateur est composé d’un ou plusieurs modules de processeur, mémoire, bus systèmes et composants d’entrée/sortie (E/S). • Processeur: contrôle l’opération de l’ordinateur et effectue le traitement des données. Discussion Exercices Lecture • Mémoire principale: stocke les données et les instructions de programmes . • Bus système: Permet la communication entre les processeurs, la mémoire et les composants E/S. • Composants d’entrée/sortie: déplace les données entre l’ordinateur et son environnement externe. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments Exemples • L’une des fonctions du processeur est d’échanger des données avec la mémoire principale et les composants E/S via le bus système. • Le processeur dispose de 4 registres internes pour réaliser ces échanges: Discussion • Exercices • Lecture • • MAR (memory address register) contient l’adresse de la mémoire principale pour l’écriture ou la lecture. MBR (memory buffer register) contient la donnée à écrire dans (ou à recevoir de) la mémoire dont l’adresse est spécifiée par le MAR. IOAR (in-out address register) joue le même rôle que le MAR pour les composants E/S. IOBR (in-out buffer register) jour le même rôle que le MBR pour les composants E/S. • De même, le processeur dispose de 2 registres internes utilisés dans l’exécution des instructions d’un programme: • • PC (program counter) contient l’adresse mémoire de l’instruction à exécuter. IR (instruction register) contient l’instruction lue de la mémoire à l’adresse spécifiée par le PC. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Processeur Éléments PC MBR Exemples IR MAR Discussion Exercices Bus système Mémoire principale 0 instruction instruction 1 2 3 IOBR Unité d’exécution IOAR instruction buffer buffer donnée donnée donnée buffer buffer Lecture N-2 N-1 buffer buffer Composants E/S GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Le bus système est le lien physique et logique des éléments communs (processeur, mémoire principale, composants E/S, etc.). • Les instructions et les données des programmes sont stockés dans la mémoire principale. • Cela exige 2 espaces d’adresse afin d’en faire la distinction entre une adresse de données et une adresse d’instruction. • Un 3e espace d’adresse est normalement nécessaire pour identifier les composants E/S. • Les composants E/S sont dotés de mémoire tampon (buffer) puisque les périphériques sont normalement beaucoup plus lents que l’ordinateur. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 • Chargement d’une instruction Objectifs Éléments Exemples Discussion Exercices Lecture L’adresse mémoire de l’instruction est copiée du PC dans le MAR. Le contenu du MAR est traduit en signaux à travers le bus système pour activer la bonne case de mémoire. Le contenu de la case mémoire est copié dans le MBR. L’instruction ainsi lue est transférée dans le IR pour être exécutée. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Écriture d’une donnée • Après le décodage d’une instruction L’adresse mémoire de la donnée est placée dans le MAR. La valeur de la donnée est placée dans le MBR. Le contenu du MAR est traduit en signaux pour activer la bonne case de mémoire. Le contenu du MBR (la valeur de la donnée) est copié dans la case mémoire. La lecture/écriture d’une donnée de/vers la mémoire principale peut prendre un certain temps dépendant de la rapidité de la mémoire. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Lecture d’une donnée d’un composant d’E/S • Après le décodage d’une instruction L’adresse du composant d’E/S est placée dans le IOAR. Le contenu du IOAR est traduit en signaux pour activer le bon composant d’E/S. La donnée est copiée de la mémoire tampon du composant d’E/S dans le IOBR. Le contenu de IOBR est transféré dans un registre de l’unité d’exécution pour être traité. La lecture/écriture d’une donnée de/vers un composant d’E/S peut prendre un certain temps dépendant de la rapidité du composant. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Mécanisme d’interruption • Suspendre temporairement une séquence d’exécution normale du processeur pour traiter à d’autres évènements logiciels ou matériels. • Type d’interruption: Entrée/sortie Communication avec un périphérique du système d’ordinateur. Le contrôleur de composants d’E/S génère des interruptions au processeur pour assurer la communication entre l’ordinateur et ses périphériques. Programme Au cours de l’exécution d’un programme, le processeur peut rencontrer des situations exceptionnelles (division par zéro, manque de mémoire, etc.) Le processeur est capable d’en générer lui-même des interruptions afin de gérer des exceptions survenues lors d’une séquence d’exécution. Un programme peut aussi contenir des instructions qui génèrent des interruptions: INT (processeurs x86 d’Intel, SWI (processeurs ARM), SEI pour les processeurs ATMEL). GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments • Mécanisme d’interruption • Suspendre temporairement une séquence d’exécution normale du processeur pour traiter à d’autres évènements logiciels ou matériels. • Type d’interruption: Exemples Discussion Exercices Lecture Unité d’exécution Horloge interne Permettre au système d’exploitation (SE) et programmes de réaliser des tâches à intervalles réguliers. L’horloge interne cadence la séquence d’exécution du processeur et les accès au bus système. Elle génère des interruptions périodiques pour permettre la réalisation de tâches qui nécessitent une régularité. Défaillance matérielle Des défaillances détectables par le processeur provoquent nécessairement une interruption afin de les gérer convenablement. Les défaillances non catastrophiques sont gérées par l’écriture de messages d’erreur dans l’archive du système (system log) et par l’affichage d’un message à l’écran. Les défaillances catastrophiques provoquent la sauvegarde de l’état du processeur et du contenu de la mémoire sur disque (core dump) puis l’arrêt du système d’ordinateur. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 • Mécanisme d’interruption – Exemple • • Objectifs Éléments Interruption dans le contexte d’E/S. Processeur 1 GHz ~ 109 instructions / s (théorique) • Exemples • Discussion • Exercices • Lecture • Disque SSD (Flash) ~ 41 Mo / s ~ 23 ns (temps de lecture) ~ 23 fois plus lent (théorique) Imprimante laser haute gamme ~ 1 pages / s ~ 2000 caractères / page ~ 500 000 fois plus lent (théorique). Disque rigide haute gamme 10 000 rpm ~ 6 ms (temps d’accès) ~ 6 millions fois plus lent (théorique). Dactylographe professionnel ~ 475 caractères / min ~ 8 caractères / s ~ 125 millions fois plus lent (théorique). Problème: Processeur perd beaucoup de temps à attendre! Programme Pilote périphérique 1 Écrire disque prépare périphérique pour accès 2 3 Accès 5 Lire USB 4 Périphérique exécute les commandes reçues Vérifie l’état de l’accès Continue ou arrêt Durant ce temps le processeur est en attente. Le programme est gelé. Exécution des commandes par le périphérique externe au processeur. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments Exemples Discussion Exercices • Mécanisme d’interruption – Exemple • • Processeur perd beaucoup de temps à attendre! Solution: Interruption du processeur par les périphériques ISR Ports USB ISR des disques Vérifie l’état de l’accès continue ou arrêt Programme 2 1 4 Lecture Pilote périphérique Écrire disque prépare périphérique pour accès Accès Périphérique exécute les Commandes reçues 3 Remarques: • L’interruption du périphérique peut survenir à n’importe quel moment. • La gestion d’une interruption est assurée par un programme ISR (interrupt service routine) conçu pour le périphérique. • La fin du programme ISR retourne le contrôle au programme à l’endroit où il a été interrompu. 5 Lire USB Exécution des commandes par le périphérique externe au processeur. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 2. Architecture simplifiée Cours #1 Objectifs Éléments • Mécanisme d’interruption – Exemple • Solution: Interruption du processeur par des périphériques. Analogie simpliste Exemples • P1 Discussion • Exercices Lecture P1 commande un repas pour livrer. Le repas peut prendre un certain temps pour arriver. 1 3 2 4 5 GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs Éléments • Processeur • Exemples Discussion • Exercices Multi-cœur: un processeur renfermant plusieurs circuits capables d’exécuter des programmes de façon autonome et travaillant en parallèle. GPU (graphical processing unit): processeur dédié au calcul numérique. Les GPU utilisent la technologie SIMD (single instruction multiple data) pour effectuer rapidement des opérations arithmétiques. Lecture 5.1 15 1.7 120 4.1 41 5 2 9.2 56 6.7 122 + = La technologie SIMD permet le calcul de ces additions en même temps (dans un même cycle d’horloge) • Composants E/S • SATA (serial advanced technology attachment), eSATA (external SATA), eSATAp (external SATA powered), mSATA (mini SATA) et SATA express sont différentes versions physiques d’une interface développée pour relier des périphériques (lecteur CD/DVD, disque rigide, disque à mémoire, etc.) • Version 3.2 permet un transfert théorique de 16 Gbits/s. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs Éléments • Composants E/S • • Exemples Discussion Exercices USB (universal serial bus) est une interface physique et logique pour relier des périphériques (CD/DVD, disque rigide, clavier, souris, etc.). • Version 3.1 permet un transfert théorique de 10 Gbits/s en mode SuperSpeed. Thunderbolt est une interface physique combinant les fonctionnalités du PCI Express et du mini DisplayPort en un seul port physique. • Lecture • PCI Express: une interface sérielle à haute vitesse convenable pour la vidéo et les cartes de réseaux. DisplayPort: une interface physique pour le signal vidéo numérique. La version 1.3 devrait pouvoir offrir la TV 8k (résolution 7680 × 4320). GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Mémoire • Pour réduire le coût et augmenter la vitesse d’accès aux données, la mémoire est organisée en hiérarchie. L’hiérarchisation de la mémoire est en fait une solution de compromis car: • Réduction du temps d’accès des données augmentation du coût par bit. • • • Réduction de la taille des circuits (miniaturisation et intégration) exige un procédé de fabrication de très grande précision. Augmentation de la capacité de la mémoire réduction du coût par bit. • Principe économique de la fabrication par lots. • À cause des contraintes thermiques et de la fiabilité, la mémoire n’est pas fabriquée sous forme monolithique – elle est composée de modules discrets câblés par des circuits. Plus la capacité de la mémoire est grandes, plus elle dispose de modules discrets et plus il y aura de circuits de contrôle d’où l’augmentation du temps (moyen) d’accès. Augmentation de la capacité de la mémoire augmentation du temps d’accès des données. • GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs • Mémoire • Éléments • Exemples Discussion Pour réduire le coût et augmenter la vitesse d’accès aux données, la mémoire est organisée en hiérarchie. L’hiérarchisation de la mémoire est en fait une solution de compromis car nous avons, pour une technologie de fabrication et un coût fixe: • • • Exercices Lecture • L’hiérarchisation de la mémoire – différentes technologies et à coûts variables: $$$ $$ $ Réduction du temps d’accès des données augmentation du coût par bit. Augmentation de la capacité de la mémoire réduction du coût par bit. Augmentation de la capacité de la mémoire augmentation du temps d’accès des données. Registres Antémémoire Mémoire principale Temps d’accès ultra rapide (1 cycle d’horloge) via des circuits dédiés dans le processeur. Utilisent l’espace précieux du processeur. Très peu nombreux car dispendieux (coût et espace). Temps d’accès très rapide (4 à 40 cycles d’horloge) utilisant la technologie des bascules pour mémoriser 1 bits. Le temps d’accès est fonction de la capacité. Coût élevé. Temps d’accès rapide utilisant la technologie par charge capacitive pour mémoriser 1 bit. Structure peu complexe permettant une grande capacité à faible coût. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs • Mémoire • Éléments Exemples L’hiérarchisation de la mémoire – différentes technologies et à coûts variables: Par contre pour que ça marche, il faudrait réduire la fréquence d’accès à la mémoire des niveaux inférieurs de l’hiérarchie. Discussion • Vitesse d’accès augmente Lecture Quantité de mémoire augmente Exercices • L’astuce est de pré-charger les instructions et données de la mémoire principale dans l’antémémoire. Voici un scénario explicatif: • • • • • Le processeur tente d’accéder à une adresse mémoire. Il vérifie d’abord s’il existe une copie dans l’antémémoire. Si oui, le processeur accès la donnée via l’antémémoire (cache hit). Si non (cache miss), le processeur accède à la donnée dans la mémoire principale. Aussi un circuit dédié charge un bloc d’instructions (données) voisines de la mémoire principale dans l’antémémoire. Ce pré-chargement augmente la chance que les prochains accès se fassent dans l’antémémoire. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs Éléments Exemples • Mémoire • L’hiérarchisation de la mémoire – différentes technologies et à coûts variables: Analogie simpliste du préchargement des instructions et des données Discussion Exercices • Les voyages d’affaire effectués par le personnel doivent être déclarés en 2 étapes: • • Lecture • Ces formulaires sont déposés dans des casiers voisins sur le comptoir au secrétariat. • • Ces trois formulaires sont dans des casiers voisins qu’ils sont logiquement reliés. Si l’un des formulaires n’est plus disponible: • • Préchargement ;-) Avant le départ: Compléter le formulaire « Projet de voyage ». Après le retour: Compléter les formulaire « Rapport de voyage » et « Rapport des dépenses ». Le secrétaire ira en procurer d’autres copies dans le dépôt à l’extérieur du secrétariat. Le secrétaire procurera aussi les 2 autres formulaires pour réduire ses déplacements au dépôt. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs • Bus système Processeur Éléments Exemples Discussion Exercices Lecture PC MBR IR MAR Bus système Mémoire principale 0 instruction instruction 1 2 3 IOBR Unité d’exécution instruction IOAR donnée donnée donnée Composants E/S buffer buffer buffer buffer N-2 N-1 buffer buffer Adresse Contrôle Données GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 • Bus système Éléments Processeur Exemples PC MBR Discussion IR MAR IOBR Exercices Lecture Unité d’exécution IOAR Bus système buffer buffer buffer buffer buffer 0 1 2 3 instruction Composants E/S buffer Mémoire principale instruction instruction Antémémoire et Contrôleur (Bridge) Objectifs Bus d’E/S Contrôleur bus E/S (Bridge) donnée donnée donnée N-2 N-1 GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 3. État de l’art des éléments communs Cours #1 Objectifs Éléments • Bus système • • • • Exemples Discussion Taux de transfert entre Bus système et la mémoire principale: • Systèmes utilisant le bus HyperTransport 3.1: • • • • Exercices Lecture • AMD64 ATI Radeon Express nVidia nForce Cisco QuantumFlow Systèmes utilisant le bus QPI: • • • • • HyperTransport 3.1: 51 Go/s théorique QPI (QuickPath Interconnect): 32 Go/s théorique PCI express 3.0: 31 Go/s théorique Intel Core i7, Xeon IBM x3850 X5 Mac Pro HP z820 Enfin, les contrôleurs (Bridges) du bus système est maintenant remplacés par des interfaces à aiguillage: DMI (direct media interface) et QPI rendant le concept de bus système de plus en plus désuet. • • Aiguillage: connexion directe par commutateurs. Aiguillage convient beaucoup mieux aux systèmes multiprocesseurs. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 4. Exemples visuels Cours #1 Objectifs • PC Processeur Mémoire principale Éléments Exemples Discussion Exercices Contrôleur du bus E/S Lecture Contrôleur du bus système Il existe la possibilité d’expansion d’où la nécessité d’un contrôleur générique de composants d’E/S GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 4. Exemples visuels Cours #1 Objectifs • MacBook Pro Processeur et Contrôleur du bus système Éléments Exemples Discussion Exercices Différents contrôleurs de composants E/S Lecture Mémoire principale Les composants d’E/S sont limités d’où l’implantation directe des contrôleurs sur la carte électronique. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 4. Exemples visuels Cours #1 Objectifs Éléments • iPhone 3G Processeur et Contrôleur écran tactile Contrôleur du bus système Accéléromètre Exemples Discussion Exercices Processeur Télécommunication Lecture Le règlement FCC des télécommunications exige la certification des processeurs manipulant le signal RF. D’où l’existence d’un processeur distinct pour la téléphonie sans-fil. Mémoire principale (Flash) GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 4. Exemples visuels Cours #1 Objectifs • Contrôleur disques réseaux Éléments Connecteur disque rigide Processeur et Contrôleur du bus système Exemples Un contrôleur de disques réseaux n’a que deux composants d’E/S: les disqes et le réseau! Discussion Exercices Lecture Mémoire principale Contrôleur (E/S) Gigabit Ethernet GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 4. Exemples visuels Cours #1 Objectifs Éléments • Automate PLC Alimentation Exemples Discussion Exercices Lecture Modules d’E/S analogiques et numériques Contrôleur des bus industriels Processeur, mémoire, contrôleur du bus système Contrôleur des composants d’E/S À l’autre extrême, les automates programmables gèrent un très grand nombre de composants d’E/S! GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • L’architecture présentée dans ce chapitre (processeur, mémoire, bus et E/S) est connue sous le nom générique d’architecture von Neumann (John von Neumann, scientifique d’origine hongroise, 19031957) • • • • Quelle est la nature inhérente d’une telle architecture? Piste: Considérer: X, + , /, 2 sont des instructions A=BC+D/F A, B, C, D, F, G, H sont des données G = H2 + A Quel est le goulot d’étranglement (bottleneck) d’une telle architecture? Piste: GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • L’architecture présentée dans ce chapitre (processeur, mémoire, bus et E/S) est connue sous le nom générique d’architecture von Neumann (John von Neumann, scientifique d’origine hongroise, 19031957) • • Peut-on imaginer un ordinateur avec une architecture différente? Piste: corriger les lacunes de l’architecture von Neumann. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion Exercices • L’architecture présentée dans ce chapitre (processeur, mémoire, bus et E/S) est connue sous le nom générique d’architecture von Neumann (John von Neumann, scientifique d’origine hongroise, 19031957) • • Peut-on imaginer un ordinateur avec une architecture différente? Piste: corriger les lacunes de l’architecture von Neumann. Lecture Architecture Stream: certains processeurs graphiques nVidia GeForce, ATI/AMD Firestream. Architecture Harvard: certains processeurs ARM, ATMEL, INTEL et Texas Instrument. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion • Les interruptions sont utiles pour augmenter le taux d’utilisation du processeur lorsque ce dernier doit communiquer avec des périphériques lents. Pourquoi ne pas créer des périphériques aussi rapides que le processeur? • Piste: lois physiques et $$ Exercices Lecture • Quelles sont les alternatives au concept d’interruption? • Piste: musique numérique (sampling), élections (polling) GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion • Les interruptions sont utiles pour augmenter le taux d’utilisation du processeur lorsque ce dernier doit communiquer avec des périphériques lents. Pourquoi ne pas créer des périphériques aussi rapides que le processeur? • Piste: lois physiques et $$ Exercices Lecture • Quelles sont les alternatives au concept d’interruption? • Piste: musique numérique (sampling), élections (polling) GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion • Les interruptions sont utiles pour augmenter le taux d’utilisation du processeur lorsque ce dernier doit communiquer avec des périphériques lents. Pourquoi ne pas créer des périphériques aussi rapides que le processeur? • Piste: lois physiques et $$ Exercices Lecture • Quelles sont les alternatives au concept d’interruption? • Piste: musique numérique (sampling), élections (polling) Prêt ? continûment non Prêt ? non Faire autres tâches Non continûment GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion • Quels sont les ordinateurs les plus puissants à l’heure actuelle? • • • • Exercices Lecture Piste: http://www.top500.org/lists/ Tflops/s = 1012 (1000 Giga) opérations en virgule flottante par seconde. RMAX: performance maximale obtenue via LINPACK (routines de calculs numériques) RPEAK: performance théorique basée sur les spécifications techniques des ordinateurs. • Ces superordinateurs sont gérés par quel système d’exploitation? • Piste: le sujet principal de ce cours. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion • Quels sont les ordinateurs les plus puissants à l’heure actuelle? • • • • Exercices Lecture Piste: http://www.top500.org/lists/ Tflops/s = 1012 (1000 Giga) opérations en virgule flottante par seconde. RMAX: performance maximale obtenue via LINPACK (routines de calculs numériques) RPEAK: performance théorique basée sur les spécifications techniques des ordinateurs. • Ces superordinateurs sont gérés par quel système d’exploitation? • Piste: le sujet principal de ce cours. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 5. Discussion Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Quel est le point commun de ces produits de haute technologie? • • • • • • • • • • • iPod, iPhone et iPad. Téléphones intelligents Android. GPS Garmin (GXM, Nuvi, Nuvifone). Systèmes OnStar. Calculatrice TI-Nspire. Honeywell Critical Terrain Awareness Technology (aviation). CAE Simulateurs de vol. Machines-outils CNC de LANG (Allemagne) et de Sherline (USA). Disques réseaux de LaCie, Netgear, Qnap, Synology et vBuffalo Technology. GE Healthcare GENIE nuclear medicine imaging system. GE/Marquette Solar 9500 Patient Monitor. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 6. Exercices Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • L’hiérarchisation de la mémoire est une solution de compromis pour obtenir un accès mémoire rapide tout en maintenant le coût à un niveau acceptable. Ainsi, • • La donnée/instruction se trouve dans l’antémémoire (cache hit) accès rapide. La donnée/instruction n’est pas dans l’antémémoire (cache miss) chargement (données/instruction) de la mémoire principale dans l’antémémoire et ensuite de l’antémémoire dans le processeur. • Donner un graphique « temps d’accès moyen versus % cache hit » décrivant cette situation. GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 6. Exercices Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Il est indiqué que le pré-chargement des données/instructions de la mémoire principale dans l’antémémoire (cache) contribue positivement au % de cache hit x Lors d’un cache miss • Il faut charger le contenu x de la mémoire principale dans l’antémémoire. • Au lieu de charger seulement le contenu recherché, on charge un bloc de mémoire Ainsi, on aura • Une grande chance que les prochains accès mémoire se fassent dans l’antémémoire. Il s’agit du principe de localité spatiale • Les données (les instructions) nécessaires à l’exécution d’un programme se trouvent souvent à des adresses mémoires voisines. • Quelle structure de données concorde bien au principe de localité spatiale? • Quel style de programmation convient mal au principe de localité spatiale? GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 6. Exercices Cours #1 Objectifs Éléments • Le pré-chargement de la mémoire principale dans l’antémémoire crée deux copies de la même donnée Exemples x Discussion x Exercices • 1 copie dans la mémoire principale. • 1 copie dans l’antémémoire. Pour les données cela peut causer le problème d’intégrité: • Lecture La donnée est modifiée dans l’antémémoire mais pas dans la mémoire principale. • Comment résoudre ce problème d’intégrité (sans recopier toute l’antémémoire dans la mémoire principale)? • Instaurer une politique d’écriture de données: GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 6. Exercices Cours #1 Objectifs Éléments Exemples • L’imprimante signale une interruption au processeur et elle est gérée par le programme de gestion d’interruption ISR_x. Durant l’exécution du programme ISR_x, la carte de réseau signale une interruption au processeur pour lui indiquer l’arrivée d’un paquet de données. Discussion A Exercices B Lecture • Qu’arrive-t-il au programme de gestion d’interruption ISR_x? Donner 2 dénouements possibles: GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs 6. Exercices Cours #1 Objectifs Éléments • Donner un schème général permettant un processeur de gérer des interruptions multiples Exemples Discussion Exercices Division par zéro Lecture • Catégoriser les ISR en « préemptibles » et « non préemptibles » • Instaurer des niveaux de priorité pour les interruptions: GPA435 Systèmes d'exploitation et programmation de systèmes Systèmes d’ordinateurs – éléments communs Fin du chapitre I Cours #1 Objectifs Éléments Exemples Discussion Exercices Lecture • Vulgarisation: TED-Ed: Inside your computer https://www.youtube.com/watch?v=AkFi90lZmXA How a CPU works https://www.youtube.com/watch?v=cNN_tTXABUA Interruptions matérielles https://www.youtube.com/watch?v=DdzwWLwrcCI • Chapitre 1: Willian Stallings (2011), Operating Systems: Internals and Design Principles, 8/E, Prentice Hall http://www.amazon.ca/Operating-Systems-Internals-PrinciplesEdition/dp/013230998X • John von Neumann http://fr.wikipedia.org/wiki/John_von_Neumann • Architecture Stream http://www.cs.rice.edu/CS/Architecture/docs/spa.pdf • Architecture Harvard https://www.classle.net/book/harvard-architecture-digital-signal-processors • Top 500 des superordinateurs http://www.top500.org/