Schwarz-Weiß-Foto eines Mannes, der in einem frühen Computer eine von Hunderten Vakuumröhren austauscht.
Computerraum mit mehreren Computerschränken und einem Bedienfeld
Smartphone mit regenbogenfarbenem Display, das in der Hand gehalten wird
Schwarzer Desktop-Computer mit Monitor oben und Tastatur vorne
Reihen großer, dunkler Computerschränke in einem lagerhallenartigen Raum
Computer und Computergeräte aus verschiedenen Epochen – von links nach rechts, von oben nach unten:

Ein Computer ist eine Maschine , die so programmiert werden kann , dass sie automatisch arithmetische oder logische Operationen ( Berechnungen ) ausführt . Moderne digitale Computer können generische Operationsfolgen, sogenannte Programme , ausführen , wodurch sie ein breites Aufgabenspektrum bewältigen können. Der Begriff Computersystem kann sich auf einen nominell vollständigen Computer beziehen, der die für den vollen Betrieb notwendige Hardware , das Betriebssystem , die Software und die Peripheriegeräte umfasst , oder auf eine Gruppe von miteinander verbundenen und zusammenarbeitenden Computern, wie beispielsweise ein Computernetzwerk oder ein Computercluster .

Während es in den 1930er-Jahren nur wenige Computer gab, sind sie heute allgegenwärtig und in einer Vielzahl von Industrie- und Konsumprodukten , die Computer als Steuerungssysteme nutzen, fester Bestandteil . Preis, Größe und Komplexität von Computern reichen von einfachen Geräten wie Schlüsselanhängern , Mikrowellenherden und Fernbedienungen bis hin zu Supercomputern und Fabriken mit Industrierobotern . Computer bilden das Herzstück von Allzweckgeräten wie PCs und Mobilgeräten wie Smartphones . Sie sind die Grundlage des Internets , das Milliarden von Computern und Nutzern miteinander verbindet.

Frühe Computer waren ausschließlich für Berechnungen gedacht . Einfache manuelle Instrumente wie der Abakus halfen den Menschen schon seit der Antike bei Berechnungen. Zu Beginn der industriellen Revolution wurden einige mechanische Geräte entwickelt, um lange, mühsame Aufgaben zu automatisieren, beispielsweise das Vorgeben von Mustern für Webstühle . Anspruchsvollere elektrische Maschinen führten Anfang des 20. Jahrhunderts spezialisierte analoge Berechnungen durch. Die ersten digitalen elektronischen Rechenmaschinen wurden während des Zweiten Weltkriegs entwickelt , beginnend mit elektromechanischen Rechnern (1930er Jahre), Elektronenröhren (1930er Jahre), Halbleitertransistoren (1940er Jahre), MOSFETs (MOS-Transistoren, 1950er Jahre) und schließlich monolithischen integrierten Schaltungen ( ab den 1950er Jahren). Jeder technologische Fortschritt führte zu kleineren, effizienteren Schaltungen, die schließlich in den 1970er Jahren zur Revolution der Mikroprozessoren und Mikrocomputer führten . Seitdem haben sich Geschwindigkeit, Rechenleistung und Vielseitigkeit von Computern dramatisch erhöht, wobei die Anzahl der Transistoren in rasantem Tempo zugenommen hat ( Mooresches Gesetz besagt, dass sich die Anzahl alle zwei Jahre verdoppelt hat), was Ende des 20. und Anfang des 21. Jahrhunderts zur digitalen Revolution führte.

Ein moderner Computer besteht üblicherweise aus mindestens einem Verarbeitungselement , typischerweise einer Zentraleinheit (CPU) in Form eines Mikroprozessors , sowie einem Arbeitsspeicher , meist Halbleiterspeicherchips . Das Verarbeitungselement führt arithmetische und logische Operationen aus, und eine Sequenzierungs- und Steuereinheit kann die Reihenfolge der Operationen in Abhängigkeit von gespeicherten Informationen ändern . Zu den Peripheriegeräten gehören Eingabegeräte ( Tastaturen , Mäuse , Joysticks usw.), Ausgabegeräte ( Monitore , Drucker usw.) und Ein-/Ausgabegeräte , die beide Funktionen erfüllen (z. B. Touchscreens ). Peripheriegeräte ermöglichen das Abrufen von Informationen aus externen Quellen sowie das Speichern und Abrufen von Operationsergebnissen.

Etymologie

Ein menschlicher Computer.
Ein menschlicher Computer mit Mikroskop und Taschenrechner, 1952

Erst Mitte des 20. Jahrhunderts erhielt das Wort seine heutige Bedeutung. Laut dem Oxford English Dictionary wurde der Begriff „ Computer“ erstmals in einem anderen Sinne verwendet, und zwar in einem 1613 erschienenen Buch namens „ The Yong Mans Gleanings“ des englischen Schriftstellers Richard Brathwait : „I have [ sic ] read the truest computer of Times, and the best Arithmetician that je [ sic ] breathed, and he reduceth thy days into a short number.“ Diese Verwendung des Begriffs bezog sich auf einen menschlichen Computer , eine Person, die Berechnungen durchführte . Das Wort behielt diese Bedeutung bis Mitte des 20. Jahrhunderts bei. In der zweiten Hälfte dieses Zeitraums wurden häufig Frauen als „Computer“ eingestellt, da sie weniger verdienten als ihre männlichen Kollegen. [ 1 ] Bis 1943 waren die meisten „menschlichen Computer“ Frauen. [ 2 ]

Das Online Etymology Dictionary verzeichnet die erste belegte Verwendung des Wortes „Computer “ in den 1640er Jahren im Sinne von „jemand, der rechnet“; es handelt sich dabei um ein Substantiv, das vom Verb „compute“ abgeleitet ist. Laut dem Online Etymology Dictionary wird der Begriff seit 1897 als „ Rechenmaschine“ (jeglicher Art) verwendet . Die moderne Verwendung als „programmierbarer digitaler Computer“ geht auf das Jahr 1945 zurück; theoretisch ist sie bereits seit 1937 als Turingmaschine belegt . [ 3 ] Die Bezeichnung hat sich bis heute gehalten, obwohl moderne Computer viele komplexere Funktionen ausführen können.

Geschichte

Vor dem 20. Jahrhundert

Der Ishango-Knochen , ein Knochenwerkzeug aus dem prähistorischen Afrika

Hilfsmittel zum Rechnen wurden seit Jahrtausenden verwendet, meist durch einfache Zuordnung der Finger . Das früheste Zählgerät war höchstwahrscheinlich eine Art Kerbholz . Spätere Aufzeichnungshilfen im gesamten Fruchtbaren Halbmond umfassten Kalküle (Tonkugeln, -kegel usw.), die Zählungen von Gegenständen, vermutlich Vieh oder Getreide, darstellten und in hohlen, ungebrannten Tongefäßen versiegelt wurden. [ a ] ​​[ 4 ] Die Verwendung von Zählstäben ist ein Beispiel dafür.

Der chinesische Suanpan (算盘). Die auf diesem Abakus dargestellte Zahl ist 6.302.715.408.

Der Abakus wurde ursprünglich für Rechenaufgaben verwendet. Der römische Abakus entwickelte sich aus Geräten, die bereits um 2400 v. Chr. in Babylonien gebräuchlich waren. Seitdem wurden viele weitere Formen von Rechenbrettern oder -tischen erfunden. In einem mittelalterlichen europäischen Kontor wurde ein kariertes Tuch auf einen Tisch gelegt, auf dem nach bestimmten Regeln Striche verschoben wurden, um Geldbeträge zu berechnen. [ 5 ]

Der Mechanismus von Antikythera , der aus dem antiken Griechenland um 200–80 v. Chr. stammt , ist ein frühes analoges Rechengerät .

Der Mechanismus von Antikythera gilt laut Derek J. de Solla Price als der früheste bekannte mechanische Analogrechner . [ 6 ] Er diente der Berechnung astronomischer Positionen. Entdeckt wurde er 1901 im Schiffswrack von Antikythera vor der griechischen Insel Antikythera zwischen Kythera und Kreta . Sein Ursprung wird auf etwa 100 v. Chr . datiert . Geräte vergleichbarer Komplexität wie der Mechanismus von Antikythera tauchten erst im 14. Jahrhundert wieder auf. [ 7 ]

Für astronomische und Navigationszwecke wurden zahlreiche mechanische Hilfsmittel zum Rechnen und Messen entwickelt. Die Planisphäre , eine Sternkarte, wurde Anfang des 11. Jahrhunderts von Abū Rayhān al-Bīrūnī erfunden. [ 8 ] Das Astrolab wurde in der hellenistischen Welt im 1. oder 2. Jahrhundert v. Chr. erfunden und wird oft Hipparchus zugeschrieben . Als Kombination aus Planisphäre und Dioptra war das Astrolab im Prinzip ein analoger Computer, der verschiedene Probleme der sphärischen Astronomie lösen konnte . Ein Astrolabium mit einem mechanischen Kalenderrechner [ 9 ] [ 10 ] und Zahnrädern wurde 1235 von Abi Bakr aus Isfahan , Persien, erfunden. [ 11 ] Abū Rayhān al-Bīrūnī erfand um 1000 n. Chr . das erste mechanische, mit Zahnrädern ausgestattete Lunisolarkalender- Astrolabium [ 12 ] , eine frühe, festverdrahtete Wissensverarbeitungsmaschine [ 13 ] mit einem Getriebe und Zahnrädern [ 14 ] .

Der Sektor , ein Recheninstrument zur Lösung von Problemen in Proportionen, Trigonometrie , Multiplikation und Division sowie für verschiedene Funktionen wie Quadrate und Kubikwurzeln, wurde im späten 16. Jahrhundert entwickelt und fand Anwendung in der Artillerie, der Vermessung und der Navigation.

Der Planimeter war ein manuelles Instrument zur Berechnung der Fläche einer geschlossenen Figur, indem er diese mit einem mechanischen Gestänge abfuhr.

Ein Rechenschieber

Der Rechenschieber wurde um 1620–1630 von dem englischen Geistlichen William Oughtred erfunden , kurz nach der Veröffentlichung des Logarithmuskonzepts . Er ist ein handbetriebener Analogrechner für Multiplikation und Division. Im Zuge der Weiterentwicklung des Rechenschiebers ermöglichten zusätzliche Skalen die Berechnung von Kehrwerten, Quadraten und Quadratwurzeln, Kuben und Kubikwurzeln sowie transzendenten Funktionen wie Logarithmen und Exponentialfunktionen, Kreis- und Hyperbolischen Funktionen und anderen Funktionen . Rechenschieber mit speziellen Skalen werden noch heute für die schnelle Durchführung von Routineberechnungen verwendet, beispielsweise der kreisförmige Rechenschieber E6B, der für Zeit- und Entfernungsberechnungen in Leichtflugzeugen eingesetzt wird.

In den 1770er Jahren konstruierte der Schweizer Uhrmacher Pierre Jaquet-Droz eine mechanische Puppe (einen Automaten ), die mit einer Feder schreiben konnte. Durch Verändern der Anzahl und Reihenfolge ihrer inneren Räder ließen sich verschiedene Buchstaben und somit unterschiedliche Botschaften erzeugen. Sie konnte gewissermaßen mechanisch „programmiert“ werden, um Anweisungen zu lesen. Zusammen mit zwei weiteren komplexen Maschinen befindet sich die Puppe im Musée d’Art et d’Histoire in Neuchâtel , Schweiz , und ist noch immer funktionsfähig. [ 15 ]

In den Jahren 1831–1835 entwickelte der Mathematiker und Ingenieur Giovanni Plana eine Maschine zur Berechnung des ewigen Kalenders . Mithilfe eines Systems aus Rollen und Zylindern konnte diese Maschine den ewigen Kalender für jedes Jahr von 0 n. Chr. (d. h. 1 v. Chr.) bis 4000 n. Chr. berechnen und dabei Schaltjahre und die variierende Tageslänge berücksichtigen. Die 1872 von dem schottischen Wissenschaftler Sir William Thomson erfundene Gezeitenmaschine war für die Navigation in flachen Gewässern von großem Nutzen. Sie berechnete mithilfe eines Systems aus Rollen und Drähten automatisch die vorhergesagten Gezeitenstände für einen bestimmten Zeitraum an einem bestimmten Ort.

Der Differentialanalysator , ein mechanischer Analogrechner zur Lösung von Differentialgleichungen durch Integration , nutzte Rad-Scheiben-Mechanismen zur Integration. Bereits 1876 hatte Sir William Thomson die mögliche Konstruktion solcher Rechner erörtert, war jedoch durch das begrenzte Drehmoment der Kugel-Scheiben-Integratoren behindert worden . [ 16 ] In einem Differentialanalysator steuerte der Ausgang eines Integrators den Eingang des nächsten Integrators oder einen grafischen Ausgang. Der Drehmomentverstärker ermöglichte den Betrieb dieser Maschinen. Ab den 1920er Jahren entwickelten Vannevar Bush und andere mechanische Differentialanalysatoren.

In den 1890er Jahren begann der spanische Ingenieur Leonardo Torres Quevedo mit der Entwicklung einer Reihe fortschrittlicher Analogmaschinen , die reelle und komplexe Wurzeln von Polynomen berechnen konnten [ 17 ] [ 18 ] [ 19 ] , welche 1901 von der Pariser Akademie der Wissenschaften veröffentlicht wurden . [ 20 ] [ 21 ] [ 22 ]

Erster Computer

Charles Babbage
Diagramm eines Teils von Babbages Differenzmaschine
Die Differenzmaschine Nummer 2 im Labor von Intellectual Ventures in Seattle

Charles Babbage , ein englischer Maschinenbauingenieur und Universalgelehrter , entwickelte das Konzept des programmierbaren Computers. Er gilt als „ Vater des Computers “ [ 23 ] und konzipierte und erfand Anfang des 19. Jahrhunderts den ersten mechanischen Computer .

Nachdem er an seiner Differenzmaschine gearbeitet hatte , verkündete er seine Erfindung 1822 in einer Abhandlung für die Royal Astronomical Society mit dem Titel „Note on the application of machines to the computation of astronomical and mathematical tables“ [ 24 ] . Er entwarf auch eine Maschine zur Unterstützung von Navigationsberechnungen und erkannte 1833, dass ein wesentlich allgemeineres Design, eine analytische Maschine , möglich war. Die Eingabe von Programmen und Daten sollte über Lochkarten erfolgen , eine Methode, die damals zur Steuerung mechanischer Webstühle wie des Jacquard-Webstuhls verwendet wurde . Zur Ausgabe sollte die Maschine einen Drucker , einen Kurvenplotter und eine Glocke besitzen. Sie sollte außerdem Zahlen auf Karten stanzen können, die später ausgelesen werden konnten. Die Maschine sollte eine arithmetisch-logische Einheit , einen Kontrollfluss in Form von bedingten Verzweigungen und Schleifen sowie einen integrierten Speicher enthalten und war damit der erste Entwurf für einen Universalrechner, der in modernen Begriffen als Turing-vollständig beschrieben werden kann . [ 25 ] [ 26 ]

