Structures d’ordinateurs (matériel)

Slides:



Advertisements
Présentations similaires
1 Structures d’ordinateurs (matériel) Chapitre 2
Advertisements

Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
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.
Chap 131 Chapitre 13 Systèmes d’entrée/sortie
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
1 Gestion de Processus Chapitre 4
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
Marlène Côté et Christèle Charbonneau Thème: Mathématiques et univers social Les élèves seront amenés à effectuer des additions et des soustractions, de.
Fonctionnement interne d'un routeur (kurose p ) Eugen Dedu IUT Belfort-Montbéliard, R&T1, France avril 2009.
1 Structures d’ordinateurs (matériel) Chapitre 2
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Adressage IP Page 1 L’adressage IP.
Mode noyau Appels Systèmes Interruptions Grégory Seront Institut Paul Lambin
Les mémoires de l’ordinateur
L’ordinateur et ses composants
Architecture des ordinateurs, Environnement Numérique de Travail
Module de gestion des tournées de livraison
Threads et Lightweight Processes
Architecture des microordinateurs
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Pointeurs et langage C.
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.
Qu'est-ce que POSIX? Une librairie en langage C
Javadoc et débogueur Semaine 03 Version A17.
AO (Architecture des ordinateurs)
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Fonctionnement de l'unité centrale
Principes de programmation (suite)
Cours 5 Mardi 13 septembre Période 1: Les bases de l’informatique et les composantes de l’ordinateur PARTIE 1 Période 2: L’utilisation de Power Point.
Chapitre 12 Surveillance des ressources et des performances
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Classification des archtecutres paralleles
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Module 5 : Gestion des disques.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
De l’ordinateur au processus : rôle d’un système
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Programmation en C++ C++ de base
Les Entrées et Sorties: Programmées, interruptions, et DMA
Révision finale GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde.
Chapitre 2 Système d’Exploitation Gestion des Processus.
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Système d’exploitation
Interruptions GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde.
À l’intérieur de l’ordinateur
Architecture de machines Le microprocesseur Cours
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
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.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Gestion de Processus Chapitre 4
Systèmes d’entrée/sortie
Le DOS GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015
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 PROJET D’INFORMATIQUE les composants de l'ordinateur Gammoudi Rayéne 7 B 2.
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Threads et Lightweight Processes
Ordonnancement des processus sous Windows NT
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
Tableau de bord d’un système de recommandation
Contenu Systèmes de test parallèles Multithreading Synchronisation
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

Structures d’ordinateurs (matériel) Chapitre 2 http://w3.uqo.ca/luigi/

Ce chapitre: Fait une révision de concepts importants de structure des ordinateurs, probablement déjà vus dans les cours préalables Surtout les interruptions et leur fonctionnement Introduit aussi des concepts importants qui seront développés dans la suite du cours Ch.2

Concepts importants du Chapitre 2 Registres d’UCT, tampons en mémoire, vecteurs d’interruption Interruption et scrutation-polling Interruptions et leur traitement Méthodes d’E/S avec et sans attente, DMA Tableaux de statut de périphériques Protection et instructions privilégiées, modes d’exécution Registres bornes Appels de système Hiérarchie de mémoire Ch.2

Architecture d’ordinateurs

Registres d’UCT Ch.2

Registres de l’UCT (mémoire rapide dans UCT) Registres non-visibles de contrôle et statut Généralement non disponibles aux programmes d’usager l’UCT les utilise pour contrôler ses opérations Le SE les utilise pour contrôler l’exécution des programmes Registres visibles (aux usagers) disponibles au SE et programmes de l’usager visibles seulement en langage machine ou assembleur contiennent données, adresses etc. Ch.2

Exemples de registres de contrôle et statut Le compteur d’instruction (PC) Contient l’adresse de la prochaine instruction à exécuter Le registre d’instruction (IR) Contient l’instruction en cours d’exécution Autres registres contenant, p.ex. minuterie bit d’interruption activé/désactivé bit du mode d’exécution superviseur/usager bornes de mémoire du programme en exec. Registres de statut des périphériques Ch.2

Opération d`ordinateurs pour E/S Unités d’E/S et UCT peuvent exécuter en même temps Chaque type d`unité a un contrôleur Chaque contrôleur a un tampon ou registre en mémoire principale (buffer) Le contrôleur informe l’UCT que l’opération a terminé L’UCT a des registres qui contiennent le statut des différentes unités E/S Ces activités peuvent causer des interruptions qui sont traitées selon le contenu du vecteur d’interruptions en mém centrale Ch.2

