Ultra DMA, DMA & BusMaster

Heureux possesseur d'un disque dur estampillé "ULTRA-DMA" ou "ULTRA DMA/33", vous vous empressez de le substituer à votre "vieux" disque dur E-IDE et lancez fiévreusement Windows 98 afin de vérifier que la sacro-sainte case "DMA" du Gestionnaire de Périphériques est bien cochée. Cette démarche trahit une confusion. On confond aisément le mode DMA et U-DMA et cette confusion est alimentée par la notion de BusMaster que l'on ne sait pas très bien à quoi rattacher. Mais bon, on se dit que c'est forcément mieux, puisque c'est nouveau. C'est faux.

L'Ultra-DMA est une technologie mise au point par Quantum, fameux constructeur de disques durs. Ce récent protocole qui date de début 1997 a été repris par tous les acteurs majeurs de ce marché. L'objet de l'U-DMA est d'augmenter le taux de transfert du disque dur jusqu'à une vitesse théorique de 33Mo par seconde (66Mo/s pour le futur U-DMA 66). Cette technologie n'est supportée que sur les cartes mères dotées des chipsets Intel (ou autres) les plus récents, c'est-à-dire à partir du chipset TX dans le cas d'Intel (avec le Pentium II, nous avons les chipsets LX-BX et EX pour les portables, et avec le Pentium Xéon, nous avons le chipset GX). Les machines plus anciennes doivent recourir, si cela est rendu possible par le constructeur, à un contrôleur PCI/U-DMA spécifique.

Sur le plan technique, l'U-DMA consiste à envoyer deux fois plus de données dans un même cycle. Au lieu d'accélérer la vitesse de chaque cycle, on a préféré élargir "la bande" sur laquelle les données sont adressées dans un même cycle. Très schématiquement, les anciens contrôleurs attendaient que le signal atteigne son point culminant pour envoyer ou récupérer les données. L'U-DMA estime que cette opération peut être faite aussi bien au point culminant qu'au point le plus basultra_ata.gif (1426 octets). Par rapport aux limitations des spécifications ATA-2 et ATA-3, le taux de transfert passe de 16 Mo/s à 33 Mo/s (vitesse théorique). La technologie U-DMA ne s'arrête pas là et l'on peut citer, outre l'augmentation de la bande passante qui vient d'être décrite, une bien meilleure sécurité des données grâce à l'intégration d'une procédure de vérification de l'intégrité des données (le fameux CRC : Cyclical Redundancy Checking). Épargnons-nous les détails techniques sur le CRC (valeur initiale des registres placés aux deux bouts de la connexion ultra-ATA et fixée à 4ABAh) et retenons qu'une erreur CRC entraîne une nouvelle transmission des données. Enfin, pour ceux que ça intéresse, les spécifications actuelles ATA sont les suivantes :

Spécification ATA ATA-2 ATA-3 ATA/ATAPI 4
Modes PIO 1 PIO 3,4
DMA 0,1,2
PIO 3,4
DMA 0,1,2
PIO 3,4
DMA 0,1,2
Ultra DMA
Taux de transfert 4 Mo/s 16 Mo/s 16 Mo/s 33 Mo/s
Connexions Maxi 2 2 2 4
Année 1981 1994 1996 1997

Bref, pour pleinement profiter des bénéfices de l'U-DMA il vous faut :

- Un disque dur ou CD-ROM U-DMA;
- Une "électronique embarquée" sur la carte mère qui soit compatible;
- Un Bios compatible avec l'U-DMA;
- Un système d'exploitation doté des pilotes adéquats.

Question performances, vous n'arriverez bien évidemment jamais à atteindre de telles vitesses. Et de fait, un disque U-DMA comparé à un disque E-IDE de dernière génération se montre à peine plus véloce. En revanche, la sécurité de l'intégrité des données est beaucoup mieux assurée.

Le mode DMA (Direct Memory Access), est tout à fait autre chose, ce qui ne le rend pas pour autant incompatible avec l'U-DMA. Cette technique est également appelée Bus Mastering et cela fait immédiatement penser aux fameux pilotes "Bus Master" d'Intel, mais nous y reviendrons plus loin. La technologie DMA consiste à soulager le processeur pour les opérations de transferts de données. Cela ne se traduit pas nécessairement par une augmentation du transfert de données, bien que sous certaines conditions on puisse noter une amélioration. L'intérêt essentiel réside alors dans les opérations multitâches car il est bien évident qu'une utilisation "normale" de Windows 95 ou 98 sollicite assez peu le CPU.

Techniquement, contrairement aux différents modes PIO (Programmed Input/Output), les données sont transférées directement entre la mémoire et le disque dur, sans passer par le CPU et cela suppose que les disques IDE soient compatibles (dans la section 3 de Windows 95, vous avez une méthode de vérification) tout comme les contrôleurs.

Cependant, les choses deviennent singulièrement compliquées lorsque l'on considère que le mode DMA peut être géré au niveau matériel (spécifications ATA-2 et suivantes) ou au niveau de l'OS, et parfois des deux à la fois... Quoiqu'il en semble, il semble que les promesses du DMA soient tenues sous Windows 95 et Windows 98 puisque l'on constate réellement une baisse d'utilisation du CPU.

Les Bus Master d'Intel ne sont rien d'autres qu'un ensemble de pilotes pour la gestion DMA destinés à remplacer les pilotes natifs de Windows. La question que tout le monde se pose alors est de savoir lequel de ces deux ensembles de pilotes il faut retenir ?

Cette pertinente question n'est finalement pas si pertinente que ça : les Bus Masters d'Intel sont en réalité destinés à suppléer une carence de certaines versions de Windows. Autrement dit, les versions de Windows qui disposent déjà des pilotes natifs DMA sont en théorie incompatibles avec les Bus Master d'Intel.

Enfin, on peut trouver un peu partout sur le Web des résultats de tests tendant à démontrer les Busmaster d'Intel n'apporte aucun bénéfice pour les versions de Windows qui ne sont pas supportées.

Mis en ligne le 11 août 1998 / Dernière modification : 10-7-1999