Die Maschine war ihrer Zeit um etwa ein Jahrhundert voraus. Alle Teile mussten von Hand gefertigt werden – ein enormes Problem bei einem Gerät mit Tausenden von Einzelteilen. Schließlich wurde das Projekt eingestellt, nachdem die britische Regierung die Finanzierung beendet hatte. Babbages Scheitern bei der Fertigstellung der Analytischen Maschine ist hauptsächlich auf politische und finanzielle Schwierigkeiten sowie seinen Wunsch zurückzuführen, einen immer ausgefeilteren Computer zu entwickeln und schneller voranzukommen als alle anderen. Sein Sohn Henry Babbage vollendete jedoch 1888 eine vereinfachte Version der Recheneinheit der Analytischen Maschine (die „ Mühle “). 1906 demonstrierte er erfolgreich deren Anwendung bei der Berechnung von Tabellen.

Elektromechanische Rechenmaschine

Elektromechanischer Rechner (1920) von Leonardo Torres Quevedo .

In seinem 1914 erschienenen Werk „Essays on Automatics“ beschrieb Leonardo Torres Quevedo kurz Babbages Bemühungen um den Bau einer mechanischen Differenzmaschine und einer analytischen Maschine. Die Abhandlung enthielt den Entwurf einer Maschine, die Formeln wie für eine Folge von Wertemengen berechnen konnte. Die gesamte Maschine sollte durch ein schreibgeschütztes Programm gesteuert werden, das auch bedingte Verzweigungen ermöglichte . Quevedo führte außerdem die Idee der Gleitkommaarithmetik ein . [ 27 ] [ 28 ] [ 29 ] 1920, zum 100. Jahrestag der Erfindung des Arithmometers , präsentierte Torres in Paris das elektromechanische Arithmometer. Dieses ermöglichte es dem Benutzer, Rechenaufgaben über eine Tastatur einzugeben und berechnete und ausdruckte die Ergebnisse. [ 30 ] [ 31 ] [ 32 ] [ 33 ] Damit demonstrierte er die Machbarkeit einer elektromechanischen analytischen Maschine. [ 34 ]

Analogrechner

Sir William Thomsons dritter Entwurf einer Gezeitenvorhersagemaschine, 1879–81

In der ersten Hälfte des 20. Jahrhunderts wurden viele wissenschaftliche Rechenanforderungen durch immer ausgefeiltere Analogrechner erfüllt, die ein direktes mechanisches oder elektrisches Modell des Problems als Grundlage für die Berechnung nutzten . Diese waren jedoch nicht programmierbar und wiesen im Allgemeinen nicht die Vielseitigkeit und Genauigkeit moderner Digitalrechner auf. [ 35 ] Der erste moderne Analogrechner war eine Gezeitenvorhersagemaschine , die 1872 von Sir William Thomson (dem späteren Lord Kelvin) erfunden wurde. Der Differentialanalysator , ein mechanischer Analogrechner zur Lösung von Differentialgleichungen durch Integration mithilfe von Rad-Scheiben-Mechanismen, wurde 1876 von James Thomson , dem älteren Bruder des bekannteren Sir William Thomson, konzipiert. [ 16 ]

Die Kunst der mechanischen Analogrechnung erreichte ihren Höhepunkt mit dem Differentialanalysator , der 1931 von Vannevar Bush am MIT fertiggestellt wurde . [ 36 ] In den 1950er Jahren bedeutete der Erfolg digitaler elektronischer Computer das Ende für die meisten Analogrechner, aber Analogrechner blieben in den 1950er Jahren in einigen spezialisierten Anwendungen wie im Bildungsbereich ( Rechenschieber ) und in der Luftfahrt ( Steuerungssysteme ) im Einsatz.

Digitalrechner

Elektromechanisch

Claude Shannons Masterarbeit aus dem Jahr 1937 legte den Grundstein für das digitale Rechnen. Seine Erkenntnis, die Boolesche Algebra auf die Analyse und Synthese von Schaltkreisen anzuwenden, ist das grundlegende Konzept, das allen elektronischen Digitalrechnern zugrunde liegt. [ 37 ] [ 38 ]

Bis 1938 hatte die US-Marine den Torpedo-Datenrechner entwickelt , einen elektromechanischen Analogrechner für U-Boote , der mithilfe von Trigonometrie das Problem des Torpedoabschusses auf ein bewegliches Ziel löste. Während des Zweiten Weltkriegs wurden in anderen Ländern ähnliche Geräte entwickelt. [ 39 ]

Nachbau von Konrad Zuses Z3 , dem ersten vollautomatischen, digitalen (elektromechanischen) Computer

Frühe Digitalrechner waren elektromechanisch ; elektrische Schalter steuerten mechanische Relais zur Durchführung der Berechnungen. Diese Geräte arbeiteten langsam und wurden schließlich von wesentlich schnelleren vollelektrischen Rechnern abgelöst, die ursprünglich mit Elektronenröhren arbeiteten . Der Z2 , 1939 von dem deutschen Ingenieur Konrad Zuse in Berlin entwickelt , war eines der frühesten Beispiele für einen elektromechanischen Relaisrechner. [ 40 ]

Konrad Zuse , Erfinder des modernen Computers [ 41 ] [ 42 ]

1941 entwickelte Zuse nach seiner vorherigen Maschine den Z3 , den weltweit ersten funktionsfähigen elektromechanischen , programmierbaren und vollautomatischen Digitalrechner. [ 43 ] [ 44 ] Der Z3 war mit 2000 Relais ausgestattet und implementierte eine Wortlänge von 22 Bit bei einer Taktfrequenz von etwa 5–10 Hz . [ 45 ] Der Programmcode wurde auf Lochstreifen gespeichert, während Daten in 64 Wörtern Speicher abgelegt oder über die Tastatur eingegeben werden konnten. In mancher Hinsicht ähnelte er modernen Rechnern und leistete Pionierarbeit bei zahlreichen Neuerungen wie der Gleitkommadarstellung . Anstelle des schwieriger zu implementierenden Dezimalsystems (das in Charles Babbages früherem Entwurf verwendet wurde) ermöglichte das Binärsystem den einfacheren Bau und – angesichts der damals verfügbaren Technologien – eine höhere Zuverlässigkeit der Zuse-Maschinen. [ 46 ] Der Z3 war selbst kein Universalrechner, konnte aber Turing-vollständig erweitert werden . [ 47 ] [ 48 ]

Zuses nächster Computer, der Z4 , wurde der weltweit erste kommerzielle Computer. Nach anfänglichen Verzögerungen durch den Zweiten Weltkrieg wurde er 1950 fertiggestellt und an die ETH Zürich ausgeliefert . [ 49 ] Der Computer wurde von Zuses eigener Firma, der Zuse KG , hergestellt, die 1941 als erstes Unternehmen in Berlin mit dem alleinigen Zweck der Computerentwicklung gegründet worden war. [ 49 ] Der Z4 diente als Inspiration für den Bau des ERMETH , des ersten Schweizer Computers und eines der ersten in Europa. [ 50 ]

Vakuumröhren und digitale elektronische Schaltungen

Rein elektronische Schaltungselemente ersetzten bald ihre mechanischen und elektromechanischen Pendants, parallel zur Ablösung analoger durch digitale Rechenverfahren. Der Ingenieur Tommy Flowers , der in den 1930er Jahren an der Forschungsstation der Post in London arbeitete, begann, die Einsatzmöglichkeiten von Elektronik für die Telefonzentrale zu erforschen . Die von ihm 1934 gebauten experimentellen Geräte gingen fünf Jahre später in Betrieb und wandelten einen Teil des Telefonnetzes mithilfe Tausender Elektronenröhren in ein elektronisches Datenverarbeitungssystem um . [ 35 ] In den USA entwickelten und testeten John Vincent Atanasoff und Clifford E. Berry von der Iowa State University 1942 den Atanasoff-Berry-Computer (ABC), [ 51 ] den ersten „automatischen elektronischen Digitalrechner“. [ 52 ] Auch dieser Rechner war vollelektronisch und verwendete etwa 300 Elektronenröhren. Die Speicherkapazität bestand aus in einer mechanisch rotierenden Trommel fixierten Kondensatoren. [ 53 ]

Zwei Frauen werden vom Colossus-Computer erfasst.
Colossus , das erste elektronische, programmierbare digitale Rechengerät, wurde im Zweiten Weltkrieg zur Entschlüsselung deutscher Chiffren eingesetzt. Hier ist es im Einsatz in Bletchley Park im Jahr 1943 zu sehen.

Während des Zweiten Weltkriegs erzielten die britischen Codeknacker in Bletchley Park mehrere Erfolge bei der Entschlüsselung der deutschen Militärkommunikation. Die deutsche Verschlüsselungsmaschine Enigma wurde zunächst mithilfe der elektromechanischen Bomben angegriffen , die häufig von Frauen bedient wurden. [ 54 ] [ 55 ] Um die komplexere deutsche Lorenz SZ 40/42 , die für die Kommunikation der höheren Heeresebenen eingesetzt wurde, zu knacken, beauftragten Max Newman und seine Kollegen Flowers mit dem Bau der Colossus . [ 53 ] Er verbrachte elf Monate, von Anfang Februar 1943 an, mit der Entwicklung und dem Bau der ersten Colossus. [ 56 ] Nach einem Funktionstest im Dezember 1943 wurde die Colossus nach Bletchley Park verschifft, wo sie am 18. Januar 1944 eintraf [ 57 ] und am 5. Februar ihre erste Nachricht entschlüsselte. [ 53 ]

Colossus war der weltweit erste elektronische, programmierbare Digitalrechner. [ 35 ] Er verwendete eine große Anzahl von Elektronenröhren. Er verfügte über Lochstreifen als Eingabe und konnte so konfiguriert werden, dass er verschiedene algebraische Operationen der Booleschen Logik auf seine Daten anwandte, war aber nicht Turing-vollständig. Neun Mk II Colossi wurden gebaut (der Mk I wurde zu einem Mk II umgebaut, sodass insgesamt zehn Maschinen existierten). Colossus Mark I enthielt 1.500 Elektronenröhren, Mark II mit 2.400 Röhren war jedoch fünfmal schneller und einfacher zu bedienen als Mark I, was den Dekodierungsprozess erheblich beschleunigte. [ 58 ] [ 59 ]

ENIAC war das erste elektronische , Turing-vollständige Gerät und führte ballistische Flugbahnberechnungen für die US-Armee durch .

Der ENIAC [ 60 ] (Electronic Numerical Integrator and Computer) war der erste in den USA gebaute programmierbare Computer. Obwohl der ENIAC dem Colossus ähnelte, war er deutlich schneller, flexibler und Turing-vollständig. Wie beim Colossus wurde ein „Programm“ auf dem ENIAC durch die Zustände seiner Anschlusskabel und Schalter definiert – ein großer Unterschied zu den später entwickelten speicherprogrammierbaren Computern. Sobald ein Programm geschrieben war, musste es mechanisch in die Maschine eingespielt werden, indem Stecker und Schalter manuell zurückgesetzt wurden. Die Programmiererinnen des ENIAC waren sechs Frauen, die oft gemeinsam als die „ENIAC-Girls“ bezeichnet wurden. [ 61 ] [ 62 ]

Der ENIAC vereinte die hohe Geschwindigkeit elektronischer Schaltungen mit der Möglichkeit, für viele komplexe Probleme programmiert zu werden. Er konnte 5000 Mal pro Sekunde addieren oder subtrahieren – tausendmal schneller als jede andere Maschine. Außerdem verfügte er über Module zum Multiplizieren, Dividieren und Wurzelziehen. Der Hochgeschwindigkeitsspeicher war auf 20 Wörter (etwa 80 Byte) begrenzt. Unter der Leitung von John Mauchly und J. Presper Eckert an der University of Pennsylvania wurde der ENIAC von 1943 bis Ende 1945 entwickelt und gebaut und nahm seinen Betrieb vollständig auf. Die Maschine war riesig: Sie wog 30 Tonnen, verbrauchte 200 Kilowatt elektrische Leistung und enthielt über 18.000 Elektronenröhren, 1500 Relais und Hunderttausende von Widerständen, Kondensatoren und Induktivitäten. [ 63 ]

Moderne Computer

Konzept des modernen Computers

Das Prinzip des modernen Computers wurde von Alan Turing in seiner bahnbrechenden Arbeit „ Über berechenbare Zahlen“ von 1936 [ 64 ] vorgeschlagen . Turing schlug ein einfaches Gerät vor, das er „Universelle Rechenmaschine“ nannte und das heute als universelle Turingmaschine bekannt ist . Er bewies, dass eine solche Maschine alles Berechenbare berechnen kann, indem sie auf einem Band gespeicherte Anweisungen (Programme) ausführt und somit programmierbar wird. Das Grundkonzept von Turings Entwurf ist das gespeicherte Programm , in dem alle Rechenanweisungen im Speicher abgelegt sind. Von Neumann bestätigte, dass das zentrale Konzept des modernen Computers auf diese Arbeit zurückgeht. [ 65 ] Turingmaschinen sind bis heute ein zentrales Forschungsobjekt der Berechenbarkeitstheorie . Abgesehen von den Einschränkungen durch ihren endlichen Speicher gelten moderne Computer als Turing-vollständig , d. h., sie verfügen über eine algorithmische Ausführungsfähigkeit, die der einer universellen Turingmaschine entspricht.

Gespeicherte Programme

Drei hohe Gestelle mit elektronischen Leiterplatten
Ein Abschnitt des rekonstruierten Manchester Baby , des ersten elektronischen Speicherprogrammcomputers

Frühe Rechenmaschinen arbeiteten mit festen Programmen. Eine Funktionsänderung erforderte die Neuverdrahtung und Umstrukturierung der Maschine. [ 53 ] Mit dem Vorschlag des speicherprogrammierbaren Computers änderte sich dies. Ein speicherprogrammierbarer Computer verfügt konstruktionsbedingt über einen Befehlssatz und kann eine Reihe von Anweisungen (ein Programm ) im Speicher ablegen, die die Berechnung detailliert beschreiben . Die theoretischen Grundlagen des speicherprogrammierbaren Computers wurden von Alan Turing in seiner Arbeit von 1936 dargelegt. 1945 trat Turing dem National Physical Laboratory bei und begann mit der Entwicklung eines elektronischen speicherprogrammierbaren Digitalrechners. Sein Bericht „Proposed Electronic Calculator“ von 1945 war die erste Spezifikation für ein solches Gerät. John von Neumann von der University of Pennsylvania veröffentlichte 1945 ebenfalls seinen ersten Entwurf eines Berichts über den EDVAC. [ 35 ]

