3.4.4.3 Bereitstellen einer Schnittstelle zum Geräte-Controller

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 64: Zeile 64:
<p>
<p>
Genau dieses muss nun der zugehörige Treiber für diesen Controller leisten:
Genau dieses muss nun der zugehörige Treiber für diesen Controller leisten:
</p>
<p>
* Schreiben des Befehls mit allen nötigen Parametern und Daten in das Data Register.
* Schreiben des Befehls mit allen nötigen Parametern und Daten in das Data Register.
* Abwarten, bis der Befehl ausgeführt wurde.
* Abwarten, bis der Befehl ausgeführt wurde.
* Auslesen der Statusinformationen und Daten zum ausgeführten Befehl aus dem Data Register.
* Auslesen der Statusinformationen und Daten zum ausgeführten Befehl aus dem Data Register.
</p>
<br />
<p>
<loop_area type="important">
<p>
Unter diese Tätigkeit des Treibers versteht man die Bereitstellung einer Schnittstelle zum Geräte-Controller.
</p>
</loop_area>
</p>
</p>



Version vom 14. November 2014, 13:23 Uhr

Bereitstellen einer Schnittstelle zum Geräte-Controller

Ein Treiber bildet die Schnittstelle zwischen der Geräteverwaltung und dem Controller des betreffenden Geräts. Insbesondere muss der Treiber deshalb wissen, welche Befehle oder Funktionen ein Gerät zur Verfügung stellt, wie diese anzusprechen sind, und in welcher Weise Rückgabewerte des Geräts zu interpretieren sind.


Beispiel aus alten Tagen

Tanenbaum 2009 hat in früheren Auflagen seines Buchs gerne ein Beispiel aus den guten alten Tagen des Computerzeitalters gegeben: Ein kurzer Blick in die Kommunikation mit einem Floppy Disk Controller.


Frage

In Zeiten von USB-Sticks, SSD-Festplatten und Cloud-Speicher weißt du doch noch, was eine Floppy und ein Diskettenlaufwerk war, oder?

Notfalls zeigt Wikipedia dir die Hintergründe:
http://de.wikipedia.org/wiki/Diskette


NEC PD765 Floppy Disk Controller Chip

Die Firma NEC Electronics U.S.A. Inc. hatte seit den 1970er Jahren mit dem NEC PD765 FDC Chip einen oft eingesetzen Controller für Diskettenlaufwerke am Markt. Im Zuge der üblichen Weiterentwicklung existierten verschiedene Versionen dieses Chips.


Aufgabe 1

Aufgabe

Finde über dieses NEC PD765 Data Sheet heraus, wieviele und welche Befehle der Controller bereitstellt.


Im NEC PD765 Data Sheet wird erläutert, dass der Controller zwei interne Register bereitstellt: ein Status Register und ein Data Register. Dazu heißt es im Absatz "Internal Registers" auf Seite 6:

"The 8-bit Data Register (actually consists of several registers in a stack with only one register presented to the data bus at a time), which stores data, commands, parameters, and FDD status information. Data bytes are read out of, or written into, the Data Register in order to program or obtain the results after a particular command."

Genau dieses muss nun der zugehörige Treiber für diesen Controller leisten:

  • Schreiben des Befehls mit allen nötigen Parametern und Daten in das Data Register.
  • Abwarten, bis der Befehl ausgeführt wurde.
  • Auslesen der Statusinformationen und Daten zum ausgeführten Befehl aus dem Data Register.


Wichtig

Unter diese Tätigkeit des Treibers versteht man die Bereitstellung einer Schnittstelle zum Geräte-Controller.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png