Page suivante Page précédente Table des matières

2. Pourquoi le PCI?

2.1 Présentation générale

Sur une architecture PC, il y a différents BUS qui sont susceptibles d'être présents.

ISA

8 ou 16 bit, économique, lent (habituellement 8 Mhz), standard, beaucoup de cartes disponibles

EISA

32 bit, cher, rapide, peux de cartes disponibles, en déclin

MCA

16 ou 32 bit autrefois propriétaire IBM, rapide, devenant rare

VESA-Local-Bus

32 bit, basé sur les architectures 486, économique, rapide, beaucoup de cartes disponibles

PCI-Local-Bus

32 bit (prochainement 64 bit), économique, rapide, beaucoup de cartes disponibles, devenu un standard

MCA étais très bien, mais n'a jamais percé, car il étais utilisé uniquement sur des anciennes machines IBM PS/2. Il y eu très peu de cartes.

EISA étais fiable, mais assez cher, et plus destiné aux serveurs qu'au grand public. Il doit y avoir un peu plus de cartes disponibles que pour le MCA.

VESA-Local-Bus (VLB) avais quelques problèmes si la vitesse du bus étais trop élevée, et il n'étais pas très fiable, mais se vendit très bien, principalement du au fait qu'il étais peu cher et plus rapide que l'ISA. Techniquement, c'est quasiment une interface directe avec le bus du 486. La majorité des cartes VESA devraient être stable maintenant. Au début de l'année 1996, beaucoup de cartes 486 supportaient encore le VESA, mais le PCI est en nette progression. Les bus VESA étaient directement liés a la vitesse du bus mémoire des 486, ou a la moitié de la vitesse du bus des Pentium.

Le PCI est en train de prendre l'avantage. Tout comme l'EISA, il n'est pas propriétaire. il est aussi rapide que l'EISA ou le MCA, et est moins cher. La majorité des cartes mères pentium utilisent des bus PCI; le VESA devient de plus en plus rare. Quasiment toutes les cartes et les cartes mères PCI vendues depuis début 1996 sont 32 bits et tournent de 0 à 33 MHz.

De nos jours, la majorité des cartes mères utilisent le bus PCI a la moitié de leur bus mémoire (ex : 33 MHz pour un bus a 66 MHz sur les P66, P100, P133, P166 ; 30 MHz pour un bus à 60 MHz sur les P60, P90, P120, P150 ; et 25 MHz pour un bus a 50 MHz sur les P75). Ceci est probablement aussi le cas des cartes mères Cyrix 6x86. L'implémentation des NexGen 5x86 n'est pas encore disponible. Les spécifications du PCI autorisent un fonctionnement asynchrone par rapport au processeur, (ex : 33 MHz sur un P75), mais cela n'est pas très répandu.

PCI 2.1 à été défini, autorisant le PCI 64 bit, et/ou des opérations jusqu'à 66 MHz, mais aucun chipset x86 ne supporte ces options. le PCI 64 bit apparaîtra certainement en premier, dans un mode 32/64 bit compatible. C'est a dire qu'il sera possible de mélanger les cartes 32 et 64 bit. Le PCI à 66 MHz prendra plus de temps, car il est très contraignant techniquement, ne pourrais supporter qu'une ou peut être deux cartes par pont, et ne marcherais pas bien avec les cartes 33 MHz.

Le PCI ne dépends pas du microprocesseur comme en dépendais le VESA Local Bus. Cela signifie que vous pouvez utiliser une carte winner-1000-PCI sur un ordinateur a base d'alpha aussi bien que sur un ordinateur basé sur un processeur Intel. A part Intel et DEC Alpha, le PCI est utilisé sur quelques Power PC.

Il existe quelques variations sur le PCI qu'il faut connaître : Certaines implémentations supportent les cartes "Bus Master" sur tous les slots PCI, certaines sur un seul slot, et certaines pas du tout ; Certaines implémentations supportent le "pontage" (bridging) sur les cartes, et certaines pas.

2.2 Performances

En provenance de la propagande Pro-PCI de Craig Sutphin