Der Manchester Baby war der weltweit erste Computer mit gespeichertem Programm . Er wurde an der Universität Manchester in England von Frederic C. Williams , Tom Kilburn und Geoff Tootill gebaut und führte sein erstes Programm am 21. Juni 1948 aus. [ 66 ] Er diente als Testplattform für die Williams-Röhre , das erste digitale Speichermedium mit Direktzugriff . [ 67 ] Obwohl der Computer in einer Retrospektive von 1998 als „klein und primitiv“ beschrieben wurde, war er die erste funktionierende Maschine, die alle wesentlichen Elemente eines modernen elektronischen Computers enthielt. [ 68 ] Nachdem der Baby die Machbarkeit seines Designs unter Beweis gestellt hatte, begann an der Universität ein Projekt zur Weiterentwicklung zu einem praktisch nutzbaren Computer, dem Manchester Mark 1 .

Der Mark 1 wurde wiederum schnell zum Prototyp des Ferranti Mark 1 , dem weltweit ersten kommerziell erhältlichen Universalrechner. [ 69 ] Er wurde von Ferranti gebaut und im Februar 1951 an die Universität Manchester ausgeliefert. Mindestens sieben dieser späteren Maschinen wurden zwischen 1953 und 1957 ausgeliefert, eine davon an die Shell- Labore in Amsterdam . [ 70 ] Im Oktober 1947 beschlossen die Direktoren des britischen Catering-Unternehmens J. Lyons & Company, die kommerzielle Entwicklung von Computern aktiv zu fördern. Der LEO I- Computer von Lyons, der dem Cambridge EDSAC von 1949 nachempfunden war , nahm im April 1951 seinen Betrieb auf [ 71 ] und führte die weltweit erste routinemäßige Büroarbeit mit einem Computer aus .

Transistoren

Bipolartransistor (BJT)

Das Konzept des Feldeffekttransistors wurde 1925 von Julius Edgar Lilienfeld vorgeschlagen . John Bardeen und Walter Brattain bauten 1947 unter William Shockley bei den Bell Labs den ersten funktionierenden Transistor , den Punktkontakttransistor . Shockleys Bipolartransistor folgte 1948. [ 72 ] [ 73 ] Ab 1955 ersetzten Transistoren die Elektronenröhren in Computerdesigns und begründeten so die „zweite Generation“ von Computern. Im Vergleich zu Elektronenröhren bieten Transistoren viele Vorteile: Sie sind kleiner, benötigen weniger Strom und erzeugen daher weniger Wärme. Bipolartransistoren waren deutlich zuverlässiger und hatten eine längere, nahezu unbegrenzte Lebensdauer. Transistorbasierte Computer konnten Zehntausende binäre Logikschaltungen auf relativ kleinem Raum unterbringen. Allerdings waren frühe Bipolartransistoren relativ sperrige Bauteile, deren Massenproduktion schwierig war , was ihren Einsatz auf wenige Spezialanwendungen beschränkte. [ 74 ]

An der Universität Manchester entwickelte und baute ein Team unter der Leitung von Tom Kilburn eine Maschine, die anstelle von Elektronenröhren die neu entwickelten Transistoren nutzte. [ 75 ] Ihr erster transistorisierter Computer und der erste weltweit war 1953 betriebsbereit , eine zweite Version wurde dort im April 1955 fertiggestellt. Allerdings verwendete die Maschine Elektronenröhren zur Erzeugung ihrer 125-kHz-Taktsignale und in der Schaltung zum Lesen und Schreiben auf ihrem Magnettrommelspeicher . Sie war daher nicht der erste vollständig transistorisierte Computer. Diese Ehre gebührt dem Harwell CADET von 1955, [ 76 ] der von der Elektronikabteilung der Atomenergie-Forschungsanstalt in Harwell gebaut wurde . [ 76 ] [ 77 ]

Ein MOSFET (MOS-Transistor) mit Gate (G), Body (B), Source (S) und Drain (D) Anschlüssen. Das Gate ist durch eine Isolierschicht (rosa) vom Body getrennt.

Der Metall-Oxid-Silizium-Feldeffekttransistor (MOSFET), auch MOS-Transistor genannt, wurde zwischen 1955 und 1960 in den Bell Labs entwickelt [ 78 ] [ 79 ] [ 80 ] [ 81 ] [ 82 ] [ 83 ] und war der erste wirklich kompakte Transistor, der miniaturisiert und für vielfältige Anwendungen in Massenproduktion hergestellt werden konnte [ 74 ] . Dank seiner hohen Skalierbarkeit [ 84 ] , des deutlich geringeren Stromverbrauchs und der höheren Dichte im Vergleich zu Bipolartransistoren [ 85 ] ermöglichte der MOSFET die Herstellung hochdichter integrierter Schaltungen [ 86 ] [ 87 ] . Neben der Datenverarbeitung ermöglichte er auch den praktischen Einsatz von MOS-Transistoren als Speicherelemente und führte zur Entwicklung des MOS- Halbleiterspeichers , der den früheren Magnetkernspeicher in Computern ablöste. Der MOSFET führte zur Mikrocomputer-Revolution [ 88 ] und wurde zur treibenden Kraft der Computerrevolution [ 89 ] [ 90 ] . Der MOSFET ist der am weitesten verbreitete Transistor in Computern [ 91 ] [ 92 ] und der grundlegende Baustein der digitalen Elektronik [ 93 ] .

Integrierte Schaltkreise

Integrierte Schaltkreise werden typischerweise in Gehäusen aus Kunststoff, Metall oder Keramik verpackt, um den IC vor Beschädigungen zu schützen und die Montage zu erleichtern.

Der nächste große Fortschritt in der Rechenleistung erfolgte mit dem Aufkommen des integrierten Schaltkreises (IC). Die Idee des integrierten Schaltkreises wurde erstmals von dem Radarwissenschaftler Geoffrey WA Dummer entwickelt , der für die Royal Radar Establishment des Verteidigungsministeriums arbeitete . Dummer präsentierte die erste öffentliche Beschreibung eines integrierten Schaltkreises auf dem Symposium on Progress in Quality Electronic Components am 7. Mai 1952 in Washington, DC . [ 94 ]

Die ersten funktionsfähigen integrierten Schaltungen (ICs) wurden von Jack Kilby bei Texas Instruments und Robert Noyce bei Fairchild Semiconductor entwickelt . [ 95 ] Kilby hielt seine ersten Ideen zum integrierten Schaltkreis im Juli 1958 fest und demonstrierte am 12. September 1958 erfolgreich das erste funktionsfähige integrierte Beispiel. [ 96 ] In seiner Patentanmeldung vom 6. Februar 1959 beschrieb Kilby sein neues Gerät als „einen Körper aus Halbleitermaterial …, in dem alle Komponenten der elektronischen Schaltung vollständig integriert sind“. [ 97 ] [ 98 ] Kilbys Erfindung war jedoch ein hybrider integrierter Schaltkreis (Hybrid-IC) und kein monolithischer integrierter Schaltkreis (IC). [ 99 ] Kilbys IC hatte externe Drahtverbindungen, was die Massenproduktion erschwerte. [ 100 ]

Noyce entwickelte ein halbes Jahr nach Kilby seine eigene Idee für einen integrierten Schaltkreis. [ 101 ] Noyces Erfindung war der erste wirklich monolithische IC-Chip und löste viele praktische Probleme, die Kilbys Chip nicht hatte. [ 102 ] [ 100 ] Er wurde bei Fairchild Semiconductor hergestellt und bestand aus Silizium , während Kilbys Chip aus Germanium gefertigt war . Noyces monolithischer IC wurde im Planarverfahren hergestellt , das sein Kollege Jean Hoerni Anfang 1959 entwickelt hatte. Dieses Planarverfahren wiederum basierte auf den Arbeiten von Carl Frosch und Lincoln Derick zur Oberflächenpassivierung von Halbleitern mit Siliziumdioxid. [ 103 ] [ 104 ] [ 105 ] [ 106 ] [ 107 ] [ 108 ]

Moderne monolithische integrierte Schaltungen (ICs) sind überwiegend MOS-Schaltungen ( Metall-Oxid-Halbleiter ), die aus MOSFETs (MOS-Transistoren) aufgebaut sind. [ 109 ] Der erste experimentelle MOS-IC war ein 16-Transistor-Chip, der 1962 von Fred Heiman und Steven Hofstein bei RCA entwickelt wurde. [ 110 ] General Microelectronics brachte 1964 den ersten kommerziellen MOS-IC auf den Markt, [ 111 ] der von Robert Norman entwickelt worden war. [ 110 ] Nach der Entwicklung des selbstjustierenden MOS-Transistors (Silizium-Gate) durch Robert Kerwin, Donald Klein und John Sarace bei den Bell Labs im Jahr 1967 entwickelte Federico Faggin bei Fairchild Semiconductor 1968 den ersten Silizium-Gate -MOS-IC mit selbstjustierenden Gates. [ 112 ] Der MOSFET ist seither die wichtigste Komponente in modernen integrierten Schaltungen. [ 109 ]

Foto eines MOS 6502 , eines Mikroprozessors aus den frühen 1970er Jahren, der 3500 Transistoren auf einem einzigen Chip integriert.

Die Entwicklung des MOS - integrierten Schaltkreises führte zur Erfindung des Mikroprozessors [ 113 , 114 ] und leitete einen explosionsartigen Anstieg der kommerziellen und privaten Computernutzung ein. Obwohl die Frage, welches Gerät der erste Mikroprozessor war, umstritten ist – teilweise aufgrund fehlender Einigkeit über die genaue Definition des Begriffs „Mikroprozessor“ –, gilt der Intel 4004 [115] als erster Ein-Chip-Mikroprozessor. Er wurde von Federico Faggin mit seiner Silizium -Gate-MOS-IC-Technologie [113] zusammen mit Ted Hoff, Masatoshi Shima und Stanley Mazor bei Intel entwickelt und realisiert . [ b , 117 ] Anfang der 1970er - Jahre ermöglichte die MOS - IC - Technologie die Integration von mehr als 10.000 Transistoren auf einem einzigen Chip. [ 87 ]

System-on-a-Chip (SoC) sind vollständige Computer auf einem Mikrochip (oder Chip) von der Größe einer Münze. [ 118 ] Sie können über integrierten Arbeitsspeicher (RAM ) und Flash-Speicher verfügen oder nicht . Falls nicht integriert, befindet sich der RAM üblicherweise direkt über (sogenanntes Package-on-Package ) oder unter (auf der gegenüberliegenden Seite der Leiterplatte ) dem SoC, und der Flash-Speicher ist in der Regel direkt neben dem SoC angeordnet. Dies dient der Verbesserung der Datenübertragungsgeschwindigkeit, da die Datensignale keine langen Strecken zurücklegen müssen. Seit ENIAC im Jahr 1945 haben sich Computer enorm weiterentwickelt. Moderne SoCs (wie der Snapdragon 865) sind zwar nur so groß wie eine Münze, aber dennoch Hunderttausende Male leistungsfähiger als ENIAC, da sie Milliarden von Transistoren integrieren und nur wenige Watt verbrauchen.

Mobile Computer

Die ersten mobilen Computer waren schwer und benötigten Netzstrom. Der 23 kg schwere IBM 5100 war ein frühes Beispiel. Spätere tragbare Geräte wie der Osborne 1 und der Compaq Portable waren deutlich leichter, mussten aber weiterhin an eine Steckdose angeschlossen werden. Die ersten Laptops, wie der Grid Compass , machten diese Abhängigkeit durch den Einsatz von Akkus überflüssig – und mit der fortschreitenden Miniaturisierung der Rechenleistung und der Verbesserung der Akkulaufzeiten tragbarer Computer gewannen diese in den 2000er-Jahren an Popularität. [ 119 ] Dieselben Entwicklungen ermöglichten es den Herstellern, Anfang der 2000er-Jahre Rechenleistung in Mobiltelefone zu integrieren.

Diese Smartphones und Tablets laufen mit einer Vielzahl von Betriebssystemen und haben sich in letzter Zeit zum dominierenden Computergerät auf dem Markt entwickelt. [ 120 ] Sie werden von System-on-a-Chip (SoCs) angetrieben, die vollständige Computer auf einem Mikrochip von der Größe einer Münze darstellen. [ 118 ]

Typen

Computer können auf verschiedene Arten klassifiziert werden, unter anderem:

Durch Architektur

Nach Größe, Formfaktor und Verwendungszweck

Unkonventionelle Computer

Ein Computer muss weder elektronisch sein , noch einen Prozessor , Arbeitsspeicher oder gar eine Festplatte besitzen . Obwohl der Begriff „Computer“ im allgemeinen Sprachgebrauch oft synonym mit einem Personalcomputer verwendet wird, [ c ] lautet eine gängige moderne Definition eines Computers: „ Ein Gerät, das Berechnungen durchführt , insbesondere eine programmierbare [üblicherweise] elektronische Maschine, die mathematische oder logische Operationen in hoher Geschwindigkeit ausführt oder Informationen sammelt, speichert, verknüpft oder auf andere Weise verarbeitet.“ [ 125 ] Gemäß dieser Definition gilt jedes Gerät, das Informationen verarbeitet, als Computer.

Hardware

Video, das die Standardkomponenten eines „Slimline“-Computers demonstriert.

Der Begriff Hardware umfasst alle greifbaren physischen Teile eines Computers. Schaltkreise , Computerchips, Grafikkarten, Soundkarten, Arbeitsspeicher (RAM), Motherboard, Bildschirme, Netzteile, Kabel, Tastaturen, Drucker und Computermäuse zählen allesamt zur Hardware.

Geschichte der Computerhardware

Erste Generation (mechanisch/elektromechanisch)TaschenrechnerPascals Rechenmaschine , Arithmometer , Differenzmaschine , Quevedos analytische Maschinen
Programmierbare GeräteJacquard-Webstuhl , Analytische Maschine , IBM ASCC/Harvard Mark I , Harvard Mark II , IBM SSEC , Z1 , Z2 , Z3
Zweite Generation (Vakuumröhren)TaschenrechnerAtanasoff-Berry-Computer , IBM 604 , UNIVAC 60 , UNIVAC 120
Programmierbare GeräteColossus , ENIAC , Manchester Baby , EDSAC , Manchester Mark 1 , Ferranti Pegasus , Ferranti Mercury , CSIRAC , EDVAC , UNIVAC I , IBM 701 , IBM 702 , IBM 650 , Z22
Dritte Generation (diskrete Transistoren und integrierte Schaltungen vom Typ SSI, MSI, LSI )GroßrechnerIBM 7090 , IBM 7080 , IBM System/360 , BUNCH
MinicomputerHP 2116A , IBM System/32 , IBM System/36 , LINC , PDP-8 , PDP-11
Desktop-ComputerHP 9100
Vierte Generation ( VLSI- integrierte Schaltungen)MinicomputerVAX , IBM AS/400
4-Bit -MikrocomputerIntel 4004 , Intel 4040
8-Bit -MikrocomputerIntel 8008 , Intel 8080 , Motorola 6800 , Motorola 6809 , MOS Technology 6502 , Zilog Z80
16-Bit -MikrocomputerIntel 8088 , Zilog Z8000 , WDC 65816/65802
32-Bit -MikrocomputerIntel 80386 , Pentium , Motorola 68000 , ARM
64-Bit- Mikrocomputer [ d ]Alpha , MIPS , PA-RISC , PowerPC , SPARC , x86-64 , ARMv8-A
Eingebetteter ComputerIntel 8048 , Intel 8051
PersonalcomputerDesktop-Computer , Heimcomputer , Laptop, PDA ( Personal Digital Assistant ), tragbarer Computer , Tablet-PC , Wearable Computer
Theoretisch/experimentellQuantencomputerIBM Q System One
Chemischer Computer
DNA-Computation
Optischer Computer
Spintronik -basierter Computer
Wetware/Organischer Computer

