chapitre 1

© 2000-2015 LHERBAUDIERE

14 pages à l'impression

dernière mise à jour
22 mars 2013
Hit-Parade

Architecture matérielle d'un PC

La technologie pentium (4/4)

le processeur et sa carte
une plus grande complexité
le port USB
une facilité d'emploi
carte réseau
indispensable?
carte son
 
carte scsi
pour les accros
modem-fax
indispensable
carte prototype
pour les électroniciens
les drivers
la source de bien des maux
PCI Express
la nouvelle norme
une collection d'icônes pour visiter tout le site

le processeur


Fig. Pentium 2 et implantation des éléments sur la carte support insérée dans le slot1

L'essentiel de ce qui précède reste vrai quel que soit le processeur utilisé, cependant l'arrivée des pentiums et tout particulièrement des versions 2, 3 et maintenant 4 ont induit dans la carte mère un certain nombre d'évolutions. Aussi nous présentons ci-dessous une carte mère destinée aux processeurs les plus récents et susceptible de fonctionner avec une fréquence d'horloge atteignant 1GHz, tandis que le pentium, dans certaines versions, tourne à 4 GHz..


L'une des principales nouveautés fut la présence d'un bus AGP et de son circuit de contrôle destiné à permettre le fonctionnement accéléré de la carte d'affichage (et l'affichage 3D), bus dont la disparition est prochaine car le bus PCI express permet de le remplacer très avantageusement. On remarque que l'ensemble des interfaces ont été rassemblées sur cette carte et gérées par un seul circuit (chip I/O) et toutes les connexions vers l'extérieur (dont 2 ports USB) sont regroupées sur un seul support. Enfin le processeur est monté sur un support perpendiculaire à la carte mère ce qui favorise la ventilation et permet d'intégrer une mémoire cache de 512Ko optimisée vis à vis du processeur (typiquement un pentium à 450MHz). Les mémoires sont de type PC100 SDRAM (384Mo possible à 100 MHz) sur support DIMM à 168 pins. Le bus PCI fonctionne à 33MHz (ULTRA DMA/33 et 66MHz en UDMA/66) tandis que le bus EIDE peut transférer 16MB/s. On remarque la présence d'un circuit "PCI to ISA bridge" qui permet le transfert de données entre le bus PCI et le bus ISA.

Notons que dans cette carte de 2001 les ports USB sont de type 1.1 et donc fonctionnent aux vitesses inférieures du mode USB. Dans une carte plus récente ces ports doivent maintenant être de type USB 2.0 autorisant une vitesse de transfert de 480Mbps soit 40 fois plus rapide.

Il est exclus dans le cadre de ce document d'expliciter les 242 connexions qui entrent ou sortent de ce processeur, ou les 478 du pentium 4. On peut trouver une documentation complète sur les processeurs pentium et le chipset 440BXAGP (ou le chipset 850 pour le pentium4) sur le site d'intel http://www.intel.com

Le circuit 82443BX génère tous les signaux de contrôle de l'ensemble des liaisons entre le processeur pentium et son environnement, c'est à dire le bus PCI, le bus AGP et la mémoire principale. La mémoire cache montée sur la même carte que le processeur lui est reliée directement.


Fig. le composant 82443BX

Nous indiquons dans le schéma ci-dessous le synoptique et les lignes de sortie du circuit


et dans celui-ci un synoptique des connexions possibles




l'un des derrniers nés de la famille

Précisons que très régulièrement les fondeurs de silicium spécialisés dans les microprocesseurs pour PC annoncent une nouvelle version plus puissante que la précédente, dans laquelle quelque nouvelle fonction est intégrée, aussi ce module sur le pentium ne sera-t-il jamais à jour. Cependant il faut noter qu'entre le tout premier pentium et le dernier sorti à double coeur les différences fondamentales sont minimes. L'essentiel consiste en une réduction de la longueur de canal des transistors le constituant. Ainsi en octobre 2005 une nouvelle unité de production permettait la fabrication de processeurs basés sur la technologie 65 nm et en 2010 on dispose de canaux de 35nm! L'intérêt est de permettre une vitesse d'horloge de plus en plus gigantesque, donc une plus grande rapidité des traitements effectués, mais fondamentalement les processus et les instructions restent les mêmes.


