Hier findet ihr alle informationen über Computer
Ein Computer (englische Aussprache [k?m?pju?t?]) oder Rechner ist ein Apparat, der Daten mithilfe einer programmierbaren Rechenvorschrift verarbeiten kann.
Charles Babbage und Ada Lovelace gelten durch die von Babbage 1837 entworfene RechenmaschineAnalytical Engine als Vordenker des modernen universell programmierbaren Computers, währendKonrad Zuse (Z3, 1941 und Z4, 1945), John Presper Eckert und John William Mauchly (ENIAC, 1946) die ersten universell programmierbaren Computer bauten.
Zunächst war die Informationsverarbeitung (die Ein- und Ausgabe der Daten) auf die Verarbeitung von Zahlen beschränkt. Mit zunehmender Leistungsfähigkeit eröffneten sich neue Einsatzbereiche. Computer sind heute in allen Bereichen des täglichen Lebens vorzufinden. Beispielsweise dienen integrierte Kleinstcomputer (eingebettetes System) zur Steuerung von Waschmaschinen und weiteren Geräten des Alltags vom Videorekorder bis hin zur Münzprüfung in Warenautomaten; auch imMobiltelefon steckt ein Computer; Personal Computer dienen der Informationsverarbeitung in Wirtschaft und Behörden sowie bei Privatpersonen; Supercomputer werden eingesetzt, um komplexe Vorgänge zusimulieren, z. B. in der Klimaforschung oder für thermodynamische Fragestellungen und medizinische
Der englische Begriff computer, abgeleitet vom Verb (to) compute (aus Lateinisch: computare = ‚zusammenrechnen‘),[1] bezeichnete ursprünglich Menschen, die zumeist langwierige Berechnungen vornahmen, zum Beispiel für Astronomen im Mittelalter. 1938 stellte Konrad Zuse den ersten frei programmierbaren mechanischen Rechner her (Z1), der im heutigen Sinne bereits dem Begriff entsprach. In der Namensgebung des 1946 der Öffentlichkeit vorgestellten Electronic Numerical Integrator and Computer (kurz ENIAC) taucht erstmals das Wort als Namensbestandteil auf. In der Folge etablierte sich Computer als Gattungsbegriff für diese neuartigen Maschinen.
Grundsätzlich unterscheiden sich zwei Bauweisen: Ein Computer ist ein Digitalcomputer, wenn er mitdigitalen Geräteeinheiten digitale Daten verarbeitet (also Zahlen und Textzeichen); er ist ein Analogcomputer, wenn er mit analogenGeräteeinheiten analoge Daten verarbeitet (also kontinuierlich verlaufende elektrische Messgrößen wie Spannung oder Strom).
Heute werden fast ausschließlich Digitalcomputer eingesetzt. Diese folgen gemeinsamen Grundprinzipien, mit denen ihre freie Programmierung ermöglicht wird. Bei einem Digitalcomputer werden dabei zwei grundsätzliche Bestandteile unterschieden: Die Hardware, die aus den elektronischen, physisch anfassbaren Teilen des Computers gebildet wird, sowie die Software, die die Programmierung des Computers beschreibt.
Ein Digitalcomputer besteht zunächst nur aus Hardware. Die Hardware stellt erstens einen so genannten Speicher bereit, in dem Datenportionsweise wie auf den nummerierten Seiten eines Buches gespeichert und jederzeit zur Verarbeitung oder Ausgabe abgerufen werden können. Zweitens verfügt das Rechenwerk der Hardware über grundlegende Bausteine für eine freie Programmierung, mit denen jede beliebige Verarbeitungslogik für Daten dargestellt werden kann: Diese Bausteine sind im Prinzip die Berechnung, der Vergleich und der bedingte Sprung (siehe bei Sprunganweisung). Ein Digitalcomputer kann beispielsweise zwei Zahlen addieren, das Ergebnis mit einer dritten Zahl vergleichen und dann abhängig vom Ergebnis entweder an der einen oder der anderen Stelle des Programms fortfahren. In der Informatik wird dieses Modell theoretisch durch die Turing-Maschine abgebildet; die Turing-Maschine stellt die grundsätzlichen Überlegungen zurBerechenbarkeit dar.
Erst durch eine Software wird der Digitalcomputer jedoch nützlich. Jede Software ist im Prinzip eine definierte, funktionale Anordnung der oben geschilderten Bausteine Berechnung, Vergleich und Bedingter Sprung, wobei die Bausteine beliebig oft verwendet werden können. Diese Anordnung der Bausteine, die als Programm bezeichnet wird, wird in Form von Daten im Speicher des Computers abgelegt. Von dort kann sie von der Hardware ausgelesen und abgearbeitet werden. Dieses Funktionsprinzip der Digitalcomputer hat sich seit seinen Ursprüngen in der Mitte des 20. Jahrhunderts nicht wesentlich verändert, wenngleich die Details der Technologie erheblich verbessert wurden.
Analogrechner funktionieren nach einem anderen Prinzip. Bei ihnen ersetzen analoge Bauelemente (Verstärker, Kondensatoren) die Logikprogrammierung. Analogrechner wurden früher häufiger zur Simulation von Regelvorgängen eingesetzt (siehe: Regelungstechnik), sind heute aber fast vollständig von Digitalcomputern abgelöst worden. In einer Übergangszeit gab es auch Hybridrechner, die einen Analog- mit einem digitalen Computer kombinierten.
Das heute allgemein angewandte Prinzip, das nach seiner Beschreibung durch John von Neumann von 1946 als Von-Neumann-Architekturbezeichnet wird, definiert für einen Computer fünf Hauptkomponenten:
In den heutigen Computern sind die ALU und die Steuereinheit meistens zu einem Baustein verschmolzen, der so genannten CPU (Central Processing Unit, zentraler Prozessor).
Der Speicher ist eine Anzahl von durchnummerierten „Zellen“; jede von ihnen kann ein kleines Stück Information aufnehmen. Diese Information wird als Binärzahl, also einer Abfolge von ja/nein-Informationen im Sinne von Einsen und Nullen, in der Speicherzelle abgelegt. Ein Charakteristikum der Von-Neumann-Architektur ist, dass diese Binärzahl (bspw.: 01000001, was der Dezimalzahl 65 entspricht) entweder ein Teil der Daten (also z. B. die Zahl 65 oder der Buchstabe A) oder ein Befehl für die CPU (oben erwähnter „bedingter Sprung“) sein kann.
Wesentlich in der Von-Neumann-Architektur ist, dass sich Programm und Daten einen Speicherbereich teilen (dabei belegen die Daten in aller Regel den unteren und die Programme den oberen Speicherbereich).
Dem gegenüber stehen in der sog. Harvard-Architektur Daten und Programmen eigene (physikalisch getrennte) Speicherbereiche zur Verfügung, dadurch können Daten-Schreiboperationen keine Programme überschreiben.
In der Von-Neumann-Architektur ist die Steuereinheit dafür zuständig, zu wissen, was sich an welcher Stelle im Speicher befindet. Man kann sich das so vorstellen, dass die Steuereinheit einen „Zeiger“ auf eine bestimmte Speicherzelle hat, in der der nächste Befehl steht, den sie auszuführen hat. Sie liest diesen aus dem Speicher aus, erkennt zum Beispiel „65“, erkennt dies als „bedingter Sprung“. Dann geht sie zur nächsten Speicherzelle, weil sie wissen muss, wohin sie springen soll. Sie liest auch diesen Wert aus und interpretiert die Zahl als Nummer (so genannte Adresse) einer Speicherzelle. Dann setzt sie den Zeiger auf eben diese Speicherzelle, um dort wiederum ihren nächsten Befehl auszulesen; der Sprung ist vollzogen. Wenn der Befehl zum Beispiel statt „bedingter Sprung“ lauten würde „Lies Wert“, dann würde sie nicht den Programmzeiger verändern, sondern aus der in der Folge angegebenen Adresse einfach den Inhalt auslesen, um ihn dann beispielsweise an die ALU weiterzuleiten.
Die ALU hat die Aufgabe, Werte aus Speicherzellen zu kombinieren. Sie bekommt die Werte von der Steuereinheit geliefert, verrechnet sie (addiert beispielsweise zwei Zahlen, welche die Steuereinheit aus zwei Speicherzellen ausgelesen hat) und gibt den Wert an die Steuereinheit zurück, die den Wert dann für einen Vergleich verwenden oder wieder in eine dritte Speicherzelle zurückschreiben kann.
Die Ein-/Ausgabeeinheiten schließlich sind dafür zuständig, die initialen Programme in die Speicherzellen einzugeben und dem Benutzer die Ergebnisse der Berechnung anzuzeigen.
Die Von-Neumann-Architektur ist gewissermaßen die unterste Ebene des Funktionsprinzips eines Computers oberhalb der elektrophysikalischen Vorgänge in den Leiterbahnen. Die ersten Computer wurden auch tatsächlich so programmiert, dass man die Nummern von Befehlen und von bestimmten Speicherzellen so, wie es das Programm erforderte, nacheinander in die einzelnen Speicherzellen schrieb. Um diesen Aufwand zu reduzieren, wurden Programmiersprachen entwickelt. Diese generieren die Zahlen innerhalb der Speicherzellen, die der Computer letztlich als Programm abarbeitet, aus Textbefehlen heraus automatisch, die auch für den Programmierer einen semantisch verständlichen Inhalt darstellen (z. B. GOTO für den „unbedingten Sprung“).
Später wurden bestimmte sich wiederholende Prozeduren in so genannten Bibliotheken zusammengefasst, um nicht jedes Mal das Rad neu erfinden zu müssen, z. B.: das Interpretieren einer gedrückten Tastaturtaste als Buchstabe „A“ und damit als Zahl „65“ (im ASCII-Code). Die Bibliotheken wurden in übergeordneten Bibliotheken gebündelt, welche Unterfunktionen zu komplexen Operationen verknüpfen (Beispiel: die Anzeige eines Buchstabens „A“, bestehend aus 20 einzelnen schwarzen und 50 einzelnen weißen Punkten auf dem Bildschirm, nachdem der Benutzer die Taste „A“ gedrückt hat).
In einem modernen Computer arbeiten sehr viele dieser Programmebenen über- bzw. untereinander. Komplexere Aufgaben werden in Unteraufgaben zerlegt, die von anderen Programmierern bereits bearbeitet wurden, die wiederum auf die Vorarbeit weiterer Programmierer aufbauen, deren Bibliotheken sie verwenden. Auf der untersten Ebene findet sich aber immer der so genannte Maschinencode – jene Abfolge von Zahlen, mit der der Computer auch tatsächlich gesteuert wird.
Die Computertechnologie entwickelte sich im Vergleich zu anderen Elektrogeräten sehr schnell. Die Geschichte der Entwicklung des Computers reicht zurück bis in die Antike und ist damit wesentlich länger als die Geschichte der modernen Computertechnologien und mechanischen bzw. elektrischen Hilfsmitteln (Rechenmaschinen oder Hardware). Sie umfasst dabei auch die Entwicklung von Rechenmethoden, die etwa für einfache Schreibgeräte auf Papier und Tafeln entwickelt wurden. Im Folgenden wird entsprechend versucht, einen Überblick über diese Entwicklungen zu geben.
Das Konzept der Zahlen lässt sich auf keine konkreten Wurzeln zurückführen und hat sich wahrscheinlich mit den ersten Notwendigkeiten der Kommunikation zwischen zwei Individuen entwickelt. Man findet in allen bekannten Sprachen mindestens für die Zahlen eins und zweiEntsprechungen. Auch in der Kommunikation von vielen Tierarten (etwa verschiedener Primaten, aber auch Vögeln wie der Amsel) lässt sich die Möglichkeit der Unterscheidung unterschiedlicher Mengen von Gegenständen feststellen.
Die Weiterentwicklung dieser einfachen numerischen Systeme führte wahrscheinlich zur Entdeckung der ersten mathematischenRechenoperation wie der Addition, der Subtraktion, der Multiplikation und der Division bzw. auch der Quadratzahlen und der Quadratwurzel. Diese Operationen wurden formalisiert (in Formeln dargestellt) und dadurch überprüfbar. Daraus entwickelten sich dann weiterführende Betrachtungen, etwa die von Euklid entwickelte Darstellung des größten gemeinsamen Teilers.
Im Mittelalter erreichte das Arabische Zahlensystem Europa und erlaubte eine größere Systematisierung bei der Arbeit mit Zahlen. Die Möglichkeiten erlaubten die Darstellung von Zahlen, Ausdrücke und Formeln auf Papier und die Tabellierung von mathematischen Funktionen wie etwa der Quadratwurzeln rsp. des einfachen Logarithmus sowie der Trigonometrie. Zur Zeit der Arbeiten von Isaac Newton war Papier undVelin eine bedeutende Ressource für Rechenaufgaben und ist dies bis in die heutige Zeit geblieben, in der Forscher wie Enrico Fermiseitenweise Papier mit mathematischen Berechnungen füllten und Richard Feynman jeden mathematischen Schritt mit der Hand bis zur Lösung berechnete, obwohl es zu seiner Zeit bereits programmierbare Rechner gab
Das früheste Gerät, das in rudimentären Ansätzen mit einem heutigen Computer vergleichbar ist, ist der Abakus, eine mechanische Rechenhilfe, die vermutlich um 1100 v. Chr. im indochinesischen Kulturraum erfunden wurde. Der Abakus wurde bis ins 17. Jahrhundert benutzt und dann von den ersten Rechenmaschinen ersetzt. In einigen Regionen der Welt wird der Abakus noch immer als Rechenhilfe verwendet. Einem ähnlichen Zweck diente auch das Rechenbrett des Pythagoras.