Weitere Hardware-Themen

Peripheriegerät ( Ein-/Ausgabe )EingangMaus , Tastatur , Joystick , Bildscanner , Webcam , Grafiktablett , Mikrofon
AusgabeMonitor , Drucker , Lautsprecher
BeideDiskettenlaufwerk , Festplatte , optisches Laufwerk, Fernschreiber
ComputerbusseKurzstreckenRS-232 , SCSI , PCI , USB
Weitbereich ( Computernetzwerke )Ethernet , ATM , FDDI

Ein Universalrechner besteht aus vier Hauptkomponenten: der arithmetisch-logischen Einheit (ALU), der Steuereinheit , dem Speicher und den Ein- und Ausgabegeräten (zusammenfassend als E/A bezeichnet). Diese Komponenten sind über Busse , oft bestehend aus Drahtbündeln , miteinander verbunden . In jeder dieser Komponenten befinden sich Tausende bis Billionen kleiner elektrischer Schaltkreise , die mittels eines elektronischen Schalters ein- und ausgeschaltet werden können . Jeder Schaltkreis repräsentiert ein Bit (eine Binärziffer) an Information: Ist der Schaltkreis eingeschaltet, entspricht er einer „1“, ist er ausgeschaltet, entspricht er einer „0“ (in positiver Logik). Die Schaltkreise sind in Logikgattern angeordnet , sodass ein oder mehrere Schaltkreise den Zustand eines oder mehrerer anderer Schaltkreise steuern können.

Eingabegeräte

Eingabegeräte sind die Mittel, mit denen die Abläufe eines Computers gesteuert und er mit Daten versorgt wird. Beispiele hierfür sind:

Ausgabegeräte

Ausgabegeräte sind die Mittel, mit denen ein Computer die Ergebnisse seiner Berechnungen in einer für den Menschen verständlichen Form bereitstellt. Beispiele hierfür sind:

Steuereinheit

Diagramm, das zeigt, wie eine bestimmte MIPS-Architektur- Anweisung vom Steuerungssystem dekodiert würde.

Die Steuereinheit (oft auch Steuerungssystem oder zentrale Steuereinheit genannt) verwaltet die verschiedenen Komponenten des Computers; sie liest und interpretiert (dekodiert) die Programmbefehle und wandelt sie in Steuersignale um, die andere Teile des Computers aktivieren. [ e ] Steuerungssysteme in modernen Computern können die Ausführungsreihenfolge einiger Befehle ändern, um die Leistung zu verbessern.

Eine allen CPUs gemeinsame Schlüsselkomponente ist der Programmzähler , eine spezielle Speicherzelle (ein Register ), die speichert, von welcher Speicheradresse der nächste Befehl gelesen werden soll. [ f ]

Die Funktionsweise des Steuerungssystems ist wie folgt – dies ist eine vereinfachte Beschreibung, und einige dieser Schritte können je nach CPU-Typ gleichzeitig oder in einer anderen Reihenfolge ausgeführt werden:

  1. Lesen Sie den Code für die nächste Anweisung aus der Zelle, die vom Programmzähler angezeigt wird.
  2. Dekodieren Sie den numerischen Code für die Anweisung in eine Reihe von Befehlen oder Signalen für jedes der anderen Systeme.
  3. Erhöhen Sie den Programmzähler, sodass er auf die nächste Anweisung zeigt.
  4. Lesen Sie die für den Befehl benötigten Daten aus den Speicherzellen (oder gegebenenfalls von einem Eingabegerät). Der Speicherort dieser benötigten Daten ist üblicherweise im Befehlscode gespeichert.
  5. Stellen Sie die erforderlichen Daten einer ALU oder einem Register zur Verfügung.
  6. Falls für die Ausführung des Befehls eine ALU oder spezielle Hardware erforderlich ist, weisen Sie die Hardware an, die angeforderte Operation durchzuführen.
  7. Schreiben Sie das Ergebnis der ALU zurück in eine Speicherzelle, in ein Register oder gegebenenfalls in ein Ausgabegerät.
  8. Springe zurück zu Schritt (1).

Konzeptionell ist der Programmzähler lediglich ein weiterer Satz von Speicherzellen und kann daher durch Berechnungen in der ALU verändert werden. Eine Erhöhung des Programmzählers um 100 bewirkt, dass die nächste Anweisung 100 Speicherstellen weiter unten im Programm gelesen wird. Anweisungen, die den Programmzähler verändern, werden oft als „Sprünge“ bezeichnet und ermöglichen Schleifen (Anweisungen, die vom Computer wiederholt werden) sowie häufig die bedingte Ausführung von Anweisungen (beides Beispiele für Kontrollstrukturen ).

Die Abfolge der Operationen, die die Steuereinheit zur Verarbeitung eines Befehls durchläuft, ähnelt an sich einem kurzen Computerprogramm, und in einigen komplexeren CPU-Designs gibt es sogar einen weiteren, noch kleineren Computer, den sogenannten Mikrosequenzer , der ein Mikrocode- Programm ausführt, das all diese Ereignisse auslöst.

Zentraleinheit (CPU)

Die Steuereinheit, die ALU und die Register werden zusammen als Zentraleinheit (CPU) bezeichnet. Frühe CPUs bestanden aus vielen separaten Komponenten. Seit den 1970er Jahren werden CPUs typischerweise auf einem einzigen MOS-integrierten Schaltkreis, dem sogenannten Mikroprozessor , aufgebaut .

Arithmetisch-logische Einheit (ALU)

Die ALU kann zwei Arten von Operationen ausführen: arithmetische und logische. [ 126 ] Die von einer bestimmten ALU unterstützten arithmetischen Operationen können auf Addition und Subtraktion beschränkt sein oder auch Multiplikation, Division, trigonometrische Funktionen wie Sinus, Kosinus usw. und Quadratwurzeln umfassen . Manche ALUs können nur mit ganzen Zahlen ( Integern ) arbeiten, während andere Gleitkommazahlen verwenden, um reelle Zahlen darzustellen , allerdings mit begrenzter Genauigkeit. Jeder Computer, der die einfachsten Operationen ausführen kann, kann jedoch so programmiert werden, dass er komplexere Operationen in einfache, ausführbare Schritte zerlegt. Daher kann jeder Computer so programmiert werden, dass er jede beliebige arithmetische Operation ausführt – allerdings dauert dies länger, wenn seine ALU die Operation nicht direkt unterstützt. Eine ALU kann auch Zahlen vergleichen und boolesche Wahrheitswerte (wahr oder falsch) zurückgeben, je nachdem, ob eine Zahl gleich, größer oder kleiner als die andere ist („Ist 64 größer als 65?“). Logische Operationen basieren auf der Booleschen Logik : UND , ODER , XOR und NICHT . Diese können nützlich sein, um komplexe bedingte Anweisungen zu erstellen und Boolesche Logik zu verarbeiten .

Superskalare Computer können mehrere ALUs enthalten, wodurch sie mehrere Befehle gleichzeitig verarbeiten können. [ 127 ] Grafikprozessoren und Computer mit SIMD- und MIMD -Funktionen enthalten häufig ALUs, die arithmetische Operationen mit Vektoren und Matrizen durchführen können .

Erinnerung

Magnetkernspeicher (mit Magnetkernen ) waren in den 1960er Jahren der bevorzugte Computerspeicher , bis sie durch Halbleiterspeicher (mit MOS -Speicherzellen) ersetzt wurden.

Der Arbeitsspeicher eines Computers kann als Liste von Zellen betrachtet werden, in die Zahlen geschrieben oder ausgelesen werden können. Jede Zelle hat eine nummerierte „Adresse“ und kann genau eine Zahl speichern. Dem Computer kann beispielsweise befohlen werden, „die Zahl 123 in die Zelle mit der Nummer 1357 zu schreiben“ oder „die Zahl in Zelle 1357 mit der Zahl in Zelle 2468 zu addieren und das Ergebnis in Zelle 1595 zu schreiben“. Die im Speicher abgelegten Informationen können praktisch alles darstellen. Buchstaben, Zahlen, sogar Computerbefehle lassen sich problemlos im Speicher ablegen. Da die CPU nicht zwischen verschiedenen Informationstypen unterscheidet, ist es Aufgabe der Software, den vom Speicher lediglich als Zahlenfolge wahrgenommenen Daten Bedeutung zu verleihen.

In fast allen modernen Computern ist jede Speicherzelle so aufgebaut, dass sie Binärzahlen in Achtergruppen von Bits (Bytes ) speichert . Jedes Byte kann 2<sup>56</sup> verschiedene Zahlen darstellen (2<sup> 8</sup> = 2<sup>56</sup>); entweder von 0 bis 2<sup>55</sup> oder von −128 bis +127. Um größere Zahlen zu speichern, können mehrere aufeinanderfolgende Bytes verwendet werden (typischerweise zwei, vier oder acht). Negative Zahlen werden üblicherweise im Zweierkomplement gespeichert . Andere Darstellungsformen sind zwar möglich, kommen aber außerhalb spezialisierter Anwendungen oder historischer Kontexte kaum vor. Ein Computer kann jede Art von Information im Speicher ablegen, sofern sie numerisch darstellbar ist. Moderne Computer verfügen über Milliarden oder sogar Billionen von Bytes Speicherplatz.

Die CPU verfügt über spezielle Speicherzellen, sogenannte Register , die deutlich schneller gelesen und beschrieben werden können als der Hauptspeicher. Je nach CPU-Typ gibt es typischerweise zwischen zwei und einhundert Register. Register werden für die am häufigsten benötigten Daten verwendet, um den Zugriff auf den Hauptspeicher bei jedem Datenbedarf zu vermeiden. Da Daten ständig verarbeitet werden, erhöht die Reduzierung der Zugriffe auf den Hauptspeicher (der im Vergleich zur ALU und den Steuereinheiten oft langsam ist) die Geschwindigkeit des Computers erheblich.

Der Hauptspeicher eines Computers lässt sich in zwei Hauptvarianten unterteilen:

Der Arbeitsspeicher (RAM) kann jederzeit von der CPU gelesen und beschrieben werden, während der ROM-Speicher mit unveränderlichen Daten und Software vorbelegt ist. Daher kann die CPU nur daraus lesen. Der ROM-Speicher speichert typischerweise die Startanweisungen des Computers. Im Allgemeinen werden die Daten im RAM-Speicher beim Ausschalten des Computers gelöscht, während der ROM-Speicher seine Daten dauerhaft speichert. In einem PC enthält der ROM-Speicher ein spezielles Programm, das BIOS , welches das Laden des Betriebssystems von der Festplatte in den RAM steuert, sobald der Computer eingeschaltet oder neu gestartet wird. In eingebetteten Systemen , die häufig keine Festplatte besitzen, kann die gesamte benötigte Software im ROM-Speicher abgelegt sein. Die im ROM-Speicher gespeicherte Software wird oft als Firmware bezeichnet , da sie eher Hardware als Software ähnelt. Flash-Speicher verwischen die Grenzen zwischen ROM und RAM, da er seine Daten auch nach dem Ausschalten speichert und wiederbeschreibbar ist. Er ist jedoch typischerweise deutlich langsamer als herkömmlicher ROM- und RAM-Speicher, weshalb seine Verwendung auf Anwendungen beschränkt ist, bei denen hohe Geschwindigkeit nicht erforderlich ist. [ g ]

In leistungsfähigeren Computern gibt es oft einen oder mehrere RAM -Cache-Speicher , die langsamer als Register, aber schneller als der Hauptspeicher sind. Computer mit einem solchen Cache sind in der Regel so konzipiert, dass häufig benötigte Daten automatisch in den Cache geladen werden, oft ohne dass der Programmierer eingreifen muss.

Ein-/Ausgabe (E/A)

Festplatten sind gängige Speichermedien, die in Computern verwendet werden.

Ein-/Ausgabe (E/A) bezeichnet die Art und Weise, wie ein Computer Informationen mit der Außenwelt austauscht. [ 129 ] Geräte, die Eingaben oder Ausgaben für den Computer ermöglichen, werden als Peripheriegeräte bezeichnet . [ 130 ] Bei einem typischen PC umfassen Peripheriegeräte Eingabegeräte wie Tastatur und Maus sowie Ausgabegeräte wie Bildschirm und Drucker . Festplatten , Diskettenlaufwerke und optische Laufwerke dienen sowohl als Eingabe- als auch als Ausgabegeräte. Computernetzwerke stellen eine weitere Form der E/A dar. E/A-Geräte sind oft eigenständige, komplexe Computer mit eigener CPU und eigenem Speicher. Eine Grafikprozessoreinheit (GPU) kann fünfzig oder mehr kleine Computer enthalten, die die für die Darstellung von 3D-Grafiken notwendigen Berechnungen durchführen . Moderne Desktop-Computer enthalten viele kleinere Computer, die die Haupt-CPU bei der E/A unterstützen. Ein Flachbildschirm aus dem Jahr 2016 enthält seine eigene Computerschaltung.

Multitasking

Während ein Computer im Allgemeinen als System betrachtet werden kann, das ein einziges, riesiges Programm im Hauptspeicher ausführt, ist es in manchen Systemen notwendig, den Anschein zu erwecken, mehrere Programme gleichzeitig auszuführen. Dies wird durch Multitasking erreicht, d. h. durch schnelles Umschalten zwischen der Ausführung der einzelnen Programme nacheinander. [ 131 ]

Eine Möglichkeit hierfür ist ein spezielles Signal, der sogenannte Interrupt . Dieser kann den Computer periodisch veranlassen, die Ausführung von Anweisungen an der aktuellen Position zu unterbrechen und stattdessen eine andere Aufgabe zu erledigen. Da sich der Computer merkt, wo er vor dem Interrupt ausgeführt wurde, kann er später zu dieser Aufgabe zurückkehren. Laufen mehrere Programme gleichzeitig, kann der Interruptgenerator mehrere hundert Interrupts pro Sekunde auslösen, was jedes Mal einen Programmwechsel zur Folge hat. Da moderne Computer Anweisungen typischerweise um ein Vielfaches schneller ausführen als das menschliche Empfinden, kann es so aussehen, als würden viele Programme gleichzeitig laufen, obwohl tatsächlich immer nur eines zu einem bestimmten Zeitpunkt ausgeführt wird. Diese Art des Multitaskings wird manchmal als „Time-Sharing“ bezeichnet, da jedem Programm nacheinander ein Zeitabschnitt („Slice“) zugewiesen wird. [ 132 ]