port USB

La technologie USB (Universal Serial Bus) est la solution la plus récente pour interconnecter en série de nombreux périphériques. En pratique on s'aperçoit que l'on doit, si l'on veut exploiter plusieurs périphériques, multiplier les hubs, ce qui revient à dire que l'on a déporté le problème de communication. En raison de sa nouveauté nous apportons ci-dessous quelques informations sur ce nouveau mode de communication. La figure ci-dessous montre un exemple d'architecture préconisée par le groupe de constructeurs réunis dans l'organisation usb.


On remarque deux types de dispositifs : d'une part des hubs (ou dispositifs comportant un hub tel le clavier) qui ont la possibilité d'interfacer plusieurs périphériques (donc de partager la liaison série temporellement) et d'autre part les dispositifs appelés "fonction" qui sont en bout de chaîne et ne possèdent qu'un seul connecteur (souris, haut parleur, microphone...).

Nous donnons ci-dessous le schéma d'un cable de liaison USB reliant un port USB à un périphérique.


Notons que la vitesse de transfert maximale est de 12Mb/s et qu'on dispose d'une possibilité de transfert lent à 1.5Mb/s nécessitant moins de protection vis à vis des parasites électromagnétiques. Les deux vitesses peuvent cohabiter sur le même bus. En pratique seule la souris peut-être utilisée à faible vitesse. La multiplication de dispositifs à faible vitesse serait évidemment préjudiciable à l'efficacité du concept. Le signal d'horloge est transmis encodé avec les données et chaque paquet de données est précédé d'un champ de synchronisation. Le cable USB comporte en outre une ligne d'alimentation Vbus (sous +5V) et une ligne de terre : ainsi certains périphériques (tels des modems) pourront être directement alimentés par le PC (mais attention l'alimentation du PC est rarement surdimensionnée et ne pourra fournir qu'une puissance limitée). Les connecteurs sont mécaniquement différents aux deux extrémités afin d'éviter une erreur de connexion sur un hub. La longueur du cable peut atteindre plusieurs mètres (le diamètre des conducteurs est choisi en fonction de la longueur pour respecter les spécifs en terme de chute de tension le long du cable).

En pratique la taille des packets de données est normalisée, mais il y a plusieurs choix 8, 16, 32, 64 bytes et chaque contrôleur usb implémenté dans un périphérique en cascade n'est pas tenu de pouvoir transmettre tous ces types de packets. En conséquence c'est celui qui possède la limite la plus basse qui imposera sa capacité de transfert aux divers dispositifs montés en série. En particulier en 2005 la plupart des dispositifs USB sont capables de fonctionner selon le mode USB 2.0 à 480Mb/s, mais c'est généralement le PC qui ne comporte pas de contrôleur 2.0, mais seulement 1.1. On pourra cependant connecter de multiples périphériques via un HUB. Le gros avantage de l'USB est que l'on n'est pas obligé d'arrêter l'ordinateur pour connecter un périphérique USB. J'ai ainsi via un HUB la possibilité de connecter sur ma machine une souris, une imprimante, une clé-mémoire, un appareil photo numérique, une caméra, une liaison vers un second PC, un modem, un disque ZIP et un disque dur externe qui me sert de sauvegarde pour mes deux PC.

Dans le glossaire nous développons plus à fond la technologie usb.


AJOUT DE CARTES

Dans les PC de bureau il est fréquent que l'on ajoute des cartes d'interface(s) pour ajouter des fonctionnalités à une machine basique. Par contre dans les PC portables il est à peu près impossible de rajouter de telles cartes pour de simples raisons de place, mais en général ces dispositifs périphériques sont directement intégrés sur la carte mère du portable. La conséquence en est qu'un portable sera plus cher à l'achat et d'architecture figée (donc rapidement obsolète) tandis qu'un PC de bureau pourra être "mis à jour" plus ou moins aisément. C'est pourquoi nous décrivons les principales cartes que l'on peut adjoindre à un PC de bureau. Cependant, ainsi qu'il est précisé ci-dessus, la disponibilité de ports USB et l'adjonction d'un mini-HUB permet d'augmenter les possibilités d'un PC portable.


carte ethernet

Le standard ethernet est aujourd'hui le plus répandu pour la connexion à internet ou à un réseau local. Rappelons que sur un tel réseau les données circulent sous forme analogique et une carte réseau est donc l'interface obligée entre un PC qui ne gère que des données numériques et un réseau sur lequel circulent des signaux analogiques modulés par ces mêmes données (pour en savoir plus lire sur ce site le chapitre consacré à cet interfaçage). Son rôle est, d'une part, le codage en émission et le décodage en réception et, d'autre part, l'identification de la liaison (adresse prédéfinie par construction et bien entendu unique).

Si vous souhaitez intégrer votre PC dans un réseau ethernet, il va falloir insérer une carte réseau et son logiciel adapté. Les cartes réseau doivent être configurées : d’une part, on doit définir l’adresse du port PC qui leur est lié et, d’autre part, puisqu’elles ont généralement un minimum de 16Ko de RAM (et souvent beaucoup plus) servant de tampon entre le serveur et votre PC, il faut définir l’adresse de cette RAM dans votre plan mémoire, et enfin l’interruption qui sera utilisée par cette carte pour invoquer le processeur de votre PC.

Généralement le constructeur d’une carte fournit un logiciel qui permet de réaliser cela de façon conviviale en vous donnant le choix entre diverses adresses et interruptions théoriquement possibles. Cependant il ignore le plus souvent quelles sont les autres cartes installées et donc quels sont les adresses déjà utilisées. Il est donc indispensable à chaque fois que l’on installe un nouveau périphérique de noter (sur papier et dans un fichier ) toutes les informations qui seront utiles la prochaine fois. Par défaut le port sera placé en 300 (qui est à l’origine du PC prévu pour une carte prototype) comme la carte ethernet est du type 8/16 bits le port occupera un emplacement d’un octet (ou 2 octets) ce qui est généralement le cas de la plupart des cartes. En général la zone utilisable va de 220 à 360. On place le plus souvent la carte son en 220 ou 250 avec l’interruption 5 et la carte ethernet en 300 ou au delà avec l’interruption 10 ou 11. La RAM de 16K sera placée dans la zone de mémoire haute entre 640K et 1M. Le plus souvent on essaiera de la placer juste en limite de la zone libre de façon à ne pas couper la zone libre de mémoire haute en tronçons de taille réduite, inutilisables en pratique. Autrefois on devait dans le fichier config.sys exclure cette zone de 16k de la mémoire haute utilisable par les TSR sinon on risquait des conflits. Aujourd'hui Windows gère cela presque automatiquement et c'est dans le panneau de configuration de Windows (voir plus loin) que l'on pourra régler les éventuels conflits. On peut installer plusieurs cartes réseau dans un même PC il suffit de leur attribuer des ports et des plages mémoires et interruptions différents. Si les deux cartes ne fonctionnent pas simultanément elles peuvent théoriquement partager la même plage mémoire, mais pas le même port ni la même interruption. Enfin notez que si l’une des cartes est connectée sur internet son mode de chargement est différent de celui de novell et elle est prioritaire, ce qui revient à dire qu’on peut charger novell après internet mais pas l’inverse.

