Computer
Ein Computer (engl. compute, lat. computare, dt. (zusammen-)rechnen) oder Rechner ist ein Apparat, der Informationen mit Hilfe einer programmierbaren Rechenvorschrift verarbeiten kann (Datenverarbeitungsanlage). Computer sind frei programmierbare Rechenmaschinen - d.h. die Eingabe, Verarbeitung und Ausgabe von Daten ist frei programmierbar.
Bei der heute weiten Verbreitung von PC (engl. personal computer, dt. persönlicher Computer) wird der PC häufig auch kurz als Computer bezeichnet. Ein Computer ist ein Digitalcomputer wenn er mit digitalen Geräteeinheiten digitale Daten und er ist ein Analogcomputer, wenn er mit analogen Geräteeinheiten analoge Daten verarbeitet.
Computer werden heute in allen Bereichen des täglichen Lebens eingesetzt. Sie dienen der Speicherung, Verarbeitung und Ausgabe von Informationen in Wirtschaft und Behörden, der Berechnung der Statik von Bauwerken bis hin zur Steuerung von Waschmaschinen und Automobilen. Die leistungsfähigsten Computer werden eingesetzt, um komplexe Vorgänge zu simulieren: beispielsweise in der Klimaforschung, bei thermodynamischen Fragen bis hin zu militärischen Aufgaben, z.B. die Simulation des Einsatzes von nuklearen Waffen.
Viele Geräte des Alltags, vom Telefon über den Videorecorder bis hin zur Münzprüfung im Warenautomaten, werden heute von integrierten Kleinstcomputern gesteuert (Embedded System).
Ursprünglich war die Informationsverarbeitung mit Computern auf die Verarbeitung von Zahlen beschränkt. Durch die zunehmende Leistungsfähigkeit eröffneten sich neue Einsatzbereiche.
Digitalcomputer folgen gemeinsamen Grundprinzipien, die ihre freie Programmierung erst ermöglichen:
- ein Speicher, in dem Datenbestände (Datenstrukturen) wie in Schubladen gespeichert und jederzeit zur Verarbeitung oder Ausgabe abgerufen werden können.
- grundlegende Bausteine für eine freie Programmierung, mit denen eine jede beliebige Verarbeitungslogik für Daten dargestellt werden kann: Die Berechnung, der Vergleich, und der bedingte Sprung. Ein Computer 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. Ein Computerprogramm verwendet die Sprachelemente gemäss der Sprachsyntax einer Programmiersprache; diese Programmiersprache stellt dem Programmierer alle erforderlichen Anweisungen und Operatoren für die Eingabe, Verarbeitung und Ausgabe von Daten zur Verfügung.
In der Informatik wird dieses Modell theoretisch durch die Turing-Maschine abgebildet; die Turing-Maschine erlaubt viele grundsätzliche Überlegungen zur Berechenbarkeit.
Analogrechner funktionieren jedoch 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 (die alle nach dem erstgenannten Prinzip arbeiten) verdrängt worden.
Das Funktionsprinzip der Digitalcomputer hat sich seit seinen Ursprüngen in der Mitte des letzten Jahrhunderts nicht wesentlich verändert, wenngleich die Details der Technologie erheblich verbessert wurden.
Bei einem Computer werden dabei zwei grundsätzliche Bausteine unterschieden:
- die Hardware ('Anfassbare Sachen'), die aus den elektronischen, physisch anfassbaren Teilen des Computers gebildet wird,
- die Software ('Weichzeugs'), nämlich die Programmierung des Computers.
Ein Computer besteht zunächst nur aus Hardware - erst durch seine Software wird er tatsächlich nützlich.
Hardwarearchitektur
Das Prinzip, das nach ihrer Beschreibung von John von Neumann von 1946 als "Von-Neumann-Architektur" bezeichnet wird, definiert für einen Computer vier Hauptkomponenten:
- die Arithmetisch-Logische Einheit (ALU)
- die Steuereinheit
- den Speicher und
- die Eingabe-/Ausgabeeinheiten.
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 ALU und die Steuereinheit meist zu einem Baustein verschmolzen, der so genannten CPU (Central Processing Unit, zentraler Prozessor).
Der Speicher ist eine Anzahl von durchnummerierten "Zellen", jede dieser Zellen kann ein kleines Stück Information aufnehmen. Diese Information wird als Binärzahl, also einer Abfolge von ja/nein-Informationen, in der Speicherzelle abgelegt. Charakteristikum der "Von Neumann-Architektur" ist, dass diese Zahl (z.B. 65) entweder ein Teil der Daten sein kann (also z.B. der Buchstabe "A"), oder ein Befehl für die CPU ("Springe...").
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 gegenüber.
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 "Springe". Dann geht sie zur nächsten Speicherzelle, weil sie wissen muss, wo sie hinspringen soll. Sie liest auch diesen Wert aus, 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 "Springe" 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 z.B. zwei Zahlen, welche die Steuereinheit aus zwei Speicherzellen ausgelesen hat)und gibt den Wert an die Steuereinheit zurück, welche 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 eingeben und die Ergebnisse der Berechnung einem Benutzer auch wieder anzeigen zu können.
Die Von-Neumann-Architektur ist gewissermaßen die tiefste 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 höheren Strukturen heraus automatisch.
Sodann 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". 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 also sehr viele dieser Programmebenen über- bzw. untereinander: Komplexere Aufgaben werden in Unteraufgaben zerlegt, welche von anderen Programmierern bereits bearbeitet wurden, die wiederum auf die Vorarbeit weiterer Programmierer aufbauen, deren Bibliotheken sie verwenden. Auf der untersten Ebene findet sich dann aber immer der so genannte Maschinencode - jene Abfolge von Zahlen, mit denen der Computer auch tatsächlich rechnen kann.
Typen
Personal-Computer - Mini-Computer - PDAs - Großrechner - Heimcomputer - Einchip-Computer/Mikrocontroller - Spielkonsolen - Supercomputer - Netzwerkrechner Dual-Prozessoring Rechner Parallelrechner
Hardware
CPU - Speichermedien - Grafikkarte - Hauptplatine - Peripheriegerät -
Software
Betriebssystem - Anwendungsprogramm - Hilfsprogramm - Programmiersprachen - Computerspiele
Sicherheit
Computersicherheit - Betriebssystemsicherheit - Netzwerksicherheit - Sicherheitslücke - TPM
Geschichte
Levy: Die Entwicklung des Computers
Antike
- Abakus älteste mechanische Rechenhilfe
- Rechenbrett des Pythagoras
- 1614 John Napier publiziert seine Logarithmentafel
- 1623 Erste Vier-Spezies-Maschine durch Wilhelm Schickard
- 1642 Blaise Pascal baut eine Rechenmaschine
- 1668 Samuel Morland entwickelt eine Rechenmaschine die nicht dezimal addiert, sondern auf das englische Geldsystem abgestimmt ist
- 1673 Rechenmaschine von Gottfried Leibniz
(Mechanische Rechenmaschinen - ein entwicklungsgeschichtlicher Abriss http://www.ph-ludwigsburg.de/mathematik/mmm/geschichte.htm)
- 1805 Joseph-Marie Jacquard entwickelt Lochkarten um Webstühle zu steuern
- 1820 Charles Xavier Thomas de Colmar baut das "Arithmometer", der erste Rechner in Massenproduktion
- Charles Babbage entwickelt die Difference Engine 1822 und die Analytical Engine 1833, kann sie aber aus Geldmangel nicht bauen
- 1843 Edvard und George Scheutz bauen in Stockholm den ersten mechanischen Computer nach den Ideen von Babbage
- 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 König matt setzen kann
- 1935 International Business Machines stellt die IBM601 vor, eine Lochkartenmaschine die eine Multiplikation/Sekunde durchführen kann. Es werden ca. 1500 Stück der Maschine verkauft.
- 1937 Konrad Zuse meldet zwei Patente an, die bereits alle Elemente der so genannten Von-Neumann-Architektur beschreiben.
- 1937 Alan Turing publiziert einen Artikel, der die "Turing-Maschine" beschreibt.
- 1938 Konrad Zuse stellt die Zuse Z1 fertig, einen frei programmierbaren mechanischen Rechner, der allerdings aufgrund von Problemen mit der Fertigungspräzision nie voll funktionstüchtig war. Die Z1 verfügte bereits über Fließkommarechnung.
- 1938 Claude Shannon publiziert einen Artikel darüber, wie man symbolische Logik mit Relais implementieren kann
Während des zweiten Weltkrieges gibt Alan Turing die entscheidenden Hinweise zur Entschlüsselung der ENIGMA-Codes und baut dafür einen speziellen elektronischen Rechner.
Ebenfalls im Krieg baut Konrad Zuse die erste funktionstüchtige programmgesteuerte, binäre Rechenmaschine, bestehend aus einer großen Zahl von Relais, die Z3. Zeitgleich werden in den USA ähnliche elektronische Maschinen zur numerischen Berechnung gebaut. Auch Maschinen auf analoger Basis werden erstellt.
- 1941 Konrad Zuse stellt die Z3 fertig, die heute als der erster funktionstüchtige Computer gilt
- 1943 Tommy Flowers stellt mit seinem Team in Bletchley Park den ersten "Colossus" fertig
- 1944 Fertigstellung des ASCC (Automatic Sequence Controlled Computer, "Mark I" durch Howard H. Aiken)
Zur Architektur der Rechenmaschinen Z1 und Z3: http://www.zib.de/zuse/Inhalt/Kommentare/Html/0687/0687.html
- 1946 ENIAC (Electronic Numerical Integrator and Computer) wird unter der Leitung von John Eckert und John Mauchly entwickelt
- 1947 IBM baut den SSEC
- 1947 Erfindung des Transistors
- 1949 Maurice Wilkes stellt mit seinem Team in Cambridge den "EDSAC" (Electronic Delay Storage Automatic Computer); basierend auf Neumanns EDVAC ist es der erste Rechner, der vollständig speicherprogrammierbar ist
- 1949 Konrad Zuse stellt die Z4 fertig, deren Bau schon 1942 begonnen wurde und 1944 in wesentlichen Teilen abgeschlossen war, die aber kriegsbedingt nicht fertiggestellt werden konnte.
- 1950 Die Z4 geht an der ETH Zürich in Betrieb
- 1951 Univac I, kommerzieller Röhrenrechner der RAND Corporation
- 1956 Erstes Magnetplattensystem von IBM (RAMAC)
- 1960 IBM 1401, transistorisierter Rechner mit Lochkartensystem
- 1960 DECs erster Minicomputer, die PDP-1 (Programmierbarer Datenprozessor) erscheint
- 1964 DEC baut den Minicomputer PDP-8 für unter 20000 Dollar
- 1964 IBM definiert die erste Computerarchitektur S/360, Rechner verschiedener Leistungsklassen können denselben Code ausführen
- 1964 bei Texas Instruments wird der erste "Integrierte Schaltkreis", IC, entwickelt
Unzufrieden mit der bürokratisierten, zentralen Architektur von Rechenzentren, entwerfen Steven Wozniak und Steve Jobs den ersten Personal-Computer, der alle funktionalen Elemente eines Computersystems enthält, aber von jedermann erworben und verändert werden kann. Bei Xerox PARC werden viele der Konzepte und Techniken, die bis heute in unseren PCs tätig sind, entwickelt.
- 1970 Intel baut mit dem 4004 den ersten in Serie gefertigten Mikroprozessor (2250 Transistoren)
- 1972 der Illiac IV, ein Supercomputer mit Array-Prozessoren geht in Betrieb
- 1973 Xerox Alto - Der erste Computer mit Maus, GUI und eingebauter Ethernet-Karte.
- 1974 Motorola baut den 6800 Prozessor; Intel baut den 8080 Prozessor
- 1976 die Firma Apple Computer bringt den Apple I auf den Markt; Zilog entwickelt den Z80 Prozessor
- 1977 der Apple II, der Commodore PET und der Tandy TRS 80 kommen auf den Markt.
- 1978 DEC bringt die VAX-11/780, eine Maschine speziell für virtuelle Speicheradressierung, auf den Markt
- 1980er: Blütezeit der Heimcomputer, zunächst mit 8-Bit-Mikroprozessoren und einem Arbeitsspeicher bis 64 kB (Commodore VC20, C64, Sinclair ZX80/81, Sinclair ZX Spectrum, Schneider CPC 464/664), später auch leistungsfähigere Modelle mit 16-Bit-Mikroprozessoren (z. B. Amiga, Atari ST)
- 1980 IBM stellt den IBM-PC (Personal-Computer) vor und bestimmt damit entscheidend die weitere Entwicklung
- 1982 Intel bringt den 80286-Prozessor auf den Markt
- 1982 Sun Microsystems entwickelt die Sun-1 Workstation
- 1984 der Apple Macintosh kommt auf den Markt und setzt neue Maßstäbe für Benutzerfreundlichkeit
- 1986 Intel bringt den 80386-Prozessor auf den Markt; Motorola präsentiert den 68030-Prozessor; Commodore produziert den Amiga-Heimcomputer
- 1989 Intel bringt den 80486 auf den Markt
Internet ...
- 1991 Das AIM-Konsortium (Apple, IBM, Motorola) spezifiziert die PowerPC-Plattform
- 1992 DEC stellt die ersten Systeme mit dem 64-Bit-Alpha-Prozessor vor
- 1993 Intel bringt den Pentium-Prozessor auf den Markt
- 1994 Leonard Adleman stellt mit dem TT-100 den ersten Prototypen für einen DNA-Computer vor.
- 1995 Intel bringt den Pentium-Pro-Prozessor auf den Markt
- 1999 Intel baut den Supercomputer ASCI Red mit 9.472 Prozessoren
- 1999 AMD baut den "Athlon"-Prozessor, erstmals kann AMD im Kampf gegen Intel Boden gut machen.
Gegenwart: Zur Zeit haben allein in Deutschland mehrere Millionen Menschen ein eigenes Computersystem.
Beginn des 21. Jahrhunderts: Weitere Steigerung der Leistungsfähigkeit, fortschreitende Verkleinerung und Integration von Telekommunikation und Bildbearbeitung. Allgemeine, weltweite Verbreitung und Akzeptanz. Wechsel von klassischen Informationsdienstleistungen (Datendienste, Vermittlung, Handel, Medien) in das digitale Weltmedium Internet.
- 2001 IBM baut den Supercomputer ASCI White
- 2002 der NEC Earth Simulator geht in Betrieb
- 2003 AMD stellt seine erste 64bit-CPU, den "Opteron", vor. Konzipiert für den Serverbereich, soll er Intels Marktanteile schrumpfen lassen.
- 2004 Januar; AMD liefert endlich genügend "Opteron"-CPUs, gleichzeitig wird die abgespeckte Desktop-CPU "Athlon FX" gelaunched. Erste Tests zeigen, dass die niedrig getakteten AMD-Opteron/Athlon FX-Prozessoren mit ca. 2Ghz Intels Flaggschiff mit 3,2 Ghz den Rang ablaufen. Zum Jahresbeginn gilt noch Zurückhaltung bei den Großabnehmern, die positive Resonanz der Home-User jedoch lässt darauf schließen, dass AMD 2004 bei gut geplanter Marketingstrategie im Serverbereich endlich Fuß fassen kann.
Stichworte zur Geschichte der Rechentechnik
ARPANET, Gunter, Hahn, Hamann, Logarithmentafel, OHDNER, OUGHTRED, PARTRIDGE, Pascal, Rechenschieber, Rechenstab, ROTH, Sprossenradmaschine, Zweispeziesrechner
Zukunft
Zukünftige Entwicklungen bestehen aus der möglichen Nutzung biologischer Systeme (Biocomputer), optischer Signalverarbeitung und neuen physikalischen Modellen (Quantencomputer). Weitere Verknüpfungen zwischen biologischer und technischer Informationsverarbeitung. Nicht zu vergessen bessere Expertensysteme und Künstliche Intelligenzen, die ein Bewusstsein entwickeln oder sich selbst verbessern.
Weblinks
- Virtuelles Computermuseum: http://www.homecomputermuseum.de
- Computergeschichte: http://www.computergeschichte.de
- Größtes (angeblich) Computermuseum der Welt in Paderborn: http://www.hnf.de
- http://www.hchistory.de/index.php3
- Ein Foliant zur Geschichte der Datenübertragung
- Liste der 500 stärksten Computer: http://www.top500.org/
Siehe auch: Logikus Spielcomputer, Quantencomputer [[zh:计算机]