DE3340078A1 - Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung - Google Patents

Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung

Info

Publication number
DE3340078A1
DE3340078A1 DE19833340078 DE3340078A DE3340078A1 DE 3340078 A1 DE3340078 A1 DE 3340078A1 DE 19833340078 DE19833340078 DE 19833340078 DE 3340078 A DE3340078 A DE 3340078A DE 3340078 A1 DE3340078 A1 DE 3340078A1
Authority
DE
Germany
Prior art keywords
input
cell
alu
data
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19833340078
Other languages
English (en)
Inventor
Michael John Benjamin Thames Ditton Surrey Duff
Terence James Twickenham Middlesex Fountain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Research Development Corp UK
Original Assignee
National Research Development Corp UK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Research Development Corp UK filed Critical National Research Development Corp UK
Publication of DE3340078A1 publication Critical patent/DE3340078A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Description

-5-NATIONAL RESEARCH DEVELOPMENT CORPORATION, London, England
Prozessor-Zelle zur Verwendung in einer aus derartigen Zellen gebildeten Anordnung
Die Erfindung bezieht sich auf eine Zelle mit einer arithmetisch-logischen Einheit (ALU) und zugehörigen Registern zum Ausführen arithmetischer und boolescher Funktionen an Daten, die die Zelle selbst sowie Nachbarzellen in einer von den Zellen gebildeten Anordnung betreffen. Eine Vielzahl von Zellen, die eine Anordnung bilden, d.h. in einer Gruppierung angeordnet sind, kann man zur Verarbeitung von Bildern benutzen, und in einer solchen Gruppierung oder Anordnung kann jede der Zellen einem Bildelement des Bildes entsprechen. Andererseits kann man eine derartige Zellenanordnung bezüglich eines Bildes so abtasten, daß zu irgendeiner Zeit jeder Prozessor einem Bildelement von einem Teil oder Ausschnitt des Bildes entspricht.
Eine herkömmliche Bildverarbeitungseinrichtung für Binärdaten, das sogenannte CLIP-4-System ist in einem Aufsatz mit dem Titel "Review of the CLIP imaging system", von M.J.B. Duff, National Computer Conference, 1978, beschrieben, wobei es sich um eine 96 χ 96-CLIP-4-Zellen-Anordnung handelt. Jede der Zellen enthält einen Prozessor, der so gesteuert ist, daß er unter der Zufuhr von an externen Anschlüssen angelegten Steuersignalen verschiedenartige Funktionen ausführen kann. Weitere Information über CLIP-Systeme und die Art und Weise ihres Betriebs findet man in einem Aufsatz mit dem Titel "Towards CLIP 6 - an extra dimension", von T.J. Fountain, IEEE Computer Society Workshop on Computer Architecture for Pattern Analysis and Image Database Management, Hot Springs, Virginia, 11. bis 13. November 1981, Seiten 25 bis 30. Aus diesen Druckschriften sind Beispiele für
Gruppierungen oder Anordnungen aus Prozessor-Zellen sowie die Art und Weise des Betriebs solcher Zellen und Anordnungen bekannt.
Eine Prozessor-Zelle zur Verwendung in einer aus derartigen Zellen gebildeten Anordnung zeichnet sich nach der Erfindung aus durch wenigstens acht Eingabeanschlüsse, von denen jeder zum Empfang von Daten von einer betreffenden Zelle in einer Zellenanordnung dient, einen Eingabe/Ausgabe-Kanal zum Lesen von Daten von einer zentralen Quelle für die Anordnung in und aus einem Speicher heraus,eine Verarbeitungseinrichtung zum Verarbeiten der über die Eingabeanschlüsse und den Kanal empfangenen Daten, eine Multiplexereinrichtung, die es der Prozessoreinrichtung gestattet, zu den von den Jeweiligen Eingabeanschlüssen empfangenen Daten unabhängig Zugriff zu erlangen, einen Ausgabeanschluß zur Verbindung mit Eingabeanschlüssen anderer Zellen, wobei die Verarbeitungseinrichtung mit dem Ausgangsan-Schluß zwecks Zufuhr verarbeiteter Daten verbunden ist, eine Steuereinrichtung zum Empfangen und Speichern von Information zur Steuerung der Zelle wenigstens teilweise gemäß dieser gespeicherten Information und eine Richtungsanzeigeeinrichtung zur Angabe, über welchen der Eingabeanschlüsse die von der Verarbeitungseinrichtung benutzten Daten die Zelle erreicht haben.
Ein Vorteil der Erfindung besteht darin, daß die Richtungsanzeigeeinrichtung angeben kann, welche Nachbarzelle diejenigen Daten geliefert hat, die gerade verarbeitet werden oder die gerade verarbeitet worden sind, so daß beispielsweise in einem aus 3x3 Zellen bestehenden Abschnitt einer Anordnung die den Maximumoder Mittelwert aufweisenden Zelle identifiziert werden kann. Sieht man vor, daß der Prozessor die Richtungsanzeige oder Richtungsangabe modifizieren kann, beispiels-
weise durch Addition einer Zahl, die eine Drehung um einen Winkel darstellt, kann man die Verarbeitung in Richtungen voranschreiten lassen, die von den Daten abhängen, welche eine Zelle von Nachbarzellen erhält.
Eine bevorzugte Weiterbildung der erfindungsgemäßen Zelle besteht darin, daß die Steuereinrichtung die Zelle veranlassen kann, Daten in einer Vielzahl verschiedenartiger Weisen umzuformen, und zwar mit dem Ergebnis, daß verschiedene Zellen in einer Anordnung intern unter Verwendung der Steuereinrichtung so gesteuert werden können, daß sie gleichzeitig eine Vielzahl verschiedener Verarbeitungsfunktionen ausführen.
Die Verbindungen mit der Verarbeitungseinrichtung sind vorzugsweise so getroffen, daß die Verarbeitungseinrichtung in der Lage ist, in der Steuereinrichtung gespeicherte Information zu modifizieren. Es ergibt sich dann der Vorteil, daß Zellen auf Eingänge reagieren können, die sie von Nachbarzellen empfangen.
Im Gegensatz zu herkömmlichen für Anordnungen gedachte Prozessor-Zellen ist die erfindungsgemäße Zelle vorzugsweise in der Lage, von anderen Zellen und von der zentralen Quelle stammende Daten handhaben zu können, die in Form von 8-Bit-Bytes vorliegen, und solche Bytes zu verarbeiten. Dies hat den Vorteil, daß durch Graupegel dargestellte Bilder verarbeitet werden können.
Vorzugsweise werden die Daten von Nachbarzellen über die Eingabeanschlüsse gleichzeitig in entsprechend zugeordnete Eingaberegister gelesen, wobei jeweils ein Register einem Eingabeanschluß zugeordnet ist und die Daten seriell in das jeweilige Eingaberegister gegeben werden. Vorzugsweise ist eine Multiplexereinrichtung vorhanden, die es gestattet, daß der Inhalt irgendeines
ausgewählten Eingaberegisters dem Prozessor zugeführt werden kann.
Bei einer bevorzugten Weiterbildung der Zelle ist ein Binärgatter mit mehreren Gattereingängen vorhanden, die jeweils mit einem Eingabeanschluß der Zelle verbunden sind, und der Gatterausgang ist an den Eingang des Prozessors angeschlossen. Eine parallele Steuerung der Gattereingänge gestattet dann, daß Binärdaten den Prozessor schneller als 8-Bit-Daten erreichen können. Die dadurch gewonnene Zeiteinsparung ist wichtig, weil viele Verarbeitungsvorgänge in der Anordnung darauf abzielen, 8-Bit-Daten zu vereinfachen und deshalb gegen Ende der Verarbeitung oft viele Zyklen ausgeführt werden, die Binärdaten betreffen.
Jede Zelle enthält vorzugsweise ihren eigenen Schreib/Lese-Speicher oder RAM, der über einen weiteren Kanal in bequemer Weise mit der Zelle verbunden werden kann. Der RAM kann aber auch Teil der gleichen integrierten Schaltung wie der übrige Teil der Zelle sein.
Gruppierungen oder Anordnungen aus erfindungsgemäßen Zellen können beispielsweise Einzelbefehl-Mehrfachdaten-Anordnungen bilden, bei denen jede Zelle dasselbe Befehlswort erhält. Es können aber auch Mehrfachbefehl-Mehrfachdaten-Anordnungen gebildet werden, bei denen die Zellen oder Gruppen von Zellen jeweils verschiedene Befehle empfangen. Die Gruppierungen oder Anordnungen können eindimensional oder mehrdimensional sein. So kann beispielsweise eine pyramidenförmige Anordnung gebildet werden, bei der die Ausgabeanschlüsse einer Gruppe von Zellen in jeder Ebene, mit Ausnahme der höchsten Ebene, Ausgänge an die Zellen der nächst höheren Ebene liefern, wobei die Zellen in jeder Ebene von einem einzigen Befehlswort oder jeweils verschiedenen Befehlswörtern gesteuert werden.
Bevorzugte Ausführungsbeispiele der Erfindung werden im folgenden an Hand von Zeichnungen beschrieben. Es zeigt:
F I G . 1 ein Blockschaltbild eines Abschnitts einer aus erfindungsgemäßen Zellen ausgebildeten Anordnung unter Darstellung der Datenbahnen zu der zentralen Zelle,
F I G . 2 ein Blockschaltbild einer integrierten Schaltung einer erfindungsgemäßen Zelle mit der Darstellung von Datenbahnen,
F I G . 3 ein Blockschaltbild der in FIG. 2 dargestellten Eingabematrix mit weiteren Einzelheiten,
F I G . 4 ein Blockschaltbild der Steuerverbindungen der in FIG. 2 dargestellten Zelle und
F I G . 5 eine Darstellung von Stadien zum Auffinden des Mittelwerts von Werten, die in den in der Teilanordnung nach FIG. 1 dargestellten Zellen enthalten sind.
Der in FIG. 1 dargestellte Teil einer wesentlich größeren Anordnung umfaßt neun Prozessorzellen 1 bis Jede Zelle hat acht 8-Bit-Eingabeschieberegister, die für die dargestellte Zelle 9 mit N1 bis Ng bezeichnet sind, sowie ein 8-Bit-Ausgaberegister, das für die ZeI-Ie 9 mit NQ bezeichnet ist. In FIG. 1 ist jeweils nur dasjenige Eingaberegister in jeder der Zellen 1 bis 8 gezeigt, das mit der Zelle 9 in Verbindung steht. Demgegenüber ist von allen Zellen 1 bis 8 das jeweilige Ausgaberegister dargestellt. Ferner sind nur diejenigen Datenbahnen eingezeichnet, die die Zelle 9 mit den
sie umgebenden Zellen 1 bis 8 verbindet. Alle anderen Zellen der Anordnung sind aber in der gleichen Weise mit den sie jeweils umgebenden Zellen verbunden. Bei Zellen, die sich am Rand der Anordnung befinden, entfallen einige dieser Verbindungen. Darüber hinaus benötigt man in FIG. 1 nicht dargestellte Steuerverbindungen sowie weitere Datenbahnen zum Laden der Anordnung und zum Anzeigen der Ergebnisse der Verarbeitung. Diese weiteren Verbindungen und Bahnen werden noch beschrieben.
Die Datenbahnen innerhalb der Zelle 9 sind in FIG. 2 dargestellt. Die Register N1 bis Ng sind mit einer Eingabematrix 12 verbunden, die es zusammen mit acht Gruppen von Toren oder Gattern MO bis M7 gestattet, den Inhalt jedes Registers getrennt auf den niedrigwertigen Abschnitt 13L eines 16-Bit-Busses 13 auszulesen.
Die Zelle 9 enthält eine 16-Bit-ALU P (ALU = arithmetisch-logische Einheit), ein 16-Bit-Register und bidirektionales Schiebeglied S und einen Block BR aus vier 16-Bit-Registern, wobei sechzehn Bits benötigt werden, um an 8-Bit-Bytes arithmetische Operationen auszuführen. Die ALU P, das Register S und der Block BR sind über den Bus 13 sowie zusätzliche 16-Bit-Busse 14 Ms 17 miteinander verbunden, wobei eine Schleife gebildet wird, die es ermöglicht, boolesche und arithmetische Operationen auszuführen, die noch an Hand von Beispielen erläutert werden. Jeder Bus ist unterteilt in einen hochwertigen und niedrigwertigen Abschnitt, die mit tiefgestellten Indices H und L bezeichnet sind.
Die ALU P ist mit einem RAM-Kanal 18 (RAM « Schreib/Lese-Speicher, Direktzugriffsspeicher) verbun-
den und steht über diesen Kanal mit einem RAM 20 in Verbindung, typischerweise beide in einer der betreffenden Zelle spezifischen getrennten integrierten Schaltung und mit einer Speicherkapazität von 2 Kilobytes.
Zu verarbeitende Daten, die ein Bild betreffen, gelangen zu einem dualen Eingabe/Ausgabe-Register D, das mit eine» Eingabekanal 10 und mit einem Ausgabekanal 11 verbunden ist. Zu speichernde Information kann entweder direkt oder über den Prozessor bzw. die ALU P zum RAM 20 gelangen. Ergebnisse der Verarbeitung werden aus dem RAM über den Ausgabekanal ausgelesen. Der 8-Bit-Eingabekanal 10 ist mit dem Ausgabekanal der in der An-Ordnung vorausgehenden Zelle parallel verbunden, und der Ausgabekanal 11 ist mit dem Eingabekanal der in der Anordnung nächsten Zelle parallel verbunden. Die Eingabe und Ausgabe bezüglich der Zellen erfolgt daher durch Verschieben über die D-Register, bis die gewünschte oder erforderliche Zelle erreicht ist.
Jede Zelle hat ein Bedingungsregister CR, das zur Steuerung der Betriebsweise der Zelle mit Hilfe von in FIG. 4 gezeigten Verbindungen dient und in einer Datenbahn liegt, die von Bussen 21 und 22 sowie vom Bus gebildet wird. Wenn sich somit die Zelle unter der Steuerung des Registers CR befindet, können die Operationen der Zelle von der Verarbeitung abhängen, die von der Zelle selbst gerade ausgeführt wird. Da das Register CR eine Kontroll- oder Steuerfunktion hat, ist ein separater 3-Zustands-Puffer 23 vorgesehen, der den Ausgang des Registers CR nur dann zur ALU P torsteuert, wenn es erforderlich ist, und der es gestattet, daß an den verschiedenen Teilen der Schaltung Steuerfunktionen wahrgenommen werden können.
Ein Ziel der Verarbeitung von 8-Bit-Daten ist es, die Daten in die Binärform zu vereinfachen und die Betriebsgeschwindigkeit zu erhöhen, wenn dieser Zustand erreicht worden ist, oder, wenn die anfänglichen Daten in der Binärform vorliegen, ist ein Binärtor oder Binärgatter BG mit der Eingabematrix verbunden, um binäre Bits als das niedrigstwertige Bit an den Bus 13 zu legen.
In FIG. 3 ist die Eingabematrix mit weiteren Einzelheiten dargestellt. Eine Gruppe 24 aus acht Eingabeanschlüssen zum Empfang von Eingängen von benachbarten Zellen ist mit den Registern N1 bis Ng verbunden. Der besseren Übersicht halber ist lediglich der Umriß des Registers N1 eingezeichnet. Die acht internen Stufen dieses Registers sind mit 31 bis 38 bezeichnet, und man kann erkennen, daß die übrigen Register in der gleichen Weise mit Jeweils einem zugeordneten Eingangsanschluß der Eingangsanschlußgruppe 24 verbunden sind.
Jede der Gruppe aus den Toren oder Gattern MO bis Kl ist mit einer Stufe entsprechender Wertigkeit in jedem der- Schieberegister N1 bis Ng verbunden, so daß durch Anlegen eines 3-Bit-Signals an die Gattergruppe der Inhalt irgendeines der Register N1 bis Ng zum Bus 13 torgesteuert werden kann.
Das Binärgatter BG ist mit den Eingangsanschlüssen der Eingangsanschlußgruppe 24 verbunden und enthält eine Gruppe aus UND-Gliedern 40 sowie einem ODER-Glied
41. Jedes UND-Glied erhält einen Eingang von einem der Eingangsanschlüsse 24 und einen Eingang vom Steueroder Bedingungsregister CR, so daß ein binärer Eingang von einer benachbarten Zelle zum niedrigstwertigen Teil des Busses 13 gelenkt werden kann.
Die Eingabematrix bzw. Eingabetorsteuerung nach
FIG. 3 hat den besonderen Vorteil, daß die Anzahl der Stifte an jeder integrierten Schaltung auf 64 vermindert werden kann, und daß dies für die Art des Bus-Aufbaus passend und vernünftig ist, der typischerweise für eine ALU oder einen Mikroprozessor verwendet wird.
Die Steuerlogik für die Zelle nach FIG. 2 soll im folgenden an Hand von FIG. 4 erläutert werden. Es gibt eine Anzahl externer Anschlüsse und für eine Einzelbefehl-Vielfachdaten-Anordnung sind diese Anschlüsse parallel an alle Zellen der Anordnung angeschlossen. Steuersignale, im allgemeinen in der Form von Operationscodes, die ein zentrales Systemsteuergerät, im allgemeinen ein Rechner liefert, werden an die externen Anschlüsse gelegt, damit die Verarbeitung ausgeführt werden kann. Bei Mehrfachbefehl-Anordnungen sind Mittel vorgesehen, die dazu dienen, die externen Anschlüsse jeder Zelle oder von Gruppen von Zellen einzeln zu adressieren.
Das Laden der Register BR, S, CR und NQ sowie eines Registers im Kanal D wird durch Anlegen entsprechender Impulse an externe Anschlüsse 42 bis 46 bewerkstelligt. Acht Impulse, die Taktimpulsen äquivalent sind, braucht man, um Daten in die Register N1 bis Ng zu schieben und gleichzeitig aus dem Register Nq zu schieben. Diese Impulse werden an einen Anschluß 47 gelegt.
Wenn die Zelle unter interner Steuerung steht, wird durch das Anlegen eines Steuerimpulses an einen Anschluß 48 eine Anzahl von Operationen ermöglicht. Diese Operationen führen zum Anlegen eines Steuersignals an die ALU, zum Laden des Registers S, wobei der Steuerimpuls über Tore oder Gatter 92 und 93 zugeführt wird, zum Laden des Registers CR, wobei die Steuerung über
Tore oder Gatter 95 und 96 erfolgt, zum Laden des Ausgaberegisters Nq, wobei die Steuerung über ein Tor oder Gatter 97 erfolgt, und zum Freigeben entweder von Toren oder Gattern 65 oder von Toren oder Gattern 66 (über ein ümkehrglied 94 angeschlossen) zwecks Adressierung des Registerblocks BR durch externe Anschlüsse 67 und 68 oder durch das Register CR.
Wenn sich die Zelle unter interner Steuerung befindet, werden die Gatter 92, 93 und 95 bis 98 von dem Bedingungsbit im Register CR gesteuert, das an einem Anschluß 49 dieses Registers erscheint, wodurch die Freigabe zum Laden der Register S, CR und NQ erfolgt.
Die ALU P wird mit Hilfe von fünf Anschlüssen 50 bis 54 gesteuert, die außerdem mit einem Decoder 55 verbunden sind, um das Register S zu steuern. Zwei weitere Ausgänge des Decoders 55 werden zum Setzen des Zustands eines Flipflop 56 benutzt, das in seinem einen Zustand Tore oder Gatter 57 freigibt, so daß externe Anschlüsse 59 bis 61 zum Steuern der Gatter MO bis M7 (FIG. 3) verwendet werden können und Multiplexer-Richtungs-Register (MDR) 62 geladen werden kann, und das in seinem anderen Zustand Tore oder Gatter 100 freigibt, wodurvh die Steuerung der Gatter MO bis M7 sowie des Registers 62 an das Register CR übergeben wird.
Von den 32 möglichen 5-Bit-Binärsignalen, die an den Anschlüssen 50 bis 54 auftreten können, spezifizieren sechzehn Signale verschiedene boolesche Operationen und acht Signale spezifizieren vier verschiedene Additionsoperationen und vier verschiedene Subtraktionsoperationen, wobei die Unterschiede darin zu sehen sind, ob der negative, Übertrag-, Null- oder Überlauf-Ausgang der ALU gesetzt ist. Von den übrigen acht 5-Bit-Binärsignalen setzen vier Signale die S-Re-
gister-Betriebsart, und zwar auf entweder logisches Rotieren, arithmetisches Schieben, logisches Schieben oder paralleles Eingeben, zwei Signale steuern das Richtungs-Register 62, und ein Signal veranlaßt das Richtungs-Register zur Ausgabe an die ALU.
Bei manchen Operationen ist es erforderlich, ausgewählte Eingaberegister N1 bis NQ zu löschen, und diese Funktion übernimmt ein Decoder 63 unter der Steuerung des Richtungs-Registers 62 und Befehls von einem externen Anschluß 64.
Zusätzlich zum Register S können dem Prozessor oder der ALU P Eingabedaten von vier Quellen zugeführt werden. Hierbei handelt es sich um die Register BR, den 3-Zustands-Puffer 23, die Gatter MO bis M7 oder das binäre Gatter BG. Die Auswahl erfolgt unter der Steuerung eines Decoders 70 mit externen Eingangsanschlüssen 71 und 72.
Die Datenauswahl zur Eingabe in die Register S, D, CR und Nq erfolgt ebenfalls von vier Quellen aus. Diese sind der RAM 20, das Register D, die Datenausgänge von der ALU und Bits, die zusätzliche Information bezüglich des Ergebnisses des von den Signalen an den Anschlüssen 50 bis 54 gesteuerten Vorgangs vorsehen, d.h., ein Übertrag- und Aufrund-Bit, ein Bedingungs-Bit und das Null-Bit vom Register S, wobei diese vier Bits den Bus 15^ über einen Kanal 15* erreichen. Abgesehen vom RAM 20, zu dem der Zugriff in herkömmlicher Weise über das zentrale Systemsteuergerät erfolgt, werden die genannten Quellen über einen Decoder 73 mit externen Eingangsanschlüssen 74 und 75 angesteuert.
Der Übertrag-Eingang für den Prozessor oder die ALU wird ausgewählt unter O, 1, dem Aufrund-Bit oder dem
Übertrag-Bit, und zwar unter Verwendung eines Decoders 86 mit externen Eingangsanschlüssen 87 bis 88. Entsprechend dem Erfordernis für verschiedene Operationen werden diese Bits ausgewählt und über Leitungen 104, 105 (verbunden mit der Speisespannung SV), 83 und 84 zugeführt. Die Auswahl der Schieberichtung für das Register S erfolgt über einen externen Anschluß 90, und die Zeit- oder Taktgabe wird über einen externen Anschluß 101 gesteuert. Die Eingabe in das Register D erfolgt über den Bus 10 oder den Bus 15L unter Auswahl mit Hilfe eines externen Anschlusses 91.
Das Bedingungsregister CR für interne Steuerung hat die in der folgenden Tabelle 1 angegebenen Bit-Zuordnungen.
Tabelle 1
Registerbit
0 1 2
3 4
5 6 7 8
10 11 12 13 14 15
Zuordnung
> Multiplexer-Richtungsauswahl
Binärgatter-Ri chtungsfeld
B-Register-Adresse
S-Register-Bit 0 ALU-Bit 2 (R) ALU-Übertrag-Ausgang N/A
N/A
bedingtes Laden
Das Bit 15 "bedingtes Laden", das am Anschluß 49 erscheint, wird ausgewählt unter dem Übertrag-Bit, negativen Bit (Anzeige eines negativen Ergebnisses), Null-Bit (Anzeige eines Null-Ergebnisses) und Überlauf-Bit vom Prozessor (jeweils an Leitungen 76 bis 79. Die Auswahl erfolgt, wie bereits oben erwähnt, mit Hilfe von Signalen, die über externe Prozessorfunktionsanschlüsse 50 bis 54 an einen Decoder 102 gelegt werden. Das Register CR erhält auch das Übertrag-Bit direkt vom Prozessor zusammen mit dem Aufrund-Bit und das S-Register-Bit 0 jeweils über Verbindungen 76, 81 und 82. Von der Ausgangsseite des CR-Registers gelangen das Übertrag-Bit, das Aufrund-Bit und das Addier-Bit zum Prozessor jeweils über die Leitungen 83 und 84 sowie eine Leitung 85. Das S-Register-Bit 0 bestimmt mit Hilfe des Addier-Bit ADD an der Leitung 85, ob die ALU zwei angelegte Eingänge (von den Registern BR und S) addiert oder einen Eingang ohne eine derartige Addition weiterleitet.
Der durchdringende Einfluß des Registers CR wird jetzt verständlich. Im weitesten Sinne läuft die Zellenoperation wie folgt ab; .
(1) Das Ergebnis eines Zyklus der Zellenoperation wird im Bedingungscode-Register CR gespeichert.
(2) Die gespeicherte Bedingung bestimmt die Zellenoperation während eines zweiten Zyklus.
Die Tabelle 1 und FIG. 4 zeigen, daß die Ausgänge des Registers die folgenden Bereiche der Zellenoperation beeinflussen können:
(1) Das Laden des S-, C- und NQ-Registers (Bit 15)
(2) Die Multiplexerrichtung (Bits 0 bis 2)
(3) Die Binärgatter-Richtungen (Bits 0 bis 7) (4) Die BR-Register-Adresse (Bits 8 und 9)
(5) Den ALU-Übertrag-Eingang (Bits 11 und 12)
(6) Die ALU-Funktion (Bit 10)
Der Eingang zum Bit 15 wird ausgewählt unter den Übertrag-, Null-, Überlauf- und Vorzeichen-Ausgängen der ALU mittels des Decoders 102 und des ALU-Operationscode während arithmetischer Operationen.
Da, wie bereits erwähnt, das Register CR auf der Datenbahn der Zelle (FIG. 2) angeordnet ist, können die Inhalte dieses Registers sich selbst manipulieren über die ALU und das Schiebeglied, um auf diese Weise viele Betriebsarten darzubieten.
In bezug auf den Einfluß dieses Registers auf Zellenoperationen enthält letztlich der externe Mikrocode (folgende Tabelle 2) ein an den Anschluß 48 gelegtes Bit 12, das darüber bestimmt, ob die Ausgänge des Registers benutzt werden oder unberücksichtigt bleiben, so daß eine Unterscheidung zischen bedingten und nicht bedingten Zellenoperationen gegeben ist.
Tabelle 2 Mikrosteuer-Bit-Zuordnungen
O
1
2 J
3
4
MuItipiexer-Richtungsauswahl
Eingangsknotenquelle
B-Register-Steuerung
S-Register-Steuerung
Externe Anschlüsse
59 60 61
74 75
42 67 68
43
90
101
-19-
Tabelle 2 (Fortsetzung) Mikrosteuer-Bit-Zuordnungen Externe Anschlüsse
C-Register-Steuerung
Prozessorsteuerung
22
Datenknotenquelle
Bedingtes Löschen der Eingaberegister
D-Register-Steuerung
Voranschreitsteuerung
44 48
50 51 52 53 54 87 88
74 75
64
46 91
45 47
Die Schaltungen nach FIG. 2, 3 und 4 können Binäroder Mehrwert-Daten verarbeiten, und obgleich für die ersteren zusätzliche Schaltfunktionen bewältigt werden können, die später noch beschrieben werden, sind im allgemeinen die Operationen bezüglich der beiden Arten von Daten nicht unterscheidbar. Dementsprechend werden im folgenden einige typische Schaltungsoperationen an Hand von Mehrwert-Daten beschrieben, und die binären Operationen stellen ausgenommen dort, wo es angegeben ist, den Ein-Bit-Fall der Vie-Bit-Operationen dar.
Daten für die Zelle werden im allgemeinen über das Register D in die Zelle geladen und aus der Zelle entnommen. Wenn Daten in die Zelle eingegeben werden, gelangen
/y
sie im allgemeinen vom Register D über den Bus 15L zum RAM 20. Sie können aber auch in die Register S, CR oder Nq gegeben werden. Die Quelle für Daten, die zur Ausgabe zum Register D geschoben werden, kann entweder von den RAM- oder den Prozessorausgängen gebildet werden. Sowohl für die Eingabe als auch für die Ausgabe erfolgt das Laden (mit Ausnahme vom RAM) unter der Steuerung des Decoders 73.
Bei "punktweiser Operation" ist das Ergebnis eine Funktion zweier Eingänge, die bereits in der Zelle vorhanden sind, typischerweise im RAM. Eine einfache Funktion dieser Art ist die Addition zweier Zahlen, wenn man weiß, daß das Ergebnis weniger als acht Bits ausmacht. Diese Operation kann man durch die folgenden vier Schritte· zusammenfassen:
1. RAM nach S
2. RAM nach S und S nach BO
3. ALU = BO plus S
4. ALU-Ausgänge nach RAM
Beim ersten Schritt wird der erste Operand vom RAM 20 in das Register S geladen, und beim zweiten Schritt wird der Inhalt des Registers S zu demjenigen Register im Block BR geschoben, das die Adresse 0 hat, während der zweite Operand vom RAM 20 in das Register S geladen wird. Beim dritten Schritt führt der Prozessor P die Addition aus, und beim vierten Schritt werden die Prozessorausgänge in den RAM 20 geladen.
Ein anderes Beispiel für eine arithmetische Operation (Multiplikation) ist im folgenden gegeben:
BAD ORIGINAL
-21-
1. RAM nach S
2. RAM nach S und S nach BO
3. ALU = BO plus S
4. ALU-Ausgänge nach RAM
5. RAM nach S
6. S nach BO und RAM nach S
7. Bit SO nach C10
8. S nach B2
9. ALU = BO
10. ALU-Ausgänge nach S
11. ALU = B1 plus S oder B1
12. ALU-Ausgänge nach S
13. S nach B1
14. ALU = B2
15. ALU-Ausgänge nach S
16. Schiebe S abwärts
17. Bit SO nach C10 und S nach B2
18. ALU « BO
19. ALU-Ausgänge nach S
20. Schiebe S aufwärts
21. S nach BO
22. ALU = B1 plus S oder B1
23. ALU-Ausgänge nach S
24.
bis Wiederhole 13 bis 23 siebenmal
100.
101. ALU e S
102. ALU-Ausgänge nach RAM
103. Schiebe S um acht Bits abwärts
104. ALU = S
105. ALU-Ausgänge nach RAM
Bei dieser Operation werden zwei Fließ-Zahlen, die jeweils einen 8-Bit-Exponenten und eine 8-Bit-Man-35 tisse haben, miteinander multipliziert. Bei den ersten vier Schritten werden die Mantissen addiert, und bei den
W X I V *r I 1W
verbleibenden Operationen wird ein Exponent im S-Register gehalten, während der andere Exponent im Register BO der Gruppe BR gehalten wird. Bei (Jeder Stufe der Multiplikation wird ein anderes Bit des Multiplikators (gehalten im Register B2) durch Abwärtsverschieben im Register S zum Bit 10 des Registers CR transferiert (Schritte 14 bis 17). Das Bit 10 bestimmt dann, ob der Multiplikant (gehalten im Register BO) addiert wird (Schritte 13, 22 und 23), und zwar nach Aufwärtsver-Schiebung (Schritte 18 bis 21) zu einer Zahl bei einer Adresse B1, wo das Produkt akkumuliert wird. Bei den Schritten 5 bis 13 werden die Register BO, B1 und B2 geladen, um die erste Stufe dieses Vorgangs auszuführen, und bei den Schritten 101 und 102 wird das niedrigwertige Byte des Produkts zum RAM 20 geleitet, wohingegen bei den Schritten 103 bis 105 das hochwertige Byte des Produkts zum RAM 20 geleitet wird.
Obgleich die beiden obigen Beispiele arithmetische Funktionen betreffen, können von der ALU auch irgendwelche boolesche Funktionen mit zwei Variablen ausgeführt werden. Wie bereits erwähnt, bestimmen an die Anschlüsse 50 bis 54 gelegte Signale die Art der auszuführenden Operation.
"Nachbarschafts-Operationen11 oder "Voranschreit-Operationen11 sind wichtige Operationen in Anordnungen aus Zellen, und sie bestehen in der Ableitung eines Ergebnisses, das eine Funktion von einem in der Zelle gehaltenen oder gespeicherten Wert und von Werten ist, die in zu dieser Zelle benachbarten Zellen gehalten oder gespeichert sind. Der erste Schritt besteht im allgemeinen darin, ein Daten-Byte vom RAM 20 zum Ausgaberegister N0 zu transferieren und manchmal auch gleichzeitig zum Register S zu transferieren. Dieser Schritt wird zur gleichen Zeit in allen Zellen in der Anordnung vorgenom-
BAD ORIGINAL
men, und dann werden von jeder Zelle zu den Nachbarzellen Daten in einer Solchen Weise seriell transferiert, daß der Inhalt jedes Ausgaberegisters Nq in einem der Eingaberegister N1 bis Ng jeder der acht Nachbarzellen erscheint. Nachdem die Register N1 bis NQ geladen worden sind, leiten die Gatter MO bis M7 unter der Steuerung des Decoders 70 sowie die Gatter 57 oder die Gatter 100 Signale zu der ALU, und zwar in Sequenz von den N-Registern. Die ALU berechnet jedesmal, wenn ein neuer Eingang angelegt wird, ein neues Ergebnis, und dieses Ergebnis wird im Register S gespeichert. Zwei Beispiele dieses Vorgangs sind in der folgenden Beschreibung veranschaulicht.
Der Mittelwert wird durch Ausführung der folgenden Schritte berechnet:
1. RAM nach No
2. No nach Ni (wobei i gleich 1 bis 8)
3. ALU « Ni
4. ALU-Ausgänge nach S
5. ALU = Ni plus S
6. ALU-Ausgänge nach S
7.
bis Wiederhole 5 und 6 sechsmal 18.
19. ALU-Bit 2 nach C11
20. Schiebe S 3 Bits abwärts
21. ALU β S plus C11
22. ALU-Ausgänge nach RAM
30
Bei den ersten beiden Schritten werden die Register N1 bis Ng geladen, und im dritten Schritt wird die "erste Richtung" entsprechend dem Register N1 ausgewählt, und der Wert von N1 wird mittels der ALU zum Register S geschoben (Schritte 3 und 4). Beim Schritt addiert die ALU den Inhalt des nächsten Eingaberegisters
ν/ ν» *t U V / V
ZU demjenigen des Registers S und transferiert das Ergebnis zum Register S. Bei den Schritten 7 bis 18 werden vorangehenden Schritte 5 und 6 wiederholt, und zwar sechsmal, so daß der gesamte Inhalt der acht Eingaberegister N^ bis Ng im Register S akkumuliert ist. Beim Schritt 19 wird das ALU-Bit 2 zur Steuerregisterposition 11 transferiert, und beim Schritt 20 wird der Inhalt des Registers S um drei Plätze abwärtsgeschoben, also durch acht dividiert, um den Mittelwert zu bilden. Beim Schritt 21 wird der Inhalt des Registers S zum Bit in der CR-Position oder in der Steuerregisterposition 11 addiert, um den im Register S gehaltenen oder gespeicherten Mittelwert aufzurunden. Nach dieser Operation wird beim Schritt 22 der Inhalt der ALU zum RAM 20 transferiert.
Zum Berechnen des Maximalwerts einer 3x3-Nachbarschaft, wird der folgende Vorgang ausgeführt:
1. RAM nach S und N aus
2. N aus nach N ein
3. ALU = S minus N ein
4. Negatives Bit nach C15
5. ALU β Ν ein
6. Bedingtes Laden von S und MDR
7.
bis Wiederhole 3 bis 6 siebenmal 34.
35. ALU = S
36. ALU-Ausgänge nach RAM
Beim ersten Schritt wird der geeignete Wert für die Zelle 9 selbst vom RAM 20 in das Register S transferiert, und weiterhin werden bei den Schritten 1 und 2 die Eingaberegister der Zelle geladen. Beim Schritt 3 berechnet die ALU P den Wert des Inhalts des Registers S minus des Inhalts des Registers N1, und, wenn eine nega-
BAD
tive Größe auftritt, was bedeutet, daß der Inhalt von N1 größer als der Inhalt des Registers S ist, wird das in der ALU resultierende negative Bit zum Bit 15 des Steuerregisters CR transferiert. Beim Schritt 5 wird die ALU mit dem Inhalt des Registers N1 geladen, so daß beim Schritt 6, falls das Bit 15 des Steuerregisters gesetzt ist, der Inhalt der ALU in das Register S gebracht werden kann. Zusätzlich wird die laufende im Steuerregister CR gehaltene oder gespeicherte Eingaberegisteradresse bedingt in das Richtungsregister (MDR)62 geladen. Durch siebenmaliges Wiederholen der Schritte 3 bis 6 wird der Maximalwert der Nachbarschaft in das Register S gebracht, von wo aus er mittels der ALU zum RAM transferiert wird, und zwar bei den Schritten 35 und 36. Weiterhin steht die Eingaberegisteradresse des Maximalwerts im Richtungsregister 62 zur Verfügung.
Die Zelle 9 hat darüber hinaus die wichtige Eigenschaft, daß sie in der Lage ist, Daten zu manipulieren, die anstelle eines numerischen Werts eine Richtungsinformation darstellen.
Gemäß einem Aspekt der Richtungsinformationsoperationen ist das Bedingungscode-Register CR in der Lage, die Gatter MO bis M7 oder das Binärgatter zu steuern und, weil sich das Register CR in der Prozessorschleife befindet, Steuerinformation zur Richtungsauswahl als Daten zu behandeln. Findet man beispielsweise ein Maximum in einer besonderen Richtung, z.B. in der Richtung des Prozessors 3 in FIG. 1, kann man die entgegengesetzte Richtung des Prozessors 7 dadurch auswählen, daß man zu der im Multiplexerrichtungsregister 62 gehaltenen oder gespeicherten Richtung eine vier hinzufügt und das Ergebnis in das Register CR weiterleitet, um dann die Gatter MO bis M7 entsprechend zu steuern. Wie es in FIG. 2 angedeutet ist, steht der Inhalt des Multiplexer-
richtungsregisters 62 der Datenbahn über die ALU unter Verwendung eines Operationscode (einschließlich eines Signals an den Anschlüssen 48 oder 49) und einer Steuerverbindung 93 zur Verfügung. Bei diesem Beispiel kann man den Inhalt des Registers Ny zum Anstellen der Betrachtung auswählen, ob sich durch die Anordnung in der die Prozessoren 3 und 7 verbindenden Richtung eine Linie erstreckt. Falls im Register N~ ein Wert gespeichert ist, der nahe bei dem im Register N* gespeicherten Wert liegt, kann man die Richtung 3 über den RAM 20 und den Kanal D ausgeben und im nächsten Zyklus an den angrenzenden 3x3-Ausschnitt der Anordnung überführen.
Abweichend hiervon kann man bei der Verarbeitung einer Grenze in einem Bild für den Fall, daß die Zelle 3 einem Maximalwert entspricht, die Zellen 2 und 4 dadurch überprüfen, daß man den modifizierten Inhalt des Multiplexerrichtungsregisters für diese Überprüfung der Zellen 2 und 4 benutzt. Falls die Zellen 2, 3 und 4 relativ hohen Werten entsprechen, kann man den der Zelle 9 entsprechenden Wert modifizieren.
Die erläuterten Beispiele zeigen, wie man die Operation einer Zelle von Operationen abhängig machen kann, die von der Zelle ausgeführt werden.
Das MuItipiexerrichtungsregister 62 dient ebenfalls einem Zweck, wenn es darum geht, den Mittelwert einer 3x3-Nachbarschaft zu berechnen. Um diesen Wert herauszufinden, wird die oben beschriebene Maximumfunktion für die benachbarten Zellen fünfmal ausgeführt. Bei den ersten drei Vorfällen wird das Eingaberegister mit dem Maximalwert gelöscht, und zwar unter Verwendung des Richtungsregisters 62, des Decoders 63 und eines an den Anschluß 64 gelegten Löschsignals. Es wird davon
BAD ORlGlNAf
ausgegangen, daß die neun Zellen ursprünglich die in FIG. 5a gezeigten Werte haben und daß sich jetzt die Lage nach FIG. 5b eingestellt hat. Beim vierten Zyklus wird der neue Maximalwert mit dem Wert für die Zelle selbst verglichen. Falls der Zellenwert größer als der neue Maximalwert ist, dann ist der Maximalwert der geforderte Mittelwert. Diese Situation ist in FIG. 5b dargestellt. Wenn der neue Maximalwert für die ersten vier Zyklen und der Zellenwert gleich sind, dann ist dieser Wert der Mittelwert. Diese Situation ist unter Bezugnahme auf die Ausgangswerte nach FIG. 5c und die sich nach den ersten drei Zyklen einstellende Lage nach FIG. 5d dargestellt. Falls der Zellenwert niedriger als die nach vier Zyklen gefundene neue Maximalwert ist, wird eine fünfte Maximaloperation bei den restlichen Nachbarn vorgenommen. Ein weiterer Vergleich mit dem aufgefundenen Maximum gibt eine Anzeige für den Mittelwert derart, daß der Maximumwert gleich dem Mittelwert ist, wenn entweder der Zellenwert kleiner oder gleich dem Maximumwert ist (FIG. 5h bis 56), oder daß der Zellenwert gleich dem Mittelwert ist, wenn der Zellenwert größer ist (FIG. 5e bis 5g).
Es gibt zwei Spezialfälle für die Schaltungsoperation, die für die Binärdatenmanipulation spezifisch sind.
Erstens ist es beim Speichern von Binärdaten nicht effizient, lediglich ein Binärdatenbit pro Byte im
externen RAM 20 zu speichern, der in Bytes organisiert ist. Deshalb kann man einen dicht bepackten Binärspeicher verwenden, wenn spezielle Mikrocode-Sequenzen zum Schieben und Maskieren benutzt werden. 35
/ Vi
Zweitens kann man viele binäre Nachbarschaftsoperationen dadurch erleichtern, daß von dem Nachbarschaftseingang gleichzeitig zusammengesetzte boolesche Funktionen abgeleitet werden. Das Binärgatter BG gestattet eine solche Verarbeitung, und die Sequenzsteuerung mittels der Gatter MO bis M7 wird unter Einsparung von Zeit vermieden.
Die vorgenommene Beschreibung der Schaltung ist keineswegs erschöpfend, da die Anzahl denkbarer Betriebsarten sehr groß ist und weil man auch davon ausgehen kann, daß noch weitere neue Betriebsarten entdeckt werden, vielleicht beispielsweise durch Verwendung einer nach der Erfindung ausgebildeten Zelle in alternativen Maschinenarchitekturen. Aus der obigen Beschreibung geht allerdings hervor, wie man die Zelle in mannigfacher nützlicher und sinnvoller Weise betreiben kann und wie sie in Verbindung mit anderen Zellen innerhalb einer Anordnung betrieben werden kann.
Die Erfindung kann man auch in vielen anderen Weisen als derjenigen, die an Hand von FIG. 1 bis 4 angegeben wurde, in die Praxis umsetzen. So ist es beispielsweise nicht erforderlich, jede Zelle durch eine einzige integrierte Schaltung oder durch zwei Schaltungen dieser Art zu realisieren, wenn eine RAM-Schaltung für jede Zelle vorgesehen ist. Bei einer funktionsmäßigen Aufteilung oder Trennung kann man die Zellenschaltung beispielsweise in eine Prozeß- oder Verarbeitungsschaltung mit der ALU P und den Registern S, CR und BR sowie in zwei Multiplexerschaltungen unterteilen, die jeweils vier Bits aller Nachbareingänge handhaben. Bei einer mit Bit-Slice-Aufteilung bezeichneten Alternative sind all die Schaltungen, die für eine begrenzte Anzahl von Bits geeignet sind, in einer Einheit zusammengepackt, und eine Anzahl dieser Einhei-
BAD ORIGINAL
-29-ten macht die endgültige Zellenschaltung aus.
Bei einer anderen Auslegung kann jede Zelle einen Festwertspeicher aufweisen, der einen Mikrocode für die Steuerfunktionen enthält, die aufgrund des Anlegens von Signalen an vielen der externen Verbindungen ausgeführt werden sollen.
Bezüglich der internen Register und Busse können auch andere Ausbildungen verwendet werden, und zwar unter der Voraussetzung, daß ein Bedingungs-Register vorgesehen ist, das für jede· Zelle und deren Steuerung spezifisch ist. Insbesondere ist auch an den Einsatz eines Mikroprozessors gedacht.
Die Verbindung von dem Ausgaberegister einer Zelle zu den acht Nachbarzellen kann man auch durch acht Verbindungen ersetzen, so daß ein paralleler Datentransfer möglich ist. Die Anzahl der in einer Anordnung vorkommenden anderen Zellen, die jeweils mit einer Zelle verbunden sind, kann auch mehr oder weniger als acht betragen, und die Anzahl der vorgesehenen Eingabeanschlüsse kann entsprechend einer besonderen Anordnungskonstruktion gewählt sein.
Die nach der Erfindung ausgebildeten Zellen kann man innerhalb einer relativ kleinen Anordnung miteinander verbinden, die verwendet wird, um eine relativ große Anordnung von Bildelementen oder damit äquivalenten Elementen abzutasten, wobei eine solche Zellenanordnung Abschnitte der großen Anordnung sequentiell verarbeitet.
Li/Gu
30 Leerseite

Claims (12)

  1. Pcäenianvrälie : : ο ο / η η τ ο
    Parksirccß© 13
    6000 Frankfurt a. M. 1
    NATIONAL RESEARCH DEVELOPMENT CORPORATION, London, England
    Patentansprüche
    Prozessor-Zelle zur Verwendung in einer aus derartigen Zellen gebildeten Anordnung, enthaltend wenigstens acht Eingabeanschlüsse, von denen jeder zum Empfang von Daten von einer jeweils zugehörigen Zelle in einer An-5 Ordnung aus Zellen dient, einen Eingabe/Ausgabe-Kanal zum Lesen von Daten von einer zentralen Quelle für die Anordnung in und aus einem Speicher heraus, eine Verarbeitungseinrichtung zum Verarbeiten der über die Eingabeanschlüsse und den Kanal erhaltenen Daten, eine Multiplexereinrichtung, die der Verarbeitungseinrichtung den unabhängigen Zugriff zu den über die Eingabeanschlüsse jeweils empfangenen Daten gestattet, einen Ausgabeanschluß zur Herstellung der Verbindung zu Eingabeanschlüssen anderer Zellen, wobei die Verarbeitungseinrichtung mit dem Ausgabeanschluß zwecks Zuführung verarbeiteter Daten verbunden ist, und eine Steuereinrichtung zum Steuern der Zelle,
    dadurch gekennzeichnet, daß die Steuereinrichtung (CR) derart ausgebildet und ausgelegt ist, daß sie Information empfangen und speichern kann und daß sie die Zelle zumindest teilweise gemäß dieser gespeicherten Information steuern kann, und daß eine Richtungsanzeigeeinrichtung (62) vorgesehen ist, die angibt, über welchen Eingabeanschluß die von der Verarbeitungseinrichtung (P; ALU, S, BR) benutzten Daten die Zelle erreicht haben.
  2. 2. Prozessor-Zelle nach Anspruch 1, dadurch gekennzeichnet, daß die Richtungsanzeigeeinrichtung (62) eine Identifizierungskennung des Eingabeanschlusses, über den die Daten die Zelle erreicht haben, nur bei Empfang eines Steuersignals speichert, das bedingt von der Zelle erzeugt wird.
  3. 3. Prozessor-Zelle nach Anspruch 1 oder 2,
    dadurch gekennzeichnet, daß die Richtungsanzeigeeinrichtung (62) mit dem Dateneingang der Datenverarbeitungseinrichtung (P; ALU, S, BR) verbunden ist und daß die Steuereinrichtung (CR) mit dem Datenausgang der Verarbeitungseinrichtung (P; ALU, S, BR) verbunden ist, so daß der Inhalt der Richtungsanzeigeeinrichtung (62) modifiziert und der Steuereinrichtung (CR) zugeführt werden kann.
  4. 4. Prozessor-Zelle nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Steuereinrichtung (CR) die Zelle veranlassen kann, Daten in einer Vielzahl unterschiedlicher Weisen umzuformen.
  5. 5. Prozessor-Zelle nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Verarbeitungseinrichtung (P; ALU, S, BR) so verbunden ist, daß sie die in der Steuereinrichtung (CR) gespeicherte Information modifizieren kann.
  6. 6. Prozessor-Zelle nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Verarbeitungseinrichtung (P; ALU, S, BR) und der Eingabe/Ausgabe-Kanal (D) in der Lage sind, auf Signale einzuwirken, die Zahlen mit acht binären Bits darstellen.
  7. 7. Prozessor-Zelle nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß eine Eingabespeichereinrichtung vorgesehen ist, die zum Speichern der über die acht Eingabeanschlüsse empfangenen Daten dient.
  8. 8. Prozessor-Zelle nach Anspruch 7, dadurch gekennzeichnet, daß die Eingabespeichereinrichtung eine Anzahl Eingaberegister (N^ bis Ng) aufweist, von denen jeweils ein Eingaberegister einem Eingabeanschluß entspricht und mit ihm verbunden ist, sowie eine MuItiplexereinrichtung (MO bis M7) aufweist, die irgendeines der Eingaberegister (N-j bis Ng) auswählt und seinen Inhalt an die Verarbeitungseinrichtung (P; ALU, S, BR) legt, wobei jedes der Eingaberegister (N^ bis Ng) so verbunden ist, daß es über den an ihn angeschlossenen Eingabeanschluß seriell ladbar ist und eine parallele Ausgabe an die MuItiplexereinri chtung (MO bis M7) bereitstellt. 20
  9. 9. Prozessor-Zelle nach Anspruch 8, dadurch gekennzeichnet, daß eine Löscheinrichtung (63) vorhanden ist, die bei Empfang eines weiteren Steuersignals dasjenige der Eingaberegister (N-j bis Ng) löscht, das dem von der Richtungsanzeigeeinrichtung (62) angegebenen Eingabeanschluß entspricht.
  10. 10. Prozessor-Zelle nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Verarbeitungseinrichtung (P; ALU, S, BR) enthält: eine arithmetisch-logische Einheit (ALU), eine bidirektionale Schiebeeinrichtung (S) und einen aus Speicherregistern gebildeten Block (BR), wobei die bidirektionale Schiebeeinrichtung (S) und der Speicherregisterblock (BR) so verbunden sind, daß sie von der arithmetisch-logischen
    Einheit (ALU) geladen werden können und der arithmetischlogischen Einheit (ALU) gleichzeitig Signale zuführen
    können.
  11. 11. Prozessor-Zelle nach einem der vorstehenden
    Ansprüche, dadurch gekennzeichnet, daß Anschlüsse (18) zum Verbinden mit einem Schreib/
    Lese-Speicher oder RAM (20) vorgesehen sind, der beim
    Betrieb zum Speichern von Daten dient, die über den Eingabe/Ausgabe-Kanal empfangen und abgegeben werden, sowie von Daten, die von der Verarbeitungseinrichtung (P; ALU, S, BR) benutzt und erzeugt werden.
  12. 12. Anordnung aus Prozessor-Zellen,
    dadurch gekennzeichnet,
    daß die Anordnung aus Zellen (1 bis 9) hergestellt 1st,
    die alle nach einem der vorstehenden Ansprüche ausgebildet sind, wobei der Ausgabeanschluß jeder Zelle in der
    Anordnung mit einem der Eingabeanschlüsse von wenigstens einer anderen Zelle in der Anordnung verbunden ist.
DE19833340078 1982-11-08 1983-11-05 Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung Withdrawn DE3340078A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US43998282A 1982-11-08 1982-11-08

Publications (1)

Publication Number Publication Date
DE3340078A1 true DE3340078A1 (de) 1984-05-10

Family

ID=23746938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833340078 Withdrawn DE3340078A1 (de) 1982-11-08 1983-11-05 Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung

Country Status (3)

Country Link
JP (1) JPS5999568A (de)
DE (1) DE3340078A1 (de)
GB (1) GB2129589B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8517376D0 (en) * 1985-07-09 1985-08-14 Jesshope C R Processor array
US4907148A (en) * 1985-11-13 1990-03-06 Alcatel U.S.A. Corp. Cellular array processor with individual cell-level data-dependent cell control and multiport input memory
JPS6364178A (ja) * 1986-08-29 1988-03-22 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 画像処理システム
DE3856124T2 (de) * 1987-11-13 1998-06-10 Texas Instruments Inc Serieller Videoprozessor und Verfahren
FR2694430B1 (fr) * 1992-07-31 1994-09-09 Centre Nat Rech Scient Dispositif électronique pour l'analyse d'image et la vision artificielle.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3308436A (en) * 1963-08-05 1967-03-07 Westinghouse Electric Corp Parallel computer system control
GB1220090A (en) * 1966-12-29 1971-01-20 James Hughson Case Improvements in or relating to digital computing and information processing machine and system
GB1445714A (en) * 1973-04-13 1976-08-11 Int Computers Ltd Array processors
GB1536933A (en) * 1977-03-16 1978-12-29 Int Computers Ltd Array processors
US4314349A (en) * 1979-12-31 1982-02-02 Goodyear Aerospace Corporation Processing element for parallel array processors

Also Published As

Publication number Publication date
GB2129589B (en) 1986-04-30
GB8328109D0 (en) 1983-11-23
GB2129589A (en) 1984-05-16
JPS5999568A (ja) 1984-06-08

Similar Documents

Publication Publication Date Title
DE2540975C2 (de) Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse
DE1302494B (de)
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE2524229A1 (de) Datenverarbeitungssystem mit pyramidenfoermiger hierarchie des steuerflusses
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE4019135A1 (de) Serieller speicher auf ram-basis mit parallelem voraus-lesen
DE1901343B2 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE1197650B (de) Parallel-Addierer
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2302061C3 (de) Assoziativspeicher
DE3121046C2 (de)
DE1956460C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE2245284A1 (de) Datenverarbeitungsanlage
DE3340078A1 (de) Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung
DE2425574A1 (de) Adressierung von zeichen in einem wortorientierten system eines rechenautomaten
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1916377C3 (de)
DE2649147C2 (de) Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen
DE1184122B (de) Addiervorrichtung
DE2265696C2 (de) Rechenanordnung
DE1296427B (de) Datenbearbeitungssystem
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE1808159B2 (de) Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee