Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Ein Computer (englisch compute latein computare deutsch ( zusammen -) rechnen ) oder Rechner ist ein Apparat der Informationen mit einer programmierbaren Rechenvorschrift verarbeiten kann ( Datenverarbeitungsanlage ). Der englische Begriff computer abgeleitet vom Verb to compute (zählen) entstand im 19. Jahrhundert als für Volkszähler . Computer sind frei programmierbare Rechenmaschinen - d.h. die Eingabe Verarbeitung und von Daten ist frei programmierbar.
Bei der heute weiten Verbreitung von PCs (englisch personal computer deutsch persönlicher Computer ) wird der PC häufig auch kurz Computer bezeichnet. Ein Computer ist ein Digitalcomputer wenn er mit digitalen Geräteeinheiten digitale und er ist ein Analogcomputer wenn er mit analogen Geräteeinheiten analoge verarbeitet.
Computer werden heute in allen Bereichen täglichen Lebens eingesetzt. Sie dienen der Speicherung Verarbeitung und Ausgabe von Informationen in und Behörden der Berechnung der Statik von Bauwerken bis hin zur Steuerung von Waschmaschinen und Automobilen. Die leistungsfähigsten werden eingesetzt um komplexe Vorgänge zu simulieren : beispielsweise in der Klimaforschung bei thermodynamischen bis hin zu militärischen Aufgaben z.B. die des Einsatzes von nuklearen Waffen.
Viele Geräte des Alltags vom Telefon über den Videorecorder bis hin zur Münzprüfung im Warenautomaten heute von integrierten Kleinstcomputern gesteuert ( Embedded System ).
Ursprünglich war die Informationsverarbeitung mit Computern die Verarbeitung von Zahlen beschränkt. Durch die zunehmende Leistungsfähigkeit eröffneten neue Einsatzbereiche.
Digitalcomputer folgen gemeinsamen Grundprinzipien die ihre freie erst ermöglichen:
ein Speicher in dem Datenbestände (Datenstrukturen) wie in Schubladen gespeichert und zur Verarbeitung oder Ausgabe abgerufen werden können.
grundlegende Bausteine für eine freie Programmierung mit denen eine jede beliebige Verarbeitungslogik Daten dargestellt werden kann: Die Berechnung der Vergleich und der bedingte Sprung . Ein Computer kann beispielsweise zwei Zahlen das Ergebnis mit einer dritten Zahl vergleichen dann abhängig vom Ergebnis entweder an der oder der anderen Stelle des Programms fortfahren. Computerprogramm verwendet die Sprachelemente gemäß der Syntax Programmiersprache; diese Programmiersprache stellt dem Programmierer alle Anweisungen und Operatoren für die Eingabe Verarbeitung Ausgabe von Daten zur Verfügung.
Analogrechner funktionieren jedoch nach einem anderen Prinzip: ihnen ersetzen analoge Bauelemente ( Verstärker Kondensatoren ) die Logikprogrammierung. Analogrechner wurden früher häufiger Simulation von Regelvorgängen eingesetzt (siehe: Regelungstechnik ) sind heute aber fast vollständig von Digitalcomputern (die alle nach dem erstgenannten Prinzip verdrängt worden.
Das Funktionsprinzip der Digitalcomputer hat sich seinen Ursprüngen in der Mitte des letzten nicht wesentlich verändert wenngleich die Details der erheblich verbessert wurden.
Bei einem Computer werden dabei zwei Bausteine unterschieden:
die Hardware ('Anfassbare Sachen') die aus den elektronischen anfassbaren Teilen des Computers gebildet wird
die Software ('Weichzeugs') nämlich die Programmierung des Computers.
Ein Computer besteht zunächst nur aus - erst durch seine Software wird er nützlich.
Das heute allgemein angewandte Prinzip das seiner Beschreibung von John von Neumann von 1946 als " Von-Neumann-Architektur " bezeichnet wird definiert für einen Computer Hauptkomponenten:
Allerdings wurde dieses Prinzip schon 1936 von Konrad Zuse entwickelt 1937 in zwei Patentschriften dokumentiert und 1938 in der Z1 erstmals realisiert. In den heutigen Computern sind die und die Steuereinheit meist zu einem Baustein der so genannten CPU (Central Processing Unit zentraler Prozessor ).
Der Speicher ist eine Anzahl von "Zellen" jede dieser Zellen kann ein kleines Information aufnehmen. Diese Information wird als Binärzahl also einer Abfolge von ja/nein-Informationen in Speicherzelle abgelegt. Charakteristikum der "Von Neumann-Architektur" ist diese Zahl (z.B. 65) entweder ein Teil Daten sein kann (also z.B. der Buchstabe oder ein Befehl für die CPU ("Springe...").
Wesentlich in der Von-Neumann-Architektur ist dass Programm und Daten einen Speicherbereich teilen (dabei die Daten in aller Regel den unteren die Programme den oberen Speicherbereich). Dem gegenüber in der sog. Harvard-Architektur Daten und Programmen eigene (physikalisch getrennte) gegenüber. Dadurch können Daten-Schreiboperationen keine Programme überschreiben.
In der Von-Neumann-Architektur ist die Steuereinheit zuständig zu wissen was sich an welcher im Speicher befindet. Man kann sich das vorstellen dass die Steuereinheit einen "Zeiger" auf bestimmte Speicherzelle hat in der der nächste steht den sie auszuführen hat. Sie liest aus dem Speicher aus erkennt zum Beispiel erkennt dies als "Springe". Dann geht sie nächsten Speicherzelle weil sie wissen muss wo hinspringen soll. Sie liest auch diesen Wert interpretiert die Zahl als Nummer (so genannte Adresse ) einer Speicherzelle. Dann setzt sie den auf eben diese Speicherzelle um dort wiederum nächsten Befehl auszulesen; der Sprung ist vollzogen. der Befehl zum Beispiel statt "Springe" lauten "Lies Wert" dann würde sie nicht den verändern sondern aus der in der Folge Adresse einfach den Inhalt auslesen um ihn beispielsweise an die ALU weiterzuleiten:
Die ALU hat die Aufgabe Werte Speicherzellen zu kombinieren. Sie bekommt die Werte der Steuereinheit geliefert verrechnet sie (addiert z.B. Zahlen welche die Steuereinheit aus zwei Speicherzellen hat)und gibt den Wert an die Steuereinheit welche den Wert dann für einen Vergleich oder wieder in eine dritte Speicherzelle zurückschreiben
Die Ein-/Ausgabeeinheiten schließlich sind dafür zuständig initialen Programme in die Speicherzellen eingeben und Ergebnisse der Berechnung einem Benutzer auch wieder zu können.
Die Von-Neumann-Architektur ist gewissermaßen die unterste des Funktionsprinzips eines Computers oberhalb der elektrophysikalischen in den Leiterbahnen. Die ersten Computer wurden tatsächlich so programmiert dass man die Nummern Befehlen und von bestimmten Speicherzellen so wie das Programm erforderte nacheinander in die einzelnen schrieb.
Um diesen Aufwand zu reduzieren wurden Programmiersprachen entwickelt. Diese generieren die Zahlen innerhalb Speicherzellen die der Computer letztlich als Programm aus höheren Strukturen heraus automatisch.
Sodann wurden bestimmte sich wiederholende Prozeduren so genannten Bibliotheken zusammengefasst um nicht jedes Mal das neu erfinden zu müssen z. B. das einer gedrückten Tastaturtaste als Buchstabe "A" und als Zahl "65". Die Bibliotheken wurden in Bibliotheken gebündelt welche Unterfunktionen zu komplexen Operationen (Beispiel: die Anzeige eines Buchstabens "A" bestehend 20 einzelnen schwarzen und 50 einzelnen weißen auf dem Bildschirm nachdem der Benutzer die "A" gedrückt hat).
In einem modernen Computer arbeiten also viele dieser Programmebenen über- bzw. untereinander: Komplexere werden in Unteraufgaben zerlegt welche von anderen bereits bearbeitet wurden die wiederum auf die weiterer Programmierer aufbauen deren Bibliotheken sie verwenden. der untersten Ebene findet sich dann aber der so genannte Maschinencode - jene Abfolge von Zahlen mit der Computer auch tatsächlich rechnen kann.
1890 US-Volkszählung mit Hilfe des Lochkartensystems von Herman Hollerith durchgeführt; Torres y Quevedo baut eine Schachmaschine die mit König und Turm einen matt setzen kann
1935 International Business Machines stellt die IBM 601 vor eine die eine Multiplikation/Sekunde durchführen kann. Es werden 1500 Stück der Maschine verkauft.
1938 Konrad Zuse stellt die Zuse Z1 fertig einen frei programmierbaren mechanischen Rechner allerdings aufgrund von Problemen mit der Fertigungspräzision voll funktionstüchtig war. Die Z1 verfügte bereits über Fließkommarechnung.
Während des zweiten Weltkrieges gibt Alan Turing die entscheidenden Hinweise Entschlüsselung der ENIGMA -Codes und baut dafür einen speziellen mechanischen
Ebenfalls im Krieg baut Konrad Zuse die erste funktionstüchtige programmgesteuerte binäre Rechenmaschine bestehend aus einer großen Zahl Relais die Z3. Zeitgleich werden in den USA ähnliche elektronische Maschinen zur numerischen Berechnung gebaut. Auch Maschinen auf analoger Basis werden erstellt.
1949 Maurice Wilkes stellt mit seinem Team Cambridge den "EDSAC" (Electronic Delay Storage Automatic basierend auf Neumanns EDVAC ist es der Rechner der vollständig speicherprogrammierbar ist
1949 Konrad Zuse stellt die Z4 fertig deren Bau schon 1942 begonnen und 1944 in wesentlichen Teilen abgeschlossen war aber kriegsbedingt nicht fertiggestellt werden konnte.
Unzufrieden mit der bürokratisierten zentralen Architektur Rechenzentren entwerfen Steven Wozniak und Steve Jobs einen der ersten Personal-Computer der alle funktionalen Elemente eines Computersystems aber von jedermann erworben und verändert werden Bereits ein Jahr zuvor brachte die Firma den Altair 8800 auf den Markt. Bei Xerox PARC werden viele der Konzepte und Techniken bis heute in unseren PCs tätig sind
Beginn des 21. Jahrhunderts : Weitere Steigerung der Leistungsfähigkeit fortschreitende Verkleinerung Integration von Telekommunikation und Bildbearbeitung . Allgemeine weltweite Verbreitung und Akzeptanz. Wechsel klassischen Informationsdienstleistungen (Datendienste Vermittlung Handel Medien) in digitale Weltmedium Internet .
Zukünftige Entwicklungen bestehen aus der möglichen biologischer Systeme ( Biocomputer ) optischer Signalverarbeitung und neuen physikalischen Modellen Quantencomputer ). Weitere Verknüpfungen zwischen biologischer und technischer Nicht zu vergessen bessere Expertensysteme und Künstliche Intelligenzen die ein Bewusstsein entwickeln oder sich verbessern.