Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

07.12.1984 - 

Der Preis für ein Kilogramm Computer ist seit Jahrzehnten konstant:

Heutige Rechner spiegeln 40er Jahre wider

Fortschritte in der Informationstechnik wurden in der Vergangenheit hauptsächlich durch Verbesserungen der Hardware-Technik möglich. Doch der Wunsch nach neuen Funktionen und einfacherer Bedienung wird in Zukunft nicht mehr allein durch "normale" technische Veränderungen erfüllt werden konnen. Hier sind neue Strukturen notwendig.

Wenn man über die Zukunft der Informationstechnik spekuliert, sollte man zunächst von den Wünschen der Benutzer ausgehen, denn die stellen die treibende Kraft für den Fortschritt dar.

Eine Wunschliste sieht häufig so aus:

- schneller (größere Rechenleistung)

- billiger (geringerer Kaufpreis)

- zuverlässiger (ausfallsicher)

- einfacher (auch von Laien zu benutzen)

- smarter (programmiert sich selbst, intelligent?)

Die ersten drei Wünsche sind so alt wie die Datenverarbeitung selbst, während die letzten beiden erst aktuell wurden, nachdem die ersten Wünsche nahezu erfüllt waren. Um die Wünsche zu erfüIlen, haben die Ingenieure drei Ebenen für Verbesserungen:

Die Architektur beschreibt das Verhalten eines Systems dem Benutzer gegenüber. Unter Rechnerarchitektur verstand man zunächst die Schnittstelle zwischen Hard- und Software, da die Benutzer fast immer Programmierer waren. Heute versteht man darunter häufig die Schnittstelle zwischen Mensch und Maschine.

Eine gute Architektur muß stabil sein, damit der Benutzer sich und sein Verhalten nicht zu häufig ändern muß, außerdem sollte sie "undurchsichtig" sein, damit die Einzelheiten der Implementierung den Benutzer, der daran nicht interessiert ist, nicht verwirren.

Die Implementierung ist die logische Struktur von der die Architektur ausgeführt wird.

Die Realisierung ist die eigentliche Hardware. Die Tabelle zeigt, welche Möglichkeiten es gibt, die Anwenderwünsche zu erfüllen.

Der populärste Rechner des Jahres 1957 war die IBM 650. Dieser "Großrechner" hatte eine Kapazität des Hauptspeichers von etwa 8 Kilobyte (KB), eine Rechenleistung von etwa 100 Instruktionen pro Sekunde (IPS) und kostete etwa drei Millionen Mark.

Um den Fortschritt darzustellen kann man einen Rechner gleicher Leistung oder gleicher Größe heranziehen. Einen Rechner gleicher Leistung finden wir heute unter den besseren Taschenrechnern oder den kleinsten "Personal Computern". Ein Rechner gleicher (physischer) Größe ist die IBM 3081. Dieser Rechner hat jedoch statt der acht Kilobyte eine Speicherkapazität von bis zu 64 Millionen Byte (64 MB) und eine Rechenleistung von etwa 10 Millionen Instruktionen pro Sekunde (10 MIPS).

Die Verbesserungen sind somit Faktoren von 8000 beziehungsweise 100 000. Wenn auch der Preis von etwa 10 Millionen für eine IBM 3081 höher ist, ist dies nicht mehr als ein "Jahreszins" von etwa 5 Prozent auf die 27 Jahre und entspricht damit der durchschnittlichen Inflationsrate.

Erfolg der Integration

Interessant ist dabei die Beobachtung, daß der "Kilogrammpreis" auch bei Computern eine Konstante ist. Der Fortschritt liegt darin, daß man mit einem Kilogramm heute mehr machen kann als zuvor; dies ist ein Erfolg der Integration.