Vor dem Zeitalter preiswerter Computer diente Multitasking hauptsächlich dazu, mehreren Personen die gemeinsame Nutzung eines Computers zu ermöglichen. Man könnte meinen, dass ein Computer, der zwischen mehreren Programmen wechselt, langsamer läuft – proportional zur Anzahl der laufenden Programme. Tatsächlich verbringen die meisten Programme jedoch viel Zeit damit, auf die Ausführung langsamer Eingabe-/Ausgabegeräte zu warten. Wartet ein Programm beispielsweise auf einen Mausklick oder einen Tastendruck des Benutzers, belegt es erst dann einen Zeitabschnitt, wenn dieses Ereignis eingetreten ist. Dadurch wird Zeit für die Ausführung anderer Programme frei, sodass viele Programme gleichzeitig ohne unakzeptable Geschwindigkeitseinbußen laufen können.

Multiprocessing

Cray entwarf viele Supercomputer, die Multiprocessing intensiv nutzten.

Manche Computer sind so konzipiert, dass sie ihre Arbeit auf mehrere CPUs in einer Multiprocessing-Konfiguration verteilen – eine Technik, die einst nur in großen und leistungsstarken Maschinen wie Supercomputern , Mainframes und Servern zum Einsatz kam . Multiprozessor- und Multicore- PCs (mehrere CPUs auf einem einzigen integrierten Schaltkreis) sind heute weit verbreitet und finden daher auch im günstigeren Preissegment zunehmend Verwendung.

Insbesondere Supercomputer weisen oft hochgradig einzigartige Architekturen auf, die sich deutlich von der grundlegenden Architektur speicherprogrammierbarer Computer und von Allzweckrechnern unterscheiden. [ h ] Sie verfügen häufig über Tausende von CPUs, maßgeschneiderte Hochgeschwindigkeitsverbindungen und spezialisierte Rechenhardware. Solche Designs eignen sich aufgrund des großen Umfangs der Programmorganisation, der erforderlich ist, um die meisten verfügbaren Ressourcen gleichzeitig zu nutzen, in der Regel nur für spezialisierte Aufgaben. Supercomputer werden üblicherweise für umfangreiche Simulationen , Grafikrendering und Kryptografieanwendungen sowie für andere sogenannte „ pebarrassingly parallel “-Aufgaben eingesetzt.

Software

Software besteht aus den kodierten Informationen , die die Funktionsweise eines Computers bestimmen, wie beispielsweise Daten oder Anweisungen zur Datenverarbeitung. Im Gegensatz zur physischen Hardware , aus der das System besteht, ist Software immateriell. Software umfasst Computerprogramme , Bibliotheken und zugehörige nicht ausführbare Daten, wie Online-Dokumentation oder digitale Medien . Sie wird häufig in Systemsoftware und Anwendungssoftware unterteilt . Sowohl Software als auch Hardware sind wesentliche Bestandteile eines modernen Computers.

Firmware ist eine Teilmenge der Software, die zur Steuerung der physischen Hardware verwendet wird, wie beispielsweise das BIOS- ROM in einem IBM PC-kompatiblen Computer.

Betriebssystem / Systemsoftware Unix und BSDUNIX System V , IBM AIX , HP-UX , Solaris ( SunOS ), IRIX , Liste der BSD-Betriebssysteme
LinuxListe der Linux-Distributionen , Vergleich der Linux-Distributionen
WindowsWindows 95 , Windows 98 , Windows NT , Windows 2000 , Windows ME , Windows XP , Windows Vista , Windows 7 , Windows 8 , Windows 8.1 , Windows 10 , Windows 11
MS-DOS- kompatibelMS-DOS , IBM PC DOS , DR-DOS , FreeDOS
MacKlassisches Mac OS , macOS (früher OS X und Mac OS X)
Eingebettet und in EchtzeitListe der eingebetteten Betriebssysteme
ExperimentalAmoeba , Oberon – AOS, Bluebottle, A2 , Plan 9 von Bell Labs
BibliothekMultimediaDirectX , OpenGL , OpenAL , Vulkan (API)
ProgrammierbibliothekC-Standardbibliothek , Standard Template Library
DatenProtokollTCP/IP , Kermit , FTP , HTTP , SMTP
DateiformatHTML , XML , JPEG , MPEG , PNG
BenutzeroberflächeGrafische Benutzeroberfläche ( WIMP )Windows , GNOME , KDE , QNX Photon, CDE , GEM , Aqua
Textbasierte BenutzeroberflächeBefehlszeilenschnittstelle , Textbenutzerschnittstelle
Anwendungssoftware​ BürosuiteTextverarbeitung , Desktop-Publishing , Präsentationsprogramme , Datenbankverwaltungssysteme , Terminplanung und Zeitmanagement, Tabellenkalkulation , Buchhaltungssoftware
InternetzugangBrowser , E-Mail-Client , Webserver , Mail Transfer Agent , Instant Messaging
Konstruktion und FertigungComputergestütztes Design , computergestützte Fertigung , Werksmanagement, Roboterfertigung, Lieferkettenmanagement
GrafikRastergrafikeditor , Vektorgrafikeditor , 3D-Modellierer , Animationseditor , 3D-Computergrafik , Videobearbeitung , Bildverarbeitung
AudioDigitaler Audioeditor , Audiowiedergabe , Mischen , Audiosynthese , Computermusik
SoftwareentwicklungCompiler , Assembler , Interpreter , Debugger , Texteditor , Integrierte Entwicklungsumgebung , Software-Leistungsanalyse , Versionskontrolle , Software-Konfigurationsmanagement
BildungEdutainment , Lernspiel , Serious Game , Flugsimulator
SpieleStrategie , Arcade , Puzzle , Simulation , Ego-Shooter , Jump ’n’ Run , Massively Multiplayer , Interaktive Fiktion
VerschiedenesKünstliche Intelligenz , Antivirensoftware , Malware-Scanner , Installations- / Paketverwaltungssysteme , Dateimanager

Programme

Das entscheidende Merkmal moderner Computer, das sie von allen anderen Maschinen unterscheidet, ist ihre Programmierbarkeit . Dem Computer werden Anweisungen (das Programm ) übermittelt, die er dann verarbeitet. Moderne Computer, die auf der Von-Neumann-Architektur basieren, verwenden häufig Maschinencode in Form einer imperativen Programmiersprache . In der Praxis kann ein Computerprogramm aus wenigen Anweisungen bestehen oder sich auf viele Millionen Anweisungen erstrecken, wie beispielsweise die Programme für Textverarbeitungsprogramme und Webbrowser . Ein typischer moderner Computer kann Milliarden von Anweisungen pro Sekunde ( Gigaflops ) ausführen und macht über viele Jahre hinweg selten Fehler. Große Computerprogramme mit mehreren Millionen Anweisungen können Programmiererteams Jahre an ihrer Entwicklung hindern und enthalten aufgrund der Komplexität der Aufgabe fast zwangsläufig Fehler.

Architektur gespeicherter Programme

Nachbau des Manchester Baby , des weltweit ersten elektronischen Computers mit gespeichertem Programm , im Museum für Wissenschaft und Industrie in Manchester, England

Dieser Abschnitt gilt für die meisten gängigen RAM -basierten Computer.

In den meisten Fällen sind Computerbefehle einfach: Zahlen addieren, Daten verschieben, Nachrichten senden usw. Diese Befehle werden aus dem Speicher des Computers gelesen und in der Regel in der vorgegebenen Reihenfolge ausgeführt . Es gibt jedoch spezielle Befehle, mit denen der Computer zu einer anderen Stelle im Programm springen und die Ausführung dort fortsetzen kann. Diese Befehle werden als Sprungbefehle (oder Verzweigungen) bezeichnet. Sprungbefehle können zudem bedingt ausgeführt werden, sodass je nach Ergebnis einer vorherigen Berechnung oder eines externen Ereignisses unterschiedliche Befehlsfolgen verwendet werden. Viele Computer unterstützen Unterprogramme direkt , indem sie einen Sprungbefehl bereitstellen, der sich die Ausgangsposition merkt und einen weiteren Befehl zur Rückkehr zur nachfolgenden Anweisung enthält.

Die Programmausführung lässt sich mit dem Lesen eines Buches vergleichen. Während ein Mensch normalerweise jedes Wort und jede Zeile der Reihe nach liest, springt er gelegentlich zu einer früheren Stelle im Text zurück oder überspringt uninteressante Abschnitte. Ähnlich verhält es sich mit einem Computer: Er wiederholt Anweisungen in einem bestimmten Programmabschnitt so lange, bis eine interne Bedingung erfüllt ist. Dies wird als Programmablauf bezeichnet und ermöglicht es dem Computer, Aufgaben ohne menschliches Eingreifen wiederholt auszuführen.

Im Vergleich dazu kann eine Person mit einem Taschenrechner eine einfache Rechenoperation wie die Addition zweier Zahlen mit nur wenigen Tastendrücken durchführen. Die Addition aller Zahlen von 1 bis 1000 hingegen würde Tausende von Tastendrücken und viel Zeit in Anspruch nehmen, und ein Fehler wäre nahezu sicher. Ein Computer hingegen kann so programmiert werden, dass er dies mit nur wenigen einfachen Anweisungen erledigt. Das folgende Beispiel ist in der MIPS-Assemblersprache geschrieben :

begin: addi $8 , $0 , 0 # Summe auf 0 initialisieren addi $9 , $0 , 1 # Erste Zahl auf 1 setzen loop: slti $10 , $9 , 1000 # Prüfen, ob die Zahl kleiner als 1000 ist beq $10 , $0 , finish # Wenn die ungerade Zahl größer als n ist, dann beenden add $8 , $8 , $9 # Summe aktualisieren addi $9 , $9 , 1 # Nächste Zahl j holen loop # Summiervorgang wiederholen finish: add $2 , $8 , $0 # Summe in Ausgaberegister speichern

Sobald der Computer angewiesen wurde, dieses Programm auszuführen, erledigt er die sich wiederholende Additionsaufgabe ohne weiteres menschliches Eingreifen. Er macht dabei so gut wie nie Fehler, und ein moderner PC kann die Aufgabe in Sekundenbruchteilen erledigen.

Maschinencode

In den meisten Computern werden einzelne Befehle als Maschinencode gespeichert, wobei jedem Befehl eine eindeutige Nummer (sein Operationscode oder kurz Opcode ) zugewiesen ist. Der Befehl zum Addieren zweier Zahlen hat einen Opcode, der Befehl zum Multiplizieren einen anderen usw. Die einfachsten Computer können nur wenige verschiedene Befehle ausführen; komplexere Computer verfügen über mehrere Hundert Befehle, jeder mit einem eindeutigen numerischen Code. Da der Computerspeicher Zahlen speichern kann, kann er auch die Befehlscodes speichern. Dies führt zu der wichtigen Erkenntnis, dass ganze Programme (die lediglich Listen dieser Befehle sind) als Zahlenlisten dargestellt und im Computer wie numerische Daten verarbeitet werden können. Das grundlegende Konzept, Programme zusammen mit den zugehörigen Daten im Computerspeicher zu speichern, ist der Kern der Von-Neumann-Architektur, auch bekannt als gespeicherte Programmarchitektur. [ 134 ] [ 135 ] In manchen Fällen speichert ein Computer sein Programm teilweise oder vollständig in einem separaten Speicher, der von den zu verarbeitenden Daten getrennt ist. Diese Architektur wird nach dem Harvard Mark I- Computer als Harvard-Architektur bezeichnet . Moderne Von-Neumann-Computer weisen in ihrer Konstruktion einige Merkmale der Harvard-Architektur auf, beispielsweise bei den CPU-Caches .

Zwar lassen sich Computerprogramme als lange Zahlenlisten ( Maschinensprache ) schreiben, und diese Technik wurde auch bei vielen frühen Computern verwendet [ i ] , doch ist sie in der Praxis äußerst mühsam und fehleranfällig, insbesondere bei komplexen Programmen. Stattdessen kann jeder grundlegenden Anweisung ein kurzer, aussagekräftiger und leicht zu merkender Name gegeben werden – eine Mnemonik wie ADD, SUB, MULT oder JUMP. Diese Mnemoniken werden zusammenfassend als Assemblersprache bezeichnet . Die Übersetzung von Assemblerprogrammen in Maschinensprache erfolgt üblicherweise durch ein Computerprogramm namens Assembler.

Eine Lochkarte aus den 1970er Jahren mit einer Zeile aus einem Fortran- Programm. Auf der Karte steht: „Z(1) = Y + W(1)“ und sie ist zu Identifikationszwecken mit „PROJ039“ beschriftet.

Programmiersprache

Eine Programmiersprache ist ein Notationssystem zum Schreiben des Quellcodes , aus dem ein Computerprogramm erzeugt wird. Programmiersprachen bieten verschiedene Möglichkeiten, Programme für Computer zu spezifizieren. Im Gegensatz zu natürlichen Sprachen sind Programmiersprachen so konzipiert, dass sie keine Mehrdeutigkeiten zulassen und prägnant sind. Sie sind rein schriftliche Sprachen und oft schwer vorzulesen. Im Allgemeinen werden sie entweder vor der Ausführung von einem Compiler oder Assembler in Maschinencode übersetzt oder zur Laufzeit direkt von einem Interpreter . Manchmal werden Programme durch eine Kombination beider Verfahren ausgeführt.

Es gibt Tausende von Programmiersprachen – einige sind für die allgemeine Programmierung gedacht , andere eignen sich nur für hochspezialisierte Anwendungen.

Programmiersprachen
Listen von ProgrammiersprachenZeitleiste der Programmiersprachen , Liste der Programmiersprachen nach Kategorie , Generationenliste der Programmiersprachen , Liste der Programmiersprachen , Nicht-englischbasierte Programmiersprachen
Häufig verwendete AssemblersprachenARM , MIPS , x86
Häufig verwendete höhere ProgrammiersprachenAda , BASIC , C , C++ , C# , COBOL , Fortran , PL/I , REXX , Java , Lisp , Pascal , Object Pascal
Häufig verwendete SkriptsprachenBourne-Skript , JavaScript , Python , Ruby , PHP , Perl

Programmgestaltung