Registres, vecteurs d’interruptions, tampons Mémoire principale Unité centrale Compt. Instr. Reg. Instr. Regs. Unités E/S Minuterie Interrupt. activée Mode Superv./Usag. Bornes mém. E/S Minuterie Dépass. mém Etc. Vect. interrupt Registres Registre imprimante Registre disque Des interruptions peuvent être causés: Par l’UCT ou par les périf. d’E/S Registre clavier Les registres en mémoire sont aussi appelés tampons (buffers) Ch.2

Adressage modifié par registres UCT Très utiles afin qu’une seule instruction puisse de fois en fois faire référence à adresses de mémoire différents Instruction de matériel: L’adresse ici est une adresse relative, pour obtenir l’adresse réelle l’UCT ajoute à l’adresse le contenu du registre opération registre adresse Ch.2

Exemple Si le contenu du régistre A est 1000, l’operation LOAD est effectuée à l’adresse ? Si le contenu est 2000, LOAD est effectuée à l’adresse ?, etc. Cette fonctionnalité permet à une seule instruction d’être exécutée dans plusieurs contextes, selon le contenu du registre On change le contexte en changeant le contenu du registre Applications: instruction exécutée plus. fois dans des boucles Instruction d’un programme à exécuter dans plusieurs processus etc Sans perdre de temps d’exécution LOAD A 100 Ch.2

Quand il y a plusieurs UCT? (processeurs multi-cœurs) Une d’elles peut être dédiée à la gestion des interruptions et des périphériques Différentes configurations possibles …

Traitement des interruptions: Interruption et scrutation Ch.2

Deux mécanismes différents pour la communication entre UCT et unités E/S Interruption: l’UCT est interrompue entre instructions quand une fin d’E/S se produit Scrutation (E/S programmée, interrogation, polling): le processus interroge périodiquement les regs de l’UCT pour déterminer si une opération est terminée ou non Ch.2

Exemple Vous et votre téléphone mobile … Vous utilisez l’interruption si vous utilisez la sonnerie qui vous avertit quand un appel arrive Vous utilisez la scrutation (polling) si au lieu vous regardez périodiquement le téléphone pour voir les appels Ch.2

Scrutation et attente occupée (polling and busy waiting) La scrutation s’identifie avec l’attente occupée dont nous parlerons plus tard La scrutation ou attente occupée est considérée moins efficace que l’interruption, car la première gaspille des cycles d’UCT  Mais l’interruption est plus coûteuse à implanter dans le matériel Dans des puces à bas prix, elle pourrait ne pas être implantée Ch.2

Le cycle d’instruction de base L’UCT extrait l’instruction de la mémoire. Ensuite l’UCT exécute cette instruction Le compteur d’instruction (PC = Program Counter) contient l’adresse de la prochaine instruction à extraire Le PC est incrémenté automatiquement après chaque extraction Ch.2 (Fig. de Stallings)

Le cycle d’instruction avec interruptions Après chaque instruction l’UCT examine s’il y a eu une interruption S’il n’y en a pas, il extrait la prochaine instruction du programme S’il y en a, il suspend le pgm en cours et branche l’exécution à une position fixe de mémoire (déterminée par le type d ’interruption) une partie de la mémoire et réservée pour ça Ceci seulement si les interruptions sont habilitées (Fig. de Stallings) Ch.2

Que faites-vous si on vous interrompt pendant un travail? Vous pouvez tout de suite faire ce qu’on vous demande et puis vous reviendrez au travail au point où vous étiez arrivé avant l’interruption Vous pouvez aussi décider que vous ne pouvez pas être interrompu à ce moment là et vous pourriez traiter l’interruption plus tard Vous pourriez aussi ignorer l’interruption, mais probablement elle reviendra plus tard Ch.2

Le pgm de gestion de l’interruption (interrupt handler) Un programme usager exécute normalement jusqu’à une interruption À ce moment là, L’UCT est mise en ‘mode superviseur’ Le programme saute à un programme du SE Qui est spécifique pour le type d’interruption Ce programme exécute et puis retourne au programme usager, à l’instruction suivante au point d’interruption Tout en retournant l’UCT à ‘mode usager’ Le point d’interruption peut se situer n’importe où dans le pgm (excepté où les interruptions ne sont pas habilitées). L’on doit donc sauvegarder l’état du programme Registres UCT et autres infos nécessaires pour reprendre le programme après Ch.2

