Harvard Architecture: Wie trennte Harvard Mark I Daten und Anweisungen?

Harvard Architecture: Wie trennte Harvard Mark I Daten und Anweisungen?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Wie trennte Harvard Mark I Daten und Anweisungen?

Ich habe den Artikel in Wikipedia gelesen, aber ich habe nicht verstanden, wie Daten und Anweisungen mit einem Lochstreifen getrennt wurden. Es sagte

"Der Mark I las seine Befehle von einem 24-Kanal-Lochband aus und führte den aktuellen Befehl aus und dann den nächsten ein. Er hatte keinen bedingten Sprungbefehl. Dies bedeutete, dass komplexe Programme physisch lang sein mussten. Eine Schleife wurde durch das Ende des Papierbandes, das das Programm enthält, wieder mit dem Anfang des Bandes verbinden (wörtlich eine Schleife erzeugen)."

dann sagte

„Diese Trennung von Daten und Anweisungen ist als Harvard-Architektur bekannt“

Ich habe diese Zeile nicht verstanden, sie liest Anweisungen vom Papierband, aber wo sind die Daten?


Von deinem gleichen Link.

Der Mark I las seine Anleitung von einem 24-Kanal-Lochband ab. Es hat die aktuelle Anweisung ausgeführt und dann die nächste eingelesen. Ein separates Band könnte Zahlen für die Eingabe enthalten, aber die Bandformate waren nicht austauschbar. Befehle konnten nicht von den Speicherregistern ausgeführt werden.

Für Daten wird ein anderes Band verwendet.

Warum ist das?

In der Harvard-Architektur sind Code und die Daten, mit denen der Code arbeitet, physisch getrennt. Dies verhindert einige katastrophale Fehler und Sicherheitslücken, da Code nicht wie bei einem Pufferüberlauf in Daten umgeschrieben werden kann. Die Harvard-Architektur ist auch teurer, da ungenutzter Speicher für Code nicht für zusätzliche Daten verwendet werden kann. Nicht verwendeter Speicher kann nicht von der anderen Sektion verwendet werden.


Was ist der Unterschied zwischen Von-Neumann- und Harvard-Architekturen?

Diese beiden Prozessorarchitekturen können nach ihrer Speichernutzung klassifiziert werden.

Von-Neumann-Architektur
In einer Von-Neumann-Architektur werden derselbe Speicher und Bus verwendet, um sowohl Daten als auch Befehle zu speichern, die das Programm ausführen. Da Sie nicht gleichzeitig auf Programmspeicher und Datenspeicher zugreifen können, ist die Von Neumann-Architektur anfällig für Engpässe und die Systemleistung wird beeinträchtigt.

Abbildung 2: Die Harvard-Architektur verfügt über einen separaten Bus für Signale und Speicher. (Bild: Wikimedia Commons)

Harvard-Architektur
Die Harvard-Architektur speichert Maschinenanweisungen und Daten in separaten Speichereinheiten, die durch unterschiedliche Busse verbunden sind. In diesem Fall gibt es mindestens zwei Speicheradressräume, mit denen gearbeitet werden kann, also ein Speicherregister für Maschinenbefehle und ein weiteres Speicherregister für Daten. Computer, die mit der Harvard-Architektur entworfen wurden, können ein Programm ausführen und unabhängig und damit gleichzeitig auf Daten zugreifen. Die Harvard-Architektur hat eine strikte Trennung zwischen Daten und Code. Daher ist die Harvard-Architektur komplizierter, aber separate Pipelines beseitigen den Engpass, den Von Neumann erzeugt.

Modifizierte Harvard-Architektur
Die meisten modernen Computer haben keine physische Trennung zwischen den Speicherbereichen, die sowohl von Daten als auch von Programmen/Code/Maschinenbefehlen verwendet werden, und könnte daher aus diesem Grund technisch als Von Neumann bezeichnet werden. Der bessere Weg, die Mehrheit der modernen Computer darzustellen, ist jedoch eine „modifizierte Harvard-Architektur“. Moderne Prozessoren teilen sich möglicherweise den Speicher, verfügen jedoch über Mechanismen wie spezielle Anweisungen, die verhindern, dass Daten mit Code verwechselt werden. Manche nennen dies „modifizierte Harvard-Architektur“. Die modifizierte Harvard-Architektur hat jedoch zwei separate Wege (Busse) für Signal (Code) und Speicherung (Speicher), während der Speicher selbst ein gemeinsam genutzter, physischer Teil ist. Der Speichercontroller ist der Sitz der Modifikation, da er den Speicher handhabt und wie er verwendet wird.

Abbildung 1: Die Von-Neumann-Architektur gibt es seit den 1940er Jahren. Ein klarstellendes Merkmal ist, dass ein einzelner Bus sowohl für das Signal als auch für die Speicherung verwendet wird. (Bild: Wikimedia Commons)

Der Von Neumann-Flaschenhals
Wenn eine Von Neumann-Maschine eine Operation an einigen Daten im Speicher durchführen möchte, muss sie die Daten über den Bus in die CPU verschieben. Wenn die Berechnung abgeschlossen ist, muss sie Ausgaben der Berechnung über denselben Bus in den Speicher verschieben. Die Datenmenge, die der Bus gleichzeitig übertragen kann (Geschwindigkeit und Bandbreite), spielt eine große Rolle bei der Geschwindigkeit der Von-Neumann-Architektur. Der Durchsatz eines Computers hängt davon ab, wie falsch die Prozessoren sind, sowie von der Datenübertragungsrate über den Bus. Der Prozessor kann im Leerlauf sein, während er auf einen Speicherabruf wartet, oder er kann eine sogenannte spekulative Verarbeitung durchführen, basierend darauf, was der Prozessor als nächstes tun muss, nachdem die aktuelle Berechnung abgeschlossen ist (sobald Daten abgerufen und Berechnungen durchgeführt wurden).

Der Von-Neumann-Engpass tritt auf, wenn Daten, die in oder aus dem Speicher entnommen werden, warten müssen, während die aktuelle Speicheroperation abgeschlossen ist. Das heißt, wenn der Prozessor gerade eine Berechnung abgeschlossen hat und bereit ist, die nächste auszuführen, muss er die fertige Berechnung in den Speicher (der den Bus belegt) schreiben, bevor er neue Daten aus dem Speicher (der auch den Bus verwendet) holen kann. Der Engpass von Von Neumann hat im Laufe der Zeit zugenommen, weil die Geschwindigkeit der Prozessoren verbessert wurde, während der Speicher nicht so schnell vorangekommen ist. Einige Techniken, um die Auswirkungen des Engpasses zu reduzieren, bestehen darin, den Speicher im Cache zu belassen, um die Datenbewegung, die Hardwarebeschleunigung und die spekulative Ausführung zu minimieren. Es ist interessant festzustellen, dass die spekulative Ausführung der Kanal für eine der neuesten Sicherheitslücken ist, die von Google Project Zero namens Spectre entdeckt wurden.


Einige Beispiele von Harvard-Architekturen umfassen frühe Computersysteme, bei denen die Programmiereingabe auf einem Medium, beispielsweise Lochkarten, und gespeicherte Daten auf einem anderen Medium, beispielsweise auf Band, sein könnte. Modernere Computer verfügen zwar über moderne CPU-Prozesse für beide Systeme, trennen sie aber in einem Hardware-Design.

Die Harvard-Architektur mit ihrer strikten Trennung von Code- und Datenprozessen kann einer modifizierten Harvard-Architektur gegenübergestellt werden, die einige Merkmale von Code- und Datensystemen kombinieren kann, während sie in anderen die Trennung bewahrt. Ein Beispiel ist die Verwendung von zwei Caches mit einem gemeinsamen Adressraum. Es kann auch mit einer von Neumann-Architektur, benannt nach John von Neumann, verglichen werden, die sich nicht darauf konzentriert, Eingaben von Daten zu trennen.


Computerarchitektur Harvard

Computerarchitektur Harvard. Harvard-Architektur ist die Computerarchitektur, die separate Speicher und separate Busse (Signalpfad) für Befehle und Daten enthält. Die Harvard-Architektur wird verwendet, wenn Daten und Code in verschiedenen Speicherblöcken vorhanden sind.

Dies ist der große Vorteil der Harvard-Architektur. Die gsd unterhält Computerlaborarbeitsplätze in der Gundhalle. Die Harvard-Architektur ist ein Begriff für ein Computersystem, das zwei separate Bereiche für Befehle oder Anweisungen und Daten enthält. Und sie erweitern die Theorie der Informationsverarbeitung. 6085/1) 1 zwei Arten von Computerarchitekturen Es gibt 2 Computerarchitekturen, die sich in der Art des Speicherzugriffs unterscheiden:

Harvard-Architektur | Informatik von image.slidesharecdn.com 6085/1) 1 zwei Arten von Computerarchitekturen Es gibt 2 Computerarchitekturen, die sich in der Art des Speicherzugriffs unterscheiden: Die Harvard-Architektur hat zwei separate Speicher … Slideshare verwendet Cookies, um die Funktionalität zu verbessern und Leistung und um Ihnen relevante Werbung bereitzustellen. Auf Daten kann von einer Speicherstelle zugegriffen werden, und auf Befehle kann von einer anderen Stelle zugegriffen werden. Sie werden mit unterschiedlichen Anweisungen aufgerufen. In der Harvard-Architektur können die Medien, das Format und die Art der beiden unterschiedlichen Teile des Systems unterschiedlich sein, da die beiden Systeme durch zwei separate Strukturen repräsentiert werden.

Die Architektur hat auch separate Busse für Datenübertragungen und Befehlsabrufe.

