Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Door ondersteuning voor 64-bits adressering aan uw stuurprogramma toe te voegen, kunnen de algehele systeemprestaties aanzienlijk worden verbeterd. Dit is met name belangrijk voor apparaatstuurprogramma's die directe geheugentoegang (DMA) uitvoeren. In 64-bits Microsoft Windows worden apparaatstuurprogramma's die DMA uitvoeren, maar geen 64-bits adressering ondersteunen, gedubbeld in de buffer, wat resulteert in lagere relatieve prestaties.
Hoewel dubbele buffering meestal een relatief kleine impact heeft (één percentage punten) op 8 GB-systemen, is dit voldoende om I/O-intensieve taken, zoals databaseactiviteit, te beïnvloeden. Naarmate de hoeveelheid fysiek geheugen toeneemt, neemt deze negatieve invloed ook op de prestaties toe.
Stuurprogramma's moeten de volgende richtlijnen volgen om 64-bits DMA te ondersteunen:
Gebruik PHYSICAL_ADDRESS structuren voor fysieke adresberekeningen.
Behandel het hele 64-bits adres als een geldig fysiek adres. Stuurprogramma's mogen bijvoorbeeld MmGetPhysicalAddress niet aanroepen op een vergrendelde buffer, de hoge 32 bits negeren en het afgekapte adres doorgeven aan een 32-bits componentadapter. Dit resulteert in beschadigd geheugen, verloren I/O en systeemfouten.
Gebruik de high-performance spreidings- en verzamelroutines (GetScatterGatherList en PutScatterGatherList) die zijn toegevoegd in Windows 2000.
Controleer de waarde van de globale systeemvariabele Mm64BitPhysicalAddress . Als het WAAR is, ondersteunt het systeem 64-bits fysieke adressering.
Stel het Dma64BitAddresses-lid van de DEVICE_DESCRIPTION-structuur in op TRUE om aan te geven dat uw stuurprogramma ondersteuning biedt voor 64-bits DMA-adressen.
De DMA-routines in 32-bit Windows zijn 64-bit-gereed. Als uw apparaatstuurprogramma deze routines correct gebruikt, moet uw DMA-code werken zonder aanpassingen in 64-bits Windows.