Was konvertiert Binärcode / Maschinencode in elektrische Signale und wie?

1977
dev gr

Ich habe viele Blogs und Posts durchlaufen, konnte aber nicht genau herausfinden, wie der Maschinencode in elektrische Signale umgewandelt wird?

Jedes Softwareprogramm wird zu maschinellem Code kompiliert, der aus vielen 1s und 0s besteht. 1 bedeutet hohe Spannung, z. B. 5 V und 0 bedeutet vergleichsweise niedrige Spannung, z. B. 0 V oder Masse. Welche Komponente versteht das. Ich habe 1 (Eins), also muss ich die Spannung auf 5 V erhöhen und für 0 (Null) muss ich dies tun auf niedrigere Spannung herunterfahren und wie funktioniert das?

-1
Suchen Sie nach einem Beispiel, wie ein trivialer Maschinencode von seinem gespeicherten Format in elektrische Aktivität in der CPU übersetzt wird und wie dies zu einem Ergebnis führt? fixer1234 vor 8 Jahren 0
Sie müssen viel mehr Zeit darauf verwenden, was CPUs tun (intern), wie sie Maschinencode (die eigentlichen Anweisungen) interpretieren, und wie David darauf hinweist, wie eine CPU aufgebaut ist ... Denken Sie an Milliarden von Transistoren für ein modernes System Computerprozessor ... Schauen Sie sich aber auch grundlegende Prozessoren wie PIC-Prozessoren an ... Kinnectus vor 8 Jahren 0
@ fixer1234 Ja das würde helfen. Bitte posten Sie den Link, wenn Sie welche haben. Vielen Dank. dev gr vor 8 Jahren 0

2 Antworten auf die Frage

1
David Schwartz

Es gibt keine solche Komponente oder könnte es auch sein. Einsen und Nullen sind rein theoretische Objekte, und es gibt keine Komponente, die theoretische Dinge in physikalische Effekte umwandelt. Physische Objekte können nur physische Effekte einer Art auf andere Arten physischer Effekte verursachen. 1 und 0 leben nur in den Köpfen der Menschen.

Sie können Computer auf einer abstrakten Ebene betrachten, indem Sie Einsen und Nullen manipulieren, oder Sie können sie auf einer physikalischen Ebene betrachten, die Spannungen und Ströme manipulieren. Dies sind jedoch zwei verschiedene Arten, dieselben Komponenten auf dieselbe Weise zu betrachten.

Einsen und Nullen sind echte Dinge, die in ein physisches Gerät eingespeist werden können, um in etwas anderes umgewandelt zu werden.

