Le DMA (Direct Memory Access) est une méthode alternative au mode d?entrée/sortie classique, appelé PIO (Programmed Input Output). Il existe une différence importante entre ces deux modes. Le mode DMA (ou encore Bus Master) permet au périphériques PCI de bypasser le processeur et d?accéder directement à la mémoire. Alors qu?en mode PIO, c?est le processeur qui gère les entrées/sorties. Du coup, l?utilisation d?un périphérique dans ce mode, comme un contrôleur de disque, utilise beaucoup de ressources processeur, contrairement au mode DMA. Cela va provoquer :
- Des débits disques/CD très faibles
- Des taux d?utilisation processeur lors des lectures/écritures très élevés (de 30% à 100% !)
- Sur un graveur : chutes du buffer et Buffer Underrun si le graveur n?a pas de techno de prévention de rupture de flux.
- Sur un DVD : saccades à la lecture ou refus de fonctionnement de la part du soft de lecture DVD
- Une machine globalement lente, et ça personne n?apprécie.
Aujourd?hui, il faut donc toujours s?assurer que ses DMA sont activés. Nous allons voir comment les activer sous 9x et 2K/XP, et analyser quelques cas particuliers ou ils refusent de passer ou fonctionnent dans un mode dégradé.
Parvenir au gestionnaire de périphériques rapidement
Les bidouilleurs ont tendance à passer une grande partie de leur temps dans le gestionnaire de périphérique, et rien n?est plus énervant que de perdre du temps à s?y rendre, tout particulièrement sous 2K/XP. Voici quelques raccourcis qui vont vous simplifier grandement la vie, en vous amenant directement au gestionnaire de périphériques :
Sous 98 : touche Windows + pause (valable aussi pour les autres OS)
Sous 2K : exécuter mmc c:\WINNT\system32\devmgmt.msc
Sous XP : exécuter devmgmt
Vous pouvez faire des raccourcis directs sous 2K et XP, ce qui est très pratique !
Toujours installer les pilotes du chipset ?
Qu?il s?agisse d?un chipset VIA, Intel, Ali, Sis ou AMD, il faut, dans la mesure du possible, installer un pilote IDE pour s?assurer que le mode soit optimal. Ce pilote peut soit être de type classique (filtre), soit un pilote IDE miniport (type sur lequel nous reviendrons). Certains fabricants proposent les deux types, d?autres un seul, d?autres aucun, selon l?OS et le chipset. Souvent, les contrôleurs assez anciens sont directement supportés en natif sous les OS récents. Selon le type de pilote installé, le modèle du disque peut apparaitre en clair ou non.
Windows 98/ME
Les DMA disques se trouvent, sous Windows 98/SE/ME dans les propriétés des différents disques et unités de CD.
Sous Windows 98 première édition, les DMA étaient activés par défaut dans presque tous les cas. Sous Windows 98SE (Seconde Edition) par contre, les DMA ne sont plus activés par défaut, ce qui fait qu?un voit trop régulièrement des personnes utilisant leur PC en PIO. Il faut donc penser à les activer systématiquement ! Il est toutefois possible de corriger ce défaut. Dans le fichier Mshdc.inf du répertoire windows\inf, vérifiez que les deux dernières lignes sont présentes :
[ESDI_AddReg]
HKR,,DriverDesc,,"ESDI Port Driver"
HKR,,DevLoader,,*IOS
HKR,,PortDriver,,ESDI_506.pdr
HKR,,IDEDMADrive0,3,01
HKR,,IDEDMADrive1,3,01
Elles permettront l?activation du DMA par défaut. Plus d?infos ici :
http://www.windows-help.net/windows98/tune-35.shtml
Windows 2K/XP :
Sous ces versions de Windows, le DMA doit être activé dans les propriétés des canaux IDE primaires et secondaires des controleurs ATA/ATAPI IDE.
Assurez vous que le mode est en DMA si dispo., tout particulièrement pour les lecteurs de CD dont le mode par défaut est réglé en PIO seulement ! Validez, redémarrez, puis retournez vérifier que le mode actif est bien un mode DMA.
Les pilotes IDE Bus Master et le pourquoi de l?absence de paramètre DMA
Vous venez de suivre les conseils précédents et vous vous étonnez de l?absence de case DMA sous 98x ou d?onglet propriétés avancées sous 2K/XP. Cela peut tout à fait être normal. Il existe en effet deux types de pilotes utilisable sous windows :
- les pilotes classiques qui laissent le choix du mode PIO ou DMA par le gestionnaire de périphérique Windows
- les pilotes miniport IDE, qui passent les disques en pseudo SCSI et dont le réglage du mode DMA se fait par une application tierce, installée avec le pilote.
Il est parfois intéressant de passer par une application tierce, celles ci ayant tendance à prévenir les retours de mode en PIO ou les problèmes de CD en PIO à l?origine. C?est tout particulièrement utile si vous gérez un parc ou des machines et que vous souhaitez vous assurer que les modes resteront en place, pour limiter les interventions. Mais attention, il y a aussi parfois des problèmes avec ce genre de pilotes :
- Sur VIA : Mode restant un cran en dessous du mode le plus rapide normalement dispo.
- Certaines applis spécifiques ne fonctionneront plus à cause de la gestion des E/S légèrement différente
Ou les trouver ?
Pour chipset VIA => VIA IDE miniport Driver
http://downloads.viaarena.com/driv [...] PD3014.zip
Pour chipset Intel séries 8xx : Intel Application Accelerator
http://downloadfinder.intel.com/sc [...] .exe&agr=N
Pour chipset SiS :
http://www.dcomputer.com/proinfo/d [...] _sis10.zip
Je ne recommande pas vraiment l?utilisation de ce dernier pilote pour les chipset SiS, le mode restant parfois en PIO sur certaines unités malgré tout. Utilisez plutôt le pilote 2.02.02 ou plus récent.
Les problèmes connus
- Sous windows XP, j?ai réglé le mode en DMA si dispo. mais le disque reste en PIO
Windows XP diminue automatiquement le mode de transfert disque si celui-ci fait plus de 6 erreurs d?interface. Le mode sera forcé en PIO. La méthode la plus facile pour remettre le compteur à zéro est de supprimer le canal IDE concerné, le redétecter, repasser le mode en DMA si dispo. puis redémarrer. Le mode actif devrait alors retourner en DMA. Attention, si Windows XP à détecté des erreurs d?interface, il vaut mieux s?intéresser de près à l?état du disque, en faisant un test étendu avec l?utilitaire de diagnostic du fabricant du disque, et en vérifiant la nappe.
Plus d?infos ici :
http://www.microsoft.com/hwdev/tec [...] DE-DMA.asp
- Sous Windows XP, mon disque UDMA 133 ne passe pas dans ce mode
Windows XP ne supporte pas l?UDMA 133 (UDMA 6), il faut installer le Service Pack 1 (SP1).
- J?ai installé le SP1, mais sur ma carte mère en VIA, le mode ne passe pas en UDMA 6
Il s?agit d?un petit problème répertorié chez Microsoft avec les chipset VIA : il suffit d?installer le 4in1 4.45, de supprimer les deux canaux IDE, de les redetecter, et de repasser le mode en DMA si dispo.
Plus d?infos ici :
http://support.microsoft.com/defau [...] ;Q327805&;
---------------
Le topic du QLRR et FIRE - Knowledge is power. Power corrupts. Study hard, become evil.