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
Application number
DE19873708887
Other languages
English (en)
Other versions
DE3708887A1 (de
Inventor
Martin 5000 Koeln De Neschen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE19873708887 priority Critical patent/DE3708887A1/de
Publication of DE3708887A1 publication Critical patent/DE3708887A1/de
Application granted granted Critical
Publication of DE3708887C2 publication Critical patent/DE3708887C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus 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.
DE19873708887 1987-03-19 1987-03-19 Paralleler datenbus Granted DE3708887A1 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3118266B2 (ja) * 1990-03-06 2000-12-18 ゼロックス コーポレイション 同期セグメントバスとバス通信方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0063140A1 (de) * 1980-10-23 1982-10-27 Ncr Corporation Datenkommunikationsbusstruktur
JPS5945527A (ja) * 1982-09-07 1984-03-14 Hitachi Ltd バス制御方法

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
DE102020122174A1 (de) Berechne-in/nahe speicher- (cim) schaltungsarchitektur für vereinheitlichte matrix-matrix- und matrix-vektor-berechnungen
DE2723466C2 (de) Sammelleitungsanordnung
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
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
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
DE2809405B2 (de) Prioritätssteuerschaltung
DE60033624T2 (de) Rekonfigurierungsverfahren für ein gatter von identischen funktionselementen
EP1599794B1 (de) Prozessor mit verschiedenartigen steuerwerken für gemeinsam genutzte ressourcen
DE3708887C2 (de)
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
WO2006058358A2 (de) Verfahren zum steuern der zyklischen zuführung von instruktionswörtern zu rechenelementen und datenverarbeitungseinrichtung mit einer solchen steuerung
EP1348257B1 (de) Zellenanordnung mit segmentierter zwischenzellstruktur

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