Aller au contenu
Site Communauté

[TUTO #1] Interface, port, bus et protocole


Messages recommandés

Mise en page temporaire en l'attente d'une modification de la largeur des messages... (ou pas)

Pour la petite histoire...

Bon. Au départ je comptais simplement incorporer une petite remarque dans mon tutoriel sur l'optimisation des SSD (qui est quasiment terminé ─ depuis le temps que je vous en parle 9_9) afin de résumer les différentes interfaces et protocoles utilisés pour les disques durs. Puis je me suis vite rendu que j'avais beaucoup trop de choses à expliquer pour une simple remarque.
Voici donc un tutoriel développé qui ─ je l'espère ─ vous permettra de mieux comprendre les notions d'interface et de protocole.

 

1. Un peu de vocabulaire avant de commencer

Il n'est pas forcément évident d'arriver à faire la différence entre les moyens de transferts de données que sont les interfaces, les bus, les protocoles et les ports. C'est pourquoi je vous propose dans un premier temps de les décortiquer un à un.

Interface

Au sens large, une interface est une zone de contact et d'échanges entre 2 choses. En informatique, il s'agit d'une frontière, d'un dispositif qui permet des échanges et interactions entre 2 acteurs (humain-machine, logiciel-logiciel etc...).

Un exemple d'interface humain-machine (appelée interface utilisateur) : l'interface graphique (GUI) qui est un dispositif de dialogue entre l'humain et la machine reposant sur l'utilisation d'un dispositif de pointage (souris, écran tactile, touchpad...).
L'interface en lignes de commande (CLI) est un autre exemple. L'humain et la machine interagissant cette fois-ci en mode texte.


dfVGxmI.png                                                             dfoCf5t.png

 

Port

Un port est une infrastructure construite par l'homme et destinée à accueillir des bateaux. Une rumeur raconte d'ailleurs qu'en 1866, le gouverneur de la Baie des Crabes aurait interdit la construction d'un port pour protéger ses ressources halieutiques et sa population de crabes savants.

FE3qqQV.png

Vous voulez vérifier ?  : -22.539804, 167.439992:bourdon-est-ce-que-tu-baises:

 

En informatique, un port a deux sens possibles.

  1. Il peut être physique/matériel (computer port [Hardware]) et sert notamment à brancher des périphériques internes (disques durs, processeurs, barrettes de RAM...) à la carte mère et des périphériques externes (clavier, souris...). Un port USB est un port physique externe par exemple. En fait, ce type de port sert d'interface entre l'ordinateur et d'autres ordinateurs ou des périphériques.
    6cvox3k.png
     
  2. Il peut être logiciel et faire le plus souvent référence aux ports utilisés dans le cadre des protocoles TCP/IP (transferts de données sur internet). Votre pare-feu, par exemple, vous permet de contrôler les paquets de données qui transitent via ces ports.
    Je ne m'attarderai pas plus sur ce type de ports car je n'ai pas envie d'aborder les notions de réseau ici (allez demander @Le PoissonClown, il sera ravi de vous expliquer ! :P)

xYPaFYE.png

 

Bus

Un bus est un véhicule automobile de transport en commun. Un voyageur prénommé Ziguépus rapporte que le gouverneur de la Baie des Crabes aurait également interdit la circulation de tout véhicule motorisé afin favoriser le développement de la faune aquatique.

pQcWOM5.png

En informatique, un bus désigne l'ensemble des liaisons physiques (câbles, conducteurs électriques gravés sur les circuits imprimés...) permettant aux différents composants d'un ordinateur de communiquer entre eux. Les bus permettent de réduire le nombre de voies à utiliser pour relier les différents composants entre eux. En effet, un bus informatique peut faire circuler une multitude de données vers plusieurs destinations simultanément. Vous l'aurez compris, un bus se doit de faire transiter un maximum de données le plus rapidement possible.

On distingue généralement sur un ordinateur deux principaux bus :

  • Le bus système (ou FSB ─ Front Side Bus) qui relie le processeur (CPU) au NorthBridge, une puce de la carte mère qui gère les périphériques rapides dont la mémoire vive (RAM)
  • Le bus d'extension/expansion (ou bus I/O ─ Input/Output) qui permet à différents dispositifs externes, tels que les imprimantes, les disques durs de communiquer avec la carte mère.

3uLvxDw.png
 

    Pour aller plus loin  

Deux éléments caractérisent un bus :
 
(**1**) Le volume d'informations (en bits) qu'il peut transmettre simultanément. Il est égal au nombre de lignes physiques sur lesquelles les données sont envoyées (de manière simultanée). Chaque ligne transmet 1 bit de données. Pour faire simple, lorsqu'un bus peut transmettre plus d'un bit d'information simultanément on parlera d'un bus parallèle, sinon d'un bus série. Par exemple une nappe (ou limande ─ vous attendez la blague avec le poisson c'est ça ? 9_9) de 32 fils permet de transmettre 32 bits en parallèle. Le volume d'informations que peut véhiculer un bus parallèle est aussi appelée "largeur" du bus. Les largeurs les plus fréquentes sont : 8, 16, 32 ou 64 bits.