Maxwell dworkin 141 33 Oxford Street Cambridge Ma 02138 Telefon: Harvard Computerarchitektur чэнь лэй ( гр. Studieren Sie die grundlegenden Konzepte des Designs und der Organisation moderner Computersysteme. Hier erkunden die Studenten die kreativsten Designansätze von heute, mit einer prominenten internationalen Fakultät auf dem ganzen Feld. Von Neumann-Architektur (auch Princeton-Architektur genannt) und Harvard-Architektur. Iqss-Computerlabor Dieses hochmoderne Computerlabor befindet sich nebenan im cgis-knafel-Gebäude, Sie müssen nicht einmal ' , können die Medien, das Format und die Art der beiden verschiedenen Teile des Systems unterschiedlich sein, da die beiden Systeme durch zwei separate Strukturen dargestellt werden Sie entwerfen physikalische Substrate für Berechnungen Elektroingenieure erfinden Geräte zur Erfassung und Betätigung Auf sie wird mit unterschiedlichen Anweisungen zugegriffen Die Harvard-Architektur ist die digitale Computerarchitektur, deren Design auf dem Konzept basiert, in dem separate St Speicher und separate Busse (Signalpfad) für Befehle und Daten. Die Harvard-Architektur ist ein Begriff für ein Computersystem, das zwei separate Bereiche für Befehle oder Anweisungen und Daten enthält. Die Harvard-Architektur ist ein Computersystem, das zwei separate Bereiche für Daten und Befehle/Anweisungen enthält.

Die Harvard-Architektur ist eine Art von Architektur, die Daten und Anweisungen getrennt speichert und daher die Speichereinheit aufteilt. Ein Lochkartenposten Lochkarten. Maxwell dworkin 141 33 Oxford Street Cambridge Ma 02138 Telefon: Es gibt zwei Arten von digitalen Computerarchitekturen, die die Funktionalität und Implementierung von Computersystemen beschreiben. Die Harvard-Architektur ist ein Computersystem, das zwei separate Bereiche für Daten und Befehle/Anweisungen enthält.

John von Neumann - Biografie, Geschichte und Erfindungen von history-computer.com Nicht nur Code- und Datenspeicherplätze sind innerhalb des Mikrocontrollers physikalisch getrennt. Eine Architektur, die Programme und Daten in verschiedenen Speichern speichert, wird als Harvard-Architektur bezeichnet und wir werden sie später in dieser Lektion behandeln. Sie werden mit unterschiedlichen Anweisungen aufgerufen. Die Hauptfunktion dieser Architektur besteht darin, die Daten getrennt und physisch zu speichern und die Signalwege für Anweisungen und Daten bereitzustellen. Studieren Sie die grundlegenden Konzepte in der Gestaltung und Organisation moderner Computersysteme.

Elektroingenieure erfinden Geräte zur Erfassung und Betätigung

Maxwell dworkin 141 33 Oxford Street Cambridge MA 02138 Telefon: 6085/1) 1 zwei Arten von Computerarchitekturen Es gibt 2 Computerarchitekturen, die sich in der Art des Speicherzugriffs unterscheiden: Dies ist der große Vorteil der Harvard-Architektur. Die Harvard-Architektur ist die digitale Computerarchitektur, deren Design auf dem Konzept basiert, bei dem es separate Speicher und separate Busse (Signalpfad) für Anweisungen und Daten gibt. Hier erkunden die Studenten die kreativsten Designansätze von heute, wobei eine internationale Fakultät in diesem Bereich prominent vertreten ist. Ein Beispiel für die Harvard-Architektur sind die frühen Computer-Mainframe-Systeme, bei denen Anweisungen in einem Programmiermedium wie Lochkarten gespeichert werden und Daten in dem anderen [Programmiermedium wie Bändern gespeichert werden. Die meisten modernen Computer, die als Harvard-Architektur dokumentiert sind, sind tatsächlich modifizierte Harvard-Architekturen. Es wurde im Wesentlichen entwickelt, um den Flaschenhals der Von-Neumann-Architektur zu überwinden. Im Allgemeinen wird dieses Konzept geringfügig erweitert, um es einer Bank zu ermöglichen, Programmanweisungen und Daten zu speichern, während die andere Bank nur Daten hält. Sie entwerfen physikalische Substrate für die Berechnung. Es war ursprünglich als automatisch gesteuerter Rechner bekannt, wurde aber später in Harvard Mark i umbenannt. Maxwell dworkin 141 33 Oxford Street Cambridge MA 02138 Telefon: Daher kann die CPU gleichzeitig auf Befehle zugreifen und Schreibdaten lesen.

Die meisten modernen Computer, die als Harvard-Architektur dokumentiert sind, sind tatsächlich modifizierte Harvard-Architekturen. Die modifizierte Harvard-Architektur ist eine Variation der Harvard-Computerarchitektur, die es im Gegensatz zur reinen Harvard-Architektur ermöglicht, auf den Inhalt des Befehlsspeichers als Daten zuzugreifen. In der ursprünglichen Harvard-Architektur enthält eine Speicherbank Programmanweisungen und die andere Daten. Die Architektur hat auch separate Busse für Datenübertragungen und Befehlsabrufe. Ein Beispiel für die Harvard-Architektur sind die frühen Computer-Mainframe-Systeme, bei denen Anweisungen in einem Programmiermedium wie Lochkarten gespeichert werden und Daten in dem anderen [Programmiermedium wie Bändern gespeichert werden.

RefreshNotes: Von Neumann Vs Harvard Architecture from 3.bp.blogspot.com Im Allgemeinen wird dieses Konzept leicht erweitert, um es einer Bank zu ermöglichen, Programmanweisungen und Daten zu speichern, während die andere Bank nur Daten speichert. Die Harvard-Architektur ist ein Computersystem, das zwei separate Bereiche für Daten und Befehle/Anweisungen enthält. Haley-Familienprofessor für Informatik. Maxwell dworkin 141 33 Oxford Street Cambridge MA 02138 Telefon: Eine Lochkarte post Lochkarten.

Dadurch kann die CPU gleichzeitig Daten und Anweisungen abrufen.

Die Harvard-Architektur wird verwendet, wenn Daten und Code in verschiedenen Speicherblöcken vorhanden sind. In der ursprünglichen Harvard-Architektur enthält eine Speicherbank Programmanweisungen und die andere Daten. Informatiker entwickeln neue Algorithmen, erfinden neue Systeme und Theorien, die Menschen und die Gesellschaft stärken, und fördern die Computerwissenschaft, während sie mit Ingenieuren, Wissenschaftlern und der Gesellschaft zusammenarbeiten. Es hat einen Datenspeicher, der vollständig in der Zentraleinheit enthalten ist. Geringeres Risiko von Datenkorruption Die Harvard-Architektur ist ein Begriff für ein Computersystem, das zwei separate Bereiche für Befehle oder Anweisungen und Daten enthält. Harvard-Architektur Harvard-Architektur ist eine Art von Computerarchitektur, die ihren Speicher in zwei Teile aufteilt, sodass Daten und Anweisungen getrennt gespeichert werden. Ich kenne nur zwei, einer ist von Neumann und der zweite ist Harvard. Die Harvard-Architektur ist die digitale Computerarchitektur, deren Design auf dem Konzept basiert, bei dem es separate Speicher und separate Busse (Signalpfad) für Anweisungen und Daten gibt. • Die meisten DSPs verwenden eine Harvard-Architektur für das Streaming von Daten: Sie entwerfen physikalische Substrate für die Berechnung und erweitern die Theorie der Informationsverarbeitung. Es wurde im Wesentlichen entwickelt, um den Flaschenhals der Von-Neumann-Architektur zu überwinden.

Und sie erweitern die Theorie der Informationsverarbeitung. Die Architektur hat auch separate Busse für Datenübertragungen und Befehlsabrufe. Daher kann die CPU gleichzeitig auf Befehle zugreifen und Schreibdaten lesen. Studieren Sie die grundlegenden Konzepte in der Gestaltung und Organisation moderner Computersysteme. Iqss-Computerlabor dieses hochmoderne Computerlabor befindet sich nebenan im cgis-knafel-Gebäude, Sie müssen nicht einmal …

Im Allgemeinen wird dieses Konzept geringfügig erweitert, um es einer Bank zu ermöglichen, Programmanweisungen und Daten zu speichern, während die andere Bank nur Daten hält. Die Harvard-Architektur ist die digitale Computerarchitektur, deren Design auf dem Konzept basiert, bei dem es separate Speicher und separate Busse (Signalpfad) für Anweisungen und Daten gibt. Für Daten und Anweisungen wird ein separater Speicherblock benötigt. Daher kann die CPU gleichzeitig auf Befehle zugreifen und Schreibdaten lesen. Die Harvard-Architektur hat zwei separate Busse für Anweisungen und Daten.

Elektroingenieure erfinden Geräte zur Erfassung und Betätigung Eine Architektur, die Programme und Daten in verschiedenen Speichern speichert, wird als Harvard-Architektur bezeichnet und wir werden sie später in dieser Lektion behandeln. Maxwell dworkin 141 33 oxford street cambridge ma 02138 phone: 20 jahre lang habe ich mit reinen harvard-kernen gearbeitet, nämlich avr8- und pic18-prozessoren mit rein prozeduralem c. Ich war nur neugierig, was die anderen Architekturen sind und wann und wo sie verwendet werden.

Dieses Buch lehrt, wie man einen ganzen Computer von Grund auf neu baut. Die Hauptfunktion dieser Architektur besteht darin, die Daten getrennt und physisch zu speichern und die Signalwege für Anweisungen und Daten bereitzustellen. Auf Daten kann von einer Speicherstelle zugegriffen werden, und auf Befehle kann von einer anderen Stelle zugegriffen werden. 20 Jahre lang habe ich mit reinen Harvard-Kernen gearbeitet, nämlich avr8- und pic18-Prozessoren mit rein prozeduralem c. Und sie erweitern die Theorie der Informationsverarbeitung.

• Die meisten DSPS verwenden die Harvard-Architektur zum Streamen von Daten: Die Harvard-Architektur ist die Computerarchitektur, die separate Speicher und separate Busse (Signalpfad) für Anweisungen und Daten enthält. Iqss Computerlabor dieses hochmoderne Computerlabor befindet sich nebenan im cgis-knafel-Gebäude. Computer liefert die Ergebnisse der Berechnung mit Hilfe von Ausgabegeräten.

Ich kenne nur zwei, einer ist von Neumann und der zweite ist Harvard.

Die Harvard-Architektur ist eine Art von Architektur, die Daten und Anweisungen getrennt speichert und daher die Speichereinheit aufteilt.

Harvard Architektur CPU PC Datenspeicher Programmspeicher Adressdaten Adressdaten ir chenyang lucse 467s 6 von neumann vs.

Quelle: image.slidesharecdn.com

Haley-Familienprofessor für Informatik.

Harvard-Architektur Harvard-Architektur ist eine Art von Computerarchitektur, die ihren Speicher in zwei Teile aufteilt, sodass Daten und Anweisungen getrennt gespeichert werden.


5 Hauptunterschied zwischen Von Neumann und Harvard-Architektur

Die Von Neumann-Architektur ist ein theoretischer Computerentwurf, der auf dem Konzept des gespeicherten Programms basiert, bei dem Programme und Daten im selben Speicher gespeichert werden. Das Konzept wurde 1945 von dem Mathematiker John von Neumann entworfen und dient heute als Grundlage fast aller modernen Computer. Die Neumann-Maschine besteht aus einem Zentralprozessor mit Rechenwerk und Steuereinheit, einem Speicher, Massenspeicher sowie Ein- und Ausgabe.

Die Harvard die Architektur ist eine Computerarchitektur mit physikalisch getrennten Speicher- und Signalwegen für Befehle und Daten. Der Begriff stammt vom relaisbasierten Computer Harvard Mark I, der Anweisungen auf Lochstreifen (24 Bit breit) und Daten in elektromechanischen Zählern speicherte. Einige Beispiele von Harvard-Architekturen beinhalten frühe Computersysteme, bei denen die Programmiereingabe in einem Medium, beispielsweise Lochkarten, und gespeicherte Daten in einem anderen Medium, beispielsweise abgegriffen, sein könnte. Modernere Computer verfügen zwar über moderne CPU-Prozesse für beide Systeme, trennen sie aber in einem Hardware-Design.


Der Masterstudiengang Architektur II ist ein nachberuflicher Abschluss, der sich an Personen richtet, die ein fünfjähriges grundständiges Berufsstudium der Architektur oder eines gleichwertigen Studiums abgeschlossen haben.

Zusammen mit Gastdesignkritikern und -theoretikern aus der ganzen Welt erkunden die Architekturfakultät und -studenten eine Reihe von Designuntersuchungen, erweitern ihr Wissen und stellen sich den Herausforderungen der zeitgenössischen gebauten Umwelt. Die Zusammenarbeit gedeiht in den unverwechselbaren Tabletts von Gund Hall, fünf durchgehenden Ebenen offener Atelierräume.

Die Philosophie der Exzellenz des Designs der Abteilung integriert den fantasievollen und geschickten Umgang mit Formen sowie die Fähigkeit, sich aus einem breiten Wissensschatz inspirieren zu lassen. Das Architekturcurriculum umfasst Designstudio, Theorie, visuelle Studien, Geschichte, Technologie und Berufspraxis, wobei das Design im Mittelpunkt des Unterrichts steht.

Die Studiotabletts von Gund Hall bilden sowohl den physischen als auch den pädagogischen Kern der GSD-Erfahrung und bringen Studenten und Dozenten aus den Fachbereichen Architektur, Landschaftsarchitektur sowie Stadtplanung und Design zusammen. Die kreative, kollaborative Atmosphäre der Tabletts wird durch die fortschrittliche Informationsinfrastruktur von Gund Hall, medienangereicherte Präsentationsräume, umfangreiche Bibliotheksressourcen und den offenen Zugang zu Fertigungstechnologien ergänzt, die es Architekturstudenten ermöglichen, Ideen durch ein umfassendes verschiedene Plattformen und Medien. Die Studentenerfahrung wird durch die renommierten Vorlesungs- und öffentlichen Programmreihen, Ausstellungen und Veröffentlichungen der Schule sowie durch die Ressourcen der Harvard University und des nahe gelegenen Massachusetts Institute of Technology (MIT) weiter bereichert. Die Studierenden des Fachbereichs Architektur sind in ein aktives Netzwerk international anerkannter Designer eingebunden, die sich den sich wandelnden Bedürfnissen der modernen Welt widmen.

Mit dem Aufkommen neuer Denkweisen im Architekturberuf wird das Feld immer komplexer und erfordert neue Untersuchungs- und Gestaltungstechniken. Seit Generationen bildet die GSD engagierte Persönlichkeiten aus, die eine Führungsrolle bei der Gestaltung der gebauten Umwelt übernommen haben. Absolventen der Architektur von heute setzen diese Tradition fort, indem sie neue Designansätze für die Herausforderungen der zeitgenössischen Gesellschaft entwickeln.


Harvard Architecture: Wie trennte Harvard Mark I Daten und Anweisungen? - Geschichte


Der Harvard Mark I und der ENIAC sind beides historische Computer, die viel für die Entwicklung im Computerbereich bedeutet haben. Hier folgt eine Beschreibung der Maschinen und ihrer Erfinder.

Der Harvard Mark I, auch bekannt als IBM Automatic Secuence Controlled Calculator, gilt als Monument in der Entwicklung der Computerkunst. Mark I markierte den Beginn der Ära der modernen Computer und "Babbages Traum wird wahr".


„Mach dir keine Sorgen, dass Leute deine Ideen stehlen. Wenn deine Ideen gut sind, musst du sie den Leuten in die Kehle rammen.“
- Howard Aiken

Der Erfinder des Harvard Mark I, Howard Hathaway Aiken, wurde 1901 in New Jersey, USA, geboren. Er war ein Riese von einem Mann, sowohl in der physischen Erscheinung als auch im Geiste. Er beurteilte die Menschen sofort, indem er sie einfach nur ansah. Er war ein Extrem: Auf einer Skala von 1 bis 10 wäre man entweder eine 0 oder eine 11. Sein starker Wille und sein origineller Geist sorgten während seiner Karriere oft für Konflikte. Er war zwei Meter groß und soll satanistische Augenbrauen haben.

Aiken wurde im öffentlichen Schulsystem erzogen. Während der gesamten Schul- und Universitätszeit arbeitete er Vollzeit, um seine Familie zu ernähren. Er machte einen Bachelor-Abschluss in Elektrotechnik von der University of Wisconsin und arbeitete zehn Jahre erfolgreich als Elektroingenieur, bevor er sich entschied, für eine wissenschaftliche Weiterbildung an die Universität zurückzukehren. Er schrieb sich 1931 für ein Physik-Graduiertenprogramm an der Harvard University ein. Aiken war an einer kleinen Wissenschaftsgruppe beteiligt, in der er sich hauptsächlich für Vakuumröhren interessierte.

Für seine Doktorarbeit untersuchte er die Leitfähigkeit der Raumladung, bei der es um Berechnungen mit Differentialgleichungen ging, von denen er einfach dachte, dass sie zu zeitaufwändig seien, um sie von Hand zu berechnen, und stellte sich eine Maschine vor, die all dies leisten könnte. Er begann auf einer Maschine zu zeichnen und beschäftigte sich in erster Linie mit der Logik und der allgemeinen Architektur der Maschine und nicht mit der Technologie, die die Auswahl der Komponenten beinhaltet. Die Komponenten der Maschine hängen davon ab, ob das Unternehmen bereit ist, das Projekt zu finanzieren. Aiken wandte sich zuerst an Monroe-Maschinen und nachdem er abgelehnt wurde, ging er zu IBM, die sich bereit erklärten, das zu bauen, was damals IBM ASCC (Automatic Sequence Control Calculator) genannt wurde.

Die Maschine wurde dabei nicht mit einem elektrischen System, sondern mit elektromagnetischen Komponenten gebaut. Aiken sagte, es sei nur eine Frage des Geldes und der Firma, die bereit sei, die Rechnung zu bezahlen, gab aber gleichzeitig zu, dass Vakuumröhren seiner Meinung nach unzuverlässig seien und er langsamere und zuverlässigere Relais bevorzugte.

Der Bau von Mark I wurde zwischen 1939 und 1944 in IBM-Laboratorien aus bereits vorhandenen IBM-Teilen sowie speziell für die Maschine konstruierten Teilen durchgeführt. Zwischen Aiken/Harvard auf der einen Seite und IBM auf der anderen Seite kam es zu Konflikten darüber, wer wirklich der Erfinder von Mark I war.

Die Reaktion des Rests der Welt war großartig, als es 1944 der Öffentlichkeit und der US Navy vorgestellt wurde und während der Kriegszeit von 1944-45 war Mark I fast ununterbrochen für die US Navy gelaufen und befasste sich mit Problemen im Zusammenhang mit Magnetfelder: Schutz von Schiffen vor Zerstörung durch magnetische Minen sowie Radarnutzung und -design.

Zu Aikens Zeit war das Werk von Babbage nicht sehr bekannt, aber Aiken war sich dessen bewusst und wurde von ihm inspiriert. Es gibt viele Unterschiede zwischen Mark I und Babbages Maschinen, aber der einzige Unterschied, der für Aiken wichtig war, war, dass er funktionierte. Für ihn war es der Traum von Baggage. Mark I war in Bezug auf die Architektur zwischen Babbages Difference Engine und der Analythical Engine.

Aiken hat drei verschiedene Möglichkeiten, um Ruhm zu erlangen:
- Mark I, Mark II, III, IV, zusammen mit Methoden der numerischen Analyse
- Etablierung der bahnbrechenden Schule für fortgeschrittene Informatik
- Vorträge und Artikel insbesondere aus den Computerkonferenzen der Jahre nach dem 2. Weltkrieg. Dadurch verbreitete Aiken das Interesse für die Informatik

Aiken wurde für seine Arbeit mit vielen Ehrendoktortiteln, Medaillen und Mitgliedschaften in bedeutenden wissenschaftlichen Gesellschaften weltweit belohnt.

Obwohl Mark I für die Entwicklung in der Informatik viel bedeutete, wird er heute kaum noch wahrgenommen. Man könnte sich fragen, warum der Grund dafür ist, dass Mark I (und auch Mark II) nicht elektronisch war, sondern elektromagnetisch. Und warum war das so? Aiken selbst erklärte: „Ich hatte nie eine vorgefasste Meinung darüber, welche Art von Komponenten man verwenden sollte, um eine Computermaschine zu bauen: mechanisch, Relais, Vakuum oder was Zahlen."


Harvard Mark I

Mark I war enorm groß, 2,40 Meter hoch, 51 Meter lang und einen Meter tief. Es wog 5 Tonnen, verwendete 530 Meilen Draht und 730.000 Einzelteile. Der Betrieb dieser Teile wurde durch eine lange horizontale Drehwelle angetrieben und synchronisiert. Ein Vier-PS-Motor treibt die mechanischen Teile an. Es gab 2200 Zählerräder und 3300 Relaiskomponenten. Aiken war sehr auf das Aussehen der Maschine bedacht, und trotz Kriegszeiten und Materialmangel war Mark I mit Stahl und Glas bedeckt. Mark I war ein sehr flexibles Gerät, obwohl es nicht so automatisch war, wie der ursprüngliche Name vermuten lässt, während ein Großteil seiner Bedienung manuell eingestellt werden musste.

Mark I war, modern gesprochen, ein paralleler Synchronrechner mit einer Wortlänge von 24 23 Dezimalstellen und einem Vorzeichen. Berechnungen werden dezimal mit festem Dezimalpunkt durchgeführt.

Die Operationseinheit der Maschine bestand aus 72 Registern, die Akkumulatoren genannt wurden. Jeder Akkumulator enthielt 24 elektromagnetische Drehschalter, die einzeln über eine Kupplung mit einer Antriebswelle verbunden waren, in denen Dezimaleinheiten, Übertrag und Zeitinformationen gespeichert wurden. Dies sieht eine 23-stellige Zahl plus Vorzeichen vor. Die Akkumulatoren sind komplette Additions- und Subtraktionsmaschinen und dienen als Speicher- oder Speichervorrichtung. Es gibt keine klare Trennung zwischen Speicher- und Rechenfunktionen. Einige der Akkumulatoren sind für eine spezielle Funktion bestimmt, wie Akkumulator 70, der den Absolutwert einer Größe behandelt, Akkumulator 70, der die zu speichernde Datenmenge erhöhen kann (auf Kosten der Genauigkeit) oder Akkumulator 72, der die automatische Zähler prüfen.


Addition mit Carry, Beispiel:

     3279
     8935       hinzufügen
          4      Hinzufügen von Einheiten Ziffern
        1        Carry
        14      Zehnerstellen hinzufügen
       1         
       214       Hinzufügen von Tausenderstellen
      1          
      2214      Zehntausenderstellen hinzufügen
     1           
     12214     endgültige Antwort


Mark I bevorzugt eindeutig die Addition (und Subtraktion) zu den anderen drei grundlegenden arithmetischen Operationen. Es gibt 72 Stellen, an denen eine Addition durchgeführt werden könnte, aber nur eine für die Multiplikation. Das hängt davon ab, wie IBMs Kartenleser aufgebaut war, aber anscheinend auch wegen der von Aiken einfach gefallenen Ergänzung.

Separate Geräte sorgten für Multiplikation und Division. Die eigentliche Multiplikation beinhaltet eine Mehrfachaddition, indem so viele Vielfache des Multiplikanden, wie vom Multiplikator angegeben, abgezogen und dann addiert werden. Division auf der anderen Seite sind Mehrfachsubtraktionen.

Es gab 60 konstante Register, die aus Drehschaltern mit 10 Positionen bestanden, auf denen 23-stellige Zahlen mit Vorzeichen eingestellt oder durch Berechnung abgerufen werden konnten. Diese Register entsprächen dem, was wir programmierbares ROM nennen, aber das ROM von Mark I könnte im Vergleich zu modernen Computern keine Programme speichern, sondern einfach mit Zahlenkonstanten versehen. Jedes Register enthielt 24 Wählschalter, was 24 Ziffern entspricht. Jedes Register hatte eine Nummer, die für die Position verwendet wurde, wohin ein Befehl gehen sollte. Da es leicht vorkam, dass die Schalter falsch eingestellt waren, kamen Lochkarten oder Value Tapes zur bevorzugten Eingabe von Daten.

Dort wurden die Inhalte der Eingabegeräte durch vier Bandlesegeräte gelesen, von denen einer zum Beschicken der Maschine mit Anweisungen diente. Die anderen drei enthielten Funktionstabellen und konnten Werte liefern. Intern gespeicherte Programme führten Operationen aus, die Sinus, Logarithmen, Exponentialfunktionen und Potenzen beinhalten. Programme kamen durch Lochkarten in die Maschine. Die Programmierung erfolgte, indem das Problem zunächst in mathematischen Schritten beschrieben und dann das "Codebuch" konsultiert wurde, um diese in Maschinenanweisungen zu übersetzen. Der Programmierteil war ähnlich dem, was wir als Programmieren in Maschinensprache kennen.

Obwohl Mark I schneller war als andere Berechnungsmethoden der damaligen Zeit, war er im Vergleich zum Beispiel zum ENIAC sehr langsam. Hier folgt eine Tabelle mit Zeitangaben für verschiedene Operationen:

BetriebSekundenFahrräder
Zusatz0.31
Subtraktion0.31
Multiplikation6.020
Aufteilung11.438
Logarithmus68.4228
Sünde(x)60.0199

ENIAC steht für Electronic Numerical Integrator and Computer und wurde am 14. Februar 1946 an der Moore School of Electrical Engineering der University of Pennsylvania der Öffentlichkeit vorgestellt. Zu seinem 50-jährigen Jubiläum, 1996, wurde ein neues, modernes ENIAC gebaut, ein kleiner 7,4*5,3 Quadratmillimeter dünner Siliziumchip, der genau so funktionierte wie die 18.000-Vakuum-Röhren und der 30 Tonnen schwere alte ENIAC. Man wollte den dramatischen Verlauf der Entwicklung veranschaulichen. Der Chip wurde mit VLSI/CMOS-Technologie hergestellt. Die bei ENIAC verwendeten Vakuumröhren werden auf dem Chip durch Transistoren ersetzt.

ENIAC wurde zwischen Juli 1943 und November 1945 gebaut und vom U.S. Ordnance Department of the War Department ausgeführt und kostete rund 468.000 US-Dollar. Ziel war es, ENIAC als Mehrzweckmaschine so flexibel wie möglich zu gestalten. That means it could not only perform numerical operations, but also store and retrive results and "perform these operations consecutively or concurrently, with automatic transfer from one step to the next. ENIAC was U-shaped, 2.7 meters high and taking up an area of 10 times 17 meters. It consisted of 40 panels, 3 portable function tables, a card reader and a card punch.The inventors, J. Presper Eckert and John W. Mauchly, were well familiar with desktop calculators.


J. Prespert Eckert                                   John W. Mauchly

ENIAC was the fastest and largest machine of its time. One great concern was also about constructing it so that the results would bbe highly reliable. ENIAC failed only two or three times a week a number that pleased even the most skeptics. The faults that were made, was found through special testing functions and it only slowed down the function a few hours per week.

When it was presented to the public in 1946, it made great impact in the world of scientific, military and industrial, mostly because its speed. Addition or subtraction of two ten-digit numbers could be done at the rate of 5000 per sedcond. This was 1000 times faster than any other machine of that time with the same accurancy.

ENIAC could of course perform addition, subraction, multiplication, division and square-roots, but more importantly, it could storeresults and communicate between units of the machine and even more, execute nested loops and conditional branching.

So in many ways, it could appear as the ENIAC is similar to modern computers. However, ENIAC was not able to store programs. Every program had to be set up locally on the various units of the machine by setting switches and connecting units via program trunks (will be explained later). This set-up, that had to be made manually, was naturally extremely time consuming. It was even then considered a down-side, but as ENIAC was inteded to work, it was to perform highly repetitive computations using the same set-up.


ENIAC

One could see the machine as consisting of five parts: arithmetic, global control units, memory, I/O units and busses.


Schematical Functional Diagram

Arithmetic units: high-speed multipliplier (dedicated hardware: multiplication function tables) and a combinated divider/square-rooter.

Master programmer: used for coordinating the operations of the accumulators and execution of sequenced operations and nested loops.

ROM: fast-programmable, provided by three function tables.

Constant transmitter: together with a card reader works as the external input device.

Global Control Units: include Initiating and Cycling units that master all other operations, initiates computations through providing digits and programs and resets pulses.

The ENIAC is an accumulator-based computer, that is the the main arithmetic and data storage units are accumulators. It consists of arithmetic, local control and I/O circuits. The arithmetic unit receives a signed 10-digit number and adds this to a number that already is stored. When a decade counter overflows, a carry-over digit is generated and passed on to the next decade on its left. I also has a binary counter that works as a sign informator. Each accumulator has a control unit that consits of twelve program controls that tell which operation that is to be performed. That is, twelve separate operations cad be performed simultaneously. Eight of these can be set on repeat up to nine times during the course of a program. The program controls are just simple switches set by the user. Each accumulator has a data I/O block which receives or transmits decimal numbers over a bus through five input ports (labeled alpha through epsilon) and two output terminals, an A-port, that transmits the number stored in the accumulator, and an S-port that transmits the 10's complement of the stored number.


Accumulator in the ENIAC


Number Representation

When constructing the ENIAC, one decieded to use the decimal system and have a maximum width of 20 digits (but number can be twice as large by connecting two accumulators together). The decimal system was chosen because the number of vacuum tubes needed would be considerable smaller. For example, when transmitting a 10-digit number over a decade counter with carry-over capacity, 280 vacuum tubes were needed in the decimal system, in comparison to 450 when using binary numbers.


A programmer changing a vaccuum tube

The 10's complement is used for representation of negative numbers. It is obtained by subtracting each number in the digit from 9, and then adding a 1 to the final answer. Also the 9's complement was considered, but it was found that the 10's complement would give higher accuracy when it came to rounding off a number.

It is possible to use fewer numbers than 10 when disired by simply setting the least significant number to a 5.

The method of transmitting numbers used is serial pulses. It was faster and required fewer vacuum tubes than when using a static system (stead-state signals).
Transmitting a number uses a decade counter. A picture is shown below. I will try to make an example in order to explain how the transmission functions. We want to transmit the digit "4". The digit 4 is represented by a 1 in the fifth flip-flop from the left. All other flip-flops are zeros. The values in a flip-flop is shifted one step right for every pulse coming in as an input. During the transmission of a number, 10 consecutive pulses, in the ENIAC called 10P-pulses are used to shift the decade counter one lap around to get back to where it started. This pulse is supplied by the cycling unit. When the 10P-pulse has pushed our 1 to the last stage, at the falling edge, the decade gate is opened, which opens the "Add" gate (normally closed). The "Subtract" gate which is normally open will be transmitting a series of 9P-pulses. But as the Add gate opens, the remainds of the 9P-pulses will instead be transmitted on this gate. That is, in our example, five pulses are transmitted over the Subtract gate and the four remaining pulses of the 9P-pulse over the Add gate. Now the number "4" coming out from the Add outout can be stored, or if disired, the complement throung the Subtract out. However, this was the 9's complement that the receiving accumulator transforms to the 10's complement though adding an 1'P-pulse. It should be marked that the 10P-pulse is ignored on the receiving end.


Pulse transmission in the ENIAC

Some of the operetions performed by the ENIAC, for example addition, is built into the hardware, whereas others require several steps and units. A table of computation and following times is presented below:

TypBetriebBeschreibungCycles
ArithmeticHinzufügen 1
Subtract 1
Multiply10-digit by p-digitp+4
TeilenQuotient of p digits13(p+1)
Square-rootResult of p digits13(p+1)
SpeicherWrite to registerStore in accumulator1
Read from registerLoad from accumuator1
Read from tableNormal or complementr+4
SteuerungFor-loopNested loopsDepending on operation
If. then. andersBased on decrimination
I/ORead from external memoryPunch card reader/constant62 ms/10-dig number
Print resultDrucker75 ms/10-dig

The difference between programming the ENIAC in comparison to modern, strore-program computers is great. Programming the ENIAC goes through the following steps:

1) Formulate the problem in terms of mathematical equations.
2) Break the equations down to mathematical operations that the ENIAC is capable to perform.
3) Plan for the storage of numerical data.
4) For each arithmetical operation, set up a program control and make connections between the involved units and I/O.
5) Tie the involved program steps together into a sequential program.
An example taken from The ENIAC: History, Operation and Reconstruction in VLSI (Jan Van der Spiegel et al.) follows.


