738 Shares 4058 views

Die Architektur von von Neumann: die Geschichte des Ursprungs des Begriffs

Die Architektur der von Neumann-Maschine, auch bekannt als das von Neumann-Modell, oder die Princeton-Architektur, basiert auf einer Technik, die 1945 vom Mathematiker und Physiker John von Neumann im Rahmen des "First Project" -Reports auf dem EDVAC-Computer beschrieben wurde.

Architekturumrisse

Der Bericht von Neumann beschrieb ein Architekturschema für einen elektronischen Digitalrechner mit Teilen aus Verarbeitungseinheiten, die folgendes enthalten:

  • Arithmetische Logikeinheit;
  • Prozessorregister;
  • Eine Steuereinheit, die ein Befehlsregister und einen Befehlszähler enthält;
  • Eine Speichervorrichtung zum Speichern von Daten;
  • Externe Speichereinrichtung;
  • Ein- und Ausgabemechanismen.

Die Bedeutung der Entwicklung war, dass alle auf dem Computer gespeicherten Informationen von dem Programm verwendet werden könnten, in dem die ausgewählten Betriebsdaten nicht gleichzeitig abgespielt werden können, weil sie einen gemeinsamen Bus teilen. Dies wird im "First Project" erwähnt, das die Gedanken des Wissenschaftlers über die Art der Architektur beschreibt. Von Neumann nannte diese Situation einen "Engpass", der oft die Systemleistung begrenzt.

Grundsätze der von Neumann Architektur

Ein digitaler Computer ist ein Computer, der ein Programm speichert, das Programmbefehle enthält, Daten zum Lesen, Schreiben und auch einen Speicher mit wahlfreiem Zugriff (RAM) enthält. Die Prinzipien der Architektur von Johann von Neumann sind auch in seinem Werk "Das erste Projekt" dargelegt. Ihm zufolge waren Computer mit einem im Speicher gespeicherten Programm eine Verbesserung gegenüber der Verwaltung von Computern wie ENIAC. Letzteres wurde durch Einstellen von Schaltern und Einfügen eines Patches programmiert, der zu Datenleit- und Steuersignalen zwischen den verschiedenen Funktionsblöcken führt. In der überwiegenden Mehrheit der modernen Computer wird das Gedächtnis auch in ähnlicher Weise verwendet. In diesem Fall unterscheidet sich die Architektur von von Neumanns Computer z. B. von Harvard, indem sie nicht die Haupt-, sondern die Cache-Speicherung verwendet.

Vorgeschichte

Die ersten Computer hatten feste Programme festgesetzt. Einige sehr einfache Computer verwenden dieses Design nur zur Vereinfachung oder zum pädagogischen Zweck. Zum Beispiel ist ein Desktop-Rechner auch ein Computer mit einem festen Programm. Es kann mit den Grundlagen der Mathematik arbeiten, aber es kann nicht als Textverarbeitung oder Spielkonsole verwendet werden. Das Ändern des festen Programms der Maschine erfordert eine erneute Installation, Umstrukturierung oder Reorganisation der Maschine. Die frühesten Computer waren nicht so engstirnig, da sie zum ersten Mal und für wissenschaftliche Zwecke entwickelt wurden. Neuprogrammierung erschien viel später, und es war ein zeitaufwändiger Prozess, beginnend mit Blockdiagrammen und Papierrechnungen und endete mit detaillierten technischen Projekten. Besonders schwierig war der Prozess der physikalischen Modernisierung der Kanäle der Wiederherstellung der Maschine. Es kann drei Wochen dauern, bis das Programm auf ENIAC installiert ist und versuchen, es zu arbeiten.

Eine neue Idee

Mit dem Vorschlag des Computers, Programme im Speicher zu speichern, änderte sich alles. Im Gedächtnis gespeichert, sind sie ein Entwurf mit einer Reihe von Anweisungen. So kann die Maschine sofort einen Satz von Befehlen erhalten, um Berechnungen durchzuführen.

