Lukasweb
18.02.2013, 18:35 |
Fragen bzgl. Computertechnik (Computertechnik) |
Hallo liebe Community,
ich habe einige Frage, was Computertechnik angeht, allerdings betrifft das auch stark die Digitaltechnik. Bei m Lesen verschiedener Artikel hier oder auf Wikipedia wird ja recht schnell klar, dass CPUs durch Schaltungen rechnen. Da sind mir aber einige Sachen nicht klar:
1. Strom läuft ja nur in Schaltkreisen. Wie wird dann der Strom in den nächsten Gatter/Schaltkreis weitergeleitet, falls die Lösung dieses Gatters true ist (also im ersten Gatter der Stromkreis geschlossen ist)?
2. Wie wird denn eine Eingabe (z.B. über die Tastatur) behandelt in der CPU? Hier muss ja eigentlich nichts gerechnet werden, wie wird das dann gehandhabt?
3. Wenn ich jetzt Maschinencode habe (z.B. 10011010010), dann kann ich damit ja etwas programmieren? Aber wie funktioniert denn das eigentlich auf der Schaltkreisebene? Irgendwie müssen ja diese Zustande in einen (oder mehrere) Schaltkreise übertragen werden. Außerdem bleibt ja auch hier wieder die Frage wie bei 1., dass ja bei vielen Vorgangen nicht gerechnet werden muss, z.B. bei der Anzeige von Hello World.
4. Und da wären wir schon beim nächsten, der Anzeige:
Werden da einfach Zustände an den Bildschirmspeicher weitergeleitet und der „weiß“ dann anhand dieser Zustande, was er anzeigen muss? Und wie funktioniert das mit dem „Wissen“. Gehen da die Zustände wieder durch AND/OR/XOR/usw.-Schaltkreise und am Ende wird ist dann der Pixel beleuchtet, bei dem die Schaltung geschlossen ist?
Ich weiß, dass die Antworten wohl sehr lang und kompliziert sein werden, deshalb könnt ihr auch einfach Lektüre schreiben, wo das genauer beleuchtet wird.
Im Grunde wären da auch noch mehr Sachen unklar, aber das würde jetzt zu weit gehen, außerdem wäre es teilweise schwierig, die Frage verständlich auszudrücken.
Gruß
Lukasweb |
Gerd
18.02.2013, 18:44
@ Lukasweb
|
Fragen bzgl. Computertechnik |
» Ich weiß, dass die Antworten wohl sehr lang und kompliziert sein werden,
» deshalb könnt ihr auch einfach Lektüre schreiben, wo das genauer beleuchtet
» wird.
Hallo,
Lektüre, wo das genauer beleuchtet wird
Ist das so richtig?
Gruß Gerd -- Ein Tröpfchen Öl von Zeit zu Zeit
trägt vieles bei zur Haltbarkeit!
I got 14 channels of shit in the TV.... Pink Floyd |
Lukasweb
18.02.2013, 18:49
@ Gerd
|
Fragen bzgl. Computertechnik |
» » Ich weiß, dass die Antworten wohl sehr lang und kompliziert sein werden,
» » deshalb könnt ihr auch einfach Lektüre schreiben, wo das genauer
» beleuchtet
» » wird.
»
»
» Hallo,
»
»
» Lektüre, wo das genauer beleuchtet wird
»
»
»
» Ist das so richtig?
»
» Gruß Gerd
Ich hab etwas schnell getippt, deswegen macht der Satz so keinen Sinn.
Richtig ist:
..., deshalb könnt ihr auch einfach eine Lektüre posten, die das genauer beleuchtet.
Das könnte z.B. eine Website oder ein Buch sein. |
gast
18.02.2013, 19:12
@ Lukasweb
|
Fragen bzgl. Computertechnik |
»
» Ich hab etwas schnell getippt, deswegen macht der Satz so keinen Sinn.
» Richtig ist:
» ..., deshalb könnt ihr auch einfach eine Lektüre posten, die das genauer
» beleuchtet.
»
» Das könnte z.B. eine Website oder ein Buch sein.
http://www.mikrocontroller.net/topic/226606
und das dann mal 10.000.000 und du hast einen PC
aber ja du hast recht - ganz im Detail betrachtet ist alles 0 oder 1 |
Thomas Kuster

19.02.2013, 09:52
@ gast
|
Fragen bzgl. Computertechnik |
Hallo gast
» aber ja du hast recht - ganz im Detail betrachtet ist alles 0 oder 1
und den Wechsel von 0 zu 1 oder umgekehrt betrachtet ist alles wieder analog ! |
mse2
19.02.2013, 15:34
@ Thomas Kuster
|
Fragen bzgl. Computertechnik |
» Hallo gast
»
» » aber ja du hast recht - ganz im Detail betrachtet ist alles 0 oder 1
»
» und den Wechsel von 0 zu 1 oder umgekehrt betrachtet ist alles wieder
» analog !
Wenn man in einem modernen, schnellen Rechnersystem das Oszillogramm eines 'digitalen' Signals betrachtet, wird einem klar, wie analog das in Wahrheit ist... |
xy

19.02.2013, 15:36
@ mse2
|
Fragen bzgl. Computertechnik |
» Wenn man in einem modernen, schnellen Rechnersystem das Oszillogramm eines
» 'digitalen' Signals betrachtet, wird einem klar, wie analog das in Wahrheit
» ist...
Das hat man schon zu Zeiten der ersten Mikroprozessoren bestens sehen können, und von 'schnell' wird man da ehr nicht reden. |
hws

59425 Unna, 19.02.2013, 16:24
@ Lukasweb
|
Fragen bzgl. Computertechnik |
» 1. Strom läuft ja nur in Schaltkreisen. Wie wird dann der Strom in den
» nächsten Gatter/Schaltkreis weitergeleitet, falls die Lösung dieses
» Gatters true ist (also im ersten Gatter der Stromkreis geschlossen ist)?
Grundsätzliches Verständnisproblem: es läuft in einem Baustein zwar (auch) ein Strom, aber der erzeugt am Ausgang eine Spannung (oder auch nicht) Und diese Spannung ist das Eingangssignal der nächsten Stufe.
» 2. Wie wird denn eine Eingabe (z.B. über die Tastatur) behandelt in der
» CPU? Hier muss ja eigentlich nichts gerechnet werden, wie wird das dann
» gehandhabt?
Es muss z.B. geprüft werden, ob die Eingabe schon fertig ist <ENTER> oder die letzte(n) Zeichen gelöscht werden.
Und dann muss die Eingabe in eine Variable abgelegt werden. Evtl auch in eine Zahl konvertiert....
Schonmal ein Programm geschrieben? Input A$ / Read A$ oder ähnlich?
» 3. Wenn ich jetzt Maschinencode habe (z.B. 10011010010), dann kann ich
» damit ja etwas programmieren? Aber wie funktioniert denn das eigentlich auf
» der Schaltkreisebene? Irgendwie müssen ja diese Zustande in einen (oder
» mehrere) Schaltkreise übertragen werden.
Der Befehl in Maschinencode wird interpretiert und entsprechende Register / Akku / Speicherzellen gefüllt und verknüpft.
» Außerdem bleibt ja auch hier
» wieder die Frage wie bei 1., dass ja bei vielen Vorgangen nicht gerechnet
» werden muss, z.B. bei der Anzeige von Hello World.
Schon mal den Maschinncode eines Hello World-Programmes angesehen? du wirst dich wundern!
» 4. Und da wären wir schon beim nächsten, der Anzeige:
» Werden da einfach Zustände an den Bildschirmspeicher weitergeleitet und der
» „weiß“ dann anhand dieser Zustande, was er anzeigen muss? Und wie
» funktioniert das mit dem „Wissen“. Gehen da die Zustände wieder durch
» AND/OR/XOR/usw.-Schaltkreise und am Ende wird ist dann der Pixel
» beleuchtet, bei dem die Schaltung geschlossen ist?
Die CPU berechnet, welches Pixel an welcher Stelle leuchten muss. Das sind wieder lange programmstücke in Maschinencode. Teilweise wird die Berechnung auch in die Grafikkarte verlegt. Die ist inzwischen genauso eine CPU, wie auf der Hauptplatine mit eigenem MB / GB großem Speicher.
Schreib dochmal ein einfaches Programm und schau dir den erzeugten Maschinencode oder Assemblercode an. (Assembler = besser lesbarer Maschinencode)
Der WDR Computerclub hat mal einen "Paperrechner" herausgebracht, mit dem man ein Programm simulieren konnte. Vielleicht mal suchen.
hws |
Lukasweb
19.02.2013, 17:19
@ hws
|
Fragen bzgl. Computertechnik |
Vielen Dank für die Antwort.
Aber du hast mich wahrscheinlich etwas falsch verstanden, viele Sachen waren mir so schon klar, ich kann mir aber nicht vorstellen, wie das auf Schaltkreisebene funktioniert.
Evtl. habe ich mir da auch zu viel vorgenommen und es ist sehr schwer, dass sich im Detail vorzustellen. |
Gerd
19.02.2013, 18:00 (editiert von Gerd am 19.02.2013 um 18:12)
@ hws
|
Fragen bzgl. Computertechnik |
» Grundsätzliches Verständnisproblem: es läuft in einem Baustein zwar (auch)
» ein Strom, aber der erzeugt am Ausgang eine Spannung (oder auch nicht) Und
» diese Spannung ist das Eingangssignal der nächsten Stufe.
Da wird Spannung erzeugt? Echt? Woraus denn?
» Der Befehl in Maschinencode wird interpretiert und entsprechende Register /
» Akku / Speicherzellen gefüllt und verknüpft.
Künstliche Intelligenz? Oder wie? Maschinencode braucht nicht interpretiert zu werden, er ist bereits welcher!
» Assembler = besser lesbarer
» Maschinencode
Ach, und warum muß man dann immer erst den Assembler laufen lassen, wenn der Assemblertext bereits Maschinencode ist?
Ich finde, Du solltest weniger ungenaue und idealisierte Erklärungsversuche unternehmen. Lieber etwas weniger schreiben, aber dafür genauer.
Es gibt Assembler und es gibt Interpreter. Und die nehmen sich nicht gegenseitig ihre Arbeit weg. Beiden gemeinsam ist, daß ihre Mnemonik eben keine Maschinensprache ist. Überleg mal, warum man in Assembler direkt Maschinenbefehle einbinden kann. -- Ein Tröpfchen Öl von Zeit zu Zeit
trägt vieles bei zur Haltbarkeit!
I got 14 channels of shit in the TV.... Pink Floyd |
Gerd
19.02.2013, 18:22 (editiert von Gerd am 19.02.2013 um 19:28)
@ Lukasweb
|
Fragen bzgl. Computertechnik |
Hallo,
wenn Du das alles wirklich wissen willst, dann kann ich Dir nur empfehlen, Dir mal etwas Theorie anzutun:
http://www.z1013.mrboot.de/DE/handbuch_1.html
wäre meine Empfehlung. Es gibt bestimmt jede Menge Seiten im www, welche Dir hilfreich wein können. Du mußt sie nur finden.
Wichtig ist, daß du das duale Zahlensystem kennst. Dann kannst Du auch nachvollziehen, wie man digital Zahlenräume definiert und damit rechnet. Das geht dann wirklich mit Null und Eins. Und wenn Du 4 bit dual rechnen kannst, dann wage dich vor zum Hexadezimal-System. 8 oder 16 bit sind dann auch kein Problemm mehr. Und versuche, dabei nicht über das Zweier-Komplement zu stolpern
Gruß Gerd
PS: hab gerade mal den verlinkten Text etwas durchstöbert. Das paßt ganz gut und sollte Dir helfen. Wenn da im Text "U880" steht, dann ersetze das gedanklich einfach durch "Z80". -- Ein Tröpfchen Öl von Zeit zu Zeit
trägt vieles bei zur Haltbarkeit!
I got 14 channels of shit in the TV.... Pink Floyd |
hws