In den letzten 15 Jahren wurde die Integration im Halbleitermaterial (Silizium) stark verbessert. Heute gibt es integrierte Bausteine mit bis zu einer Million Bauelementen (Transistoren, Dioden, etc.) auf einem Siliziumchip mit einer Fläche von wenigen Quadratmillimetern. Die Schaltgeschwindigkeit der einzelnen Schaltkreise ist in der Größenordnung von etwa einer Nanosekunde. Eine Nanosekunde verhält sich zu einer Sekunde wie eine Sekunde zu 32 Jahren. Um die Geschwindigkeit von Rechnern aber weiter steigern zu können, muß man auch die Länge der Verbindungsleitungen zwischen den Halbleiterchips verringern, da die Laufzeit der Signale auf den Leitungen etwa einer Nanosekunde für 30 Zentimeter Leitungslänge entspricht.

In den modernen Rechnern verwendet man dafür Keramiksubstrate, in denen bis zu 33 Metallebenen für die Verdrahtung zwischen den Chips sorgen. Dies gestattet eine sehr große Packungsdichte und damit kurze Wege und hohe Geschwindigkeiten. Allgemein kann man sagen, daß "große (leistungsstarke) Rechner (physisch) klein sein müssen. Daher kommt auch der Integration weiterhin große Bedeutung zu.

Die anderen wichtigen Parameter sind die Schaltzeit und die elektrische Leistung, die aufgebracht werden muß, um eine bestimmte Funktion durchzuführen.

Trägt man diese Parameter in einer logarithmischen Darstellung auf, so stellt man fest, daß diese in der Vergangenheit auf einer Geraden lagen. Wenn man nun diese Werte in die Zukunft extrapoliert, dann ergeben sich ganz "phantastische" Werte für diese Parameter. Die entscheidende Frage ist nun, wann irgendwelche Hürden oder Grenzen diesen Fortschritt stoppen werden.

Hürden und Grenzen

Es sind schon eine Anzahl Hürden bekannt, aber die Ingenieure finden immer wieder Wege, um diese zu überwinden. Die heute sichtbaren Hürden und deren wahrscheinliche Überwindung sind:

Kühlung: Es wird die Wärme auf immer kleinerem Raum erzeugt. Lösung: Verwendung von Schaltkreisen mit geringeren Leistungen (Beispiele: CMOS, Josephson Ubergänge) und bessere Kühlmethoden (Flüssigkeiten, flüssige Gase).

Miniaturisiexung: Die kleinsten Strukturen sind heute nicht mehr viel größer als die Wellengänge des Lichtes. Die Photolithographie, die diese Strukturen durch Licht überträgt, scheint damit am Ende. Lösung: Elektronenstrahlen oder Röntgenstrahlen verwenden.

Zuverlässigkeit: Fehler in hochintegrierten Speichern durch Strahlen hoher Energie (Alpha-Teilchen, kosmische Strahlung). Lösung: Verwendung von "statischen"- Speicherzellen.

Entwurf: Wie kann man (komplexe) Schaltungen mit so vielen Bauelementen noch fehlerfrei entwerfen? Lösung: Automatischer Entwurf (Silicon Compiler ) oder nur einfache (regelmäßige) Schaltungen verwenden.

Testen: Wie kann man diese Schaltkreise noch testen? Lösung: Die Testbarkeit ist beim Entwurf zu berücksichtigen, und in vielen Fällen wird es sinnvoll sein, den "Tester in den Schaltkreis mit zu integrieren (selftest).

Es ist deshalb wahrscheinlich, daß die Entwicklung der Rechnertechnik erst an den physikalischen Grenzen halt machen wird.

Diese physikalischen Grenzen sind seit einiger Zeit bekannt. Es handelt sich dabei um eine "thermodynamische Grenze" und um eine "quantenmechanische Grenze". Die "thermodynamische Grenze" definiert einen "verbotenen Bereich" unterhalb einer Energie von etwa "kT", in dem logische und speichernde Funktionen nicht realisiert werden können, da diese Schaltungen gegen den zweiten Hauptsatz der Thermodynamik verstoßen würden.

