Warum setzen sie "Prozessoren" auf Festplatten?

54

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:

  1. Western Digital WD Schwarz WD1002FAEX 1 TB "Dual Processor Speed"
  2. 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 Diagramm.

Celeritas
quelle
19
Das Netgear ist nicht nur ein Router, sondern ein vollwertiger Dateiserver. Bei der Festplatte werden nur einige Vorverarbeitungsvorgänge auf einer und E / A-Vorgänge auf anderen ausgeführt. Theoretisch etwas schneller, aber eine SSD ist immer noch der König der Geschwindigkeit. Es sieht so aus, als hätte der ASUS-Router einige VPN-Funktionen und andere Besonderheiten, die eine gewisse Rechenleistung erfordern würden, daher der Dual-Core.
user341814
17
Das Von Neumann-Modell sagt nichts über die Struktur von E / A-Geräten aus. Sie benötigen immer noch eine Grafikkarte, um einen Monitor anzusteuern, obwohl dieses Modell alles unter einem einzigen "Ausgangsblock" zusammenfasst.
user253751
10
Die Von Neumann-Architektur (ab 1945) ist (konzeptionell) ein guter Ausgangspunkt , um Computer mit gespeicherten Programmen zu verstehen. Die tatsächliche Implementierung moderner Computer (einschließlich der meisten Peripheriegeräte) ist wesentlich detaillierter. Im Jahr 1945 gab es keine "intelligenten Peripheriegeräte", so dass sie im Diagramm nicht dargestellt wurden. Autos sind konzeptionell die gleichen wie 1945 (vier Räder, ein Motor, ein Lenkrad), aber Sie würden nicht erwarten, dass ein vereinfachtes Diagramm eines Autos von 1945 Ihnen heute ein umfassendes Verständnis davon vermittelt.
Maxx Daymon
7
Das von Neumann-Architekturdiagramm enthält auch keinen Pfeil zwischen "Memory" und "Storage". Betrachten Sie DMA .
ein Lebenslauf vom
3
Wussten Sie, dass (abgesehen von Apple - wegen Woz) jeder frühe Heim-Mikrocomputer (an den ich denken kann) einen Prozessor im Diskettenlaufwerk hatte? Erinnern Sie sich an den Chunk-Chunk-Chunk-Sound früherer Apple-Diskettenlaufwerke? Das lag daran, dass sie den Sektor Null fanden, indem sie den Antriebsarm dreimal auf die maximale Entfernung bewegten.
Elliott Frisch

Antworten:

81

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.

matthew5025
quelle
14
HDDs hatten nicht immer erkennbare "Prozessoren", aber sie sind sicherlich seit 15 bis 20 Jahren üblich.
Daniel R Hicks
21
ST-506-Laufwerke waren "dumme" Laufwerke und waren bis in die frühen neunziger Jahre beliebt. IDE (Integrated Drive Electronics, auch als "intelligente" Laufwerke bezeichnet) setzt den Controller (die CPU) wie SCSI direkt auf die Laufwerke.
Maxx Daymon
11
Festplatten mit Prozessoren reichen bis in die frühen 1960er Jahre mit den Peripherieprozessoren der CDC 6000-Serie und deren Entsprechungen im IBM System / 360 (und möglicherweise früheren Maschinen) zurück.
Andrew Medico
3
Nun, Sie brauchen einen Prozessor, damit der Cache optimal funktioniert, zum Beispiel, um zu entscheiden, welche Daten zwischengespeichert werden sollen
matthew5025
3
Festplatten haben sicherlich nicht immer fehlerhafte Blöcke intern verfolgt. Warum, glauben Sie, hat MS-DOS 6.0 Scandisk und seine Oberflächen-Scan-Funktion eingeführt, um das FAT mit einer Liste fehlerhafter Cluster zu füllen?
ein
125

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?

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.

