DE1302494B - - Google Patents

Info

Publication number
DE1302494B
DE1302494B DE19591302494D DE1302494DA DE1302494B DE 1302494 B DE1302494 B DE 1302494B DE 19591302494 D DE19591302494 D DE 19591302494D DE 1302494D A DE1302494D A DE 1302494DA DE 1302494 B DE1302494 B DE 1302494B
Authority
DE
Germany
Prior art keywords
module
register
circuit
modules
accumulator
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.)
Pending
Application number
DE19591302494D
Other languages
English (en)
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 filed Critical
Publication of DE1302494B publication Critical patent/DE1302494B/de
Pending 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/36Applying a local operator, i.e. means to operate on image points situated in the vicinity of a given point; Non-linear local filtering operations, e.g. median filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries

Description

1
Die Erfindung IietrifTt einen programmgesteuerten Rlgitalrcglmer zur Durchführung von Reelicnaper«- Honen, die sich tiuf Iiiforinatlutiun von iimlrixurtig angeordneten Teldwerleii erstrecken mit Eliiguiiusscltiilliingen zur Aufnnlinie der Fcldwerie, Speichereinrichtungen zur Spuivhorung der Feldwerto und einer Steueranordnung, die prngruinnijibbliiigig die Opurut)t)iien des Kcdmiirs steuert.
Progrummgesicticrle Atizweck-DiultulreiiIiiicr wurden auf vielen Oebielun mit Vorteil uiinjUKutzt und sind — XUinIndcst Im Prinzip — In der Luge, Jedes genügend definierte Hcthonprobtcm zu Klsen.
FUr eine Gruppe von Problemen, bei denen Rechenoperationen mit Feldern von gitter- oder nmtrlxtirlig angeordneten FeIdwertendurchgefUhrt werden müssen, sind solche Rechner jedoch IiSluIlg schlecht geeignet, weil die erforderlichen Rechenzeiten und Spcicherkapn/ililten sowie der Programniicruufwand zu hoch werden. Das beruht dnrauf, duß die Rechner der vorstehend genannten Art Informationen ziffern- oder clenienlweisc verarbeiten, also nur mit einer kleinen Zolil von Informiitionen gleichzeitig fertig werden können. Das gilt auch für ebenfalls bekannte Digitalrechner, bei denen zum Zweck der FehlerprUfung zwei Rechenwerke parallel betrieben werden, bei denen parallel arbeitende arithmetische Einheiten gleichzeitig alle Zilfern einer Zabl verarbeiten oder bei den?« zwei Rechenwerke parallel in verschiedenen Zahlensystemen addieren und subtrahieren, wobei die Ausgangssignalc des einen Rechenwerks zur Steuerung der richtigen Eingaben in das andere Rechenwerk verwendet werden. Ein solcher Parallelbetrieb reicht gerade nur aus, um die Üblichen ziffernweisen Rechenoperationen mit etwas höherer Geschwindigkeit durchzuführen.
Bei Rechenoperationen mit matrixartig angeordneten Feldwcrten wird jedoch zweckmüßig eine große Zahl von Informationen gleichzeitig verarbeitet. Solche Feldoperationen entsprechen arithmetischen Opc· rationen mit Einzelwerten und beinhalten beispielsweise eine Verdoppelung aller Feldwerte, eine Verschiebung aller Feldwerte in bestimmten Richtungen, Verknüpfungen zwischen benachbarten Feldwerten, arithmetische Operationen mit zwei oder mehreren Feldern und anderes mehr.
Feldopcrationen dieser und ähnlicher Art sind beispielsweise zweckmäßig oder erforderlich bei der maschinellen Erkennung von Zeichen oder Mustern, bei der Darstellung, Vergrößerung, Dehnung oder Änderung von Zeichnungen, bei der Analyse von Potential-, Druck-, Temperatur- oder anderen Wertverteilungen oder auch bei (Schach-) SpisiproMemen. Problemen dieser Art ist gemeinsam, daß die zu verarbeitenden Informationen in einer (bei Betrachtung des dreidimensionalen Falles) räumlichen Beziehung zueinander stehen,
Es ist bereits eine Rechenmaschine zur Durchführung von Rechenvorschriften vorgeschlagen worden, die sich auf Felder von gitterartig angeordneten Feldwerten erstrecken. Dabei wird unter einem Feld eine Wertemenge verstanden, die in einer im allgemeinen zweidimensionalen gitterartigen Anordnung vorliegt (deutsche Patentschrift 1122 748). Bei diesem älteren Vorschlag ist ein umlaufender Speicher (Speichertrommel) zur Speicherung der Feldwerte mehrere Felder mit Ablese- und Einschreibelemcn-Ien für die Fcldwerte in geordneter Folge vorgesehen. Die den Spuren des Speichers fest zugeord-
noten Ablese- und EinecbrolbclwTwnto sind zu don einzelne» Feldern zugeordneten Gruppen zusammengefaßt. Auswahl- und Steuorntiltcl ermöglichen das Ablösen und Einschreiben sämtlicher Feldwerte in S geordneter Folge wUlirend eines Spelcherumluufes und schalten diu Ablese- und HInschreibaJemeiite auf einsprechenden Spelcberspuren verschiedener Felder ztiguordnete mit dem Rechenwerk der Rechenmaschine vcibundene Ubertragungsleliungeii. 1» Mit einer solchen Recheninaschine lassen sich Feldoperutioneit der oben angegebenen Art mit Opcratlunsbefehlen durchführen, die die Anwendung der gleichen Einzelopcruliun auf sämtliche Fcldwerte eines Feldes bzw. auf sämtliche Paare einander zugeordneter Feldwcrte zweier Felder darstellen. Die eine Feldoperatloii bildenden Einzeloperationen können hlntereliianderln einem gemeinsamen Rechenwerk, parallel in mehreren Rechenwerken gleichzeitig oder auch teils hintereinander im gleichen Rechenau werk und teils gleichzeitig in parallelen Rechenwerken durchgeführt werden.
Die Erfindung hat sich die Aufgabe gestellt, einen Rechner zu schaffen, der FeIdoperationcn mit matrixartig angeordneten FeIdwertcn praktisch gleichzeitig, as sozusagen auf einen Schlag ausführen kann. Es sollen also keine sequentiellen Einzeloperationen erforderlich sein, um beispielsweise die Position oder Struktur eines Feldes zu lindern. Die Begriffe »Feld« und »Matrix« beziehen sich dabei auf H-dimensionale Anordnungen, wobei η eine ganze Zahl großer eins bedeutet, sind also nicht auf zweidimensionale Anordnungen beschränkt. Es liegt auch keine Beschränkung auf kartesische Koordinatensysteme vor. Zur Lösung der Aufgabe geht die Erfindung von einem programmgesteuerten Digitalrechner der eingangs genannten Art aus und ist dadurch gekennzeichnet, daß jedem Feldwert eine Schaltungseinheit mit wenigstens einem unter Steuerung der Steueranord-ηung entsprechend dem Feldwert einstellbaren Re gister zugeordnet ist, daß die Schaltungeeinhelten zu einer der Feldmatrix hinsichtlich ihrer Konfiguration entsprechenden /t-dlmensjonalen (n = ganze Zahl größer 1) Matrix verknüpft Bind, in der jede Schölts tungseinheit mit den direkt benachbarten Schaltungseinheiten verbunden ist, daß In jeder Schaltungseinheit logische Schaltungen vorgesehen sind und daß die Steueranordnung Einrichtungen und Verbindungen mit den Schaltungseinheiten zur etwa gleichzeitigen Übertragung von Steuerbefehlen zu den Schal tungseinhelten aufweist, um die Operationen in den jeweiligen Schaltungseinheiten zu steuern.
Damit ist ein programmgesteuerter Digitalrechner geschaffen worden, der sich von den bekannten Rechnern prinzipiell unterscbetdet Die zu einer der Feldmatrix entsprechenden Matrix verknüpften Schaltungseinheiten lassen sich von der Steueranordnung praktisch gleichzeitig so ansteuern, daß Feldoperationen der erläuterten Art mit einem Schlag ausgeSa führt werden. Da jedem Feldwert eine Schaltungseinheit mit wenigstens einem Register und logischen Schaltungen zur programmabhängig gesteuerten Durchführung von Operationen in den Schaltungseinheiten zugeordnet ist, kann auch von einem »verteilten Rechner« gesprochen werden. Die zur Durch führung von Feldopcrationen erforderlichen EinzeI-operaiionen bezüglich der Feldwerte finden praktisch gleichzeitig in den Schaltungseinheiten statt.
3 * 4
^!^»"iftSSftSSLi . ■ . 8cheltunS « mit den an dia Modulo Mlleferten Ein-. ^x^SJS^Vt^J^ MWbtt* f« 8Bna»«ifin«lcn durchgeführt werden, jTder Modul le ■ft ^SSLfi! 8 ?ich aulWwutm Schaltung*, mil dun ihm böiiechborten Modulen verbunden und ehihoiten vorgeserien, die so miteinander verbunden 5 kann daher uino Information unmittelbar von den slndlC kwl». ι Uhwlto? »"""ho" "'«er bestimm- zuguhUrigon Modulen aufnehmen, Dies wird Im eln m^fzTSSSi uJ wLden ihr «"mittelbar be- aelnen weiter unten beschrieben. , , nachbarten bcnaUungseiiihelten Ubertragen werden Bevor die Schaltung des Rochcntserötes Im olwclkann. Eine übergeordnete Hauputeuerung program- nen belrnchiet wird, soll un Hand der Tig.2 em njwr und koordiniert die Operationen der einzelnen i« einfaches lioispiul fllr »eine Arbelieweiae behandelt Schutungaeinheten. Die Eingangssignal Wr Jede werden, In FIg,2 stellt feder der acht UlUckol Schaltungseinheit können von der Haupteteuerung bis H die logische Modulanordnung dar und gibt den oder von den benachbarten Schaltungseinhelten binaren Zustand eines der in jedem Modul cnthaltcn-Ieommeri, Weiterhin kann ein Eingangssignal auch den Registers an, Jeder Modul enthalt nilmlich ein von außen jeder Schaltungeeinheit direkt zugeführt 15 Hauptregister, das als Akkumuletorregister bezeichwerden. Die Hauptsteuerung gibt Im allgemeinen Be- net wird, und mehrere zusätzliche Elnzclelemcntfehle ηΙ<Λ*ω einzelne SchaUungseinheitcn, sondern spelcherregister a, b usw. Ari alle Module werden an alle Schaltungecinheiten gemeinsam. Jede Schal- gleichzeitig Steuersignale von der Hauptsteuerschaltungseinheit weist bei dem Ausführungsbcispiel der tungl2 in Fig. 1 angelegt, um in den einzelnen Erlindung einen Speicher auf, der auch als Akku- ao Modulen die gewünschten logischen, Speicher- oder mulatorregister bezeichnet wird, sowie eine gewisse Verschieboperationen zu bewirken. Speicherkapazität und zugehörige logische Schaltun- An Hand der Fig. 2 soll eine Gruppe aus 25 Mögen. Die Speicher sind in allen Schaltungseinheiten dulen in einer 5 ♦S-Anordnung betrachtet werden, gleich ausgebildet, so daß Steuerbefehle gleichzeitig Der Aniangszustand der Anordnung ist im Block A an dasselbe Speicherelement in jeder Schaltungsein- as gezeichnet. Die Erregung eines zu jedem Modul ge-JieU gegeben werden können. hörigen Speicherregisters ist durch das Vorhandcn-
Dlö Schaltungseinheiten können sowohl unmittel- ■ sein einer »1« in dem Raum dargestellt, der dem bar als auch Über Verbindungsschaltungen miteinan- jeweiligen Modul entspricht. Das Nicht-Vuihandender in Verbindung treten. Die Verbindungsschaltun- sein einer »1« zeigt an, daß das fragliche Register gen welsen eine Speichermöglichkeit zur Aufzeich- 30 nicht erregt ist, sich also im Zustand »0« befindet, nung von Informationen auf, die sich auf den Zustand Die an Hand der Fig. 2 dargestellten Arbeitstier jeweils verbundenen Schaltungseinheiten bezie- schritte sind dazu bestimmt, linke untere Ecken des hen. AuQerdem lassen sich die Verbindungsschaltun- ursprünglichen in der Modulanordnung geSpeichergen durch die Hauptsteuenmg loglech beeinflussen, ten Bildmusters festzustellen. Eine linke untere Ecke so daß eine Informationsübertragung zwischen be- 33 wird als derjenige Teil eines Musters definiert, bei nachbarten Schaltungseinhetten entsprechend dem in dem sich oberhalb eines erregten Moduls und rechts den Verbindungsschaltungen aufgezeichneten Zu- von ihm ebenfalls ein erregter Modul befindet, withstand der Schaltungseinheiten togisch gesteuert wer- rend unterhalb und links vom Modul nicht erregte den kann. Module vorhanden sind. Bei dem ursprünglichen, in
Nachfolgend wird die Erflodung an Hand der 40 Block/1 der Fig. 2 dargestellten Bildmuster erZeichnungen noch näher beschrieben. Dabei werden scheint nur eine solche Stelle, die Schaltungseinheiten auch als Module oder — we- Der Anfangsachritt des Programms besteh, darin, gen der in Ihnen enthaltenen logiechen Schaltun- das Eingangsbildmuster in dem zu jedem Modul gegen — als logische Module bezeichnet. Es zeigt hörigen Speichenegister (a) zu speichern. Der zweite
Fig. I das Blockschaltbild eines Rechners gemäß 45 Schritt des Programms umfaßt ein Verschieben des
der Erfindung, ursprünglichen Bildmusten nach rechts. Danach
Fig. 2 ein Schema mit den Arbeitssebritten, die folgt die Speicherung des sich ergebenden Bildmusters
von dem Rechner bei der Identifizierung eines ein- im Register (b) jedes der Module (Block B der
fachen Bildmusters durchgeführt werden, Fig· 2). Belm Schritt 4 wird das Bildmuster A aus
Fig. 3 ein mehr ins einzelne gehendes Block- 30 dem Register (β) in das Modul-Akkumulatorregister
schaltbild eines erfindungsgemäßen Rechners, eingeschrieben. Das Btldiruster C ist daher eine
Fig. 4 das Schaltbild eines Moduls, der in dem Wiedergabe dee Bildmusters A. Der fünfte Schritt ist
Rechner nach Flg. 3 verwendet wird, eine Aufwartsverschlebung dieses Bildmusters analog
Fig. 5 schematisch die Verbindung benachbarter der Rechtsverschiebung beim Schritt 1. Durch den Module mit Hille von Vetbindungsschaltungen, S3 Schritte (BlockE) wird das BitdmusterB des ReF i g. 6 das Schaltbild einet der in F i g. 5 darge- . gisters (ft) jedes Moduls denwn Block D dargestellten stellten Verbindungsschaltungen, Bildmuster überlagert. Durch die Schritte 7 und 8
Fig. 7, 8, 9 und 10 Rechenprogrammstufen, bei wird das in BlockE dargestellte Bildmuster invertiert
denen Verbindungsschaltungen benutzt werden. und im Register (ft) gespeichert. Beim Invertieren
Fig. 1 zeigt schematisch die Anordnung eines er- 60 werden »Einsen« durch» Nullen« und »Nullen« durch
findungsgemäßen Rechengerätes, daß eine Haupt- »Einsen« ersetzt. Jetzt befinden sich in den Re-
steuerschaltung 12 und eine aus logischen Modulen gistern (ft) nur derjenigen Module »Einsen«, bei
zusammengesetzte Anordnung 14 enthält, die auch denen die Module unterhalb und links vom ursprüng-
mit Modul-Netzwerk bezeichnet wird. An die ein- liehen Feld nicht erregt sind. Beim Schritt 9 wird das
zelnen Module sind binäre Eingangsinformations- «5 ursprüngliche Bildmuster der Modulregister (a) in die
quellen angeschlossen. Jeder Modul weist eine ge- Akkumulatorregister eingeschrieben. Der Schritt lO
wisse Speicherkapazität und einige Schaltungen zur nimmt eine logische, »punktweise« Multiplikation
Durchführung der grundsätzlichen logischen Opera- des Bildmusters in Block G mit dem Bildmuster F1
dem. um cine Hinheit nach links verschobenen Bild- gangssignale von der Modulanordnung 14 und von
muster des Blocks G und dem um cine Hinhch nach der Schaltung 20 an die Ausgangsschaltung 28 ange-
untert verschobenen Muster des Blocks (7 vor. Ks sei legt, die Ausgangseinrichtungcn, logische Schaltun-
wiederholt, daß das Bildmuster F vorher im Register gen und PuiTerschaliungen enthält, um Signale in
(ί>) jedes Moduls gespeichert war. Ferner sind, wie S einer gewünschten Form an die Ausgaiigstciiungen
nachfolgend erklärt wird, die um cine Hinticit senk- anzulegen.
recht und waagerecht verschobenen Bildmuster un- Die in der gemeinsamen Steuerung des in Fig. 3
mittelbar von den benachbarten Modulen erhältlich. dargestellten Rechengeräts enthaltenden Schaltungen
Die Operation kann daher in einem einzigen Schritt sowie deren Funktionen sind bei digitalen Rechcn-
durchgcfülirt werden, wie dies unter dem Block // m geräten bekannt.
angegeben ist. Die einzige untere linke Iicke des ur- Fig.4 zeigt die logische Schaltung eines Moduls,
sprüngiichen Bildmusters A ist nunmehr durch die der in der Anordnung 14 der F i g. 1 und 3 enthalten
einzige »1« im BlockJi identifiziert. ist. Jeder Modul enthält mehrere binäre Speicher-
Damit ist ein einfaches Bildmustererkcnnungs- zellen, nämlich das Akkumulatorregister 32 und die
problem gelöst worden. Mit größeren Modulanord- 15 zusätzlichen Register 34, 36 und 38, die zusätzlich
nungcn und komplizierten Programmen können für die Zwecke der Programmsteucrbefehle mit (a),
andere Bildmuster, Buchstaben oder Symbole leicht (b) und (r) bezeichnet sind. I 7Crncr sind die Akku-
fcstgestellt werden. mulatorregistcr 40 und 42 der logischen Module
■ Ks sollen jetzt die Schaltungen für die Ausrüstung oberhalb und links von dem im einzelnen in Fi g. 4
der gesamten Anlage und der einzelnen Module er- »o dareestelllen Modul gezeigt.
läutert werden. Die Modulanordnung 14 in Fig. 3 Das Akkumulatorregister32 und seine zugehörinimmt Hingangsinformationssignalc von einer ent- gen logischen Schaltungen können logische und einsprechenden Anordnung 16 aus Hingangsriclitungen fache arithmetische Operationen durchführen. Dazu unter dem Einfluß einer logischen Qatterschaltung 17 gehören das Addieren oder Multiplizieren nach der auf. Programmfolgcn von einer Pragrammeingangs- as Boolschcn Algebra. Eine Multiplikation in der Bool-■schaltung 18 werden einem zentralen Speicher 26 zu- sehen Algebra gleicht der normalen Multiplikation, geführt. Jedes Programm ist in einer getrennten d.h. das Produkt einer »0« und einer »1« ist eine »0«, Gruppe von aufeinanderfolgenden Adressenregistern und das Produkt zweier »Einsen« ist cine »I«. Daim Speicher 26 gespeichert. Ein Zähicr in der Schal- gegen ist bei der BooIschen algebraischen Addition tung24 ist anfangs auf die erste Adresse einer der 30 die Summe einer »1« und einer »0« oder zweier Gruppen von Kcgistern eingestellt, die ein Problem »Einsen« gleich vi«. Um eine Summe »0« zu ercntliaUcn. Wenn dieses Adrcsscnsignal zusammen halten, müssen beide Summanden »0« sein,
mil einem Leseimpuls vom Taktgeber 22 zum Spei- Der Modul nach F i g. 4 enthält eine Anzahl von eher 26 übertragen wird, werden Ausgangssignalc an UND- und ODER-Gattern zur Verarbeitung von cine Bcfehlsworlrcgistcr- und Instruktionsdecodicrcr- 35 binären Signalen. In Fig. 4 sind UND-Gatter durch schaltung 20 angelegt, um den ersten Programm- einen Halbkreis dargestellt, bei dem die Eingänge schritt festzulegen. Nach Erhalt eines Ausfilhrungs- am Durchmesser des Halbkreises aufhören. ODER-impulscs von der Taktgeber- und FolgesteucrschaI- Gatter sind ebenfalls durch einen Halbkreis dargetung22 werden durch die Schaltung 20 Netzwerk- stellt. Jedoch führen die Hingangsleiter durch den Steuersignale an die Modulanordnung 14 angelegt. 40 Durchmesser Iiindurch zum Umfang des Halbkreises. Der Modul führt dann den Befehl aus. Danach wird UND- und ODER-Gatter sowie auch Register sind ein Wciterschaltimpuls an die Speicheradressen- bekannt. Typische Schaltungen zur Durchführung sclinltung24 angelegt, und deren Zähicr geht zur dieser logischen Funktionen sind in einem Aufsatz nächstfolgenden Adresse über. Das entsprechende mit dem Titel »The Design of Switching Circuits* Register im Speicher26 enthält die nächste Pro- 45 von W. Keister, A.E.Ritchie und S-H.Washgrammschrittinformation,die zur Befehlswortregister- burn, D. Van Nostrand Company Inc., New York, scliiil lung 20 geliefert wird. NachAnlegen des nächst- 1951, und ^Principles of Transistor Circuits*, herfolgcndcn AusfUhningsimpuIses werden der Modul- ausgegeben von Richard F. Shea, John WUey and anordnung 14 geeignete Signale zugeführt. Sons Inc., New York, 1953, geschildert.
Am Ende eines gegebenen Programms geht das go Es sollen nun verschiedene Operationen, die durch
Rechengerät normalerweise zu einer weiteren Folge den in Fi g. 4 dargestellten Modul durchgeführt wer-
von Programmscliritten über. Im Fall eines söge- den können, betrachtet werden. Es sei bemerkt, daß
nannten unbedingten Sprungs zu einer angegebenen das Akkumulatorregister 32 das zentrale Element
neuen Adresse erscheint diese als letzter Schritt im des Moduls ist und daß die meisten Operationen
vorangegangenen Programm. Wenn das Sprung- 55 notwendigerweise die Übertragung von Informa-
signal und die Sprungadresse an die Schaltung 20 an- Honen zu oder von diesem Register umfassen. Ein
gelegt werden, wird die Adresse unmittelbar von der einfacher Befehl, der bei der Erklärung der Fi g. 2
Schaltung 20 Übertragen, um den ZHhler in der benutzt wurde, ist der Befehl »Inversion«. Die In-
SchaItung 24 auf die neue Adresse einzustellen. Zu- versionselngangslcirung 44 von der SteuerschaUung
sätzlich wird der Schaltung22 ein Folgcsteuerslgnal to 20 (Fig. 3) ist mit je einem Eingang der UND-
zugeführt, um den Weiterechaltimpuls wfihrend dieses Gatter46 und 48 (Fig.4) verbunden. Die» Ueoein
Arbeitszyklus des Rechengerätes zu sperren. Nach in einer Schaltung, die den Ausgang eines Teils des
der Sprungoperation durchlauft der Zähler in der Registers 32 mit dem Eingang seines anderen Teils
Schaltung24 nacheinander seine Stufen, um die In- verbindet. Somit kann das Registers! als bistabiler
stniktinnen In der neuen Registergnippe Im Speicher A9 Multivibrator mit Einsiell- und Rückstell-Eingangen
26 abzulesen, die die Stufen des neuen Programms und -ausgängen »1« und »0« betrachtet werden,
bestimmen. Wenn der Einstelleingang erregt 1st, 1st auch der
Noch Beendigung aller Programme werden Aus- Ausgang»!* erregt. Entsprechend ist der Ausgang
Ky l
»0« erregt, wenn der Rückslellcingang erregt wurde. Unter der Annahme, daß das Register 32 sich im Zustund »1« befindet, wird nach Auftreten eines Inversionsbcfehls auf der Leitung 44 ein Signal über das UND-Gatter 48 und das ODER-GatterSO zum Rückstelleingang des Registers 32 übertragen. Wenn das Register 32 sich dagegen im Zustand »0« befindet, wird in gleicher Weise ein Signal über das UND-Gatter 46 und das ODER-Gatler 52 übertragen, um das Register 32 in den Zustand »1« ein- m zustellen· Somit kehrt in jedem Fall das Anlegen eines InversionsbefcIiIs den Zustand des AkkumuIatorrcgislcrs 32 um.
Es soll nun die Arbeitsweise des Moduls in F i g. 4 betrachtet werden, wenn zwei Paare von gespeicher ten Ziffern miteinander zu multiplizieren sind.' Zum Beispiel soll die Multiplikation der im Register 34 gespeicherten Ziffer und der im Akkumulatorregister 32 gespeicherten betrachtet werden. Dazu werden die Mulliplizierleitung 54 und die Speicherleitung 56 «o durch Impulse vom Befchlswortiegistcr 20 (F i g. 3) erregt. Dann kann ein Signal von der »0«-Seite des Multivibrators34 (Speicherzellen) über die Gatter 58 und 60 zum UND-GalIer 62 laufen. Das Signal auf der Leitung 54 öffnet das UND-Gatter 62, so daß ein Signal über das ODER-GalterSO an den Riiekstelleingang des Akkumulatorregisters 32 gehen kann. Wenn sich also das Register 34 im Zustand »0« befand, wird das Akkumulatorrcgisler 32 in den Zustand »0« eingestellt. Wenn sich das Akkumula lorregisicr 32 bereits im Zustand »0« befand, kann sclbsl versländlich eine »1« im Register 34 seinen Zuslnnd nicht ändern. Dies kann nachgeprüft werden, indem der Slromkrcis von der Seite »1« des Registers 34 iiher das UND-Gatter 64, das ODER-Galler 66 zum UND-Giitter 68 verfolgt wird. Bei Niclitvorhandcnsein eines Impulses auf der Addicrcingangslcilimg 70 ist dcf Impuls durch das UND-Gatter 68 gesperrt und kann das ODER-Galler 52 sowie den Einstellcingang des Akkumulatorregisters 32 nicht erreichen.
Wenn jedoch der Inhall eines Registers, z, B. des Registers 34, zum Inhalt des Akkumulatorregisters 32 addiert werden soll, wird die Addicreingangs-Ieitung 70 erregt. Man erkennt dann, daß das Akku- miilniofregister 32 in den Zustand »1« eingestellt wird, wenn eines der Register 32 oder 34 sich anfangs im Zustand»!« befand. Hs sei bemerkt, daß das Nichtvorhandensein eines Mullipliziersignals auf der leitung 54 die Übertragung von Signalen vom Ausgang >()« des Registers 34 zum Rückslellcingang des Registers 32 verhindert.
Wenn der Inhalt des Rcgislers 34 zum Akkumu· Ialorrcgistcr 32 verschoben oder Ubcrlragcn werden soll, werden sowohl die MullipliiiicveiiigangsIcitung 54 als auch die Addiereingangsleitiing 70 zusammen mit der Spcichcrciiigaiigslcilung 56 erregt. Unter diesen Umstünden werden diu AusgangssigiiaIc»!« und »0« vom Kcgisier 34 unmittelbar zum Einstcll- und RUckstellcingang des Akkumiilalorreglsicrs 32 gegeben, so daß dieses den Zusi and des Speicherregistos 34 annimmt.
Signale von den SpeicUcrrcgistcrn 36 oder 38 können auf die gleiche Weise wie Signale vom Register 34 beiwlzi weiden. Wenn die Register (6) bzw. (<·) gcwilhli werden sullen, wird an Stelle der SpcichcrciiigimgslciUiim 56 die Speichereingniigsleilung 72 Ivw. 74 enepl. Auricrdcm werden die Mtiltipltzier- 494
oder Addiercingangsleitung 54 bzw.' 70 oder beide erregt, um die gewünschte Multiplikation, Addition oder Übertragung durchzuführen.
Es sind ferner Schaltungen für die Multiplikation, Addition oder Verschiebung von Zahlen in einem Speicherregisler und im Akkumulatorregisier vorgesehen, wobei das Ergebnis im Speiclierregister verbleibt. Diese Operationen werden durch die Erregung einer der beiden Leitungen 76 »Multiplizierenzurn-Spcichcr« und 78 »Addieren-zum-Speicher« oder Iieidcr Leitungen durchgeführt. Zusätzlich muß die Leitung 56, 72 oder 74 des gewählten Registers gewählt werden. Die UND-GatterBO und 82 erfüllen dann die gleichen Funktionen wie die UND-Gatter 62 und 68. In anderer IjIinsicht sind die Operationen im wesentlichen die gleichen wie die oben beschriebenen, bei denen das Ergebnis im Akkumulalorregistcr bleiben soll. Zusätzlich zu den Signalen in den Speicherregistern 34, 36 und 38 sind außerdem Signale von den benachbarten Modulen verfügbar. So kömieri z. B. die Signale vom Akkumulatorregister 42 durch Erregen der Leitung 84 erhalten werden. Signale vom Akkumulatorregister 40 des oberen Moduls können durch Erregen der Leitung 86 an Stelle einer der Leitungen 56, 72 oder 74 erhallen werden.
Die von einer Zelle der aus Eingnngscinrichlungcn bestehenden Anordnung 16 (Fig. 3) kommende Eingaiigsleilung 88 ist mit dem Einslellcingang des Akkuniulatorrcgistcrs 32 verbunden. Vor der Zuführung von Signalen auf der Eingangslcitung 88 wird jedoch jedes Akkuniulalorregisler auf eine noch zu beschreibende Weise in den Zustand »0« versetzt.
In Fig. 4 sind die Eingangsleitung 90 und die Ausgangsleitung 92 mil den Verbindungsscluillungen verbunden. Diese Schaltungen werden in den unmittelbar folgenden Abschnitten eingehender betrachte!. Die Leitungen 94 und 96 vom Ausgang des AkkumiiIaIorrcgisters 32 sind mil den Vcrbindungsschallungen, den benachbarten Modulen, der Null-Anzeigeschaltung 98 sowie mit der Ausgangsschaltung 28 (Fig. 3) verbunden.
Nachdem nunmehr der Aufbau des Rechengerätes und die Schalluiig eines einzelnen Moduls beschrieben wurde, soll die Bcfelilsstruklur des Rechengerätes betrachtet werden. Wie oben nngegeben, enthalt die Hauptstcucrung einen Speicher mil beliebigem Zugang, einen Taktgeber und einen Decodierer. Dieser arbeitet auf Uhnliclic Weise wie bei einem üblichen digitalen Rechengerät, in dem er Instruktionen im Speicher 26 nacheinander abliest, diese decodierl und entsprechende Stcucrspniinungen über eine Anzahl von mit jedem der Module in der Anoranung 14 (F ί g. 3) verbundenen Sammelleitungen abgibt. Ein logischer Addierer in Form eines ODER-üalters98 (Fig. 3) erhält ein Eingangssignal vom Akkumulatorregistcr jedes Moduls der Anordnung 14. Er liefert eine Anzeige an die Hnuptstcucning, wenn sich sämtliche Akkuniulniorrcgisicr im Zustand »0« befinden und ermöglicht hierdurch einen Befehl «Sprung hei Null«. Dieser Befehl entspricht den bedingten Sprungbefehlen in gewöhnlichen digitalen Rcciicngcrlitcn und wcisi die Hauptsicuerung an. mti ilen Befehl zu springen, der von dem Hcfclil »Sprung bei Null« iiddivssieri wird, wenn sich keine »Iiinscn« in einem der Modul-Akkumulnlorrcgister befinde«. Der hediiigie Sprungbefehl wird in einer Weise utisgofilhrt. die dem oben ge
ld? 624/11
I 302 494
schilderten unbedingten Sprungbefehl (Spr. x) ähnlich ist. Nach Durchführung eines der Sprungbefehle "sperrt das Anlegen eines Folgesteuersignals an den Taktgeber 22 den nächsten Schaltimpuls, wobei der Zähler in der Schaltung 24 auf die neue Adresse eingestellt wird. Dies steht im Gegensatz zur normalen Durchführung aufeinanderfolgender Befehle in einer
10
unter Folge.
dem Einfluß der Schaltung 22 stehenden
Tn der nachfolgenden Tabelle T sind die Befehle aufgeführt, die bei dem vorliegenden Rechengerät verwendet werden können und bis hierher betrachtet wurden. Zusätzlich sind Abkürzungen für jeden Befehl zur Erleichterung der Bezeichnung aufgeführt.
Befehl
Sprung 2ur Instruktion χ
Sprung bei Null zur Instruktion χ
Inversion Addieren
Multiplizieren
Abkürzung Spr. χ
Spr. b. ο. χ
Inv. Add.
Mul.
Addieren im Speicher Add. Sp.
Multiplizieren im Speicher
Spuichcrn Schreiben
Nndi links verschieben (oder nach rechts, need oben oder unten)
Mill. Sp.
Sp, Sehr.
SL (SR, SO, SU)
Tabelle I
Bedeutung Ausführen der Instruktion x.
Ausführen der Instruktion x, wenn keine »Einsen« im Feld vorhanden sind, sonst Fortsetzen der normalen Folge.
Invertieren des Inhaltes aller Akkumulatoren. Zu dem Inhalt des Akkumuluturs den Inhalt der bezeichneten Speicherzellen und der benachbarten Akkumulatoren logisch addieren. Die Speicherzelleninhalte bleiben ungeändert.
Den Inhalt des Akkumulators und der bezeichneten Speicherzellen und der benachbarten Akkumulatoren logisch multiplizieren. Das Resultat kommt in den Akkumulator und die Spcicherzclleninlialtc bleiben allein.
Zu dem Inhalt jeder bezeichneten Speicherzelle den Inhalt des Akkumulators logisch addieren. Den Akkumulatorinhalt nicht ändern.
Den Inhalt jeder bezeichneten Speicherzelle mit dem Inhalt des Akkumulators multiplizieren, ohne den Akkumulator zu verändern.
Den Akkumulatorinhalt in jeder bezeichneten Speicherzelle ohne Stören des Akkumulators speichern.
Den Inhalt der angegebenen Speicherzelle in den Akkumulator schreiben, ohne den Inhalt der Speicherzelle zu ändern.
Schreiben des Inhnlls jedes Akkumulators in den links (oder rechts oder oben oder unten) befindlichen Akkumulator.
Um die Verwendung der oben angegebenen Befehlsstrtikttir zu zeigen, sollen nunmehr die zehn, aufeinanderfolgenden Schritte, die Im Zusammenhang mit den acht Blöcken in F i g. 2 betrachtet wurden, mit den abgekürzten Programmbezeichnungen angegeben werden.
Tabelle Il Programm zur Feststellung der unteren linken Ecken eines Bildmuster«.
Programm 1.
3.
Bezeichnung Sp. a
SR
Sp, b.
Übersetzung
Signal vom Akkumulatorregister im Register (β) speichern.
Das Signal in jedem Akkumulatorregister um einen Modul nach rechts verschieben.
Im Register (6) speichern.
4.
Sehr. a.
Signal vom Register (a) In das Akkumulatorregister einschreiben.
Ii 12
Programm Bezeichnung Ubcrscizung
5. SO Nach oben schieben.
η. Atiu. o. Addieren des Signals im Register (fi) zum Stgiuil im
Akkumulatorregister.
7. Inv. Invertieren.
S. Sp. fa. Im Register (f>) speichern.
9. Sehr. a. Einschreiben des Signals von (a) in das Akkuniula-
torregister.
10. MuLb1O1R Multiplizieren des Akkumulatorregistersignals mit
dem Signal vom Register(A) und mit den Signalen
in den Akkumulntorregistern der oben und rechts
befindlichen Modulen.
Im Zusammenhang mit dei Tabelle II sei bemerkt, daß sich jeder Befehl stillschweigend auf das Akkumiilaiorregister bezieht. Bei einer Erläuterung weiterer Selialliingen des Rechengerätes werden auch andere Befehle betrachtet.
Diu Fig. 5 zeigt einen Modul IOO1 die unmittelbar benachbarten Module 101 bis 11)8 sowie die Verbindungsschiiltungcn 111 bis 118, die den Modul 100 mit den Mtidulen IC1I bis IOfI verbinden. Die Verbiiutiiiigsschaliungcn verbinden jeden Modul mit ilen hjnachhartcn Modulen, um die Ausführung von Aiisdeliinmgs-IlcfelilsfolgiMi in ermöglichen. So kanu z. P. ein AusdehmingsbcfEhl. verwendet werden, um alle !'linkte in einem vorbestimmten Iliklmuster anzugeben, die mit einem gewählten Punkt im Bildmuster verbunden sind. Die Verwendung von Befehlen »Verbinden und Ausdehnen« wird im Zusammenhang mit den Fig. 7 bis Hl an Hand von IUiisoieIeii eingehender betrachtet.
i<i g. 6 zeigt die IIinzelheiIcn einer vertikalen Vcrhiiiduiigsselialttitig, wie sie bei 112 und 117 in Fig. 5 gezeigt ist. Die Verbindungssehalmng 112 enthält einen bistabilen Multivibrator 121), vier UND-Cialler 122, 124, 126, 128 und ein ODER-Giitler 130. Die zur Ausführung einer Ausdehnung*- Bcfelilsfolge notwendigen Schritte umfassen einen anfiinglichcu Veibindutigsbefchl, der auf der Leitung 132 angegeben wird, und einen nachfolgenden Atixdehnungsbcfehl, der auf der Leitung 134 abgegeben wird. Us sei bemerkt, dall die Ausdelmungsbefcblc entweder einzeln oder gemeinsam an die vertikalen, horizontalen, positiven diagonalen und negativen diagonalen Vcrbiudungssclialtungen angelegt werden können.
Das Anlegen eines Vcrbindungsbefehls an die VcrbiiidungsschBltnngcn erregt die Register derjenigen VerbindungsBchultungen, die zwischen Module geschaltet sind, die Iieide im Zustand »1« befindliche Akkumulatorregister aufweisen. Wie man in F i g. fi sieht, werden durch das Anlegen eines Verbindungsbefchls un die Leitung 132 die UND-Gatter 122 und 124 erregt. Wenn sich beide Akkumulatorregister 136 und 138 in den Modulen 102 bzw. 100 Im Zustand »1« befinden, werden die übrigen beiden RingUnge des UND-Qotters 122 erregt und das Register 120 wird in den Zustand »1« eingestellt. Sonst wird das UND-Oalter 124 erregt und das Re· glster 120 in den Zustand »0« zurückgestellt.
Im weiteren Verlauf des Programms kann das Akkumulatorrcglstcr 138 des Moduls 100 in den Zu-Btnnd »1« gebracht werden, während sich das Akkuinulatorrcgisttr 136 des Moduls 102 im Zustand »0« befindet. Infolge des früheren Verbindiiiigsbcfehls
ao befindet sich das Register 120 der Verbiiidimgsschaltung 112 roch im Zustand»!«. Das Anlegen eines Ausdehiiungssignals an die Leitung 134 stellt das Akkumulatorregister 136 in den Zustand»!«. Dies geschieht durch das UND-Gatter 126, das Signale von den Ausgiingen »1« der Register 120 und 138 zum Binstelleinguiig des Akkumulatorregisters 136 bringt. Somit sind das Ausdeluiutigssignal mit einem Eingang des UND-Gatters 126, der Ausgang»!« des AkkiiniiiIatorregisters 138 über das ODER-Ciaiter
ao 140 mit dein zweiten Eingang des UND-CiaKers 126 und der Ausgang »1« des Registers 120 mit dem dritten Eingang des UND-Galters 126 verbunden. Das in» Ausgang ties UND-Gatleis 126 einstellende Signal bringt über die ODER-Gatlcr 142 und 114 das Akkuniiilatorregistcr 136 im Modul 102 in den Zustand »Ia. Um bei der Einslelliing des Registers 136 in den neuen Zustand auflreietulc Verzögern Ilgen yij vermeiden, ist das ODER-Ciatlcr 146 vorgesehen, das die Verbiiidiingssigiiale vom ODER- Gatter 142 um this Register heriiniführl. Somil können die Verbindiingssigiiale über das ODER-Gatter 146 und die Leitungen 148, 150 usw. zu weiteren Modulen Torlsehreilcn.
Es sei hinsichtlich der Mndiilsdriillung (Fig.-1)
AS und der Verbindiiiigsschaltuiigen (Fig. 5 und fi) jedoch bemerkt, daß in jedem Fall nicht alle Verbindungen dargestellt sind. So sind z.U. in Fig. 4 die Verbindutigsschaltungcn der Akkumulutorrcgislev 40, 42 und in Fig.6 die direkten Verbindungen /wise sehen den Modulen 100 und 102 zur Vereinfachung nicht dargestellt. Ferner sei bemerkt, daß benachbarte Module miteinander sowohl direkt als auch über Verbindungsschaltungen verbunden sind. Es soll jetzt ein Beispiel für die Benutzung der Vcrbin-
*s dungs- und Ausdehnungsbefehle erläutert werden. GemliQ F i g. 7 ist anfangs das Bildmuster A in den Alikumulatorregistcrn einer Modulanordnung 14 gespeichert. Entsprechend Schritt 1 wird ein Verbindungsbefehl an die Modulanordnung angelegt. Beim
6a Schritt 2 wird das in den Registern (c) der Module gespeicherte Bildmuster in die Akkumulatonegistcr der Module eingeschrieben. Wie der BlockB in Fig.7 zeigt, wird nur ein einziges Akkumulatorregister in den Zustand »I« eingestellt. Der Schritt 3
6s verlangt eine Ausdehnung in horizontaler Richtung. Dae entstehende Bildmuster im Block C besteht aus einer vollständigen Zeilo von »Einsen«, die sich von dem erregten Akkumulatorregister im Block B hori-