A titre d’exemple au laboratoire de l’auteur, le driver ethernet pour les cartes récentes se trouvait dans un répertoire dos_odi (note : ceci était vrai avant windows95). Le fichier de lancement pour interfacer un réseau Novell Netware comportait les commandes suivantes Cependant comme l’avenir est à la multiplication des disques amovibles il peut êre raisonnable de prévoir une marge de manoeuvre supplémentaire et donc dans le config.sys d’inscrire la commande lastdrive=G et non F, dans ce cas il faudra évidemment invoquer H : pour le répertoire login. Notez bien que c’est l’instruction lastdrive qui détermine pour votre PC quelle lettre sera affectée à login, ce n’est pas de votre responsabilité d’affecter login à une lettre quelconque. Par contre les autres disques virtuels du réseau novell se voient affecter une lettre qui est le résultat du choix du supervisor d’une part, et éventuellement, d’autre part, d’un choix complémentaire de vous-même.

Notez enfin que sous windows95/../XP c'est Windows lui-même qui gère cette organisation et que vous n'avez plus à vous préoccuper véritablement des différentes commandes de lancement, dès lors que la carte que vous avez installée est Plug and Play et que son driver est dans le CDRom Win95/../XP, mais l'apparente transparence du lancement ne signifie pas que la procédure est changée, elle est rigoureusement semblable et c'est pourquoi nous avons maintenu le détail de l'explication précédente. En outre il se peut que la dernière mouture de Windows ne reconnaisse pas votre carte (alors que la précédente la reconnaissait. C'est par exemple un problème rencontré sur Windows Millénium) et dans ce cas... on revient à l'installation manuelle.

Quelles sont les évolutions prévisibles à court terme :