Wyzard - Stop Harming Monica--
quelle
53
Ich mag diese Antwort. CPU ist eine Zentralverarbeitungseinheit , so dass es noch andere, sein.
Gronostaj
19
Der entscheidende Punkt ist: "Jedes Gerät, das Firmware hat (Code ausführt), hat einen Prozessor." Weiter so, Wyzard!
Mindwin
2
Power Loss Protection ist ein Beispiel für eine Funktion, die mit einem Prozessor und Programmcode auf einer Festplatte implementiert werden kann. Das Laufwerk kann erkennen, wann die Stromversorgung des MB unterbrochen wurde. Das Programm, das im Prozessor der Festplatte ausgeführt wird, kann dann das letzte Bit der gepufferten Daten auf die Festplatte schreiben (mit Strom von einem Bordkondensator). Da der MB keinen Strom hat, hat die CPU keinen Strom und ist für unvollendete HD-Schreibvorgänge unbrauchbar. Daher ist es sinnvoll, dass die Festplatte über einen eigenen Anteil an Leistung, Prozessor und Programmcode verfügt, um gepufferte Schreibvorgänge zu beenden und das System sauber herunterzufahren.
MikeM
2
Und aus Wikipedia: "Einige frühe PC-Festplatten haben die Köpfe nicht automatisch geparkt, als die Stromversorgung vorzeitig unterbrochen wurde und die Köpfe auf Daten landeten. In einigen anderen frühen Einheiten führte der Benutzer ein Programm zum manuellen Parken der Köpfe aus." - Mit einem Prozessor und Programmcode wurde auch dieses Problem behoben.
MikeM
@gronostaj brauchen wir also auch dezentrale Verarbeitungseinheiten?
Thorbjørn Ravn Andersen
33

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.

David Schwartz
quelle
1
"Wenn Sie eine Tastatur und eine Maus an USB-Ports angeschlossen haben, gibt es einen Prozessor in der Tastatur und einen in der Maus, der das USB-Protokoll spricht." Ich dachte, das wäre die Aufgabe eines Controllers . Werden Controller manchmal als die gleichen Dinge wie Prozessoren angesehen?
Celeritas
1
Controller können reine Hardware sein, aber die Anforderungen an sie nehmen tendenziell zu, wodurch die Hardware immer komplexer wird. Ab einer bestimmten Komplexität ist es einfacher, einen Prozessor zu verwenden und die Software zu verwenden. Dies gibt dem Controller jedoch keinen anderen Namen. Benutzer möchten oder müssen normalerweise nicht wissen, wie der Controller implementiert ist. Auch mit den komplexen Hardware-ASICs und FPGAs in diesen Tagen wird die Distintion zu Prozessoren ein bisschen unscharf.
Guntram Blohm
Ich habe das zuerst als "Quietschende Maus" gelesen :)
Tom Zych
21

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.

Edheldil
quelle
8
Eigentlich wissen nur wenige, dass es sich bei der SIM-Karte um einen echten Computer handelt, und Sie können sie sogar spontan durch spezielle SMS
neu
Siehe JavaCard
Andrew Medico
Nicht nur SIM-Karten, sondern alle Chip & Pin-Smartcards, die dem ISO-Standard entsprechen. Bankkarten, Kundenkarten und viele mehr tragen diese Dinge jetzt und einige von ihnen sind überraschend mächtig.
Shawty
20

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.

ein CVn
quelle
1
Um auf "oder irgendeine Art von reinem Hardware-Setup" näher einzugehen - Mikrocontroller (wie Sie bereits erwähnten) und benutzerdefinierte ASICs waren früher weit verbreitet. Heutzutage ist es oft billiger und einfacher, mit "echten" Prozessoren zu bauen, auf denen ein eingebettetes Betriebssystem ohne ROM ausgeführt wird, als benutzerdefinierte ASICs zu entwerfen und herzustellen und hochspezialisierte Firmware für die Mikrocontroller zu schreiben. Das Hardwareproblem wird zu einem Softwareproblem, und die Komponenten sind standardisierter. Beides senkt die Kosten ... und öffnet die Tür für neue Funktionen.
Echo am
12

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.

