Hitachi entwickelt Mikroprozessor speziell für die Künstliche Intelligenz:

KI-Chamäleon aus Japan macht Tempo

18.07.1986

Künstliche Intelligenz ist ein Thema, an dem sich die Geister scheiden. Geben die einen diesem Gebiet keinerlei Zukunft, so basteln die anderen um so emsiger an immer neuen Hard- und Softwaretechniken. Der Elektrokonzern Hitachi beispielsweise stellte die "Artificial Intelligence Engine" (Al 32) vor.

Dieser Mikroprozessor soll Programme aus dem Bereich der Künstlichen Intelligenz (KI) so schnell wie möglich abarbeiten. Nach allem, was die Hitachi-Forscher berichteten, scheint dieser Mikro Prolog-, Lisp- oder auch Smalltalk-Programmen bis zu 20mal schneller als ein herkömmlicher Chip abzuarbeiten. Auch ein RISC-Prozessor (Reduced Instruction Set Computer) kann hier nicht mithalten.

Toshimasa Kihara, leitender Ingenieur der Mikrocomputer-Abteilung des Hitachi-Konzerns, erläuterte kürzlich auf einer Informationsveranstaltung seines Unternehmens in München, wie der AI 32 aufgebaut ist und welche Ideen hinter dieser Konzeption stecken. Dabei apostrophierte er den eigentlichen KI-Computer als "ratende Maschine" (guessing machine). Der Rechner soll von sich aus herausfinden, wo die Lösung eines Problems liegt, die der Mensch ihm vorgesetzt hat. Dazu bedient sich der KI-Rechner einer Datenbank mit Fakten- und Regelwissen, und bietet nach außen eine möglichst klare Mensch-Maschine-Schnittstelle.

Architektur überbrückt "semantische Lücke"

Das Extrahieren einer gesuchten Information aus den neu eingegebenen und den gespeicherten, Fakten unter Benützung der dem System bekannten, die Fakten miteinander verknüpfenden Regeln ist ein zeitraubender, verwickelter Prozeß; je schneller die Maschine ihn bewältigt, desto "intelligenter" kann sie sich dem Benutzer darstellen. Aus diesem Grund verfolgten Kihara und seine Kollegen bei der Entwicklung des neuen Prozessors von Anfang an das Ziel, die Bearbeitung der typischen KI-Sprachen Prolog, Lisp und Smalltalk so stark wie nur möglich zu beschleunigen. Immerhin gilt im Bereich der KI der abgewandelte Satz: "Time is intelligence".

Der AI 32 ist von seinen Vätern als "slaveprocessor" konzipiert worden der in Kooperation mit einem gewöhnlichen Mikroprozessor und einem besonderen Mikro zur Verwaltung des Speichers betrieben wird. Über diese Speicherverwaltungs-Einheit läuft außerdem der Ein-/Ausgabe-Verkehr einer arbeitsfähigen AI-32-Konfiguration.

Während der AI 32 speziell dem Bearbeiten der KI-Programme dient, überwacht der zweite "gewöhnliche" Mikro das Gesamtsystem, bearbeitet Unterbrechungsanforderungen, steuert das Ein-/Ausgabe-Verhalten sowie das "Paging" und initiiert die eigentlichen Arbeitsphasen des AI 32. Dabei hat der auch als "Host" apostrophierte Steuer-Mikro jedoch freien Zugang zu allen internen Ressourcen des KI-Prozessors.

Der AI 32 ist nach Ansicht Kiharas "leicht an ein Host-System anpaßbar" - und zwar sowohl in puncto Hardware als auch in puncto Software. Außerdem sei er so konzipiert, daß man für ihn leicht KI-Software entwickeln kann. Denn er wurde von seiner ganzen Architektur her so ausgelegt, daß er die viel beklagte "semantische Lücke" zu überbrücken hilft, die heute oft zwischen modernen, voll entwickelten Hochsprachen einerseits und der im Grunde primitiven Architektur gewöhnlicher Computer andererseits zu konstatieren ist.

Zwischencode wird direkt ausgeführt

