Mit Datenübertragungsraten von 33 MByte/s und klangvollen Attributen wie Ultra-DMA verspricht die moderne EIDE-Schnittstelle eine Performance, die sich hinter SCSI nicht mehr zu verstecken braucht. Doch ohne Wissen vieler Anwender fährt ihr PC quasi mit angezogener Handbremse: Durch fehlende oder nicht aktivierte Treiber oder BIOS-Bugs liegt oft die Hälfte der potentiellen Leistung brach.
Die Geschwindigkeit der Festplatte trägt nicht unerheblich zur gesamten Rechnerleistung bei. Daran sind vor allem die modernen Betriebssysteme mit ihrer virtuellen Speicherverwaltung schuld, die bei mangelndem Arbeitsspeicher Daten auf die Festplatte auslagern. Aber auch beim Laden von Anwendungen oder großen Dateien macht sich die Geschwindigkeit der Festplatte bemerkbar.
Festplattenleistung hängt zunächst einmal von der Geschwindigkeit ab, mit der das Laufwerk intern die Daten von den Medien lesen kann. Die schnellsten EIDE-Platten erreichen derzeit eine Dauertransferrate von circa 14 MByte/s. Als nächstes müssen die Daten von der Platte in den Arbeitsspeicher gelangen, wobei die Übertragungsgeschwindigkeit der Schnittstelle zum Tragen kommt. Mit der Einführung des Ultra-DMA/33-Modus hat sie sich bei EIDE Anfang 1997 von vorher 16 auf 33 MByte/s verdoppelt [[#lit1 1]]. Weil die Festplatten an sich noch nicht so schnell sind, erreichen sie diesen Spitzenwert nur, wenn sie die geforderten Daten gerade zufällig im Cache haben. Doch in Multitasking-Systemen ist eine hohe Schnittstellengeschwindigkeit trotzdem nützlich, damit sich die CPU nur möglichst kurz mit der Datenübertragung zur Platte beschäftigen muß und sich ansonsten mit sinnvolleren Dingen befassen kann. Im Zusammenhang mit dem Begriff der CPU-Last sind auch Treiber für PCI-Busmastering oder DMA (Direct Memory Access) in aller Munde. Um zu verstehen, was diese genau bewirken, lohnt es sich, den Weg der Daten von der Festplatte in den Arbeitsspeicher genauer unter die Lupe zu nehmen.
Er beginnt mit dem Abschnitt zwischen Festplatte und Hostadapter, der EIDE-Schnittstelle. Sie hat sich unter der Bezeichnung ATA (AT Attachment) mittlerweile zum ANSI-Standard gemausert [[#lit2 2]]. Eigentlich heißt es heute also ATA statt EIDE, doch wir bleiben alter Gewohnheit folgend weiterhin bei der Bezeichnung EIDE.
Die ATA-Spezifikation beschreibt die elektrischen Eigenschaften und das Zeitverhalten einer Schnittstelle zum Anschluß von bis zu zwei Geräten an einen Hostadapter. Sie kennt drei verschiedene Übertragungsprotokolle: PIO, Multiword-DMA (kurz: DMA, da Singleword-DMA ausgestorben ist) und Ultra-DMA. Deren Bezeichnungen stammen zwar von der ursprünglichen Bedeutung der Signale auf dem ISA-Bus (siehe [#KastenHistorie Kasten] zur historischen Entwicklung), haben jedoch heute nur noch wenig damit zu tun. Es handelt sich lediglich um unterschiedliche Arten, die verschiedenen Steuersignale des EIDE-Kabels für die Datenübertragung zu nutzen. Es gibt sie jeweils in verschiedenen Geschwindigkeitsstufen. Am schnellsten ist der Ultra-DMA-Mode 2 mit 33 MByte/s, PIO-Mode 4 und Multiword-DMA-Mode 2 kommen jeweils auf 16 MByte/s.
Die ersten Onboard-Adapter beherrschten lediglich die PIO-Modi 0 bis 4. Unter Intels Pentium-Chipsätzen bot der 430FX alias Triton als erster auch Multiword-DMA. Mit dem TX-Chipsatz für Sockel-7-Systeme kam Ultra-DMA hinzu. Alle Pentium-II-Chipsätze beherrschen diesen Modus ebenso.
Für den Transport der Daten vom EIDE-Adapter in den Hauptspeicher gibt es zwei Möglichkeiten. Bei der 'historischen' schaufelt die CPU die Daten eigenhändig per I/O-Anweisung zwischen Adapter und Speicher hin und her. Seit der EIDE-Hostadapter als PCI-Device im Chipsatz integriert ist, kann er, entsprechend programmiert, aber auch als PCI-Busmaster direkt auf den Hauptspeicher zugreifen und das selbst erledigen, was unter Multitasking-Betriebssystemen potentiell die CPU-Last reduziert.
Zwischen den beiden Stationen Platte-Adapter und Adapter-Speicher gibt es nur einen losen Zusammenhang. Die ATA-Spezifikation ist nur fürs Kabel zuständig und sagt nichts über die Weiterverarbeitung der Daten aus. Sie schreibt nicht einmal eine bestimmte Rechnerarchitektur vor, so daß es Apple problemlos möglich war, auch ihre aktuellen Macintosh-Modelle mit einer ATA-Schnittstelle auszustatten.
![]() | Der Weg der Daten von der Festplatte in den Speicher verläuft in zwei Schritten, bei denen jeweils unterschiedliche Übertragungsprotokolle zum Einsatz kommen können. |
Rein theoretisch wären beim PC alle sechs Kombinationen zwischen den zwei Möglichkeiten für den Schritt Adapter-Speicher und den drei Protokollen auf dem EIDE-Kabel denkbar. In der Praxis kommen aber doch nur drei davon vor. Alle gängigen Chipsätze (auch die, die nicht von Intel stammen) setzen I/O-Zugriffe der CPU auf den Datenport des EIDE-Adapters direkt in entsprechende PIO-Zyklen auf dem Kabel um. Wenn die CPU den EIDE-Adapter also nicht als PCI-Busmaster nutzt, bleibt die Transferrate auf die maximal 16,7 MByte/s des PIO-Mode 4 beschränkt. Im Busmaster-Betrieb zwischen Adapter und Speicher kommt auf dem Kabel dagegen grundsätzlich das DMA- beziehungsweise Ultra-DMA-Protokoll zum Einsatz.
Folglich kann man durch Beobachtung der Signale auf dem EIDE-Kabel Rückschlüsse darauf ziehen, ob ein Betriebssystem beziehungsweise der entsprechende Treiber den EIDE-Adapter überhaupt als Busmaster betreibt. Wenn auf dem EIDE-Kabel DMA- oder Ultra-DMA-Zyklen laufen, ist das der Fall, während PIO-Zyklen ein Beweis dafür sind, daß die CPU selbst die Daten schaufelt.
Daraus entstand die Idee für ein kleines Bastelprojekt: Die 'c't-Ampel' zeigt über drei Leuchtdioden den Übertragungsmodus der EIDE-Schnittstelle an. Um die Schaltung so einfach wie möglich zu gestalten, hält sich unsere Ampel allerdings nicht an die Straßenverkehrsordnung, sondern läßt auch schon mal alle drei Lampen gleichzeitig leuchten.
![]() | Das Testwerkzeug c't-Ampel sorgt für Klarheit auf der EIDE-Schnittstelle. Es unterscheidet die verschiedenen Protokolle. |
Ein IC und eine Handvoll passiver Bauteile genügen, um die Aktivität der ATA-Signale /IOR, DMARQ und IORDY anzuzeigen. Jedes dieser Signale wird dazu zunächst über einen Schmitt-Trigger vom Bus isoliert und über eine Diode auf ein RC-Glied geführt. Dieses sorgt dafür, daß die LED nach der Aktivierung des betreffenden Signals ein wenig nachleuchtet. Auch kurze Impulse führen so zu einem sichtbaren Aufblitzen. Ein weiterer Schmitt-Trigger treibt über einen Vorwiderstand die LED.
Die Schaltung läßt sich für ein paar Pfennige leicht auf einer Lochrasterplatine aufbauen. Noch einfacher geht's mit einer fertigen Platine, die Sie in Kürze bei eMedia beziehen können. Da die EIDE-Schnittstelle keine Stromversorgung führt, bezieht die c't-Ampel ihre Spannung von einem der Stromversorgungsstecker des Netzteils. Als Bestückungsvarianten sind auf der Platine sowohl der Festplatten- als auch der 3,5"-Floppy-Versorgungsstecker vorgesehen. Bei letzterem ist Vorsicht geboten: Bei Bestückung mit einer einfachen gewinkelten Pfostenleiste läßt sich der Stecker falsch herum aufstecken. In diesem Fall erhielte die Schaltung zwölf statt fünf Volt Versorgungsspannung, was ihr nicht besonders guttäte ...
![]() | Die c't-Ampel zeigt mit Leuchtdioden die Aktivität dreier ATA-Signale an. RC-Glieder verlängern kurze Impulse. Schaltungsentwicklung: Ernst Ahlers |
Statt die Stecker zu bestücken, können Sie auch einfach ein fertiges Y-Kabel kaufen, einen der Stecker abzwicken und die Drähte direkt auf die Platine löten. Bei den handelsüblichen Kabeln sind die Masseleitungen schwarz und die benötigte 5-V-Leitung rot - Finger weg vom gelben Draht (12 V)! Das Y-Kabel hat nebenbei den Vorteil, daß Sie beim Anschluß keinen freien Stromversorgungsstecker verlieren.
Wenn an dem zu beobachtenden EIDE-Kanal nur ein einzelnes Gerät hängt, findet die c't-Ampel an dem freien EIDE-Stecker Anschluß. Ist dieser durch ein zweites Gerät belegt, so können Sie einfach einen weiteren 40poligen Stecker an das Flachkabel anpressen.
Die c't-Ampel ist ein reines Testwerkzeug und wird nach korrekter Treiberinstallation eigentlich nicht mehr gebraucht. Wer sie dennoch fest in seinen Rechner einbauen möchte, kann die Platine beispielsweise mittels zweier Blechwinkel in einen Einschub für ein 3,5"-Floppy-Laufwerk beziehungsweise in einen Einbaurahmen für einen 5,25"-Slot schrauben. Dabei ist unbedingt zu beachten, daß das EIDE-Kabel laut Spezifikation nicht länger als 46 cm (18") werden darf - je kürzer, desto besser. Insbesondere sollten Sie der Versuchung widerstehen, die Platine mit den LEDs ganz nach vorne in die Blende zu verlagern und die EIDE-Signale mit einer Stichleitung abzugreifen beziehungsweise das Kabel zu verlängern. Statt dessen ist es besser, nötigenfalls die LEDs über Drähte von der Platine abzusetzen.
Im Betrieb zeigt die rote LED den Zustand des Signals /IOR an. Es ist bei jedem Lesezyklus der EIDE-Schnittstelle aktiv. Da der Rechner auch beim Schreiben auf die Festplatte gelegentlich das Statusregister auslesen muß, gibt es auch beim Schreiben im PIO-Mode meist Rotlicht. Lediglich bei sehr kurzen Schreibzugriffen (einzelne Sektoren) reicht die Länge des Impulses nicht aus, um C2 über den Widerstand R2 weit genug zu entladen, daß die Lampe leuchtet. Im PIO-Mode kann die Festplatte über das Signal IORDY (grüne LED) die Übertragung bremsen, wenn sie mit der vom Rechner vorgegebenen Geschwindigkeit nicht zurechtkommt. Das scheint aber keine aktuelle Platte in nennenswertem Maße zu tun, wir haben die grüne LED jedenfalls im PIO-Mode noch nie leuchten gesehen.
Die gelbe LED meldet Aktivität des Signals DMARQ, leuchtet mithin bei DMA- und Ultra-DMA-Zugriffen. Das ist gemäß den obigen Ausführungen ein sicheres Zeichen für Busmaster-Betrieb der EIDE-Schnittstelle. Im Ultra-DMA-Mode wechseln einige ATA-Signale ihre Bedeutung [[#lit1 1]]. Beim Lesen heißt /IOR nun /HDMARDY und ist aktiv, solange der Host bereit ist, Daten zu empfangen. Aus IORDY wird DSTROBE, das als Taktleitung dient und für jedes Datenwort die Polarität wechselt. Beim Schreiben ist es umgekehrt: /IOR wird zur Taktleitung HSTROBE und IORDY zu /DDMARDY - mit dem gleichen optischen Resultat für die c't-Ampel: Im Ultra-DMA-Mode leuchten alle drei Lampen.
Die c't-Ampel verrät so manches über Boards, BIOSse, Treiber und Festplatten, was bisher im dunklen blieb. So zum Beispiel die Tatsache, daß das weitverbreitete Award-BIOS EIDE-Platten grundsätzlich im PIO-Mode betreibt. Wenn eine Ultra-DMA-fähige Platte vorhanden ist, meldet es beim Booten zwar korrekt 'UDMA' und programmiert den Chipsatz auch entsprechend. Die Routine für die Plattenzugriffe (Int 13h) nutzt jedoch I/O-Anweisungen statt Busmastering, so daß es auf dem Kabel beim PIO-Mode bleibt. Da alle modernen Betriebssysteme ohnehin eigene EIDE-Treiber mitbringen und nur noch DOS das BIOS nutzt, sahen die BIOS-Entwickler es wohl bisher nicht ein, Busmastering zu implementieren. Außerdem reichen die meisten Festplatten ohnehin noch nicht an die Leistungsgrenze von 16,6 MByte/s heran.
Bei Pentium-II-Systemen wird der PIO-Mode aber aus einem anderen Grund zur Performance-Bremse. Hier schafft es nämlich das Gespann aus CPU und Chipsatz nicht, mit I/O-Befehlen die volle Leistung zu erzielen. Bei weniger als 8 MByte/s liegt die Obergrenze im I/O-Betrieb auf solchen Boards, ein Wert, den so manches aktuelle Festplattenmodell deutlich überbietet.
Wenn das BIOS kein Busmastering beherrscht, zeigt die c't-Ampel auch recht schön, wann während des Bootvorgangs der busmasterfähige Treiber des Betriebssystems geladen wird und die Regie übernimmt. Genau dann gehen nämlich die Lampen für den DMA- beziehungsweise Ultra-DMA-Modus an, während vorher nur die rote LED blinkt.
So fanden wir auch schnell heraus, warum seinerzeit Windows 98 mit der WNR32501A von Samsung nicht booten wollte. Das System stürzte immer genau in dem Moment ab, als die gelbe DMA-Lampe anging. Die Firmware dieser Platte und ihrer kleineren Schwester WNR31601A arbeitet nämlich im DMA-Mode nicht richtig, wie Samsung inzwischen bestätigt hat. Bei diesen Festplattenmodellen bleibt nur, das Busmastering durch einen Eingriff in die Registry abzuschalten [[#lit3 3]].
Die EIDE-Treiber rühren die vom BIOS eingestellten PCI-Konfigurationsregister des EIDE-Adapters nicht an. Das gilt jedenfalls bisher unter Windows 95/98 und NT und sogar für Linux (mehr zu Linux im Artikel ab Seite 224).
Damit die Schnittstelle unter diesen Betriebssystemen im Ultra-DMA-Mode läuft, ist also Arbeitsteilung erforderlich: Der Treiber muß den EIDE-Adapter als PCI-Busmaster ansprechen, kümmert sich aber selbst gar nicht darum, ob auf dem Kabel schließlich das DMA- oder Ultra-DMA-Protokoll läuft. Dafür ist das BIOS zuständig: Es muß den EIDE-Adapter entsprechend vorkonfigurieren.
Der Einfluß des BIOS läßt sich mit der c't-Ampel an einem Board überprüfen, in dessen Setup sich der Ultra-DMA-Modus ein- und ausschalten läßt. Einen Busmaster-Treiber in Windows vorausgesetzt, läuft die EIDE-Schnittstelle mit Ultra-DMA, falls im BIOS eingeschaltet, und ansonsten im Multiword-DMA-Mode.
Allein mit den Mitteln von Windows 95/98 kann man sich also nicht sicher sein, ob die Platte tatsächlich mit Ultra-DMA läuft - die aktivierte DMA-Checkbox allein genügt nicht. Stichproben in unserer Boardsammlung förderten beispielsweise ein Sockel-7-Board mit ALi-Chipsatz zutage, dessen BIOS das entscheidende Bit nicht setzte. Eine kurze Überprüfung der in c't 15/98 getesteten Boards mit demselben Chipsatz ergab: Von vier Boards mit ALi-V-Chipsatz schalteten drei den Ultra-DMA-Modus gar nicht ein. Es handelt sich um das Iwill XA100 und das MSI MS5169 mit AMI-BIOS sowie das Biostar M5ALA mit Award-BIOS. Bei diesen dreien blieb die grüne Lampe der c't-Ampel unter Windows 98 aus; die Festplatten liefen auch bei aktiviertem Busmastering nur mit maximal 16,7 MByte/s.
Natürlich kann man auch die PCI-Konfigurationsregister des EIDE-Adapters auslesen, um sicherzustellen, daß alles mit rechten Dingen zugeht. Recht komfortabel geht das mit unserem neuen Programm ctpciw, der Windows-Version von ctpci. Es steht in der c't-Mailbox sowie auf dem ftp-Server des Heise-Verlags zum kostenlosen Download bereit.
Ctpciw identifiziert anhand eindeutiger Hersteller- und Gerätekennungen alle im System vorhandenen PCI-Devices, sowohl Onboard-Komponenten wie PCI-CPU-Bridge, PCI-to-ISA-Bridge und USB-Controller als auch alle in den PCI-Slots steckenden Erweiterungskarten. Darüber hinaus kann es die Konfigurationsregister jedes Geräts auslesen und anzeigen. Deren genaue Bedeutung ist bei jedem PCI-Gerät anders. Bei den aktuellen Chipsätzen von Intel, VIA, ALi und SiS kann Ctpciw jedoch den EIDE-Adapter identifizieren und dessen Einstellungen (PIO-Timing, Ultra-DMA-Aktivierung) im Klartext anzeigen.
Wenn sie optimal konfiguriert ist, bleibt die EIDE-Schnittstelle hinsichtlich der reinen Übertragungsrate nicht mehr sehr weit hinter einem Wide-Ultra-SCSI-Bus (40 MByte/s) zurück. Seit es busmasterfähige EIDE-Adapter gibt, ist auch die CPU-Belastung unter Multitasking-Systemen ähnlich gering wie bei PCI-SCSI-Adaptern.
Seine Stärken entfaltet SCSI aber nach wie vor, wenn mehrere Geräte an einem Bus hängen. So kann der Hostadapter einem SCSI-Gerät mehrere Kommandos schicken (command queueing), die es dann selbständig in der optimalen Reihenfolge abarbeitet. Währenddessen ist der Bus wieder frei für Kommandos an andere SCSI-Geräte. Sogar die Datenübertragungsphase von SCSI-Geräten läßt sich unterbrechen und wiederaufnehmen (disconnect/reconnect), so daß mehrere Geräte quasi-gleichzeitig ihre Daten über den Bus schaufeln können.
All das bietet EIDE bisher nicht: Ein EIDE-Gerät nimmt keine Befehle auf Vorrat entgegen, sondern führt sie grundsätzlich sofort aus. Bei zwei Laufwerken an einem Kanal muß jedes Kommando grundsätzlich einschließlich der Datenübertragungsphase vollständig abgearbeitet sein, bevor das jeweils andere Laufwerk einen Befehl entgegennehmen kann. Bei vielen Boards funktioniert auch der Parallelbetrieb von primärem und sekundärem Kanal nur eingeschränkt, da sie aus Kostengründen gemeinsame Datenleitungen teilen und der Hersteller lediglich die Steuersignale separat ausgelegt hat.
Doch die nächste Entwicklungsstufe von EIDE steht schon fest: Die ATA-4-Spezifikation befindet sich kurz vor ihrer ANSI-Standardisierung [[#lit4 4]]. Sie enthält neue Befehle, das sogenannte 'Overlapped Feature Set', die überlappende Kommandos an Master und Slave und sogar command queueing ähnlich wie bei SCSI ermöglichen. Die Festplatten der DTTA-Familie von IBM beherrschen diese Kommandos sogar schon, allerdings macht noch kein Treiber davon Gebrauch. Eine erneute Verdoppelung der Übertragungsrate steht ebenfalls an: Nachdem Quantum bereits im Frühjahr Ultra-ATA/66 mit bis zu 66 MByte/s Übertragungsrate angekündigt hatte [[#lit5 5]], sind nun die ersten Controller-Chips von Cirrus Logic fertig, die dieses Protokoll beherrschen, und Plattenhersteller Maxtor will sein neustes Modell schon bald mit Ultra-ATA/66 anbieten. Doch bis die Festplatten so schnell sind, daß sie diese Übertragungsrate tatsächlich brauchen, werden sicherlich noch Jahre vergehen, während derer man sich getrost damit begnügen kann, erst einmal die Möglichkeiten von Ultra-ATA/33 auszureizen. (bo)
[1] Uwe Post, Byteseitig, Ultra-DMA bringt die EIDE-Schnittstelle auf Touren, c't 4/97, S. 364
[2] AT Attachment-3 Interface, ANSI X3.298-1997
[3] Windows 98 hängt beim Booten, Hotline-Tip, c't 20/98, S. 188
[4] ftp-Server des für die ATA-Spezifikation zuständigen T13-Komitees mit diversen Dokumenten
[5] Harald Bögeholz, Platten-Karussell, Festplatten mit EIDE-und SCSI-Schnittstelle, c't 6/98, S. 184
[6] Computer with Ultra DMA IDE Controller May Hang
[7] Intel-Busmaster-Treiber für Windows 95
[8] Carsten Meyer, Tuning-Werkstatt, Macintosh-Upgrading Teil 4: Festplatten, c't 7/98, S. 162
[9] Andreas Heyl, Stephan Ehrmann, Inneinrichtung, Macintosh-Festplatten richtig konfigurieren, c't 1/97, S. 294
[#anfang Seitenanfang]
IDE steht für Integrated Drive Electronics: Anders als beim ursprünglichen IBM AT sitzt der eigentliche Festplatten-Controller nicht mehr auf einer ISA-Karte, sondern wurde auf das Festplattenlaufwerk selbst verlagert. Die ersten IDE-Adapter bestanden nur aus einer Handvoll Treiberbausteine, die ausgewählte Signale des ISA-Bus verstärkten, sowie einem Adreß-Decoder. Das IDE-Kabel fungierte also quasi als Verlängerungskabel für den ISA-Bus.
Aus dieser Zeit stammen die Bezeichnungen der heutigen ATA-Übertragungsmodi. PIO steht für Programmed I/O, ein PIO-Zyklus entspricht also vom Ablauf her genau dem 16bittigen I/O-Zyklus auf dem ISA-Bus. Nur das Tempo hat sich gegenüber ISA gesteigert - im PIO-Mode 4 auf immerhin 16,7 MByte/s. Die Single- und Multiword-DMA-Modi entsprechen vom Ablauf her den Betriebsarten des DMA-Controllers im Ur-AT. Der wurde damals jedoch gar nicht genutzt, weil die CPU die Arbeit schneller erledigen konnte. Auch zu IDE-Zeiten lagen die entsprechenden Steuersignale brach. Erst seit der Einführung busmasterfähiger EIDE-Adapter kommen sie zum Einsatz, natürlich nicht mehr im ISA-Timing, sondern ATA-spezifiziert mit bis zu 16,7 MByte/s im Multiword-DMA-Mode 2.
Die bisherige EIDE-Entwicklung geschah also im Dreisprung: Erst verlagerte sich der komplexe Controller von einer ISA-Karte per 'Verlängerungskabel' auf die Festplatte. Dann kamen die PCI-Rechner, und ein komplexer Baustein (die PCI-to-ISA-Bridge) wurde nötig, um weiterhin den alten ISA-Bus nebst IDE-Schnittstelle zur Verfügung zu haben. Schließlich konnte sich die EIDE-Schnittstelle vom ISA-Bus lösen und geht nun mit neuen Protokollen wie Ultra-DMA/33 eigene Wege.
[#anfang Seitenanfang]
Für die Intel-Chipsätze ab dem 430FX alias Triton bringt Windows 98 bereits einen busmasterfähigen Treiber mit. Die Checkbox 'DMA' auf der Eigenschaftsseite des entsprechenden Laufwerks im Gerätemanager schaltet das Busmastering ein. Unter Windows 95 ab der OEM-Service-Release 2 gibt es diese Checkbox auch, jedoch hat der Treiber noch einen Fehler, der bei Übertragungsstörungen auf dem EIDE-Kabel zum Absturz führen kann. Microsoft hat das Problem in [[#lit6 6]] dokumentiert und bietet einen Bugfix zum Download an. Für das Ur-Windows-95 und die OSR1 stellt Intel im Internet einen Busmaster-Treiber bereit [[#lit7 7]].
Das Service Pack 3 zu NT 4.0 enthält einen aktualisierten Treiber für die EIDE-Schnittstelle, der mit Intel-Chipsätzen Busmastering beherrscht. Einträge in der Registy entscheiden darüber, ob er es tatsächlich nutzt. Das Windows-Programm Dmacheck nimmt die nötigen Einstellungen auf Knopfdruck vor. Es findet sich auf der Service-Pack-3-CD oder in Microsofts Download-Bereich unter http://support.microsoft.com.
Um das Busmastering 'zu Fuß' zu aktivieren, legt man unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters\DeviceX\ einen String-Wert namens 'DriverParameter' an und trägt dort 'DmaDetectionLevel = 0x1;' ein (X ist 0 für den primären, 1 für den sekundären EIDE-Kanal). Mit dieser Einstellung aktiviert NT beim nächsten Bootvorgang das Busmastering, falls die Hardware das unterstützt. Ob's geklappt hat, verrät der Eintrag 'DMAEnabled' unter \HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\ScsiPort X, wobei X für den jeweiligen EIDE-Kanal steht. Falls NT sich weigert, den DMA-Zugriff zu aktivieren, obwohl die Hardware Busmastering unterstützt, läßt er sich durch den Wert 2 beim 'DmaDetectionLevel' erzwingen.
Besitzer von Boards mit Nicht-Intel-Chipsätzen sind derzeit darauf angewiesen, daß der Hersteller ihres Boards einen Busmaster-Treiber mitliefert. Wenn dies nicht der Fall ist, hilft unter Umständen die Website www.bmdrivers.com weiter.
[#anfang Seitenanfang]
Wer auf einem nicht ganz nagelneuen PC das Busmastering für seine EIDE-Platten einschaltet, muß auf Probleme gefaßt sein. Auf modernen Boards aktiviert erst das den schnellen Ultra-DMA/33-Modus und verdoppelt somit die Übertragungsrate auf dem EIDE-Kabel. Das stellt höhere Anforderungen an die Kabelqualität und -länge. Eine nicht ganz einwandfreie Verkabelung kann im PIO-Mode 4 gerade noch funktionieren, im Ultra-DMA-Mode jedoch schlimmstenfalls zu Datenverlusten führen. Bei älteren Festplatten ohne Ultra-DMA wie den im Text genannten Samsung-Modellen fördert die Aktivierung des Busmastering möglicherweise bisher unentdeckte Firmware-Bugs zutage.
Besonders heikel sind Systeme mit übertaktetem PCI-Bus, also mehr als 33 MHz. Wer sein System beispielsweise mit 112 statt 100 MHz Systemtakt betreibt, fährt seinen PCI-Bus mit 37 MHz. Da der EIDE-Chip als PCI-Device sein Timing von diesem Takt ableitet, übertaktet er damit auch die Festplatte, was im ohnehin recht empfindlichen Ultra-DMA-Modus sehr wahrscheinlich schiefgeht.
Bevor Sie an einem bestehenden System das Busmastering aktivieren, sollten Sie daher unbedingt ein Backup Ihrer wichtigen Daten anfertigen. Wer heute ein Komplettsystem mit EIDE-Platte erwirbt, sollte allerdings von vornherein darauf bestehen, daß sie sauber im Ultra-DMA-Betrieb läuft. Zumindest, wenn es sich um eine in der Werbung zugesicherte Eigenschaft handelt ...
[#anfang Seitenanfang]
Obwohl der Mac eigentlich mit SCSI-Scheiben groß geworden ist, rüstet Apple inzwischen alle Rechner im unteren und mittleren Preissegment bis hin zu den G3-Typen mit EIDE-'Arbeitsplatten' aus. Apples Datenorganisation auf EIDE-Platten entspricht der blockorientierten SCSI-Nomenklatur, wobei der ATA-Manager im Betriebssystem die Schreib-/Lese-Anfragen für Speicherblöcke in entsprechende ATA-Kommandos übersetzt. Anwendungen wie auch Anwendern ist es deshalb egal, ob sich am Ende des Flachbandkabels eine EIDE-oder SCSI-Harddisk dreht. Für ATA-Scheiben gelten demzufolge dieselben Regeln und mithin Einschränkungen wie für SCSI-Volumes am Mac.
Die SCSI-Grundausstattung ist stark modellabhängig; vor kurzem war noch Fast-SCSI intern und Standard-SCSI extern die Regel, während die neuen G3-Macs nur noch das mit 5 MByte/s nicht mehr zeitgemäße Standard-SCSI bieten. Das reicht für Geräte wie Scanner, Wechselplatten und CD-Laufwerke zwar völlig aus, nicht aber als Anschluß für eine moderne Hochleistungsplatte. Dafür beherrscht Apples ATA-Schnittstelle den Multiword-DMA-Modus 2, der bis zu 16 MByte/s erreicht. Die serienmäßig verbauten EIDE-Platten kommen immerhin auf 8 MByte/s. Großer Nachteil der ATA-Implementierung in G3-Rechnern, die bis 6/98 gefertigt wurden: Es läßt sich an den beiden vorhandenen ATA-Kanälen (Steckverbinder auf dem Mainboard) nur jeweils ein Gerät anschließen; der Master/Slave-Betrieb mit zwei Geräten pro Kanal ist nicht möglich. Erst neuere G3-Macs ab Board-Revision 2 (erkennbar am Rage-Pro-Grafikchip) mit einem neuen ATA-Treiber im ROM lassen den Anschluß von insgesamt bis zu vier Geräten zu.
Entscheidend für die Festplatten-Performance ist zunächst einmal der Treiber, der beim Booten oder Mounten der Platte von dieser geladen wird und der sich wiederum auf Low-Level-Routinen im ROM stützt. Apples Treiber konnten lange Zeit nicht gerade mit Tempo und Fexibilität glänzen, und andere Hersteller verdienten sich mit leistungsfähigeren Festplatten-Formatierern eine goldene Nase. Mit dem unscheinbaren 'Laufwerke konfigurieren' (aktuelle Version 1.5) liegt Apple zumindest von der Geschwindigkeit her wieder an der Spitze. Wir können daher nur dringend empfehlen, keine Fremdprodukte einzusetzen, solange man auf deren spezielle Features (Paßwortschutz, Partitionen für andere Betriebssysteme, RAID) verzichten kann. Einziger Nachteil: Unter den SCSI-Platten erkennt das Mac-Dienstprogramm nur solche, die Apple selbst als spezielle OEM-Version einsetzt oder eingesetzt hat. Abhilfe ist allerdings mit einem kleinen Trick möglich, den wir kürzlich detailliert beschrieben haben [[#lit8 8]]. Bei EIDE-Platten stellt sich dieses Problem zum Glück nicht.
Die Hauptursache für immer langsamer werdende Festplatten beim MacOS, die Fragmentierung der Dateien, hat sich auch mit Einführung des Dateisystems HFS+ nicht erledigt. HFS+ erlaubt zwar eine flexible Clustergröße, so daß viele kleine Dateien auf großen Volumes nicht mehr megabyteweise Platz verschwenden, aber trotzdem füllt das System bei Platzmangel kleine Lücken mit Datei-Bruchstücken, die es dann später mühsam wieder zusammensuchen muß. Eine regelmäßige Festplattenpflege ist deshalb nach wie vor das beste Mittel gegen Lähmungserscheinungen. Die neuen Norton Utilities 4.0 beispielsweise können nun auch mit HFS+-Volumes umgehen, womit eigentlich nichts mehr gegen dieses neue Format spricht - von fehlenden Langzeiterfahrungen einmal abgesehen.
Wer noch eine unbenutzte SCSI-Platte besitzt, die mindestens so groß ist wie das größte im Rechner vorhandene Einzel-Volume, kommt auch ohne kommerzielle Hilfe zu einer defragmentierten Platte: Einfach alle Dateien auf die (leere) Reserve-Platte ziehen, Volume im Rechner neu initialisieren ('Volume löschen' im Finder) und das Ganze in einem Schwung wieder zurückkopieren. Starten Sie dabei nicht mehrere Kopier-Sessions gleichzeitig, sonst besteht die Gefahr des Verwürfelns erneut. Und: Versuchen Sie das bloß nicht auf einem Intel-PC mit Windows! (cm)
[#anfang Seitenanfang]
| R1 ... R3 | 220 [Ohm] |
| R4 ... R6 | 1 M [Ohm] |
| R7 ... R9 | 390 [Ohm] |
| C1 ... C5 | 100 nF |
| C6 | 100 µF, 10 V |
| D1 ... D3 | 1N4148 |
| D4 | LED gelb |
| D5 | LED rot |
| D6 | LED grün |
| U1 | 74HCT14 |
| X1 | 40pol. Pfostenleiste, gewinkelt, mit Wanne |
| X2 | Floppy-Power-Stecker, gewinkelt (optional) |
| X3 | 4poliger Pfostenstecker, gewinkelt (optional) |
| Platine c't-Ampel (bei eMedia erhältlich) ggf. Sockel für U1 | |
![]() | Für den Aufbau der c't-Ampel genügt eine einseitige Platine. Sie sieht zwei Alternativen für die Stromversorgung vor. |
Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-286648
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.