Kapitel 5

Kapitel 5

Die Entwicklung der Architektur (1960-1970)

Das Aufkommen von Transistoren und integrierten Schaltkreisen ermöglichte nicht nur den Bau schnellerer und zuverlässigerer Computer, sondern beeinflusste auch tiefgreifend deren interne Architektur. Im Jahrzehnt 1960–1970 entstanden neue Architekturkonzepte, die sich von den monolithischen Modellen der ersten Großrechner lösten und den Weg für Systeme ebneten, die modularer, flexibler und für ein breiteres Anwendungsspektrum geeignet waren.

5.1 Die Entstehung von Minicomputern und neuen Architekturen

Wie im vorherigen Kapitel erwähnt, war eine der bedeutendsten Entwicklungen dieser Zeit der Aufstieg von Minicomputern . Diese Systeme, wie das DEC PDP-8 (eingeführt 1965) und das HP 2100 (eingeführt 1966), unterschieden sich von großen Großrechnern in mehreren architektonischen Merkmalen:

  • Wortlänge: Minicomputer verwendeten oft kürzere Wortlängen als Großrechner (z. B. 12 oder 16 Bit gegenüber 36 oder 60 Bit auf Großrechnern). Dieser Kompromiss reduzierte die Komplexität und Kosten der Hardware und stellte dennoch eine erhebliche Rechenleistung für viele Anwendungen bereit.
  • Speichergröße: Die Menge des adressierbaren Hauptspeichers von Minicomputern war im Allgemeinen kleiner als die von Großrechnern, aber immer noch ausreichend für viele mittelgroße wissenschaftliche, Prozesssteuerungs- und Datenverarbeitungsanwendungen.
  • Befehlssätze: Die Befehlssätze von Minicomputern waren oft einfacher und kompakter als die von Großrechnern und konzentrierten sich auf die am häufigsten verwendeten Operationen.
  • Modularere Architektur: Minicomputer wurden häufig mit einer modulareren Architektur entworfen, die es ermöglichte, das System je nach den spezifischen Anforderungen des Benutzers mit unterschiedlichen Mengen an Speicher, Peripheriegeräten und Schnittstellen zu konfigurieren.
  • Stärkere Betonung der Interaktivität: Im Gegensatz zu Großrechnern, die oft im Batch-Modus arbeiteten, begannen Minicomputer, direktere Formen der Interaktion mit dem Benutzer zu unterstützen, was den Weg für Time-Sharing-Systeme und interaktive Anwendungen ebnete.

Die Architektur des DEC PDP-8 beispielsweise war erheblich einfacher als die der großen IBM-Mainframes der damaligen Zeit. Es nutzte einen einzigen Bus (Omnibus), um CPU, Speicher und Peripheriegeräte miteinander zu verbinden und so das Systemdesign und die Wartung zu vereinfachen. Diese schlankere Architektur trug zum Erfolg des PDP-8 und seiner Verbreitung in zahlreichen Labors und Universitäten bei.

5.2 Fortgeschrittenere Speicherkonzepte

Die Entwicklung der Computerarchitektur in dieser Zeit war eng mit Fortschritten in der Speichertechnologie verbunden. Ferritkernspeicher wurden aufgrund ihrer Zuverlässigkeit, relativ hohen Zugriffsgeschwindigkeit (im Vergleich zu Magnettrommeln) und Nichtflüchtigkeit (Datenspeicherung auch ohne Strom) zur vorherrschenden Hauptspeichertechnologie (RAM).

Die Organisation des Ferritkernspeichers war typischerweise dreidimensional, wobei die Kerne in einem Gitter angeordnet waren, das von Auswahl- und Lese-/Schreibdrähten durchzogen war.

Die Adressierung des Speichers erfolgte durch Auswahl der entsprechenden Drahtleitungen, um den Zustand eines bestimmten Kerns zu magnetisieren oder auszulesen. Die Kapazität des Hauptspeichers von Minicomputern wuchs in den 1960er Jahren erheblich, von einigen Kilobyte auf mehrere zehn Kilobyte.

Darüber hinaus tauchten in dieser Zeit die ersten Konzepte der Gedächtnishierarchie auf. Die Idee bestand darin, verschiedene Speichertypen mit unterschiedlichen Geschwindigkeits- und Kostenmerkmalen zu verwenden, um die Systemleistung zu optimieren. Einige Systeme verfügen beispielsweise möglicherweise über eine kleine Menge sehr schnellen (wenn auch teuren) Speichers, der als eine Art „Cache“ für die am häufigsten verwendeten Daten und Anweisungen in Kombination mit einer größeren Menge langsameren, billigeren Hauptspeichers verwendet wird. Diese frühe Form der Speicherhierarchie nahm die hochentwickelten Caching-Systeme vorweg, die zu einem grundlegenden Merkmal moderner Computerarchitekturen werden sollten.

5.3 Einführung des Interrupts

Eine wichtige architektonische Innovation, die in dieser Zeit eingeführt wurde, war der Interrupt-Mechanismus . In frühen Computern musste die CPU ständig Eingabe-/Ausgabegeräte abfragen, um zu sehen, ob sie Aufmerksamkeit benötigten (z. B. ob ein Eingabegerät neue Daten parat hatte oder ob ein Ausgabegerät einen Vorgang abgeschlossen hatte). Dieser Ansatz war ineffizient, da die CPU wertvolle Taktzyklen beim Warten auf Ereignisse verschwendete.