Das Design solcher Programme bezieht sich auf selbstmodifizierende Codes. Eine der ersten Einstellungen für ein solches Objekt war die Notwendigkeit eines Algorithmus, den Adressteil der Befehle zu erhöhen oder anderweitig zu verändern. Es wurde manuell in frühen Entwürfen gemacht. Dies wurde weniger wichtig, wenn Indexregister und indirekte Adressierung die üblichen Eigenschaften wurden, die die Computerarchitektur von John von Neumanns Computer besitzt. Eine weitere Verwendung besteht darin, häufig verwendete Daten im Befehlsfluss mit einer Sofortlösung einzufügen. Aber selbstmodifizierende Code wurde schwer kritisiert, da es meist schwer zu verstehen und zu debuggen ist. Darüber hinaus war es auch ineffizient in Bezug auf Playback und Caching-Systeme von modernen Prozessoren.

Im Großen und Ganzen ist die Fähigkeit, Anweisungen als Daten zu behandeln, was Assembler, Compiler, Bauherren, Lader und andere Werkzeuge mit möglichen automatisierten Programmierobjekten tun. So zu sagen, schreiben Programme, die Programme schreiben. Im kleineren Maßstab wurden wiederholte Input- und Output-Operationen wie BitBlt-Manipulationen mit Bildern von Primitiv- oder Pixel- und Vertex-Shadern in modernen 3D-Grafiken als wirksam für die Arbeit ohne Benutzerausstattung gefunden.

Entwicklung des Konzepts eines im Speicher gespeicherten Programms

Mathematiker Alan Turing, der sich nach dem Vortrag von Max Newman an der Universität von Cambridge für das Problem der mathematischen Logik interessierte, schrieb den Artikel 1936, der in der Ausgabe der Londoner Mathematischen Gesellschaft veröffentlicht wurde. In ihm beschrieb er eine hypothetische Maschine, die er eine "universelle Rechenmaschine" nannte und die heute als universelle Turingmaschine bekannt ist. Es hatte ein unendliches Lagerhaus (in der modernen Terminologie – Gedächtnis), das sowohl Anweisungen als auch Daten enthielt, für die die gegebene Architektur geschaffen wurde. Von Neumann traf Turing zu der Zeit, als er 1935 Gastprofessor in Cambridge war, und auch während der Verteidigung seiner Dissertation Turing am Institut für Fortgeschrittene Studien in Princeton (NJ) 1936-1937.

Unabhängig von einander schrieben Ji Presper Eckert und John Mauchly, der ENIAC an der Elektrotechnik-Schule an der University of Pennsylvania entwickelte, über das Konzept einer Maschine, die das Programm im Dezember 1943 gespeichert hatte. Bei der Planung einer neuen Maschine, EDVAC, schrieb Eckert im Januar 1944, dass sie Daten und Programme in einem neuen Gerät mit Speicheradressierung durch Verzögerung von metallischem Quecksilber speichern würde. Dies war das erste Mal, dass der Bau einer Maschine, die ein Programm im Gedächtnis speichert, vorgeschlagen wurde. Zur gleichen Zeit waren er und Mauchly nicht bewusst von der Arbeit von Turing (Foto unten).

Computerarchitektur: das von Neumann-Prinzip

Von Neumann war an dem Manhattan-Projekt im Nationalen Labor in Los Alamos beteiligt, was eine enorme Berechnungsmenge erforderte. Das hat ihn im Sommer 1944 zum ENIAC-Projekt angezogen. Dort kam er zu Diskussionen über die Entwicklung des EDVAC-Rechners. Im Rahmen dieser Gruppe schrieb er eine Arbeit mit dem Titel "Der erste Entwurfsbericht über EDVAC", der auf der Arbeit von Eckert und Mauchly basiert. Es war unvollständig, als sein Kollege Goldstein ein Projekt mit dem Namen von Neumann zirkulierte (übrigens, Eckert und Mauchly waren von solchen Nachrichten verblüfft). Dieses Dokument wurde von Dutzenden von Neumann Kollegen in Amerika und Europa gelesen und hatte einen großen Einfluss auf die nächste Stufe der Computer-Entwicklung.

