60
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/

Chapitre iv entrées sorties et bus

Embed Size (px)

Citation preview

Page 1: Chapitre iv entrées sorties et bus

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/

Page 2: Chapitre iv entrées sorties et bus

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

Page 3: Chapitre iv entrées sorties et bus

PARTIE A:

ENTRÉES/SORTIES (E/S)

Page 4: Chapitre iv entrées sorties et bus

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

Page 5: Chapitre iv entrées sorties et bus

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

Page 6: Chapitre iv entrées sorties et bus

6 Périphériques de Stockage

Mémoires auxiliaires

PÉRIPHÉRIQUES ENTRÉES/SORTIES

Page 7: Chapitre iv entrées sorties et bus

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

Page 8: Chapitre iv entrées sorties et bus

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.

Page 9: Chapitre iv entrées sorties et bus

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

Page 10: Chapitre iv entrées sorties et bus

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

Page 11: Chapitre iv entrées sorties et bus

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

Page 12: Chapitre iv entrées sorties et bus

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

Page 13: Chapitre iv entrées sorties et bus

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

Page 14: Chapitre iv entrées sorties et bus

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

Page 15: Chapitre iv entrées sorties et bus

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

Page 16: Chapitre iv entrées sorties et bus

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

Page 17: Chapitre iv entrées sorties et bus

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.

Page 18: Chapitre iv entrées sorties et bus

18

EXEMPLE

Page 19: Chapitre iv entrées sorties et bus

19

ENTRÉES/SORTIES PROGRAMMÉES

Page 20: Chapitre iv entrées sorties et bus

20

ENTRÉES/SORTIES PROGRAMMÉES

Page 21: Chapitre iv entrées sorties et bus

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.

Page 22: Chapitre iv entrées sorties et bus

22

ENTRÉES/SORTIES PAR INTERRUPTIONS

Page 23: Chapitre iv entrées sorties et bus

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)

Page 24: Chapitre iv entrées sorties et bus

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

Page 25: Chapitre iv entrées sorties et bus

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.

Page 26: Chapitre iv entrées sorties et bus

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

Page 27: Chapitre iv entrées sorties et bus

27

E/S PAR ACCÈS DIRECT À LA MÉMOIRE

Page 28: Chapitre iv entrées sorties et bus

28

E/S PAR ACCÈS DIRECT À LA MÉMOIRE

Page 29: Chapitre iv entrées sorties et bus

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

Page 30: Chapitre iv entrées sorties et bus

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

Page 31: Chapitre iv entrées sorties et bus

31

E/S PAR ACCÈS DIRECT À LA MÉMOIRE

MODE RAFALE

Page 32: Chapitre iv entrées sorties et bus

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

Page 33: Chapitre iv entrées sorties et bus

33

E/S PAR ACCÈS DIRECT À LA MÉMOIRE

MODE VOL DE CYCLE

Page 34: Chapitre iv entrées sorties et bus

34

E/S PAR ACCÈS DIRECT À LA MÉMOIRE

MODE VOL DE CYCLE

Page 35: Chapitre iv entrées sorties et bus

PARTIE B:

BUS

Page 36: Chapitre iv entrées sorties et bus

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

Page 37: Chapitre iv entrées sorties et bus

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

Page 38: Chapitre iv entrées sorties et bus

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

Page 39: Chapitre iv entrées sorties et bus

39

Largeur du bus : nombre de bits que le bus peut

véhiculer simultanément

Bus série / Bus parallèle

CARACTÉRISTIQUES

Page 40: Chapitre iv entrées sorties et bus

40

Direction de transmission

Simplex – unidirectionnel

Duplex – bidirectionnel

CARACTÉRISTIQUES

Bidirectionnel

Page 41: Chapitre iv entrées sorties et bus

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

Page 42: Chapitre iv entrées sorties et bus

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

Page 43: Chapitre iv entrées sorties et bus

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

Page 44: Chapitre iv entrées sorties et bus

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

Page 45: Chapitre iv entrées sorties et bus

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

Page 46: Chapitre iv entrées sorties et bus

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

Page 47: Chapitre iv entrées sorties et bus

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

Page 48: Chapitre iv entrées sorties et bus

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

Page 49: Chapitre iv entrées sorties et bus

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

Page 50: Chapitre iv entrées sorties et bus

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

Page 51: Chapitre iv entrées sorties et bus

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

Page 52: Chapitre iv entrées sorties et bus

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

Page 53: Chapitre iv entrées sorties et bus

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

Page 54: Chapitre iv entrées sorties et bus

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

Page 55: Chapitre iv entrées sorties et bus

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

Page 56: Chapitre iv entrées sorties et bus

56

PRINCIPAUX BUS

Page 57: Chapitre iv entrées sorties et bus

57

PRINCIPAUX BUS

Page 58: Chapitre iv entrées sorties et bus

58

PRINCIPAUX BUS

Page 59: Chapitre iv entrées sorties et bus

59

PRINCIPAUX BUS

Page 60: Chapitre iv entrées sorties et bus

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