DE4221278C2 - Busgekoppeltes Mehrrechnersystem - Google Patents

Busgekoppeltes Mehrrechnersystem

Info

Publication number
DE4221278C2
DE4221278C2 DE19924221278 DE4221278A DE4221278C2 DE 4221278 C2 DE4221278 C2 DE 4221278C2 DE 19924221278 DE19924221278 DE 19924221278 DE 4221278 A DE4221278 A DE 4221278A DE 4221278 C2 DE4221278 C2 DE 4221278C2
Authority
DE
Germany
Prior art keywords
bus
memory
computer
cpu
task
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.)
Expired - Fee Related
Application number
DE19924221278
Other languages
English (en)
Other versions
DE4221278A1 (de
Inventor
Martin Vorbach
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.)
PACT XPP Technologies AG
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 DE19924221278 priority Critical patent/DE4221278C2/de
Publication of DE4221278A1 publication Critical patent/DE4221278A1/de
Application granted granted Critical
Publication of DE4221278C2 publication Critical patent/DE4221278C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Description

Die vorliegende Erfindung bezieht sich auf ein busge­ koppeltes Mehrrechnersystem nach dem Oberbegriff des Patentanspruchs 1.
Busgekoppelte Mehrrechnersysteme der gattungsgemäßen Art sind bekannt. In der älteren Patentanmeldung ent­ sprechend der DE 41 27 192 A1 ist ein Datenverar­ beitungsnetzwerk vorgeschlagen, gemäß dem jeweils mehrere CPUs in Gestalt von Systemeinschüben gruppen­ weise zusammengefaßt sind. Jede dieser CPU-Gruppen ist über eine Bussteuereinheit (eine sogenannte PCU) mit einem Datenbus gekoppelt und so im Gesamtsystem inte­ griert. Die dabei zugrunde gelegten CPUs sind jeweils so zu verstehen und konfiguriert, daß der notwendigerweise zugehörige Speicher, also das RAM, über einen internen Datenbus mit der CPU gekoppelt ist, und zwar jeweils so, daß von der PCU aus betrachtet das RAM den eigent­ lichen Prozessoren, also den CPUs, nachgeordnet ist. Dies hat letztlich zur Folge, daß bei einem Zugriff einer CPU auf den Speicher einer beliebigen anderen CPU, um etwa Daten oder Variable zu adressieren, dieser Zugriff über die LINKS oder Schnittstellen der CPU er­ folgt, beziehungsweise abgewickelt werden muß. Die Folge davon ist, daß diese funktionalen Verbindungen bezie­ hungsweise Speicherzugriffszyklen nicht nach dem soge­ nannten Shared-Memory-Prinzip, bei dem sich mehrere CPUs gleichberechtigt einen gemeinsamen Speicher teilen, möglich sind, da die CPUs aktiv in den Ablauf eingreifen müssen. Vielmehr ist es hierbei Aufgabe des Programmie­ rers für den richtigen Ablauf, d. h. die richtige Ar­ beitsweise des Mehrrechnersystems, zu sorgen; gleicher­ maßen muß auch die erforderliche Datensynchronisation vom Programmierer bewältigt werden.
Die der vorliegenden Erfindung zugrunde liegende Aufga­ be besteht darin, für ein busgekoppeltes Mehrrechner­ system einem aus Sicht des Programmierers vereinfachten Datenaustausch zwischen den Rechnern (Parallel-Rechner- Einheiten) zu schaffen.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Merkmale im Hinblick auf die Kopplung der dem busgekoppelten Mehrrechner­ system zugrunde liegenden Funktionseinheiten Prozessor (CPU), Bussteuereinheit (PCU), Speicher (RAM) und ge­ meinsamer Bus gelöst.
Eine besondere Ausgestaltung im Hinblick auf eine si­ chere Arbeitsweise der Speicher (RAM) sowie zur Vermei­ dung von Synchronisationsproblemen ist Gegenstand der Patentansprüche 2 und 3.
Abgesehen von dem bereits aufgabengemäß bedingten Vor­ teil, daß sich der Programmierer nicht um die Vertei­ lung der Daten beziehungsweise Variablen innerhalb des busgekoppelten Mehrrechnersystems zu kümmern braucht, besteht ein ganz besonderer Vorzug des erfindungsgemä­ ßen busgekoppelten Mehrrechnersystems in der erhöhten Virensicherheit. Da nämlich ein Virus grundsätzlich eine andere Programmspezifikation aufweist, als die der anderen Programme, kann er auch nicht auf die Daten be­ ziehungsweise Variablen und den Code dieser anderen Programme zugreifen und Unheil anrichten. Ganz allge­ mein zeichnet sich das im Vorstehenden charakterisierte und im Detail nachfolgend zu beschreibende busgekoppel­ te Mehrrechnersystem dadurch aus, daß innerhalb dieses busgekoppelten Mehrrechnersystem die Möglichkeit be­ steht, Daten im gesamten busgekoppelten Mehrrechner­ system sinnvoll zu verteilen ohne daß für den Program­ mierer eine wesentliche Belastung bezüglich der Kommu­ nikation entsteht - schließlich kann von allen CPUs gleichermaßen und gleichberechtigt auf die verteilten Daten zugegriffen werden.
Das erfindungsgemäße busgekoppelte Mehrrechnersystem wird im folgenden anhand der Zeichnungen näher erläutert. Diese zeigen in
Fig. 1 eine Schemadarstellung eines aus einer Mehrzahl von Rechnern beziehungsweise Parallelrechner­ einheiten aufgebauten busgekoppelten Mehrrech­ nersystems;
Fig. 2 eine Schemadarstellung zur Erläuterung der Adressierung der Mehrzahl der Rechner;
Fig. 3 eine Schemadarstellung eines RAM′s zur Erläute­ rung der Zugriffssicherheit.
Fig. 1 zeigt ein busgekoppeltes Mehrrechnersystem 1, das aus einer Vielzahl parallel zueinander angeordneten Rechner 2 besteht.
Unter einem Rechner ist im gegebenen Zusammenhang eine Rechen­ einheit zu verstehen, die auf der Grundlage einer Mehr­ daten- und Vielfachinstruktionsmaschine (MIMD) basiert. Diese Mehrdaten- und Vielfachinstruktionsmaschine be­ ziehungsweise Recheneinheit besteht jeweils aus einem Prozessor 3, der sogenannten CPU, einem Speicher 4, dem sogenannten RAM, und einer Bussteuereinheit 5, der so­ genannten PCU, welche die Verbindung eines internen Datenbuses 6 und eines gemeinsamen BUSes 7 steuert.
Die Recheneinheit ist in der Lage Programme, gegebe­ nenfalls auch nur Programmabschnitte abzuarbeiten und kann - und zwar entsprechend der erfindungsgemäßen Konfiguration - über den internen Bus 6 sowohl auf das jeweils eigene RAM 4, als auch - über die PCU 5 ge­ steuert - auf das RAM 4 eines anderen, parallel ange­ ordneten Rechners 2 zugreifen.
Die auf einem Rechner 2 eigenständig laufenden Program­ me beziehungsweise Programmabschnitte werden im wei­ teren als TASKs bezeichnet, deren mehrere auf einem Rechner 2 quasi gleichzeitig abgearbeitet werden kön­ nen. Jeder TASK ist eine eindeutige Identifikations­ nummer zugewiesen, beziehungsweise zugeordnet, die selbstverständlich nur einmal innerhalb des busgekop­ pelten Mehrrechnersystems 1 existieren darf. (Dies ist von besonderer Wichtigkeit, da in der vorliegenden Be­ schreibung die Identifikationsnummer der TASK zum Schutz der taskeigenen Daten, also der Daten die kei­ nesfalls von einer anderen TASK benutzt werden dürfen, verwendet wird).
In Verbindung mit dem vorliegenden busgekoppelten Mehr­ rechnersystem kommt der Frage der eindeutigen Zugriffs­ sicherheit eine besondere Bedeutung zu. Dieses im nach­ folgenden noch zu beschreibende LOCKING gewährleistet, daß ein RAM 4 gegen einen unzulässigen Zugriff ge­ schützt ist.
Für die Funktionsweise des busgekoppelten Mehrrechner­ systems ist ferner eine als Taskswitcher oder Scheduler bezeichnete Einheit von Bedeutung, die für gewöhnlich im Betriebssystem integriert ist und die Umschaltung der aktiven TASK gewährleistet. Dadurch wird zwar der Eindruck erweckt, daß mehrere TASKs gleichzeitig ver­ arbeitet werden - dieser Eindruck ist jedoch falsch, da die TASKs nacheinander abgearbeitet werden. Die genannte Umschaltung geschieht eben durch diesen Taskswitcher.
Da der Taskswitcher eine für die Funktionssicherheit des busgekoppelten Mehrrechnersystems wichtige Rolle spielt und er weiterhin auch sehr schnell sein sollte und auf einen sogenannten, noch zu erläuternden DENIED- Zugriff reagieren muß, sollte er (muß aber nicht) hard­ waremäßig implementiert sein. (Somit sollten aus Sicherheitsgründen die TASK-Identifikationsnummern hardwaremäßig vorgegeben werden).
Die Konfiguration und Funktionsweise des busgekoppelten Mehrrechnersystems 1 wird - auf der Grundlage der Fig. 1 und der vorstehenden Begriffsspezifikationen - im Nachfolgenden näher erläutert:
Die Verschaltung beziehungsweise Verdrahtung der Mehr­ zahl von Rechnern 2 geht von den genannten PCUs 5 aus, die direkt, d. h. unmittelbar über eine gewöhnliche DMA- ähnliche beziehungsweise -analoge Zugriffsfunktion (DMA = Direct Memory Access) im RAM 4 der jeweiligen über einen gemeinsamen Bus 7 gekoppelten Rechner 2 ar­ beiten, also die Busmasterfunktion für den internen Da­ tenbus 6 übernehmen können. Die genannte Busmasterfunk­ tion wird durch Signale BUS-REQUEST (BREQ) und BUS- ACKNOWLEDGE (BACK) zwischen den Einheiten CPU 3 und PCU 5 gesteuert, wobei das Signal BREQ die Busfreigabean­ forderung an die CPU 3 bedeutet und das Signal BACK die Busfreigabe signalisiert.
Anders als beim älteren Datenverarbeitungsnetzwerk ge­ mäß der DE 41 27 192 A1 können die einzelnen Rechner 2 des busgekoppelten Mehrrechnersystems 1 über ihre kon­ jugierten PCUs 5 also jeweils direkt auf die RAMs 4 der parallelen Rechner 2 zugreifen - die funktionalen Ver­ bindungen brauchen also nicht mehr unter Zuhilfenahme der CPU 3 abgewickelt zu werden -.
Das Ganze setzt insoweit jedoch auch eine modifizierte Adressierung voraus, und zwar wird jeweils zusätzlich zur Adresse eines Rechners 2 (HEADER) noch die ge­ wünschte Speicheradresse (Segment) übertragen, aus der Daten beziehungsweise Variable gelesen beziehungsweise in die Daten beziehungsweise Variable eingeschrieben werden sollen. Jeweils nach Ablauf eines Zugriffs, d. h. eines Speicherzyklus, erhält die das RAM 4 beanspru­ chende CPU 3 ein Bestätigungssignal, ein Fehlersignal oder ein DENIED-Signal.
Der Speicher, d. h. das RAM 4, ist als line­ are Speicherbank organisiert. Gemäß Fig. 2 besteht eine Adresse 10 dabei aus einem Segment 11 (A₀ . . . Ai) und dem sogenannten HEADER 12 (Ai+1 . . . An). Der HEADER 12 enthält die Adresse des gewünschten Rechners 2; das Segment 11 enthält die gewünschte Adresse innerhalb des adressierten Speicherraums. Ist der HEADER 12 dabei gleich der Adresse der aktuell zugreifenden CPU 3, so findet der Zugriff innerhalb des eigenen RAMs 4 statt (vergleiche Pfeil X in Fig. 1); ist die Adresse un­ gleich, so wird die PCU 5 angesteuert und dadurch der HEADER 12 an den BUS 7 übergeben, gleichermaßen auch das Segment 11 . . . sie dienen als Adresse für das adre­ ssierte RAM 4 (vergleiche Pfeil Y in Fig. 1) und den Rechner.
Der weitere Zugriff ist wie folgt: Der durch einen HEADER 12 angesprochene Rechner 2 gibt den Speicher­ zugriff auf die übertragene Adresse frei, sofern auf­ grund eines LOCKING kein Widerspruch entsteht. Nun kann die entsprechende CPU 3 frei über den Zielspeicherbe­ reich im Rechner verfügen, insbesondere den Zielspei­ cherbereich für sich LOCKEN, sofern ein sogenannter Read-Modify-Write-Zyklus vorliegt. Ist der Zyklus voll­ ständig beendet, so gibt die entsprechende CPU 3 den Speicherblock des Rechners 2 wieder frei. Zu bemerken ist insofern noch, daß der adressierte Rechner auch während eines Zugriffs auf sein RAM 4 frei über das­ selbe verfügen kann, sofern einerseits kein Buskon­ flikt vorliegt, und er andererseits nicht Speicherbe­ reiche anspricht, die etwa von anderen Rechnern 2 ge­ LOCKt sind.
Stößt ein Rechner 2 auf ein Speicherwort, das von einer anderen TASK als der des zugriffswilligen Rechners 2 ge­ LOCKt ist, so kann dieser Rechner 2 nicht auf das Spei­ cherwort zugreifen. Der entsprechende Rechner erhält über den BUS 7 ein DENIED-Signal zurück. Der Task­ switcher dieses Rechners 2 schaltet nun sofort auf eine andere lauffähige TASK um, so daß letztlich die CPU 3 keine Zeit durch Warten auf eine Speicherfreigabe verliert.
Zu bemerken ist, daß dem Taskswitcher - über seine Aufgaben entsprechend dem Stand der Technik hinaus - eine weitere wichtige Funktion innerhalb des erfindungsgemäßen busgekop­ pelten Mehrrechnersystems zukommt. Grundsätzlich wird jeder Aufruf auf eine Speicherstelle, die a) nicht jeder TASK frei zur Verfügung steht (vergleiche PUBLIC gemäß Fig. 3) beziehungsweise b) nicht dieselbe TASK- Identifikation wie die aufrufende TASK hat, mit der so­ fortigen Unterbrechung der aufrufenden TASK quittiert. Die TASK wird jedoch bei einer erneuten Aktivierung nochmals mit demselben Aufruf auf dieselbe Speicher­ stelle gestartet, d. h. die TASK läuft erst an, wenn die aufzurufende Speicherstelle freigegeben (PUBLIC) ist.
Durch diese Technik wird nicht nur die Verwaltung der Daten beziehungsweise Variablen organisiert, sondern es werden analog auch die TASK-Aufrufe gesteuert; TASKs werden durch das Setzen eines Startbefehls in einer freien (PUBLIC) Speicherstelle aufgerufen. Die TASK testet die Speicherstelle - enthält sie den Startbe­ fehl, so startete sie, ansonsten deaktiviert sie sich selbst und zwar durch einen Befehl an den Taskswitcher. Dem aufgerufenen TASK wird eine Antwortspeicherstelle der aufrufenden TASK - die frei zugänglich (PUBLIC) ist - übergeben. Dort setzt sie ein Endesignal, sobald die TASK erfolgreich terminiert (beendet) ist. Die auf­ rufende TASK testet auf dieses Endesignal, sofern eine TASK-Synchronisierung erforderlich ist. Ist das Ende­ signal nicht gesetzt, so deaktiviert sich die TASK durch einen Befehl an den Taskswitcher selbst und star­ tet erneut mit dem Test des Endesignals.
Um letztendlich die Aktualität der Daten beziehungswei­ se Variablen zu gewährleisten, insbesondere jedoch um zu verhindern, daß während eines sogenannten Read- Modify-Write-Zyklus falsche Informationen gelesen wer­ den (während eines Modify könnte eine andere CPU 3 die Daten lesen, welche allerdings bereits durch den Modify auf einer anderen CPU 3 nicht mehr aktuell sind) ist ein Speicher-LOCK-Mechanismus vorgesehen. Hierzu werden - vergleiche Fig. 3 - neben den üblichen RAMs 4 soge­ nannte Kontrollspeicher 14 implementiert, die Auskunft über die Zugriffsrechte geben. In diesem Kontrollspei­ cher 14 werden die Identifikationsnummern der TASKs ab­ gelegt, die den jeweiligen Speicherelementen zugeordnet sind; darüberhinaus enthält dieser Kontrollspeicher 14 Informationen darüber, ob das Speicherelement für Fremdzugriffe freigegeben ist oder nicht. Variablen die für Fremdzugriffe freigegeben sind, werden inner­ halb der dazugehörenden TASK als PUBLIC bezeichnet.
Beispielsweise kann über eine - vergleiche a) in Fig. 3 - aus lauter "0" bestehende Identifikation angegeben sein, daß der konjugierte Speicherplatz einem Zugriff offen, also die Variabel PUBLIC deklariert ist. Gemäß der in b) dargestellten Daten ist angegeben, daß der Speicher durch das Betriebssystem geLOCKt ist. Das Beispiel c) zeigt, daß eine TASK mit der Identifikationsnummer "2" gerade auf den konjugierten Speicherplatz zugreift; im Beispiel d) sei gezeigt, daß prinzipiell die Möglich­ keit besteht, Variable für Gruppen (Programme) zu LOCKEN, indem zum Beispiel das höchstwertige Bit angibt, ob eine Gruppe (Gruppenidentifikation) oder eine TASK-Identifikation vorliegt.
Grundsätzlich stehen im System auch erweiterte Spei­ cherzugriffe zur Verfügung:
READ LOCK: Lesen und LOCKEN des Speichers
(Einschreiben der eigenen Task- IDENTIFIKATION)
WRITE LOCK: Schreiben und LOCKEN des Speichers
(Einschreiben der eigenen Task- IDENTIFIKATION)
READ UNLOCK: Lesen und UnLOCKEN des Speichers
(Löschen der eigenen Task- IDENTIFIKATION)
WRITE UNLOCK: Schreiben und UnLOCKEN des Speichers
(Löschen der eigenen Task- IDENTIFIKATION)
Bei jedem Zugriff wird dabei getestet, ob der Speicher nicht von einer anderen Task gesperrt ist.