Die Programmentwicklung kleiner Programme ist relativ einfach und umfasst die Problemanalyse, die Erfassung von Eingabedaten, die Anwendung von Programmierkonstrukten innerhalb der jeweiligen Programmiersprache, die Entwicklung oder Verwendung etablierter Verfahren und Algorithmen, die Bereitstellung von Daten für Ausgabegeräte sowie gegebenenfalls die Lösung des Problems. [ 136 ] Mit zunehmender Größe und Komplexität der Probleme kommen Merkmale wie Unterprogramme, Module, formale Dokumentation und neue Paradigmen wie die objektorientierte Programmierung zum Einsatz. [ 137 ] Große Programme mit Tausenden von Codezeilen und mehr erfordern formale Softwaremethoden. [ 138 ] Die Entwicklung großer Softwaresysteme stellt eine erhebliche intellektuelle Herausforderung dar. [ 139 ] Die Entwicklung von Software mit einer akzeptabel hohen Zuverlässigkeit innerhalb eines planbaren Zeit- und Kostenrahmens war historisch gesehen schwierig; [ 140 ] die akademische und berufliche Disziplin der Softwareentwicklung konzentriert sich speziell auf diese Herausforderung. [ 141 ]

Bugs

Der erste tatsächliche Computerfehler war eine Motte, die auf einem Relais des Harvard Mark II -Computers gefangen gefunden wurde.

Fehler in Computerprogrammen werden als „ Bugs “ bezeichnet. Sie können harmlos sein und die Nützlichkeit des Programms nicht beeinträchtigen oder nur geringfügige Auswirkungen haben. In manchen Fällen können sie jedoch dazu führen, dass sich das Programm oder das gesamte System aufhängt („ hängt “), nicht mehr auf Eingaben wie Mausklicks oder Tastatureingaben reagiert, vollständig ausfällt oder abstürzt . [ 142 ] Ansonsten harmlose Bugs können mitunter von skrupellosen Benutzern für böswillige Zwecke ausgenutzt werden, indem sie einen Exploit schreiben – Code, der einen Bug ausnutzt und die ordnungsgemäße Ausführung des Computers stört. Bugs sind in der Regel nicht die Schuld des Computers. Da Computer lediglich die ihnen gegebenen Anweisungen ausführen, sind Bugs fast immer das Ergebnis eines Programmierfehlers oder eines Versehens im Programmdesign. [ j ] Admiral Grace Hopper , eine amerikanische Informatikerin und Entwicklerin des ersten Compilers , gilt als diejenige, die den Begriff „Bugs“ in der Informatik erstmals verwendete, nachdem im September 1947 eine tote Motte einen Kurzschluss in einem Relais des Harvard Mark II -Computers verursacht hatte. [ 143 ]

Netzwerke und das Internet

Visualisierung eines Teils der Routen im Internet

Computer werden seit den 1950er Jahren zur Koordination von Informationen zwischen mehreren physischen Standorten eingesetzt. Das SAGE- System des US-Militärs war das erste groß angelegte Beispiel eines solchen Systems, das zur Entwicklung einer Reihe von kommerziellen Spezialsystemen wie Sabre führte . [ 144 ]

In den 1970er Jahren begannen Computeringenieure an Forschungseinrichtungen in den gesamten Vereinigten Staaten, ihre Computer mithilfe von Telekommunikationstechnologie zu vernetzen. Dieses Projekt wurde von ARPA (heute DARPA ) finanziert, und das daraus entstandene Computernetzwerk wurde ARPANET genannt . [ 145 ] Logikgatter sind eine gängige Abstraktion, die auf die meisten der oben genannten digitalen oder analogen Paradigmen anwendbar ist. Die Fähigkeit, Listen von Anweisungen, sogenannte Programme, zu speichern und auszuführen , macht Computer äußerst vielseitig und unterscheidet sie von Taschenrechnern . Die Church-Turing-These ist eine mathematische Formulierung dieser Vielseitigkeit: Jeder Computer mit minimalen Fähigkeiten (Turing-Vollständigkeit) ist prinzipiell in der Lage, dieselben Aufgaben auszuführen wie jeder andere Computer. Daher kann jeder Computertyp ( Netbook , Supercomputer , zellulärer Automat usw.) dieselben Rechenaufgaben ausführen, sofern genügend Zeit und Speicherkapazität zur Verfügung stehen.

Künstliche Intelligenz

Im 20. Jahrhundert waren Systeme der künstlichen Intelligenz überwiegend symbolisch : Sie führten Code aus, der explizit von Softwareentwicklern programmiert wurde. [ 146 ] Modelle des maschinellen Lernens hingegen verfügen über festgelegte Parameter, die während des Trainings angepasst werden, sodass das Modell lernt, eine Aufgabe anhand der bereitgestellten Daten zu lösen. Die Effizienz des maschinellen Lernens (und insbesondere neuronaler Netze ) hat sich mit den Fortschritten in der Hardware für paralleles Rechnen , vor allem bei Grafikprozessoren (GPUs), rasant verbessert. [ 147 ] Einige große Sprachmodelle sind in der Lage, Computer oder Roboter zu steuern. [ 148 ] [ 149 ] Fortschritte in der KI könnten zur Entwicklung einer künstlichen allgemeinen Intelligenz (AGI) führen, einer KI-Art, die praktisch jede intellektuelle Aufgabe mindestens so gut wie der Mensch bewältigen könnte. [ 150 ]

Berufe und Organisationen

Da sich der Einsatz von Computern in der gesamten Gesellschaft immer weiter verbreitet hat, gibt es zunehmend auch Berufe, die mit Computern zu tun haben.

Berufe im Computerbereich
HardwarebezogenElektrotechnik , Elektronik , Informatik , Telekommunikationstechnik , Optik , Nanotechnik
SoftwarebezogenInformatik , Computertechnik , Desktop-Publishing , Mensch-Computer-Interaktion , Informationstechnologie, Informationssysteme , Computergestützte Wissenschaften , Softwareentwicklung, Videospielindustrie , Webdesign

Die Notwendigkeit, dass Computer gut zusammenarbeiten und Informationen austauschen können, hat zur Entstehung zahlreicher Normungsorganisationen, Clubs und Gesellschaften sowohl formeller als auch informeller Art geführt.

Organisationen
NormengruppenANSI , IEC , IEEE , IETF , ISO , W3C
BerufsverbändeACM , AIS , IET , IFIP , BCS
Gruppen für freie / Open-Source-SoftwareFree Software Foundation , Mozilla Foundation , Apache Software Foundation

Siehe auch

Anmerkungen

  1. Laut Schmandt-Besserat (1981) enthielten diese Tongefäße Zählmarken, deren Anzahl der Anzahl der transportierten Objekte entsprach. Die Gefäße dienten somit als eine Art Frachtbrief oder Kassenbuch. Um die Gefäße nicht zu beschädigen, wurden zunächst Tonabdrücke der Zählmarken zur Zählung auf die Außenseite der Gefäße aufgebracht. Die Formen der Abdrücke wurden zu stilisierten Zeichen abstrahiert. Schließlich wurden diese abstrakten Zeichen systematisch als Ziffern verwendet und diese Ziffern schließlich zu Zahlen formalisiert.Letztendlich genügten die Zeichen auf der Außenseite der Gefäße, um die Anzahl zu übermitteln, und die Tongefäße entwickelten sich zu Tontafeln mit Zählmarken. Schmandt-Besserat (1999) schätzt, dass dieser Prozess 4000 Jahre dauerte.
  2. Der Chip des Intel 4004 (1971) hatte eine Fläche von 12 mm² und bestand aus 2300 Transistoren; zum Vergleich: Der Pentium Pro hatte eine Fläche von 306 mm² und bestand aus 5,5 Millionen Transistoren. [ 116 ]
  3. ^ Laut dem Shorter Oxford English Dictionary (6. Auflage, 2007) lässt sich das Wort Computer bis in die Mitte des 17. Jahrhunderts zurückverfolgen, als es sich auf „Eine Person, die Berechnungen anstellt; insbesondere eine Person, die dafür in einer Sternwarte usw. angestellt ist“ bezog.
  4. Die meisten wichtigen 64-Bit- Befehlssatzarchitekturen sind Erweiterungen älterer Entwürfe. Alle in dieser Tabelle aufgeführten Architekturen, mit Ausnahme von Alpha, existierten bereits in 32-Bit-Versionen, bevor ihre 64-Bit-Varianten eingeführt wurden.
  5. Die Rolle der Steuereinheit bei der Befehlsinterpretation hat sich in der Vergangenheit etwas verändert. Obwohl die Steuereinheit in den meisten modernen Computern allein für die Befehlsinterpretation zuständig ist, ist dies nicht immer der Fall. Manche Computer verwenden Befehle, die teilweise von der Steuereinheit interpretiert und anschließend von einem anderen Gerät weiter interpretiert werden. Beispielsweise nutzte EDVAC , einer der ersten Computer mit speicherprogrammierbaren Befehlen, eine zentrale Steuereinheit, die nur vier Befehle interpretierte. Alle arithmetischen Befehle wurden an die Arithmetikeinheit weitergeleitet und dort weiter dekodiert.
  6. ^ Befehle belegen oft mehr als eine Speicheradresse. Daher erhöht sich der Programmzähler üblicherweise um die Anzahl der Speicherplätze, die zum Speichern eines Befehls benötigt werden.
  7. ^ Flash-Speicher können zudem nur eine begrenzte Anzahl von Malen überschrieben werden, bevor sie verschleißen, was sie für den intensiven Direktzugriff weniger geeignet macht. [ 128 ]
  8. Es ist jedoch auch sehr verbreitet, Supercomputer aus vielen kostengünstigen Standardkomponenten zu bauen; in der Regel aus einzelnen, vernetzten Computern. Diese sogenannten Computercluster bieten oft Supercomputerleistung zu deutlich geringeren Kosten als kundenspezifische Lösungen. Obwohl für die meisten der leistungsstärksten Supercomputer nach wie vor kundenspezifische Architekturen verwendet werden, hat die Zahl der Clustercomputer in den letzten Jahren stark zugenommen. [ 133 ]
  9. Auch spätere Computer wurden häufig direkt in Maschinensprache programmiert. Einige Minicomputer wie der DEC PDP-8 konnten direkt über ein Bedienfeld mit Schaltern programmiert werden. Diese Methode wurde jedoch üblicherweise nur im Rahmen des Bootvorgangs verwendet . Die meisten modernen Computer starten vollautomatisch, indem sie ein Bootprogramm aus einem nichtflüchtigen Speicher lesen .
  10. Es stimmt nicht generell, dass Fehler ausschließlich auf Programmierfehler zurückzuführen sind. Computerhardware kann ausfallen oder selbst einen grundlegenden Defekt aufweisen, der in bestimmten Situationen zu unerwarteten Ergebnissen führt. Beispielsweise verursachte der Pentium-FDIV-Fehler Anfang der 1990er-Jahrebei einigen Intel- Mikroprozessoren ungenaue Ergebnisse bei bestimmten Gleitkomma -Divisionsoperationen. Dies wurde durch einen Konstruktionsfehler im Mikroprozessor verursacht und führte zu einem teilweisen Rückruf der betroffenen Geräte.