Contrairement a certains bus locaux, qui ont uniquement pour unique but d'accélérer les graphismes, le bus local PCI est une solution complète, fournissant des performances accrues pour le réseau, les disques durs, la vidéo en temps réel, les graphiques et tous les périphériques demandant beaucoup de vitesse. A 33 MHz, le bus synchrone PCI transfère 32 bits de données a une vitesse pouvant atteindre 132 Mo/s. L'extension a 64 bits du bus PCI permettra de doubler la vitesse (264 Mo/s) et offrira une compatibilité ascendante et descendante pour les périphériques sur les bus a 32 et 64 bits. Grâce au fait qu'il soit dépendant du processeur, le bus PCI est optimisé pour les opérations d'entrées/sorties, autorisant le bus PCI a opérer de façon concurrente avec le processeur et la mémoire. Pour les utilisateurs de PC haut de gamme, le PCI délivre une grande fiabilité, de hautes performances, ainsi qu'une facilité d'utilisation plus abordable qu'aucun autre système avant lui; il n'y a pas d'opérations impossibles a 33 MHz. Une taille de mémoire variable ainsi que la possibilité d'activer le "burst mode" en lecture ou en écriture augmentent les performances graphiques. Avoir compris les prérequis en matière de charge et de fréquence a éliminé les problèmes de tampons et de logique figée.

Référez vous aux chapitres sur le tests pour quelques tests de base (et certainement sans grande signification) sur les cartes PCI ASUS avec des 486 et des 586.

2.3 La puce SCSI-II NCR53c810 intégrée

L'une des fonctionnalités intéressantes de certaines cartes mères PCI est la puce SCSI-II intégrée, qui est sensée être aussi rapide que la carte EISA Adaptec 1742, mais moins chère. Des pilotes pour DOS et OS2 sont disponibles. Drew Eckard a sorti de pilote pour la NCR53c810, qui est inclus en standard depuis la version 1.2 du noyau.

Cela marche d'ailleurs si bien que j'ai vendu ma carte ISA Adaptec 1542 juste après l'achat de la carte PCI ASUS SP3 Saturn II, car j'ai trouvé que le contrôleur NCR intégré étais bien plus rapide.

La puce NCR53c810 est embarquée sur certaines cartes mères PCI. Il y a aussi quelques cartes filles disponibles aux alentours de $70.

Il n'y a qu'une seule chose que j'ai remarqué a propos de cette puce et qui ne marchais pas avec les pilotes de l'époque est que la déconnexion/reconnexion ne marchais pas, donc, l'utilisation d'un lecteur de bande SCSI pouvais être dur, spécialement lors de l'utilisation d'un "mt erase" ou d'une commande similaire avais pour effet de bloquer la chaîne SCSI jusqu'à ce que la commande se termine. Comme cela ne me plaisait pas du tout, j'ai acheté une de ces bonnes mais chères carte SCSI DPT et je n'ai plus eu ce genre de problèmes.

On m'a dit que ce problème avais été résolu par Drew dorénavant.

FreeBSD supporte le NCR83x810 depuis un bon bout de temps maintenant, incluant le Tagged Command Queues, FAST, WIDE, et déconnexion pour les puces NCR 53c810, 815 et 825. Drew pense qu'il doit être possible d'adapter le pilote FreeBSD à Linux. J'ai aperçu quelques patchs réalisant cela, quelqu'un aurais l'adresse ?

J'ai personnellement l'impression qu'il y a quelques réinvention de roue a cause de l'évolution concurrente de FreeBSD et de Linux. Un peu de coopération pourrais entre les deux systèmes ne peut faire que du bien...

2.4 Drew Eckhardt à propos du PCI-SCSI:

Drew à écrit a la fin du moi de mars 1995 a propos du SCSI sur du PCI :

(légèrement réécrit pour clarifier le contexte)

Les Adaptec 2940, Buslogic BT946, BT946W, cartes DPT PCI, Future Domain 3260, NCR53c810, NCR53c815, NCR53c820, et NCR53c825 marcheront toutes a quelques variations près sur le mot marcher.

2.5 Nouvelle version alpha du pilote NCR

Bon, ce n'est plus vraiment très très récent, tentez d'utiliser la version qui se trouve dans les noyaux 2.0 avant de lire cette section.

