한국   대만   중국   일본 
Entree-sortie ? Wikipedia Aller au contenu

Entree-sortie

Un article de Wikipedia, l'encyclopedie libre.

Dans un systeme a base de processeur , de microprocesseur , de microcontroleur ou d' automate , on appelle entree-sortie toute interface permettant d’echanger des donnees entre le processeur et les peripheriques qui lui sont associes. De la sorte, le systeme peut reagir a des modifications de son environnement, voire le controler. Elles sont parfois designees par l'acronyme I/O , issu de l'anglais I nput/ O utput ou encore E/S [ 1 ] pour entree/sortie.

Dans un systeme d'exploitation  :

  • les entrees sont les donnees envoyees par un peripherique (disque, reseau, clavier, capteur…) a destination d'une unite centrale de traitement (processeur) ;
  • les sorties sont les donnees emises par une unite centrale de traitement a destination d'un peripherique (disque, reseau, ecran , imprimante, actionneur…).

Exemple simplifie :

  • taper sur les touches du clavier envoie une serie de codes vers le processeur ; ces codes sont consideres comme des donnees d' entree  ;
  • le processeur affiche les resultats du traitement des donnees sur un ecran ; ce sont des donnees de sortie . Habituellement, l'ecran est gere par un programme de gestion d'affichage.

Structure d'un systeme a microprocesseur [ modifier | modifier le code ]

Structure d'un systeme a microprocesseur.

Un systeme a microprocesseur comporte necessairement les elements suivants :

  • un processeur, qui est le cerveau du systeme ; il est capable d'effectuer des operations arithmetiques et logiques et d'organiser des transferts de donnees entre les differents elements du systeme ;
  • une zone de memoire morte ( ROM , EPROM , EPROM Flash ) qui stocke le programme ;
  • une zone de memoire vive (RAM) qui stocke les donnees pendant l'execution du programme ; le contenu de cette memoire est perdu lorsqu'on coupe l'alimentation du systeme ;
  • des peripheriques ; leur nombre et genre dependent de l'application.

Les differents elements du systeme sont relies par 3 bus  :

  • le bus de donnees permet, comme son nom l'indique, la circulation des donnees, mais aussi des instructions, entre les 4 grands blocs ;
  • le bus d'adresse permet au processeur de designer a chaque instant la case memoire ou le peripherique auquel il veut faire appel ;
  • le bus de controle est egalement gere par le processeur et indique, par exemple, s'il veut faire une ecriture ou une lecture dans une case memoire, ou une entree/sortie de ou vers un peripherique ; on trouve egalement, dans le bus de controle, une ou plusieurs lignes qui permettent aux circuits peripheriques d'effectuer des demandes au processeur ; ces lignes sont appelees lignes d' interruptions materielles (IRQ).

L'evolution de la technologie fait que des systemes qui, precedemment, necessitaient plusieurs boitiers, peuvent parfaitement etre integres dans un seul boitier qui regroupe les differentes fonctions ; voir par exemple la famille de processeurs ADuC d' Analog Devices .

Exemple de systeme a microprocesseur [ modifier | modifier le code ]

Une machine a laver est un excellent exemple de systeme de controle pilote par microprocesseur. Les principaux elements de la machine sont :

  • un tambour dans lequel sera place le linge a laver ;
  • un moteur pour faire tourner ce tambour a vitesse plus ou moins grande selon la phase du programme (lavage, essorage…) ;
  • une resistance chauffante pour chauffer l'eau ;
  • une electro- vanne pour autoriser l'entree de l'eau de la distribution dans la cuve de lavage au debut du cycle ;
  • une pompe pour vider l'eau en fin de cycle ;
  • un detecteur de niveau d'eau pour arreter le remplissage de la cuve ;
  • un thermometre electronique pour arreter le chauffage lorsque l'eau a atteint la temperature desiree ;
  • un ou plusieurs commutateurs pour selectionner le programme, la temperature de l'eau, la vitesse d'essorage ;
  • un bouton de mise en marche et d'arret de la machine ;
  • un ou plusieurs voyants ou indicateurs (temoin de marche, etat d'avancement du programme…).

Le processeur va recevoir des informations des peripheriques d'entree : commutateur(s), detecteur de niveau, thermometre electronique, clavier, souris,  etc.

En fonction de ces informations, il va envoyer des commandes aux peripheriques de sortie : moteur, resistance chauffante, electro-vanne, pompe, voyants et indicateurs,  etc.

Ports d'entrees/sorties [ modifier | modifier le code ]

Les peripheriques sont relies au reste du systeme par des circuits appeles ports d'entrees et ports de sortie (certains ports peuvent combiner les deux fonctions).

Un port d'entree est essentiellement compose de tampons trois etats . Ceux-ci se comportent comme des interrupteurs electroniques qui font apparaitre, au moment voulu, les niveaux logiques du peripherique d'entree (choisi par le bus d'adresse) sur le bus de donnees ; ces niveaux seront memorises dans un registre du processeur (le registre est une case de RAM).

Un port de sortie est essentiellement compose de bascules de type D. Celles-ci se comportent comme des petites memoires. Leur entree est reliee au bus de donnees. Le processeur vient ecrire un niveau logique 0 ou 1 dans chacun des bascules. Les sorties des bascules controlent les peripheriques, generalement via un etage de puissance.

Peripheriques d'entree [ modifier | modifier le code ]

Une entree est un flux de donnees provenant soit :

  • du reseau ;
  • d'une lecture d'information sur disque ;
  • d'une saisie clavier, d'un mouvement de souris, d'un crayon optique ;
  • ou de tout autre peripherique prevu pour interagir avec un systeme informatique.

Ces signaux d'entree generent des Interruptions materielles qui sont traitees en priorite par le gestionnaire d'interruptions du noyau du systeme d'exploitation .

Dans les systemes a microprocesseurs, tels la machine a laver evoquee ci-dessus, on trouve des boutons poussoirs, des commutateurs.

De nombreux microcontroleurs incorporent des compteurs ; les signaux mis en forme et appliques aux entrees de comptage constituent aussi des signaux d'entree du systeme.

Dans les systemes informatiques, le choix est bien plus vaste : clavier, souris , crayon optique, numeriseur, convertisseurs analogiques/numeriques…

Insistons sur le fait que, pour etre traites par le processeur, les signaux, quels qu'ils soient, doivent etre convertis en signaux logiques compatibles avec le processeur. Dans certains cas, il faudra donc placer des convertisseurs de niveau ou des etages d'isolement (souvent des opto-coupleurs ).

Peripheriques de sortie [ modifier | modifier le code ]

Les sorties sont associees a des trappes ou appels systemes .

Une sortie peut etre (cette liste n'est pas exhaustive) :

  • un signal (electrique, onde…) ;
  • un flux de donnees (reseau), une ecriture sur disque ou une mise en memoire ;
  • un affichage, un son.

Dans les systemes a microprocesseurs, on utilise des diodes electroluminescentes ( DELs ) ou des ampoules a incandescence comme voyants ou indicateurs, des afficheurs numeriques ou alphanumeriques a DELs ou a cristaux liquides pour l'affichage des messages du systeme, des relais (pour commander des charges necessitant des courants et/ou des tensions eleves), des optocoupleurs

Dans les systemes informatiques, le choix est vaste : ecran pour l'affichage, imprimante pour la production de documents sur papier, convertisseurs numeriques/analogiques…

Peripheriques d'entrees/sorties [ modifier | modifier le code ]

Flux d'entrees-sorties

Un grand nombre de peripheriques sont a la fois des peripheriques d'entree et de sortie. Le modem , par exemple, permet d'envoyer ou de recevoir des informations en provenance du monde exterieur : courrier electronique, navigation Internet, mais aussi envoi et reception de fax, telephonie par ordinateur ( VoIP , Voice over IP ).

Les cartes reseau permettent de relier plusieurs ordinateurs afin de realiser un reseau local d'ordinateurs, ce qui permet de partager des fichiers ou des ressources telles une imprimante reseau, un numeriseur…

Il y a aussi toute la gamme des memoires de masse : disque dur , carte memoire , lecteur de disquette , lecteur de DVD , cle USB .

De meme, les moniteurs d'ordinateurs lorsqu'ils sont dotes d' ecran tactile .

Gestion des entrees/sorties [ modifier | modifier le code ]

On distingue principalement trois facons de gerer les entrees/sorties.

Entrees/sorties programmees [ modifier | modifier le code ]

Pendant l'execution de son programme principal, le microprocesseur va periodiquement lire l'etat des peripheriques d'entree et modifie, si necessaire, l'etat des ports de sortie. C'est la technique la plus simple. Exemple : systeme de regulation de chauffage d'un batiment.

Interruptions [ modifier | modifier le code ]

Cette technique est utilisee lorsque le processeur doit reagir rapidement a un changement d'etat d'un port d'entree. Le peripherique previent le processeur par une ligne d'interruption prevue a cet effet. Le processeur interrompt la tache en cours, saute dans le sous-programme destine a gerer la demande specifique qui lui est adressee ; a la fin du sous-programme, le processeur reprend l'execution du programme principal la ou il l'avait laissee et donne un resultat coherent.

Acces direct a la memoire [ modifier | modifier le code ]

Cette technique, connue souvent par ses initiales DMA ( Direct Memory Access ), est utilisee lorsque l'on doit proceder a un transfert rapide d'un grand nombre de donnees entre, par exemple, un lecteur de CD et un disque dur. Plutot que de transferer les octets d'abord vers un registre du processeur, puis seulement vers le disque dur, les octets sont transferes directement d'un peripherique a l'autre sans passer par les registres du processeur. Le transfert des donnees est organise par un circuit special appele controleur DMA, qui prend la place du processeur pendant le transfert et gere les bus d'adresses et de controle.

Performances [ modifier | modifier le code ]

Les performances d'un ordinateur mesurent le temps qui lui est necessaire pour effectuer un traitement donne. Trois elements influencent ces performances :

  • la puissance du processeur  ;
  • la memoire disponible ;
  • le temps consacre aux operations d'entrees/sorties.

Le temps necessaire pour un traitement informatique quel qu'il soit est toujours determine par un de ces trois elements mais celui des entrees/sorties est generalement preponderant. En effet, le temps consacre aux operations I/O se compte en millisecondes alors que celui consacre aux instructions effectuees par le processeur se compte en nanosecondes.

La taille de la memoire est surtout importante dans la mesure ou elle permet de reduire le nombre d'operations d'entrees/sorties, soit parce qu'une part plus importante des programmes applicatifs peut resider en memoire, reduisant ainsi les phenomenes de pagination, soit parce qu'une partie de cette memoire peut-etre utilisee comme tampon ( memoire cache ) pour le stockage des flux de donnees des operations I/O.


En programmation comme au niveau systeme (par exemple sur les mainframes ), deux elements materiels (entre autres) influencent les performances des entrees/sorties, c'est-a-dire leur vitesse :

  • la charge du processeur (i.e. son taux d'occupation), qui fournit les donnees sortantes ou traite les donnees entrantes ;
  • la charge du dispositif d'entree/sortie, qui emet ou recoit les donnees (on parle generalement des lectures/ecritures notamment pour les acces disques).

Si les ressources CPU ou I/O sont insuffisantes lors de l'execution d'un ou plusieurs traitements simultanes, on parle de saturation.

Notes et references [ modifier | modifier le code ]

Voir aussi [ modifier | modifier le code ]

Articles connexes [ modifier | modifier le code ]

Liens externes [ modifier | modifier le code ]