Image illustrationg the steps above

Say that we want to have a program that adds two numbers together, using three accumulators. Accumulator 4 stores some numbers, accumulator 5 stores the number b, and accumulator c stores a number c. We want that the program first should calculate (a-b) and store it accumulator 4, then (c+2b+359) and store it accumulator 6, and also increase accumulator 5 by 359. Assume that a,b and c already are present in the accumulators.

What will happen? Accumulator 5 needs to transmit the number b to accumulator 4, which is done on Program control 1 (on accumulator 4) by setting the Operation switch to alpha (input port alpha on accumulator 4 will receive the digit). A cable connects the alpha port to a digit trunk, let us call it trunk I.

Accumulator 5 must transmit the digit in two ways: once "normal" as it is stored and once as its complement. This is done by using a Repeat program control, which is set to 2. The Operation switch needs to be set to AS so that numbers of both signs can be transmitted. The "S"-output (subraction) on accumulator 5 must be connected to the digit trunk I.

Next, the accumulator 6 must receive the number b (from accumulator 5) twice, which is done by setting the Repeat switch of program control 5 on accumulator 6 to 2. An input port on accumulator 6 needs to be connected to the "A"-output (addition) through a digit trunk II.

The number 359 (or of course any other number) will come from a card reader to accumulator 5 and 6 through the Constant Transmitter. On accumulator 5, we use program control 6 and on accumulator 6 program control 1. The Constant Transmitter's output needs to be connected to the input terminals alpha and beta on accumulator 5 and 6 respectively over digit trunk III.