Sie stimmen zu, dass wir Code in einem Texteditor schreiben, wie dieser Code die Maschine beeinflusst? Ihr Code ist keine physische Sache, sondern die Maschine. Habe ich recht? dev gr vor 8 Jahren 0
Auch nach Ihren Änderungen bleibt meine Frage gleich. Wir müssen etwas haben, das die Maschine entsprechend dem Code, den wir schreiben, steuert. Was sind "gleiche Komponenten", und "wie"? dev gr vor 8 Jahren 0
Sie möchten durch diesen Blog gehen http://www.quora.com/How- genau-ist-die-Maschinencode-oder-Eine-programmiersprache-konvertiert-zu-bin-riert-und-wie- Sind diese Binärdateien, die als elektrische Signale übertragen werden, oder eher umgekehrt, so dass Sie verstehen, wonach ich suche. Vielen Dank. dev gr vor 8 Jahren 1
@devgr: Sieht so aus, als würde Ihre Frage mit Artem Boytsovs Quora-Beitrag beantwortet. Karan vor 8 Jahren 0
@devgr Der Code ist gleichzeitig eine physische und eine konzeptionelle Sache. Sie können es als Einsen und Nullen oder Buchstaben oder andere mathematische und konzeptionelle Symbole betrachten. Gleichzeitig gibt es eine physikalische Darstellung dieses Codes in Form von Spannungen und Strömen im Computer. Einer ist, wie wir Menschen über den anderen denken. David Schwartz vor 8 Jahren 0
@DavidSchwartz Ich möchte von logischen zu praktischen Dingen wechseln. Aber die Diskussion, die wir führen, ist rein logisch. Aber trotzdem danke. dev gr vor 8 Jahren 0
@devgr Es gibt keine Komponente, die das tut, weil logische Dinge keine physischen Objekte sind, sondern wie Menschen über physische Objekte denken. Jede Komponente kann physisch in Bezug auf das, was physisches Material ein- und ausgeht, und logisch in Bezug auf das, was das, was kommt, bedeutet, verstanden werden, was das, was ausgeht, bedeutet. David Schwartz vor 8 Jahren 0
@DavidSchwartz Manchmal führen logische Konstruktionen zum Entwurf physischer Komponenten und umgekehrt. Es muss eine Beziehung zwischen ihnen geben oder in präzisen Worten eine Schnittstelle zwischen ihnen, die die Dinge tatsächlich in Wirklichkeit verwandelt. dev gr vor 8 Jahren 0
@devgr Nein, es kann unmöglich eine solche Schnittstelle geben. Es gibt keine Komponente, die konzeptuelle Dinge aufnimmt und körperliche Dinge ausspuckt. Jede Komponente kann konzeptionell oder physikalisch betrachtet werden. Wir können uns beispielsweise vorstellen, dass Ihr Ohr Wörter und Musik aufnimmt oder Luftschwingungen aufnimmt. Es gibt beide Möglichkeiten, die Eingabe in Ihr Ohr zu beschreiben. David Schwartz vor 8 Jahren 2
@DavidSchwartz Das ist ein wirklich gutes Beispiel, ich möchte mich mit dem gleichen beschreiben. Der physikalische Eingang in Ihr Ohr sind die Luftschwingungen, die von einer anderen physikalischen Komponente, den Lautsprechern, erzeugt werden. Logischerweise können die Luftvibrationen für Sie Musik, Sprache usw. sein. Die MP3-Datei, die Sie in Ihrem Computer / Mobiltelefon haben, wird nun einer physischen Komponente zugewiesen, die Ihre MP3-Inhalte in analoge Tonsignale umwandelt. Sie haben zwei Dinge, eine MP3-Datei und einen Analog-Konverter, da MP3-Dateien keine physische Sache sind. Wer kommt also dazwischen? dev gr vor 8 Jahren 0
@devgr Die MP3-Datei ist eine logische Sache, die vom Anfang bis zum Ende existiert. Es ist weder eine Eingabe noch eine Ausgabe an oder von einer Komponente, sondern die Art und Weise, wie wir über die Informationen denken, die an verschiedenen Stellen unterschiedlich dargestellt werden. (Genauso wie "Wörter" oder "Musik") denken wir über den Luftdruck, der in Ihr Ohr geht, und über die bewussten Empfindungen, die Sie am Ende des Hörprozesses haben. David Schwartz vor 8 Jahren 0
Als Programmierer schreiben wir Software unter Verwendung einer beliebigen Sprache in einem Texteditor, ohne Schaltkreise zu erstellen. Wenn dieser Code kompiliert wird, können Sie diesen Code der Maschine so zuführen, dass er die erforderlichen Operationen mit physischen Komponenten wie Transistoren und Dioden usw. ausführt, die nur die Spannungspegel verstehen. Eine Komponente schaltet also die Spannungspegel entsprechend dem von Ihnen geschriebenen Code um, weshalb Sie die gewünschten Ergebnisse erhalten. Was ist das für eine Komponente? dev gr vor 8 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/24555/discussion-between-david-schwartz-and-dev-gr). David Schwartz vor 8 Jahren 0
0
Mokubai