Der durch die "quantenmechanische Grenze" definierte Bereich ist zwar nicht "verboten", es ist aber in den meisten Fällen nicht sinnvoll Schaltkreise in diesem Bereich zu betreiben, da wegen der möglichen spontanen Übergänge (Quantensprünge, virtuelle Prozesse) das Ergebnis nicht eindeutig ist, oder die Information in den Speichern ungewollt verändert wird.

Die physikalischen Grenzen sind noch viele Größenordnungen vom gegenwärtigen Stand der Technik entfernt. Überschlägig kann man sagen, daß unsere heutigen Technologien noch etwa 1000 Mal schneller werden können, und daß dabei weniger als ein 10 000stel der Wärme heutiger Schaltkreise erzeugt wird. In den Forschungslaboratorien wird bereits an Technologien gearbeitet, die in die Nähe solcher Grenzen kommen.

Rechnerstrukturen

Nahezu alle heute verwendeten Rechner basieren auf einer Struktur, die im Jahre 1946 von dem ungarischen Mathematiker John von Neumann angegeben wurde. Von Neumannes revolutionärer Beitrag bestand darin, Instruktionen wie Daten zu behandeln. Er schuf dadurch die Möglichkeit für höhere Programmiersprachen, da die Instruktionen durch Compiler und Interpreter "übersetzt" werden können. Dieser Beitrag ist unumstritten und soll auch nicht verändert werden. Der "von Neumann Rechner" wurde aber hauptsächlich geschaffen, um Probleme der numerischen Mathematik lösen zu können. Die heutigen Anwendungen bestehen aber nur zu einem sehr kleinen Teil aus Rechenoperationen. Da von Neumann auch ein guter Ingenieur war, spiegelt seine Rechnerstruktur die technischen Möglichkeiten der 40er Jahre wider.

Drei Grundprinzipien des "von Neumann Rechners" sind sehr hinderlich, wenn es darum geht, die heutigen Wünsche zu erfüllen.

Speicherzugriff über Adressen: In einem "von Neumann Rechner" ist jeder Gruppe von Speicherzellen (Byte oder Wort) eine eindeutige "Hausnummer" als Adresse zugeteilt. Alle Lese- und Schreiboperationen benötigen diese Adresse. In den meisten Fällen sind die Adressen die natürlichen Folgen ganzer Zahlen (Binärzahlen).

Aus dieser Folge von Adressen ergab sich auch die Folge der Instruktionen von"I" zu "I+ 1". Instruktionen in einem "von Neumann Rechner" sind "Befehle" (imperative Anweisungen), die eine nach der anderen abgearbeitet werden müssen. Um zu wissen welche Instruktion als nächste verarbeitet werden soll, speichert man deren Adresse in einem Programmzähler ab.

Will man die Folge verändern dann benötigt man "Sprungbefehle" (go to), die bekanntermaßen schwierig zu programmieren sind.

Regelmäßigkeit: In den vierziger Jahren waren die aktiven Bauelemente (Röhren) so teuer, daß ihre Zahl minimiert wurde. Da die Verdrahtung außerdem "von Hand" ausgeführt werden mußte, war die Frage nach Regelmäßigkeit kein Thema. Heute ist es jedoch ein großer Vorteil, wenn durch regelmäßige Strukturen die Integration auf dem Silizium verbessert werden kann. Die Zahl der Transistoren ist dagegen weniger bedeutsam geworden.

Neue Strukturen umgehen von-Neumann-Nachteile

Um die Nachteile der "von Neumann Rechner" zu umgehen, hat man in den letzten Jahren nach neuen Strukturen gesucht. Die zur Zeit aussichtsreichsten sind: Datenflußrechner und assoziative Speicher.

Datenfluß-Rechner: Bei den Datenflußrechnern wird die Folge der auszuführenden Instruktionen nicht mehr fest vom Programmierer vorgegeben, sondern die Reihenfolge wird durch die Daten selbst gesteuert. Man unterscheidet dabei neifrige4 und "faule" Strategien ("eager" and "lazy"). Bei der "eifrigen Strategie" werden alle Aktivitäten ausgeführt, sobald die notwendigen Voraussetzungen erfüllt sind. Bei der .,faulen StrategieS wird eine Aktivität erst dann ausgeführt, wenn ihr Ergebnis benötigt wird.

Beide Strategien haben den Vorteil, daß viele Aktivitäten in unterschiedlichen Prozessoren zur gleichen Zeit ausgeführt werden könhen. Dies würde es gestatten, sehr leistungsfähige Systeme aus Tausenden von Mikroprozessoren (Prozessor auf dem Chip) aufzubauen.

Der Nachteil der Datenflußrechner liegt darin, daß wir heute keine geeigneten Programmiersprachen haben, die es gestatten, die Parallelität auszunutzen. Das ist nicht verwunderlich, denn die heutigen Programmiersprachen bilden natürlich die von Neumann Struktur nach.

Um die neuen Möglichkeiten nutzen zu können, werden zunehmend nicht-prozedurale und nicht-imperative Sprachen untersucht. Bei diesen neuen Sprachen werden nur noch "Fakten deklariert", dann werden "Regeln", die die logischen Beziehungen zwischen Fakten regeln, erstellt. Die "Benutzung" besteht dann nur noch in der Formulierung von Fragen, die das System selbständig "beantwortet". Wenn man nachfragt.

warum eine bestimmte Antwort erteilt wurde, erhält man die Kette der logischen Verknüpfungen und die zugrunde liegenden Fakten. Diese Sprachen eignen sich besonders für die "Programmierung" von Expertensystemen und Wissensbanken.

Assoziative Speicher: Der durch Adressen gesteuerte "von Neumann Speicher" ist sicher weiterhin für viele Anwendungen die beste Lösung. Immer mehr Funktionen benötigen aber einen Zugriff auf Daten, von denen ein Teil der Daten, nicht aber die Adresse, bekannt ist. Dies ist besonders häufig der Fall in Daten- und Wissensbanken, bei denen die Suchkriterien frei wählbar sind. In einem "von Neumann Speicher" muß dann linear gesucht werden, was eine starke Abhängigkeit der Suchzeit von der Größe der Datenbank zur Folge hat.

Durch die Fortschritte der Integration sollte es in einigen Jahren möglich sein, Speicher zu bauen, die paralleles Suchen gestatten und dennoch nicht zu teuer sind. Speicher, bei denen dieses parallele Suchen durch Hardware geschieht, nennt man "Assoziativspeicher" . Bei diesen Speichern wird nur ein Zyklus benötigt, um einen Suchvorgang durchzuführen, unabhängig von der Größe des Speichers.

Fortschritte der Hardware

Die Fortschritte der Technik werden sicher noch für viele Jahre den wichtigsten Beitrag zur Verbesserung der Informationsverarbeitung

liefern. Es ist aber bereits jetzt wichtig, sich auf neue Rechnerstrukturen und damit auf ganz neue Einsatzmöglichkeiten vorzubereiten. Fortschritte der Hardware werden von wenigen Ingenieuren getragen, die noch dazu gut motiviert sind.

Deshalb sind die Zeitkonstanten der Innovation nur zwei bis fünf Jahre. Im Bereich der Implementierungen und der Architektur sind aber Tausende, wenn nicht Millionen von Anwendern betroffen. Die Zeitkonstanten sind daher viel länger anzusetzen. Pessimisten glauben, daß so radikale Änderungen wie der Übergang zu "nicht-von Neumann Strukturen" nur durch Generationswechsel möglich sind.

*Karl Heinz Bohle, IBM Bildungszentrum, Herrenberg