La carte éthernet standard en 1995 était basée sur le protocole 10baseT (connexion via paire torsadée) ou 10base2(coaxial fin), c'est à dire qu'elle impliquait une transmission à 10Mbps maxi, depuis on a vu apparaitre le 100baseT qui exploite 2 paires de câbles torsadés (d'un câble Category-5 qui en comporte 4 le plus souvent) l'une dans un sens et l'autre dans l'autre pour atteindre 100Mbps. Le nouveau protocole 1000baseT, défini par l'IEEE et référencé 802.3 (ab), permet sans changer le câblage d'atteindre le gigabit par seconde en exploitant simultanément les 4 paires torsadées de manière bidirectionnelle. Chaque transmetteur travaille à 250Mbps en mode full duplex, ce qui oblige évidemment à concevoir une architecture de carte un peu plus complexe puisqu'il faut convertir les 4 signaux analogiques en numérique à la fréquence de 125MHz puis recombiner les différents morceaux du message transmis sur les 4 voies en un message unique qui est transmis au PC. Il semble que le DSP TI6000 à 250MHz soit en mesure d'opérer toutes ces opérations, plus celles non décrites ici, concernant la synchronisation et les adaptations d'impédance. On va donc prochainement voir sur le marché des cartes éthernet universelles possédant les 3 possibilités 10/100/1000, et ce sera le PC qui identifiera automatiquement à quelle vitesse fonctionne le réseau et donc optimisera le fonctionnement de la carte.

Notez cependant que ça n'augmentera pas la vitesse de transfert sur Internet qui restera toujours tributaire de l'encombrement des lignes téléphoniques, d'une part, et de la puissance des serveurs, d'autre part.


carte son

Une carte son va généralement occuper un port, une interruption et un canal dma. Ici encore le constructeur fournit un utilitaire de configuration le plus souvent, mais il arrive qu’il faille manuellement positionner des switches ou des jumpers pour définir ces éléments. Bien sûr le conseil précédent vaut toujours et il est recommandé de noter ces informations en lieu sûr. Si votre carte ne fonctionne pas la raison en est toujours la même : c’est un conflit d’adresse ou d’interruption (on admet évidemment que vous avez correctement connecté vos haut-parleurs).


carte SCSI

Si vous avez le besoin d’interfacer un périphérique SCSI tel un scanner ou un disque ZIP ou JAZ, ou un CDROM ( un lecteur est le plus souvent IDE mais un graveur de première génération est presque toujours SCSI) vous aurez besoin d’une carte SCSI, le plus souvent fournie par ADAPTEC, telle celle figurée ci-dessous.


Notez que beaucoup de périphériques SCSI sont fournis avec une carte dite propriétaire développée pour ce périphérique par le constructeur dudit périphérique et qui n’est pas une vraie SCSI. Il vaut mieux acheter le périphérique seul et une vraie carte SCSI ce qui vous permettra ultérieurement d’ajouter un autre périphérique au standard SCSI sans problème.

Il existe actuellement 3 standard SCSI : L’installation d’une telle carte est souvent délicate car elle possède généralement de nombreux cavaliers à configurer, en particulier pour désactiver certaines fonctionnalités que vous n’utilisez pas. Ainsi elle peut comporter une interface pour un lecteur de disquette à désactiver impérativement si votre lecteur de disquette est connecté sur la carte standard du PC, sinon vous ne verrez plus votre lecteur de disquette. Pour transférer rapidement des données la carte SCSI utilise un canal DMA et il faut veiller à ce que ce ne soit pas le même que celui de la carte son. Comme la carte SCSI peut être connectée en interne ou en externe à plusieurs périphériques en cascade (voir figure ci-dessus) ceux-ci seront identifiés par un numéro entre 0 et 7 (0 étant réservé à la carte SCSI elle même) que l’on peut généralement modifier à l’aide d’un commutateur rotatif situé sur la façade du périphérique. Enfin le câblage en série des divers périphériques liés à la carte SCSI implique une impédance de terminaison. En général le "terminator" est intégré dans chaque périphérique et devra être activé (enabled) le plus souvent par positionnement d'un switch lorsque ce périphérique sera en bout de chaîne. carte modem-Fax

De plus en plus souvent un modem-fax fait partie de l’équipement d’un PC. On dispose de deux possibilités, soit une carte interne généralement sur un slot huit bits et qui va monopoliser une interruption et un port série en permanence, soit ce qui est finalement plus léger un fax externe de la taille d’une mini boite d’allumettes et que vous connectez sur le port série libre (COM2 en général puisque COM1 sera affecté à la souris le plus souvent). Le modem interne est alimenté par votre PC tandis que le modem externe est alimenté par une alimentation externe du type chargeur de calculette. Sur les machines disposant d'un port USB il est évidemment possible de brancher un modem externe qui sera alors alimenté par le PC.

Les logiciels de gestion fournis vous donnent accès au minitel, aux divers protocoles de transmission de données et au fax et votre modem est généralement reconnu par votre traitement de texte comme une vulgaire imprimante. A noter que certains logiciels de fax doivent être ouverts avant le traitement de texte pour fonctionner, alors que d’autres sont vraiment vus comme une imprimante qu’on initialise juste quand on en a besoin (c’est à dire que c’est la commande d’impression qui charge le logiciel de fax). Pour la connexion vers internet il est recommandé d'avoir un modem rapide conforme à la norme V90 (au moins 56Kbauds), mais ne vous faites pas trop d'illusions une ligne téléphonique réelle (France Télécom) n'atteint qu'exceptionnellement un tel taux de transfert (car vous n'êtes le plus souvent pas le seul à utiliser la ligne: en conséquence une ligne classique peut véhiculer 115Ko/s, mais si vous êtes trois sur la ligne simultanément vous ne pourrez disposer que d'un tiers du temps et votre débit réel sera donc de 35Ko/s), quant aux lignes virtuelles (portable) elles sont actuellement limitées à 9600bauds et les investissements pour permettre un accroissement substantiel de cette vitesse (UMTS) sont tels qu'il ne faut pas s'attendre à des progrès avant plusieurs années.

A titre indicatif je vous livre les résultats d'une expérience réalisée en 1994 et destinée à avoir une statistique en vue du déploiement d'une application de télémédecine : j'ai testé l'envoi au même destinataire du même fichier texte d'une page avec le même modem connecté au même PC portable à partir de 500 postes téléphoniques différents en France métropolitaine (plus une dizaine d'essais en Belgique et Allemagne) et dans un certain nombre de cas le fichier a été envoyé plusieurs dizaines de fois du même poste téléphonique (essai étalé sur une période d'un mois à des jours et heures différentes) le résultat est édifiant : le temps de transit a varié entre 47s et 2mn 23s avec une moyenne à 1mn 07s, 80% des tests ont duré entre 56s et 1mn 18s. Même dans le meilleur des cas la transmission était très loin du taux de 56Kbauds que pouvait supporter le modem. Par contre sur une ligne spécialisée entre les 2 PC en laboratoire avec les mêmes modems on a obtenu le taux de transmission prévu soit une durée de 23s.

Notez que le développement d'internet ou plus précisément le développement exponentiel de son nombre d'utilisateurs va induire à moyen terme une obligation de modification profonde des réseaux de télécommunications afin d'assurer le transfert de données numériques, de son et d'images TV avec l'opportunité, même pour un particulier, de disposer de ces possibilités. La conséquence en sera une modification profonde des modems et technologies associées : ce sera ce qu'on appelle déjà aux USA la broadband revolution, c'est à dire l'explosion de la bande passante qui de 56Kbps va permettre des 10MBps via soit un modem+cable, soit les technologies satellites et sans fil. L'emploi du réseau téléphonique actuel conçu pour véhiculer la voix avec une bande passante de seulement 3KHz pose effectivement un énorme problème pour obtenir un élargissement de la bande passante à 10 MHz. Il semble qu'on puisse trouver un compromis en exploitant des algorithmes de communication très sophistiqués, des techniques de modulation et de codage adaptatives qui ne pouvaient être exploitées antérieurement faute de puissance de calcul temps réel adaptée. Aujourd'hui les DSP sont capables de faire jusqu'à 109 opérations par seconde et un prototype de chip adapté à ce problème est en cours d'élaboration chez de nombreux constructeurs. Pour les transmissions exploitant la réception à partir de satellite le chip à intégrer dans votre PC est déjà réalisé (chez Broadcom Communication Chip Company par exemple).

Précisons qu'en début 2010 une grande partie du réseau France Télécom a été modifié et que 80% des français disposent de la technologie ADSL permettant jusqu'à 54Mb/s de débit, mais certaines régions sont encore loin d'être couvertes par cette révolution. Notons quand même qu'il y a souvent un écart sensible entre la théorie et la pratique et que l'ADSL fonctionne parfois à seulement quelques kb/s car la vitesse réelle dépend aussi du serveur auquel vous êtes connecté et pas seulement des lignes de communication qui peuvent en outre être très chargées.

la carte prototype

Il arrive que vous développiez une carte vous mêmes et que vous l’insériez dans un slot libre de votre PC et souvent ce sera l’occasion d’un conflit. En effet IBM en concevant le premier PC a prévu cette possibilité et a défini un domaine d’adresses réservé aux cartes prototype 300 à 31F ce qui a priori permet d’ajouter jusqu'à 32 cartes d’entrée-sortie supplémentaires, mais par paresse la plupart des développeurs utilisent l’adresse 300. Donc un conseil : sur votre carte personnelle prévoyez un ou deux jumpers sur les lignes d’adresse A2 et A3 qui vous permettront de sélectionner 304, 308 ou 30C au lieu de 300 en cas de conflit. Pensez aussi à placer des buffers 3 états sur votre circuit de décodage d’adresse ça évite les risques de court-circuit.


drivers

Vous avez une machine et vous changez de système d'exploitation. Qu'en est-il des différents logiciels drivers qui pilotaient vos cartes et périphériques divers? En pratique deux cas se présentent : où votre nouveau système d'exploitation reconnait votre périphérique et possède la nouvelle mouture du driver et c'est l'idéal, où il n'a pas le driver et l'ancien ne marche plus et c'est la galère, et bien entendu il y a tous les cas intermédiaires. Pour ceux qui sont dans l'un des cas défavorables citons un site internet où vous pourrez trouver comment télécharger la dernière version du driver de votre vieux matériel : http://www.commentcamarche.net/ site où vous trouverez d'ailleurs bien d'autres informations sur l'informatique très clairement présentées.


Le nouveau bus PCI-Express

Dernier avatar du bus PCI le bus PCI Express est sur le marché. De quoi s'agit-il?

Le Bus PCI initialement conçu pour s'adapter à la technologie Pentium en 1990 avec sa fréquence initiale de 33MHz est aujourd'hui complètement inadapté pour des processeurs fonctionnant à plus de 1GHz. Certes en son temps il avait apporté de très grands progrès en raison de son isolation, de son indépendance du processeur. Cependant son architecture parallèle est limitée en terme de bande passante, de nombre de broches, de transfert de données en temps réel, et ne répond plus aux besoins de la nouvelle génération d'E/S, comme la qualité de service, la gestion d'alimentation et la "virtualisation" des E/S. La principale limitation du bus PCI réside dans le partage de la bande passante entre tous les périphériques connectés sur le bus, Ainsi la mise en oeuvre d'un nouveau périphérique ralentit tous les autres et une machine avec un processeur à 2.4GHz ne se révèle, in fine, guère significativement plus rapide qu'un 486 tournant à 33MHz alors qu'on serait en droit d'attendre un gain d'un facteur 72! Les bus PCI-X et AGP n'ont pas apporté le remède satisfaisant puisque leur gain en Fréquence s'accompagne d'une perte sensible en distance obligeant à multiplier les bus PCI-X et donc à compliquer de manière très sensible les cartes mères en particulier au niveau du nombre de couches du circuit imprimé et donc du coût! En outre le développement de l'acquisition de données à fréquence d'échantillonnage élevé et les applications internet et multimédia vidéo ne peuvent se satisfaire, pour la qualité de l'image et du son, d'un bus dont la disponibilité est aléatoire puisque dépendant des autres applications. Par ailleurs il est indispensable de disposer de voies virtuelles pour permettre le routage des données au travers de chemins virtuels si d'autres voies sont bloquées par des transactions prioritaires.

Le bus PCI Express, contrairement au bus PCI qui est parallèle, fait appel à une communication série point à point. Son architecture est spécifiée sous forme de couches.

configuration OS modèle plug and play du PCI sans changement
couche logicielle drivers et logiciels PCI  
couche transactionnelle protocole paquets même topologie que TCP/IP
couche liaison de données intégrité des données  
couche physique série point à point différentiel couche évolutive

La compatibilité avec le modèle d'adressage du PCI est maintenue pour assurer la compatibilité avec toutes les applications et tous les drivers existants. La configuration du PCI Express utilise des mécanismes standards définis dans la spécification plug-and-play du PCI. Les couches logicielles vont générer des requêtes de lecture et d'écriture transmises aux périphériques d'E/S par la couche transactionnelle, à l'aide d'un protocole de partage de transactions basé sur le principe de paquets. La couche de liaison ajoute à ces paquets des numéros de séquence et un CRC (contrôle par redondance cyclique), pour assurer un transfert de données fiable. La couche physique de base consiste en deux canaux unidirectionnels (formant ce qu'on appelle une voie), composés chacun d'une paire de conducteurs (une paire émettrice et une paire réceptrice). La vitesse initiale de 2,5 Gbits/s sur chaque canal fournit une voie de communication de 200 Mo/s dans chaque sens, ce qui représente à peu près quatre fois la vitesse de transfert du PCI classique.