Exemples d’interruptions causées par les périphériques ou par le matériel une opération E/S est terminée opération d’E/S a causé une erreur Matériel non disponible, matériel défectueux … Ch.2

Ex. d’interruptions causées par le programme usager Exception Tentative d’exécuter une instruction protégée Référence au delà de l’espace mémoire du progr. (protection) Erreur de calcul (div. par 0, résultat trop grand) Appels du Système Demande d’un service du SE Demande d’une opération d’E/S Demande de créer un nouveau processus … Ch.2

Interruptions causées par le SE Minuterie établie par le SE Préemption: processus doit céder l’UCT à un autre processus Ch.2

Cas 1: Ordre séquentiel des interruptions L’UCT examine s’il y a des autres interruptions en attente après avoir terminé d’exécuter un IH Les interruptions sont inhibées (disabled) dans les accolades } [Fig.Stallings] Ch.2

Cas 2: Interruptions d’interruptions L’IH d’une interruption peut se faire interrompre par une interruption de priorité plus élevée Exemple: les données arrivant sur une ligne de communication doivent être traitées rapidement pour ne pas causer de retransmissions Ch.2

Désactivation des interruptions Le SE peut désactiver les interruptions s’il est en train d’exécuter quelque chose de très urgent Il peut Ou bien complètement ignorer les interruptions intervenues dans ce temps Ou bien les empiler et les traiter plus tard quand il peut Il peut exister un mécanisme de matériel pour faire ceci Ch.2

Deux méthodes d’E/S Synchrone: le proc demandeur attend le résultat de l’opération d’E/S Asynchrone: le proc demandeur peut passer à autre chose et utiliser le résultat quand il est prêt Dans le cas b) le proc demandeur peut amorcer un autre programme Ch.2

Normalement en pratique Le processus usager voit la méthode a) Il attend pour la fin de l’E/S Le SE voit la méthode b) Le contrôle revient tout de suite au SE qui puis le donne à un autre processus Synchrone Asynchrone Ch.2

Deux problèmes importants Quand il y a une fin d’E/S, comment trouver le processus en attente des résultats Quand une ressource (UCT ou unité d’E/S ou autre unité) devient disponible, à quel processus devrait-elle être affectée Nous verrons que ces deux problèmes sont résolus en utilisant un mécanisme de files d’attente Chapitre 4. Ch.2

Hiérarchies de mémoire

Avant les ordinateurs (Le bureau d’Einstein) sur le tableau les idées courantes sur le bureau les documents les plus utilisés à l’instant, les autres sur les étagères probablement encore des autres dans d’autres locaux … (Le bureau d’Einstein) Ch.2

Hiérarchie de mémoire Différentes types de mémoire Constituent une hiérarchie vitesse (de plus vite à moins vite) coût (de plus cher à moins cher) permanence ou non Les mémoires les plus rapides sont aussi les plus chères et le moins permanentes Ch.2

Hiérarchie de mémoire RAM p. ex. mémoire flash Ch.2

Caractéristiques typiques des différents types de mémoire (Chiffres dépassées, mais qui donnent une idée) Ch.2

Mémoire virtuelle IMPORTANT L’UCT ne peut accéder à une instruction ou à une donnée que si elles se trouvent En cache dans les ordinateurs où il y a de cache Ou sinon en mémoire vive (RAM) Donc ces données doivent être apportées en mémoire vive ou cache au besoin Le mécanisme de mémoire virtuelle implémente cette le va-et-vient des pages entre mémoire secondaire et mémoire principale Ch.2