Then we must set up so that the sequence can be initialized, that is, we must connect input and output terminals in a proper way. The start pulse from the initializing unit's output through a Program trunk A, is (through a line A-1) connected to the input terminal of program control 1 of accumulator 4, and to the program input terminal 5 of accumulator 5 and 6. When accumulator 5 has transmitted its number twice, it will generate an output pulse on on program control 5, which needs to be connected to the program input terminals of control 1 of accumulator 6 and to control 6 of accumulator 5 (that is, where the number 359 comes in), as well as to the program input terminal of the Constant Transmitter.

After receiving the initializing pulse, the three accumulators start to work in parallel. After one addition cycle, accumulator 4 will store the number (a-b) and then stop, while the other accumulators will continue to transmit and receive digits. After the next cycle, accumulator 6 stores the number (c+2 b) and accumulator 5 generates the pulse that initializes the transmission from the Constant Transmitter to accumulator 5 and 6. Then the output terminal of program control 6 of accumulator 5 will generate a program pulse that can be used to initialize more operations of the ENIAC, or the machine will stop.

There are two types of control units, initiating unit and and cycling unit. The task of the initiating unit is to turn the power on and off and to initiate computation and clearing. The cycling unit provides the basic signals to the other units which makes them to transmit numbers. The cycling unit provides for the user to choose between to dubugging modes: "Addition Mode" or "Pulse Mode". The difference between the two is that when Addition Mode is chosen, ENIAC goes through a whole addition cycle and with Pulse Mode, the machine produces one pulse at a time. The cycling unit can generate 10 different types of pulse trains that govern the transmission and generation of numbers, program control, number correction and decade flip-flop reset. These pulses can be combined in order to form any number between 0 and 9.

