DE4017132A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE4017132A1
DE4017132A1 DE19904017132 DE4017132A DE4017132A1 DE 4017132 A1 DE4017132 A1 DE 4017132A1 DE 19904017132 DE19904017132 DE 19904017132 DE 4017132 A DE4017132 A DE 4017132A DE 4017132 A1 DE4017132 A1 DE 4017132A1
Authority
DE
Germany
Prior art keywords
register
data processing
input
unit
units
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
DE19904017132
Other languages
English (en)
Inventor
Oliver Bartels
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19904017132 priority Critical patent/DE4017132A1/de
Publication of DE4017132A1 publication Critical patent/DE4017132A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • 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/8015One dimensional arrays, e.g. rings, linear arrays, buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)

Description

Die vorliegende Erfindung betrifft eine Datenverarbeitungs­ anlage.
Datenverarbeitungsanlagen gibt es für unterschiedliche An­ wendungen und mit unterschiedlichen Strukturen. Der Grund­ aufbau eines von Neumann-Rechners besteht aus einem Rechen­ werk, in dem Rechenoperationen und logische Verknüpfungen durchgeführt werden, einem damit verbundenen Speicherwerk, in dem Programme und Daten gespeichert werden, einem Leit­ werk, das den Programmablauf steuert, und einem Ein- /Ausgabewerk, über das Daten und Programme ein- und ausgege­ ben werden. Zur Erhöhung der Verarbeitungsgeschwindigkeit wurden Datenverarbeitungsanlagen vorgeschlagen, die mehrere Rechenwerke aufweisen, die entweder in Serie oder parallel angeordnet sind. Bei diesen Datenverarbeitungsanlagen mit mehreren Rechenwerken hat sich als nachteilig herausge­ stellt, daß die Organisation der Arbeitsabläufe und der Kom­ munikation zwischen den Rechenwerken untereinander problema­ tisch ist.
Ziel der vorliegenden Erfindung ist es, eine Datenverarbei­ tungsanlage bereitzustellen, die eine hohe Verarbeitungsge­ schwindigkeit und eine gute Kapazitätsauslastung aufweist, wobei die Organisation der Arbeitsabläufe vereinfacht ist.
Diese Aufgabe wird gelöst mit einer Datenverarbeitungsanlage mit den Merkmalen des Anspruchs 1.
Bevorzugte Ausführungsformen der Erfindung sind in den Unteransprüchen angegeben.
Die Erfindung geht von dem Grundgedanken aus, mehrere, je­ weils ein Rechenwerk und ein zugehöriges erstes Register aufweisende Funktionseinheiten in Serie zu schalten. Diese vorzugsweise gleichermaßen aufgebauten Funktionseinheiten lassen sich zu einer Serie mit wiederkehrendem Aufbau zusam­ menschalten. Dieser gleichmäßige Aufbau der Funktionseinhei­ ten und die sich wiederholende gleichmäßige Anordnung der Funktionseinheiten ermöglicht eine einfachere Organisations­ ablaufsteuerung in der gesamten Datenverarbeitungsanlage. Durch die jeweilige Zuordnung eines ersten Registers zu einem Rechenwerk in einer Funktionseinheit kann das Opera­ tionsergebnis des Rechenwerks in dem zugehörigen ersten Re­ gister abgespeichert und für eine weitere Operation weiter verwendet werden. Erfindungsgemäß sind die Funktionseinhei­ ten der Datenverarbeitungsanlage durch eine Rückkopplung des Ausgangs der in der Serie letzten Funktionseinheit zum Ein­ gang der in der Serie ersten Funktionseinheit zu einem Kreis geschlossen. Dies hat insbesondere den Vorteil, daß trotz einer begrenzten Anzahl von Funktionseinheiten in einer Se­ rie auch Funktionsabläufe mit einer Vielzahl von nacheinan­ der zu durchlaufenden Operationszyklen ohne Einschränkung verarbeitet werden können.
Das Rechenwerk jeder Funktionseinheit, nachfolgend auch ALU genannt, verarbeitet zwei an den Eingängen angelegte Operan­ den durch eine von einem Programm auswählbare arithmetische oder logische Operation zu einem Ergebnis, das in dem zuge­ hörigen Register speicherbar ist und zu dem Rechenwerk einer nachfolgenden Funktionseinheit weitergegeben wird. Die in einer Serie angeordneten Funktionseinheiten können gleich­ zeitig, d. h. parallel Operationen durchführen und durch eine geeignete Steuerung können die Operationsergebnisse von meh­ reren Funktionseinheiten erneut weiter verarbeitet werden.
Die in erfindungsgemäßen Datenverarbeitungsanlagen einge­ setzten Rechenwerke sind insbesondere geeignet zum Addieren, Subtrahieren, Multiplizieren und Dividieren. Ebenso sind lo­ gische Operationen wie Negation, konjunktive oder disjunk­ tive Verknüpfungen zweier Operanden möglich. Als erstes Re­ gister ist beispielsweise ein D-FLIP-FLOP einsetzbar. Es ist selbstverständlich, daß die erfindungsgemäße Datenverarbei­ tungsanlage als 8-Bit, 16-Bit, 32-Bit oder M-Bitstruktur mit entsprechenden Busverbindungen und paralleler Datenverarbei­ tung aufgebaut werden kann.
Gemäß einer bevorzugten Ausführungsform der Erfindung sind an dem ersten bzw. zweiten Eingang jedes Rechenwerks ein er­ ster bzw. zweiter Multiplexer angeordnet. Mit Hilfe der Mul­ tiplexer können, vorzugsweise von einem Programm gesteuert, Operanden von unterschiedlichen Quellen an den entsprechen­ den Eingang des Rechenwerks durchgeschaltet werden. Vorzugs­ weise ist der erste Multiplexer mit dem Ausgang des Rechen­ werks der vorangehenden Funktionseinheit und mit einem ersten Datenbus verbunden, so daß der Multiplexer wahlweise das von dem Ausgang des vorangehenden Rechenwerks oder das von dem ersten Datenbus ankommende Datenwort an den Eingang des Rechenwerks durchschaltet.
Vorzugsweise ist der zweite Multiplexer mit dem Ausgang des ersten Registers und mit einem zweiten Datenbus verbunden, so daß wahlweise das in dem ersten Register gespeicherte Da­ tenwort oder ein von dem zweiten Datenbus geliefertes Daten­ wort an den Eingang des Rechenwerks durchgeschaltet wird.
Gemäß einer besonders bevorzugten Ausführungsform der Erfin­ dung weist die Datenverarbeitungsanlage mindestens ein zwei­ tes Register auf, das bestimmt, welche Operanden von den einzelnen Rechenwerken miteinander verknüpft werden und an welcher Stelle das Operationsergebnis abgespeichert wird. In der Ausführungsform mit den Multiplexern werden diese von dem zweiten Register derart angesteuert, daß die gewünschten Operanden an die beiden Eingänge eines Rechenwerks durchge­ schaltet werden.
Gemäß einer besonders bevorzugten Ausführungsform weist die Datenverarbeitungsanlage mindestens ein drittes Register auf, das bestimmt, in welcher Operationsart die einzelnen Rechenwerke arbeiten, eine der arithmetischen oder logischen Operationsarten.
Gemäß einer bevorzugten Ausführungsform der Erfindung ent­ spricht die Länge des zweiten und/oder dritten Registers der Anzahl der Funktionseinheiten in der Datenverarbeitungsan­ lage. Dies hat den Vorteil, daß mit nur einem zweiten bzw. dritten Register sämtliche Funktionseinheiten in der Daten­ verarbeitungsanlage steuerbar sind.
Gemäß einer besonders vorteilhaften Ausführungsform der Er­ findung weist die Datenverarbeitungsanlage mindestens eine Kontrolleinheit auf, die überprüft, welche Operationen die Rechenwerke von aufeinanderfolgenden Funktionseinheiten durchführen. Mittels dieser Kontrolleinheit kann in vorteil­ hafter Weise die Gesamtgeschwindigkeit der Datenverarbei­ tungsanlage erhöht werden. Wenn die Kontrolleinheit z. B. feststellt, daß die Rechenwerke von mehreren aufeinanderfol­ genden Funktionseinheiten zu einem bestimmten Zeitpunkt keine Operationen durchführen, d. h., daß diese lediglich das vorherige Ergebnis zum nächsten Rechenwerk durchschleifen, werden diese mehrere Funktionseinheiten übersprungen, d. h. das letzte Operationsergebnis wird an ein Rechenwerk durch­ geschaltet, das die nächste sich zeitlich anschließende Ope­ ration durchführt.
Die Erfindung wird nachstehend anhand eines Beispiels und der Zeichnung näher erläutert. Es zeigt:
Fig. 1 den schematischen Aufbau einer erfindungsgemäßen Da­ tenverarbeitungsanlage.
Die in Fig. 1 dargestellte Ausführungsform der Erfindung weist mehrere in Serie angeordnete Funktionseinheiten 1, 2, 3 bis N auf. Jede dieser Funktionseinheiten weist ein Re­ chenwerk 10 und ein zugehöriges erstes Register 20 auf. Fer­ ner sind an den beiden Eingängen 12, 14 jedes Rechenwerks 10 ein erster Multiplexer 30 und ein zweiter Multiplexer 40 an­ geordnet. Der erste und zweite Multiplexer 30, 40 haben je­ weils zwei Eingänge 32, 34 und 42, 44. Über Verbindungen vorzugsweise mit einer Breite von 32 Bit sind der Ausgang 16 des Rechenwerks 10 mit einem Eingang 22 des ersten Registers 20 und mit dem ersten Eingang 32 des ersten Multiplexers 30 verbunden. Der Ausgang 24 des ersten Registers 20 ist mit einem ersten Eingang 42 des zweiten Multiplexers 40 verbun­ den. Die jeweils zweiten Eingänge 34 bzw. 44 des dritten bzw. vierten Multiplexers sind mit einem ersten Datenbus, Bus 1 bzw. einem zweiten Datenbus, Bus 2, verbunden. Mit Hilfe einer Rückkopplung ist die letzte Funktionseinheit wiederum mit der ersten Funktionseinheit der Datenverarbei­ tungsanlage verbunden. Dazu besteht eine Verbindung des Aus­ gangs 16 des Rechenwerks 10 der Funktionseinheit N mit dem ersten Eingang 32 des Multiplexers 30 der Funktionseinheit 1.
Die in Fig. 1 schematisch dargestellte Funktionseinheit weist ferner ein zweites Register 50, ein drittes Register 60 und eine Kontrolleinheit 70 auf. Das zweite Register 50 und das dritte Register 60 haben eine Registerlänge, die der Anzahl der Funktionseinheiten in der Datenverarbeitungsan­ lage entspricht. Dabei ist insbesondere jedem Multiplexer 30, 40 sämtlicher Funktionseinheiten jeweils mindestens ein Registerelement des zweiten Registers zugeordnet. Dazu ist jedem Rechenwerk 10 sämtlicher Funktionseinheiten mindestens ein Registerelement des dritten Registers 60 zugeordnet. Ab­ hängig von dem Inhalt der Registerelemente des zweiten Regi­ sters 50 werden die Multiplexer 30, 40 jeder Funktionsein­ heit derart angesteuert, daß sie einen der an den beiden Eingängen des Multiplexers anliegenden Operanden zum Eingang des Rechenwerks 10 durchschalten. Auf diese Weise ist steu­ erbar, welche Operanden das jeweilige Rechenwerk 10 ver­ knüpft. Die Inhalte der Registerelemente des dritten Regi­ sters 60 bestimmen in welcher Operationsart die einzelnen Rechenwerke 10 der Funktionseinheiten arbeiten. Abhängig von dem Registerinhalt führen die einzelnen Rechenwerke unabhän­ gig voneinander entweder arithmetische Operationen oder lo­ gische Operationen durch. In der Serie von Funktionsein­ heiten werden dadurch unabhängig voneinander gleichzeitig mehrere Operationen durchgeführt und die Operationsergeb­ nisse stehen in der Datenverarbeitungsanlage unmittelbar zur weiteren Verarbeitung zur Verfügung.
Mittels der Kontrolleinheit 70 wird die Operation der Re­ chenwerke von mehreren aufeinanderfolgenden Funktionseinhei­ ten überwacht. Stellt die Kontrolleinheit 70 fest, daß die Rechenwerke von mehreren aufeinanderfolgenden Funktionsein­ heiten keine Operation zu einem bestimmten Zeitpunkt durch­ führen müssen, d. h., daß das Ergebnis der vorherigen Opera­ tion lediglich durchgeschleift werden müßte, wird das zu­ letzt erhaltene Operationsergebnis direkt durch Überspringen dieser mehreren Funktionseinheiten zu der nächsten Funk­ tionseinheit durchgeschaltet, an der eine Operation erfolgen soll (Verbindung hier nicht dargestellt).
Die Kontrolleinheit 70 weist dazu mehrere mehrfach-ODER Gat­ ter auf, die die Inhalte von jeweils aufeinanderfolgenden Registerelementen des dritten Registers 60 verknüpfen und bei sogenannten "NULL"-Operationen ein entsprechendes "NULL"-Signal liefern, das zur Steuerung des zuvor genannten Operationsablaufs dient.
Die Inhalte des zweiten Registers 50 und dritten Registers 60 sind von einem externen "Controller-Prozessor" mit zuge­ hörigem Speicher (nicht dargestellt) steuerbar. Die beiden Datenbusleitungen Bus 1 und Bus 2 sind ebenfalls mit Ein­ gabe/Ausgabe-Prozessoren (nicht dargestellt) verbunden.