La couche physique transporte des paquets de données entre les couches de liaison de deux interfaces PCI Express et pourra évoluer en fonction des progrès de la microélectronique, sans modification des autres couches. C'est l'un des points forts de cette nouvelle architecture.


La bande passante du bus PCI Express peut être étendue de façon linéaire en ajoutant des canaux de façon à former des voies multiples. La couche physique fournit n=1, 2, 4,...32 voies sur lesquelles se répartissent les octets à transmettre. Chaque octet est transmis avec l'encodage 8B/10B. L'assemblage et le désassemblage des données sont transparents pour les autres couches. Durant l'initialisation, chaque canal du bus est configuré suivant la largeur de voies et la fréquence de l'opération, négociées par les deux interfaces qui se trouvent de part et d'autre de la liaison. Aucun logiciel n'est impliqué dans cette négociation et dans cette configuration, et surtout pas le système d'exploitation.


La couche de liaison est responsable de l'intégrité des données, c'est-à dire de la livraison fiable d'un paquet à travers la couche physique. Elle va ajouter un numéro de séquence ainsi qu'un CRC à chaque paquet de la couche transactionnelle. Un protocole de contrôle de flux, basé sur le principe de crédits, garantit que les paquets sont transmis uniquement lorsqu'un buffer est disponible à l'autre extrémité. Cela élimine les relances de paquets et la déperdition de bande passante associée. La couche de liaison ne relancera donc un paquet que s'il est signalé comme corrompu.