An accumulator in the ENIAC works as an ALU plus a register in a modern microprocessor. The accumulator can be divided into the arithmetic/storage unit and the program control unit. The arithmetic unit consits of ten wood-like slabs. Each slab's function is to represent a digit, which is indicated by the position of the neon bulb in one of the ten stages connected serially. The decade counter on an accumulator is a walking-one ring-counter. The decade counter receives its input from one of five input channels (alpha through epsilon) and the numbers are transmitted through two output channels: A (Add) and S (Subtract). What the accumulator performs is depending on program settings.

On the Program Control Unit, there are Operation switches which determine which one of the five operations one wants the accumulator to perform. The five tasks are transmit additively (A), transmit subtractively (S), transmit both A and S (AS), receive on one of the five ports, or do nothing (O). There are twelve Operation switches and each one is linked to a program input terminal. Eight of these twelve can be set in Repeat mode, which performs the task repeatedly up to nine times. A clear-correct switch makes up for the dropped unit pulse in the complement when performin operations that involve shifting (multiplication, division, square-rooting). On the accumulator there is a switch which can be set to the disired number of digits in use for an operation. Condition branching (if. then. else) is taken care of the accumulator as follows. Let us assume that if xis less than b, then one program should be run, otherwise another program. This is done by checking the sign of x-b. Through a sign lead (PM), the output from A and S can stimulate the different programs.