59425 Unna, 19.02.2013, 18:48
@ Gerd
|
Fragen bzgl. Computertechnik |
» Da wird Spannung erzeugt? Echt? Woraus denn?
Aus dem Strom, der durch einen Widerstand fließt. Oder kürzer: aus der Versorgungsspannung
» » Der Befehl in Maschinencode wird interpretiert und entsprechende Register /
» » Akku / Speicherzellen gefüllt und verknüpft.
»
» Künstliche Intelligenz? Oder wie? Maschinencode braucht nicht interpretiert
» zu werden, er ist bereits welcher!
Aber auf Prozessorebene löst jeder Maschinencode eine Reihe von Schritten aus. "Add rd, rr": Sourceregister muß geladen werden, Destination Register dazuaddiert und das Ergebnis wieder im Destinationregister gespeichert.
» » Assembler = besser lesbarer Maschinencode
» Ach, und warum muß man dann immer erst den Assembler laufen lassen, wenn
» der Assemblertext bereits Maschinencode ist?
Ein Assemblerbefeht entspricht einem Maschinencode.
Kann man sogar per Hand übersetzen.
Der Assembler Übersetzt den für Menschen einfacher lesbaren Befehl "Add rd, rr" in ein entsprechendes 8Bit_muster. (immer dasselbe bei denselben Registern)
» Es gibt Assembler und es gibt Interpreter.
Dann fang ich auch mal mit Korinthenkackern an: Compiler hast du vergessen
» Beiden gemeinsam ist, daß ihre Mnemonik eben keine Maschinensprache ist.
Und Assembler lässt sich 1:1 in Maschinensprache umsetzen.
» Überleg mal, warum man in Assembler per inline
» direkt Maschinenbefehle einbinden kann.
Hä ? Beispiel? Du verwechselst nicht etwa Compiler und Assembler?
Aber erklär du ihm halbwegs Dau-sicher, wie ein Maschinencode z.B. das "Add rd, rr" in einzelne Schritte auf Gatterebene umgesetzt wird.
Bei dem ganz alten SC/MP von Elektor hatte jeder Befehl 12 Takte und man konnte auf dem Bus mitverfolgen, welche Register und Speicherstellen gerade angesprochen wurden. Und diese 12 Takte wurden von einem Microprogramm festgelegt, welches bei dem Maschinenbefehl ausgeführt wurde. (Maschinenbefehl wurde "interpretiert" in entsprechende Gatteraktivierungen umgesetzt)
Passiert heute noch ähnlich, allerdings nicht mehr so sichtbar.
hws |
Grantler
19.02.2013, 19:09
@ hws
|
Fragen bzgl. Computertechnik |
http://de.wikipedia.org/wiki/Mikroprogrammierung |
hws

59425 Unna, 19.02.2013, 19:14
@ Grantler
|
Danke .. |
für die Unterstützung
» http://de.wikipedia.org/wiki/Mikroprogrammierung
hws |
Grantler
19.02.2013, 19:15
@ hws
|
Danke .. |
Bitte gern geschehen  |
Gerd
19.02.2013, 19:22 (editiert von Gerd am 19.02.2013 um 19:22)
@ hws
|
Fragen bzgl. Computertechnik |
» » Da wird Spannung erzeugt? Echt? Woraus denn?
»
» Aus dem Strom, der durch einen Widerstand fließt. Oder kürzer: aus der
» Versorgungsspannung
Ach?!? Also doch Strom?
»
» » » Der Befehl in Maschinencode wird interpretiert und entsprechende
» Register /
» » » Akku / Speicherzellen gefüllt und verknüpft.
» »
» » Künstliche Intelligenz? Oder wie? Maschinencode braucht nicht
» interpretiert
» » zu werden, er ist bereits welcher!
»
» Aber auf Prozessorebene löst jeder Maschinencode eine Reihe von Schritten
» aus. "Add rd, rr": Sourceregister muß geladen werden, Destination Register
» dazuaddiert und das Ergebnis wieder im Destinationregister gespeichert.
»
Schön und gut. Aber das heißt mit anderen Worten, daß Assembler eben nicht Maschinencode ist, sondern erst in einen solchen umgewandelt werden muß.
» » » Assembler = besser lesbarer Maschinencode
»
» » Ach, und warum muß man dann immer erst den Assembler laufen lassen, wenn
» » der Assemblertext bereits Maschinencode ist?
»
» Ein Assemblerbefeht entspricht einem Maschinencode.
» Kann man sogar per Hand übersetzen.
Warum muß ich einen Maschinencode, den Assemblercode Deiner Aussage nach darstellt, übersetzten?
Das ist ein recht untauglicher Rechtfertigungsversuch Deinerseits.
»
» Der Assembler Übersetzt den für Menschen einfacher lesbaren Befehl "Add rd,
» rr" in ein entsprechendes 8Bit_muster. (immer dasselbe bei denselben
» Registern)
»
Richtig. Und damit ist auch klar, daß Assembler eben kein Maschinencode ist, sondern nur eine Beschreibung. Und erst assembliert/compiliert werden muß, um daraus Maschinencode zu erzeugem. Genau das meinte ich mit meiner Kritik der "vereinfachenden Verharmlosung und Verfälschung von Zusammenhängen".
» » Es gibt Assembler und es gibt Interpreter.
»
» Dann fang ich auch mal mit Korinthenkackern an: Compiler hast du vergessen
Ach?!? Und kannst Du mir mal genau den Unterschied zwischen Assembler und Compiler nennen? Es ist völlig gleich, ob ich die Umwandlung einer Assembler-Mnemonik in Maschinencode Assemblieren oder Compilieren nenne. Der allgemeinere Ausdruck für diesen Vorgang heißt compilieren, besagt also nichts über die verwendete Sprache. Der Begriff "Assemblieren" macht hingegen deutlich, daß nicht eine Hochsprache verwendet wurde, sondern maschinennaher Assemblercode.
» Und Assembler lässt sich 1:1 in Maschinensprache umsetzen.
Na so was! Wer hätte das gedacht!
»
» » Überleg mal, warum man in Assembler per inline
» » direkt Maschinenbefehle einbinden kann.
»
» Hä ? Beispiel? Du verwechselst nicht etwa Compiler und Assembler?
»
Nö, lediglich die Sprache
inline ist die entsprechende pascal-Anweisung, aber auch der Assembler konnte das. Hab nach gut 20 Jahren einfach vergessen, wie das genau hieß.
» Aber erklär du ihm halbwegs Dau-sicher, wie ein Maschinencode z.B. das "Add
» rd, rr" in einzelne Schritte auf Gatterebene umgesetzt wird.
Ich kenn nur Z80, da gibts kein "rd, rr"
» (Maschinenbefehl wurde "interpretiert" in entsprechende Gatteraktivierungen
» umgesetzt)
Ein Interpreter ist für mich ein Programm, welches mnemonisch verschlüsselte Befehle zur Laufzeit jedesmal neu in Maschinencode übersetzt und dann dem µPC zum Fraß vorwirft. Im Gegensatz zum Maschinencode im Programmspeicher, welcher einfach abgearbeitet wird. -- Ein Tröpfchen Öl von Zeit zu Zeit
trägt vieles bei zur Haltbarkeit!
I got 14 channels of shit in the TV.... Pink Floyd |