Les ports d'entrée-sortie sont des éléments matériels de l'ordinateur, permettant au système de communiquer avec des éléments extérieurs, c'est-à-dire d'échanger des données, d'où l'appellation d'interface d'entrée-sortie (notée parfois interface d'E/S).
Les ports série représentent les premières interfaces ayant permis aux ordinateurs d'échanger des informations avec le "monde extérieur". Le terme série désigne un envoi de données via un fil unique: les bits sont envoyés les uns à la suite des autres (reportez-vous à la section transmission de données pour un cours théorique sur les modes de transmission).
A l'origine les ports série permettaient uniquement d'envoyer des données, mais pas d'en recevoir, c'est pourquoi des ports bidirectionnels ont été mis au point (ceux qui équipent les ordinateurs actuels le sont); les ports séries bidirectionnels ont donc besoin de deux fils pour effectuer la communication.
La communication série se fait de façon asynchrone, cela signifie qu'aucun signal de synchronisation (appelé horloge) n'est nécessaire: les données peuvent être envoyées à intervalle de temps arbitraire. En contrepartie, le périphérique doit être capable de distinguer les caractères (un caractère a une longueur de 8 bits) parmi la suite de bits qui lui est envoyée...
C'est la raison pour laquelle dans ce type de transmission, chaque caractère est précédé d'un bit de début (appelé bit START) et d'un bit de fin (bit STOP). Ces bits de contrôle, nécessaires pour une transmission série, gaspillent 20% de la bande passante (pour 8 bits envoyés, 2 servent à assurer la réception).
Les ports série sont généralement intégrés à la carte-mère, c'est pourquoi des connecteurs présents à l'arrière du boitier, et reliés à la carte-mère par un nappe de fils, permettent de connecter un élément extérieur. Les connecteurs séries possèdent généralement 9 ou 25 broches et se présentent sous la forme suivante (respectivement connecteurs DB9 et DB25):
Un ordinateur personnel possède généralement entre deux et quatre ports séries (certains de ces ports possèdent des connecteurs DB9, d'autres des connecteurs DB25).
La transmission de données en parallèle consiste à envoyer des données simultanément sur plusieurs canaux (fils). Les ports parallèle présents sur les ordinateurs personnels permettent d'envoyer simultanément 8 bits (un octet) par l'intermédiaire de 8 fils.
Les premiers ports parallèles bidirectionnels permettaient d'atteindre des débits de l'ordre de 2.4Mb/s. Toutefois des ports parallèles améliorés ont été mis au point afin d'obtenir des débits plus élevés:
- Le port EPP (Enhanced Parralel Port, port parallèle amélioré) a permis d'atteindre des débits de l'ordre de 8 à 16 Mbps
- Le port ECP (Enhanced Capabilities Port, port à capacités améliorées), mis au point par Hewlett Packard et Microsoft. Il reprend les caractéristiques du port EPP en lui ajoutant un support Plug and Play, c'est-à-dire la possibilité pour l'ordinateur de reconnaître les périphériques branchés
Les ports parallèle sont, comme les ports série, intégrés à la carte-mère. Les connecteurs DB25 permettent de connecter un élément extérieur (une imprimante par exemple).

Les ports USB (Universal Serial Bus, ports séries universels) sont, comme leur nom l'indique, basés sur une architecture de type série. Il s'agit toutefois d'une interface entrée-sortie beaucoup plus rapide que les ports série standards. L'architecture qui a été retenue pour ce type de port est en série pour deux raisons principales:
- L'architecture série permet d'utiliser une cadence d'horloge beaucoup plus élevée qu'une interface parallèle, car celle-ci ne supporte pas des fréquences trop élevées (dans une architecture à haut débit, les bits circulant sur chaque fil arrivent avec des décalages, provocant des erreurs)
- Les câbles séries coûtent beaucoup moins chers que des câbles parallèles
Ainsi, dès 1995, le standard USB a été élaboré. Il propose deux modes de communication (12 Mbps en mode haute vitesse et 1.5 Mbps à basse vitesse) pour la connexion d’une grande variété de périphériques. L’architecture USB a pour caractéristique de fournir l’alimentation électrique aux périphériques qu’elle relie. Elle utilise pour cela un câble composé de quatre fils (la masse GND, l’alimentation VBUS et deux fils de données appelés D- et D+).
La norme USB permet le chaînage des périphériques, en utilisant une topologie en bus ou en étoile. Les périphériques peuvent alors être soit connectés les uns à la suite des autres, soit ramifiés.
La ramification se fait à l’aide de boîtiers appelés hubs (ou concentrateurs), comportant une seule entrée et plusieurs sorties. Certains sont actifs (fournissant de l’énergie électrique), d’autres passifs.
La communication entre l’hôte (l’ordinateur) et les périphériques se fait selon un protocole (langage de communication) basé sur le principe de l’anneau à jeton (token ring). Cela signifie que la bande passante est partagée temporellement entre tous les périphériques connectés. L’hôte émet un signal de début de séquence chaque milliseconde (ms), intervalle de temps pendant lequel il va donner simultanément la « parole » à chacun d’entre-eux. Lorsque l’hôte désire communiquer avec un périphérique, il émet un jeton (un paquet de données, contenant l’adresse du périphérique, codé sur 7 bits) désignant un périphérique. Si ce dernier reconnaît son adresse dans le jeton,
il envoie un paquet de données en réponse. Sinon, il fait suivre le paquet aux autres périphériques connectés à lui. Puisque l’adresse est codée sur 7 bits, 128 périphériques (2^7) peuvent être connectés simultanément à un port de ce type. Il convient en réalité de ramener ce chiffre à 127 car l’adresse 0 est une adresse réservée. (cf plus loin). A raison de 5m de câble maximum entre deux périphériques, et d'un nombre maximal de 5 hubs, il est possible de créer une chaîne longue de 25 mètres !
Les ports USB supportent le Hot plug and play. Ainsi, il est possible de brancher les périphériques sans éteindre l’ordinateur (branchement à chaud). Lors de la connexion du périphérique à l’hôte, ce dernier détecte l’ajout du nouvel élément grâce au changement de la tension entre les fils D+ et D-. A ce moment, l’ordinateur envoie un signal d’initialisation au périphérique pendant 10 ms, puis lui fournit du courant grâce aux fils GND et VBUS (jusqu’à 100mA). Le périphérique est alors alimenté en courant électrique et récupère temporairement l’adresse par défaut (l’adresse 0). L’étape suivante consiste à lui fournir son adresse définitive (c’est la procédure d’énumération). Pour cela, l’ordinateur interroge les périphériques
déjà branchés pour connaître la leur et en attribue une au nouveau, qui en retour s’identifie. L’hôte, disposant de toutes les caractéristiques nécessaires est alors en mesure de charger le pilote approprié...
Le standard SCSI (Small Computer System Interface) est une interface permettant la connexion de plusieurs périphériques de types différents sur un ordinateur par l’intermédiaire d’une carte, appelée adaptateur SCSI.
Le nombre de périphériques pouvant être branchés dépend de la largeur du bus SCSI : avec un bus 8 bits il est possible de connecter 8 unités physiques, 16 pour un bus 16 bits. L’adapteur SCSI représentant déjà une unité physique, le bus accepte 7 (8-1) ou 15 (16-1) périphériques .
L’adressage des périphériques se fait grâce à des numéros d’identification. Le premier numéro est l’ID, il s’agit d’un numéro permettant de désigner le contrôleur intégré au périphérique (celui-ci est défini grâce à des cavaliers à positionner sur chaque périphérique SCSI). En effet, le périphérique peut avoir jusqu’à 8 unités logiques (par exemple un lecteur de CD-ROM comportant plusieurs tiroirs). Les unités logiques sont repérés par un identificateur appelé LUN (Logical Unit Number). Enfin, un ordinateur peut comporter plusieurs cartes SCSI, c’est pourquoi un numéro de carte est assigné à chacune d’entre-elles.
De cette façon, pour communiquer avec un périphérique, l’ordinateur doit donner une adresse de la forme « numéro de carte - ID - LUN ».
Deux types de bus SCSI existent :
- le bus asymétrique (le plus utilisé sur PC) basé sur une architecture parallèle dans laquelle chaque canal circule sur un fil, ce qui le rend sensible aux interférences
- le bus différentiel permet le transport des signaux sur une paire de fils, ainsi, l’information étant codée par différence entre les deux fils, les perturbations seront compensées
Les connecteurs des deux catégories de périphériques sont les mêmes, mais les signaux électriques ne le sont pas, il faut donc veiller à identifier les périphériques (grâce aux symboles prévus à cet effet) afin de ne pas les détériorer!
Les normes SCSI définissent les paramètres électriques des interfaces d’entrées-sorties. Le standard SCSI-1 date de 1986, il définissait des commandes standard permettant le contrôle des périphériques SCSI. Toutefois un grand nombre de ces commandes étaient optionnelles, c’est pourquoi en 1994 la norme SCSI-2 a été adoptée.
Elle définit 18 commandes appelées CCS (Common Command Set). La norme SCSI standard permet des débits de l’ordre de 5Mo/s. Toutefois, des versions du standard ont été définies. La version Wide SCSI-2 est basé sur un bus de largeur 16 bits (au lieu de 8) et passe le SCSI standard a 10Mo/s. Le standard SCSI-2 permet aussi un mode synchrone rapide appelé Fast SCSI (passant de 5 à 10 Mo/s le SCSI standard, et de 10 à 20 le Wide SCSI-2). Les modes Fast-20 et Fast-40 permettent respectivement de doubler et quadrupler ces débits. La norme SCSI-3, émergeant actuellement, intègre de nouvelles commandes, et permet le chaînage de 32 périphériques.
|