Claims (8)

1. Datenverarbeitungsanlage mit mindestens zwei in Serie geschalteten Funktionseinheiten (1, 2, 3, ...N), von denen jede jeweils ein Rechenwerk (10) mit einem ersten und einem zweiten Eingang (12, 14) und einem Ausgang (16) und ein zugehöriges erstes Register (20) aufweist, dessen Eingang (22) mit dem Ausgang (16) des Rechenwerks und dessen Ausgang (24) mit dem zweiten Eingang (14) des Rechenwerks (10) verbunden ist, wobei der Ausgang (16) des Rechenwerks (10) einer Funktionseinheit mit dem ersten Eingang (12) des Rechenwerks einer in der Serie nachgeschalteten Funktionseinheit verbindbar ist und wo­ bei der Ausgang (16) des Rechenwerks (10) der letzten Funktionseinheit (N) in der Serie mit dem Eingang (12) des Rechenwerks (10) der ersten Funktionseinheit (1) in der Serie verbindbar ist.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch ge­ kennzeichnet, daß jede Funktionseinheit (1, 2, 3 ... N) einen ersten und/oder zweiten Multiplexer (30, 40) mit einem ersten und einem zweiten Eingang (32, 34; 42, 44) aufweist, der mit dem ersten bzw. zweiten Eingang (12, 14) des Rechenwerks (10) verbunden ist.
3. Datenverarbeitungsanlage nach Anspruch 2, dadurch ge­ kennzeichnet, daß der erste Multiplexer (30) an seinem ersten Eingang (32) mit dem Ausgang (16) des Rechenwerks (10) der vorgeschalteten Funktionseinheit verbunden ist und an seinem zweiten Eingang (34) mit einem ersten Da­ tenbus (Bus 1) verbunden ist.
4. Datenverarbeitungsanlage nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß der zweite Multiplexer (40) an sei­ nem ersten Eingang (42) mit dem Ausgang (24) des ersten Registers (20) verbunden ist und an seinem zweiten Ein­ gang (44) mit einem zweiten Datenbus (Bus 2) verbunden ist.
5. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 4, gekennzeichnet durch mindestens ein zweites Register (50), das bestimmt, welche Operanden von den einzelnen Rechenwerken miteinander verknüpft werden und/oder an welcher Stelle das Operationsergebnis abgespeichert wird.
6. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 5, gekennzeichnet durch mindestens ein drittes Register, das bestimmt, welche Operationsart die einzelnen Rechen­ werke ausführen.
7. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Registerlänge des zweiten und/oder dritten Registers (50, 60) der Anzahl der Funktionseinheiten entspricht.
8. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 7, gekennzeichnet durch mindestens eine Kontrolleinheit (70) zur Überwachung der Operationen der Rechenwerke (10) von mehreren aufeinanderfolgenden Funktionseinhei­ ten.
DE19904017132 1990-05-28 1990-05-28 Datenverarbeitungsanlage Withdrawn DE4017132A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19904017132 DE4017132A1 (de) 1990-05-28 1990-05-28 Datenverarbeitungsanlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19904017132 DE4017132A1 (de) 1990-05-28 1990-05-28 Datenverarbeitungsanlage

