Zum Inhalt springen

Computer

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. Januar 2005 um 10:26 Uhr durch 80.86.167.100 (Diskussion) (Bekannte [[Programmierer]] und Computerpioniere (Auswahl)). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Computer Vorlage:Lautschrift (englisch compute, latein computare, deutsch (zusammen-)rechnen) oder Rechner (latein computator) ist ein Apparat, der Informationen mit Hilfe einer programmierbaren Rechenvorschrift (Algorithmus) verarbeiten kann (Datenverarbeitungsanlage). Der englische Begriff computer, abgeleitet vom Verb to compute (rechnen), entstand im 19. Jahrhundert als Bezeichnung für Volkszähler. Zunächst wurden Arbeiter, die entsprechende Maschinen bedienten, als Computer bezeichnet, später ging der Begriff auf diese Maschinen über. Computer sind frei programmierbare Rechenmaschinen - das heißt die Eingabe, Verarbeitung und Ausgabe von Daten ist frei programmierbar.

Ursprünglich war die Informationsverarbeitung mit Computern auf die Verarbeitung von Zahlen beschränkt. Durch die zunehmende Leistungsfähigkeit eröffneten sich neue Einsatzbereiche, Computer sind heute in praktisch allen Bereichen des täglichen Lebens vorzufinden: 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, zum Beispiel die Simulation des Einsatzes von nuklearen Waffen oder Medizinischen Berechnungen. 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).

Grundprinzipien

Grundsätzlich sind zwei Bauweisen zu unterscheiden: Ein Computer ist ein Digitalcomputer, wenn er mit digitalen Geräteeinheiten digitale Daten verarbeitet; er ist ein Analogcomputer, wenn er mit analogen Geräteeinheiten analoge Daten verarbeitet.

Bis auf wenige Ausnahmen werden heute 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 Bausteine unterschieden: Die Hardware ('Anfassbare Sachen'), die aus den elektronischen, physisch anfassbaren Teilen des Computers gebildet wird, sowie die Software ('Weichzeugs'), die die Programmierung des Computers beschreibt.

Ein Digitalcomputer besteht zunächst nur aus Hardware. Die Hardware stellt erstens einen sogenannten Speicher bereit, in dem Daten wie in Schubladen 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. 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 erlaubt viele grundsätzliche Überlegungen zur Berechenbarkeit.

Erst durch 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 letzten Jahrhunderts nicht wesentlich verändert, wenngleich die Details der Technologie erheblich verbessert wurden.

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 verdrängt worden.

Hardwarearchitektur