Ihr Maschinencode wird überhaupt nicht in elektrische Signale "umgewandelt". Es ist ein Satz von elektrischen Signalen. Die Tatsache, dass Sie Zahlen und Buchstaben auf Ihrem Bildschirm sehen, ist irrelevant. All diese Daten sind einfach die Verarbeitung sehr genau angeordneter elektrischer Signale unter strengen Regeln.

Ihr Maschinencode wird durch Datenbytes, Mengen von Nullen und Einsen in einer Art Speichergerät dargestellt. Beim Lesen eines Bytes aus dem Speicher, bei dem es sich einfach um einen Satz elektrischer Signale handelt, wird der Prozessor so eingerichtet, dass er die nächste Charge elektrischer Signale verarbeitet, die er sehen wird. Dieser Vorgang wiederholt sich millionenfach und Sie sehen etwas auf dem Bildschirm.

Das Problem, das Sie haben, ist, dass Sie die Ergebnisse falsch lesen (ein Bild auf dem Bildschirm sehen) als Ergebnis einer letzten Konvertierungsphase. Dies ist jedoch nicht der Fall. Was Sie sehen, ist das Ergebnis einer massiven Anzahl von elektrischen Zustandsänderungen in einigen sehr komplexen Geräten.

Um einen visuellen Hinweis auf die tatsächlichen Vorgänge in einem Prozessor zu erhalten, empfehle ich einen Blick auf die Visual Simulation eines 6502-Prozessors

Die "Konvertierung" ist am nächsten, wenn Daten auf Speichereinheiten wie einer Festplatte geschrieben werden, wo sie magnetisch auf dem Plattenteller gespeichert werden. Auch dort wird es so aufbewahrt, dass es einfacher ist, es auf eine genaue elektrische Nachbildung des Originals wiederherzustellen.

Grundsätzlich besteht alles, was Sie auf Ihrem Bildschirm sehen, darin, dass Elektronen schnell bewegt werden. Die Tatsache, dass Ihr Gehirn Muster und Bilder "sehen" kann, hängt davon ab, wie wir diesen Elektronen befohlen haben, sich zu bewegen. Die Bilder sind das Produkt elektrischer Vorgänge, keine Umwandlung von einem in den anderen.

Das ist ganz nah, jetzt habe ich ein funktionierendes Bild im Kopf, danke. Der interessanteste Teil ist jedoch "Am nächsten bei der Konvertierung", wenn Daten auf Speichermedien wie Festplatten geschrieben werden, auf denen sie magnetisch auf dem Plattenteller gespeichert werden, obwohl sie so gespeichert werden, dass sie leichter wiederhergestellt werden können auf eine genaue elektrische Nachbildung des Originals. " Ich bin wirklich daran interessiert, in welcher Form die Daten gespeichert sind und wer diese Daten in elektrische Signale zurücksetzt. dev gr vor 8 Jahren 0
Ah, das ist jetzt eine ganz andere Frage ... http://www.explainthatstuff.com/harddrive.html Mokubai vor 8 Jahren 0
post oben beschreibt die Umwandlung magnetischer Signale in elektrische Signale im Falle einer Festplatte. Wenn Sie sagen, Compiler kompiliert ein Programm in Maschinensprache, was macht es eigentlich? Erzeugt es gleichwertige elektrische Signale? Ich glaube nein. dev gr vor 8 Jahren 0
Der Compiler generiert Daten, Daten werden in Speichergeräten gespeichert und es besteht eine logische Trennung zwischen dem, was Sie als Compiler sehen, und den elektrischen Vorgängen, die darunter ausgeführt werden. Der Compiler ist ein Datenkonstrukt auf einem rein elektrischen System. Dieses Konstrukt kann das elektrische System anweisen, Daten in einer bestimmten Reihenfolge zu erzeugen, die gespeichert und dann vom elektrischen System verarbeitet werden können. Sie müssen aus Ihrem Kopf herausholen, dass eine Umwandlung oder Erzeugung von Signalen erforderlich ist. Ein System ist auf dem anderen System aufgebaut und ist ein Merkmal des anderen Systems. Mokubai vor 8 Jahren 0