Diese herkömmlichen Rechner unterscheiden nicht zwischen Daten unterschiedlicher Typen, sondern operieren letztlich "nur" mit Folgen simpler Bytes ohne jede Kennung. Das führt dazu, daß jedes Byte nur im direkten Kontext mit anderen Bytes seine konkrete Bedeutung erlangt. Dies ist oft auch einer der Gründe für das Auftreten verschiedener Softwarefehler, die bei "datentypenorientierten" Rechnerarchitekturen von vornherein erkannt und behoben werden könnten.

Kihara und seine Kollegen haben den AI 32 so entworfen, daß er einen Zwischencode, in den KI-Programme vom entsprechenden Compiler übersetzt werden, direkt ausführen kann. Da diese Fähigkeit zur Bearbeitung des Zwischencodes wiederum auf dem Wege der mikrointernen Emulation einer realen Hardware erreicht wird, kann man das Konzept des AI 32 künftig noch weiter ausbauen; es wird also möglich, ihn durch Ändern der Mikroprogrammierung auch für andere KI-Sprachen als die oben erwähnten drei oder auch für beliebige andere, moderne Programmiersprachen einzusetzen.

Bei herkömmlichen Computern ist eine das Tempo begrenzende Engstelle ihrer Architektur der sogenannte "Von-Neumann-Flaschenhals" zwischen schneller CPU und langsamem Hauptspeicher. Da der AI 32 aber möglichst schnell werden sollte, überlegten seine Entwickler sich eine Strategie, wie man eben diesen Flaschenhals nach Möglichkeit vermeiden könnte. Dabei kamen sie am Ende auf ein zweistufiges Vorgehen.

Schneller Speicher ist Voraussetzung

"Tempo gewinnt man", sagt Kihara, "indem man erstens die Zahl der Befehlszugriffe reduziert, die für einen Allzweck-Mikrocomputer typisch sind, und dann zweitens auch noch die hohe Zahl von Datenzugriffen, die gerade eine Maschine zur direkten Bearbeitung von Hochsprachen oder Zwischencodes normalerweise kennzeichnet." Der erste Schritt hilft etwa zwei Drittel der Befehlszugriffe einzusparen, der zweite gut zwei Drittel der Datenzugriffe.

Will man eine Maschine der hier skizzierten, nur noch selten mit dem separaten Hauptspeicher kommunizierenden Art bauen, so muß man auf dem CPU-Chip ausreichend - schnellen - Speicher vorsehen. Im Falle des AI 32 wurden also neben der Befehlsdekodiereinheit und der eigentlichen Ausführungseinheit zwei Registerbänke mit jeweils 256 Wörtern zu je 32 Bit vorgesehen, mit deren Hilfe übrigens gleich auch ein gewisses Maß an "paralleler" Verarbeitung erreichbar sein soll. Außerdem sitzt auf dem Chip noch ein EPROM, der 4 K Wörter zu je 64 Bit Breite umfaßt.

Dieses EPROM kann beliebig programmiert werden, wodurch sich faktisch die Sprache, die der AI 32 "versteht", ändern würde. Mit einer 64-Bit-Wortbreite unterstütze es laut Kihara außerdem noch die erwähnte parallele Verarbeitung mittels der doppelt vorgesehenen Registerbänke.

Die arithmetisch-logische Einheit des AI 32 ist als 32-Bit-ALU konzipiert, die für einen Mikrobefehlszyklus 125 Nanosekunden benötigt. Der Chip wird in einem modernen CMOS-Prozeß mit 1,3-Mikrometer-Strukturen und zwei Metallisierungsebenen gefertigt, entspricht also absolut dem heutigen Stand der Technik.

Die beiden Registerbänke des AI-Chips dienen während des Programmlaufs als On-Chip-Cache-Speicher, die den jeweiligen Kontext der gerade bearbeitenden Daten und Befehle parat halten. Sie sollen sich in der Praxis und im Zusammenwirken mit anderen Komponenten des Chips so auswirken, daß "tief verschachtelte Prozeduraufrufe" oder auch "weit verkettete Listen mit jeweils das nächste Element angebenden Zeigern sehr effizient bearbeitet werden können", wie Kihara hervorhebt.

Tag-Behandlung macht Verarbeitung schneller

Eine weitere Eigenheit des neuen Chips dient dazu, Kennungen oder auch "Tags" rasch in einen Operanden einzubringen beziehungsweise wieder zu entfernen. Das sei bei KI-Programmen deshalb von Nutzen, bemerkt dazu Kihara, weil gerade KI-Sprachen viel mit solchen Kennungen arbeiten und daher um so schneller bearbeitet werden könnten, je effizienter ein Prozessor diese Tags behandeln könne.

Zur Effizienz der neuen Chip-Architekur hier einige Zahlen: Ein gewöhnlicher Mikroprozessor vom Typ 68010 benötigt zwischen 3420 und 4760 Speicherzugriffe, um bestimmte Aufgaben abzuwickeln, und ein RISC-Prozessor immerhin noch zwischen 673 und 1018. Beide aber wurden vom neuen AI-Chip übertroffen, der es im Maximum auf nur 185 Speicherzugriffe brachte - und der im Minimum sogar mit rund 100 auskam.

Diese Beschränkung auf chipinterne Operationen schlägt sich natürlich auch in den Brutto-Leistungsdaten nieder, die Kihara bekanntgab: Der KI-Chip soll dank seiner On-Chip-Registerbänke und dank seiner Fähigkeit zur direkten Bearbeitung des KI-Zwischencodes rund 10- bis 20mal schneller sein als der 68010-Prozessor. Im Vergleich zum RISC-Prozessor soll er immerhin noch um Faktoren zwischen drei und fünf schneller sein, denn jenem hat er zumindest die spezielle Fähigkeit zur schnellen Verarbeitung der Hochsprachenbefehle voraus.

Angemerkt sei in diesem Zusammenhang, daß der RISC-Prozessor immerhin auch das Konzept der umfangreichen, auf dem Chip präsenten Register verwirklicht und wenigstens damit die Zahl der Speicherzugriffe minimiert.

Das Verhältnis Standard-Mikro zu RISC zu AI 32 läßt sich aber auch noch anders beschreiben: Man kann den KI-Chip sozusagen als "RISC-Architektur mit hochentwickeltem - statt, wie sonst, eher abgemagertem - Befehlssatz" bezeichnen, der dementsprechend schneller ist als ein gewöhnlicher RISC mit seinen zahlenmäßig zwar "vielen", der Leistung nach aber nicht immer berauschenden Mips (Millionen Instruktionen pro Sekunde). Oder man apostrophiert den KI-Chip als Standard-Mikro mit erweiterten Registern und erweiterten Befehlen.

Einsatzmöglichkeiten sind breit gefächert

Ein Chip wie der neue AI 32 dürfte in absehbarer Zukunft eine Menge interessanter Einsatzgebiete finden, erwartet Kihara.

Denn einen KI-Chip könne man sich ebensogut als Kernstück eines Expertensystems vorstellen, wie er zur Bild- und Mustererkennung oder auch zur natürlichen Kommunikation mit einem Rechner dienen könne. Etwas tiefer ins Detail gehend meinte Kihara unter anderem, so ein Expertensystem könne ja beispielsweise "für komplizierte Diagnosen oder auch Prognosen" genutzt werden, während die Bilderkennungstechniken schon bald "zu intelligenten und sehenden Robotern führen" dürften. Außerdem sollte es möglich sein, nun Systeme zu entwerfen, mit denen sich Datenbanken in natürlicher Sprache auf bestimmte Inhalte abfragen lassen.

Schließlich lüftete Kihara kurz noch einen Zipfel des Schleiers, der über der weiteren Entwicklung der KI-Techniken liegt. Es sei, spekuliert er, doch auch denkbar, das Mikrocode-Speicher-Eprom des KI-Chips in späteren Chip-Versionen gegen einen RAM-Speicher auszutauschen. Dann aber könnte man dessen Inhalt dynamisch immer wieder ändern und so ein System gewinnen, daß nach Belieben ganz unterschiedliche Anwendungen mit ganz unterschiedlichen Programmiersprachen bearbeiten kann - eine Art "KI-Chamäleon" also.