DE4221278C2 - Busgekoppeltes Mehrrechnersystem - Google Patents
Busgekoppeltes MehrrechnersystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/17—Interprocessor 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.
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)
(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).
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.
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.
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)
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)
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)
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 |
-
1992
- 1992-06-29 DE DE19924221278 patent/DE4221278C2/de not_active Expired - Fee Related
Cited By (48)
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 |