(**2**) La fréquence d'horloge du bus (en Herz). Il s'agit du nombre de paquets de données envoyés ou reçus par seconde. On parle de cycle pour désigner chaque envoi ou réception de données. Ainsi, après une longue et épuisante réflexion, vous êtes sûrement en mesure de comprendre que la fréquence se définit également comme étant le nombre de cycles effectué par seconde.

Finalement, pour connaître le débit maximal du bus (ou taux de transfert maximal), il suffit de multiplier sa "largeur" par sa fréquence.

Rien de mieux qu'un petit exercice de math pour se faire la main :P :

Énoncé : Calculez le débit (en Mo/s) d'un bus d’une largeur de 16 bits, cadencé à une fréquence de 133 Mhz
 

Révélation

{\text{Taux de transfert}}=16\times (133\times 10^{6})\;{\text{bits/s}}=2\,128\times 10^{6}\;{\text{bits/s}}=266\times 10^{6}\;{\text{octets/s}}=266\;{\text{Mo/s}}

 

Protocole (de communication)

Pour faire simple, un protocole est une manière de faire les choses. En science, un protocole expérimental est une suite d'opérations à effectuer pour obtenir un résultat donné. En politique, un protocole diplomatique dicte la façon de se comporter dans le cadre des relations internationales. En informatique et en télécommunication, on peut voir un protocole de communication comme étant un ensemble de règles qui définissent comment se produit une communication. Cependant, même si un protocole est fondamentalement abstrait, son implémentation peut être logicielle ou matérielle !

 

Remarque : On peut très bien voir le langage comme un protocole de communication. Une de ses définitions pourrait très bien être : la langue est un système constitué de signes linguistiques, vocaux, graphiques, gestuels, tenus en cohésion par des règles précises qui, lorsque respectées, permettent la communication.

Si vous avez du mal à vous faire à cette idée (comme moi), sachez que fondamentalement logiciel et matériel c'est la même chose. La différence repose simplement sur l'implémentation. On peut très bien graver un OS sur du silicium dans une optique de performance. Ce n'est évident pas intéressant car difficile et coûteux à faire et très pénible à corriger. Autre exemple bien connu et plus utile : le FPGA
Pour dire les choses simplement, c’est un circuit logique entièrement programmable. Autrement dit, tout ce tu programmes se retrouve matériellement dans le composant.

Les protocoles de communication les plus utilisés sont les protocoles réseau. Par exemple, l'information est transmise sur Internet grâce à un ensemble de protocoles standardisés regroupés sous le terme TCP-IP (Transmission Control Protocol/InternetProtocol).

tcpip_tcp.gif

Voici quelques noms de protocoles utilisés (liste nom exhaustive)

    Pour aller plus loin  

Pour bien saisir l'utilité et le fonctionnement d'un protocole réseau, je vous conseille de lire Les réseaux de zéro rédigé par Jean Pouabou (aka Junior0), Vinci14 et The Frog. La lecture du tutoriel est très agréable et les analogies utilisées permettent une bonne compréhension du sujet.

 

Synthèse

Foncièrement, tout ce qui fait la liaison entre deux choses est une interface. Les bus et les ports sont donc des interfaces.
Un protocole de communication désigne simplement comment deux entités doivent communiquer. Il peut très bien être implanté matériellement ou logiciellement. Au final, le protocole est intrinsèquement lié aux interfaces car il permet l'échange de l'information entre deux choses et donc les interface. Par contre, ça ne marche que dans un sens. Une interface n'a pas forcément besoin de protocole. Par exemple, sur une prise électrique : tu branches ton appareil et... c'est tout.

Un bus est un type d'interface. Il utilise notamment des protocoles qui régissent la communication qui passe dans les différentes connectiques.

Un port matériel est une prise permettant de brancher des périphériques sur un ordinateur. Il va de soit que tout composant relié par un bus possède également un port.

 

Nota Bene : Les notions abordées dans ce tutoriel ne sont pas évidentes. J'ai moi même beaucoup buté sur la partie protocole et j'ai pas mal galéré pour que ça soit clair dans ma tête. Mes recherches personnelles n'ont d'ailleurs pas suffi et je remercie Aabu, Stranger, Zeql et Renault du forum Zeste de Savoir pour leur précieuse aide.
Pour ceux qui ont envie d'approfondir la question (c'est technique je vous préviens) : c'est par là

 

 
 
Modifié par Mreve
Correction du lien vers le tutoriel suivant
  • J'aime 2
  • J'adore 2
Lien vers le commentaire
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...