Was bedeutet es, wenn auf Festplatten ein Prozessor installiert ist? Wie funktioniert es und welchen Nutzen hat es?
Ich verstehe nicht - die CPU auf dem Computer ist der Prozessor und die Festplatte überträgt ihren Inhalt in den RAM des Host-Computers. Verarbeiten zusätzliche Prozessoren die Daten irgendwie vor?
Hier sind einige Beispiele:
- Western Digital WD Schwarz WD1002FAEX 1 TB "Dual Processor Speed"
- NETGEAR ReadyNAS 312 Festplattenloser Netzwerkspeicher mit zwei Schächten "Dual-Core-Intel 2.1-GHz-Prozessor und integrierter 2-GB-Speicher"
Außerdem haben Router jetzt auch Prozessoren. Warum ist das notwendig? Ich denke, es ist irgendwie sinnvoll - es muss eine Logik passieren, damit die Pakete eingelesen werden, um zu wissen, auf welchen Ports sie gesendet werden sollen, aber warum haben alte Router sie nicht benötigt?
Beispiel eines WLAN-Routers mit Prozessor : "Dual-Core-Prozessor"
Ich bin überrascht, weil das von Neumann-Maschinenmodell keine Prozessoren auf Lager hat .
quelle
Antworten:
Nun, HDD hatte immer Prozessoren, hauptsächlich um Daten zwischenzuspeichern und andere HDD-Dinge wie das Markieren von fehlerhaften Blöcken usw. zu erledigen.
Das von Ihnen verknüpfte Netgear-Produkt ist ein NAS, mit dem Sie Medien über das Netzwerk streamen können, sodass es sich nicht wirklich um eine Festplatte handelt. Es ist eher wie eine mit einem Netzwerk verbundene Festplatte mit einer ausgefallenen Software, mit der Sie Informationen über das Netzwerk streamen können.
Alte Router hatten auch Prozessoren, obwohl sie zu langsam waren und überhaupt nicht beworben wurden. Der WRT54G, der 2002 herauskam, hatte einen Broadcom BCM4702 mit 125 MHz. In der Tat nicht sehr schnell. Heutzutage fordern wir jedoch mehr von den Routern, und Funktionen wie VPN erfordern schnellere Prozessoren.
quelle
Die CPU ist ein Prozessor; Da sind andere. Ein Prozessor ist das, was Programmcode ausführt. Jedes Gerät mit Firmware (das ist Code) hat also einen Prozessor.
Eine Festplatte verfügt über einen eigenen (kleinen) Prozessor, auf dem Firmware ausgeführt wird, die ein Schnittstellenprotokoll (z. B. SATA oder SCSI) implementiert und die Motoren der Festplatte steuert. Stellen Sie sich Ihre Festplatte als einen spezialisierten Computer im Computer vor. Das SATA-Kabel ist wie ein Netzwerkkabel, mit dem es mit dem Hauptcomputer kommunizieren kann. Die CPU erstellt Meldungen (z. B. SATA-Befehlspakete), um dem Laufwerk mitzuteilen, welche Daten es benötigt, und sendet sie über das Kabel an das Laufwerk. Der Prozessor des Laufwerks liest die Meldungen von der CPU und steuert die Motoren und Magnetköpfe des Laufwerks, um die Daten tatsächlich zu lesen oder zu schreiben.
Ein NAS ist ein Computer, auf dem Dateiserver-Software ausgeführt wird. Im Prinzip unterscheidet es sich nicht von der Einrichtung freigegebener Ordner auf Ihrem PC. Auf dem NAS wird ein leichteres Betriebssystem auf einem langsameren Prozessor ausgeführt, das jedoch im Wesentlichen die gleiche Arbeit leistet. Gleiches gilt für einen Router.
quelle
Wenn Sie sich die Funktionsweise eines typischen Desktop-PCs genauer ansehen könnten, würden Sie überall Prozessoren vorfinden. Wenn eine Tastatur und eine Maus an USB-Ports angeschlossen sind, befinden sich in der Tastatur ein Prozessor und in der Maus ein Prozessor, der das USB-Protokoll spricht.
Im Falle einer Festplatte hat dieser Prozessor eine Menge zu tun. Zum einen muss der Prozessor den Kopf positionieren, auf den richtigen Moment warten und dann die Daten an die Platten senden. Wenn die CPU zum Lesen einer Reihe von Daten auffordert, findet der Prozessor die optimale Reihenfolge, um diese Daten von der Festplatte abzurufen, und ruft möglicherweise sogar einige zusätzliche Daten ab, die zufällig unter dem Kopf übertragen wurden, um sie in den Cache zu stellen, falls die CPU danach fragt Nächster.
Moderne Festplatten können SMART Health Checks auch im Hintergrund durchführen. Die CPU muss sich nicht mit diesen Dingen befassen, außer möglicherweise regelmäßig nach den Ergebnissen zu fragen.
Moderne SoHo "Router" sind nicht nur Router. Sie sind auch Zugriffspunkte, Switches, DHCP-Server, Webserver und sie implementieren NAT, Firewall, manchmal sogar NAS-Funktionen und eine Menge anderer Dinge. Ihre Prozessoren haben jede Menge Arbeit zu erledigen.
Grundsätzlich ist ein Prozessor heutzutage so billig zu implementieren, dass er fast überall dort eingesetzt wird, wo er Sinn macht. Die Ausnahme bilden Fälle, in denen die Aufgabe sehr einfach ist oder in denen eine hohe Leistung erforderlich ist. Es gibt wahrscheinlich sogar ein Netzteil, mit dem Sie die Lüfterdrehzahl regeln und den Stromverbrauch optimieren können.
quelle
Viele aktuelle "intelligente" Appliances sind tatsächlich vollwertige Computer, auf denen oft ein Linux-Klon ausgeführt wird. Wenn das Gerät zulässig genug ist oder gerootet / jailbreaked wurde, können Sie möglicherweise daran basteln, neue Pakete installieren oder sogar das Betriebssystem ändern. Sie verwenden natürlich CPUs.
Beispiele hierfür sind Telefone, Fernseher, DVD-Player, E-Book-Reader, NAS-Boxen, Heimrouter, Modems und Out-of-Band-Management in Servern, bei denen es sich tatsächlich um ganze Computer mit eigenem Betriebssystem handelt.
Aber auch dumme Geräte haben Prozessoren, die oft als Mikrocontroller bezeichnet werden und z. B. für das Lesen und Schreiben von Daten zuständig sind. Die Micro-SD-Karte in Ihrem Telefon enthält einen Prozessor und eine SIM-Karte verfügt über eine andere, die Java-Anwendungen ausführen kann.
Selbst einfaches Kinderspielzeug wie eine Ampel verfügt über einen Mikrocontroller, da die Lichtlogik in der Software des Mikrocontrollers einfacher und kostengünstiger zu implementieren ist als in diskreten Komponenten.
quelle
Zur Beantwortung Ihrer spezifischen Frage zu Festplattenlaufwerken, die anscheinend niemand angesprochen hat.
SATA (und alle anderen mir in den Sinn kommenden Schnittstellen für Festplattenanschlüsse) funktionieren mit Blöcken. Mit Befehlen können (unter anderem) bestimmte physische Speicherblöcke gelesen und geschrieben werden, und die Daten werden über die Verkabelung der Anschlussschnittstelle bereitgestellt. Dieser Befehl muss irgendwo verarbeitet werden. Dies kann entweder in einer Software erfolgen, die auf einem integrierten Prozessor ausgeführt wird, oder mit einer Art reinem Hardware-Setup, das wahrscheinlich fast dasselbe tun müsste.
Ratet mal, was ist billiger, kleiner, alles andere als einfach zu handhaben und in der Regel viel vielseitiger? Richtig, ein Prozessor, eine kleine Menge an Programmspeicher (Flash, EPROM, ROM oder was auch immer Ihren Anforderungen entspricht) und eine kleine Menge an RAM, von denen die beiden letzteren, wenn Ihre Anforderungen bescheiden genug sind, möglicherweise sogar in die Liste aufgenommen werden Prozessor selbst (siehe zum Beispiel die PIC-Familie von Mikrocontrollern ).
Denken Sie auch daran, dass die Platten nicht wirklich Bits speichern. Sie speichern Magnetflusskodierungen von Bits. Etwas muss die Flussmesswerte verarbeiten, die vom Lesekopf kommen, oder die Daten in Flussübergänge verarbeiten, die an den Schreibkopf gegeben werden sollen. Wenn ein Lesevorgang fehlerhaft ist, werden Fehlerkorrekturdaten (die zusammen mit den Daten gespeichert werden) idealerweise verwendet, um den Fehler zu korrigieren (dies ist leider nicht immer der Fall ) und gute Daten anstelle von Müll zurückzugeben, oder um einen Fehler zurückzugeben, wenn das Problem ebenfalls besteht schwer zu korrigieren. Auch das ist am einfachsten in Software zu implementieren, die auf etwas laufen muss, und ein Prozessor mit etwas Speicher passt wieder ganz gut in die Rechnung.
Wenn Sie über eine hohe Verarbeitungsleistung verfügen, können Sie fortschrittlichere Kodierungs- und Fehlerbehebungsverfahren verwenden. Bei Festplatten können Sie mehr Daten auf dieselbe physische Oberfläche übertragen. Das Endergebnis ist eine größere Speicherkapazität als sonst möglich. Die Rechenleistung des Festplatten-Mikrocontrollers selbst ist jedoch für den Benutzer des Laufwerks nicht von entscheidender Bedeutung.
quelle
Verzeihen Sie mir, wenn ich diesen Punkt überlesen habe, ihn aber noch nicht in den Antworten gelesen habe (obwohl alle anderen Antworten großartig sind).
Durch die Bereitstellung von Prozessoren auf Hardwaregeräten wird auch die Arbeitsbelastung Ihres zentralen Prozessors, der Ihre CPU auf dem Mainboard ist, verringert.
Stellen Sie sich einen Computer mit einer einzelnen CPU vor, der jede Arbeit erledigen muss, die erledigt werden muss. Speicher steuern, Bus steuern, festplattenspezifische Berechnungen verwalten (Laufwerk drehen, Zugriff, Größe zum Schreiben, Lesen usw.)
Wenn alles , was getan werden muss, von Ihrer CPU erledigt wird, bleibt nicht viel Zeit für Ihre eigentlichen Aufgaben.
quelle
Beginnen wir mit dem Offensichtlichen - diese "Prozessoren" waren schon immer auf einer bestimmten Ebene da. Bei älteren Laufwerken befanden sich diese in Controller-Karten, und bei allen anderen, die sich der Moderne näherten , gab es Festplatten- Controller. Die Bezeichnung "IDE" für Pata-Laufwerke bezieht sich auf die Tatsache, dass die Elektronik an Bord war und keine separate Karte.
Während dies traditionell Mikrocontroller waren, verfügt mein ssd - ein Samsung 840 über einen Prozessor mit drei Kernarmen . Diese Chips sind beispielsweise für den Verschleißausgleich, die Verarbeitung verschiedener interner Übersetzungen (z. B. die Konvertierung von ATA- oder SCSI-Befehlen in etwas, das die Laufwerkselektronik in Frage stellt) und zwei Faktoren verantwortlich: Die Hardware ist viel komplizierter als früher und die Prozessoren sind billiger und schneller als früher, ist es sinnvoll, einen abgeschnittenen Mehrzweckkern in ein Laufwerk zu stecken. Aber ja, diese Prozessoren waren schon immer da.
Bei Routern hatten sie schon immer Mips oder Arm-Cores - sie benötigen im Grunde die Leistung, um einen Webserver und Routing usw. zu betreiben. Viele an das Netzwerk angeschlossene Laufwerke verwenden ähnliche oder bessere Kerne, damit sie mit Dingen wie smb oder der Admin-Seite umgehen können.
Viele Jahre lang hatten Tastaturen die gleichen M68K-Prozessoren wie viele alte Computer, und es gibt Mäuse mit Arm-Kernen, die sich mit Dingen wie ausgefallener Beleuchtung und immer schnelleren Reaktionen befassen.
quelle
Router hatten schon immer einen Prozessor. Die beiden ursprünglichen Router waren Software, die auf PDP-11 ausgeführt wurde (ja, der Nachfolger des Computers, für den Unix ursprünglich geschrieben wurde). Einer wurde in Stanford und der andere am MIT entwickelt. Der Stanford-Router wurde später an ein damals kleines Start-up namens Cisco Systems lizenziert. Cisco hat PDP-Computer in benutzerdefinierte Gehäuse verpackt, auf ein "Cisco" -Label geklebt und als Router verkauft.
Das ist also, was alte Router verwendeten - Prozessoren.
Ich erinnere mich an ein Interview mit einem der Gründer von Cisco, der sagte: "Das ist der Vorteil des Verkaufs von Software als Metallbox - Sie müssen die Leute nicht davon überzeugen, Kopien davon nicht an ihre Freunde weiterzugeben." Mein Google-Fu versagt mir heute, daher kann ich das aktuelle Angebot nicht finden. Das waren die Tage, bevor ein gewisser Gründer eines kleinen Unternehmens namens Microsoft die Leute davon überzeugte, dass sie für Software bezahlen müssen (damals war es eine frühe Version von Basic).
quelle
Alle halbautonomen Geräte, die seit der Geburtsstunde der Computerrevolution eine Art "Prozessor" besaßen, waren bis jetzt nur nie wirklich als solche gekennzeichnet.
Was Sie hier sehen, sind die andauernde Korruption und Halbwahrheiten, die von eifrigen Marketingagenturen in unserer Gesellschaft verbreitet werden, wo Verkäufer immer mehr ermutigt werden und glauben, sie seien die Stars der Show, einfach weil sie die eigenen sind die Gewinne.
Tatsache ist jedoch, dass alles, was eine Reihe von Aufgaben ausführen muss, bei denen die nächste Iteration eines Prozesses von der vorherigen Iteration abweichen kann, über einen Interpreter verfügen muss, der die Anweisungen, die dem Gerät gegeben werden, sinnvoll interpretiert und dann auf diese Anweisungen reagieren.
Zurück in den Nebel der Zeit, Terminologie wie "Controller", wo die Norm, aber diese immer noch auf das Gleiche hinauslaufen.
Nehmen wir zum Beispiel eine "IDE-Festplatte mit integriertem IDE-Controller". Dies ist zwar keine CPU in dem Sinne, wie Sie es von einer CPU auf der Hauptplatine Ihres PCs halten, es ist jedoch immer noch eine Form von CPU.
Der Host-PC sendet "OP-Codes" (Abkürzung für Operationscodes) über den Bus (PCI, ISA, MCI, PCIe oder was auch immer) an den Laufwerks-Controller. Der Controller liest dann diesen Code und alle damit gelieferten Daten und wandelt sie um in physische Operationen, die dann das Laufwerk veranlassen, die Köpfe an die richtige Stelle zu bewegen und die angeforderten Daten zu lesen.
Router haben eine noch längere Geschichte, Cisco hat in den letzten 50 Jahren oder länger Netzwerkgeräte entwickelt und jedes einzelne dieser Geräte hatte die ganze Zeit über einen benutzerdefinierten Controller / eine benutzerdefinierte CPU. Diese CPU wurde von Cisco speziell für die Programmierung und Steuerung der gesamten Produktpalette von Routern und Switches entwickelt.
Grafikkarten sind eine andere Sache, man hört Leute, die den Begriff "GPU" in Umlauf bringen, als wäre es eine mystische Sache, die nur Grafiken macht. Es ist nicht so, es ist ein massiv paralleler mathematischer Algorithmus-Prozessor. Ich habe gerade die technische Bearbeitung eines Buches über Nvidia CUDA abgeschlossen. Was ich über die Nvidia-GPUs erfahren habe, war ziemlich überraschend Entwickelt, um eine spezielle Reihe von Aufgaben zu erledigen, aber sie sind immer noch halbintelligent und für viele verschiedene Arten von Operationen geeignet.
Wie bereits erwähnt, ist das Netgear Readynas eigentlich eher ein eigenständiger PC. Es wurde speziell entwickelt, um nur als Remote-Speichergerät zu fungieren.
Wenn Sie möchten, hindert nichts Sie daran, das Netgear-Gerät mit neuer Software neu zu programmieren und es perfekt als Webserver, Datenbankserver oder sogar als kleiner Linux-Entwicklungsserver zu nutzen. (Eine Schnellsuche zeigt Ihnen mehr als eine Handvoll Projekte, die darauf abzielen, mit diesen NAS-Geräten so etwas zu tun.)
In Bezug auf den Prozessor überrascht es Sie vielleicht, dass heutzutage nicht nur Festplatten mit "Prozessoren" ausgestattet sind. Probieren Sie dieses kleine Experiment aus.
Stellen Sie sich in Ihre Küche und sehen Sie, wie viele CPUs Sie zählen können.
Ich bin bereit zu wetten, dass Ihr Kühlschrank / Gefrierschrank, Ihre Waschmaschine, Ihr Geschirrspüler, Ihr Backofen und Ihre Mikrowelle (zumindest) alle einen Prozessor haben. Es handelt sich möglicherweise nicht um einen Intel Core i7, aber es handelt sich immer noch um einen Prozessor. und es ist so konzipiert, dass sie still sitzen und Anweisungen interpretieren, die von anderen elektrischen / digitalen Schaltkreisen an sie gesendet werden, die dann in die physischen Operationen umgewandelt werden, die Sie sehen.
Was ist die Definition eines Prozessors?
Nun, es ist heutzutage ein bisschen schwer zu bestimmen, aber im Allgemeinen ist die Definition eines "Prozessors" etwas im Sinne von "Jede in sich geschlossene Einheit, die in der Lage ist, auf halbintelligente Weise auf externe Eingänge zu reagieren und einen Prozessor zu erzeugen" bekannte Menge von Ausgängen, die von diesen Eingängen abgeleitet sind
ALSO kann jede eigenständige Einheit, Schaltung, Chip oder autonome Maschine, die eine physikalische Manifestation eines bekannten Prozesses auf der Grundlage einer Reihe vordefinierter Eingaben bewirken kann, im einfachsten und allgemeinsten Sinne als ein Prozessor einer bestimmten Beschreibung angesehen werden.
quelle
Während Festplatten und Flash - Speicherkarten sind nicht immer Prozessoren enthalten, ist ihr Design zu einem recht einfachen Prinzip unterliegen: etwas mit einem Prozessor wissen muss , was notwendig ist , um Daten zu speichern und abzurufen. Wenn ein Speichergerät keinen Prozessor enthält, aber mit einer Funktion verbunden ist, muss die Hardware das Speichern und Abrufen von Informationen in der genauen Reihenfolge der Schritte ermöglichen, die das angeschlossene Gerät erwartet. Auch wenn das Speichern und Abrufen von Informationen auf andere Weise effizienter sein kann, gibt es möglicherweise keine Möglichkeit, das verbundene System darüber zu informieren.
Zum Beispiel arbeiten die meisten Festplatten, indem sie jedes Stück der Platte in eine von zwei Richtungen magnetisieren. Wenn ein "L" die Magnetisierung in einer Richtung für eine bestimmte Zeitdauer und ein "R" die Magnetisierung in der anderen für dieselbe Zeitdauer darstellt, wird versucht, Daten direkt zu speichern, indem "L" verwendet wird, um eine "1" und "1" darzustellen. R "für" 0 "zu stehen, wäre aus zwei Gründen sehr unzuverlässig:
Eine lange Folge von Einsen oder Nullen würde eine lange Folge von Ls oder Rs darstellen, die wiederum als etwas längere oder etwas kürzere Folge falsch interpretiert werden kann. Wenn zum Beispiel der Antriebsmotor beim Lesen von Daten 5% langsamer läuft als beim Schreiben, wird eine Zeichenfolge von 20 Ls möglicherweise als Zeichenfolge von 21 Ls falsch interpretiert.
Zwei Ketten von Ls, die durch eine kleine Anzahl von Rs getrennt sind, können sich in diese kleine Kette von Rs ausbreiten und sie "verschlingen". Ebenso zwei Rs-Ketten, die durch eine kleine Anzahl von Ls getrennt sind.
Aufgrund dieser Faktoren müssen Laufwerke Informationen im Allgemeinen in Ls- und Rs-Läufe codieren, deren Länge zwischen einem Maximum und einem Minimum liegt. Die optimalen Werte für die maximale und minimale Länge können je nach Qualität der Elektronik, des Motors, des Kopfs und des Mediums variieren. Da die äußeren Spuren auf einer Platte länger als die inneren Spuren sind, können sie möglicherweise auch kürzere Ls- und Rs-Läufe als die äußeren Spuren speichern.
Damit Informationen auf einem Laufwerk gespeichert werden können, muss es mit etwas verbunden sein, das weiß, wie Daten in Zeichenfolgen von Ls und Rs konvertiert werden, die auf dem Datenträger gespeichert werden können. Wenn die Konvertierung von Ls und Rs in die Verantwortung eines Controllers fällt, der vom Laufwerk selbst getrennt ist, muss ein Laufwerk nur Formate verwenden, die von jedem Controller verstanden werden, an den es möglicherweise angeschlossen ist. Das Verschieben des Controllers zur Laufwerkbaugruppe behebt dieses Problem: Wenn jeder Hersteller ein Laufwerk mit einem Controller ausliefert, der versteht, wie Daten gespeichert werden, muss er sich keine Gedanken darüber machen, ob andere Controller diese Daten verstehen würden, da dies nur Informationen sind gespeichert und von der in der Laufwerkbaugruppe enthaltenen Steuerung abgerufen.
quelle
Wie bereits erläutert, hatten viele Peripheriegeräte / Geräte immer Prozessoren, um ihre Kernfunktionen bereitzustellen, und selbst relativ einfache Router sind in Wirklichkeit kleine Server (der sichtbarste Aspekt für den Endbenutzer wären die webbasierten Konfigurationsassistenten, die Sie benötigen IP-Stack, ein Webserver usw. und ein Prozessor, auf dem sie ausgeführt werden).
Sie sollten sich jedoch auch darüber im Klaren sein, dass ein moderner Consumer-NAS noch mehr ist. In der Regel können Sie sich über einen Webbrowser anmelden und haben Zugriff auf eine grafische Benutzeroberfläche mit vielen Anwendungen, einem Softwarepaket-Verwaltungssystem, mehreren Diensten zum Streamen von Mediendateien. Führen Sie automatische Aktualisierungen durch, lesen Sie andere an einen USB-Anschluss angeschlossene Speichergeräte usw., so dass fast eine vollwertige Desktop-Umgebung entsteht (obwohl einige Funktionen für die GUI offensichtlich für den Client-Computer freigegeben sind).
quelle
Alle Festplatten hatten schon immer Prozessoren. Alle Router hatten schon immer Prozessoren.
Ihre Grafikkarte verfügt über einen Prozessor. Hat immer. Ihre Netzwerkkarte verfügt über einen Prozessor. Hat immer. Ihr Drucker verfügt über einen Prozessor, Ihre Tastatur, Ihre Maus und so weiter und so fort. Es fällt mir schwer, an ein Gerät zu denken, das an Ihren Computer angeschlossen ist und über keinen Prozessor verfügt.
Sie werden jetzt mehr beworben, weil ihre Leistung kritischer ist, weil wir diese Geräte auffordern, immer mehr zu tun.
quelle
In der Computerelektronik gibt es praktisch kein Gerät, das so dumm ist, dass es seine Aufgabe ohne Prozessor erfüllen kann - zumindest muss praktisch alles irgendwann ein Signal ein- oder auskodieren. Wenn sich dieses Signal ändert, muss es Regeln dafür geben, wie es sich ändert, und ein Prozessor erzwingt diese Regeln.
Ein wenig weiter von der Frage entfernt, aber das Thema " Alles ist Prozessor " noch verstärkt, war ich in den 80er Jahren ein Systemadministrator, der für einige VAX / VMS-Mainframes verantwortlich war.
Wir hatten einen sehr schnellen (lauten) Banddrucker , auf dem eine Reihe von Hämmern ein schnelles, hochfestes Band anschlugen. Ich glaube, es war ein Drucker mit 600 Zeilen pro Minute. Das sind vollständig 132 Zeichenzeilen, keine Punktzeile.
Um das Timing zu steuern, zu dem die Hämmer die Band schlugen, gab es einige einfache elektronische Schaltkreise. Dies erforderte je nach Band ein anderes Programm - Sie könnten sogar schnellere Bänder haben, die nur Großbuchstaben enthielten (mehrere ASCII-Sätze auf einem Band).
Das Programm für diesen Prozessor wurde auf einem Stück Papierband gespeichert, das auch bei jedem Einschalten des Druckers in einer Endlosschleife gelesen wurde (ja, es wurde die meiste Zeit laufen gelassen).
Ich fand es erst heraus, als mein Bediener den Drucker begeistert säuberte und das Papierband fand. Glücklicherweise bemerkte er, dass es sich nicht nur um ein Stück Papier handelte und versuchte nicht, es zu entfernen.
quelle
Dies bedeutet, dass das Laufwerk eine kleine CPU hat. Im Allgemeinen verfügt jedes Gerät mit einer CPU über Firmware.
Computerperipheriegeräte sind komplex. Zum Beispiel ist das Lesen und Schreiben von Daten auf ein Diskettenlaufwerk ziemlich aufwändig. Sie müssen die Hardware manipulieren, die den Laufwerkskopf bewegt, und dann nach Sektor-Headern suchen, um herauszufinden, ob Daten, die in einer Leseleitung eingehen, gemäß einem Protokoll sinnvoll sind usw.
Nehmen wir ein vereinfachtes Beispiel für das Lesen eines Diskettenlaufwerks: Wahrscheinlich kann eine CPU nur über E / A-Ports mit der Außenwelt kommunizieren. Diese Ports sind mit Leitungen auf der Hauptplatine oder den Steckdosen verbunden. Wenn Strom durch eine Leitung fließt, ist eine 1 für die CPU auf dem Port sichtbar, wenn dieser gelesen wird. Wenn dies nicht der Fall ist, ist eine 0 für die CPU sichtbar. Ebenso kann die CPU zum Schreiben eine 1 an einen Port schreiben, um Strom durch die Leitung zu leiten, oder sie auf 0 setzen, um dies zu stoppen.
Nehmen wir also für ein Diskettenlaufwerk an, Sie haben eine Leitung mit dem Lese- / Schreibkopf der Diskette verbunden. Um Daten zu lesen, müssen Sie auf eine "Flussumkehrung" warten - im Grunde genommen eine Verschiebung der magnetischen Energie, die dazu führen würde, dass die Linie von 0 auf 1 oder 1 auf 0 wechselt. Sie müssen dann verfolgen, wie lange es dauert, bis Sie erkennen eine zweite Flussumkehr und machen das so lange, bis Sie alle Bits in Ihrem Sektor haben, und setzen diese gemessenen Dauern zusammen, um Daten neu zu erstellen. Dabei geht es nicht einmal darum, den Antriebskopf zu bewegen oder darauf zu warten, dass der Antriebsmotor eine normale Drehzahl erreicht, damit die Dauer nicht verkümmert und die Tatsache berücksichtigt wird, dass wahrscheinlich keine zwei Motoren genau die gleichen sind, die Sie benötigen irgendwie flexibel in Ihren Messungen sein.
Hoffentlich klang das kompliziert, weil es so ist.
Natürlich können Sie dafür eine normale Computer-CPU programmieren. Da dies jedoch sehr zeitkritisch ist, kann die CPU Ihres Computers in dieser Zeit nicht viel mehr. Alte Computer, die tatsächlich so etwas in der gesamten CPU / Software getan haben, um Geld zu sparen, wie der alte Apple IIe, konnten aus diesem Grund beim Lesen / Schreiben auf Disc nichts anderes tun.
Indem Sie eine kleine CPU in das Laufwerk einsetzen und einen Controller auf der Hauptplatine haben, der eigentlich nur ein Kommunikationsbus ist, kann Ihre CPU andere Programme ausführen, Daten über den Bus an das Laufwerk senden / abrufen und den größten Teil der physischen Daten entladen. ebene Arbeit auf dem Laufwerk selbst. Da sich die Technologie verbessert, kann die zu handhabende Low-Level-Programmierung im Laufwerk verbleiben, und es ist nicht erforderlich, Programme auf Ihrem Computer zu ändern, um mit verschiedenen internen Laufwerkformaten zu arbeiten.
In Bezug auf Router ist die eigentliche Routing-Funktion auf niedriger Ebene in der Hardware nicht schwierig, und viele Router auf Unternehmensebene tun genau das, aber es sind Dinge wie Firewall, Portweiterleitung, Zugriffskontrolle und die Webschnittstelle oder Konsole, die komplex genug sind, um sie zu benötigen eine CPU, um es zu tun.
Das von Neumann-Modell enthält nichts, was besagt, dass Peripheriegeräte selbst keine von Neumann-Maschinen sein können. Was ein Peripheriegerät zu einem Peripheriegerät macht, ist die Tatsache, dass die CPU ihm Befehle über einen Bus oder einen anderen E / A-Mechanismus senden und Ergebnisse zurückholen kann.
quelle
---- Alle Antworten auf dieser Seite waren zu lang (oder so fühlte ich mich) - - - Also möchte ich eine hinzufügen ...
Festplatten haben Prozessoren, da die physische Aktivität des Wechsels von "Spot" zu "Spot" auf der Festplatte in einer guten Reihenfolge eine halbschwere Aufgabe ist
Wenn Sie Daten in einer "schlechten" oder "langsamen" Reihenfolge lesen / schreiben, basierend auf Abständen und dergleichen, können Sie die Datenübertragung erheblich verlangsamen.
Der beste Weg, dies zu beschreiben, ist, wenn Sie in einem Geschäft arbeiten und Sie aufgefordert werden, Gegenstände aus den entferntesten Ecken zu holen, bevor Sie alles auf dem Weg bekommen.
Ein kluger Befehl ist, alles auf dem Weg aufzunehmen = = So funktioniert AHCI mit NCQ.
NCQ benötigt eine intelligentere Verarbeitung, weil es seine Suchvorgänge besser plant.
Davor hat jemand PIO oder "Prozessor gesteuert ... umm ... I / O" genannt. Dies war langsam, weil 1. die Entfernung zwischen der CPU und der Festplatte in Bezug auf den Computer sehr groß ist: Latenz. Latenz, um Befehle zu entscheiden = langsame Übertragung 2. CPU erledigt (muss erledigen) andere Dinge 3. Das ist ... wirklich das Wichtigste.
Der Computer fragt nach Dateien Hier und Hier. Die Festplatte ist dafür verantwortlich, "WIE" sie zum Computer zu bringen.
Ich bin fertig
quelle