Die Grundprinzipien von Neumanns Architektur, die im "Erstprojekt" dargelegt wurden, erlangten große Beliebtheit, während Turing seinen Bericht über den elektronischen Taschenrechner, der ausführlich in der Ingenieur- und Programmierung beschrieben wurde, abgedeckt hat. Es enthielt die Präsentation des Autors der Maschine, die sogenannte Automatic Computing Engine (ACE). Er stellte sie dem Exekutivkomitee des British National Physical Laboratory 1946 vor. Nach einer Weile wurden sogar verschiedene erfolgreiche Implementierungen des ACE-Designs gemacht.

Beginn der Projektumsetzung

Sowohl von Neumanns Design als auch Turings Dokumenten beschrieb Computer, die ein bestimmtes Programm im Gedächtnis speicherten, aber von Neumanns Artikel erreichte eine größere Verbreitung in der Gesellschaft, und die Computerarchitektur wurde als Architektur von John von Neumann bekannt.

1945 veröffentlichte Professor Neumann, der damals in der Ingenieurschule in Philadelphia arbeitete, wo der erste ENIAC gebaut wurde, einen Bericht über die logische Gestaltung von digitalen Computern im Auftrag einer Gruppe seiner Kollegen. Der Bericht enthält einen ziemlich detaillierten Vorschlag für die Gestaltung der Maschine, die mittlerweile als EDVAC bekannt geworden ist. Es war erst vor kurzem in Amerika, aber der Bericht inspiriert von Neumann, EDSAC zu schaffen.

Maniacs und Joniacs

Im Jahr 1947 veröffentlichten Berks, Goldstein und von Neumann einen weiteren Bericht, der den Bau einer anderen Art von Maschine (diesmal parallel) abdeckte, die extrem schnell sein sollte und bis zu 20.000 Operationen pro Sekunde ausführen kann. Sie stellten fest, dass ein ungelöstes Problem bei der Konstruktion es war die Entwicklung der geeigneten Erinnerung, deren gesamter Inhalt sollte sofort verfügbar sein. Zuerst schlugen sie vor, eine spezielle Vakuumröhre namens Selectron zu verwenden, die im Princeton Laboratory erfunden wurde. Solche Rohre waren teuer und machten sie sehr schwierig, besonders wenn diese Architektur verwendet wird. Von Neumann beschloss später, eine Maschine auf der Grundlage der Erinnerung an Williams zu bauen. Diese Maschine, die im Juni 1952 in Princeton fertiggestellt wurde, wurde weithin bekannt MANIAC (oder einfach Maniacs). Sein Design inspirierte die Schöpfer, ein halbes Dutzend oder mehr ähnliche Geräte zu entwerfen, die jetzt in Amerika gebaut werden und werden komisch Johniacs genannt.

Grundsätze der Schöpfung

Einer der modernsten digitalen Computer, der die Entwicklungen und Verbesserungen in der Technik des automatischen elektronischen Rechnens verkörperte, wurde im National Physical Laboratory in Teddington demonstriert, wo es von einer kleinen Gruppe von Mathematikern, Elektronik-Ingenieuren und Forschern entworfen und gebaut wurde, mit der Unterstützung einer Reihe von Produktionsingenieuren von British Electric Unternehmen GmbH Das Gerät befindet sich noch im Labor, aber nur als Prototyp einer viel größeren Installation, die als Automatic Computing Engine bekannt ist. Trotz der relativ geringen Masse und dem Inhalt von nur 800 thermischen Ventilen ist es eine extrem schnelle und universelle Zählmaschine.