Des pilotes NCR alpha qui gèrent des choses comme les déconnexions/reconnexion, et les transferts synchrones sont maintenant publiquement disponibles. tout ceux que cela amuse de jouer avec devraient :

2.6 Le pilote EATA-DMA et les contrôleurs SCSI PCI DPT

Le pilote SCSI EATA-DMA a connu maints changements et supporte dorénavant des contrôleurs SCSI PCI, les contrôleurs multiples ainsi que tous les canaux des cartes multicanaux SmartCache/Raid dans toutes les combinaisons possibles entre WIDE, FAST-20 (ultra) et DIFFERENTIAL.

Le pilote supporte intégralement les contrôleurs SCSI compatibles avec le protocole EATA-DMA (document CAM/89-004 version 2.0c), et a été testé avec beaucoup de ces contrôleurs utilisés ensembles dans diverses combinaisons.

Ceux la sont :         (ISA)   (EISA) (PCI)
      DPT Smartcache : PM2011  PM2012B 
      Smartcache III : PM2021  PM2022  PM2024 
                               PM2122  PM2124
                               PM2322 
      Smartcache IV  : PM2041  PM2042  PM2044
                               PM2142  PM2144
                               PM2322
      SmartRAID      : PM3021  PM3122  
                               PM3222  PM3224
                                       PM3334
      ainsi que plusieurs contrôleurs venant de NEC, AT&T, SNI, AST, Olivetti et Alphatronix.

Sur une carte DPT de base (pas de cache ni de module RAID), i, MC680x0 contrôle la puce qui gère la maîtrise du bus et le DMA, ainsi que la puce contrôleur SCSI. La carte DPT SCSI fonctionne un peu comme un coprocesseur SCSI.

La carte DPT émule un contrôleur/disque IDE (interface ST506), ce qui vous permet de l'utiliser avec tous les systèmes d'exploitations même si ils n'ont pas de pilote EATA.

Sur une carte avec le module de cache, le 680x0 gère le cache embarqué. La carte DPT supporte jusqu'à 64 Mo de cache.

Sur une carte avec le module RAID, le 680x0 gère aussi le RAID, faisant du miroir en RAID-1, réalisant l'agrégation et le contrôle de parité en RAID-5, etc.

Les cartes d'entrée de gamme utilisent un Motorola 68000, le haut de gamme, utilisent des processeurs plus spécifiques au raid comme les microprocesseurs 68020, 68030 ou 68040/40MHz.

Les prix varient entre $265 et $1.645 (18 janvier 1996)

Comme cela fait maintes fois que l'on me demande ou l'on peut acheter ce cartes en Europe, j'ai demandé a DPT de m'envoyer une liste de leurs revendeurs Européens. En voila un petit aperçu :

 
Austria: Macrotron GmbH            Tel:+43 1 408 15430   Fax:+43 1 408 1545 
Denmark: Tallgrass Technologies A/S Tel:+45 86 14 7000   Fax:+45 86 14 7333
Finland: Computer 2000 Finnland OY Tel:+35 80 887 331    Fax:+35 80 887 333 43
France : Chip Technologies         Tel:+33 1 49 60 1011  Fax:+33 1 49 599350
Germany: Akro Datensysteme GmbH    Tel:+49 (0)89 3178701 Fax:+49 (0)89 31787299
Russia : Soft-tronik               Tel:+7 812 315 92 76  Fax:+7 812 311 01 08
U.K.   : Ambar Systems Ltd.        Tel:+44 1296 311 300  Fax:+44 296 479 461 

"AMHA, les cartes DPT sont les meilleures cartes SCSI disponibles pour les PC. Et j'ai écrit du code pour a peu près tous les types de cartes SCSI pour PC. (bien que, je n'arrive pas a savoir pourquoi !) ;-)" Jon R. Taylor (jtaylor@magicnet.net) President, Visionix, Inc.

La dernière version du pilote EATA-DMA et une disquette de boot pour slackware sont disponibles sur : ftp.i-Connect.Net:/pub/Local/EATA

Depuis la version 1.1.81 du noyau, le pilote est inclu en standard.

L'auteur peut etre joint à ces deux adresses : neuffer@mail.uni-mainz.de or mike@i-Connect.Net

2.7 BT-946C Entièrement supporté depuis les versions 1.3.x du noyau