Das heute allgemein Angewandte Prinzip, das nach seiner Beschreibung von John von Neumann von 1946 als "Von-Neumann-Architektur" bezeichnet wird, definiert für einen Computer vier Hauptkomponenten:

  • die Recheneinheit (Arithmetisch-Logische Einheit (ALU)),
  • die Steuereinheit,
  • den Speicher und
  • die Eingabe- und Ausgabeinheit(en).

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 (beispielsweise 65) entweder ein Teil der Daten sein kann (also zum Beispiel 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 beispielsweise 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 einzugeben und die Ergebnisse der Berechnung einem Benutzer auch wieder anzeigen zu können.

Softwarearchitektur

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 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...

Geschichte

Levy: Die Entwicklung des Computers

Intelligenter Persönlicher AssistentIntelligenter Persönlicher AssistentBitcoinCloud ComputingGoogle EarthPeer-to-PeerVideoportalVRMLSuchmaschineStreaming MediaSuchmaschineWebcamWebbrowserFile Transfer ProtocolWYSIWYGUsenetSPAMMailbox (Computer)TabellenkalkulationEgo-ShooterIP-TelefoniePongE-MailDatenbanksystemTextverarbeitungComputerspielOPREMAOPREMACompilerComputermusikComputermusikMark I (Computer)ColossusZuse Z3#AnwendungSwift (Programmiersprache)Julia (Programmiersprache)TypeScriptKotlin (Programmiersprache)Rust (Programmiersprache)Go (Programmiersprache)Windows PowerShellF-SharpKylixC-SharpD (Programmiersprache)PHPRuby (programming language)Java (Programmiersprache)JavaScriptDelphi (Programmiersprache)AppleScriptVisual BasicPython (Programmiersprache)PerlSQLHyperCardEiffel (Programmiersprache)PostScriptPARADOXTurbo PascalC++Ada (Programmiersprache)DBASEREXXVISICALCPrologC (Programmiersprache)SmalltalkPascal (Programmiersprache)LogoBASICPLISimulaAPL (Programmiersprache)COBOLLISPALGOLFORTRANMark I AutocodeA-0PlankalkülMicrosoft Windows 11LineageOSMicrosoft Windows 10Firefox OSMicrosoft Windows 8Google Chrome OSMicrosoft Windows 7CyanogenModAndroid (Betriebssystem)Apple iOSMicrosoft Windows VistaUbuntuMicrosoft Windows Server 2003Z/OSMicrosoft Windows XPMac OS XExtensible Firmware InterfaceMicrosoft Windows 2000Microsoft Windows Millennium EditionMac OSMac OSMicrosoft Windows 98EPOC (computing)Mac OSDebian GNU/LinuxMicrosoft Windows 95OS/390OpenBSDRed Hat LinuxRed Hat LinuxWindowsWindowsSolaris (Betriebssystem)Linux (Betriebssystem)OSF/1BeOSSCO UNIXRISC OSNEXTSTEPOS/400WindowsOS/2MinixIRIXApple IIgsAIX operating systemWindowsTOSAmigaOSMac OSHP-UXApple LisaSunOSMS-DOSBasic Input Output SystemOS-9Virtual Memory SystemApple DOSApple DOSCP/MMVSVM/CMSUnixAirline Control ProgramCP/CMSOS/360Zen (Mikroarchitektur)Oculus RiftGoogle GlassIntel-Core-i-SerieiPhoneAMD K10Intel CoreAthlon 64PowerPC 970Intel Pentium IIIApple Power MacintoshApple iMacNokia CommunicatorIntel PentiumIntel 80486PS/2Connection MachineAcorn ArchimedesApple IIgsAmstrad 1512Atari STAmiga 1000IBM PC ATApple MacintoshIBM PCjrIBM PC XTApple LisaConnection MachineARM-ArchitekturZX SpectrumCompaq PortableIntel 80286Commodore 64BBC MicroIBM-PCZX818010ZX80Commodore VIC-20Motorola 68000Commodore PET 2001Intel 8086TRS-80Apple IIMOS Technologies 6502CrayZilog Z80Einplatinen-ComputerEinplatinen-ComputerAltair 8800Altair 8800Altair 8800Motorola 6800Intel 8080Programmierbarer TaschenrechnerProgrammierbarer TaschenrechnerSuperminicomputerSuperminicomputerIntel 8008Intel 4004BESM (Computer)CDC 6600PDP-8System/360ATLASOPREMATRADICBESM (Computer)UNIVAC 1101UNIVAC IRemington Rand 409BINACElectronic Discrete Variable Automatic ComputerElectronic Delay Storage Automatic CalculatorManchester Mark IENIACZuse Z4ColossusBell Laboratories#MeilensteineHarvard Mark IAtanasoff-Berry-ComputerZuse Z3Zuse Z3Bell Laboratories#MeilensteineZuse Z1Smartphone#SmartletsTablet-ComputerThunderbolt (Schnittstelle)USB 3.0GPGPUPCI-ExpressHigh Definition Multimedia InterfaceHyperTransportSerial ATADigital Visual InterfaceEthernet#Gigabit-EthernetDSLDVD-BrennerUniversal Serial BusFireWireDNA-ComputerCD-iVESASVGAHyper-ThreadingAdvanced Technology AttachmentExtended Industry Standard ArchitectureVGACD-ROMEnhanced Graphics AdapterPostScriptExpanded Memory SpecificationAdvanced Technology AttachmentDomain Name SystemGNUSoundkarteKoprozessorLaptopRISCMusical Instrument Digital InterfaceColor Graphics AdapterIndustry Standard ArchitectureWIMP (Benutzerschnittstelle)GUIFestplattenlaufwerkSCSICompact DiscSolid-State-DriveARCNETLaserdruckerTCP/IP#GeschichteEthernetSpielkonsoleMikroprozessor#GeschichteDisketteDynamic Random Access MemoryRS-232ARPANETLichtwellenleiterPaketvermittlungFuzzy-LogikTime SharingMaus (EDV)PagingVirtueller SpeicherInterruptSpoolingIntegrierter SchaltkreisIntegrierter SchaltkreisMatrixdruckerFestplatteKernspeicherKernspeicherMagnettrommelspeicherHalbleiterspeicherTransistorRegister (Computer)#GeschichteAnwendungssoftwareProgrammierspracheBetriebssystemHardwareErfindungComputer#Geschichte

Antike

Mechanische Rechenmaschinen - ein entwicklungsgeschichtlicher Abriss

  • 1935 International Business Machines stellt die IBM 601 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. Die Z1 wurde im Krieg zerstört und später nach Originalplänen eine neue Z1 gefertigt, deren Teile auf modernen Fräs- und Drehbänken hergestellt wurden. Dieser Nachbau der Z1 ist mechanisch voll funktionsfähig und hat eine Rechengeschwindigkeit von 1 Hz (eine Rechenoperation pro Sekude)
  • 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 mechanischen 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.

Zur Architektur der Rechenmaschinen Z1 und Z3: http://www.zib.de/zuse/Inhalt/Kommentare/Html/0687/0687.html

  • 1960 IBM 1401, transistorisierter Rechner mit Lochkartensystem
  • 1960 DECs (Digital Equipment Corporation) 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
  • 1966 D4a 33bit Auftischrechner der TU Dresden
  • 1968 HewlettPackard bewirbt den HP-9100A als "personal computer" in der Science-Ausgabe vom 4.Oct.1968

Unzufrieden mit der bürokratisierten, zentralen Architektur von Rechenzentren, entwerfen Steven Wozniak und Steve Jobs einen der ersten Personal-Computer, der alle funktionalen Elemente eines Computersystems enthält, aber von jedermann erworben und verändert werden kann. Bereits ein Jahr zuvor brachte die Firma MITS den Altair 8800 auf den Markt. Bei Xerox PARC werden viele der Konzepte und Techniken, die bis heute in unseren PCs tätig sind, entwickelt.

Internet ...

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.

Stichwörter zur Geschichte der Rechentechnik

Abakus, ARPANET, 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.


Literatur

Siehe auch

Typen

Personal-Computer - Workstation - Barebone - Mini-Computer - PDAs - Großcomputer - Heimcomputer - Spielcomputer - Spielkonsolen - Einchip-Computer/Mikrocontroller - Supercomputer - Netzwerkrechner - Parallelrechner - Silent PC - Embedded System - Einzelplatzcomputer - Gridcomputing

Hardware

Befehlssatz-Architektur - CPU - Speichermedien - Grafikkarte - Hauptplatine - Peripheriegerät - Datenübertragung - Computer-Ergonomie

Software

Anwendungsprogramm - Betriebssystem - Computerspiele - Datenbanken - Desktop Publishing - Hilfsprogramm - Programmierer - Programmiersprachen - Software - Tabellenkalkulation - Textverarbeitung

Sicherheit

Computersicherheit - Betriebssystemsicherheit - Netzwerksicherheit - Sicherheitslücke - TPM

Anderes

Logikus , Quantencomputer, Rechner, Vernetzung, Digitalisierung, Medientheorie

Bekannte Programmierer und Computerpioniere (Auswahl)