The task of the Master Programmer is to coordinate between the operations of 20 accumulators and to simplify looping. The Master Programmer consists of two panels that have 10 pulse-counting channels, five on each panel. A unit of the Master Programmer has ten decade counters and five 6-stage stepper counters. The stepper counter is set to how many times one wish to perform for example an addition before going on to the next stage and uses the decade counters.

- High Speed multiplier

Because of multiplication is a usual operation, there is a special hardware taking care of the operation. It is used to multiply two signed, ten-digit numbers. In its operation, it normally uses four accumulators. Two of tese are used for storing the multiplier (`Ier) and the multiplicand (`Icand). The multiplicand is multiplied by consecutives of the multiplier and partial products are thereby produced. Multiplication of a ten-digit number with a p-digit number takes (p+4) addition times. The high-speed multiplier consists of large tables that map digits of the `Ier to digits of the `Icand.

The multiplier has 24 Program Controls which makes it possible to perform 24 different types of multiplications during one program. Each program control consists of a tranceiver with in- and output terminals for program pulses.

This unit controls accumulators to perform the actual operations involved. It uses four accumulators, one for the numerator, one for the denominator, one for the quotient and one for shifting. The operation involvs set-up, calculation, round-off and interlock and clearing.

Division is made based on a division algorithm which involves repeated additions and subtractions. When the numerator and denominator have the same sign, the latter is subtracted for the other until a sign change takes place. Is the sign different is it instead added. Every subtraction causes an increment in a decade of the quotient accumulator. The place in which the sign change takes place is moved one step further right for every sign change.