Publications (1)

Publication Number Publication Date
DE4017132A1 true DE4017132A1 (de) 1991-12-05

Family

ID=6407331

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904017132 Withdrawn DE4017132A1 (de) 1990-05-28 1990-05-28 Datenverarbeitungsanlage

Country Status (1)

Country Link
DE (1) DE4017132A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998015900A1 (en) * 1996-10-07 1998-04-16 Timeplex, Inc. Digital signal processing unit using digital signal processor array with recirculation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0042967A2 (de) * 1980-06-30 1982-01-06 International Business Machines Corporation Mehrfachdatenverarbeitungskomponentensystem
EP0256661A2 (de) * 1986-08-02 1988-02-24 Amt(Holdings) Limited Feldrechner
EP0314277A2 (de) * 1987-10-27 1989-05-03 International Business Machines Corporation SIMD-Feldrechner

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0042967A2 (de) * 1980-06-30 1982-01-06 International Business Machines Corporation Mehrfachdatenverarbeitungskomponentensystem
EP0256661A2 (de) * 1986-08-02 1988-02-24 Amt(Holdings) Limited Feldrechner
EP0314277A2 (de) * 1987-10-27 1989-05-03 International Business Machines Corporation SIMD-Feldrechner

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Advanced Micro Devices, The Am 2900 Family Data Book, Sunnyvale, USA, Advanced Micro Devices, Inc., 1978, S. 2-30 bis 2-55 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998015900A1 (en) * 1996-10-07 1998-04-16 Timeplex, Inc. Digital signal processing unit using digital signal processor array with recirculation

Similar Documents

Publication Publication Date Title
DE2755273C2 (de)
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
EP0308660A2 (de) Vorrichtung zur Herstellung einer testkompatiblen, weitgehend fehlertoleranten Konfiguration von redundant implementierten systolischen VLSI-Systemen
DE3587176T2 (de) Verfahren und einrichtung zum mischen/sortieren von daten.
DE3788617T2 (de) Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor.
DE3688806T2 (de) Instruktionsprozessor.
DE3507584C2 (de)
EP0657044B1 (de) Verfahren zum betrieb eines rechnersystems mit mindestens einem mikroprozessor und mindestens einem coprozessor
DE3307194C2 (de)
DE3543471C1 (de) In integrierter Technik hergestellter Baustein zur Erstellung integrierter Schaltungen
DE3486073T2 (de) Vektorverarbeitungsgeraet.
DE2245284A1 (de) Datenverarbeitungsanlage
DE4017132A1 (de) Datenverarbeitungsanlage
EP0130397A1 (de) Digitales Rechenwerk
DE10206830B4 (de) Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden
DE4001232C2 (de) Gleitkommaeinheit
DE3603320C2 (de)
EP0267499B1 (de) Verfahren zur Paritätsbitermittlung und zur Überwachung der Übertragung beim Datenschieben sowie Schaltungsanordnung zur Durchführung der Verfahren
DE1109422B (de) Asynchrone binaere Additions- und Subtraktionseinrichtung
EP0674256A1 (de) Verfahren zur Beschleunigung der Datenverarbeitung eines Signalprozessors
EP1116107B1 (de) Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens
DE10122309A1 (de) Adressgeneriereinheit
DE1922415C3 (de) Modulares elektronisches Datenverarbeitungssystem
DE10101949C1 (de) Datenverarbeitungsverfahren
WO1999057638A1 (de) Risc-prozessor mit einer debug-schnittstelleneinheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee