Home | Computer | PC Hardware | Site Map |
Alle Disketten, auch Floppy-Disks oder einfach nur Floppys arbeiten nach demselben Prinzip. Die beiden Seiten einer flexiblen Folie (zumindest bei den ersten Formaten) sind mit einer Schicht eines magnetisierbaren Materials, ähnlich wie bei Magnetbändern belegt. Das war in der Regel Eisenoxid mit Kristallen von 1 Mikrometern Größe. Die Schicht aus Eisenoxid ist 15 Mikrometer stark, die Scheibe selbst besteht aus Polyester ist bei den flexiblen Floppys 0,1 mm (100 Mikrometer) dick.
Diese Scheibe wird von dem Diskettenkontroller in konzentrischen Spuren (Tracks) und jede Spur in eine feste Zahl von Sektoren unterteilt. Die Zahl der Sektoren und ihre Größe kann bei den meisten Diskettenlaufwerken frei gewählt werden. Dies erfolgt durch den Diskettenkontroller und dieser wird wiederum von dem Computer programmiert. So gab es eine Unzahl an Formaten für Disketten. Eine Ausnahme sind hardsektorierte Disketten, bei denen es in den es in der Mitte der Spuren eine Spur gibt, in der es im gleichen Abstand Löcher hat. Eine Photozelle ist im Diskettenlaufwerk an der Position angebracht, wo diese Spur liegt. Ihr gegenüber ist eine Leuchtdiode. Sobald ein Loch an der Fotozelle vorbeizieht, löst das Lichtsignal einen elektrischen Impuls aus, der dem Diskettenkontroller den Sektoranfang signalisiert. Verbreiteter waren soft sektorierte Disketten, bei denen der Controller die Größe und Anzahl der Sektoren selbst festlegen konnte. Doch auch bei ihnen gab es eine Spur mit einem Loch, diesmal aber nur einem. Das war das Indexloch. Anhand dessen erkannte der Diskettenkontroller den Anfang einer Spur. Bei hardsektorierten Disketten war dieses Indexloch zwischen zwei Sektoren und konnte durch den Abstand zum nächsten Sektorloch erkannt werden, der halb so groß war wie bei den Löchern zwischen zwei Sektoren. Aufgrund der fehlenden Freiheit der Einteilung der Sektoren verloren hartsektorierte Disketten in der zweiten Hälfte der Siebziger Jahre an Bedeutung und starben in den Achtzigern ganz aus. Die Sektorenanzahl war bei Verwendung eine FDC (Floppy Disc Controller, ein Halbleiterbaustein, der vom Prozessor nur die Angaben für den Sektor und Spur erhält und selbstständig die Informationen ausliest, schreibt und auswertet) konstant. Manche Firmen wie Apple oder Commodore setzten zum Beschreiben aber einen eigenen Prozessor oder den Prozessor des Computers ein und hatten dann eine variable Sektoranzahl – in den inneren Spuren weniger, in den äußeren Spuren mehr Sektoren.
Das Diskettenlaufwerk schrieb bzw. liest die Daten über einen Schreiblesekopf. Dieser besteht aus einem Magneten, einer Schreibe/Lesespule und einer Löschspule. Die Löschspule löscht den Bereich auf der Diskette zwischen zwei Spuren. Damit wird das Signal/Rauschverhältnis der eigentlichen Spur verbessert, da so die Magnetisierung daneben kein Störsignal liefert. Die Schreiblesespule erzeugt ein Magnetfeld, wobei die meisten Diskettenlaufwerke die Frequenzmodulation nutzen. Dafür gibt es zwei Frequenzen – bei einer Datenrate von 125 kbit/s sind es 125 KHz für ein „1“ Bit und 62,5 kHz für ein „0“ Bit. Ein 1 Bit erzeugt einen Impuls von 4 Mikrosekunden Länge, gefolgt von einem gleich langen Bereich ohne Magnetisierung, Ein „0“-Bit durch Auslöschung der beiden Frequenzen einen Bereich von 8 Mikrosekunden Dauer ohne Impuls. Bei doppelter Dichte werden doppelt so hohe Frequenzen mit der halben Dauer eingesetzt. Entsprechend wechseln sich magnetisierte Bereiche auf der Diskette ab. Beim Auslesen induzieren die magnetisierten Bereiche eine Änderung des Magnetfeldes im Magneten und das wiederum induziert einen Strom in den Spulen der verstärkt wird.
Die Diskette rotiert mit 300 Umdrehungen pro Minute, also fünfmal pro Sekunde. Sie hat dazu ein Loch in der Mitte in die eine Spindel greift. Die Motordrehzahl kann durch ein Potentiometer leicht variiert werden. Der Schreib-/Lesekopf hat einen eigenen Antrieb, der in der mechanischen Konstruktion variiert, aber immer ein Schrittmotor ist. Die Elektronik bewegt ihn schrittweise nach außen oder Innen. Die Dauer, die er braucht, um eine Spur zu wechseln betrug bei den letzten Laufwerken 3 ms. Am Anfang waren es noch 40 ms.
Für die Formatierung wurden Standards festgelegt, die es ermöglichten, wenn der Floppy-Kontroller richtig programmiert ist, jedes Format zu lesen, auch wenn das System ein anderes verwendet. Nach Erkennen des Spuranfangs folgte zuerst eine Lücke, in der der Schreib-/Lesekopf die Impulse die er von der Diskette liest, mit seiner festen Frequenz synchronisiert und gegebenenfalls die Rotationsgeschwindigkeit des Motors durch das Potenziometer anpasst. Dazu dienen Felder mit definierten Daten wie einer Reihe von „1“ Bits und einer Reihe von „0“ Bits.
Jeder Sektor beginnt zuerst mit einem eindeutigen ID-Byte, dann einem Byte für die Sektornummer und Spurnummer. Zuletzt folgt ein Byte, das angibt, wie viele Datenbytes der Sektor hat. Es waren Sektoren von 128, 256, 512 und 1024 Bytes genormt. Diesem ID-Block folgten zwei Bytes mit einer Prüfsumme. Sie wurde vom Controller mit einer selbst errechneten Prüfsumme verglichen, und wenn diese nicht stimmte, die Operation abgebrochen und zum Computer ein Fehler gemeldet. Nun folgten aber nicht die Daten, sondern erst mal eine Lücke. Sie war nötig für das Schreiben der Daten, da nun der Schreib-/Lesekopf vom Lesen der ID-Informationen auf das Schreiben umschalten musste. Der Datenbereich beginnt mit einem Byte, das angibt, das der Sektor gelöscht wurde, dann folgen die Daten selbst und dann erneut zwei Prüfsummen. Hinter jeder dieser Felder gibt es Lücken, weil der Controller ja Zeit braucht, die Informationen auszuwerten und Prüfsummen zu berechnen und zu vergleichen. Da diese Lücken konstant sind, ist die nutzbare Nettoinformation einer Diskette um so größer, je größer ein Datenblock ist. Bei einer Diskette mit einer in den Achtzigern typischen Kapazität von 500 KByte pro Seite (bei 80 Spuren) ist die maximal Nutzbare Nettokapazität:
Sektorgröße |
Sektoren pro Spur |
Bytes pro Spur |
Nettokapazität |
---|---|---|---|
128 Bytes |
26 |
3.328 |
260 KB |
256 Bytes |
16 |
4.096 |
320 KB |
512 Bytes |
9 |
4.608 |
360 KB |
1024 Bytes |
5 |
5.120 |
400 KB |
Unformatiert |
- |
6.250 |
500 KB |
Es gab im wesentlichen vier Standards:
Single Sided (SS) / Single Density (SD): 40 Spuren, ein Schreiblesekopf (SS/SD): 250 KB unformatiert
Single Sided (SS) / Double Density (DD): 80 Spuren, ein Schreiblesekopf (SS/DD): 500 KB unformatiert
Double Sided (DS) / Single Density (SD): 40 Spuren, zwei Schreibleseköpfe (DS/SD): 500 KB unformatiert
Double Sided (DS) / Double Density (DD): 80 Spuren, zwei Schreibleseköpfe (DS/DD): 1.000 KB unformatiert
Dabei ist das DS/SS Format eher selten gewesen, weil die Kapazität genauso hoch wie bei SS/DD war, aber ein zweiter Schreib-/Lesekopf erheblich teurer ist, als die Anpassung des Motors und Schreiblesekopfes für die doppelte Dichte bei nur einer Seite.
Später kamen noch bei IBM Rechnern und Kompatiblen die HD-Formate hinzu, die jedoch selten in anderen Computern verbaut wurden. Während bei den obigen Formaten eine Spur immer 6.250 Bytes unformatierte Kapazität hatte, waren es bei HD Formaten 10.000 (5,25 Zoll, 1,2 MByte formatierte Kapazität, eingeführt mit dem IBM PC AT, 1984) bzw. 12.500 Bytes (3,5 Zoll, 1,44 MByte formatierte Kapazität, eingeführt mit der IBM PS/2 Serie 1989). Das 1992 von IBM eingeführte ED Format (3,5 Zoll, 25.000 Bytes unformatiert pro Spur, 2,88 MB formatiert) konnte sich dann nicht mal mehr bei IBM-Kompatiblen durchsetzen. Zudem rotierten die Disketten schneller mit 360 anstatt 300 Umdrehungen pro Minute.
Disketten waren langsam, doch woran lag das? Zum einen natürlich am mechanischen Prinzip. Es gab für jedes Laufwerk zwei Parameter: die Spurwechselzeit und die mittlere Zugriffszeit. Die mittlere Zugriffszeit gab an, wie lange es im Mittel dauerte, einen Sektor zu lesen, nachdem man dem Controller die Sektornummer und Spurnummer angab. Der Schrittmotor musste sich dazu an die Spur bewegen, wodurch man im Mittel bei 40 Spuren die Hälfte, also 20 Spuren, schrittweise abtasten musste. Der Motor gibt dabei den zweiten Parameter, die Spurwechselzeit vor. Es ist aber noch etwas anderes von Bedeutung. Sobald die Zielspur erreicht ist, wartet der Motor, bis wieder ein Indexloch vorbeizieht, das heißt, im Extremfall kann zu der Spurwechselzeit noch eine ganze Umdrehung der Diskette hinzukommen. Diese dauert bei 300 U/Min dann 0,2 Sekunden. So ergab sich für Diskettenlaufwerke eine mittlere Zugriffszeit von 95 bis 463 ms, bei Spurwechselzeiten von 3 bis 12 ms. Im Allgemeinen waren Laufwerke mit mehr Spuren schneller als mit weniger und bei zwei Köpfen war schon aus physikalischen Gründen die mittlere Zugriffszeit nur halb so groß wie bei einem Kopf.
Es spielte aber noch ein zweiter Aspekt eine Rolle. Die Bytes lieferte der Floppy-Kontroller nacheinander an die CPU. Die CPU musste ein Bit abfragen das signalisierte, ob der Kontroller beschäftigt war, dann das Byte einlesen, im Arbeitsspeicher ablegen und dann einen Index erhöhen, der auf die nächste Speicherzelle verwies. Nach dem Ende des Einlesens eines Sektors standen für die CPU weitere Arbeiten an. Üblicherweise gab es für einen Sektor einen festen Buffer an einer vorgegebenen Adresse. Die Kontrolle ging nach dem Einladen an das Anwendungsprogramm über, das den Puffer dann an die richtige Stelle im Adressraum kopierte. Das dauerte aber und so konnte es sein, das der nächste Sektor schon am Schreiblesekopf vorbeigezogen war. Nun hätte man eine Umdrehung, also 200 ms warten müssen, bis der Sektor wieder gelesen werden kann. Die Datenrate wäre so sehr gering gewesen, denn so konnte man maximal 5 Sektoren pro Sekunde auslesen. So wandte man einen Trick an. Wenn man die Verzögerung kannte, dann konnte man das System darauf einstellen. Anstatt die Sektoren sequenziell zu schreiben, lies man Lücken. Bei meinem Computer waren die Sektornummern z.B. so angeordnet: 1,6,2,7,3,8,4,9,5
Das System benötigte dann zwei Umdrehungen um eine Spur vollständig zu lesen. 8 Bit Systeme kamen bei den gängigen Taktfrequenzen der Prozessoren auch nicht nach die Bytes vom FDC zu lesen, wenn die Datenrate höher war, z. B. 8 Zoll Floppies angeschlossen wurden, die eine Datenrate von 500 kbit/s anstatt 250 kbit aufwiesen. Das galt natürlich auch für Festplatten, die selbst bei den damaligen Größen viel höhere Datenraten hatten. Das verbreitete Modell Seagate ST-225 (25 MB unformatiert, 20 MB formatiert) hatte z.B. eine Datenrate von 5 Mbit/s. Ein Punkt der für die kleineren Sektorgrößen von 128 oder 256 Byte sprach war, das die Gaps zwischen den Sektoren immer gleich lang waren. Bei weniger Bytes im Puffer die kopiert werden mussten, hatte ein 8-Bit System die gleiche Zeit musste aber weniger tun und so war es eventuell (abhängig von CPU, Takt und Systemarchitektur) möglich ohne den obigen „Skew“ oder „Interleave“ auszukommen.
Professionelle Systeme hatten daher meist einen Zusatzbaustein, der einen DMA-Zugriff des FDC ermöglichte. Eine DMA (Direct Memory Acess) ist eine Zusatz-CPU mit einer Spezialaufgabe. Sie kann sehr schnell Bytes von einer Stelle an eine andere kopieren. Bei der CPU muss man dazu die Bytes in die CPU einlesen, dann schreiben und dann noch Zeiger auf die Adressen erhöhen und einen Zähler erniedrigen. Die DMA macht dies automatisch und beschleunigt so den Datentransfer enorm. Eine DMA beherrschte nicht nur das Kopieren innerhalb des Arbeitsspeicher, sondern auch das Einlesen von einem Peripheriebaustein wie dem FDC. Eine Z80 DMA konnte zehnmal mehr Bytes pro Sekunde transferieren, als die CPU selbst. Für den Betrieb einer Festplatte war sie unumgänglich. Der IBM PC hatte eine solche DMA eingebaut, er lass und schireb Disketten daher viel schneller als die meisten Heimcomputer, obwohl es kein DMA-Chip für den 8086 Prozessor war sondern einer für den 8080 (Intel 8237), die sogar langsamer als die des Z80 war (maximal 1,6 Mbyte/s, im IBM PC durch Beschränkungen des Busses sogar nur 0,96 MB/s).
Artikel erstellt am 4.1.2020
Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.
Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.
Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.
Mehr über das Buch auf dieser eigenen Seite.
Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.
Sitemap | Kontakt | Impressum / Datenschutz | Neues | Hier werben / advertisment here | Buchshop | Bücher vom Autor |