Lösung für große und komplexe Spezial-Probleme:\

Assoziative Feldrechner ante portas

24.10.1975

"Die inzwischen erwiesene Einatzfähigkeit und das sich verbessernde Kosten-Nutzen-Verhältnis bei Array-Rechnern kann eine Revolution bedeuten - nicht nur im gesamten Datenverarbeitungskonzept, sondern auch in der Art der Anwendung. Nur gibt es ein Problem, mit dem man fertig werden muß: Der Widerstand der Leute, sich zu ändern." Dieses Zitat steht am Anfang einer von der MITRE-Corporation verfaßten Studie für die amerikanische Luftwaffe über den Einsatz von Array-Rechnern.

Während konventionelle Rechner nur einen einzigen Prozessor und Speicherplätze in der Größenordnung von etwa 1 Million Zeichen haben, die mit diesem zusammen ein Programm abarbeiten, verfügt ein "Array Rechner" in der Regel zunächst nur über 256 Speicherwerte mit je 256 Bit, aber auch über 256 Prozessoren (Bild 1). Genauer gesagt sind es "Prozessörchen", denn sie manipulieren jeweils nur eine Bit-Stelle oder vergleichen zwei Bit-Stellen. Sie können demnach nur die logischen Grundfunktionen AND, OR, NOR, NAND ausführen aber für die vorgesehenen gesehenen Aufgaben ist das ausreichen. Eine solche Speicher-Einheit ist eine Matrix, ein "Array", daher der Name Array-Rechner, oder eingedeutscht "Feldrechner".

Mehrere dieser Felder können hintereinander gestellt werden und sind -wie beim STARAN der Goodyear Aerospace Corp., dem derzeit einzigen kommerziell vermarkteten Feldrechner- durch eine Steuerlogik ansprechbar. Dann wird daraus ein "Multi-Dimensional-ARRAY", ein MDA (Bild 2).

Alle 256 Prozessoren (je einer für ein 256 Bit-Wort) arbeiten parallel im Gleichtakt. Der Inhalt der gesamtem Matrix (256x256 Bit) ist demnach in der gleichen Zeit auslesbar, die ein "General-Purpose-Computer" für das Lesen eines 256 Bit langen Wortes im Arbeitsspeicher benötigen würde.

Zunächst einmal ist es möglich, Vergleiche zwischen allen im Array befindlichen, Worten (Ó 256 Bit) durchzuführen. Dabei muß nicht jeweils ein Wort an allen anderen vorbeigeführt werden, wie bei konventionellen Computern (Sequentielles Abgleichen), sondern alle Worte werden gleichzeitig ausgelesen und das Ergebnis des Vergleichs ist an der Leiste der Prozessoren innerhalb einer Taktzeit ablesbar. Auch ist es möglich, die Ergebnisse einer arithmetischen oder logischen Operation innerhalb einer Zeile sofort in die Bit-stellen dieser Zeile zurückzuschreiben.

Auch vorübergehend zu speichernde Daten können in das Feld hineingelesen und anschließend wieder herausgelesen werden. Ein Array- Rechner kann Daten logisch kombinieren, die nacheinander eingelesen werden, und er kann die Adresse des Datenwortes herausfinden, das aufgrund seines Inhaltes gesucht wird. Das heißt, der Zugriff zu einer bestimmten Bit-Kombination ist möglich, ohne daß deren Adresse bekannt ist.

Beispiel: Die Matrix enthalte z. B. ein Verzeichnis von allen Autotypen, pro Typ ein Speicherwort Ó 256 Bit für zahlreiche Merkmal-Kombinationen. Gesucht sei der Hersteller eines 2,8-Liter-Einspritzers mit Automatik und Scheibenbremsen. Vorausgesetzt sei bei diesem Beispiel, daß es nur einen Autotyp mit diesen Eigenschafen gäbe. Jede Eigenschaft sei durch eine Gruppe von Bits beschrieben. Die Bits werden jetzt quer über alle 256 Worte abgefragt, das heißt, als Bit- Scheibe. (Bild 1).

Während in einem Universalrechner ein Satz mit einer bestimmten Bit-Kombination dadurch gesucht wird, daß alle Sätze aufgrund ihrer vorher bekannten, Adresse nacheinander vollständig abgefragt werden, scheidet der Feldcomputer mit jeder weiteren Spalte die

ganzen 256-Bit-Worte (entsprechend Autotyp) von der weiteren Abfrage aus, bei denen ein relevantes Bit nicht gefunden wird. Die Suche ist beendet, wenn der gesuchte Autotyp als letzter übrig bleibt.

Zeichenerkennung durch Matrix-Verarbeitung

Auch der spaltenweise Vergleich des Speicherinhaltes ist sinnvoll, z. B. bei Zeichenerkennungsaufgaben. Beispiel: Ein Buchstabe sei dargestellt durch das Setzen von logischen Einsen - vergleichbar der Matrix-Darstellung eines Druckbuchstabens (Bild 3).

Die Bit-Kombination einer Spalte ändert sich nur unwesentlich gegenüber der vorhergehenden -, aber ansteigender oder abfallender, konvexer oder konkaver Verlauf einer Kurve oder die Kombination von Kurvenstücken sind als Übergangsfunktionen der Bit-Kombinationen von einer zur nächsten oder übernächsten Spalte erkennbar. Diese Annahme für das Vorhandensein eines bestimmten Buchstabens erlaubt es, programmgesteuert durch einen angekoppelten Steuerungs-Rechner vom herkömmlichen Typ (beim Staran eine PDP 11), einzelne Bits von der weiteren Untersuchung auszuschalten oder, andere mit einer Gewichtung zu versehen.

Im Quadrat schneller

Noch weitergehend ist die Möglichkeit, zwei Bilder zu vergleichen, um dabei herauszufinden, ob Bildelemente, zum Beispiel eine Bildzeile, des einen im anderen Bild wiederzufinden sind, und wo. Hierbei muß jede Bildzeile des einen Bildes mit jeder des anderen Bildes verglichen werden. Bei sequentieller Verarbeitung eines Fernsehbilides (625 Zeilen pro Bild) wären das im Extremfall 625 x 625 Vergleiche, die nacheinander stattfinden mußten, um eine Korrelation herauszufinden. Bei 10 Mikrosekunden für einen Zeilenvergleich sind das fast 4 Sekunden für einen Bildvergleich - untragbar bei Blasenkamera- oder Luftbildaufnahmen, wenn 100 000 Bilder pro Tag anfallen. Der Feldrechner vergleicht jede Zeile des einen Bildes in der oben beschriebenen Assozizitiv-Technik mit dem zweiten Bild. Er braucht nur so viele Vergleiche, wie Zeilenpaare vorhanden sind. Das dauert in diesem Falle etwa 625x 1 Mikrosekunde = 0,625 Millisekunden (der Staran oder ähnliche Rechner schalten unterhalb des Mikrosekunden-Bereichs), weil nicht sequentiell, sondern assoziativ verarbeitet wird.