DE3708887C2 - - Google Patents
Info
- Publication number
- DE3708887C2 DE3708887C2 DE19873708887 DE3708887A DE3708887C2 DE 3708887 C2 DE3708887 C2 DE 3708887C2 DE 19873708887 DE19873708887 DE 19873708887 DE 3708887 A DE3708887 A DE 3708887A DE 3708887 C2 DE3708887 C2 DE 3708887C2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- data
- parallel
- units
- data bus
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft einen parallelen Datenbus zur
Verbindung mehrerer Einheiten einer datenverarbeitenden
Einrichtung.
Es ist bekannt, zur Verbindung der verschiedenen Ein
heiten einer Datenverarbeitungsanlage untereinander einen
parallelen Datenbus zu verwenden, auf dem alle Einheiten,
z. B. die zentrale Recheneinheit (CPU), Speichereinheiten
oder Ein- und Ausgabeeinheiten (I/O) als Sender oder
Empfänger arbeiten können. Der herkömmliche parallele
Datenbus stellt eine gleichzeitige elektrische Verbindung
zwischen allen Einheiten her, so daß zu jeder Zeit nur
jeweils eine Einheit senden darf. Außerdem ergeben sich
durch die Länge der Buseinheiten bekannte Schwierigkeiten
infolge von Reflexionen und kapazitiver Belastung, die
zu längeren Laufzeiten führen und nur durch einen
aufwendigen elektrischen Abschluß der Busleitungen behoben
werden können. Diese Nachteile können dadurch
vermieden werden, daß die Busleitungen in verschiedene
Abschnitte aufgeteilt sind, denen jeweils ein Bustreiber
zugeordnet ist. Ein solcher paralleler Datenbus ist aus
der WO 82/01 607 A1 bekannt. Bei diesem Datenbus wird
eine Erhöhung der Datentransferleistung durch zeitlich
versetzten Buszugriff (multiplexing) erreicht. Da auf dem
Datenbus zu jeder Zeit nur ein Datenwort übertragen
werden kann, d. h. mehrere Einheiten nicht gleichzeitig
senden können, ist jedoch die Transferrate beschränkt.
Zur Synchronisation der Datenübertragung auf einen
parallelen Datenbus werden bestimmte Schaltungen
benötigt, die man als "bus arbiter" bezeichnet. Falls
mehrere Einheiten gleichzeitig senden wollen, kommt es
aufgrund dieser Synchronisation zu Wartezeiten, die
insbesondere die Leistungsfähigkeit eines Systems mit
mehreren CPU-Komponenten extrem herabsetzen können. Zur
Durchführung einer bestimmten Operation benötigt man in
diesem Konzept mehrere Buszugriffe zum Laden der dafür
benötigten Operanden und zum anschließenden Rück
speichern. Rechner
dieser Struktur nennt man von-Neumann-Rechner, häufig
auch sequentielle Rechner, weil diese Zugriffe nachein
ander erfolgen müssen.
Bekannt ist ferner das Pipeline-Prinzip, das eine bessere
Ausnutzung der Recheneinheiten dadurch gestattet, daß
eine Reihe von Daten in einer Art Fließband-Verfahren
verarbeitet werden. Hierzu ist ein größerer Aufwand für
die Verbindungen erforderlich, d. h. mehrere Busse werden
zum Laden und Entladen der Einheiten benötigt. Häufig
werden auch verschiedene Einheiten direkt hintereinander
geschaltet. Durch ein Speichern der Zwischenresultate
hinter jeder Einheit in "latches", also getakteten
Zwischenregistern (D-flip-flops), ist es möglich, schon
vor dem vollständigen Abarbeiten der ersten Daten neue in
die Pipeline zu laden und so die Leistung des Computers
stark zu erhöhen. Solche Computer nennt man Vektor
rechner, weil es meist nur möglich ist, dieselbe
Operation auf alle Elemente eines Vektors, also einer
Reihe von Daten, anzuwenden.
Bei der Entwicklung von immer schnelleren Computer
systemen stößt man schnell auf eine technologische
Grenze, die durch die Taktfrequenz der Recheneinheit und
der Speicher vorgegeben ist. Daher wurden sogenannte
Parallelrechner entwickelt, die durch gleichzeitiges
Ausnutzen mehrerer Prozessoren die verfügbare Leistung
erhöhen. Diese Rechner existieren sowohl in der Form von
Array-Prozessoren (SIMD-Struktur), bei denen die Befehls
dekodierung zentral erfolgt, als auch als Multi-
Prozessor-Systeme (MIMD-Struktur), bei denen viele
gleichartige unabhängige Rechner zusammengeschaltet
werden. In beiden Fällen benötigt man zur Kommunikation
sehr viele Zwischenverbindungen.
Eine weitere Erhöhung der Leistung kann man durch
Konstruktion von Spezialcomputern erreichen, deren Unter
einheiten auch nach dem Pipeline-Prinzip miteinander
verbunden werden können, wobei durch Spezialisierung auf
bestimmte Probleme diese Verbindungen sehr viel günstiger
angelegt und auch der Aufwand an Hardware reduziert
werden kann.
Bekannt sind weiterhin Datenflußrechner, bei denen die
Ablaufsteuerung eines Algorithmus nicht explizit durch
entsprechende Kontrollstrukturen des Programms bestimmt
wird, sondern aus dem Datenfluß abgeleitet wird. Hier
durch wird Parallelisierung auf Operationsebene ermög
licht.
Bei diesen bisher bekannten Computerarchitekturen
bestehen jedoch verschiedene Nachteile. Möchte man die
Leistungsfähigkeit dadurch erhöhen, daß man viele Rechen
einheiten einsetzt, so ist dies mit einem herkömmlichen
parallelen Datenbus nicht möglich, weil sich Einheiten
hierbei zu häufig gegenseitig blockieren.
Wählt man einen Parallelrechner, so benötigt man eine
große Anzahl von langen Verbindungen, die häufig viel
langsamer als parallele, kurze Verbindungen sind.
Meistens ist auch nicht jede Einheit mit jeder anderen zu
verbinden, so daß die Klasse von Problemen, die mit
solchen Systemen effizient zu behandeln sind, stark
eingeschränkt ist und die Programmierung eines Parallel-
Prozessor-Systems mit sehr vielen Schwierigkeiten verbun
den ist.
Bei Vektorrechnern ist die Verknüpfung der Einheiten zu
einer Pipeline auf wenige Fälle eingeschränkt. Sie kann
nicht schnell umkonfiguriert werden, so daß sich die
volle Leistung des Rechners erst bei sehr großen
Vektorlängen ergibt.
Spezialcomputer sind in der Anwendung auf wenige einfach
strukturierte Probleme mit festen Algorithmen beschränkt
und müssen für jedes Problem neu konstruiert werden.
Datenflußrechner können meist das gesetzte Ziel der
automatischen Parallelisierung auf Operationsebene nicht
erfüllen, weil es sehr schwierig ist, zur Ausführungszeit
die Operanden und Operationen so auf die Einheiten zu
verteilen, daß alle Einheiten voll ausgenutzt werden.
Der Erfindung liegt die Aufgabe zugrunde, einen
parallelen Datenbus mit hoher Taktgeschwindigkeit und extremer
Transferleistung zu schaffen, der sowohl die Möglichkeit
des gleichzeitigen Sendens durch mehrere Einheiten, als
auch die Möglichkeit des Pipeline-Prinzips zuläßt, wobei,
im Gegensatz zu den bekannten Lösungen in Vektorrechnern
und in Spezialcomputern, die Verknüpfung der Einheiten zu
einer Pipeline nicht auf wenige Möglichkeiten beschränkt
sein soll.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß
die Busleitung durch zwischengeschaltete Register in
Abschnitte aufgeteilt sind, eine Steuereinheit über
Steuerleitungen an jedes Register und an jede Einheit der
datenverarbeitenden Einrichtung die Richtung des Daten
transfers im jeweiligen Abschnitt festlegende Steuerbits
liefert, womit in jedem Abschnitt zu jedem Zeitpunkt auf
den Busleitungen unabhängig Daten übertragbar und fließ
bandartig transportierbar sind.
Durch die Unterteilung des Datenbusses in einzelne
Abschnitte, deren Länge wenige Zentimeter betragen kann,
wird die Laufzeit der elektrischen Signale stark redu
ziert, so daß höhere Taktfrequenzen und damit höhere
Datenübertragungsraten möglich sind. Der gemeinsame
Taktimpuls kann dabei durchaus innerhalb der Schaltung
größere Phasenverschiebungen aufgrund von Laufzeitunter
schieden erfahren. Wichtig zur korrekten Datenübermitt
lung sind lediglich die Unterschiede relativ zur Nachbar
einheit.
Durch die Unterteilung wird weiterhin bewirkt, daß
gleichzeitig mehrere Einheiten Daten in den die verschie
denen Abschnitte des Datenbusses trennenden Zwischenre
gistern ablegen können. Die Daten können dann wie auf
einem Fließband zu den anderen Einheiten weitergegeben
werden. Die Zwischenregister bilden dabei ein sehr großes
Schieberegister. Aufgrund dieser Struktur sind viel
höhere Übertragungsraten erzielbar, als bisher durch den
Stand der Technik erreicht wurden. So ist z. B. gleich
zeitiges Senden von allen Einheiten aus möglich. Die
Leistungsfähigkeit des Datenbusses wird vervielfacht,
ohne dabei den Hardware-Aufwand für die Verbindungen
entsprechend zu erhöhen. Durch eine Festsetzung der
Zugangsstellen auf einen freien Platz des Datenbusses und
durch Angabe der Zielstellen läßt sich eine flexible
Verbindung verschiedener Einheiten in Form einer Pipeline
erzielen. Dabei können im Gegensatz zu Vektorrechnern
viele Bearbeitungseinheiten verbunden werden. Eine Ver
bindung von benachbarten Einheiten, wie bei einigen
Parallelrechnern, ist dabei nicht notwendig, zur besseren
Ausnutzung des Datenbusses jedoch zweckmäßig.
Die Steuerung der einzelnen Busregister wird nicht, wie
beim Stand der Technik, durch aufwendige, schnelle
Schaltungen, also "bus arbiter" geregelt, die zur Ent
scheidung der Bussteuerung zusätzlich Zeit benötigen
würden. Sie wird vielmehr global durch eine Steuereinheit
vorgenommen, z. B. durch einen Mikrocodespeicher, der die
Steuersignale sehr schnell ohne zusätzliche logische
Decodierung liefern kann.
Da die Steuerung des Datenbusses direkt durch den
Mikrocode vorgenommen wird, ist eine ständige Änderung
der Verbindungen zwischen den Einheiten möglich. Insbe
sondere ist der Aufbau einer neuen Pipeline möglich,
während die letzte noch nicht ganz beendet ist. Diese
Eigenschaft verbessert extrem die Rechenleistung bei
Operationen auf kurzen Vektoren. Ferner ist die parallele
Verarbeitung mehrerer unabhängiger Operationen möglich.
Die Busregister können zum Zwischenspeichern von Operan
den dienen, sie können also als Erweiterung des Register
satzes der einzelnen Recheneinheiten angesehen werden,
wobei die Busregister von allen Einheiten gemeinsam
benutzt werden können.
Da der erfindungsgemäße Datenbus durch den einfachen und
symmetrischen Aufbau schichtweise angelegt werden kann,
ist eine einfache Erweiterung auf mehrere, von allen
Einheiten zugängliche Busse möglich.
Vorzugsweise sind Zwischenregister für den Zugang zum
Datenbus und das Annehmen von Daten vorgesehen. Dadurch
kann die Übertragungsrate auf den Datenbus ein Vielfaches
der Arbeitstaktfrequenz der Einheiten annehmen und eine
noch höhere Leistungsfähigkeit des Datenbusses erreicht
werden. Da die Operanden für eine gewisse Zeit zwischen
gespeichert werden können, kann auf einen freien Platz im
Datenbus gewartet werden, so daß Konflikte vermieden
werden.
In einer besonderen Ausführungsform sind mehrere
Zwischenregister parallel geschaltet. Hierdurch wird eine
Erhöhung der Anzahl der Zwischenregister, sowie, eben
falls über den Mikrocode gesteuert, eine fast beliebige
Verzögerung von Daten, z. B. von Zwischenresultaten, auf
dem Datenbus erreicht. Auf diese Weise kann sogar ein
FIFO-Speicher auf dem Datenbus angelegt werden. Bei
dieser Ausführungsform lassen sich Kollisionen auf dem
Datenbus, die zu einer längeren Ausführzeit des Programms
führen würden, durch den Compiler beseitigen, indem
gezielt Datenwerte auf dem Datenbus verzögert werden.
Der erfindungsgemäße Datenbus kann mehrere getrennt
steuerbare, parallel geschaltete Datenbusse aufweisen.
Dabei werden für jeden Bus getrennt Ein- und Ausgangsre
gister zur Verfügung gestellt. Das Umschalten zwischen
den verschiedenen Registern geschieht ebenfalls über die
Steuereinheit. Bei dieser Ausführungsform kann man dann,
wenn bestimmte Datenbusse an einer bestimmten Einheit
belegt sind, auf einen anderen Datenbus ausweichen. Auf
diese Weise kann auf Zwischenspeicher auf den verschiede
nen Einheiten verzichtet werden. Stehen mehrere Daten
busse zur Verfügung, so können diese in verschiedene
Richtungen übertragen, so daß man zur Übermittlung immer
die kürzere Richtung wählen kann. Vorzugsweise ist jeder
dieser Datenbusse als Modul ausgebildet, so daß der
Aufbau eines solchen Systems von Datenbussen durch
Aneinanderstecken mehrerer Bus-Module geschehen kann.
Umgekehrt kann man in einem bevorzugten Ausführungsbei
spiel der Erfindung alle Abschnitte von Datenbussen, die
zu einer bestimmten Einheit gehören, zusammen mit dem
dafür zuständigen Teil der Steuereinheit zu einem Modul
zusammenfassen und auf diese Weise ein System aufbauen,
bei dem sich leicht durch Aufstecken von weiteren Modulen
die Anzahl der Einheiten erhöhen läßt. Hierbei werden
lediglich die Programmadresse sowie einige andere Steuer
leitungen global parallel und synchron an alle Abschnitte
übertragen. Die Modulbauweise erfordert lediglich die
Konstruktion einer Platine ohne lokalen Speicher und ohne
Busverwaltung, da für alle Einheiten die gleiche Grund-
Busplatine mit Kontrolleinheit verwendet werden kann. Auf
diese Weise ist ein schneller Aufbau von Spezialcomputern
durch die Konstruktion von Spezialplatinen möglich, wobei
die neue Schaltung an beliebigen, möglicherweise auch an
mehreren Stellen in einer Pipeline eingefügt wird, ohne
die Verdrahtung der Maschine zu verändern. Somit wird
durch die Struktur des Computers die Enwicklung von
Hardware sehr viel billiger. Dies ist von besonderer
Bedeutung, da durch den enormen Preisverfall der Bauele
mente diese heute nicht mehr den Hauptteil der Kosten
ausmachen. Vielmehr besteht häufig das Problem, extrem
leistungsfähige und dabei preiswerte Bauelemente mit den
nötigen Daten zu versorgen.
Die erfindungsgemäße Computerarchitektur ist auch für
General-Purpose-Rechner besonders geeignet, weil sie den
Bau automatisch parallelisierender Compiler erleichtert.
Man kann nämlich bislang durch einen Compiler eine
Möglichkeit zur parallelen Ausführung viel besser auf
Befehlsebene als auf Task-Ebene erkennen. Besteht ein
Rechner aus vielen unabhängigen Prozessoren, so ist im
allgemeinen wegen des hohen Aufwands für die Kommuni
kation nur eine Parallelisierung auf Task- oder Prozeß
ebene sinnvoll. Diese Art von Parallelisierung kann man
mit Compilern bislang kaum automatisch durchführen, so
daß dem Benutzer also die Aufgabe zufällt, das Problem
möglichst gut zu zerlegen. Dies schränkt das Anwendungs
gebiet solcher Multi-Prozessor-Rechner ein und erhöht den
Software-Aufwand.
Werden die Einheiten jedoch direkt durch eine Art
Mikrocode global gesteuert, so ist eine sehr flexible
Parallelisierung auf einer niedrigen Ebene, nämlich auf
der Ebene einzelner Operationen, möglich. Diese kann gut
durch Compiler erkannt werden. Die optimale Ausnutzung
der Einheiten wird schon vor der Programmausführung
festgelegt. Somit bedeutet die neue Architektur nicht nur
eine erhebliche Reduktion der Hardware-Kosten, sondern
auch eine Vereinfachung für die Software-Entwicklung,
weil viele Optimierungen automatisch durchgeführt werden
können.
Es ist sowohl das Aufstellen von sehr komplexen
Pipelines, als auch eine Parallelverarbeitung in mehreren
Pipelines konfigurierbar, also eine Art Multi-Prozessor-
Vektorrechner. Man hat keine unabhängig arbeitenden
Einheiten, sie müssen jedoch anders als bei herkömmlichen
Array-Prozessor-Systemen nicht alle denselben Befehl
ausführen, weil für jede Einheit eine getrennte Steuerung
vorgesehen ist. Lediglich die Adresse des gerade auszu
führenden Befehls sollte gleich an allen Einheiten
anliegen, damit sich das gesamte System in einem globalen
Zustand befindet. Dies kann, ebenso wie die Weiterleitung
von Sprungbedingungen, über parallele, synchrone Verbin
dungen erfolgen.
Ein bevorzugtes Ausführungsbeispiel der Erfindung ist in
der Zeichnung dargestellt und wird im folgenden näher
beschrieben. Es zeigen:
Fig. 1 ein allgemeines Schema des parallelen Daten
busses und
Fig. 2 ein konkretes Ausführungsbeispiel.
Fig. 1 zeigt ein allgemeines Schema des parallelen
Datenbusses, wobei dieser mit Einheiten 1 einer datenver
arbeitenden Einrichtung durch bidirektionale Bustreiber 2
verbunden ist. Die parallelen Busleitungen 5 des Daten
busses werden dabei durch viele Zwischenregister 3 in
mehrere Abschnitte unterteilt, die unabhängig Daten
übertragen können. Die Richtung des Datentransfers ist in
der Zeichnung durch Pfeile dargestellt. Auf jedem dieser
Abschnitte kann dabei entweder der Bustreiber 2 der
dazugehörigen Einheit 1 oder das davorliegenden Zwischen
register 3 als Sender wirken. Die Umschaltung zwischen
dem Bustreiber 2 und dem Zwischenregister 3 kann durch
Multiplexer erfolgen oder durch Parallelschaltung von
Tri-State-Ausgängen. Eine globale Steuereinheit 4 be
stimmt dabei über Steuerleitungen 7 das Verhalten sowohl
der Einheiten 1 als auch der Bustreiber 2 und Zwischen
register 3. Der Datenbus kann linear oder ringförmig
geschlossen sein.
Bei dem in Fig. 2 gezeigten konkreten Ausführungsbei
spiel werden in jedem Abschnitt des Datenbusses die
Zwischenregister 3 sowohl als Busregister 3 a als auch als
Ausgangsregister 3 b und Eingangsregister 3 c der Einheit 1
eingesetzt. Es sind jeweils 2 Busregister 3 a parallel
geschaltet. Die Ausgangs- und Eingangsregister 3 b bzw. 3 c
bilden den in Fig. 1 dargestellten Bustreiber 2. Der
Datentransfer zum Datenbus geschieht über zwei getrennte
32 Bit breite Pfade, die Eingangsleitungen 8 und die
Ausgangsleitungen 9. Dadurch wird eine hohe Transferlei
stung erzielt.
In jedem Abschnitt sind sechs parallele Datenbusse
parallel geschaltet. Sie besitzen getrennte Eingangs- und
Ausgangsregister 3 c bzw. 3 b, benutzen aber dieselben
Eingangs- und Ausgangsleitungen 8 bzw. 9. Das Umschalten
der verschiedenen Sender auf diesen Leitungen geschieht,
genau wie das Umschalten der Busregister 3 a, durch
Parallelschaltung der Tri-State-Ausgänge der Register mit
Hilfe der Output-Enable-Eingänge.
Als Bus-, Eingangs- und Ausgangsregister 3 a, 3 c bzw. 3 b
werden zweckmäßigerweise Standard-Bauelemente, wie z. B.
die latches 74 AC 574 verwendet. Diese IC′s erlauben ein
gleichzeitiges Zwischenspeichern von 8 Bit sowie ein
Multiplexen bei Parallelschaltung von gleichen Registern
durch Umschaltung der Output-Enable-Eingänge.
In dem in Fig. 2 gezeigten Ausführungsbeispiel werden
die zu einem Abschnitt gehörenden Elemente des Daten
busses, sowie ein Teil der Steuereinheit 4 zu einem Modul
10 zusammengefaßt. Das Modul 10 kann in Form einer
Platine aufgebaut werden, so daß ein Bus durch Aufeinan
derstecken dieser Platinen zusammengesetzt werden kann.
Die Busleitungen 5 laufen dabei durch Steckverbinder
zwischen den Platinen. An jeder Busplatine kann ferner
eine Einheit 6 aufgesteckt werden, die durch die
Steuerleitung 7, die Eingangsleitung 8 und die Ausgangs
leitung 9 mit dem Datenbus verbunden wird. Jedes Modul 10
mit aufgesteckter Einheit 1 wird durch einen Abschnitt
der Steuereinheit 4 über die Steuerleitung 7 gesteuert.
Damit die verschiedenen Abschnitte der Steuereinheit 4
als globale Steuerung wirken können, werden sie durch
eine parallele Adreßleitung 6 miteinander verbunden, über
die zentral von einem Sequencer Programmadressen angelegt
werden.
Mit den heute verfügbaren CMOS-Technologien können
Bustaktraten von 40 Mhz erreicht werden. In dem betrach
teten Ausführungsbeispiel werden dabei die Einheiten 1
mit 20 Mhz getaktet, was ungefähr dem heutigen Maximum
für floating-point-IC′s in CMOS-Technologie entspricht.
Bei Verwendung von 6 Bussen können maximal 12 Operanden
zu jeder Einheit 1 pro Arbeitstakt geleitet werden. Dies
entspricht einer maximalen Übertragungsrate von fast 1
Gigabytes pro Einheit. Da die Steuereinheit 4 bei dieser
Ausführung auf die Module 10 verteilt ist, kann man
erreichen, daß keine der kritischen Leitungen, auf denen
mit einer Rate von 40 Mhz umgeschaltet wird, länger als
20 cm ist, so daß keine elektrischen Probleme zu erwarten
sind.
Die Steuereinheit 4 muß alle 50 ns 36 Steuerbits für
jeden Datenbus und weitere Bits für jede Einheit 1 zur
Verfügung stellen. Um dies zu erreichen, kann man zwei
Bänke von dynamischen Speichern mit 100 ns Zugriffszeit
im Page-Modus einsetzen.
Claims (5)
1. Paralleler Datenbus zur Verbindung mehrerer Einhei
ten einer datenverarbeitenden Einrichtung,
dadurch gekennzeichnet, daß die
Busleitungen (5) durch zwischengeschaltete Register
(3, 3 a, 3 b, 3 c) in Abschnitte aufgeteilt sind eine
Steuereinheit (4) über Steuerleitungen (7) an jedes
Register (3, 3 a, 3 b, 3 c) und an jede Einheit (1) der
datenverarbeitenden Einrichtung die Richtung des
Datentransfers im jeweiligen Abschnitt festlegende
Steuerbits liefert, womit in jedem Abschnitt zu
jedem Zeitpunkt auf den Busleitungen (5) unabhängig
Daten übertragbar und fließbandartig transportierbar
sind.
2. Paralleler Datenbus nach Anspruch 1, dadurch
gekennzeichnet, daß Zwischenregister
(Eingangsregister 3 c und Ausgangsregister 3 b) für
den Zugang zum Datenbus und das Annehmen von Daten
vorgesehen sind.
3. Paralleler Datenbus nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß mehrere
Zwischenregister (3 a) parallel geschaltet sind.
4. Paralleler Datenbus nach einem der Ansprüche 1 bis
3, dadurch gekennzeichnet, daß
er mehrere getrennt steuerbare, parallel geschaltete
Datenbusse (Bus 1 . . . Bus 6) aufweist.
5. Paralleler Datenbus nach Anspruch 4, dadurch
gekennzeichnet, daß er modular aufgebaut
ist, wobei diejenigen Abschnitte von Datenbussen
(Bus 1 . . . Bus 6), die zu einer bestimmten Einheit (1) gehören,
zusammen mit einem Teil der Steuereinheit (4) zu
einem Modul (10) gehören, so daß viele im wesentlichen
gleich aufgebaute Module (10) zusammensteckbar
sind.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19873708887 DE3708887A1 (de) | 1987-03-19 | 1987-03-19 | Paralleler datenbus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19873708887 DE3708887A1 (de) | 1987-03-19 | 1987-03-19 | Paralleler datenbus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3708887A1 DE3708887A1 (de) | 1988-09-29 |
DE3708887C2 true DE3708887C2 (de) | 1989-11-09 |
Family
ID=6323429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873708887 Granted DE3708887A1 (de) | 1987-03-19 | 1987-03-19 | Paralleler datenbus |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3708887A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3118266B2 (ja) * | 1990-03-06 | 2000-12-18 | ゼロックス コーポレイション | 同期セグメントバスとバス通信方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1982001607A1 (en) * | 1980-10-23 | 1982-05-13 | Ncr Co | Data communication bus structure |
JPS5945527A (ja) * | 1982-09-07 | 1984-03-14 | Hitachi Ltd | バス制御方法 |
-
1987
- 1987-03-19 DE DE19873708887 patent/DE3708887A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
DE3708887A1 (de) | 1988-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19722365B4 (de) | Rekonfigurierbares Rechenbauelement | |
DE69827589T2 (de) | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen | |
EP0428770B1 (de) | Datengesteuerter Arrayprozessor | |
EP1146432B1 (de) | Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit | |
EP0961980B1 (de) | Verfahren zur selbstsynchronisation von konfigurierbaren elementen eines programmierbaren bausteines | |
DE3049437C2 (de) | Matrixanordnung einer Vielzahl von Verarbeitungselementen | |
DE3856015T2 (de) | Berechnungseinrichtung für Parallelprozessoren | |
DE2723466C2 (de) | Sammelleitungsanordnung | |
DE60317629T2 (de) | Konfigurierbare synchrone oder asynchrone busschnittstelle | |
EP1329816A2 (de) | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) | |
EP0960374A2 (de) | Internes bussystem für dfps, sowie bausteine mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen, zur bewältigung grosser datenmengen mit hohem vernetzungsaufwand | |
DE3933171A1 (de) | Einzelchip-prozessor fuer komplexe gleitkommazahlen | |
WO1998029952A1 (de) | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) | |
DE602004009324T2 (de) | Integrierte datenverarbeitungsschaltung mit mehreren programmierbaren prozessoren | |
WO2001024368A1 (de) | Rekonfigurierbares gate-array | |
DE2835095A1 (de) | Gekoppeltes, mikroprogrammiertes prozessorsystem | |
EP1599794B1 (de) | Prozessor mit verschiedenartigen steuerwerken für gemeinsam genutzte ressourcen | |
DE68903280T2 (de) | Vektorschlange in computern mit vektorregister. | |
DE3708887C2 (de) | ||
EP1116129B1 (de) | Konfigurierbarer hardware-block | |
DE602004005820T2 (de) | Prozessorarray | |
DE10110567B4 (de) | Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen | |
EP1038235B1 (de) | Vorrichtung zum hierarchischen verbinden einer mehrzahl von funktionseinheiten in einem prozessor | |
DE102006027181A1 (de) | Prozessor mit internem Raster von Ausführungseinheiten | |
DE3853256T2 (de) | Parallele Pipelinerechner. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8365 | Fully valid after opposition proceedings | ||
8380 | Miscellaneous part iii |
Free format text: PATENTANSPRUCH 1, SPALTE 6, ZEILE 48 NACH "UND" "KOMMA" EINFUEGEN |
|
8339 | Ceased/non-payment of the annual fee |