Die Einführung von Interrupts ermöglichte es externen Geräten, der CPU direkt zu signalisieren, dass Aufmerksamkeit erforderlich ist.

Wenn ein Gerät einen Interrupt erzeugte, unterbrach die CPU vorübergehend die Ausführung des aktuellen Programms, speicherte seinen Status (z. B. den Inhalt der Register und die Adresse des nächsten auszuführenden Befehls) und führte anschließend eine spezielle Interrupt-Handler-Routine aus, die diesem Gerät zugeordnet war. Sobald die Interrupt-Verarbeitung abgeschlossen war, stellte die CPU den Status des unterbrochenen Programms wieder her und nahm dessen Ausführung an der Stelle wieder auf, an der sie unterbrochen wurde.

Durch die Einführung von Interrupts wurde die Effizienz von Computersystemen erheblich verbessert, sodass die CPU mehr Zeit für die Ausführung von Programmen aufwenden und schneller auf externe Ereignisse reagieren konnte. Dieser Mechanismus war entscheidend für die Entwicklung anspruchsvollerer Betriebssysteme und für die Unterstützung dynamischerer Interaktionen mit Benutzern und der Außenwelt.

5.4 Die Einführung von DMA (Direct Memory Access)

Eine weitere wichtige architektonische Entwicklung war die Einführung von DMA (Direct Memory Access) . Ursprünglich mussten alle Datenübertragungen zwischen Eingabe-/Ausgabegeräten und dem Hauptspeicher über die CPU erfolgen. Dieser Ansatz könnte die CPU überlasten, insbesondere bei großen Datenübertragungen, wie etwa dem Lesen oder Schreiben auf Festplatte oder Magnetband.

DMA führte einen Mechanismus ein, der es bestimmten Peripheriegeräten ermöglichte, direkt auf den Hauptspeicher zuzugreifen, um Daten zu übertragen, ohne dass die CPU ständig eingreifen musste. Ein DMA-Controller war für die Verwaltung der Datenübertragung verantwortlich und gab der CPU die Möglichkeit, andere Vorgänge auszuführen.

Sobald die Übertragung abgeschlossen war, konnte der DMA-Controller einen Interrupt generieren, um die CPU darüber zu informieren, dass die Daten im Speicher bereit waren oder dass der Schreibvorgang abgeschlossen war.

Die Einführung von DMA verbesserte die Systemleistung erheblich, insbesondere bei Hochgeschwindigkeits-Eingabe-/Ausgabevorgängen, wodurch große Datenmengen effizienter übertragen werden konnten und die CPU für andere Verarbeitungsaufgaben frei wurde.

5.5 16-Bit-Architektur und darüber hinaus

Wie bereits erwähnt, verwendeten Minicomputer häufig Architekturen mit kürzeren Wortlängen als Großrechner. In den 1960er Jahren gab es jedoch einen Trend zu längeren Wortlängen. Die Einführung von 16-Bit-Architekturen in Minicomputern, wie dem DEC PDP-11 (eingeführt 1970), stellte einen bedeutenden Fortschritt dar. Eine längere Wortlänge ermöglichte die Adressierung von mehr Speicher und die Bearbeitung größerer Daten in einem einzigen Vorgang, was die Gesamtsystemleistung verbesserte und den Weg für komplexere Software ebnete.

Gleichzeitig entwickelte sich die Welt der Großrechner auch weiter in Richtung Architekturen mit längeren Wortlängen, wie etwa die IBM System/360-Systeme, die 32-Bit-Wörter (und auch 64-Bit-Formate für Gleitkommazahlen) verwendeten und eine größere Rechenleistung und Adressierungskapazität boten.

5.6 Der Einfluss von Programmiersprachen auf die Architektur

Es ist wichtig anzumerken, dass die Entwicklung der Computerarchitektur nicht isoliert erfolgte, sondern häufig von den Anforderungen der entstehenden höheren Programmiersprachen beeinflusst wurde. Sprachen wie FORTRAN und COBOL mit ihren spezifischen Anforderungen an die Manipulation von Zahlen, Arrays, Strings und Datenstrukturen drängten Architekturdesigner dazu, Befehlssätze und Speicherverwaltungsmechanismen einzubauen, die solche Vorgänge effizient unterstützen könnten. Dieses Zusammenspiel zwischen den Anforderungen der Software und den Fähigkeiten der Hardware war ein grundlegender Treiber für die Entwicklung der Datenverarbeitung.

Das Jahrzehnt 1960–1970 war eine entscheidende Periode in der Entwicklung der Computerarchitektur. Das Aufkommen von Minicomputern mit ihren modulareren und interaktiveren Architekturen, die Einführung fortschrittlicherer Speicherkonzepte wie der Speicherhierarchie und die Implementierung grundlegender Mechanismen wie Interrupts und DMA stellten bedeutende Schritte hin zu leistungsfähigeren, flexibleren und effizienteren Computersystemen dar. Der Trend zu längeren Wortlängen und der wachsende Einfluss von Programmiersprachen auf die Architektur bereiteten die Bühne für die Innovationen, die die folgenden Jahrzehnte prägen sollten und in der Mikroprozessor- und Personalcomputer-Revolution ihren Höhepunkt fanden.