Stefan
quelle
9

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.

Geselle Geek
quelle
Wann hatten Tastaturen jemals 68K-Mikroprozessoren? Und hatten Laufwerke wie das ST-225 wirklich Prozessoren?
Supercat
Nun, dies war eine alte, beschissene Packard-Klingeltastatur, die ich vor etwa vier bis fünf Jahren auseinander genommen hatte und die damals aus zweiter Hand war. War eine kleine Überraschung. Die ST 225 war älter als die IDE und brauchte daher einen separaten Controller, wie ich annehme. Ich würde es kaum für etwas halten, das man in den letzten 15 Jahren auf einem PC gefunden hätte
Journeyman Geek
Sind Sie sicher, dass es ein 68K im Vergleich zu einem 68HC05 war?
Supercat
Zu ST 225. MFM-Laufwerke sind so alt, dass sie die CPU des Hauptcomputers verwenden. Das Laufwerk selbst verfügt lediglich über ein Kabel mit dem Rohsignal von den Laufwerksköpfen, einem Signal zum Wechseln der Spuren, einem Signal für die Spurwechselrichtung (zu einer höheren Spur oder zu einer niedrigeren Spur) und einem Signal zum Anzeigen der Spur Null wurde erreicht. Die gesamte Verwaltung (einschließlich des Verfolgens fehlerhafter Sektoren, wie auf dem Festplattenetikett angegeben) erfolgte in einer Software auf dem Hauptcomputer.
Hennes
5

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?

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).

Slebetman
quelle
4

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.

shawty
quelle
+1 finde das eine nette weiterdenkende Antwort. Ich hätte gerne über die massive Parallalisierung der GPU in Bezug auf "1024 Kerne führen alle die gleichen Anweisungen zur gleichen Zeit aus" gelesen, um genau zu sein - aber auf jeden Fall gefällt mir Ihre Antwort :)
Stefan
1
Vielen Dank :-) Wenn Sie sich für die massive Parallelität von GPUs interessieren, sollten Sie im Ebook-Sortiment von Syncfusions free nach "CUDA Succintly" Ausschau halten. Es sollte in nicht allzu ferner Zukunft erscheinen und kann kostenlos heruntergeladen werden.
Shawty
4

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:

  1. 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.

  2. 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.

Superkatze
quelle
3

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).

Entspannt
quelle
2

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.

Rechnung
quelle
2

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.

Andy Dent
quelle
2

Was bedeutet es, wenn auf Festplatten ein Prozessor installiert ist?

Dies bedeutet, dass das Laufwerk eine kleine CPU hat. Im Allgemeinen verfügt jedes Gerät mit einer CPU über Firmware.

Wie funktioniert es und welchen Nutzen hat es?

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.

Ich bin überrascht, weil das von Neumann-Maschinenmodell keine Prozessoren auf Lager hat

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.

LawrenceC
quelle
2

---- 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

TardisGuy
quelle
Was Sie beschreiben, ist als Aufzugsalgorithmus bekannt . Durch die Befehlswarteschlange (z. B. NCQ von SATA) kann die CPU mehrere Befehle als Gruppe an das Laufwerk senden, sodass das Laufwerk die effizienteste Reihenfolge für die Ausführung festlegen kann. Ohne Befehlswarteschlangen muss die CPU warten, bis das Laufwerk jede Anforderung bearbeitet, bevor sie die nächste sendet, sodass das Laufwerk die Anforderungen in der Reihenfolge bearbeitet, in der sie von der CPU gesendet werden. Dies kann weniger effizient sein, da die CPU das interne physische Layout der Festplatte nicht kennt.
Wyzard
PIO ist jedoch etwas anderes. In diesem Modus muss die CPU Code ausführen, um die vom Laufwerk gelesenen Daten zu empfangen, was ineffizient ist. Es wird in der Regel von DMA abgelöst , bei dem das Laufwerk die Daten direkt im RAM speichert, während die CPU an anderen Dingen arbeitet.
Wyzard