For example, if the two numbers are both positive, the quotient accumulator holds the number of times that the content of the denominator accumulator can be subtracted from the numerator accumulator in order to cause a sign change, plus one. Then this digit must be shifted left one step, and the next digit in the result can be calculated in the same way keeping track of the decade. This can be repeated as long as desired.

The square-root calculation is based on the fact that the square of an interger a is the sum of the first a odd integers. As in division, square-rooting involves subtacting and addition, sign changes and shifting.

The function tables can be viewed as what in modern computers are programmable ROM. Memory was very expensive and consisted in the ENIAC of internal and external storage. The internal memory consists of the decade counters in the accumulators and of three function tables. External memory is punch cards used together with the constant transmitter.

The function tables are used when solving differece equations, which involves multiplying coefficients to variable values. These constants are looked up by the function tables. The function table works as an array of signed 10-digit numbers of length 104. The values of the numbers can be set on a panel of switches. There are many settable switches and terminals on the units of the function table where the operations are mastered and for argument input and function output.

The external devices of the ENIAC are the IBM card reader and the Constant Transmitter. Just as external devices are today, the constant transmitter is a mix of electronic and mechanichal components. The IBM card reader reads values used to set switches from punch cards and supplices this information to the constant transmitter. An punch card can store 80 digits and is read by the speed 120 to 160 per minutes. This value is slower than the speed of which the ENIAC performs calculations, but as the ENIAC is constructed to solve problems involving many iteration, it is not a major problem. The constant transmitter has switches associated with tranceivers with input and output ports communicating with the rest of the units if the ENIAC. The card reader can either be activated by a pulse from the Initiation Unit, or mechanically by pressing a button.

Neon tubes on the ENIAC display the numbers stored in each accumulator which makes it possible for an observer to follow an operation taking place within the machine as he or she sees the digits "rushing by". This is a great help in order to identifying unit of the ENIAC is not working correctly when the machine is set in a debugging mode.

Hopefully, from this essay it's understood the function and importance of these two historical computers and their inventors. For further reading, please consult the below sources.


RISC architecture and instruction architecture

RISC stands for Reduced Instruction Set Computer and is a type of architectural processor design strategy. “Architecture” refers to the way a processor is planned and built and can refer to either the hardware or the software that is closest to the silicon on which it runs. An Instruction Set Architecture (ISA) specifies the basic software (instruction set) for an architecture. A common question might be: “What is the ISA for that computer/tablet/smartwatch?” with a response of something like, “It has an ARM Cortex-M8 core CPU.” (Core means the processor engine only, e.g., no peripherals. ARM Holdings, Inc., holds an acronym that stands for Acorn RISC Machines.) The ISA provides functions to a higher layer of software above it.

The hardware architecture of a computer requires code that breaks instructions down into 0s and 1s that the machine can understand also known as machine code. Processor architectures can be quite different, and the ISA software will reflect that. The difference between architectures can be found in how tasks are completed, such as how a specific architecture handles registers, interrupts, memory addressing, external inputs and outputs, and so forth.

In other words, machine code for one architecture will not work on another. For example, a desktop version of Windows will not run on a smartphone, since the architectures are different. (Although Microsoft seems to be encouraging an eventual merging to a single OS for desktops, laptops, and tablets, starting with the introduction of Windows 8.) Several types of processor architectures and corresponding ISAs exist. Some examples of RISC processor architectures are the ARM, MIPS, SPARC, and PowerPC.

In a different camp is the Complex Instruction Set Computing (CISC) architecture, which preceded RISC. As the name implies, with the CISC architecture a single instruction can execute several operations in one clock cycle. The original goal of CISC was to produce fewer lines of assembly code. The x86 is a CISC-based architecture. One advantage of CISC is in using C code. All other things being equal, C code translates to more lines of RISC assembly code than does CISC. Therefore, x86 is more efficient with respect to the use of C code.

However, the RISC architecture was developed with an eye to reducing complexity by using a simpler instruction set on processors that clock fewer cycles per second. RISC is a Von Neumann type architecture. Von Neumann architectures can be categorized as the type that reads and executes one instruction at a time, which makes it possible to set up a predictable “pipeline” of instructions (or bottleneck, depending on your point of view). Pipelining makes it easy for processing in parallel, e.g., multicore processing. Early on, RISC found a place in embedded processors due to an instruction set that did not take up much space, its real-time processing capability, and low power consumption. The disadvantage for RISC was a lack of software to run on the RISC instruction set the market simply was not there, so RISC suffered a lack of mainstream commercial adoption.

Today’s processors are highly integrated and faster, such that RISC instruction sets are becoming more complex so as to take advantage of improved technology. In fact, RISC and CISC instruction sets are becoming more alike than not as advances begin to blur the delineation between the two. Nevertheless, it’s a good idea to know the history behind the architectures, why they were created, and how they evolved.


Immediate Access Store

This is commonly referred to as the Random Access Memory (RAM) or Main Memory. It stores both instructions and data. Before Von Neumann, computers used to divide memory into instructions memory and data memory, which made it complex. Von Neumann discovered that there’s no difference between the nature of an instruction and the nature of data.
Buses which allow the movement of instructions and data between different parts of the computer is called a data bus. Buses that detect locations in memory is called an address bus.


Schau das Video: Harvard German Department