Claims (3)

1. Busgekoppeltes Mehrrechnersystem, wobei jeder Rechner (2) aus einem Prozessor (CPU 3), einem Speicher (RAM 4) und einer Bussteuereinheit (PCU 5) zur funktionalen Verbindung der CPU′s (3) über den gemeinsamen Bus (7) besteht, und jeder Rechner (2) eine Mehrdaten- und Vielfachinstruktions­ maschine (MIMD) darstellt,
dadurch gekennzeichnet,
daß die Prozessoren (CPU 2) und Speicher (RAM 4) jeweils über einen internen lokalen Datenbus (6) über je eine Bussteuereinheit (PCU 5) mit dem gemeinsamen Bus (7) verbunden sind, wobei sowohl für den lokalen Datenbus (6), als auch für den gemeinsamen Bus (7) eine Speicherplatzadress­ ierung benutzt wird, bei der der höherwertige Adreßteil die Rechneradresse beinhaltet und der niederwertige Adreßteil die Adresse innerhalb des angesprochenen Speicherraums darstellt,
wobei für das gesamte Mehrrechnersystem ein linearer Adreßraum vorhanden ist, und
daß die Bussteuereinheiten (PCU 5) eine Masterfunktion für den jeweiligen lokalen Datenbus (6) übernehmen, und zwar durch Austausch von Statusinformationen (BREQ, BACK) mit dem Prozessor (CPU).
2. Busgekoppeltes Mehrrechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß die Speicher (RAM 4) gegen einen unberechtigten Zugriff dadurch geschützt sind, daß den einzelnen Speicherzellen je eine zusätzliche Kennung (vgl. Kon­ trollspeicher 14) zugeordnet ist, wobei die zusätz­ liche Kennung die Identifikationsnummern einer TASK oder eines Prozesses enthält.
3. Busgekoppeltes Mehrrechnersystem nach Anspruch 1, wobei jedem Prozessor (CPU 3) ein TASKSWITCHER zugeordnet ist,
dadurch gekennzeichnet,
daß dann, wenn ein Rechner (2) einen unberechtigten Zugriff ausführt,
diesem Rechner (2) ein DENIED-Signal übermittelt wird, so daß sein TASKSWITCHER auf eine andere TASK umschaltet.
DE19924221278 1992-06-29 1992-06-29 Busgekoppeltes Mehrrechnersystem Expired - Fee Related DE4221278C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19924221278 DE4221278C2 (de) 1992-06-29 1992-06-29 Busgekoppeltes Mehrrechnersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19924221278 DE4221278C2 (de) 1992-06-29 1992-06-29 Busgekoppeltes Mehrrechnersystem

