Wo und wie wandelt ein Pc Code in digitale Signale um?
Meine Frage lautwt wie folgt: an welcher physischen Komponente wandelt ein Pc den geschriebenen Code in bloße, digitale Signale ( an, aus) um und wie geschieht dies? Anders gefragt, wie wird aus der semantischen Programmierung ein technischer Elektroimpuls. An irgendeiner Stelle muss ja schließlich aus der für den Menschen "lesbaren" Programm-Info ein elektrisches Signal produziert werden. Dies kann ja eigentlich nicht selbst durch einen Programmcode geschehen, da dieser ja ebenfalls dem selben Problem unterworfen ist.
5 Antworten
Das ist die logische Ebene, auf der die Hochsprache in Maschinensprache aufgelöst wird. Die einzelnen Befehle der Maschinensprache sind physikalisch fest in der CPU verdrahtet. Auch das Arbeitsmaterial wie z.B. Register oder Speicheradressen sind auf Maschinensprachenebene etwas schon real vorhandenes.
Einen einzelnen Wikipedia-Artikel gibt's dazu nicht, soweit ich weiß. Ich würde mir an deiner Stelle die Themen CPU, integrierte Schaltung (IC) und Transistor durchlesen und die Information sacken lassen. Dann hast du schon einen guten Einstieg.
Hi,
Die semantischen Sprachen oder Hochsprachen fassen Anweisungsblöcke zusammen. Du hast deinen Prozessor und der fest eingebaute logische 'Schlatkreise'. Wenn die CPU zb die Zeichenkette 0010 bekommt, dann führt die eine bestimmte Funktion aus. Damit Menschen einen Compi vernünftig programmieren können und keine endlose Zeichenkette von 0,1 eingeben müssen, wurden Zeichenketten die bestimmte Funktionen ausführen zusammengefasst und mit einem 'Codewort' (zb if else, wenn x dann y) versehen. Der compi weiß,. Wenn da ein if steht, dann heißt das eigentlich zb 010101. Der Compiler (https://de.wikipedia.org/wiki/Compiler) übersetzt dann die Wörter der Programmiersprache wieder zurück in maschienenlesbare Anweisungen.
Liebe Grüße
Es gibt dafür nicht EIN Bauteil.
Sogenannte Compiler-Programme rechnen den Code von Hochsprachen in Maschinencode um (früher oder später).
Dieses Umrechnen geschieht in der CPU. Dennoch sollte man dort nicht nach einem magischen Hardware-Klumpen suchen, denn da passiert auf der Ebene nicht die interessante Leistung (für die Compilierung). Sondern im Compilerprogramm selber.
Außerdem ist wichtig zu wissen:
Compilerprogramme machen oft mehr als stumpfes übersetzen. Compiler wie z.B. der C-Compiler sind unglaublich gut im optimieren. Der Haskell-Compiler z.B. auch. So werden z.B. aufwendige Rekursionen strukturell in gleichsame iterative Strukturen umgeformt.
Literatur:
David Goldberg: What Every Computer Scientist Should Know About Floating-Point
http://www.ti.informatik.uni-frankfurt.de/Lehre/TI2-SS2002/
http://www.jegerlehner.ch/intel/index.html (Intel Assembler 80x86 Code Table)
http://de.wikipedia.org/wiki/Mikroprozessoren_von_Intel (Liste aller Intel-Prozessoren)
(Diese Literaturangaben sind geklaut von https://www.ti.uni-bielefeld.de/html/people/moeller/ seiner Vorlesung)
Nun gut, aber der Compiler, so viel ich weiß, wandelt das ganze ja immer noch in eine Ar re Code um, der noch immer nicht einfach aus An und Aus besteht. Und an irgendeiner Stelle im Prozess muss es eine physische Komponente geben, die Code in elektrischen output umwandelt. Natürlich funktioniert das alles mit Strom, aber mich interessiert, wie ein geschriebener Befehl in eine elektrische Spannungsveränderung umgewalndelt wird. Dazu muss irgendwo dienentsprechende physische Einheit existieren.
es ist aber nicht Eine Einheit. Überflieg mal den jegerlehner Link und das hier:
Hallo,
da musst du erstmal geschichte vom Computer kennen, wie groß die ersten Rechner waren, woraus diese bestanden, und dann wie es immer kleiner wurde..Dann wirst du verstehen wie ein Programm in Signale gewandelt wird...
Die ersten Pc hatten aber keine semantischen Eingabemerhoden, so viel ich weiß, und liefen hauptsächlich mechanisch.
Super! "Lochkarten" sagt dir das was? Da sind schon die ersten Programme und Eingabemethoden..
ja und das was man als Programm schreibt, ist auch nur Digitale Eingabe sowas wie lochkarte, nur irgendwo auf einem Speicher und keine Pappe, und anhand dieser Logischen verknüpfung gibt es verschiedene Digitale Reaktionen im Computer..
Im Endeffekt, es ist dasselbe..
Nein. Die ersten PC im Sinne von "Personal Computer" hatten immer schon Tastatur und Bildschirm. Was du meinst sind die ersten Computer wie der Zuse Z3 oder der Eniac, deren Programme teilweise tatsächlich fest verdrahtet waren oder sogar die Rechenmaschinen von Blaise Pascal
https://de.wikipedia.org/wiki/Blaise_Pascal
die allerdings mechanisch und nciht elektrisch funktionierten.
Von hier aus
https://de.wikipedia.org/wiki/Assembler_(Informatik)
kannst du dich weiter nach unten hangeln.
Weiter gibt es den
http://www.visual6502.org/JSSim/
der einen der ersten Mikropozessoren, wie er im legendären Apple II, im PET, im VC20 gesteckt hat auf der Chip Ebene simuliert. Ich habe zuhause noch einen Elektor "Junior Computer", ein Einplatinen Computer mit Hexanzeige und Hextastatur, der auf dem 6502 basiert. Ich weiß aber nciht ob der noch funktioniert :-).
Ok, ich würde es gerne noch genauer wissen. Gibt es da zu einen wiki-artikel?