RUclips sollte mehr von solchen Beiträgen haben. Du hast dir sehr viel Arbeit und Gedanken gemacht ein sehr komplexes Thema anschaulich darzustellen und zu erklären. Vielen Dank für diesen tollen Beitrag. Immer weiter so. Der war richtig Klasse.
Lieber Herr Gedat, ich möchte Ihnen mitteilen, dass der Kauf Ihres Java-Trainings eine meiner besten Investitionen war. Dank Ihres Kurses habe ich mein Studium mit Bravour gemeistert. Sogar Doktoranden waren beeindruckt, wie klar und deutlich ich die Konzepte vermitteln konnte, die ich durch Ihr Training erlernt habe. Es wäre großartig, wenn Sie ein weiteres Training entwickeln könnten. Ihre herausragende didaktische Fähigkeit, komplexe Themen verständlich zu machen, wäre besonders wertvoll für Kurse über maschinelles Lernen, neuronale Netze und Transformer-Modelle.
Hallo, es freut mich sehr zu erfahren, dass ich einen positiven Beitrag zum Verständis der Programmierung leisten konnte. Ich überlege mir, den Kurs auf RUclips hochzuladen, damit auch andere davon profitieren können. An dieser Stelle auch ein Dank an Kathy Sierra, durch deren Bücher ich viel gelernt habe über Java und Didaktik. Viel Spaß und Erfolg weiterhin!
Ja gerne, freut mich, dass es geholfen hat! Der Film ist Teil des Java Basis Seminars und soll beim Einstieg zum Programmieren helfen. Der ganze Video-Kurs ist so aufgebaut, alles wird mit Animationen erklärt: www.java-basics.de
Vielen Dank für das Feedback!👍🏼 Solche Kommentare ermutigen mich dazu, mit dem Produzieren solcher Videos weiterzumachen. Freut mich, dass ich ihnen helfen konnte.🤓👍🏼
Echt wahnsinnig gutes Video, sowas findet man leider nur allzu selten. Super erklärt, tolle Visualisierung, langsam und deutlich gesprochen und vorallem anhand eines einfachen Beispiels erläutert. Danke vielmals👍
vielen Dank für das wertvolle Feedback. solche Filme zu erzeugen, erfordert einen großen Aufwand, solche Kommentare wie der ihre, motivieren mich dazu, weitere ähnliche lernvideos zu produzieren.
Sehr gut geeignet, um eine Vorstellung zu bekommen, wie die grundsätzliche Funktionsweise eines Prozessors ist. Da kann man gut drauf aufbauen. Vielen Dank!
Gern, wenn man technische Prozesse mit Hilfe von Animationen visualisiert, kann das sehr hilfreich sein. Kostet aber viel Mühe und Zeit. Wenn es genug Leute interessiert, mache ich neue Filme. Deshalb: liken, abonnieren, kommentieren!
Dieses Video wurde von unserem Lehrer als Resource für seinen Unterricht verwendet. WIr verwenden zwar ein Programm, dass nur ähnliche Befehle benutzt, aber dennoch ist die Erklärung hier hilfreich.
Das Video ist mit Abstand das beste Erklärungsvideo zum Thema CPU. Ich habe mir viele Videos dazu angeschaut, doch ich habe es mit dem hier erst richtig verstehen können.
haben gestern in informatik den von-neumann-zyklus gelernt und habe nix verstanden. die anschauliche und detaillierte darstellung hier im video hat aber echt gut geholfen. :) dankeschön
ich mach im Moment ein Lehrgang zum Industriemeister Elektotechnik. Da gibt es auch ein Modul welches den Unterschied zwischen Hochsprache und Assembler behandelt. Durch dieses Video bekommt man auch eine Ahnung davon, was für Rechenmonster die heutigen Prozessoren eigentlich sind. Was ich noch echt super finde ist die Geschwindigkeit mit der verständlich erklärt wird. Viele Videos gehen erstmal mit 3 Minuten unwichtiges Geschwafel los.
Danke für das Feedback. Gut, dass das Tempo passt. Ich bemühe mich, gleich zur Sache zu kommen und das Thema in der passenden Geschwindigkeit verständlich zu erklären. Freut mich, dass das Video für Sie von Nutzen war.
ja, das Prinzip ist seit der Erfindung des Computers immer noch das gleiche. freut mich, wenn es mir gelungen ist, das Prinzip einigermaßen verständlich darzustellen. danke für das Feedback.
Sehr gute Erklärung und in einer Tiefe, wie ich sie mir von vielen meiner Dozenten wünsche! Was mich aber schon sehr lange nicht los lässt, das ist der elektrotechnische Aspekt eines Prozessors. Also wie finden die Befehle LOAD und ADD beispielsweise elektrotechnisch statt? Dass das ganze mit Gattern und Flip-Flops gemacht wird, das ist mir klar. Aber wie muss das ganze verschaltet sein, damit eine Eingabe einer bestimmten Bitfolge, z.B. eines Befehls, genau zu dem gewünschten Effekt führt? Und wie viel Arbeit muss dahinter stecken um einen Schaltplan für sowas zu entwickeln? Bei Intel werden Milliarden an Transistoren auf kleinster Fläche verschalten. Sehr beeindruckend auf jeden Fall, die ganze Rechnertechnik! Entschuldigung für den kleinen "Abschweifer" und danke für's Lesen! :)
Hallo, sorry für die späte Antwort, hatte vergessen auf den Kommentar zu antworten. Zu dem Thema Gatter und Flip-Flops: Eigentlich unterrichte ich normalerweise nur Programmiersprachen, ich habe allerding vor vielen Jahren in einer Akademie in München einige Spezialkurse zu genau dem Thema gehalten. Dort haben wir tagelang auf der Tafel ausgehend vom Transistor, ungetaktete und getaktete Flipflops, Halb-Addierer, Volladdierer etc. zusammengestellt. Dabei hat sich das Buch "Was ist Informatik?" von Peter Rechenberg als sehr hilfreiche Lektüre herausgestellt. Der technische Teil des Computers wird dort sehr verständlich erklärt, vor allem für Einsteiger in die Thematik.
Zitat: "Also wie finden die Befehle LOAD und ADD beispielsweise elektrotechnisch statt? Dass das ganze mit Gattern und Flip-Flops gemacht wird, das ist mir klar. Aber wie muss das ganze verschaltet sein, damit eine Eingabe einer bestimmten Bitfolge, z.B. eines Befehls, genau zu dem gewünschten Effekt führt?" Hast Du schon diese Reihe gesehen: ruclips.net/video/xyusZ7NoNEk/видео.html Das beantwortet schon einiges. Vielleicht nicht direkt deine Frage, zeigt aber, wie man Aufgaben durch binäre Schaltungen löst und alles im Griff behält.
Danke für das Video. Sehr gut erklärt. Jedoch hätte ich eine Frage bzw einen Einwand? Sie zeigen in Ihrem Video, dass die Werte nach dem Load direkt in den Akkumulator wandern. Soweit mir bekannt ist, werden die Werte nach einem Load in die Hilfsregister der ALU geladen und nach der Berechnung , das Ergebnis in den Akkumulator gelegt bzw. bei den neuren Prozessoren in ein Hilfsregister und dann direkt in den Arbeitsspeicher. Habe ich das ggf. falsch verstanden ? Oder einen Denkfehler ? Über eine Rückmledung würde ich mich sehr freuen.
Hallo, danke für das Lob. freut mich dass ich Ihnen helfen konnte! Zu ihrer Frage: das Video ist Teil meines Java Basis Seminars. Es soll den Kursteilnehmern das nötige Verständnis für die Prozesse der Informationsverarbeitung auf Hardware Ebene vermitteln, weil das beim Lernen einer Programmiersprache sehr hilfreich ist. Das Beispiel ist also stark vereinfacht und soll nur das Prinzip verdeutlichen. Am Anfang des Videos habe ich darauf hingewiesen. Technische Details in unterschiedlichen Prozessorarchitekturen wurden absichtlich weggelassen. Viele Grüße Boris
Gutes Video! Warum aber werden die 2 und die 3 zwischendruch in den Arbeitsspeicher geladen und wieder rausgeholt? Könnte man sie nicht direkt im Akkumulator addieren?
Das ist wirklich eine gute Frage! Ja, Sie haben recht, das Erzeugen der Variablen für die Operanden könnte man sich in diesem Fall sparen. Man könnte erst die 2 in den Prozessor laden und dann gleich die 3 hinzuaddieren. Der Film ist aus meinem Java-Basis-Kurs und soll zeigen, was auf der Hardware abläuft, wenn man in der Programmierung eine Variable erzeugt. Deshalb habe ich in dem Beispiel den Operanden großzügigerweise auch Variablen im RAM verpasst. Der Vergleich zwischen Quellcode und Maschinencode sieht man übrigens im Teil 2 dieses Films "Was ist eine Variable? Vom Maschinencode zum Quellcode" ruclips.net/video/EzinJGlBhq0/видео.html
Gutes Video! Danke! In meinen Unterlagen/Büchern steht jedoch, dass der Program Counter / Befehlszähler VOR dem Ausführen des Befehls erhöht wird. Hier geschieht es NACH dem Ausführen des Befehls. Ich verstehe den Unterschied nicht ganz.
Gerne! In dem Beispiel hier im Film wird auch vorher hoch gezählt nur nicht beim ersten Mal, weil der Befehlszähler schon auf 0 steht, was der Speicheradresse des ersten Befehls entspricht. Allerdings handelt es sich bei dem Film - wie im Film gesagt - um ein extrem vereinfachtes Model, das das Prinzip der Befehlsverarbeitung erklären soll. Echte Prozessor-Architekturen sind natürlich um einiges komplexer. Was Sie in ihren Unterlagen gelesen haben, weisst auf ein Verfahren hin, dass in den meisten Architekturen verwendet wird. Es gibt dort zusätzlich zum Befehltszähler meist noch noch weitere Register: im CIR (current instruction register) wird der Binärcode des aktuellen Befehls gespeichert, im MAR (memory adress register) befindet sich die aktuelle Memory-Adresse, die gerade abgespeichert wird, und die Daten, die sich an der Memory Adresse befinden, werden in ein sog. MDR (memory data register) Register geladen. Der Befehlszähler wird üblicherweise PC (prozess counter) genannt. Am Anfang steht im PC, die Adresse des als nächstes auszuführenden Befehls. Diese Adresse wird als dann ins MAR Register kopiert. Erst jetzt wird der Speicherinhalt des Befehls in das MDR Register und von dort anschliessend in das CIR Register geladen. Jetzt wird der PC Befehlszähler hochgezählt, noch bevor der Befehl ausgeführt wurde. D.h. im Befehlszähler befindet sich tatsächlich der als nächstes auszuführende Befehl. Das ist möglich, weil es die weiteren drei Register CIR, MAR und MDR gibt, die die aktuelle Adresse und den Inhalt der Speicheradresse aufnehmen. In meinem Film wurden diese Register zur Vereinfachung weggelassen, weil sie nur verwirren würden und zum Verstehen des Prinzips nicht notwendig sind. Wen es genauer interessiert, hier habe ich eine Erklärung auf englisch mit visueller Darstellung gefunden: ruclips.net/video/jFDMZpkUWCw/видео.html (ab Minute 2 ein halb ungefähr)
Vielen Dank für das Video. Ich habe eine *Frage* gibt es einen ganz ganz basalen Computer bzw. Prozessor in der Technikgeschichte, an dem man das einmal analog nachvollziehen kann? Viele Grüße und danke im Voraus
danke. das ist übrigens Absicht dass der zwischenspeicher und weitere Details des Prozesses nicht vorgestellt wurden, weil dieses lernvideo absichtlich extrem vereinfacht wurde um nur das Prinzip der programmausführung auf Maschinen Ebene darzustellen. das Video kommt aus meinem großen Java Kurs. es soll den Studenten lediglich nur die Punkte der Maschinen Ausführung verdeutlichen, die sie zum Verständnis beim lernen der Programmiersprache benötigen.
natürlich könnte man auch ein Video machen, das intensiver auf die Details eingeht, wenn genügend Interesse für so ein Video wäre, bitte in die Kommentare schreiben.
Das ist wirklich toll gemacht. Ich hätte da eine Frage. Wie viele Takte benötigt die CPU für unser Beispielprogramm insgesamt? Kann man erst einmal davon ausgehen, dass wenn immer der Befehlszähler hochgezählt wird, das einem Takt entspricht? Ich versuche momentan den Zusammenhang zwischen Instruktionen und CPU Takt zu verstehen.
Die tatsächliche Anzahl der Takte kann man anhand dieses Beispiel-Films nicht berechnen, da dies - wie im Film gesagt - eine stark vereinfachte Darstellung ist, die das generelle Prinzip, wie der Prozessor arbeitet, verdeutlichen soll. Die tatsächlichen Schritte sind unterschiedlich je nach Prozessor-Architektur und Befehlssatz. Es gibt unterschiedliche Register zum Speichern von Zwischen-Werten, der aktuellen und nächsten Befehlsadresse, der aktuellen Adresse, mit der lesend bzw. schreibend auf den Arbeitsspeicher zugegriffen werden kann, etc. Zum tieferen Einstieg, wie der Prozessor, Befehle einliest, dekodiert und ausführt, kann ich folgenden Film empfehlen (ist auch vereinfacht, zeigt aber mehr Prozessor-Bausteine in Aktion): ruclips.net/video/jFDMZpkUWCw/видео.html
@@BorisGedat Vielen Dank für die Antwort. Ich werde es mir anschauen! Laut meinen bisherigen Recherchen kann man das tatsächlich nicht sagen. Es hängt von der Prozessor-Architektur, dem Bussystem (Protokolle, Treiber) und von der Implementierung der Befehlssätze ab. Das ist wohl das Interessante dabei, aber auch das schwere :) Die einzelnen Befehle können sehr unterschiedlich sein z.B. - Befehle für Operationen mit einem Register - Befehle mit einem Register und einer abgelegten Konstanten - Befehle mit einem Register und einer Speicherstelle im Datenspeicher etc.
Ich bezweifle das der Prozessor für jeden Schritt den Arbeitsspeicher heranzieht, da dieser Zugriff um die 100 CPU-Takte andauert.^^ Real werden die Operanden wie das Ergebnis in CPU internen Registern abgespeichert. Diese sind um ein vielfaches schneller. Und trotzdem kriegen wir nur anhand Pipelining und Superskalarität im besten Fall eine Operation pro Takt hin.^^ Die Daten die man in die Register lädt befinden sich im ideal Fall schon im Cache, ansonsten dauert der Zugriff für den ersten Operanden tatsächlich 100 CPUT-Takte.^^
ich habe im Video darauf hingewiesen dass es sich hier um eine stark vereinfachte Darstellung handelt, die dem Zweck dient, im Rahmen meines Java-Kurses den Kurs Teilnehmern die wichtigsten Prinzipien der Arbeitsschritte der CPU darzustellen, die zum Verständnis des Programmierens notwendig sind. Die tatsächliche Implementierung auf Hardware Ebene ist, wie sie richtig darstellen, natürlich viel komplexer.
Echt super Ihre Serie, aber da habe ich als Anfänger mal ne Frage: Wenn ich im dualem System Load # 8554330 in Binär darstellen möchte auf Speicherplatz 0 - wie sieht die 8stellige Zahlenreihe dann aus? Wenn 001 für "Load" schon reserviert ist, danach die 1 für "Zahl" - sind nur noch 4 Stellen übrig: Höchstmögliche Zahl: 30. Wie kann ich also meine obige Zahl auf Speicherplatz 0 laden? LG
hallo, freut mich, dass ihnen meine Serie gefällt! neue Auflage des Java Kurses wahrscheinlich bald auf udemy. die Bit breite wurde hier künstlich verkürzt, damit es besser in der Animation dargestellt werden kann. normalerweise sind es je nach System 32 oder 64 Bit. damit lassen sich dann genug Adressen ansprechen.
Hallo Boris Gedat ich hätte da mal ein paar Fragen an dich, Diese dinge sind mir unklar und ich dachte du weißt das vieleicht, Werden diese Befehle und Daten dann über das Bus Interface zwischen CPU und Arbeitsspeicher hin und her gesendet? Ist der Akkumulator sozusagen eine Zwischenspeicherstelle wo die erhaltenen Daten zwischengespeichert werden bis ein befehl kommt der befiehlt das die Daten oder die zahl wieder verwendet werden muss also so eine Art interner speicher? Und ist die Arithmetisch Logische Einheit das Rechenwerk? Wäre diese Vereinfachte Darstellung ein 8-bit system? und noch eine Frage, Sind das Befehlsregister,der Befehlszähler und der Befehlsdecoder zusammen das Befehlswerk? Ich würde mich sehr über eine Antwort Freuen Mit freundlichen grüßen DenalionLP
Hallo, das Video ist extrem vereinfacht, um das Prinzip, wie der Rechner arbeitet, zu veranschaulichen. Zu den Fragen: - Daten werden über ein Bus-System weitergeleitet. - es gibt viele unterschiedliche Register, wo Daten zwischengespeichert werden, den Accumulator könnte man auch als Speicher verstehen, allerdings ein Speicher, der den Inhalt verändert sobald sich der Wert akkumuliert - ALU ist Rechenwerk - 8-bit System, ja - Befehlsregister,der Befehlszähler und der Befehlsdecoder könnte man als Befehlswerk bezeichnen
Mit einem “Thread” (engl. Faden) meint man normalerweise eine zusammengehörige Anweisungsfolge eines Programms. Man kann auf ein und demselben Prozessor zwei verschiedene Programms Threads quasi parallel ablaufen lassen. Das nennt man dann Multithreading. Die Anweisungen der beiden Threads werden dann abwechselnd ausgeführt für den Anwender schaut das so aus, als ob zwei Programme parallel ablaufen würden. Auf den heutigen Computern sind allerdings in der Regel mehrere Cores (engl. Kerne) in einem Prozessor vereint. Jeder Core ist eine CPU für sich mit Registern, ALU etc. In diesem Fall können tatsächlich mehrere Programme parallel ausgeführt werden.
Ja stimmt! Gut beobachtet! Sorry, hab aus Versehen das letzte Bit verdreht. Eine dezimale 9 entspricht einer 1001 und nicht 1000 (nur die 4.Stelle besetzt wäre ja eine 8). Danke für den Hinweis!
wie im Video erwähnt ist die Erklärung absichtlich vereinfacht, damit das grundsätzliche Prinzip der Funktionsweise des Prozessors einfach verstanden werden kann. ist aus meinem Java videokurs, damit die Technik hinter Variablen, Operatoren etc nachvollzogen werden kann. hatte nicht damit gerechnet, dass sich das so viel Leute anschauen, überlege mir, ob ich nicht noch weitere Filme drehe, die mehr ins Detail gehen ...
Hallo Boris, meine Frage , muss die Programmierung so elitär sein ?! Meine Vorstellung , eine Programmierung sollte von jeden zu machen sein , ohne Vorkenntnisse , sprich vom Kind bis zum Opa sollte das jeder bringen können. Logisch das das eine intuitive Software sein muss. Ich mein die ersten PC mussten auch mit unverständliche Kauderwelsch gefüttert werden eh die ihren Dienst verrichteten, warum sollte das nicht auch bei der Programmierung funktionieren?! Nochmal der Weg, ich definiere mein Programm in einer logischen und sinnvollen Eingabe, grafisches Diagramm, Ablaufplan usw. alles andere macht dann die Software. Denke Mal das mit dieser Methode Fehlerquellen minimiert würden , denn die Software übernimmt die " Verdrahtung" meines Programms. Wäre dankbar für deine Meinung. Ich bin Mal fies, oder wollen die Programmierer unter sich bleiben wenn die Programmierung nicht für jeden zugänglich ist?????
es kann sein, dass es so etwas irgendwann mal geben wird. allerdings glaube ich ist das noch eine Weile hin. bei chat GPT oder Low Code Plattformen wie Power Apps von Microsoft kommt man nicht weiter wenn man sich nicht genau auskennt in der Programmierung, habe ich festgestellt. wenn man sich gut auskennt, dann können solche Sachen einem Zeit sparen. ich benutze das zurzeit auch intensiv. desto mehr man sich auskennt desto ergiebiger kann man solche Tools nutzen. ohne Programmierkenntnisse bräuchte man eine künstliche Intelligenz die bei weitem die menschliche Intelligenz von heute übertrifft. das wird wohl noch eine Weile dauern ...
RUclips sollte mehr von solchen Beiträgen haben. Du hast dir sehr viel Arbeit und Gedanken gemacht ein sehr komplexes Thema anschaulich darzustellen und zu erklären. Vielen Dank für diesen tollen Beitrag. Immer weiter so. Der war richtig Klasse.
Danke für dein positives Feedback! Freut mich, wenn es mir gelungen ist, mit dem Film etwas Klarheit in die Materie zu bringen!
Lieber Herr Gedat,
ich möchte Ihnen mitteilen, dass der Kauf Ihres Java-Trainings eine meiner besten Investitionen war. Dank Ihres Kurses habe ich mein Studium mit Bravour gemeistert. Sogar Doktoranden waren beeindruckt, wie klar und deutlich ich die Konzepte vermitteln konnte, die ich durch Ihr Training erlernt habe.
Es wäre großartig, wenn Sie ein weiteres Training entwickeln könnten. Ihre herausragende didaktische Fähigkeit, komplexe Themen verständlich zu machen, wäre besonders wertvoll für Kurse über maschinelles Lernen, neuronale Netze und Transformer-Modelle.
Hallo,
es freut mich sehr zu erfahren, dass ich einen positiven Beitrag zum Verständis der Programmierung leisten konnte. Ich überlege mir, den Kurs auf RUclips hochzuladen, damit auch andere davon profitieren können. An dieser Stelle auch ein Dank an Kathy Sierra, durch deren Bücher ich viel gelernt habe über Java und Didaktik. Viel Spaß und Erfolg weiterhin!
diese thema hat mein Lehrer mir 3 woche lange erzählt und ich habe nicht verstanden
aber du hast es gemacht mit 12 min
Danke dir
Ja gerne, freut mich, dass es geholfen hat! Der Film ist Teil des Java Basis Seminars und soll beim Einstieg zum Programmieren helfen. Der ganze Video-Kurs ist so aufgebaut, alles wird mit Animationen erklärt: www.java-basics.de
Du glücklicher. Mein Lehrer bringt mir nur bei wie ich den Zement mische.
6 Jahren später und dein toller Beitrag hat mir sehr geholfen. Sehr schöne und süße Erklärung.
Danke ;D
Freut mich, danke!
Ich habe in einem Video mehr verstanden als in einem ganzen Semester Unterricht.
Danke sehr , es war sehr gut erklärt
Vielen Dank für das Feedback!👍🏼 Solche Kommentare ermutigen mich dazu, mit dem Produzieren solcher Videos weiterzumachen. Freut mich, dass ich ihnen helfen konnte.🤓👍🏼
Echt wahnsinnig gutes Video, sowas findet man leider nur allzu selten. Super erklärt, tolle Visualisierung, langsam und deutlich gesprochen und vorallem anhand eines einfachen Beispiels erläutert. Danke vielmals👍
vielen Dank für das wertvolle Feedback. solche Filme zu erzeugen, erfordert einen großen Aufwand, solche Kommentare wie der ihre, motivieren mich dazu, weitere ähnliche lernvideos zu produzieren.
Besser kann man es nicht erklären!
Danke für diesen guten Überblick!
Ein herausragendes Video. Präzise Darstellung. Klare Diktion. Hilfreiche Visualisierung.
Danke für das Lob! 👍🏼
Mit Abstand beste Erklärung was man in RUclips finden kann.
- Spache/Ausdruck sehr gut
-Darstellung sehr gut
-Erklärung sehr gut
Dank dir bro =)
Und ich danke dir auch für das Lob, geht runter wie Öl. :-) Hoffentlich demnächt mehr in diesem Theater!
Sehr anschaulich aber trotzdem nicht zu oberflächlich. Dank dir :)
Gerne :-)
Sehr gut geeignet, um eine Vorstellung zu bekommen, wie die grundsätzliche Funktionsweise eines Prozessors ist. Da kann man gut drauf aufbauen. Vielen Dank!
Gern, wenn man technische Prozesse mit Hilfe von Animationen visualisiert, kann das sehr hilfreich sein. Kostet aber viel Mühe und Zeit. Wenn es genug Leute interessiert, mache ich neue Filme. Deshalb: liken, abonnieren, kommentieren!
Befehle über Befehle.... im Computer geht es ab! genial.
Dieses Video wurde von unserem Lehrer als Resource für seinen Unterricht verwendet. WIr verwenden zwar ein Programm, dass nur ähnliche Befehle benutzt, aber dennoch ist die Erklärung hier hilfreich.
Freut mich zu hören! Viel Erfolg weiterhin!
Das Video ist mit Abstand das beste Erklärungsvideo zum Thema CPU. Ich habe mir viele Videos dazu angeschaut, doch ich habe es mit dem hier erst richtig verstehen können.
schön zu sehen dass es wieder für jemanden von Nutzen war, viel Erfolg weiterhin beim Verstehen der Technik
Hallo, endlich mal einer der was verstanden hat und es erklären kann, danke dir und weiter so;-)
Grüße aus Aachen
Pierre
Super Video und sehr angenehm erklärt sowohl vom Tempo und Umfang her als auch von der Sprechweise.
+MrJaleelJamal :-)
Phantastische Erklärung - tolle Animation. Endlich habe ich es verstanden. Danke 1000 mal
Vielen, vielen Dank!
haben gestern in informatik den von-neumann-zyklus gelernt und habe nix verstanden. die anschauliche und detaillierte darstellung hier im video hat aber echt gut geholfen. :) dankeschön
gern geschehen, freut mich, dass ich weiterhelfen konnte :-)
Danke für diese verständliche Video. Das Erklärtempo ist für mich genau richtig.
Vielen Dank für das Feedback. Freut mich zu erfahren, dass ich das richtige Tempo gefunden habe. Werde das für weitere Videos im Auge behalten.
Herrliche Erklärung, besser geht es nicht für Nicht-IT-Interessenten...kann nur einer, der das Thema mental beherrscht..Danke
Danke!
Endlich!!! Endlich hab ich es verstanden!!! Danke vielmals für dieses didaktische Meisterwerk!
Bitte sehr! 🙂👍🏼
ich mach im Moment ein Lehrgang zum Industriemeister Elektotechnik. Da gibt es auch ein Modul welches den Unterschied zwischen Hochsprache und Assembler behandelt.
Durch dieses Video bekommt man auch eine Ahnung davon, was für Rechenmonster die heutigen Prozessoren eigentlich sind.
Was ich noch echt super finde ist die Geschwindigkeit mit der verständlich erklärt wird. Viele Videos gehen erstmal mit 3 Minuten unwichtiges Geschwafel los.
Danke für das Feedback. Gut, dass das Tempo passt. Ich bemühe mich, gleich zur Sache zu kommen und das Thema in der passenden Geschwindigkeit verständlich zu erklären. Freut mich, dass das Video für Sie von Nutzen war.
ich bin froh auf dieses Video gestoßen zu sein :) sehr gut erklärt
Danke, freut mich, dass ich weiterhelfen konnte.
Vielen Dank für das nützliche Video , habe endlich verstanden wie der Prozessor funktioniert und konnte erfolgreich meine Hausaufgabe erledigen.
+Mani32 Super! Freut mich, dass ich dabei helfen konnte!
Top! Bisher die beste Erklärung, die ich gehört hab!
Danke!
Diese Technik ist so unfassbar. Ich liebe es
Auch nach Vier Jahren noch aktuell und sehr verständlich, tolles Video !
ja, das Prinzip ist seit der Erfindung des Computers immer noch das gleiche. freut mich, wenn es mir gelungen ist, das Prinzip einigermaßen verständlich darzustellen. danke für das Feedback.
Danke für das Video :) ich habe lange nach so einer Darstellung gesucht.
keine Ursache! freut mich dass ich weiterhelfen konnte!
Sehr schon erklärt wird weiterhelfen bei meinen CPU Baudesign 😄
Das freut mich 👍
top geklärt! vielen Dank!!
Danke für das Lob!
Wirklich sehr gut erklärt. Weitere Videos zum Thema Informatik, wären toll. Als Beispiel Betriebssysteme, Datenstrukturen und Algorithem. :)
Danke, werde darüber nachdenken. 👍
Sehr gut erklärt, vielen Dank!
Bester Erklärung bis jetzt danke
Bitte gerne
Haben das Video im Unterricht angeschaut und jz schreiben wir ne Ex drüber, lernen 2019-> RUclips schauen 😉
Super, freut mich immer wieder zu hören, wenn es jemanden was nützt! 💡📽 Lang lebe RUclips!
Sehr schön gemacht und erklärt.
Vielen Dank, hoffentlich komme ich bald dazu mehr Videos zu machen!
Tolles Video! Dankeschön
sehr gerne!
Sehr sehr schön erklärt
Diese gute Bruder!
Sehr sehr gutes Video!!!.
Freut mich, danke!
Vielen Dank für das Video. Es ist sehr gut erklärt.
Gerne!
super video! danke für Ihre Mühe!
Vielen Dank!
Ich will nicht wissen wie viele solcher Binärcodes meine CPU (i7 4790K) alleine schon rechnen musste um dieses Video darzustellen :D
🙂🙃😉💻
Unser Prof hat dein Video in der Vorlesung verwendet, wenn das mal kein Lob ist! :D
Super! Freu mich, wenn ich euch etwas weiterhelfen konnte! Viel Erfolg beim Studieren!
Klasse. Danke!
🤓👍🏼
sehr hilfreich, vielen Dank
Gerne, danke! 👍
Sehr gut und verständlich erklärt 👍
freut mich, dass ich helfen konnte 👍🏼
Top erklärt! Sehr anschaulich und nachvollziehbar 🙂
super erklärt. Danke :)
Gerne!
Richtig guter Kanal.
Freut mich, danke!
Sehr gute Erklärung und in einer Tiefe, wie ich sie mir von vielen meiner Dozenten wünsche! Was mich aber schon sehr lange nicht los lässt, das ist der elektrotechnische Aspekt eines Prozessors. Also wie finden die Befehle LOAD und ADD beispielsweise elektrotechnisch statt? Dass das ganze mit Gattern und Flip-Flops gemacht wird, das ist mir klar. Aber wie muss das ganze verschaltet sein, damit eine Eingabe einer bestimmten Bitfolge, z.B. eines Befehls, genau zu dem gewünschten Effekt führt? Und wie viel Arbeit muss dahinter stecken um einen Schaltplan für sowas zu entwickeln? Bei Intel werden Milliarden an Transistoren auf kleinster Fläche verschalten. Sehr beeindruckend auf jeden Fall, die ganze Rechnertechnik! Entschuldigung für den kleinen "Abschweifer" und danke für's Lesen! :)
Hallo, sorry für die späte Antwort, hatte vergessen auf den Kommentar zu antworten. Zu dem Thema Gatter und Flip-Flops: Eigentlich unterrichte ich normalerweise nur Programmiersprachen, ich habe allerding vor vielen Jahren in einer Akademie in München einige Spezialkurse zu genau dem Thema gehalten. Dort haben wir tagelang auf der Tafel ausgehend vom Transistor, ungetaktete und getaktete Flipflops, Halb-Addierer, Volladdierer etc. zusammengestellt. Dabei hat sich das Buch "Was ist Informatik?" von Peter Rechenberg als sehr hilfreiche Lektüre herausgestellt. Der technische Teil des Computers wird dort sehr verständlich erklärt, vor allem für Einsteiger in die Thematik.
Zitat: "Also wie finden die Befehle LOAD und ADD beispielsweise elektrotechnisch statt? Dass das ganze mit Gattern und Flip-Flops gemacht wird, das ist mir klar. Aber wie muss das ganze verschaltet sein, damit eine Eingabe einer bestimmten Bitfolge, z.B. eines Befehls, genau zu dem gewünschten Effekt führt?"
Hast Du schon diese Reihe gesehen: ruclips.net/video/xyusZ7NoNEk/видео.html Das beantwortet schon einiges. Vielleicht nicht direkt deine Frage, zeigt aber, wie man Aufgaben durch binäre Schaltungen löst und alles im Griff behält.
hat mir sehr geholfen! Vielen Dank
Danke für das Video. Sehr gut erklärt. Jedoch hätte ich eine Frage bzw einen Einwand?
Sie zeigen in Ihrem Video, dass die Werte nach dem Load direkt in den Akkumulator wandern. Soweit mir bekannt ist, werden die Werte nach einem Load in die Hilfsregister der ALU geladen und nach der Berechnung , das Ergebnis in den Akkumulator gelegt bzw. bei den neuren Prozessoren in ein Hilfsregister und dann direkt in den Arbeitsspeicher.
Habe ich das ggf. falsch verstanden ? Oder einen Denkfehler ?
Über eine Rückmledung würde ich mich sehr freuen.
Hallo, danke für das Lob. freut mich dass ich Ihnen helfen konnte! Zu ihrer Frage: das Video ist Teil meines Java Basis Seminars. Es soll den Kursteilnehmern das nötige Verständnis für die Prozesse der Informationsverarbeitung auf Hardware Ebene vermitteln, weil das beim Lernen einer Programmiersprache sehr hilfreich ist. Das Beispiel ist also stark vereinfacht und soll nur das Prinzip verdeutlichen. Am Anfang des Videos habe ich darauf hingewiesen. Technische Details in unterschiedlichen Prozessorarchitekturen wurden absichtlich weggelassen.
Viele Grüße
Boris
Danke war gut zu verstehen
gerne 👍🏼
Top Video! Danke dir :)
Sehr gerne!
Gutes Video! Warum aber werden die 2 und die 3 zwischendruch in den Arbeitsspeicher geladen und wieder rausgeholt? Könnte man sie nicht direkt im Akkumulator addieren?
Das ist wirklich eine gute Frage! Ja, Sie haben recht, das
Erzeugen der Variablen für die Operanden könnte man sich in diesem Fall sparen.
Man könnte erst die 2 in den Prozessor laden und dann gleich die 3
hinzuaddieren. Der Film ist aus meinem Java-Basis-Kurs und soll zeigen, was auf
der Hardware abläuft, wenn man in der Programmierung eine Variable erzeugt.
Deshalb habe ich in dem Beispiel den Operanden großzügigerweise auch Variablen
im RAM verpasst. Der Vergleich zwischen Quellcode und Maschinencode sieht man
übrigens im Teil 2 dieses Films "Was ist eine Variable? Vom Maschinencode
zum Quellcode"
ruclips.net/video/EzinJGlBhq0/видео.html
Gutes Video! Danke! In meinen Unterlagen/Büchern steht jedoch, dass der Program Counter / Befehlszähler VOR dem Ausführen des Befehls erhöht wird. Hier geschieht es NACH dem Ausführen des Befehls. Ich verstehe den Unterschied nicht ganz.
Gerne! In dem Beispiel hier im Film wird auch vorher hoch gezählt nur nicht beim ersten Mal, weil der Befehlszähler schon auf 0 steht, was der Speicheradresse des ersten Befehls entspricht. Allerdings handelt es sich bei dem Film - wie im Film gesagt - um ein extrem vereinfachtes Model, das das Prinzip der Befehlsverarbeitung erklären soll. Echte Prozessor-Architekturen sind natürlich um einiges komplexer. Was Sie in ihren Unterlagen gelesen haben, weisst auf ein Verfahren hin, dass in den meisten Architekturen verwendet wird. Es gibt dort zusätzlich zum Befehltszähler meist noch noch weitere Register: im CIR (current instruction register) wird der Binärcode des aktuellen Befehls gespeichert, im MAR (memory adress register) befindet sich die aktuelle Memory-Adresse, die gerade abgespeichert wird, und die Daten, die sich an der Memory Adresse befinden, werden in ein sog. MDR (memory data register) Register geladen. Der Befehlszähler wird üblicherweise PC (prozess counter) genannt. Am Anfang steht im PC, die Adresse des als nächstes auszuführenden Befehls. Diese Adresse wird als dann ins MAR Register kopiert. Erst jetzt wird der Speicherinhalt des Befehls in das MDR Register und von dort anschliessend in das CIR Register geladen. Jetzt wird der PC Befehlszähler hochgezählt, noch bevor der Befehl ausgeführt wurde. D.h. im Befehlszähler befindet sich tatsächlich der als nächstes auszuführende Befehl. Das ist möglich, weil es die weiteren drei Register CIR, MAR und MDR gibt, die die aktuelle Adresse und den Inhalt der Speicheradresse aufnehmen. In meinem Film wurden diese Register zur Vereinfachung weggelassen, weil sie nur verwirren würden und zum Verstehen des Prinzips nicht notwendig sind. Wen es genauer interessiert, hier habe ich eine Erklärung auf englisch mit visueller Darstellung gefunden: ruclips.net/video/jFDMZpkUWCw/видео.html (ab Minute 2 ein halb ungefähr)
Vielen Dank für das Video. Ich habe eine *Frage* gibt es einen ganz ganz basalen Computer bzw. Prozessor in der Technikgeschichte, an dem man das einmal analog nachvollziehen kann?
Viele Grüße und danke im Voraus
Wozu die Operanden zwischenspeichern? Geht das nicht auch : LOAD #2, ADD #3, STORE 11?
Ehrenmann geiles Vide !!!
Sehr gerne!
Vielen Dank , es hat mir sehr geholfen
+Medhat Hassab Gerne! Danke für das Feedback.
Top!
Super Video! Programm beendet heißt Befehlszähler wieder auf 0 oder?
ja, und weiter geht's mit dem nächsten Task 😀
Schade, dass Cache(Zwischenspeicher) in ihre Schema nicht dargestellt wurde.. trozt ein sehr interesantes Video danke!
danke. das ist übrigens Absicht dass der zwischenspeicher und weitere Details des Prozesses nicht vorgestellt wurden, weil dieses lernvideo absichtlich extrem vereinfacht wurde um nur das Prinzip der programmausführung auf Maschinen Ebene darzustellen. das Video kommt aus meinem großen Java Kurs. es soll den Studenten lediglich nur die Punkte der Maschinen Ausführung verdeutlichen, die sie zum Verständnis beim lernen der Programmiersprache benötigen.
natürlich könnte man auch ein Video machen, das intensiver auf die Details eingeht, wenn genügend Interesse für so ein Video wäre, bitte in die Kommentare schreiben.
Das ist wirklich toll gemacht. Ich hätte da eine Frage. Wie viele Takte benötigt die CPU für unser Beispielprogramm insgesamt? Kann man erst einmal davon ausgehen, dass wenn immer der Befehlszähler hochgezählt wird, das einem Takt entspricht? Ich versuche momentan den Zusammenhang zwischen Instruktionen und CPU Takt zu verstehen.
Die tatsächliche Anzahl der Takte kann man anhand dieses Beispiel-Films nicht berechnen, da dies - wie im Film gesagt - eine stark vereinfachte Darstellung ist, die das generelle Prinzip, wie der Prozessor arbeitet, verdeutlichen soll. Die tatsächlichen Schritte sind unterschiedlich je nach Prozessor-Architektur und Befehlssatz. Es gibt unterschiedliche Register zum Speichern von Zwischen-Werten, der aktuellen und nächsten Befehlsadresse, der aktuellen Adresse, mit der lesend bzw. schreibend auf den Arbeitsspeicher zugegriffen werden kann, etc. Zum tieferen Einstieg, wie der Prozessor, Befehle einliest, dekodiert und ausführt, kann ich folgenden Film empfehlen (ist auch vereinfacht, zeigt aber mehr Prozessor-Bausteine in Aktion): ruclips.net/video/jFDMZpkUWCw/видео.html
@@BorisGedat Vielen Dank für die Antwort. Ich werde es mir anschauen! Laut meinen bisherigen Recherchen kann man das tatsächlich nicht sagen. Es hängt von der Prozessor-Architektur, dem Bussystem (Protokolle, Treiber) und von der Implementierung der Befehlssätze ab. Das ist wohl das Interessante dabei, aber auch das schwere :) Die einzelnen Befehle können sehr unterschiedlich sein z.B.
- Befehle für Operationen mit einem Register
- Befehle mit einem Register und einer abgelegten Konstanten
- Befehle mit einem Register und einer Speicherstelle im Datenspeicher
etc.
Ich bezweifle das der Prozessor für jeden Schritt den Arbeitsspeicher heranzieht, da dieser Zugriff um die 100 CPU-Takte andauert.^^
Real werden die Operanden wie das Ergebnis in CPU internen Registern abgespeichert. Diese sind um ein vielfaches schneller. Und trotzdem kriegen wir nur anhand Pipelining und Superskalarität im besten Fall eine Operation pro Takt hin.^^ Die Daten die man in die Register lädt befinden sich im ideal Fall schon im Cache, ansonsten dauert der Zugriff für den ersten Operanden tatsächlich 100 CPUT-Takte.^^
ich habe im Video darauf hingewiesen dass es sich hier um eine stark vereinfachte Darstellung handelt, die dem Zweck dient, im Rahmen meines Java-Kurses den Kurs Teilnehmern die wichtigsten Prinzipien der Arbeitsschritte der CPU darzustellen, die zum Verständnis des Programmierens notwendig sind. Die tatsächliche Implementierung auf Hardware Ebene ist, wie sie richtig darstellen, natürlich viel komplexer.
Echt super Ihre Serie, aber da habe ich als Anfänger mal ne Frage: Wenn ich im dualem System Load # 8554330 in Binär darstellen möchte auf Speicherplatz 0 - wie sieht die 8stellige Zahlenreihe dann aus? Wenn 001 für "Load" schon reserviert ist, danach die 1 für "Zahl" - sind nur noch 4 Stellen übrig: Höchstmögliche Zahl: 30. Wie kann ich also meine obige Zahl auf Speicherplatz 0 laden? LG
hallo, freut mich, dass ihnen meine Serie gefällt! neue Auflage des Java Kurses wahrscheinlich bald auf udemy. die Bit breite wurde hier künstlich verkürzt, damit es besser in der Animation dargestellt werden kann. normalerweise sind es je nach System 32 oder 64 Bit. damit lassen sich dann genug Adressen ansprechen.
größere zahlenräume sind dann auch möglich
Wou ist ja garnicht so weit von Dos Ja bei Maschinensprache hab ich auf gegeben leider
Hallo Boris Gedat ich hätte da mal ein paar Fragen an dich,
Diese dinge sind mir unklar und ich dachte du weißt das vieleicht,
Werden diese Befehle und Daten dann über das Bus Interface zwischen CPU und Arbeitsspeicher hin und her gesendet?
Ist der Akkumulator sozusagen eine Zwischenspeicherstelle wo die erhaltenen Daten zwischengespeichert werden bis ein befehl kommt der befiehlt das die Daten oder die zahl wieder verwendet werden muss also so eine Art interner speicher?
Und ist die Arithmetisch Logische Einheit das Rechenwerk?
Wäre diese Vereinfachte Darstellung ein 8-bit system?
und noch eine Frage,
Sind das Befehlsregister,der Befehlszähler und der Befehlsdecoder zusammen das Befehlswerk?
Ich würde mich sehr über eine Antwort Freuen
Mit freundlichen grüßen DenalionLP
Hallo, das Video ist extrem vereinfacht, um das Prinzip, wie der Rechner arbeitet, zu veranschaulichen.
Zu den Fragen:
- Daten werden über ein Bus-System weitergeleitet.
- es gibt viele unterschiedliche Register, wo Daten zwischengespeichert werden, den Accumulator könnte man auch als Speicher verstehen, allerdings ein Speicher, der den Inhalt verändert sobald sich der Wert akkumuliert
- ALU ist Rechenwerk
- 8-bit System, ja
- Befehlsregister,der Befehlszähler und der Befehlsdecoder könnte man als Befehlswerk bezeichnen
gut
Wie sieht das ganze beim Multiteihreading aus ? Hat ein PC mehrere Alus, Befehlsregister&Zähler mit denen er dann arbeiten kann ?
Mit einem “Thread” (engl. Faden) meint man normalerweise eine zusammengehörige Anweisungsfolge eines Programms. Man kann auf ein und demselben Prozessor zwei verschiedene Programms Threads quasi parallel ablaufen lassen. Das nennt man dann Multithreading. Die Anweisungen der beiden Threads werden dann abwechselnd ausgeführt für den Anwender schaut das so aus, als ob zwei Programme parallel ablaufen würden. Auf den heutigen Computern sind allerdings in der Regel mehrere Cores (engl. Kerne) in einem Prozessor vereint. Jeder Core ist eine CPU für sich mit Registern, ALU etc. In diesem Fall können tatsächlich mehrere Programme parallel ausgeführt werden.
Bei 7m25s - hier hier der Arbeitsspeicher 4 nicht falsch? LOAD 9 = 001 0 1001 und nicht 001 0 1000. Aus meiner Sicht fehlt hier das erste Bit.
Ja stimmt! Gut beobachtet! Sorry, hab aus Versehen das letzte Bit verdreht. Eine dezimale 9 entspricht einer 1001 und nicht 1000 (nur die 4.Stelle besetzt wäre ja eine 8). Danke für den Hinweis!
Die Sprungvorhersage fehlt
wie im Video erwähnt ist die Erklärung absichtlich vereinfacht, damit das grundsätzliche Prinzip der Funktionsweise des Prozessors einfach verstanden werden kann. ist aus meinem Java videokurs, damit die Technik hinter Variablen, Operatoren etc nachvollzogen werden kann. hatte nicht damit gerechnet, dass sich das so viel Leute anschauen, überlege mir, ob ich nicht noch weitere Filme drehe, die mehr ins Detail gehen ...
Hallo Boris, meine Frage , muss die Programmierung so elitär sein ?! Meine Vorstellung , eine Programmierung sollte von jeden zu machen sein , ohne Vorkenntnisse , sprich vom Kind bis zum Opa sollte das jeder bringen können. Logisch das das eine intuitive Software sein muss. Ich mein die ersten PC mussten auch mit unverständliche Kauderwelsch gefüttert werden eh die ihren Dienst verrichteten, warum sollte das nicht auch bei der Programmierung funktionieren?! Nochmal der Weg, ich definiere mein Programm in einer logischen und sinnvollen Eingabe, grafisches Diagramm, Ablaufplan usw. alles andere macht dann die Software. Denke Mal das mit dieser Methode Fehlerquellen minimiert würden , denn die Software übernimmt die " Verdrahtung" meines Programms. Wäre dankbar für deine Meinung. Ich bin Mal fies, oder wollen die Programmierer unter sich bleiben wenn die Programmierung nicht für jeden zugänglich ist?????
es kann sein, dass es so etwas irgendwann mal geben wird. allerdings glaube ich ist das noch eine Weile hin. bei chat GPT oder Low Code Plattformen wie Power Apps von Microsoft kommt man nicht weiter wenn man sich nicht genau auskennt in der Programmierung, habe ich festgestellt. wenn man sich gut auskennt, dann können solche Sachen einem Zeit sparen. ich benutze das zurzeit auch intensiv. desto mehr man sich auskennt desto ergiebiger kann man solche Tools nutzen. ohne Programmierkenntnisse bräuchte man eine künstliche Intelligenz die bei weitem die menschliche Intelligenz von heute übertrifft. das wird wohl noch eine Weile dauern ...
Bit soll von BInary digaT kommen
Für mich ist Maschinencode die schönste Sprache. Sie hat nur 4 befehle
Ja, in der Kürze liegt die Würze. Der Browser steuert auch nur die Pixel am Monitor an.
@@BorisGedat Sehr interessant, wie müsste man da vorgehen? Würde das dann bei jedem Prozessor funktionieren?
Je nach Prozessor gibt es unterschiedliche Maschinenbehfehle und entsprechende Grafikbibliotheken zum Ansteuern des Monitors.
Super Video.
Habe das mal vorgemacht in der Praxis: ruclips.net/video/P8Jrrz5SbIY/видео.html
Danke, sehr interessant und hilfreich für alle, die dem Code auf den Grund gehen wollen.
Garantiert nicht wie ein menschliches Gehirn.