Il y a un pilote dans les noyaux 1.3.x (disponible en patch pour le noyau 1.2.13) écrit par une personne en relation avec buslogic et qui supporte complètement le 946C et TOUTES ses fonctionnalités incluant l'optimisation des E/S, requetes multiples, fragmentation/regroupements multiples, multiple boites aux lettres, le partage d'IRQ, et oui, 15 périphériques en Fast/Wide. Il n'est plus nécessaire de d'utiliser l'émulation ISA avec le pilote (pas de canal DMA, pas d'adresse ISA), et le pilote est rapide et stable (il n'est plus en version BETA, et est totalement opérationnel).

Le pilote est disponible sur ftp.dandelion.com (le pilote le plus récent peut toujours être récupéré en tapant : "get BusLogic*"). Il supporte TOUS les contrôleurs BusLogic sauf le FlashPoint LT, qui utilise une interface différente. Le pilote est inclus dans les version 1.3.x du noyau en tant que périphérique BusLogic standard.

2.8 Future Domain TMC-3260 PCI SCSI

Rik Faith (faith@cs.unc.edu) m'a fait savoir le 1/2/1995 que la carte Future Domain TMC-3260 PCI SCSI etais suportée par le pilote Future Domain 16x0 SCSI. Des informations plus récentes se trouvent dans le SCSI-HOWTO.

2.9 Autres pensées sur le SCSI

James Soutter (J.K.Soutter1@lut.ac.uk) m'a demandé d'ajouter cette section sur le Fast Wide SCSI-2 :

Le Fast Wide SCSI-2 est quelquefois incorrectement appelé SCSI-3. Il diffère du Fast SCSI-II normal (comme l'Adaptec 1542B?) car il utilise un bus de 16 bits a la place du traditionnel bus 8 bits. Cela augmente les taux de transferts de 10 MB/s à 20 MB/s mais requiert des disques Fast Wide SCSI-2 spéciaux.

Les performances ajoutées du Fast Wide SCSI-2 n'amélioreront pas forcement la vitesse de votre système. La majorité des disques ont une vitesse interne inférieure a 10 MB/s, et par conséquent, un disque seul ne pourra pas flooder un bus Fast SCSI-2.

Dans la présentation des produits Seagate d'octobre 1993, seul un disque Fast Wide SCSI-2 a un taux de transfert interne de plus de 10 MB/s (le ST2450W). La majorité des disques ont un taux de transfert interne d'au maximum 6 MB/s, toutefois, le ST2450W n'est pas la seule exception à la règle. En conclusion, le Fast Wide SCSI est conçu pour le marché des serveurs de fichiers et ne sera as utile pour une utilisation personnelle.

Plutôt que d'acheter un système PCI avec une interface SCSI embarquée, ou plutôt que d'attendre qu'un pilote NCR sorte, Vous devriez plutôt acheter une carte SCSI PCI séparée. D'après Drew, la seule solution PCI qui tienne la route est la BusLogic 946. Elle devrais être compatible avec l'Adaptec 1540, comme la série des cartes EISA/VESA/ISA.

Drew commenta que d'autres contrôleurs SCSI PCI ne seront certainement pas supportés sous Linux ou les BSD car les contrôleurs NCR sont moins cher et plus répandus.

Je recommande définitivement a tous de lire le SCSI HOWTO pour de plus amples informations sur les pilotes SCSI PCI.

Ernst Kloecker (ernst@cs.tu-berlin.de) a écrit (édité) :

Talus Corporation a terminé le pilote NS/FIP pour les cartes PCI avec une puce NCR SCSI. Il devrais être très bientôt distribué, il sera peut être même gratuit car une tierce partie paiera peut être pour le travail et donnera le pilote a NeXT.

Toutes les cartes PCI n'ont pas la puce, la vielle ASUS l'a, et une carte J-Bond l'a aussi. (La majorité des cartes de nos jours (6/95) supposent que vous achèterez la carte séparément.) Quelques vendeurs fournissent une alternative comme vous pouvez le lire dans ce que dit Drew...

La puce NCR est assez intelligente pour marcher avec des disques formatés par d'autre contrôleurs, et ne devrais pas poser de problèmes.


Page suivante Page précédente Table des matières