couche transactionnelle
   
en-tête
données
   
couche de liaison
 
Num de séquence
paquet issu de la couche précédente
CRC
 
couche physique
trame
paquet issu de la couche précédente
trame
             

La figure ci-dessous montre l'évolution du paquet en passant d'une couche à l'autre. Chaque paquet a un identificateur unique qui permet de diriger les paquets de réponse vers leurs initiateurs. Le format d'un paquet offre un adressage de mémoire sur 32 bits et un adressage étendu sur 64 bits. La couche transactionnelle fournit quatre espaces d'adressage : trois pour les adresses PCI (mémoire, E/S et configuration) auxquels s'ajoute l'espace Message qui va être utilisé pour la propagation des interruptions système.

PCI offre un modèle d'initialisation très efficace, dans lequel le système d'exploitation peut identifier tous les matériels connectés sur le bus et allouer en conséquence les ressources système, comme la mémoire, les interruptions et l'espace d'E/S, pour créer un environnement système optimal. Ceci sera inchangé dans le système PCI Express.


Comme le montre la figure ci-dessus l'architecture d'un PC va être sensiblement modifiée puisque le bus PCI Express va se substituer à la plupart des bus internes (tels le bus AGP). Pour comparer on se reportera à la figure au début du chapitre montrant l'utilisation du circuit 82443BX.

