Mein Professor hat eine Folie veröffentlicht, in der erläutert wird, wie der Datenabruf von der Festplatte mithilfe des Blockmodells berechnet wird. Die Spezifikationen waren:
- 7200 U / min
- 5ms SUCHEN
- 80 MB / s ÜBERTRAGUNGSRATE
- BLOCKMODELL: Blockgröße 4 KB
Ich verstehe nicht, wie er die folgende Berechnung durchgeführt hat oder woher einige der Zahlen stammen:
5 ms + 1000/240 ms + 0,05 ms = 9,216 ms zum Lesen des Blocks.
Kann mir jemand sagen, woher 1000/240 ms und 0,05 ms kommen?
EDIT: WENN die Zahlen völlig falsch wären, wie würden Sie das dann tun?
Antworten:
Die betreffende Festplatte hat eine Übertragungsrate von 80 MiB / s oder 81920 kiB / s oder 20480 Blöcken / s. Hier werden wir auf 20.000 Blöcke / Sekunde abrunden, da dies anscheinend das ist, was Ihr Professor getan hat. Dies entspricht 0,05 ms für die Übertragung eines Blocks, wodurch der letzte Term in der Gleichung erläutert wird.
Zusätzlich zur Zeitsuche (Zeit, um den Laufwerkskopf auf die Spur zu bewegen) gibt es schließlich auch die Rotationslatenz der Platte selbst, mit der umgegangen werden muss. Bei 7200 U / min müssen wir im schlimmsten Fall 1 volle Umdrehung warten, aber im Durchschnitt müssen wir eine halbe Umdrehung warten - oder 4,166 ms (7200 U / min = 120 U / s = 8,333 ms / U).
Um also einen Block auf den Computer zu übertragen, müssen wir das entsprechende
Seek Time
+Rotational Latency
+ wartenTransfer Time
:Beachten Sie, dass bei Solid-State-Laufwerken zwar keine Rotationslatenz zu berücksichtigen ist, jedoch sicherlich noch eine messbare Suchzeit (um den Inhalt der Sektoren im Flash-Speicher tatsächlich zu adressieren) und eine Übertragungszeit (weitgehend durch den Bus begrenzt) vorhanden sind wird verwendet, um die Daten selbst zu übertragen, z. B. SATA).
Im Allgemeinen beträgt die Gesamtzugriffszeit zum Lesen eines einzelnen Sektors für ein Laufwerk (Vernachlässigung der Software):
quelle
Die Suchzeit von 5 ms ist die Zeit, in der die Festplatte ihren Kopf auf die richtige Spur bewegt (und den richtigen Kopf auswählt, was ebenfalls Zeit kostet, von Ihrem Professor jedoch ignoriert wird).
Sobald sich der Kopf über der richtigen Spur befindet, muss er warten, bis der richtige Sektor unter dem R / W-Kopf verläuft. Wir erhalten, dass es sich um ein Laufwerk mit 7200 U / min handelt. Das bedeutet:
So erhalten Sie die Zeit für eine vollständige Laufwerksdrehung auf einem Laufwerk mit 7200 U / min:
So eine halbe Umdrehung sollte die Hälfte dieser Zeit nehmen, 1 / 240 th einer Sekunde.
1 Sekunde ist 1000 ms
Das ist Ihre 1000 / 240 ms.
All dies ist die Zeit, bis das Laufwerk mit dem Lesen der Daten beginnen kann. Es muss es noch lesen und an den Host weitergeben.
Das Lesen vom Laufwerk ist normalerweise viel schneller als das Übergeben, daher werde ich mich auf den langsameren Teil konzentrieren:
Gegeben sind:
1) 80 MB / s ÜBERTRAGUNGSRATE
2) BLOCKMODELL: Blockgröße 4 KB
Beachten Sie, dass diese Antwort Folgendes ignoriert:
quelle