Publications (2)

Publication Number Publication Date
DE4221278A1 DE4221278A1 (de) 1994-01-05
DE4221278C2 true DE4221278C2 (de) 1996-02-29

Family

ID=6462064

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19924221278 Expired - Fee Related DE4221278C2 (de) 1992-06-29 1992-06-29 Busgekoppeltes Mehrrechnersystem

Country Status (1)

Country Link
DE (1) DE4221278C2 (de)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10084645B4 (de) * 1999-05-31 2007-09-06 Mitsubishi Denki K.K. Datenübertragungsverfahren
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US7822968B2 (en) 1996-12-09 2010-10-26 Martin Vorbach Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6615281B1 (en) 2000-05-05 2003-09-02 International Business Machines Corporation Multi-node synchronization using global timing source and interrupts following anticipatory wait state

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4441162A (en) * 1981-04-22 1984-04-03 Pitney Bowes Inc. Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium
DD268793A1 (de) * 1988-02-22 1989-06-07 Ilmenau Tech Hochschule Schaltungsanordnung zur rechnerkopplung

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822968B2 (en) 1996-12-09 2010-10-26 Martin Vorbach Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US8156312B2 (en) 1996-12-09 2012-04-10 Martin Vorbach Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units
US7650448B2 (en) 1996-12-20 2010-01-19 Pact Xpp Technologies Ag I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US8195856B2 (en) 1996-12-20 2012-06-05 Martin Vorbach I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US7899962B2 (en) 1996-12-20 2011-03-01 Martin Vorbach I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US7822881B2 (en) 1996-12-27 2010-10-26 Martin Vorbach Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
USRE45223E1 (en) 1997-02-08 2014-10-28 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
USRE44383E1 (en) 1997-02-08 2013-07-16 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
USRE45109E1 (en) 1997-02-08 2014-09-02 Pact Xpp Technologies Ag Method of self-synchronization of configurable elements of a programmable module
USRE44365E1 (en) 1997-02-08 2013-07-09 Martin Vorbach Method of self-synchronization of configurable elements of a programmable module
US8819505B2 (en) 1997-12-22 2014-08-26 Pact Xpp Technologies Ag Data processor having disabled cores
US8468329B2 (en) 1999-02-25 2013-06-18 Martin Vorbach Pipeline configuration protocol and configuration unit communication
DE10084645B4 (de) * 1999-05-31 2007-09-06 Mitsubishi Denki K.K. Datenübertragungsverfahren
US8726250B2 (en) 1999-06-10 2014-05-13 Pact Xpp Technologies Ag Configurable logic integrated circuit having a multidimensional structure of configurable elements
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US8312200B2 (en) 1999-06-10 2012-11-13 Martin Vorbach Processor chip including a plurality of cache elements connected to a plurality of processor cores
US8301872B2 (en) 2000-06-13 2012-10-30 Martin Vorbach Pipeline configuration protocol and configuration unit communication
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US9047440B2 (en) 2000-10-06 2015-06-02 Pact Xpp Technologies Ag Logical cell array and bus system
US8471593B2 (en) 2000-10-06 2013-06-25 Martin Vorbach Logic cell array and bus system
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US8145881B2 (en) 2001-03-05 2012-03-27 Martin Vorbach Data processing device and method
US8099618B2 (en) 2001-03-05 2012-01-17 Martin Vorbach Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9075605B2 (en) 2001-03-05 2015-07-07 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US8312301B2 (en) 2001-03-05 2012-11-13 Martin Vorbach Methods and devices for treating and processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US8869121B2 (en) 2001-08-16 2014-10-21 Pact Xpp Technologies Ag Method for the translation of programs for reconfigurable architectures
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US8209653B2 (en) 2001-09-03 2012-06-26 Martin Vorbach Router
US8407525B2 (en) 2001-09-03 2013-03-26 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US7840842B2 (en) 2001-09-03 2010-11-23 Martin Vorbach Method for debugging reconfigurable architectures
US8069373B2 (en) 2001-09-03 2011-11-29 Martin Vorbach Method for debugging reconfigurable architectures
US8429385B2 (en) 2001-09-03 2013-04-23 Martin Vorbach Device including a field having function cells and information providing cells controlled by the function cells
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US8156284B2 (en) 2002-08-07 2012-04-10 Martin Vorbach Data processing method and device
US8281265B2 (en) 2002-08-07 2012-10-02 Martin Vorbach Method and device for processing data
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US8803552B2 (en) 2002-09-06 2014-08-12 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7928763B2 (en) 2002-09-06 2011-04-19 Martin Vorbach Multi-core processing system
US8310274B2 (en) 2002-09-06 2012-11-13 Martin Vorbach Reconfigurable sequencer structure
US7782087B2 (en) 2002-09-06 2010-08-24 Martin Vorbach Reconfigurable sequencer structure
US8812820B2 (en) 2003-08-28 2014-08-19 Pact Xpp Technologies Ag Data processing device and method
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software