Avec une bande passante deux fois supérieure, en version de base x1, à celle du PCI, et qui croît linéairement à mesure que l'on ajoute des voies, PCI Express augmente considérablement les vitesses de transfert des données. Un autre avantage est que cette bande passante est disponible simultanément dans les deux sens sur chaque ligne. En outre, la vitesse de signalisation initiale de 2,5 Gbits/s est prévue pour augmenter jusqu'à 10 Gbits/s, et ainsi faire face à l'évolution des besoins.

Notons une info de septembre 06 : sous le nom de code "Geneseo", IBM et Intel ont développé une proposition visant à faire évoluer PCI Express afin que cette technologie d'interconnexion série haut débit puisse mieux satisfaire les besoins d'applications très gourmandes en performances (visualisation, modélisation de phénomènes mathématiques, physiques ou météorologiques complexes, traitement du contenu comme le cryptage et le décryptage de données dans les équipements d'infrastructures télécoms, etc.). Les améliorations visent à accélérer les connexions entre le processeur central et les coprocesseurs et/ou les circuits d'accélération d'applications, et à multiplier les options d'intégration pour les développeurs systèmes. Plusieurs sociétés, comme Adaptec, Altera, Broadcom, Cisco, Dell, HP, LSI Logic, Mellanox, Novell, Nvidia, Sun et Xilinx, ont apporté leur soutien à la proposition Intel/IBM.