Gestion de mémoire virtuelle La mémoire principale est souvent trop petite pour contenir tous les processus en exécution La mémoire secondaire (disques, flash) est utilisée pour contenir les parties d`un processus qui ne sont pas actives à l ’instant La mémoire principale et la mémoire secondaire forment donc une unité logique appelée mémoire virtuelle Pour implanter la mémoire virtuelle, le SE doit gérer de façon conjointe mémoire vive et mémoire secondaire Mécanisme de va-et-vient (swap) Hiérarchie de mémoire! Ch.2 Ch.3 36

Protection Ch.2

Protection Plusieurs processus et le S/E partagent la mémoire, exécutant parfois les mêmes instructions Il faut empêcher que l’un fasse des choses réservées à l’autre Il faut les protéger les uns des autres Protection d’instructions Protection de mémoire Ch.2

Instructions protégées = privilégiées Ne peuvent être exécutées que par le S/E, en mode superviseur Exemples: Les instructions d’E/S (disques, imprimantes …) Instructions pour traiter les registres non-visibles d’UCT Instructions pour changer les limites de mémoire Instructions pour changer le mode d’exécution (superviseur,usager) Le programme usager peut demander au SE que ces opérations soient exécutées, mais il ne peut pas les exécuter directement Ch.2

Fonctionnement double mode Interruption Superviseur, kernel usager Retour à progr. usager un registre d’UCT contient un bit qui dit si l’UCT exécute couramment en mode superviseur ou en mode usager ce bit est changé automatiquement à mode superviseur lors d’une interruption certaines instructions ne peuvent être exécutées qu’en mode superviseur (instructions privilégiées): des tentatives de les exécuter en mode usager causeront une interruption, et retour à mode superviseur le mode superviseur peut être changé à mode usager par une instruction privilégiée Parfois on parle aussi de ‘master mode’, ‘kernel mode’ etc. etc. Ch.2

Appels du système (system calls) Quand un processus usager a besoin d’un service du SE, par ex. E/S, il exécute un appel du système C’est une instruction qui cause une interruption (trap) et changement de mode (mode superviseur) Est associée à des paramètres qui indiquent le type de service désiré Le S/E prend la relève et exécute le service, il retourne puis au processus appelant avec des params qui indiquent le type de résultat changement de mode (mode usager) Ch.2

Protection de mémoire: chaque processus doit rester dans ses propres bornes de mémoire Solution typique: deux registres dans l’UCT quand l’UCT exécute un processus, elle sait quelle est la borne inférieure et supérieure de la zone de mémoire de ce processus l’adresse de chaque instruction est comparée à ces deux adresses avant l ’exécution si un processus cherche à dépasser ses limites: interruption Erreur de segmentation dans Windows UCT Ch.2

Protection de mémoire l’adresse de chaque instruction est comparée à ces deux adresses avant l’exécution seulement si l’UCT exécute en mode usager si un processus cherche à dépasser ses bornes: Interruption  mode superviseur les instructions pour affecter les registres bornes sont privilégiées Ch.2

Mécanismes qui travaillent ensemble … L’UCT, quand Elle est en mode usager, contrôle que les adresses sont dans la zone de mémoire du processus en exécution sinon, interruption  mode superviseur ne peut pas changer le contenu des registres borne Elle est en mode superviseur, ne fait pas le contrôle des adresses peut changer le contenu des registres borne Ch.2

Concepts importants du Chapitre 2 Registres d’UCT, tampons en mémoire, vecteurs d’interruption Interruption et polling Interruptions et leur traitement Méthodes d’E/S avec et sans attente, DMA Tableaux de statut de périphériques Protection et instructions privilégiées, modes d’exécution Registres bornes ou limites Appels de système Hiérarchie de mémoire Ch.2

Dans le manuel, pour ce chapitre: Lire le chapitre entier, moins: La section 2.3 n’a pas été discutée en classe, cependant son contenu devrait être en partie déjà connu Section 2.3.2 sera discutée au chapitre 14 La section 2.6 n’est pas sujet d’examen: Ch.2

MATÉRIAUX SUPPLÉMENTAIRES Ch.2

Informations additionnelles Pour des explics claires sur comment différents parties d’un ordinateur fonctionnent, je vous recommande hautement Wikipedia http://computer.howstuffworks.com/ Des sites qui contiennent des explicationstrès claires sur un grand nombre de sujets (malheureusement, howstuffworks a beaucoup de publicité) Ch.2

Accès direct à la mémoire (DMA) (Détails + tard …) Sans DMA, tous les accès de mémoire passent à travers l’UCT Donc les E/S occupent une certaine portion du temps de l’UCT, même si l’UCT pourrait en même temps exécuter un processus (vol de cycles) Avec DMA, les unités d’E/S transfèrent les données directement avec la mémoire L’UCT est impliquée seulement pour initier et terminer les E/S L’UCT est complètement libre d’exécuter d’autres processus (pas de vol de cycles) Ch.2

Sans DMA transfert données Accès directe (DMA) MEMOIRE UNITÉS E/S UCT Ch.2

Terminologie d`interruptions Pas normalisée C’est une bonne idée de distinguer entre: Trappes (traps): causées par le pgm en exécution: division par 0, accès illégal, appels du système... Interruptions: causées par événements indépendants: minuterie, fin d` E/S Fautes (faults): ce mot est utilisé surtout par rapport à la pagination et à la segmentation. Malgré ces différences de terminologie, trappes, interruptions et fautes fonctionnent toutes de la même manière Ch.2