Referenzen

  1. ^ Evans 2018 , S. 23.
  2. ^ Smith 2013 , S. 6.
  3. ^ „Computer (Substantiv)“ . Online Etymology Dictionary . Archiviert vom Original am 16. November 2016. Abgerufen am 19. August 2021 .
  4. ^ Robson, Eleanor (2008). Mathematik im alten Irak . Princeton University Press. S. 5. ISBN 978-0-691-09182-2DieIn Irak wurden bereits um 3200–3000 v. Chr. Kalküle für primitive Buchhaltungssysteme verwendet, wobei warenspezifische Zählsysteme zum Einsatz kamen. Eine ausgeglichene Buchhaltung wurde zwischen 3000 und 2350 v. Chr. praktiziert, und ein sexagesimales Zahlensystem war zwischen 2350 und 2000 v. Chr. in Gebrauch.
  5. ^ Flegg, Graham. (1989). Zahlen im Wandel der Zeit . Houndmills, Basingstoke, Hampshire: Macmillan Education. ISBN 0-333-49130-0OCLC  24660570 .​
  6. ^ Das Forschungsprojekt zum Mechanismus von Antikythera wurde am 28. April 2008 im Internetarchiv Wayback Machine archiviert . Abgerufen am 1. Juli 2007.
  7. ^ Marchant, Jo (1. November 2006). „Auf der Suche nach der verlorenen Zeit“ . Nature . 444 ( 7119): 534–538 . Bibcode : 2006Natur.444..534M . doi : 10.1038/444534a . ISSN 0028-0836 . PMID 17136067. S2CID 4305761 .   
  8. ^ G. Wiet, V. Elisseeff, P. Wolff, J. Naudu (1975). Geschichte der Menschheit, Band 3: Die großen mittelalterlichen Zivilisationen , S. 649. George Allen & Unwin Limited, UNESCO .
  9. ^ Fuat Sezgin. „Katalog der Ausstellung des Instituts für die Geschichte der arabisch-islamischen Wissenschaft (an der Johann Wolfgang Goethe-Universität), Frankfurt am Main, Deutschland“, Frankfurter Buchmesse 2004, S. 35 & 38.
  10. ^ Charette, François (2006). „Archäologie: Hochtechnologie aus dem antiken Griechenland“ . Nature . 444 ( 7119): 551–552 . Bibcode : 2006Natur.444..551C . doi : 10.1038/444551a . PMID 17136077. S2CID 33513516 .  
  11. ^ Bedini, Silvio A.; Maddison, Francis R. (1966). „Mechanisches Universum: Das Astrarium von Giovanni de‘ Dondi“. Transaktionen der American Philosophical Society . 56 (5): 1– 69. doi : 10.2307/1006002 . JSTOR 1006002 . 
  12. ^ Price, Derek de S. (1984). „A History of Calculating Machines“. IEEE Micro . 4 (1): 22–52 . Bibcode : 1984IMicr...4a..22S . doi : 10.1109/MM.1984.291305 .
  13. ^ Őren, Tuncer (2001). „Fortschritte in der Informatik: Vom Abakus zu holonischen Agenten“ (PDF) . Turk J Elec Engin . 9 (1): 63–70 . Archiviert (PDF) vom Original am 15. September 2009. Abgerufen am 21. April 2016 .
  14. ^ Donald Routledge Hill (1985). „Al-Birunis mechanischer Kalender“, Annals of Science 42 , S. 139–163.
  15. ^ „Der Schreibautomat, Schweiz“ . chonday.com. 11. Juli 2013. Archiviert vom Original am 20. Februar 2015. Abgerufen am 28. Januar 2015 .
  16. ^ a b Ray Girvan, "Die offenbarte Gnade des Mechanismus: Rechnen nach Babbage" , Archiviert am 3. November 2012 in der Wayback Machine , Scientific Computing World , Mai/Juni 2003.
  17. ^ Torres, Leonardo (10. Oktober 1895). „Memória sobre las Máquinas Algébricas“ (PDF) . Revista de Obras Públicas (auf Spanisch) (28): 217–222 .
  18. ^ Leonardo Torres. Memoria sobre las maquinas algébricas: con un informe de la Real academia de ciencias exaktas, físicas y naturales , Misericordia, 1895.
  19. ^ Thomas, Federico (August 2008). „Eine kurze Abhandlung über Leonardo Torres’ endlose Spindel“. Mechanism and Machine Theory . 43 (8): 1055–1063 . doi : 10.1016/j.mechmachtheory.2007.07.003 . hdl : 10261/30460 .
  20. ^ Académie des Sciences (Frankreich). Mécanique-Applikation. – Rapport sur un Mèmoire de M. Torres intitulè Machines à calculer présenté à l'Académie dans la séance du 19 de fevrier 1900 Archiviert am 29. Dezember 2025 in der Wayback Machine S. 874–876, Kommissare: MM. Marcel Deprez, Poincaré, Appell, Berichterstatter.
  21. ^ Torres Quevedo, Leonardo (1901). „Machines à Calculator“ . Mémoires Présentés par Divers Savants à l'Académie des Sciences de l'Institut de France (auf Französisch). XXXII . Impr. nationale (Paris). Archiviert vom Original am 26. Mai 2023 . Abgerufen am 19. August 2023 .
  22. ^ Gomez-Jauregui, Valentin; Gutierrez-Garcia, Andres; González-Redondo, Francisco A.; Iglesias, Miguel; Manchado, Cristina; Otero, Cesar (1. Juni 2022). „Torres Quevedos mechanischer Rechner für Gleichungen zweiten Grades mit komplexen Koeffizienten“ . Mechanismus- und Maschinentheorie . 172 (8) 104830. IFToMM . doi : 10.1016/j.mechmachtheory.2022.104830 . HDL : 10902/24391 . S2CID 247503677 . 
  23. ^ Halacy, Daniel Stephen (1970). Charles Babbage, Vater des Computers . Crowell-Collier Press. ISBN 978-0-02-741370-0Die
  24. ^ O'Connor, John J.; Robertson, Edmund F. (1998). „Charles Babbage“ . MacTutor History of Mathematics Archiv . School of Mathematics and Statistics, University of St Andrews, Schottland. Archiviert vom Original am 16. Juni 2006. Abgerufen am 14. Juni 2006 .
  25. ^ „Babbage“ . Online-Material . Science Museum. 19. Januar 2007. Archiviert vom Original am 7. August 2012. Abgerufen am 1. August 2012 .
  26. ^ Graham-Cumming, John (23. Dezember 2010). „Lasst uns Babbages ultimativen mechanischen Computer bauen“ . Meinung . New Scientist. Archiviert vom Original am 5. August 2012. Abgerufen am 1. August 2012 .
  27. ^ L. Torres Quevedo. Automatische Eingabe – Ihre Definition. Extension teórica de sus aplicaciones, Revista de la Academia de Ciencias Exactas, Revista 12, S. 391–418, 1914.
  28. ^ Torres Quevedo, Leonardo. Automática: Complemento de la Teoría de las Máquinas, (pdf) Archiviert am 25. Oktober 2023 bei Wayback Machine , S. 575–583, Revista de Obras Públicas, 19. November 1914.
  29. ^ Ronald T. Kneusel. Zahlen und Computer , Springer, S. 84–85, 2017. ISBN 978-3-319-50508-4
  30. ^ Randell 1982 , S. 6, 11–13.
  31. ^ B. Randell. Elektromechanische Rechenmaschine, Die Ursprünge digitaler Computer, S. 109–120, 1982.
  32. ^ Bromley 1990 .
  33. ^ Christopher Moore, Stephan Mertens. The Nature of Computation. Archiviert am 6. März 2025 in der Wayback Machine . Oxford, England: Oxford University Press, S. 291, 2011. ISBN 978-0-199-23321-2Die
  34. ^ Randell, Brian; Wilkes, Maurice V.; Ceruzzi, Paul E. (2003). „Digitalcomputer, Geschichte der“. Enzyklopädie der Informatik . Wiley. S.  545–570 . ISBN 978-0-470-86412-8Die
  35. ^ a b c d Die moderne Geschichte des Rechnens . Stanford Encyclopedia of Philosophy. 2017. Archiviert vom Original am 12. Juli 2010. Abgerufen am 7. Januar 2014 .
  36. ^ „Computing Before Silicon“ . MIT Technology Review . 1. Mai 2000. Archiviert vom Original am 22. Mai 2025. Abgerufen am 18. Mai 2025 .
  37. ^ O'Regan, Gerard (Hrsg.). (2008). Eine kurze Geschichte des Rechnens . London: Springer London. S. 28. doi : 10.1007/978-1-84800-084-1 . ISBN 978-1-84800-083-4Die
  38. ^ Tse, David (22. Dezember 2020). „Wie Claude Shannon die Zukunft erfand“ . Quanta Magazine . Archiviert vom Original am 15. Dezember 2023. Abgerufen am 5. November 2024 .
  39. ^ Parmar, Sunil (23. September 2021). „Restaurierung des TDC MARK III an Bord der USS PAMPANITO“ . NSL-Archiv . Archiviert vom Original am 1. Juni 2025. Abgerufen am 17. Mai 2025 .
  40. ^ Zuse, Horst. „Teil 4: Konrad Zuses Z1- und Z3-Computer“ . Das Leben und Werk von Konrad Zuse . EPE Online. Archiviert vom Original am 1. Juni 2008. Abgerufen am 17. Juni 2008 .
  41. ^ Bellis, Mary (15. Mai 2019) [Erstveröffentlichung 2006 auf inventors.about.com/library/weekly/aa050298.htm]. „Biografie von Konrad Zuse, Erfinder und Programmierer der frühen Computer“ . thoughtco.com . Dotdash Meredith. Archiviert vom Original am 13. Dezember 2020. Abgerufen am 3. Februar 2021. Konrad Zuse erwarb sich den inoffiziellen Titel „Erfinder des modernen Computers“.
  42. ^ „Wer ist der Vater des Computers?“ . ComputerHope . Archiviert vom Original am 4. Februar 2023. Abgerufen am 4. Februar 2023 .
  43. ^ Zuse, Konrad (2010) [1984]. Der Computer – Mein Leben Übersetzt von McKenna, Patricia und Ross, J. Andrew aus: Der Computer, mein Lebenswerk (1984) . Berlin/Heidelberg: Springer-Verlag. ISBN 978-3-642-08151-4Die
  44. ^ Salz Trautman, Peggy (20. April 1994). „Eine Computerpionierin nach 50 Jahren wiederentdeckt“ . The New York Times . Archiviert vom Original am 4. November 2016. Abgerufen am 15. Februar 2017 .
  45. ^ Zuse, Konrad (1993). Der Computer. Mein Lebenswerk (auf Deutsch) (3. Aufl.). Berlin: Springer-Verlag. P. 55. ISBN 978-3-540-56292-4Die
  46. ^ „Crash! Die Geschichte von IT: Zuse“ . Archiviert vom Original am 18. September 2016. Abgerufen am 1. Juni 2016 .
  47. ^ Rojas, R. (1998). „Wie man Zuses Z3 zu einem Universalcomputer macht“. IEEE Annals of the History of Computing . 20 (3): 51–54 . Bibcode : 1998IAHC...20c..51R . doi : 10.1109/85.707574 . S2CID 14606587 . 
  48. ^ Rojas, Raúl. „Wie man Zuses Z3 zu einem Universalcomputer macht“ (PDF) . fu-berlin.de . Archiviert (PDF) vom Original am 9. August 2017. Abgerufen am 28. September 2015 .
  49. ^ a b O'Regan, Gerard (2010). Eine kurze Geschichte des Rechnens . Springer Nature. S. 65. ISBN 978-3-030-66599-9Die
  50. ^ Bruderer, Herbert (2021). Meilensteine ​​der analogen und digitalen Datenverarbeitung (3. Aufl.). Springer. S. 1009, 1087. ISBN 978-3-03040973-9Die
  51. ^ „Bekanntmachung“. Des Moines Register . 15. Januar 1941.
  52. ^ Arthur W. Burks (1989). Der erste elektronische Computer . University of Michigan Press. ISBN 0-472-08104-7Abgerufen am 1. Juni 2019 .
  53. Copeland , Jack ( 2006). Colossus : Die Geheimnisse der Codeknacker - Computer von Bletchley Park . Oxford: Oxford University Press . S.  101–115 . ISBN 978-0-19-284055-4Die
  54. ^ Miller, Joe (10. November 2014). „Die Frau, die die Enigma-Chiffren knackte“ . BBC News . Archiviert vom Original am 10. November 2014. Abgerufen am 14. Oktober 2018 .
  55. ^ Bearne, Suzanne (24. Juli 2018). „Lernen Sie die weiblichen Codeknackerinnen von Bletchley Park kennen“ . The Guardian . Archiviert vom Original am 7. Februar 2019. Abgerufen am 14. Oktober 2018 .
  56. ^ „Bletchleys Codeknacker-Koloss“ . BBC . Archiviert vom Original am 4. Februar 2010. Abgerufen am 24. November 2021 .
  57. ^ „Colossus – Die Geschichte des Wiederaufbaus“ . National Museum of Computing . Archiviert vom Original am 18. April 2015. Abgerufen am 7. Januar 2014 .
  58. ^ Randell, Brian ; Fensom, Harry; Milne, Frank A. (15. März 1995). „Nachruf: Allen Coombs“ . The Independent . Archiviert vom Original am 3. Februar 2012. Abgerufen am 18. Oktober 2012 .
  59. ^ Fensom, Jim (8. November 2010). „Nachruf auf Harry Fensom“ . The Guardian . Archiviert vom Original am 17. September 2013. Abgerufen am 17. Oktober 2012 .
  60. ^ John Presper Eckert Jr. und John W. Mauchly, Elektronischer numerischer Integrator und Computer, Patentamt der Vereinigten Staaten, US-Patent 3,120,606, eingereicht am 26. Juni 1947, erteilt am 4. Februar 1964 und für ungültig erklärt am 19. Oktober 1973 nach einem Gerichtsurteil im Fall Honeywell gegen Sperry Rand .
  61. ^ Evans 2018 , S. 39.
  62. ^ Light 1999 , S. 459.
  63. ^ „Generationen von Computern“ . techiwarehouse.com. Archiviert vom Original am 2. Juli 2015. Abgerufen am 7. Januar 2014 .
  64. ^ Turing, A. M. (1937). „Über berechenbare Zahlen mit einer Anwendung auf das Entscheidungsproblem“. Proceedings of the London Mathematical Society . 2. 42 (1): 230–265 . Bibcode : 1937PLMS...42..230T . doi : 10.1112/plms/s2-42.1.230 . S2CID 73712 . 
  65. ^ Copeland, Jack (2004). The Essential Turing . S. 22: von Neumann ... betonte mir gegenüber, und ich bin sicher auch anderen gegenüber, nachdrücklich, dass die grundlegende Konzeption Turing zu verdanken ist – insofern sie nicht von Babbage, Lovelace und anderen vorweggenommen wurde.Brief von Stanley Frankel an Brian Randell , 1972.
  66. ^ Enticknap, Nicholas (Sommer 1998). „Das goldene Jubiläum der Informatik“ . Resurrection (20). ISSN 0958-7403 . Archiviert vom Original am 9. Januar 2012. Abgerufen am 19. April 2008 . 
  67. ^ „Frühe Computer an der Universität Manchester“ . Resurrection . 1 (4). Sommer 1992. ISSN 0958-7403 . Archiviert vom Original am 28. August 2017. Abgerufen am 7. Juli 2010 . 
  68. ^ „Frühe elektronische Computer (1946–51)“ . Universität Manchester. Archiviert vom Original am 5. Januar 2009. Abgerufen am 16. November 2008 .
  69. ^ Napper, RBE „Einführung in den Mark 1“ . Universität Manchester. Archiviert vom Original am 26. Oktober 2008. Abgerufen am 4. November 2008 .
  70. ^ „Unsere Pilotstudie zum Computererbe: Auslieferungen von Ferranti Mark I- und Mark I Star-Computern“ . Computer Conservation Society . Archiviert vom Original am 11. Dezember 2016. Abgerufen am 9. Januar 2010 .
  71. ^ Lavington, Simon. „Eine kurze Geschichte der britischen Computer: die ersten 25 Jahre (1948–1973)“ . ​​British Computer Society . Archiviert vom Original am 5. Juli 2010. Abgerufen am 10. Januar 2010 .
  72. ^ Lee, Thomas H. (2003). The Design of CMOS Radio-Frequency Integrated Circuits (PDF) . Cambridge University Press . ISBN 978-1-139-64377-1Archiviert vom Original (PDF) am 9. Dezember 2019. Abgerufen am 31. Juli 2019 .
  73. ^ Puers, Robert; Baldi, Livio; Voorde, Marcel Van de; Nooten, Sebastiaan E. van (2017). Nanoelektronik: Materialien, Geräte, Anwendungen, 2 Bände . John Wiley & Söhne . P. 14. ISBN 978-3-527-34053-8Abgerufen am 31. Juli 2019 .
  74. ^ a b Moskowitz, Sanford L. (2016). Advanced Materials Innovation: Managing Global Technology in the 21st century . John Wiley & Sons . pp.  165– 167. ISBN 978-0-470-50892-3Abgerufen am 28. August 2019 .
  75. ^ Lavington 1998 , S. 34–35.
  76. ^ a b Cooke-Yarborough, EH (Juni 1998). „Einige frühe Transistoranwendungen in Großbritannien“ . Engineering Science & Education Journal . 7 (3): 100–106 . doi : 10.1049/esej:19980301 (inaktiv seit 28. Januar 2026).{{cite journal}}: CS1 Wartung: DOI inaktiv ab Januar 2026 ( Link )
  77. ^ Cooke-Yarborough, EH (1957). Einführung in Transistorschaltungen . Edinburgh, Schottland: Oliver and Boyd. S. 139.
  78. ^ Huff, Howard; Riordan, Michael (September 2007). „Frosch und Derick: Fünfzig Jahre später (Vorwort)“. The Electrochemical Society Interface . 16 (3): 29. doi : 10.1149/2.F02073IF .
  79. ^ Frosch, CJ; Derick, L (1957). „Oberflächenschutz und selektive Maskierung während der Diffusion in Silizium“. Journal of the Electrochemical Society . 104 (9): 547. doi : 10.1149/1.2428650 .
  80. ^ Kahng, D. (1991). „Silizium-Siliziumdioxid-Oberflächenbauelement“. Halbleiterbauelemente: Pionierarbeiten . S.  583–596 . doi : 10.1142/9789814503464_0076 . ISBN 978-981-02-0209-5Die
  81. ^ Lojek, Bo (2007). Geschichte der Halbleitertechnik . Berlin, Heidelberg: Springer-Verlag Berlin Heidelberg. S. 321. ISBN 978-3-540-34258-8Die
  82. ^ Ligenza, JR; Spitzer, WG (Juli 1960). „Die Mechanismen der Siliciumoxidation in Wasserdampf und Sauerstoff“. Journal of Physics and Chemistry of Solids . 14 : 131–136 . Bibcode : 1960JPCS...14..131L . doi : 10.1016/0022-3697(60)90219-5 .
  83. ^ Lojek, Bo (2007). Geschichte der Halbleitertechnik . Springer Science & Business Media . S. 120. ISBN 978-3-540-34258-8Die
  84. ^ Motoyoshi, M. (2009). „Through-Silicon Via (TSV)“. Proceedings of the IEEE . 97 (1): 43–48 . doi : 10.1109/JPROC.2008.2007462 . ISSN 0018-9219 . S2CID 29105721 .  
  85. ^ Young, Ian (12. Dezember 2018). „Transistoren erhalten das Mooresche Gesetz am Leben“ . EETimes . Archiviert vom Original am 24. September 2019. Abgerufen am 18. Juli 2019 .
  86. ^ Laws, David (4. Dezember 2013). „Wer hat den Transistor erfunden?“ . Computer History Museum . Archiviert vom Original am 13. Dezember 2013. Abgerufen am 20. Juli 2019 .
  87. ^ a b Hittinger, William C. (1973). „Metall-Oxid-Halbleiter-Technologie“. Scientific American . 229 (2): 48–59 . Bibcode : 1973SciAm.229b..48H . doi : 10.1038/scientificamerican0873-48 . ISSN 0036-8733 . JSTOR 24923169 .  
  88. ^ Malmstadt, Howard V.; Enke, Christie G.; Crouch, Stanley R. (1994). Making the Right Connections: Microcomputers and Electronic Instrumentation . American Chemical Society . S. 389. ISBN 978-0-8412-2861-0Abgerufen am 28. August 2019. Die relative Einfachheit und der geringe Leistungsbedarf von MOSFETs haben die heutige Mikrocomputer-Revolution ermöglicht.
  89. ^ Fossum, Jerry G.; Trivedi, Vishal P. (2013). Grundlagen ultradünner MOSFETs und FinFETs . Cambridge University Press . S. vii. ISBN 978-1-107-43449-3Abgerufen am 28. August 2019 .
  90. ^ Marriott, JW (10. Juni 2019). „Anmerkungen von Direktor Iancu auf der Internationalen Konferenz für Geistiges Eigentum 2019“ . Patent- und Markenamt der Vereinigten Staaten . Archiviert vom Original am 17. Dezember 2019. Abgerufen am 20. Juli 2019 .
  91. ^ „Dawon Kahng“ . National Inventors Hall of Fame . Archiviert vom Original am 27. Oktober 2019. Abgerufen am 27. Juni 2019 .
  92. ^ „Martin Atalla in die Hall of Fame der Erfinder, 2009“ . Archiviert vom Original am 19. September 2019. Abgerufen am 21. Juni 2013 .
  93. ^ Triumph des MOS-Transistors . Computer History Museum . 6. August 2010. Archiviert vom Original am 18. August 2021. Abgerufen am 21. Juli 2019 – via YouTube.
  94. ^ „Die unglückliche Geschichte von Geoffrey Dummer“ Archiviert am 11. Mai 2013 bei der Wayback Machine , (nd), (HTML), Electronic Product News , abgerufen am 8. Juli 2008.
  95. ^ Kilby, Jack (2000). „Nobelvortrag“ (PDF) . Stockholm: Nobelstiftung. Archiviert (PDF) vom Original am 29. Mai 2008. Abgerufen am 15. Mai 2008 .
  96. ^ Der Chip, den Jack gebaut hat. Archiviert am 1. Mai 2015 in der Wayback Machine . (ca. 2008), (HTML), Texas Instruments, abgerufen am 29. Mai 2008.
  97. ^ Jack S. Kilby, Miniaturisierte elektronische Schaltungen, Patentamt der Vereinigten Staaten, US-Patent 3,138,743, eingereicht am 6. Februar 1959, erteilt am 23. Juni 1964.
  98. ^ Winston, Brian (1998). Medientechnologie und Gesellschaft: Eine Geschichte: Vom Telegrafen zum Internet . Routledge. S. 221. ISBN 978-0-415-14230-4Abgerufen am 6. Juni 2020 .
  99. ^ Saxena, Arjun N. (2009). Die Erfindung integrierter Schaltkreise: Unbekannte wichtige Fakten . World Scientific . S. 140. ISBN 978-981-281-445-6Abgerufen am 28. August 2019 .
  100. ^ a b „Integrierte Schaltkreise“ . NASA . Archiviert vom Original am 21. Juli 2019. Abgerufen am 13. August 2019 .
  101. ^ Robert Noyces unitärer Schaltkreis, US-Patent 2981877 , „Halbleiterbauelement- und Anschlussstruktur“, erteilt am 25. April 1961, zugewiesen an die Fairchild Semiconductor Corporation  .
  102. ^ „1959: Praktisches Konzept für monolithische integrierte Schaltungen patentiert“ . Computer History Museum . Archiviert vom Original am 24. Oktober 2019. Abgerufen am 13. August 2019 .
  103. ^ Frosch, CJ; Derick, L (1957). „Oberflächenschutz und selektive Maskierung während der Diffusion in Silizium“. Journal of the Electrochemical Society . 104 (9): 547. doi : 10.1149/1.2428650 .
  104. ^ US2802760A , Lincoln, Derick & Frosch, Carl J., "Oxidation of semiconductive surfaces for controlled diffusion", veröffentlicht am 13. August 1957. Archiviert am 20. März 2025 in der Wayback Machine . 
  105. ^ Moskowitz, Sanford L. (2016). Advanced Materials Innovation: Managing Global Technology in the 21st century . John Wiley & Sons . S. 168. ISBN 978-0-470-50892-3Die
  106. ^ Lécuyer, Christophe; Brook, David C.; Last, Jay (2010). Makers of the Microchip: A Documentary History of Fairchild Semiconductor . MIT Press. S.  62–63 . ISBN 978-0-262-01424-3Die
  107. ^ Claeys, Cor L. (2003). ULSI Process Integration III: Proceedings of the International Symposium . The Electrochemical Society . S.  27–30 . ISBN 978-1-56677-376-8Die
  108. ^ Lojek, Bo (2007). Geschichte der Halbleitertechnik . Springer Science & Business Media . S. 120. ISBN 978-3-540-34258-8Die
  109. ^ a b Kuo, Yue (1. Januar 2013). „Dünnschichttransistor-Technologie – Vergangenheit, Gegenwart und Zukunft“ (PDF) . The Electrochemical Society Interface . 22 (1): 55–61 . Bibcode : 2013ECSIn..22a..55K . doi : 10.1149/2.F06131if . ISSN 1064-8208 . Archiviert (PDF) vom Original am 29. August 2017. Abgerufen am 31. Juli 2019 . 
  110. ^ a b „Die Schildkröte der Transistoren gewinnt das Rennen – CHM-Revolution“ . Computer History Museum . Archiviert vom Original am 10. März 2020. Abgerufen am 22. Juli 2019 .
  111. ^ „1964 – Einführung des ersten kommerziellen MOS-ICs“ . Computer History Museum . Archiviert vom Original am 22. Dezember 2015. Abgerufen am 31. Juli 2019 .
  112. ^ „1968: Silizium-Gate-Technologie für integrierte Schaltungen entwickelt“ . Computer History Museum . Archiviert vom Original am 29. Juli 2020. Abgerufen am 22. Juli 2019 .
  113. ^ a b „1971: Mikroprozessor integriert CPU-Funktion auf einem einzigen Chip“ . Computer History Museum . Archiviert vom Original am 12. August 2021. Abgerufen am 22. Juli 2019 .
  114. ^ Colinge, Jean-Pierre; Greer, James C. (2016). Nanowire Transistors: Physics of Devices and Materials in One Dimension . Cambridge University Press . S. 2. ISBN 978-1-107-05240-6Abgerufen am 31. Juli 2019 .
  115. ^ „Intels erster Mikroprozessor – der Intel 4004“ . Intel Corp. November 1971. Archiviert vom Original am 13. Mai 2008. Abgerufen am 17. Mai 2008 .
  116. ^ Patterson, David; Hennessy, John (1998). Computerorganisation und -design . San Francisco: Morgan Kaufmann . S.  27–39 . ISBN 978-1-55860-428-5Die
  117. ^ Federico Faggin , Die Entstehung des ersten Mikroprozessors, archiviert am 29. Mai 2024 in der Wayback Machine , IEEE Solid-State Circuits Magazine , Winter 2009, IEEE Xplore .
  118. ^ a b „7 beeindruckende Smartphone-Verbesserungen mit Qualcomms Snapdragon 835-Chip“ . 3. Januar 2017. Archiviert vom Original am 30. September 2019. Abgerufen am 5. April 2019 .
  119. ^ Chartier, David (23. Dezember 2008). „Weltweite Notebook-Lieferungen überholen endlich die von Desktop-PCs“ . Ars Technica . Archiviert vom Original am 4. Juli 2017. Abgerufen am 14. Juni 2017 .
  120. ^ IDC (25. Juli 2013). „Laut IDC beschleunigt sich das Wachstum auf den weltweiten Märkten für Mobiltelefone und Smartphones im zweiten Quartal“ . Archiviert vom Original am 26. Juni 2014.
  121. ^ „Google Books Ngram Viewer“ . books.google.com .
  122. ^ „Google Books Ngram Viewer“ . books.google.com .
  123. ^ „Google Books Ngram Viewer“ . books.google.com .
  124. ^ „Google Books Ngram Viewer“ . books.google.com .
  125. ^ „Definition von Computer“ . Thefreedictionary.com. Archiviert vom Original am 26. Dezember 2009. Abgerufen am 29. Januar 2012 .
  126. ^ Eck, David J. (2000). Die komplexeste Maschine: Ein Überblick über Computer und Informatik . AK Peters, Ltd. S. 54. ISBN 978-1-56881-128-4Die
  127. ^ Kontoghiorghes, Erricos John (2006). Handbook of Parallel Computing and Statistics . CRC Press. S. 45. ISBN 978-0-8247-4067-2Die
  128. ^ Verma & Mielke 1988 .
  129. ^ Eadie, Donald (1968). Einführung in den einfachen Computer . Prentice-Hall. S. 12.
  130. ^ Barna , Arpad; Porat, Dan I. (1976). Einführung in Mikrocomputer und Mikroprozessoren . Wiley. S.  85. ISBN 978-0-471-05051-3Die
  131. ^ Peek, Jerry ; Todino, Grace; Strang, John (2002). Learning the UNIX Operating System: A Concise Guide for the New User . O'Reilly. S.  130. ISBN 978-0-596-00261-9Die
  132. ^ Davis, Gillian M. (2002). Rauschunterdrückung in Sprachanwendungen . CRC Press. S. 111. ISBN 978-0-8493-0949-6Die
  133. ^ TOP500 2006 , S. .
  134. ^ Cragon, Harvey (2000). Computerarchitektur und -implementierung . Cambridge University Press. S. 5. ISBN 978-0-521-65168-4Archiviert vom Original am 30. Juli 2022. Abgerufen am 10. Juni 2022 .
  135. ^ Xu, Zhiwei; Zhang, Jialin (2021). Computational Thinking: A Perspective on Computer Science . Singapur: Springer. S. 60. ISBN 978-981-16-3848-0Archiviert vom Original am 30. Juli 2022. Abgerufen am 10. Juni 2022. Es handelt sich um die sogenannte gespeicherte Programmarchitektur oder das gespeicherte Programmmodell, auch bekannt als Von-Neumann-Architektur. Wir verwenden diese Begriffe synonym .
  136. ^ Leach, Ronald J. (27. Januar 2016). Einführung in die Softwareentwicklung . CRC Press. S. 11. ISBN 978-1-4987-0528-8Abgerufen am 26. November 2022 .
  137. ^ Zhu, Hong (22. März 2005). Software Design Methodology: From Principles to Architectural Styles . Elsevier. S.  47–72 . ISBN 978-0-08-045496-2Abgerufen am 26. November 2022 .
  138. ^ Leach, Ronald J. (27. Januar 2016). Einführung in die Softwareentwicklung . CRC Press. S. 56. ISBN 978-1-4987-0528-8Abgerufen am 26. November 2022 .
  139. ^ Knight, John (12. Januar 2012). Grundlagen zuverlässiger Systeme für Softwareentwickler . CRC Press. S. 186. ISBN 978-1-4665-1821-6Abgerufen am 26. November 2022 .
  140. ^ Brooks (Jr.), Frederick P. (1975). Der Mythos des Mannmonats: Essays zur Softwareentwicklung . Addison-Wesley Publishing Company. ISBN 978-0-201-00650-6Abgerufen am 26. November 2022 .
  141. ^ Sommerville, Ian (2007). Software Engineering . Pearson Education. S.  4–17 . ISBN 978-0-321-31379-9Abgerufen am 26. November 2022 .
  142. ^ „Warum stürzen Computer ab?“ Scientific American . Archiviert vom Original am 1. Mai 2018. Abgerufen am 3. März 2022 .
  143. ^ Taylor, Alexander L. III (16. April 1984). „Der Zauberer in der Maschine“ . Time . Archiviert vom Original am 16. März 2007. Abgerufen am 17. Februar 2007 .
  144. ^ Hughes, Agatha C. (2000). Systeme, Experten und Computer . MIT Press . S. 161. ISBN 978-0-262-08285-3Die Erfahrungen von SAGE trugen dazu bei , das erste wirklich groß angelegte kommerzielle Echtzeitnetzwerk zu ermöglichen: das computergestützte Flugreservierungssystem SABRE.
  145. ^ Leiner, Barry M.; Cerf, Vinton G.; Clark, David D.; Kahn, Robert E.; Kleinrock, Leonard; Lynch, Daniel C.; Postel, Jon; Roberts, Larry G.; Wolf, Stephen (1999). „Eine kurze Geschichte des Internets“. arXiv : cs/9901011 .
  146. ^ „Eine sanfte Einführung in die symbolische KI“ . KDnuggets . Archiviert vom Original am 4. April 2025. Abgerufen am 17. Mai 2025 .
  147. ^ „Nvidia: Der Chiphersteller, der zur KI-Supermacht wurde“ . BBC . 25. Mai 2023. Archiviert vom Original am 23. Dezember 2023. Abgerufen am 17. Mai 2025 .
  148. ^ Jindal, Siddharth (22. Oktober 2024). „Anthropics Claude 3.5 steuert Ihren Computer jetzt wie Sie“ . Analytics India Magazine . Archiviert vom Original am 23. Mai 2025. Abgerufen am 17. Mai 2025 .
  149. ^ Edwards, Benj (20. Februar 2025). „Microsofts neuer KI-Agent kann Software und Roboter steuern“ . Ars Technica . Archiviert vom Original am 20. Mai 2025. Abgerufen am 17. Mai 2025 .
  150. ^ „Die Definition von künstlicher allgemeiner Intelligenz (AGI)“ . TIME . 3. April 2025. Abgerufen am 17. Mai 2025 .

Quellen