Présentation
Auteur(s)
-
Jean CALLOT : Professeur associé à l’École supérieure d’ingénieurs en électrotechnique et électronique (ESIEE)
-
Michel DUPLESSY : Maître de conférences à l’Institut de programmation, université Pierre-et-Marie-Curie
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
La norme spécifie un support physique sur lequel les liaisons électriques sont disposées en respectant autant que possible les groupements fonctionnels. Les groupes de fils viennent alimenter rationnellement une série de connecteurs normalisés disposés parallèlement les uns aux autres, sur une plaque électronique principale, appelée suivant les cas « fond de panier » ou « carte mère ». Quelques règles supplémentaires sont introduites pour prendre en compte les contraintes électriques ou mécaniques (nombre de charges supportées, capacités, longueur des lignes, fréquence de fonctionnement, etc.).
Toute carte électronique respectant un certain format physique (facteur de forme), électrique, de connectique et le protocole fonctionnel décrit par la norme peut être insérée dans l’un des connecteurs de la carte mère.
Avec l’arrivée des microprocesseurs, plusieurs bus ont vu le jour, plus ou moins proches d’une famille de processeurs (tableau 1). Parmi les plus utilisés dans l’industrie, on peut citer Multibus et VMEbus (versa module eurocard bus).
Le bus VME a suivi l’évolution de la famille Motorola 680x0, tandis que Multibus I et Multibus II restaient très proches de l’architecture Intel 80x86. À leur époque, ces bus industriels étaient performants, mais relativement onéreux.
Avec l’augmentation de la vitesse de traitement des processeurs, la liaison processeur mémoire est devenue un « goulet d’étranglement », faisant apparaître le problème du débit d’information sur le bus. À défaut, dans un premier temps, de pouvoir installer physiquement sur la même carte le processeur et la mémoire, des bus spécialisés complémentaires plus rapides sont apparus pour établir un lien fonctionnel direct entre CPU et mémoire, augmentant notablement le débit d’information entre ces deux blocs, tout en diminuant le flot véhiculé par le bus principal.
L’évolution technologique permet aujourd’hui de placer les mémoires et donc le bus direct (ou bus local) sur la même carte que le processeur. Les progrès des technologies d’intégration et la baisse spectaculaire du coût des circuits intégrés ont provoqué la naissance d’ordinateurs similaires aux mini-ordinateurs des années 1970, mais utilisables sans logistique importante. L’approche logicielle très simplifiée a permis l’utilisation de ces ordinateurs par du personnel non spécialisé. L’ordinateur est devenu individuel, de faible coût et utilisable par tous.
L’apparition de ces ordinateurs individuels « grand public » (PC, « personal computer ») a nécessité la conception d’un bus bon marché mais peu performant, au moins à l’origine.
Ce bus baptisé ISA (industry standard architecture) fut le bus de base des ordinateurs personnels du type PC.
Le bus ISA est un bus 16 bits de données de structure très simple, conçu pour le microprocesseur Intel 8086 ; il permet des transferts à un rythme maximal de 8 Mo/s. Le processeur suivant, Intel 80286, fonctionnait à ses débuts à une fréquence d’horloge de 6 MHz et même moins quand on lui adjoignait son coprocesseur Intel 80287.
L’arrivée des microprocesseurs Intel 80386, en 1985, avec 32 bits de données, a provoqué diverses extensions au niveau du bus ; certaines étaient d’un usage libre et gratuit alors que d’autres bus propriétaires nécessitaient le paiement d’un droit d’utilisation.
Le bus EISA (« extended ISA »), bus 32 bits, permet des transferts en rafale et peut ainsi atteindre un débit maximal de 33 Mo/s. Ce bus, d’un usage libre, a connu un développement notable en attendant l’avènement du bus PCI.
Le bus MCA (« micro channel architecture »), bus propriétaire 32 bits, défini par IBM, de performances du même ordre (débit de 40 Mo/s extensible à 80 Mo/s en configuration 64 bits) ne s’est pas imposé.
D’autres bus ont été très éphémères.
Le développement des processeurs Intel 80486 et Pentium dont la fréquence de fonctionnement allait très vite dépasser largement 100 MHz, ainsi que les besoins d’un débit toujours plus grand pour des affichages graphiques aux résolutions de plus en plus fines, et pour une utilisation meilleure de disques devenus très rapides, a conduit Intel à introduire fin 1991 un nouveau bus nettement plus puissant : le PCI Local Bus (« peripheral component interconnect local bus »). Bien accueilli dans le monde du PC, ce bus est devenu rapidement un standard de fait et l’est encore.
Conçu pour des architectures 32 et 64 bits, ce bus est adaptable, comme tout bus, par une interface particulière à tout type de processeur et de périphérique. Plusieurs constructeurs ont réalisé cette électronique spécifique sous forme d’un ensemble de circuits appelés ponts (« bridge » ou « chipset »). La terminologie distingue quelquefois un « pont nord » reliant le processeur principal, la mémoire locale et éventuellement une mémoire cache au bus PCI, et un « pont sud » comprenant habituellement un pont PCI-ISA sur lequel viennent se greffer les périphériques classiques : clavier, souris, lecteur de disquette, disques « durs » et lecteur de cédérom au format IDE (intelligent drive electronics) ou équivalent, etc. (figure 1).
L’utilisation de ces ponts a rendu possibles l’élaboration et le développement à un coût raisonnable d’une multitude de cartes industrielles pour environnement PC ; le choix est très vaste et couvre pratiquement tous les domaines : acquisition de mesures, automatismes, cartes pour environnement durci, etc.
Conçu au départ par Intel, il a été pérennisé par le PCI SIG (PCI Special Interest Group), association regroupant de nombreux fabricants d’ordinateurs personnels, de composants, de cartes, de périphériques et de logiciels.
Ce bus est ouvert, non propriétaire, proche de l’architecture des bus précédents. De plus, il apporte un début de réponse aux difficultés pratiques de configuration des PC grâce à ses possibilités de « Plug and Play » (PnP). À la mise sous tension de la machine, le système examine les éléments disponibles, les identifie puis s’enquiert des ressources nécessaires à chacun d’eux pour finalement construire automatiquement une configuration optimale. On évite ainsi des conflits dus aux mauvais choix du numéro d’interruption ou du positionnement dans l’espace d’adressage, fréquents lorsque l’utilisateur devait définir la configuration par des cavaliers à installer sur des cartes électroniques plus ou moins bien documentées.
Avec de bonnes performances et un faible coût, ce bus s’est très vite généralisé dans le monde du PC au point de supplanter, voire d’éliminer aujourd’hui, le bus ISA. En effet, PCI n’a pas souffert de la contrainte de compatibilité ISA que s’étaient imposés les concepteurs d’EISA. Bien accepté aussi pour des applications industrielles, on ne compte plus les développements, quels que soient les domaines, à base de bus PCI ou de variantes prévues pour un fonctionnement en environnement sévère.
Dans le texte, de nombreux sigles ou marques commerciales sont déposés.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
11. Pilote de périphérique PCI pour Windows NT
L’écriture de pilotes de périphériques (device driver ), que ce soit pour un environnement Unix ou Windows, n’est pas obligatoirement simple. L’écriture de ce type de programme, pilote de matériel, nécessite à la fois de bonnes connaissances matérielles, logicielles et d’architecture système. Si le matériel et le logiciel ont été développés par des équipes différentes, il est très difficile de déterminer en cas de problème le responsable de l’erreur.
Des outils d’aide à l’écriture de ces programmes existent, mais souvent ils peuvent, en étant de trop haut niveau, compliquer plus que faciliter le travail de mise au point du matériel. La démarche présentée ici est proche du matériel, afin de permettre au concepteur de matériel de prouver le bon fonctionnement de son système.
Si nous reprenons l’exemple de la carte pédagogique 10, il y a deux modes de fonctionnement : accès par les boîtes aux lettres, accès par les FIFO. En écrivant un programme capable d’assurer des transferts élémentaires, dans chaque sens, entre le PC et la carte (à travers les boîtes aux lettres et les FIFO), on obtient la certitude du bon fonctionnement de la carte. Pour pouvoir accéder aux boîtes aux lettres et aux FIFO, qui sont des registres placés dynamiquement dans l’espace adressable au moment du démarrage de la machine, il faut avoir lu au préalable l’adresse de base située dans l’espace de configuration du PCI. Il faut donc écrire un pilote de périphérique capable de :
-
lire l’espace de configuration, en déduire l’adresse de base des registres du pont PCI ;
-
écrire une valeur dans une boîte aux lettres ;
-
lire une valeur dans une boîte aux lettres ;
-
écrire une valeur dans une FIFO ;
-
lire une valeur dans une FIFO.
dans ce pilote de périphérique volontairement...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Pilote de périphérique PCI pour Windows NT
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive