Bus d'extension : Caractéristiques et fonctionnement sur PC

Bus d'extension : Caractéristiques et fonctionnement sur PC

Depuis l'aube de l'ordinateur personnel, ce n'est pas avec le PC IBM mais avec l'Altair de MITS que les ordinateurs personnels ont différents types et formes, mais tous les bus d'extension suivent une série de règles communes dans son fonctionnement quel que soit le type d'interface que nous parlent. C'est pourquoi nous vous avons fait un article avec les règles communes des ports d'extension.

Que l'on connecte l'imprimante au port USB, la carte graphique au port PCI Express ou le disque dur au port SATA, ils suivent tous une série de normes communes qui leur permettent d'interagir avec le reste du système, ce qui nous allons définir ici, afin que vous ayez une meilleure connaissance des ports d'extension en général et pas seulement un en particulier.

1ère règle d'un bus d'extension : série ou parallèle

puertos expansion série paralelo

Un port d'extension peut transmettre des données en série ou en parallèle. Lorsque nous disons qu'il transmet des données en série, nous disons que le port a une seule broche de données qui envoie un bit d'information par cycle d'horloge.

Un port d'extension parallèle, par contre, envoie plusieurs bits simultanément, mais pour cela il nécessite un plus grand nombre de broches et donc son interface est beaucoup plus large. Par conséquent, l'interface physique dudit port occupera beaucoup plus de broches et donc une plus grande surface. La conséquence, des puces plus grosses que ces interfaces sont sur le périmètre extérieur.

Étant donné que la consommation de transfert de données augmente de façon exponentielle avec la bande passante, les interfaces parallèles sont souvent utilisées pour les bandes passantes élevées et les interfaces série pour les bandes passantes faibles. Cependant, toutes les interfaces contiennent une interface SerDes qui l'accompagne à l'intérieur du processeur, ladite interface convertit le signal de parallèle en série et donc sérialise et aussi le cas inverse. Cela se produit à l'intérieur du processeur et avant d'envoyer ou de recevoir les signaux, car la consommation d'énergie à l'intérieur du CPU est beaucoup plus bas.

2ème règle d'un bus d'extension : adresse

Duplex Simplex Agrandissement de Puertos

Les premières interfaces allaient généralement dans un seul sens, en particulier pour les périphériques d'entrée où souris et claviers étaient connectés. Après tout, un clavier n'a pas besoin de traiter les données et la même chose s'est produite avec les ports de sortie tels que la sortie vidéo.

Mais pour certains périphériques, il est nécessaire d'avoir une communication dans les deux sens et c'est un énorme gaspillage d'espace et de complexité matérielle d'avoir des broches pour envoyer des données et des broches pour recevoir des données. La solution? Faisant fonctionner les broches dans les deux sens, avec cela, deux types de configurations appelées Duplex ont été atteints, qui sont les suivantes :

  • Semi-duplex : les données sont transmises dans une seule direction, qui est marquée par l'envoi d'un signal à une ou deux broches contiguës. Si une seule broche est utilisée pour sélectionner, elle n'autorise qu'une seule direction des données, si elle autorise les deux, nous pouvons copier, c'est-à-dire transmettre les données dans Full Duplex mode.
  • Certaines interfaces de communication transmettent toujours des données dans les deux sens, celles-ci sont purement Full Duplex , mais ils n'utilisent pas certaines broches pour transmettre les données.

La plupart des systèmes les plus avancés du second type ont généralement à la fois un récepteur et un émetteur à chaque extrémité pour pouvoir communiquer les données dans les deux sens.

3ème règle d'un bus d'extension : les canaux

Brochage USB-C

Et puisque nous parlons de canaux de données, il existe des ports d'extension qui peuvent transmettre plusieurs flux de données différents en se basant sur plusieurs émetteurs (TX), récepteurs (RX) ou émetteurs-récepteurs fonctionnant simultanément sur leurs interfaces. Ce qui leur permet de ne pas envoyer un seul flux de données, mais plusieurs différents en même temps.

C'est le cas de l'USB-C Alt DP où les différents canaux de données peuvent être utilisés à la fois pour transmettre des données et pour envoyer de la vidéo vers une entrée DisplayPort d'un moniteur. Un autre avantage que cela permet est de pouvoir créer des hubs qui permettent à plusieurs périphériques de partager la même interface commune.

Mode de transmission des données

Système binaire

Le point suivant est la manière de transmettre les données et cela change en fonction de l'interface sélectionnée. Dans certaines interfaces plus simples, nous avons une broche qui, lorsqu'elle reçoit le signal, transmet directement les données d'une partie de l'interface à une autre. La plupart des interfaces primitives sont basées sur le placement des données à partir d'une adresse mémoire spécifique et sur le fait que le matériel se charge de transmettre les données.

Mais depuis que les CPU des PC ont commencé à utiliser un adressage virtuel qui est devenu impossible à faire, les systèmes de transfert de données avec des périphériques ainsi que des RAM la mémoire nécessitait l'ajout de ce qu'on appelle les IOMMU, des parties qui, comme une MMU, traduisent les adresses virtuelles en adresses physiques, mais cette fois avec des périphériques.

Aujourd'hui, la plupart des interfaces fonctionnent comme une interface réseau. L'IOMMU peut savoir directement quel périphérique communique à partir de la nature de chaque paquet envoyé. Cependant, toutes les entrées et sorties de données ne passent pas par l'IOMMU comme c'est le cas avec le signal vidéo par exemple, puisqu'elles sont gérées par la carte graphique dans ce cas.

DMA pour communiquer périphériques et mémoire

Diagramme DMA

L'une des particularités de l'architecture x86 est qu'elle n'a pas de broches différenciées pour communiquer la mémoire et les périphériques, de sorte que les périphériques se voient attribuer une série d'adresses mémoire pour la communication entre le CPU et les périphériques. Le problème? L'interface mémoire se trouve sur la CPU. Comment les périphériques communiquent-ils avec la RAM ?

Eh bien, grâce à un mécanisme d'accès direct à la mémoire ou DMA, ce mécanisme est une interface avec la RAM pour le périphérique qui déconnecte temporairement l'un des canaux mémoire du CPU à la RAM pour l'affecter au périphérique et pouvoir écrire le données en mémoire ou lues à partir de celle-ci. Ceci est important car le CPU nécessite que les données soient dans la RAM pour pouvoir fonctionner avec.