Chapitre iv entrées sorties et bus
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Chapitre iv entrées sorties et bus

on

  • 165 views

 

Statistics

Views

Total Views
165
Views on SlideShare
165
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Chapitre iv entrées sorties et bus Presentation Transcript

  • 1. CHAPITRE IV: ENTRÉES/SORTIES ET BUS Université Saad Dahlab de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatiques (GSI) Semestre 4 (2ème année) S. AROUSSI Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2. PLAN DU CHAPITRE IV Partie A: Entrées/Sorties  Périphériques E/S  Logiciels d’E/S: Moniteurs de gestion, Pilote, Contrôleurs  Modes E/S: programmées, par interruptions, par accès direct à la mémoire Partie B: Bus  Définition  Caractéristiques  Protocole de gestion (transfert de données et contrôle d’accès)  Principaux bus 2
  • 3. PARTIE A: ENTRÉES/SORTIES (E/S)
  • 4. 4  Entrées/Sorties (E/S) désigne l’ensemble des transferts de données qui permettent au processeur de communiquer avec les périphériques.  Entrées : données envoyées par un périphérique à destination de l’unité centrale.  Sorties : données émises par l’unité centrale à destination d’un périphérique.  Un périphérique est un matériel électronique pouvant être raccordé à un ordinateur par l'intermédiaire de l'une de ses interfaces d'entrée-sortie (interface série, parallèle, USB, etc.), PÉRIPHÉRIQUES ENTRÉES/SORTIES
  • 5. 5  On distingue habituellement les catégories de périphériques suivantes :  Périphériques d'entrée : capables uniquement d'envoyer des informations à l'ordinateur, par exemple la souris, le clavier, etc.  Périphériques de Sortie: permettant à l’ordinateur démettre des informations vers l’extérieur, tels qu'un écran, une imprimante..  Périphériques de Stockage : capables de stocker les informations de manière permanente (disque dur, CD-ROM, DVD) PÉRIPHÉRIQUES ENTRÉES/SORTIES
  • 6. 6Périphériques de Stockage Mémoires auxiliaires PÉRIPHÉRIQUES ENTRÉES/SORTIES
  • 7. 7  Selon le type le format de données, on distingue aussi deux autres catégories de périphériques :  Périphériques par caractères dans lesquels, on accède à l’information caractère par caractère (exemple : le clavier) mais on ne peut spécifier une adresse ni rechercher une information : on reçoit ou on envoie simplement un flux de caractères.  Périphériques par blocs dans lesquels, on ne peut accéder à l’information que par blocs et chaque bloc possède une adresse (exemple : le disque). PÉRIPHÉRIQUES ENTRÉES/SORTIES
  • 8. 8 PÉRIPHÉRIQUES ENTRÉES/SORTIES  Il est ainsi nécessaire d’assurer une compatibilité entre le format de données et les vitesses de transfert du processeur et du périphérique. C’est le rôle de Contrôleur de périphérique.
  • 9. 9  En général, on organise les logiciels d'entrées/sorties suivant quatre couches :  Ce découpage :  sépare les problèmes liés au matériel ;  regroupe les commandes pour la présentation à l'utilisateur ;  permet d'abstraire les numéros de périphériques en noms logiques ;  assure la généralité des opérations d'E/S pour satisfaire toutes les demandes ;  permet de gérer des unités par type (disque banal). LOGICIELS D’ENTRÉES/SORTIES Moniteur de gestion des E/S
  • 10. 10  C'est la partie du système d'exploitation qui assure la communication entre l'utilisateur et le système ;  Il propose un petit nombre de procédures générales, très indépendantes du matériel : écrire sur un écran ou dans un fichier se fait par la même fonction (l'appel du système de gestion de fichier est implicite). Il réalise donc une abstraction des opérations de lecture/écriture.  Il assure les contrôles indispensables pour vérifier la cohérence du traitement demandé (prise en charge des défauts périphérique, gestion de la mémoire utilisée pour les échanges,...).  Il réalise le partage des périphériques (accès exclusif pour une imprimante, accès simultané pour un disque) et la protection des données. MONITEURS DE GESTION DES E/S
  • 11. 11  Le pilote (ou driver) d’E/S est un programme de plus bas niveau ; Il est responsable de la gestion d'un type particulier de périphérique, et il est adapté aux signaux que ce type de périphérique émet ou reçoit. C'est en général un programme réentrant, partagé entre les différents utilisateurs.  Il gère directement l'interface du coupleur du périphérique, traite les interruptions émises par celui-ci, détecte et traite les cas d'erreur. C'est au niveau de ce module que doivent être traitées les particularités de programmation du coupleur. PILOTE D’ENTRÉE/SORTIE
  • 12. 12  Un périphérique d’E/S contient en fait deux parties : un appareil ou dispositif (clavier, écran, disque, …) et un contrôleur de périphérique (appelé aussi l’Unité d’Echange, UE). CONTRÔLEUR D’ENTRÉE/SORTIE
  • 13. 13  Le contrôleur sert d’interface entre le périphérique et le processeur :  Il reçoit les requêtes du processeur et les transforme en commandes pour le périphérique,  Les principales requêtes qu’un processeur envoie à un périphérique sont « lecture » et « écriture ».  Selon les périphériques, ces requêtes peuvent correspondre à des commandes simples ou complexes.  Et réciproquement, il envoie les requêtes du périphérique au processeur. CONTRÔLEUR D’ENTRÉE/SORTIE
  • 14. 14  Les principales composantes d’un contrôleur d’E/S:  la mémoire tampon pour des données (sous forme de registres),  une logique de contrôle pour décoder l’adresse et les lignes de contrôle, et  une ou plusieurs interfaces avec un ou plusieurs périphériques. CONTRÔLEUR D’ENTRÉE/SORTIE
  • 15. 15  Les contrôleurs d’E/S ont plusieurs fonctions:  Lire ou écrire des données du périphérique.  Lire ou écrire des données du processeur.  Contrôler le périphérique et lui faire exécuter des séquences de tâches.  Tester le périphérique et détecter des erreurs.  Mettre certaines données du périphérique ou du processeur en mémoire tampon afin d’ajuster les vitesses de communication. CONTRÔLEUR D’ENTRÉE/SORTIE
  • 16. 16  Il existe plusieurs techniques pour communiquer à partir du processeur vers un périphériques à travers un contrôleur E/S.  Les trois principales techniques sont  E/S programmées  E/S par interruptions  E/S par accès direct à la mémoire (DMA : Direct Memory Acces). MODES ENTRÉES/SORTIES
  • 17. 17 ENTRÉES/SORTIES PROGRAMMÉES  L'unité d'échange ne sait pas délivrer d'informations sur son état.  Pour savoir si l'unité d'échange est prête à recevoir ou délivrer une nouvelle donnée, le processeur doit régulièrement lire le contenu du registre d'état RE de l'unité d'échange.  Le processeur est donc complètement occupé durant l'entrée sortie par la réalisation de cette boucle de scrutation.
  • 18. 18 EXEMPLE
  • 19. 19 ENTRÉES/SORTIES PROGRAMMÉES
  • 20. 20 ENTRÉES/SORTIES PROGRAMMÉES
  • 21. 21 ENTRÉES/SORTIES PAR INTERRUPTIONS  Une façon d’éliminer les délais d’attente du processeur est d’utiliser des interruptions: l'unité d'échange délivre alors une interruption à destination du processeur lorsqu'elle est prête à délivrer ou recevoir une nouvelle donnée. Le processeur, à la prise en compte de cette interruption, va exécuter la routine associée qui lit la donnée présente dans RD (lecture) ou met dans RD la donnée suivante à écrire.
  • 22. 22 ENTRÉES/SORTIES PAR INTERRUPTIONS
  • 23. 23 ENTRÉES/SORTIES PAR INTERRUPTIONS  Le processeur ne doit donc plus scruter le registre d'état RE de l'unité d'échange pour savoir si celle-ci est prête.  Cependant, il reste le seul à pouvoir accéder à la mémoire centrale et doit donc encore gérer l'entrée sortie dans le sens où il doit se charger des transferts mémoire centrale – registre de donnée.  Il faut permettre à L'UE d’accéder à la mémoire centrale sans recourir au processeur : le DMA (Direct Memory Access)
  • 24. 24  Le DMA permet aux unités d’échanges d’accéder à la mémoire centrale sans intervention du processeur.  Les périphériques par blocs sont gérés par le DMA sur un PC :  Le contrôleur de disquettes  Les contrôleurs de disques durs  La carte son  Le port parallèle (imprimante)  etc E/S PAR ACCÈS DIRECT À LA MÉMOIRE
  • 25. 25 E/S PAR ACCÈS DIRECT À LA MÉMOIRE  Chaque dispositif utilise un canal DMA identifié par une adresse de début et une adresse de fin en mémoire centrale qui désigne la zone en MC accessible pour le transfert.  Le contrôleur DMA d’un PC gère 8 canaux DMA.
  • 26. 26  Combiner au mécanisme d'interruption, le DMA permet de décharger le processeur de toute la réalisation des entrées/sorties: 1. Le processeur n'a plus qu'à initialiser l'opération en initialisant le contenu des registres du DMA. 2. Le DMA se charge ensuite d'effectuer l'opération d'entrées/sorties, en lisant ou écrivant lui-même en mémoire centrale les données transférées par l'unité périphérique. 3. Lorsque l'opération d'entrées sorties est terminée, le DMA émet une interruption pour le signaler au processeur. E/S PAR ACCÈS DIRECT À LA MÉMOIRE
  • 27. 27 E/S PAR ACCÈS DIRECT À LA MÉMOIRE
  • 28. 28 E/S PAR ACCÈS DIRECT À LA MÉMOIRE
  • 29. 29  DMA et processeur sont en concurrence pour l’accès au bus et à la mémoire centrale:  Un seul dispositif peut être à un moment donné maître du bus et y initialiser un transfert avec la mémoire (esclave)  Deux modes de transfert: bloc (burst, rafale) ou vol de cycle E/S PAR ACCÈS DIRECT À LA MÉMOIRE
  • 30. 30  Le DMA opère le transfert des n octets en une seule séquence ininterrompue.  Durant ce transfert, le DMA est maître du bus.  Le processeur est « suspendu » durant la totalité du transfert. I. Le DMA force l’accès au bus (REQ_DMA) II. Le CPU acquitte la demande (ACQ_DMA) et se place dans un état de suspension III. Le DMA réalise le transfert. A la fin du transfert, il relâche le bus (REQ_DMA) IV. Le processeur quitte l’état suspendu, relâche ACQ_DMA. V. Le DMA envoie une IRQ. E/S PAR ACCÈS DIRECT À LA MÉMOIRE MODE RAFALE
  • 31. 31 E/S PAR ACCÈS DIRECT À LA MÉMOIRE MODE RAFALE
  • 32. 32  Le DMA opère le transfert des n octets octet par octet.  Il « vole » des cycles d’accès au bus pour transférer chaque octet.  Le processeur est « suspendu » durant le transfert d’un octet  Processeur et DMA se partagent l’accès au bus durant le transfert des n octets. E/S PAR ACCÈS DIRECT À LA MÉMOIRE MODE VOL DE CYCLE
  • 33. 33 E/S PAR ACCÈS DIRECT À LA MÉMOIRE MODE VOL DE CYCLE
  • 34. 34 E/S PAR ACCÈS DIRECT À LA MÉMOIRE MODE VOL DE CYCLE
  • 35. PARTIE B: BUS
  • 36. 36  Les transferts d'information entre le processeur, la mémoire et les différents contrôleurs d'E/S s'effectuent à travers des dispositifs de communication appelés bus.  Un bus est un ensemble de liaisons physiques (câbles, circuits imprimés) reliant différents composants de l’ordinateur et leur permettant de communiquer . DÉFINITION
  • 37. 37  Un bus est capable de véhiculer des signaux correspondant fondamentalement à trois types d'informations : adresses; données et commandes (ou contrôle). DÉCOMPOSITION
  • 38. 38  Le bus d’adresses permet de définir l’adresse du module/composant auquel on veut accéder en lecture ou écriture;  Le bus de données permet l’envoi et la réception de données (lecture/écriture) ;  Le bus de contrôle permet d’indiquer une écriture, une lecture ou autres commandes. DÉCOMPOSITION
  • 39. 39  Largeur du bus : nombre de bits que le bus peut véhiculer simultanément  Bus série / Bus parallèle CARACTÉRISTIQUES
  • 40. 40  Direction de transmission  Simplex – unidirectionnel  Duplex – bidirectionnel CARACTÉRISTIQUES Bidirectionnel
  • 41. 41  Cadencement du bus  Bus synchrones /Bus asynchrones :  Bus synchrone dispose d’un horloge propre qui définit le cycle du bus.  Bus asynchrone n’y a pas d’horloge associée au bus, les dispositifs dialoguent par le biais de signaux de disponibilité  Débit du bus : nombre d’octets véhiculés par seconde exprimés en Mo/s Débit (Bus synchrone unidirectionnel) = largeur * fréquence où la fréquence = nombre de cycles par secondes (Méga-Hertz) CARACTÉRISTIQUES
  • 42. 42  Protocole de gestion de bus:  Le bus est une ressource partagée entre différents composants.  Une transaction bus comprend donc deux étapes, d'abord l'arbitrage entre plusieurs demandeurs potentiels, puis le transfert de données.  L'ensemble des mécanismes d'arbitrage et de transfert est appelé le protocole de gestion de bus. CARACTÉRISTIQUES
  • 43. 43  On peut classer les éléments connectés à un bus en deux catégories:  Les esclaves: sont passifs et répondent à des requêtes (e.g. mémoire)  Les maîtres: sont actifs et initient des requêtes. Ils prennent le contrôle du bus (e.g. processeur)  Il ne peut pas y avoir 2 maîtres actifs simultanément  Besoin d'arbitrage pour l’accès au bus. PROTOCOLE DE GESTION DE BUS
  • 44. 44  Transaction pour communication entre maître et esclave: 1. Obtention du contrôle du bus par le maître 2. Envoi d'une adresse qui identifie l'esclave et ses éléments. 3. Envoi d'une requête (lecture, écriture ...) 4. Envoi de données vers l'esclave 5. Libération du bus PROTOCOLE DE GESTION DE BUS
  • 45. 45 1. Précision des adresses et des données  Lecture/écriture multiplexée: On envoie d'abord l'adresse, ensuite on envoie/reçoit les données  Lecture/écriture non-multiplexée: Adresses et données sont envoyées en même temps 2. Envoi/réception des données  Donnée par donnée  Par blocs de données TRANSFERT DES DONNÉES
  • 46. 46  Arbitrage:  Permet de gérer l'accès au bus si plusieurs maîtres connectés/  Définit la politique d'accès des maîtres.  Vérifie qu’un seul maître contrôle le bus à la fois.  Propriétés d’arbitrage à respecter:  Priorité: Certains maîtres sont plus prioritaires que d'autres  Équité: Tous les maîtres auront leur requêtes d'accès satisfaites au bout d'un temps fini CONTRÔLE D'ACCÈS AU BUS
  • 47. 47  Arbitrage statique  Chaque maître obtient le droit de contrôle du bus à tour de rôle  Avantages: Très simple à mettre en œuvre  Inconvénients:  Passe la main aux maîtres ne désirant pas accéder au bus  Pas de gestion des priorités CONTRÔLE D'ACCÈS AU BUS
  • 48. 48  Arbitrage dynamique  Quand un maître veut accéder au bus, il en fait la requête  La gestion des accès est alors faîte dynamiquement  Les maîtres font leur demande d'accès en envoyant un signal de contrôle particulier  Plusieurs variantes pour gérer des demandes simultanées d'accès: Centralisé, Par chaînage et Décentralisé CONTRÔLE D'ACCÈS AU BUS
  • 49. 49  Arbitrage centralisé  Un élément particulier centralise toutes les requêtes d'accès au bus des maîtres  Lignes spécialisées sur le bus pour ces requêtes  Il connaît les priorités de chacun  A partir de là, c'est lui qui donne l'accès au bus au maître le plus prioritaire  Lignes spécialisées sur le bus pour cette attribution CONTRÔLE D'ACCÈS AU BUS
  • 50. 50  Arbitrage par chaînage  Les maîtres forment une chaîne avec les plus prioritaires au début de la chaîne  Il y a une ligne de requête et une ligne d'occupation du bus  Un élément voulant accéder au bus envoie un signal sur la ligne de requête CONTRÔLE D'ACCÈS AU BUS
  • 51. 51  Arbitrage par chaînage  L'arbitre envoie alors un jeton d'allocation le long de la chaîne  Le premier maître qui veut accéder au bus récupère l'allocation et utilise le bus  Il envoie un signal sur la ligne d'occupation pour préciser que le bus est utilisé CONTRÔLE D'ACCÈS AU BUS
  • 52. 52  Arbitrage par chaînage  Quand le maître actif à fini son opération, il désactive la ligne d'occupation  Si la ligne de requête est encore active, le maître renvoie un autre jeton d'allocation CONTRÔLE D'ACCÈS AU BUS
  • 53. 53  Arbitrage par chaînage  Pour éviter la famine (un maître n'a jamais accès au bus)  On interdit à un maître venant d'accéder au bus de faire une nouvelle requête d'accès tant que la ligne de requête n'est pas inactive CONTRÔLE D'ACCÈS AU BUS
  • 54. 54  Arbitrage décentralisé  Plusieurs lignes/bit de priorité sont utilisées  4 lignes : 16 niveaux de priorité  Si un élément veut contrôler le bus  Compare son niveau de requête à celui des requêtes en cours pour déterminer s'il pourra contrôler le bus CONTRÔLE D'ACCÈS AU BUS
  • 55. 55  Dans un ordinateur, on distingue les bus suivants :  Le bus système (ou local) : permet au processeur de communiquer avec la mémoire centrale (+1Go/s) ;  Le bus d'extension (ou d’E/S) : permet l'ajout de périphérique, relié au bus système par un bridge e.g., PCI, PCI-X, AGP, PCI-Express, ExpressCard  Les bus externes : qui viennent se connecter sur le bus d'extension e.g., ATA, SATA, SCSI, SAS, PC Card, IEEE1394 (FireWire), USB PRINCIPAUX BUS
  • 56. 56 PRINCIPAUX BUS
  • 57. 57 PRINCIPAUX BUS
  • 58. 58 PRINCIPAUX BUS
  • 59. 59 PRINCIPAUX BUS
  • 60. SOURCES DE CE COURS  Introduction aux systèmes d’exploitation, Disponible sur http://purargane.de/cours/linux/cours1.pdf  Jacques Gispert, Systèmes d'exploitation, Chapitre III : Gestion des entrées/sorties, 2007, Disponible sur http://www.dil.univ-mrs.fr/~gispert/enseignement/coursSysteme/ES.php  Joëlle Delacroix, Architecture des ordinateurs, Gestion des entrées-sorties et bus, 2012.  Michel Salomon, Architecture des ordinateurs; Bus de communication, carte mère, processeur et mémoire. Disponible sur http://dut.proced90.com/matieres/dut/Architecture/cours/support.pdf  Clement Jonquet, Architecture des ordinateurs, Entrées/Sorties, 2012.  Eric Cariou, Les Bus et Entrées/Sorties, Disponible sur http://web.univ- pau.fr/~ecariou/cours/archi/cours-6-bus-es.pdf 60