Also Published As

Publication number Publication date
DE4221278A1 (de) 1994-01-05

Similar Documents

Publication Publication Date Title
DE4221278C2 (de) Busgekoppeltes Mehrrechnersystem
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE4104781C2 (de) Speicherzugriffssteuerung
DE69233655T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren
CH619309A5 (de)
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE3127349C2 (de)
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
CH615521A5 (de)
DE2350225A1 (de) Anordnung fuer ein rechnersystem zur variablen ausblendung von informationen
DE2917441B2 (de) Verfahren und Schaltungsanordnung zur datenwegunabhängigen Reservierung, Freigabe und Wiederverbindung nach Unterbrechung von Ein- und/oder Ausgabegeräten und Speichergeräten in einen datenverarbeitenden Multiprozessorsystem
DE3502147C2 (de)
DE69822364T2 (de) Aufspürung von heissen Stellen in einer Maschine mit nichtuniformen Speicherzugriffen
DE4335061C2 (de) Mehrspeichervorrichtung
DE69919584T2 (de) Betriebsmittelsteuerung in einer datenverarbeitungsanlage
EP0739509B1 (de) Anordnung mit master- und slave-einheiten
DE3911721A1 (de) Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem
CH670715A5 (de)
DE10146516A1 (de) Programmgesteuerte Einheit
DE1966991A1 (de) Ausfallgesicherte datenverarbeitungsanlage
DE2717700A1 (de) Speicherzugriffsanordnung
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
EP0556430B1 (de) Verfahren zur Steuerung eines Peripheriesystems
DE2542845C3 (de)
DE4028317B4 (de) Einem Busarbitrationsverfahren nachgeschaltetes Verfahren zur dezentralen Überwachung des Zugriffs auf gemeinsam nutzbare Komponenten eines Multimikrocomputersystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: VORBACH, MARTIN, 76149 KARLSRUHE, DE MUENCH, ROBER

8381 Inventor (new situation)

Free format text: VORBACH, MARTIN, 76149 KARLSRUHE, DE

8327 Change in the person/name/address of the patent owner

Owner name: PACT INFORMATIONSTECHNOLOGIE GMBH, 81545 MUENCHEN,

8327 Change in the person/name/address of the patent owner

Owner name: PACT XPP TECHNOLOGIES AG, 80939 MUENCHEN, DE

8339 Ceased/non-payment of the annual fee