Wozu braucht ein Prozessor Rechenoperationen?

Pacman303030

Cadet 1st Year
Registriert
Dez. 2020
Beiträge
10
Hallo liebe Gemeinde,

ich bin neu hier, falls ich hier im falschen Bereich bin, bitte bescheid geben!

Ich studiere momentan Informatik und irgendwie scheint die Antwort auf diese Frage an mir vorbeigeflogen zu sein. Wir sitzen vorm Rechner und der Prozessor addiert. Wie? Na so. Warum? Keine Ahnung. Könnte mir jemand erklären warum Daten so verarbeitet werden?

Ich wünsche allen frohe kommende Weihnachtstage und viel Gesundheit!
 

Viel Spaß
 
  • Gefällt mir
Reaktionen: Zock und papparotti
ehrlich die Frage bei dem Studium ...

Was soll ein Prozessor sonst machen er kennt nur den Zustand 0 und 1 ... mit Null Multiplizieren = 0 .... durch Null Teilen = nicht erlaubt.

Und Addieren kann man ja auch negative Zahlen.

und auch alle anderen Operationen lassen sich mit Addieren Lösen ...
 
  • Gefällt mir
Reaktionen: frank99 und papparotti
Diese Frage ist extrem oberflächlich und extrem weit gefasst. Da könnte man jetzt eine ganze Vorlesung halten...
Du studierst Informatik? :freak:

Nun, eine CPU kann im wesentlichen - wenn wir sie auf ihre Grundfunktionen reduzieren - nur eines: addieren (und subtrahieren).
Alle anderen Rechenoperationen (dividieren, multiplizieren usw.) müssen erst umgewandelt werden. So funktionieren Transistoren nunmal.
Ein Rechner kennt nur 0 und 1.

Jetzt könntest du dir vielleicht noch Logikgatter anschauen.
 
Die Frage ist, wieso eine Addition und z.B. keine Division ist?
Addition ist eine der vier Grundrechenarten. Die anderen drei können mit der Addition nachgebildet werden.
 
Weil sich irgendwann mal ein paar verdammt kluge Köpfe gedacht haben, dass es geil wäre so etwas zu machen.
 
  • Gefällt mir
Reaktionen: xxMuahdibxx und maxik
Die Frage ist nicht ernst gemeint, oder? Andernfalls falsches Studienfach gewählt!
Es gab vor laaanger Zeit ein kleines Teil (Namen vergessen), mittels welchem man mit Streichhölzern CPU-Operationen simulieren konnte. Wurde, glaube ich, im ehem.WDR Computerclub vorgestellt. Einfach mal danach suchen.
 
  • Gefällt mir
Reaktionen: osf81
Schau mal in deine Mathevorlesungen rein, erstes Semster.

Da sollte erklärt werden wieso man aus Addition jede andere Rechenoperation durchführen/abbilden kann. Und damit hat du schon die Begründung. Der Prozessor brauch nur eins wissen, wie addiert man und leitet alles andere davon ab.
 
ella_one schrieb:
Es gab vor laaanger Zeit ein kleines Teil (Namen vergessen), mittels welchem man mit Streichhölzern CPU-Operationen simulieren konnte. Wurde, glaube ich, im ehem.WDR Computerclub vorgestellt. Einfach mal danach suchen.

Danke ^^
 
Erinnert mich an meine IT-Umschulung und den Mitschüler der mich fragte, wie rum die Diskette in den Schlitz gesteckt wird.
Der war da auch falsch.
Sorry, aber Informatik studieren und dann sowas fragen ist schon hart.
 
Scheinbar habe ich die Frage falsch gestellt. Ich bin übringens noch im ersten Semester ca. 4. Woche. Also seid bitte nicht zu hart.

Anders gefragt: Wieso muss der Prozessor unbedingt Rechenoperationen durchführen? Was stimmt mit den "rohen" binären Daten nicht? Wieso muss er binäre Zahlen addieren ?
 
Cordesh schrieb:
Erinnert mich an meine IT-Umschulung und den Mitschüler der mich fragte, wie rum die Diskette in den Schlitz gesteckt wird.
Ist aber auch hart, bei einer heutigen IT-Umschulung noch mit Disketten anzukommen ;)

BTT:
Ich dachte, dass bei Informatik zumindest ein Grundkurs in Computer-HW dabei ist, wo sowas erklärt wird. Ist natürlich nicht zwingend notwendig, aber es wäre doch ganz nett, zu wissen, womit man "arbeitet".

Bestätigt mich bei meinem Eindruck, dass heutzutage vieles oberflächiger gehandhabt wird.
Natürlich muss man je nach Programmiersprache nicht wissen, was unter der Haube steckt, aber ich fände es merkwürdig es nicht zu wissen ...
 
FullRadierer schrieb:
Was stimmt mit den "rohen" binären Daten nicht? Wieso muss er binäre Zahlen addieren ?
Stillstand ist der Tod.
Statische Daten sind meistens Instruktionen dafür, wie mit Daten umzugehen sind. Oder eben Rohdaten wie Archive, Bilder, Musik, Videos, Dokumente...
Um die Anzuzeigen, müssen sie aber decodiert, skaliert und positioniert werden. Dafür sind die Instruktionen zuständig, die die nötigen Anweisungen bereitstellen, welche im Grunde auch nur Rechenoperationen sind.
FullRadierer schrieb:
Warum? Keine Ahnung
Weil hinter jedem Pixel den du hier siehst unzählige Rechenoperationen stecken. Sei es nur um zwei Farben zu mischen bei Transparenz, einen Pixel eine Reihe nach oben zu verschieben (scrollen), die Maus zu positionieren oder die Organisation von Daten innerhalb eines Adressraumes. Alles einfache Rechenoperationen, wenn man es auf unterster Ebene betrachtet.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Pacman303030
FullRadierer schrieb:
Scheinbar habe ich die Frage falsch gestellt. Ich bin übringens noch im ersten Semester ca. 4. Woche. Also seid bitte nicht zu hart.
Hm, zu meiner Zeit wußten die (meisten) Computerleuts das aber zu Beginn des Studiums sowas schon.
FullRadierer schrieb:
Anders gefragt: Wieso muss der Prozessor unbedingt Rechenoperationen durchführen? Was stimmt mit den "rohen" binären Daten nicht? Wieso muss er binäre Zahlen addieren ?
Schau mal in den Plan, wann Ihr selbst Transistor-Schaltungen mit AND, OR, NOR, XOR usw. aufbaut und die ersten simplen Addierer damit baut, dann sollte es klar werden. ;)
 
  • Gefällt mir
Reaktionen: Pacman303030
FullRadierer schrieb:
Anders gefragt: Wieso muss der Prozessor unbedingt Rechenoperationen durchführen? Was stimmt mit den "rohen" binären Daten nicht? Wieso muss er binäre Zahlen addieren ?
Es ist dir anzurechnen, dass du dir Gedanken machst :) Allerdings sind deine Fragen so fundamental, dass ich dir dringend rate, dich einzulesen, sei es bei Wikipedia oder anderen Quellen. Suche mal nach "Grundlagen Computer" oder "Entwicklungsgeschichte Computer" oder ähnlichen Begriffen. Dir das alles zu erklären, würde hier imho den Rahmen sprengen.
 
  • Gefällt mir
Reaktionen: CaptainPicard und Pacman303030
Irgendwie haben hier fast alle vergessen, dass man studiert, um etwas zu lernen, nicht weil man etwas kann.

Der Prozessor kennt nur 0 und 1. Mehr nicht. Damit der Informationsgehalt etwas größer als 0 und 1 ist, hat man sich Bytes und Wörter ausgedacht. Ein Byte hat z.B. 8 Bit. Und ein Computer soll jetzt Sachen "computen", also berechnen. Im Prinzip ist es egal, ob du es rechnen oder transformieren nennst.

Sagen wir, du baust einen Rechner in den du eine beliebige Zahl eingeben möchtest und als Antwort erwartest, ob diese Zahl gerade ist oder nicht. Der Computer kann nur 0 und 1. Also überlegst du dir, wie du deine Zahl hinbekommst. Das ist eine Binärzahl. Zum Beispiel entspricht die 5 als Byte 00000101. Und um jetzt herauszukriegen, ob diese Zahl gerade ist, musst du dir Antworten überlegen. z.B. 00000001: Zahl ist gerade, 00000000: Zahl ist ungerade. Also bringst du deinem Computer die Rechenoperation AND bei und egal, was eingegeben wird, du führst das AND des EIngabebytes mit 00000001 aus - schon hast du deine Lösung.

Willst du jetzt addieren, dann braucht dein Computer Adder. Selbes für alle anderen Operationen. Und das, was du auf deinem Monitor siehst, sind auch nur Bytes. Nur eben für dich aufbereitet. Die Grafikkarte sendet Bytes nach einem festen Muster an dem Monitor, der lässt daraufhin seine Dioden leuchten. Und wenn du jetzt z.B. den Mauszeiger nach rechts bewegst, dann passiert im Hintergrund eine Addition: maus_pos_x = maus_pos_x + maus_move_x. (#sprechendeNamen).

Wenn dir das noch nicht einleuchtet, dann studiere weiter. Das wird hoch und runter durchgekaut, denn ein studierter Informatiker muss theoretisch Bits singen können, Bytes leben und 2er-Potenzen anbeten. Das dauert aber nicht ohne Grund länger als 4 Wochen ;)
 
Zuletzt bearbeitet: (XOR mit AND getauscht - denkfehler)
  • Gefällt mir
Reaktionen: Taron, ReignInBlo0d, Demon_666 und eine weitere Person
SoDaTierchen schrieb:
Irgendwie haben hier fast alle vergessen, dass man studiert, um etwas zu lernen, nicht weil man etwas kann.

Der Prozessor kennt nur 0 und 1. Mehr nicht. Damit der Informationsgehalt etwas größer als 0 und 1 ist, hat man sich Bytes und Wörter ausgedacht. Ein Byte hat z.B. 8 Bit. Und ein Computer soll jetzt Sachen "computen", also berechnen. Im Prinzip ist es egal, ob du es rechnen oder transformieren nennst.

Sagen wir, du baust einen Rechner in den du eine beliebige Zahl eingeben möchtest und als Antwort erwartest, ob diese Zahl gerade ist oder nicht. Der Computer kann nur 0 und 1. Also überlegst du dir, wie du deine Zahl hinbekommst. Das ist eine Binärzahl. Zum Beispiel entspricht die 5 als Byte 00000101. Und um jetzt herauszukriegen, ob diese Zahl gerade ist, musst du dir Antworten überlegen. z.B. 00000001: Zahl ist gerade, 00000000: Zahl ist ungerade. Also bringst du deinem Computer die Rechenoperation AND bei und egal, was eingegeben wird, du führst das AND des EIngabebytes mit 00000001 aus - schon hast du deine Lösung.

Willst du jetzt addieren, dann braucht dein Computer Adder. Selbes für alle anderen Operationen. Und das, was du auf deinem Monitor siehst, sind auch nur Bytes. Nur eben für dich aufbereitet. Die Grafikkarte sendet Bytes nach einem festen Muster an dem Monitor, der lässt daraufhin seine Dioden leuchten. Und wenn du jetzt z.B. den Mauszeiger nach rechts bewegst, dann passiert im Hintergrund eine Addition: maus_pos_x = maus_pos_x + maus_move_x. (#sprechendeNamen).

Wenn dir das noch nicht einleuchtet, dann studiere weiter. Das wird hoch und runter durchgekaut, denn ein studierter Informatiker muss theoretisch Bits singen können, Bytes leben und 2er-Potenzen anbeten. Das dauert aber nicht ohne Grund länger als 4 Wochen ;)
Danke Sehr!
Ergänzung ()

SoDaTierchen schrieb:
Und wenn du jetzt z.B. den Mauszeiger nach rechts bewegst, dann passiert im Hintergrund eine Addition: maus_pos_x = maus_pos_x + maus_move_x. (#sprechendeNamen).

Hat meine Frage auf den Punkt genau Beantwortet! Es ist alles Theorie bei uns und den Praxisbezug habe ich sonst nirgends im Netz gefunden.
 
Zuletzt bearbeitet:
Berechnungen brauchst Du eben dann auch, um Speicherzellen und deren Adressen zu ermitteln, benötigte Speichergrößen zu berechnen, Werte zu vergleichen, Zähler zu verwenden (siehste dann beim Programmieren) etc. Ohne Rechnen ist keine Programmierung und Programmiersprache möglich.
 
  • Gefällt mir
Reaktionen: Pacman303030
FullRadierer schrieb:
Wieso muss der Prozessor unbedingt Rechenoperationen durchführen? Was stimmt mit den "rohen" binären Daten nicht?
Ganze einfach: Damit überhaupt irgendwas passiert.

Alles, was der Prozessor tut, ist eine Rechenoperation. Ohne diese kämen die binären Daten noch nicht einmal in den Arbeitsspeicher. Zu den Rechenoperationen gehören nämlich auch Befehle wie "Hole dir den Wert für Operand A aus Speicherstelle X" oder "Speichere den Wert B in Speicherstelle Y". Somit gäbe es die von dir erwähnten "rohen" binären Daten gar nicht, wenn der Prozessor nicht schon lange gerechnet hätte.

FullRadierer schrieb:
Wieso muss er binäre Zahlen addieren ?
Er muss gar nicht. Der Prozessor addiert dann, wenn als Rechenoperation eine Addition angefragt wird. Es gibt unzählige andere Befehle.
 
Zurück
Oben