Die grundlegenden Konzepte und abstrakten Prinzipien der Berechnung mit einer Maschine wurden von Dr. Turing auf der Grundlage der gleichen London Mathematical Society bereits 1936 formuliert, aber die Arbeit an solchen Maschinen in Großbritannien wurde durch den Krieg verzögert. Im Jahre 1945 setzte die Betrachtung der Probleme der Schaffung solcher Geräte im Nationalen Physikalischen Laboratorium von Dr. Vormsley, dem Superintendenten des Laboratoriums der Abteilung für Mathematik, fort. Er trat Turing mit seinen kleinen Mitarbeitern an, und bis 1947 war die Vorplanung so weit fortgeschritten, dass er die Schaffung einer besonderen Gruppe rechtfertigte.

Die ersten Computer auf der von Neumann Architektur

Das erste Projekt beschreibt ein Schema, das von vielen Universitäten und Unternehmen genutzt wurde, um ihre Computer zu bauen. Unter ihnen hatten nur ILLIAC und ORDVAC kompatible Befehlssätze.

Die klassische von Neumann-Architektur wurde in der Manchester Small Experimental Machine (SSEM) mit dem Spitznamen Baby von der University of Manchester verkörpert, die ihre erste erfolgreiche Einführung als ein Gerät, das das Programm in Erinnerung am 21. Juni 1948 speichert.

EDSAC von der Cambridge University, dem ersten praktischen elektronischen Computer dieser Art, wurde erstmals im Mai 1949 erfolgreich ins Leben gerufen.

Entwicklung von erstellten Modellen

IBM SSEC hatte die Möglichkeit, Anweisungen als Daten zu sehen und wurde am 27. Januar 1948 öffentlich nachgewiesen. Diese Fähigkeit wurde im US-Patent genehmigt. Allerdings war es teilweise eine elektromechanische Maschine und nicht ganz elektronisch. In der Praxis wurden Anweisungen aus dem Papierband aufgrund seines begrenzten Gedächtnisses gelesen.

Baby war der erste voll elektronische Computer, um gespeicherte Programme zu laufen. Er lief das Factoring-Programm für 52 Minuten am 21. Juni 1948 nach Beginn einer einfachen Berechnung der Teilung und Berechnung, die zeigt, dass zwei Zahlen relativ prim sind.

ENIAC wurde modifiziert, um als primitiver Computer für nur lesbare, aber für die gleiche Architektur zu betreiben und wurde am 16. September 1948 demonstriert und die Einführung des Programms Adel Goldstein organisiert mit Hilfe von von Neumann.

BINAC führte im Februar, März und April 1949 mehrere Testprogramme durch, obwohl es bis September 1949 nicht abgeschlossen war. Darüber hinaus gab es Teststarts (einige erfolgreiche) von anderen elektronischen Computern, für die diese Architektur inhärent ist. Von Neumann arbeitete übrigens weiter an dem Manhattan-Projekt. Das ist so eine universelle Person.

Evolution des Busarchitektursystems

In den sechziger Jahren, bereits in den 60er und 70er Jahren, wurden die Computer als Ganzes kleiner und schneller, was zu einigen der Entwicklungen führte, die die Computerarchitektur unter von Neumann unterzog. Zum Beispiel ermöglicht die Anzeige im Eingangs- und Ausgangsspeicher, dass die entsprechenden Geräte, Daten und Anweisungen zur Integration in das System verarbeitet werden, um im Speicher zu bleiben. Ein Bussystem kann verwendet werden, um ein modulares System mit weniger zu liefern. Dies wird manchmal als "Rationalisierung" der Architektur bezeichnet. In den folgenden Jahrzehnten verwenden einfache Mikrocontroller manchmal keine Features eines typischen Modells, um Kosten und Größe zu reduzieren. Aber große Computer folgen der etablierten Architektur, weil sie Features hinzugefügt haben, um die Leistung zu verbessern.