Claims (1)

zonltil In beiden Riclituneon erstrecken. Bs sei bemerkt, dall die lioriieonlulcn Verbindungüeulinitunoen. die ulic im Block C der I7Ig1 7 erregt dargestellten Modulo Iiiltclnunder verbinden, durch den nnllinglielieii VerbitidiingHbufelil erregt wurden, Der vierte Schrill verlangt eine Aitsdelitiiing in vertikaler Richtung. Block O in Fig.7 zeigt das Ergebnis der vertikalen Ausdehnung des BildtnustcrL den Blocks Λ von der Zeile der In Block C angegebenen erregte» Module, Im Interesse der Kliirhcil wurden die Schritte 3 und 4, die eine Iiorlzontule mid vertiknie Aiiiidehnung verlangen, getrennt be-Uitühlct. Die horizontalen und vertikalen Vcrbinduiigsscliallungen kflnncn jedoch gleichzeitig erregt werden. Unter diesen Umstünden würde das gesamte Bildmusler des Blocks A der F ig, 7 wiedergegeben. Die vier in F i g. 7 dargestellten Schritte können Hbgekitrzt in Form der folgenden vier Befehle geschrieben werden:
1. Verb.
2. Sehr, c
3. Ausd.H
4. Ausd.V
Die Fig. 8, 9 und 10 zeigen schematised Vcrbindimgs- und Ansdclinungsbefehie anderer Art. So zeigen die drei Blöcke der Fig. 8 eine Ausdehnung gleichzeitig in der horizontalen und in der positiven diagonalen Richtung. Ferner zeigen die Blöcke in Fig.9 eine Ausdehnung gleichzeitig in der horizontalen und der vertikalen RiclUung, und schließlich zeigen die drei Blöcke der Fig. 10 eine Ausdehnung in der vertikalen und der negativen diagonalen RiclUung. Ulc abgekürzten Befehle füi die in den Fig. 8, 9 und 10 dargestellten Schritte lauten:
Fig.8
1. Verb.
2. Schr.b.
3. Ausd.HDp.
Fig.9
1. Verb.
2. Schr.b.
3. Ausd.HV.
Fig. 10
1. Verb.
2. Schr.b.
3. Ausd.VDn.
Ein einfaches Verfahren zum Freimachen der Modulanordnung umfaßt die folgenden Befehle:
1. Schreiben (a)
2. Invertieren
3. Multiplizieren (a)
Nach der Inversion ist entweder der Multiplikator oder der Multiplikanl »0*. Daher muß auch das Produkt der Inhalte jedes Registers (<j) und des AkkuiTiulatorrcgislers »0« sein. Auf Uhnliche Weise kann jeder Modul der Modulanordnuvig durch die folgenden Befehle: I. Schreiben von (a), 2. Inversion und 3. Addieren von (ti) in den Zustand»!« eingcslelll werden. In Anbeiraclil der Talsache, daß einer der Suiiimniidcii ».U sein muli, muli auch die im AUkiimiiI ulorregister registrierte Summe eine »1« sein.
Kin anderer Befehl, der bei dem vorliegenden Reeliengeriil benutzt werden kann, ist der Befehl »Rundherum Verschieben«. Dabei kann das Modul-Akkunuilatorregislcr in der unteren linken Ecke der AuortliHiiig (Fig. 3 auf einem seiner beiden möglichen Zustände eingeMelll werden. Die Information in diesem linken unteren Modul wird dann durch eine Verschiebung nach rechts auf den benachbarten Modul llbertragoo, und es wird ishi neues Wiillrcs
s Signal an den Unken unteren Modul angelegt, Der rechte untere Modul ist mit dem linken Modul der zweiten Zeile von unten verhundein. Wenn nun aufeinanderfolgende Verschiebungen nach rechts vor sich gehen, wobei neue Informationen ziffernweise
id eingeführt werden, wird eine biniire Information von den äußersten rechten Modulen zu den liulicrslcn linken Modulen in der niiclisl Iiimcrcn Zeile verschoben, An Stelle des normalem Verfahrens, bei dem Eingangssigiialc von der EmgangszcIlcnunordnung IA gelieren werden, kiinii diese zeilenweise Zuführung von Informationen benutzt werden, um ein Bildmuster in die Modulaiiordnung einzugeben.
Vorstehend wurden die Schaltungen und die Bcfchlsstruktur des vorliegenden Itcclicngerlils gcschil-
ao den, und an Hand dci Fig, 2 wurden die Schrine zur Identifizierung eines besonderen Teils eines Bildmuslers betrachtet. In ähnlicher Weise können andere komplizierlere Bildmuster in Anordnungen identifiziert werden, die viel mehr als die in Fig.2
as dargestellten 25 Mtidulc enthalten. Als Iwsonderes Beispiel sei genannt, daß die Buclislitbcn des Alphabets leicht identifiziert werden können. Dies geschieht, indem Besonderheiten ausgewählt werden, welche etwa cine Halfle der Buchstaben des Alpliabcis aufweisen. Dann wird jede (iruppc weiter iinlcrteilt. Gegebenenfalls kann jeder Buchstabe einzeln identifiziert werden. Ebenso kann das vorliegende Rechengerät leicht so eingerichtet werden, daß es andere Probleme räumlicher oder verteilter Natur löst.
Die Modulanordnung ist als zweidimensionale Rcclitcckanordnung beschrieben worden. Das Prinzip der vorliegenden Errindung kann auch auf Modulanordnungen mit drei Dimensionen angewendet
4a werden oder allgemeiner auf Modulaiiorduungen, die entsprechend der mathematischen Konzeption des n-dimcnsionalcn Raums geschalte! sind. Die Module können z. B. auch in einer hcxauotialen Anordnung oder entsprechend den Polnr-Koordiiialeii an Stelle der karlesischcn Koordinaten angeordnet werden. Ferner wurde gesagt, daß jeder Modul Register zur Speicherung einzelner InfonriHiioiiselcmcnte aufweist. Es ist jedoch selbstverständlich, daß jedem Modul größere Speicherregister zugeordnet werden können. Weiteihin kann die Iki jedem Modul vorhandene, verhältnismäßig einfache Logik durch kompliziertere logische Schaltungen oder durch arithmetische Einheiten bekannter Art ersetzt werden.
Palenlaiispriiclie:
1. Programmgesteuerter Digitalrechner zur Durchführung von Rechenoperationen, die sieh auf Informationen von matrix art ig angeordneten Feldwerteii erstrecken, mil Iiingaiigssehalliiiigen zur Aufnahme der Feld werte. Spcichereinrichtungcn zur Speicherung der Feldwcrtc und einer Steueranordnung, die progrnmmabhiingig die Operaiionen des Rechners steuert, dadurch ge ken 11 zeich 11 el, daß jedem Feldwcrt eine „Schallungseinhcil (Fig.5: ModiilclOl bis 108) mit wenigstens einem unter Steuerung der Steuer-
IS
/0
anordnung (Fig, 1:12) entsprechend dem Feldwert einstellbarer. Register (Fig. 4: 32) zugeordnet ist, dan die SchnItungsciaheilon .;u einer der Feldraatrix (Fig, 3ϊ 16) hinsichtlieh ihrer Konfiguration entsprechenden n-dlmensionalen [n ß = ganze Zahl größer I) Matrix (Flg, 3:14) verknüpft sind, in der jede Sclialtungseinheit mit den direkt benachbarten Schaltungseinheitcn verbunden ist, daß in jeder Schaltungselnlieit logische Schaltungen (Fig. 4; 46, 48, 62, 68, 80, 82 usw.) vorgesehen sind und daß die Steueranordnung Einrichtungen und Verbindungen mit den Schaltungseinhciten zur etwa gleichzeitigen Übertragung von Steuerbefehlen zu den Schaltungscinheilen aufweist, um die Operation in den jeweiligen Schaltungseinheiten zu steuern.
2. Programmgesteuerter Digitalrechner noch Anspruchlj dadurch gekennzeichnet, daß jede Scliattungseinheit wenigstens ein Speicherelement (Fig. 4: 34, 36, 38) cnthUlt, da mit dem Register » (32) über die logischen Schaltungen (58,64; 60, 66; 62, 68; 50, SI; 80, 82) verbunden ist, derart, daß der Inhalt des Registers an das Speicherelement und umgekehrt übertragbar ist und der Inhalt des Registers und des Speicherelementes «5 addiert oder multipliziert werden können.
3. Programmgesteuerter Digitalrechner nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Register (Fi g. 4: 32) jeder ScliaIturgscinheit über die logischen Schaltungen (60,66; 62,68) mit den Registern (40, 42) der in der Matrix direkt benachbarten Schaltungseinheiten in Verbindung steht, derart, daß wahlweise deren Inhalt direkt unter Addition oder Multiplikation übernehmbar ist.
4. Programmgesteuerter Digitalrechner nach Anspruch 1, 2 oder 3, gekennzeichnet durch Schaltmittel (Fig. 3; 98), über die bei einem vc-fi» bßstimmten Zustand der Register (Flg.4: 3Z) aller Sehaltungsolnhelten der Steueranordnung (F i g. 3; 20) ein Signal zufUhrbnr ist.
5. Programmgesteuerter Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zwischen benachbarten Schaltuiigseinheiten (Fig. 5:101 bis 108) ie eine Verbindungsschaltung (Fig. 5; IUbis 118) liegt, und daß jede Verbindungeschaltung (Fig. 6: 112) ein Speicherrcgisler (120) und Schaltmittel (122,124) enthalt, die von der Steueranordnung derart anstcuerbar sind, daß sie das Speicherregister bei einem vorbestimmten Zustand der Register (136,138) in den durch die jeweilige Verbindungssclialtung (112) mit einander verbundenen Schaltungseinheiten (100, 102) einstellen.
6. Programmgesteuerter Digitalrechner nach Anspruchs, dadurch gekennzeichnet, daß die Verbindungsschaltungen (Fig. 6:112) je logische Schaltungen (126, 128) enthalten, und daß die logischen Schaltungen derjenigen Verbindungsschaltungen, welche zwischen jeder Schaltungseinheit und den in wenigstens einer gewählten Richtung benachbarten Schaltungseinheiten liegen, von der Steueranordnung parallel derart ansteuerbar sind, daß der vorbestimmte Zustand des Registers in jeder Schaltungseinheit über die Verbindungsschaltungen mit eingestelltem Speicherregister (120) zu der in der gewählten Richtung benachbarten Schaltungseinheit weitergegeben wird.
Hierzu 2 Blatt Zeichnungen iü9 024/12
{BtCHNUNQBN BLATT) 1 I/
Nummer:, Int. Cl.: Deutsche Kl·: Auslegetag:
1302 O ««f. 9/18 42 m3,9/18 22. Oktober 1970
FtG I
logische Module
FtG,
I I I I I I
gangsmuster/h(c)
I I I I I I I I I
VObeHagern
I I I ) I
I I I I I I
Muster Ah liodul-AtkiMmblomegtskr
I I I I I I 1 I I I I ; I I I I
1 I 1 I I I
(r) Invertieren HuI (B )Efnschreiben
I I I I I
oben
(M)MuliipliHeren
'Muster%"äber OipeichemHbi tlusler Λ in Modul· ^^M'SJA Husfsrp Akkrnmlatorreofskr V&SUmitä
Feslelten von unteren Unken Ecken eines Nuders
ZBICHNUNO B N BLATTl
Nunwnen 1302 494 Int. Ο,: G06f,9/W DeuUoheKl.! 42m3,9/ie Auelegetag; 22. Oktober 1970
ZEICHNUNGEN BLATT 1
Nummer: Int. Cl.: Deutsche KU; Auslegetag:
1 3(12 G «6 f. 9/18 42 m3, 9/18
22. Oktober 1970
FIG. 4
JL·^ Akkumuiaior- Regisicr t\t\ des oixren Moclvb
Akkumuiohr reqt- τ~πι
sier des ühken flodüis
AUew Modulen qeutetusaute
NetzwetH- < tteuersignale
Ifer- r/forf.c-^
7Ϊ7 33
3Mf
5^ I I---M
AiKumdatorreqisier
Iferbsschitgen b^adrih^nfhiuijtn,
V-Ameiger und Ausgangsscholtungert
009543/220
IU
ZEiCHNUNGENBLATii t ( Nummer: 1332
Inta.: G 06 f, 9/18
Deutsche Kl.: 42 m3, 9/18
Auslegetag: 22. Oktober 1970
FIG. 5
-IOl
Oberer Modul
tlt
t/2
1 I
(04
J.
Linker Modul
Γ--Ί ^~ I * I
I I
Modul
Z/5,
I I
Li:/
/00
Modul
-/03
/05
Rechtet Modul
/08
f/C7
/4 a C I I I ! t I t I I I I 1 I I I I 1 1 I 1 I I I ' I fab/ndungs-
Hfieht
f chlrfsn W
WHorizontoi
ausdehnen
WterfikQl
ausdehnen
ZEICHNUNGEN BLATTl Miimmpr- 1302
Int-CI.: G 06 f. 9/18
Deutsche Kl.: 42 m3. 9/18
AuslegetBg: 22. Oktober 197(1
HG. 6
1 Akkumuiatorfegister
Mgang zu 7 ) Heiteren Yer- L_
ι
ausdehnet^ verbinden
AiSQQnq zu 7 yei&ren IferbindL ungsschaitunyen
Akkumulatorregister
se
ZEICHNUNGEN BLATTl ΝΐΗΠΠΚΤ: I 302 4W
Int. C!.: ti iH> f. 9 IH
DeuUchuKI.: 42 n\X ·> 1»
Auslcpctap: 22. Oktober I >>70
FtC 8
I . ■ ■ t t I I I I I
(Oterbndungsbefehl
I I I I I I I I I I I 1 I I I
(Einschreiben des (S)Aasdehnen horizontal in (b)gesp&cherien una posi tiv diagonal Musters
FIG. 9
I 1 I I I I 1 I I . t
(0 Verbindungsbefehl
t I I
) I I » I I
('Hinschreiben des (*) Ausdehnen horizontal hfbjoespeicherten und vertikal Musters
FtCJO
I I I I I I 1 I I I » i I
(Olfrbthdtinos' befehl
I I » I I \
I I I 1 I I I I
r >(b)gespeicherten und negativ Musters dagonat
DE19591302494D 1958-04-25 1959-04-20 Pending DE1302494B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US730856A US3106698A (en) 1958-04-25 1958-04-25 Parallel data processing apparatus

Publications (1)

Publication Number Publication Date
DE1302494B true DE1302494B (de) 1970-10-22

Family

ID=24937069

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19591302494D Pending DE1302494B (de) 1958-04-25 1959-04-20

Country Status (5)

Country Link
US (1) US3106698A (de)
DE (1) DE1302494B (de)
FR (1) FR1227517A (de)
GB (1) GB862257A (de)
NL (2) NL134125C (de)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3363234A (en) * 1962-08-24 1968-01-09 Sperry Rand Corp Data processing system
US3209328A (en) * 1963-02-28 1965-09-28 Ibm Adaptive recognition system for recognizing similar patterns
US3391390A (en) * 1964-09-09 1968-07-02 Bell Telephone Labor Inc Information storage and processing system utilizing associative memory
US3351918A (en) * 1965-02-15 1967-11-07 Rca Corp Computer system employing specialized instruction execution units
US3395393A (en) * 1965-09-14 1968-07-30 Bell Telephone Labor Inc Information storage system
US3593283A (en) * 1966-09-19 1971-07-13 Hitachi Ltd Feature-extracting system for pattern-recognition apparatus and the like
US3531775A (en) * 1966-09-30 1970-09-29 Fujitsu Ltd Memory apparatus for rapid write-in and read-out of information
US3473160A (en) * 1966-10-10 1969-10-14 Stanford Research Inst Electronically controlled microelectronic cellular logic array
US3573851A (en) * 1968-07-11 1971-04-06 Texas Instruments Inc Memory buffer for vector streaming
US3573852A (en) * 1968-08-30 1971-04-06 Texas Instruments Inc Variable time slot assignment of virtual processors
US3643223A (en) * 1970-04-30 1972-02-15 Honeywell Inf Systems Bidirectional transmission data line connecting information processing equipment
US3671942A (en) * 1970-06-05 1972-06-20 Bell Telephone Labor Inc A calculator for a multiprocessor system
US3670308A (en) * 1970-12-24 1972-06-13 Bell Telephone Labor Inc Distributed logic memory cell for parallel cellular-logic processor
US4060713A (en) * 1971-06-23 1977-11-29 The Perkin-Elmer Corporation Analysis of images
US4153944A (en) * 1973-11-12 1979-05-08 Bell Telephone Laboratories, Incorporated Method and arrangement for buffering data
US4020469A (en) * 1975-04-09 1977-04-26 Frank Manning Programmable arrays
GB1540996A (en) * 1975-05-12 1979-02-21 Plessey Co Ltd Associative processors
FR2361718A1 (fr) * 1976-08-11 1978-03-10 Adersa Processeur parallele associatif a hierarchie de memoire, notamment pour l'acquisition et le traitement rapides des signaux
US4167728A (en) * 1976-11-15 1979-09-11 Environmental Research Institute Of Michigan Automatic image processor
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
US4322716A (en) * 1976-11-15 1982-03-30 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
US4128872A (en) * 1977-06-20 1978-12-05 Motorola, Inc. High speed data shifter array
US4215401A (en) * 1978-09-28 1980-07-29 Environmental Research Institute Of Michigan Cellular digital array processor
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
US4224600A (en) * 1979-03-26 1980-09-23 The Perkin-Elmer Corporation Arrays for parallel pattern recognition
US4300122A (en) * 1979-04-02 1981-11-10 Sperry Corporation Apparatus for processing digital data representative of a two-dimensional image
US4464788A (en) * 1979-09-10 1984-08-07 Environmental Research Institute Of Michigan Dynamic data correction generator for an image analyzer system
US4301443A (en) * 1979-09-10 1981-11-17 Environmental Research Institute Of Michigan Bit enable circuitry for an image analyzer system
US4442543A (en) * 1979-09-10 1984-04-10 Environmental Research Institute Bit enable circuitry for an image analyzer system
US4395699A (en) * 1979-09-10 1983-07-26 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
US4290049A (en) * 1979-09-10 1981-09-15 Environmental Research Institute Of Michigan Dynamic data correction generator for an image analyzer system
US4369430A (en) * 1980-05-19 1983-01-18 Environmental Research Institute Of Michigan Image analyzer with cyclical neighborhood processing pipeline
US4395700A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Image analyzer with variable line storage
US4398176A (en) * 1980-08-15 1983-08-09 Environmental Research Institute Of Michigan Image analyzer with common data/instruction bus
US4395697A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Off-image detection circuit for an image analyzer
US4395698A (en) * 1980-08-15 1983-07-26 Environmental Research Institute Of Michigan Neighborhood transformation logic circuitry for an image analyzer system
US4468727A (en) * 1981-05-14 1984-08-28 Honeywell Inc. Integrated cellular array parallel processor
US4546433A (en) * 1981-07-04 1985-10-08 Gec Avionics Limited Arrangement for processing data in a two-dimensional array
GB2111267B (en) * 1981-12-08 1985-10-16 Burroughs Corp Constant-distance structure polycellular very large scale integrated circuit
US4484349A (en) * 1982-03-11 1984-11-20 Environmental Research Institute Of Michigan Parallel pipeline image processor
US4745546A (en) * 1982-06-25 1988-05-17 Hughes Aircraft Company Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
FR2539529B1 (fr) * 1983-01-17 1987-08-21 Dassault Electronique Procede pour le traitement d'informations binaires et processeur pour la mise en oeuvre de ce procede
DE3482532D1 (de) * 1983-07-06 1990-07-19 Secr Defence Brit Prozessor mit zwangseinstellung.
US4591980A (en) * 1984-02-16 1986-05-27 Xerox Corporation Adaptive self-repairing processor array
US4835680A (en) * 1985-03-15 1989-05-30 Xerox Corporation Adaptive processor array capable of learning variable associations useful in recognizing classes of inputs
US4739476A (en) * 1985-08-01 1988-04-19 General Electric Company Local interconnection scheme for parallel processing architectures
US4724543A (en) * 1985-09-10 1988-02-09 Beckman Research Institute, City Of Hope Method and apparatus for automatic digital image analysis
US5038386A (en) * 1986-08-29 1991-08-06 International Business Machines Corporation Polymorphic mesh network image processing system
US4910665A (en) * 1986-09-02 1990-03-20 General Electric Company Distributed processing system including reconfigurable elements
US5367208A (en) * 1986-09-19 1994-11-22 Actel Corporation Reconfigurable programmable interconnect architecture
US4949390A (en) * 1987-04-16 1990-08-14 Applied Vision Systems, Inc. Interconnect verification using serial neighborhood processors
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5179714A (en) * 1988-10-07 1993-01-12 Martin Marietta Corporation Parallel bit serial data processor
US5109353A (en) 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US4864563A (en) * 1989-01-09 1989-09-05 E-Systems, Inc. Method for establishing and maintaining a nodal network in a communication system
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
US5198705A (en) * 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5237626A (en) * 1991-09-12 1993-08-17 International Business Machines Corporation Universal image processing module
JPH07117498B2 (ja) * 1991-12-11 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 検査システム
US5274760A (en) * 1991-12-24 1993-12-28 International Business Machines Corporation Extendable multiple image-buffer for graphics systems
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5777489A (en) * 1995-10-13 1998-07-07 Mentor Graphics Corporation Field programmable gate array with integrated debugging facilities
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US5936426A (en) * 1997-02-03 1999-08-10 Actel Corporation Logic function module for field programmable array
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6026230A (en) * 1997-05-02 2000-02-15 Axis Systems, Inc. Memory simulation system and method
US6421251B1 (en) 1997-05-02 2002-07-16 Axis Systems Inc Array board interconnect system and method
US6134516A (en) * 1997-05-02 2000-10-17 Axis Systems, Inc. Simulation server system and method
US6321366B1 (en) 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
US6389379B1 (en) 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US5970240A (en) * 1997-06-25 1999-10-19 Quickturn Design Systems, Inc. Method and apparatus for configurable memory emulation
US6604230B1 (en) 1999-02-09 2003-08-05 The Governing Counsel Of The University Of Toronto Multi-logic device systems having partial crossbar and direct interconnection architectures
CN112162489A (zh) * 2020-10-10 2021-01-01 武汉科卫通智能系统有限公司 一种通道闸门禁与电梯联动控制系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2666575A (en) * 1949-10-26 1954-01-19 Gen Electric Calculating device
GB718591A (en) * 1949-10-31 1954-11-17 Nat Res Dev Improvements in electronic devices for the multiplication of binary-digital numbers
US2834007A (en) * 1954-10-07 1958-05-06 Sperry Rand Corp Shifting register or array
US2840801A (en) * 1955-06-29 1958-06-24 Philco Corp Magnetic core information storage systems
US2805409A (en) * 1955-09-14 1957-09-03 Sperry Rand Corp Magnetic core devices
US2968791A (en) * 1956-04-17 1961-01-17 Ibm Buffer storage system

Also Published As

Publication number Publication date
GB862257A (en) 1961-03-08
NL238555A (de)
FR1227517A (fr) 1960-08-22
NL134125C (de)
US3106698A (en) 1963-10-08

Similar Documents

Publication Publication Date Title
DE1302494B (de)
DE60215835T2 (de) Reduzierung von komponenten in einer montgomery multiplikations-recheneinheit
DE2724125C2 (de)
DE2714805C2 (de)
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE19530100C2 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2230103A1 (de) Adressiereinrichtung fuer einen speicher
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE2524229A1 (de) Datenverarbeitungssystem mit pyramidenfoermiger hierarchie des steuerflusses
DE2331589A1 (de) Datenverarbeitungsanordnung
DE2640157A1 (de) Verfahren und anordnung zum redundanzvermindernden codieren von bildern
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE2627788A1 (de) Dynamischer digitalspeicher mit ununterbrochen umlaufendem datenfluss
DE2423265C3 (de) Optimierende Rechenmaschine
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE1935845A1 (de) Datenverarbeitungsanlage mit mehreren Operatorfamilien-Steuereinheiten
DE3933172A1 (de) Akkumulator fuer komplexe zahlen
DE2235883B2 (de) Datenverarbeitungseinrichtung
DE1296429B (de) Datenbearbeitungsanlage
DE1916377C3 (de)
DE1296427B (de) Datenbearbeitungssystem
DE2331874A1 (de) Vorrichtung zum rechnerischen verarbeiten von kostenrechnungsaufzeichnungen