So funktioniert die Schnittstelle
IDE-Grundlagen
Kommunikation Host-HDD
Der Zugriff des Prozessors auf die Daten
einer Festplatte erfolgt über verschiedene 8-Bit-breite Register zur
Adressierung, Befehlsübermittlung und Steuerung der Festplatte. Einzig
das Datenregister besitzt eine Breite von 16 Bit. Es kann vom Prozessor
gelesen und beschrieben werden, um Daten zwischen dem Arbeitsspeicher
und dem Host auszutauschen. Nach der Adressierung des gewünschten
Sektors der Festplatte über das Sektornummern-, Zylindernummern- und
Laufwerksregister erfolgt die Befehlsübermittlung mittels
Kommandoregister. Den reinen Datenaustausch zwischen Kontroller und
Festplatte erledigt dann das Datenregister. Die Festplattenelektronik
übernimmt die Daten in den Laufwerkspuffer, dekodiert die Adresse und
positioniert entsprechend die Schreib-/Leseköpfe für den Datentransfer.
Die Register für die ATA-Schnittstelle
sind in zwei Gruppen eingeteilt: Der Kommandoregisterblock beinhaltet
alle Register, die für die Adressierung, auszuführende Befehle und den
Datentransfer verwendet werden. Der Steuerregisterblock dient zur
Laufwerkssteuerung und informiert über den aktuellen Status der
Festplatte. Alternativ bezeichnet man die beiden Blöcke als
AT-Task-File.
Die ATA-Schnittstelle verfügt insgesamt
über fünf Signale für die Wahl des zu verwendenden Registers. Zur
Selektierung der beiden Registerblöcke dienen die Adress-Signale CS0 und
CS1. Über die Signale DA0 bis DA2 wird ausgewählt, welches der
einzelnen Register gerade aktiv ist. Tabelle 1 zeigt alle der
ATA-Schnittstelle zur Verfügung stehenden Register und deren Bedeutung.
Für ATA-Festplatten
sind nach dem ATA-5-Standard über 50 verschiedene Befehle spezifiziert.
Die Kommandos reichen vom einfachen Schreiben/Lesen über Formatieren
und Löschen bis hin zu Powermanagement-Befehlen. Bei den Kommandos gibt
es eine Unterscheidung nach Pflichtbefehlen, die jedes Gerät beherrschen
muss, und optionalen Befehlen. Pflichtbefehle der ersten
ATA-Spezifikation sind bei aktuellen Laufwerken kaum mehr erforderlich
und sind in den neueren Fassungen von ATA nur noch optional.
Register | Breite [Bit] | Bedeutung |
---|---|---|
Tabelle 1: Register, die für die Kommunikation zwischen Host-Laufwerk und Kontroller notwendig sind.
| ||
Alternativstatus | 8 | Entspricht Statusregister, unabhängig von Interrupt Requests |
Daten | 16 | Zum Transfer der Daten zwischen Host und Laufwerkspuffer |
Feature | 8 | Für Zusatzfunktion der Schnittstelle, nutzen nicht alle Laufwerke |
Fehler | 8 | Enthält eventuellen Fehlercode des letzten Zugriffs |
Kommando | 8 | Zur Übermittlung von über 50 verschiedenen Befehlen |
Laufwerk | 8 | Enthält Laufwerksnummer (Master/Slave) und Kopfnummer |
Sektornummer | 8 | Nummer des ersten zu lesenden oder schreibenden Sektors |
Sektorzahl | 8 | Anzahl der zu lesenden oder schreibenden Sektoren bei einem Zugriff |
Status | 8 | Enthält Laufwerksstatus nach dem letzten Befehl |
Steuer | 8 | Zum Reset des Laufwerks und dem Zulassen von Interrupts |
Zylindernummer | 8 / 8 | Adressierung des Zylinders. Aufgeteilt in zwei 8-Bit-Blöcke |
Inhalt dieses Artikels
Mehr zum Thema
Links zum Artikel
ATA-Schnittstelle im Detail
Bis zu 100 MByte/s Datenrate verspricht der ATA-6-Standard über die IDE-Schnittstelle. Wer verstehen will, wie diese hohe ...
Bis zu 100 MByte/s Datenrate verspricht der ATA-6-Standard über die IDE-Schnittstelle. Wer verstehen will, wie diese hohe ...
Links zum Thema
Meinungen zu diesem Artikel (1 von 1)
makrospex
05.05.06 11:31
IDE-Grundlagen
Achtung: Bei manchen Mainbaords bzw. Chipsätzen ist es nicht egal, in welcher Reihenfolge Master und