"Verfahren und Vorrichtung"
Beschreibung
Die vorliegende Erfindung betrifft das oberbegrifflich Beanspruchte. Damit befaßt sich die vorliegende Erfindung mit Verbesserungen an Logi zellenarrays . Logikzellenarrays, insbesondere auch rekonfigurierbare, sind bekannt. Zur Gattung dieser Bausteine zählen insbesondere sy- stolische Arrays, neuronale Netze, Mehrpozessorsysteme, Prozessoren mit mehreren Rechenwerken und/oder logischen Zellen und/oder kommunikativen/peripheren Zellen (E/A, d.h. 10) , Vernetzungs- und/oder Netzwerkbausteine wie z.B. Crossbar- Schalter, ebenso wie bekannte Bausteine der Gattung FPGA, DPGA, Xputer, Chameleon etc.. Hingewiesen wird in diesem Zusammenhang insbesondere auf die folgenden auf die vorliegenden Anmelder zurückgehenden Schutzrechte, die zu Offenba- rungszwecken durch Bezugnahme vollumfänglich eingegliedert sind: DE 44 16 881, DE 197 81 412, DE 197 81 483, DE 196 54 846, DE 196 54 593, DE 197 04 044, DE 198 80 129, DE 198 61 088, DE 199 80 312, PCT/DE 00/01869, DE 100 36 627, DE 100 2Ϊ 397 DE 101 10 530, DE 101 11 014, PCT/EP 00/10516, EP 01 102 674 sowie Familienmitglieder hierzu. Logikzellen sind somit definiert als beliebige Logik und/oder Arithmetik und/oder Schalter und/oder Speicher und/oder Peripherie beinhaltender Zellen. Während für derartige Systeme im Stand der Technik, insbesondere dem vorstehend zitierten, eine Reihe von Ansätzen bekannt sind, um eine effiziente Verarbeitung von Daten prinzipiell zu ermöglichen, und diese Ansätze auch gut in Hardware- Architekturen implementierbar sind, besteht bei der prakti- sehen Umsetzung dennoch der Wunsch, möglichst günstige Auslegungen zu gewährleisten, die insbesondere platzsparend auf einem Wafer untergebracht werden und/oder energiesparend betrieben werden können;' überdies ist es wünschenswert, besonders vorteilhafte Arten des Betriebes zu finden.
BESTATIGUNGSKOPIE
-t^ 4^ > t t o o o φ N CQ CQ DJ 3 r+ t? O S3 α 3 σ N M co DJ d. tu < O. « U3 <1 3 ω CQ tsi tr 03 Ω tsi CO H 3 rt t i tS3 ?V tsi O M
P 3 o O 3 P- F- co H- i > φ P- φ DJ s: P- Ω 3 φ 3 P- φ P- Φ Φ Φ 3 rr 3 Φ 3: tr 3 rt P P- Φ Φ Φ DJ φ rt P-
Hl tr 3 O- et φ Φ et ti et tr r+ DJ 3 tr P φ 3 Φ 3 P P 3 P- DJ 3 Φ P DJ ιQ co 3 3 DJ 3 o σ DJ F- Φ Φ P H- ω Φ Φ N CQ h Φ P tr Φ φ co ■ L-J- Φ 3 ≤ P- ri- 3: et CL P r+ Φ ω P- 3 1 3 Φ
P P- rt H P- φ ω D ti s: CD Φ 3 Φ P- H ^ φ φ Φ Φ ? σ 3 t P- Φ G 3 σ Φ CO ro ro Φ α rt 3 3 r C < φ H h P- P- tr φ o TJ 3 O- iQ 3 DJ Φ CQ Φ 3 P1 C tr ω 3 co O 3 Φ 3 CL φ α Φ DJ • ti Φ Φ H φ it: 3 et Φ 3 3 tr ? P P- et Φ et ;v P 3 3 φ ω P- P 0_ Φ
P Φ P SD P- 3 J H P- Ϊ tr 3 3 Φ o O Q Φ Hi Φ P- DJ Φ r+ et DJ T5 P P- o 3 h-1 P- N Pi 3 Φ P
H 2 3 3 Φ CL s d H DJ ti a tsi φ 3 t? 3 3 3 tr Φ 3: rt O 3 P- P 3 Pi rt 3 co P- Φ 3 O P- P
F- • £! ιQ Φ φ Ω s: h φ *Ö o Φ φ C O: P- 3 O: 3 3 Φ tr 3 3 H- DJ P- CO DJ: P 3 φ rt P et ιQ
O DJ φ φ P 3 t C: tr P. DJ P- r cQ H CQ 3 P- rt 3 Φ P P S et 3 sQ o 3 DJ DJ 3 N IS 3: CL Φ Pl P tr _! 3 3 13 ti Φ co OJ et et H φ 3 tr π P- 3 3 t? co et Φ <! φ 3 Φ et l→ U2 sQ • <1 P tr Φ P- Φ DJ φ φ Hi tu "^ N 10 O H- φ ?T N co DJ Φ 3 DJ sQ N DJ 3 P- P O 3 U-5 3 Φ Φ 3 φ O CO sQ φ P 3 Ω <!
3 3 tsi Ω Ω r+ tr et Ω ιQ Hi P- ιQ P- et Φ P- et O s CL 3 Φ α DJ P- P 3 S 3 . Φ P P-1 DJ tr P- φ φ co ? • tr tr £ H P- tr Φ DJ 3 Φ et P- 3 φ P- 3 φ Φ 3 φ 3 rt- ^Q N Φ tr 3 P- 3 3 Φ
3 co r+ a> < Cd O r+ ti N P- Φ 3 PJ Φ 3 Φ o • P CO J: DJ P 3 ω P- • P co 3 CO 3 p- Φ CL 3 P- Ω CL p- P
N P φ 3 φ < ts • - Q o P- H P- 3 3 φ Ω 3 "^ et 3 3 P- <! rt P- 3 P- rt tr Φ ?r Φ
CΛ Φ F- 3 P ω Ω Φ σ s; σ P- M 3 tr ιQ φ Φ φ Hi ω P_ ιQ ' 3 o 3: Φ 3 P ω rt P 3
3* φ 13 rf- tr tr <1 ιQ tr H φ Φ C Φ 3 Hi CQ CL Φ - 3 ? Ω DJ P- Φ Φ 3 tr P Φ Ω co Φ CQ p- CL -Q 3 3 Φ F- φ O Φ ti r+ a PS 3 O P Φ φ 5 P O: ?V Ω rt P φ P tr φ Φ o Φ
3 r+ 3 P- 3 H- H co φ • rt- D> r+ PJ Φ P 3 P- P_. 3 3 ? tr -< dö C P ?V 3 P- O rt 3
Ti φ sQ 3 α ιQ Ω =ε Hl Φ σ P- φ P- 3 ra p D • 3 3 DJ φ •- tsi 3 P- rt DJ' O < DJ • 3
EU 3 s: Φ Φ φ φ tr H DJ C: 3 tr 3 α tP P- α 3 tr Φ P 3 DJ £ ιQ P 3 . φ 3 - CL o
H cϊ- 3 H- s: φ t3 H * SD: § φ ιQ DJ 3 co • 3 rt- N tr o 3 DJ 3 P CQ D 3 DJ Ω
DJ P J ti Ω H- P- 3 rt 3 Φ r+ α tr Ti Φ td 3 σ Φ DJ sQ P fr P- 3 3 P tr
3 3 DJ: Φ φ tr t5 ^ CQ a α ≤. Φ et φ DJ Φ P- P D) 3 3 N Φ H1 Φ t 3 φ Φ 3 P- P- s
3 Φ 3 P_, o ^ P- DJ P- P- Φ 3 3 P- 3 Φ P_ 3 P- co 3: 3 P- CQ Φ 3 O 3 : P- CO N 3 P-
Φ Hi 3 tsi iQ t7- f" H- 3 co ω Φ co UQ G Φ tr 3 rt- Φ Ω P 3 φ 3 IQ p- Φ 3 3 Φ Ό 3 N P- Φ
P1 DJ ** =ε co P- pd ιQ ιQ 3 n- ^< tr P φ sQ Φ tr Φ P- Φ ri- P- tr Hi Φ P- 3 φ N P
Φ &> P- 3 φ φ P c Φ σ φ Φ r+ 3 φ 3 3 " co φ co 3S D3 r+ 3 . φ P- rt DJ 3 P 3 P co P 3 P-
P rt 3 DJ tr P- ti Φ ti 3 r+ J <! DJ . P s: Di: o 3 co P- 3 P- Φ 3 3 3 rt tr φ ιQ
3 Ω φ t P- P- Φ φ t-t- r+ <! r+ s: 3 DJ 3 t i - P- P co vQ 3 P- P u3 DJ 3 co ? α 0-, ^ P- Φ ≤ rt ? ti 3 Φ P1 O P Φ 3 P 3 Ω Φ P-, 1 φ s: Φ DJ > DJ Φ ? Φ -^ 3 Φ DJ φ φ
DJ DJ ω Φ Φ r+ O Φ fU φ a 3 DJ P h r P- tr PL i tr1 P P- 3 3 3 P- DJ 3 α CL rt P 3 tr P- rt tr o 3 P Φ < H ti et ≤ 3 C: sQ Φ Ω P Φ P- 3 Φ φ Φ CL N sQ 3 rt Φ Φ ≤ tr 3: Φ rt
Φ co 3 O P- P- tr D> C Φ φ r+ tr P- Φ 3 3 P- n ö- Φ DJ Φ Φ P- s: ω P DJ Φ O 3 Φ
3 H- 3 rt- K 3 φ N O Φ s: Φ C O 3 3 Hi vQ P r+ T) ω Φ P tr 3 3 O Φ Φ P- •» 3
1 φ φ F- S 13 C ti P- Ω tr SQ »* 3 Φ Hl 3 α. o 3 G p- 3 3 P- CL 3 α rt φ tr1 =ε tr 3 SD tr1 •• tr" φ rt tr CQ 3 Φ P o CQ tr 3 φ Φ "« σ Φ rt o DJ Φ 3 CL σ φ F- P p- t DJ O ^ ^ O P P- N o_ P Hl DJ P Φ P- ιQ 3 3 CL Φ P- Φ Φ P t i 3 3 DJ φ
F- Φ Φ Φ φ P ιQ ' Φ Φ ιQ Q. J φ 3 Φ p- ^\ α o 3 Ω IQ Φ 3 N Hi CL Φ K 3 P P rt Φ 3 £p P- rt- H 3 P- s; H- H- S, € P- Φ IQ h P- φ o Φ P Hi 3 σ tr φ 3 Q, • DJ . P DJ Φ Po Φ Φ D
3 α Φ r+ Φ ?^ Φ SU: 0- ΪV 3 c H, α r+ 3 3 DJ Φ φ ^- tu tr 3 P O 3 Φ P- Φ co
3 Φ <! Φ F- N tr a N a O P- φ Φ Φ CL 3 rt P P- N o • P-1 • tr1 3 P P Φ φ α φ P- ^<
^ P 1-3 φ 3 co Φ cα H Φ ι-3 ιQ H Φ Φ P- H P Φ iQ (t iQ IQ 3 O-, CQ Φ rt < CL tsi tr P DJ 3 co
Φ Φ P φ H i3 PJ O H O α o P- 3 tr H1 3 3 Φ 3 φ P- et P- • P- Φ Φ DJ ≤ rt w Φ rt
3 Q F- 3 ιQ CQ φ tr ? J 3 Φ Φ P- P- D- CQ Φ DJ P 3 Φ << rt Φ P h-1 H" ^ Φ O Φ
Φ F- Φ Φ CO P- et Φ Φ c H π K P co co Ω to DJ Φ et et P- *Ό 3 ro rt P- DJ 3 3 < 3
3 co 1 rt Hl P- 3 Φ ■ ti a Hi DJ: tr 3 3 3 CD Φ 3 fυ 3 P- 3 3 N P- Φ Φ rt P- Φ
3 DJ W et 3: o et p- DJ 1 N P- tsi Ü co 3 φ CQ 3 Ti Φ 3 o Φ ω ιQ co DJ Ω 3 3 Φ N 3 φ 3
CL 3 3 Φ tr tr 3 N Φ CO H ?o c Ω φ 3 φ 3: 3 Hi H 3 3 r+ co P Ω Φ o tr tr Φ P "^ S 3 rt co P r+ φ 3 et H P- ≤ tr p- Φ 3 CO P Hi tr DJ rt P- Φ tr 3 Φ Φ 3 <! P- P- N DJ tr co ω rt tr ^ DJ 3 ro ri- 3 P_. DJ N S 3 - et M P to P Φ s: CΛ ? DJ 3
F- 3 co Φ tr h co ■< iQ 3 3 *>• Φ φ td * s: Φ iß 3: 3 Φ 3 Φ TJ rt co 3 φ tr M P Φ Ω DJ tr CO
Φ co •< <! Φ φ P- C CQ 1 DJ D) 3 3 3 » 3 Φ tr T3 P- P P- DJ •< P- O: F- DJ P DJ 3 tr rt co O 3 F- sΩ co 3 "«• Φ Ω C co 3 3 DJ Φ Hi 3 tr P Ti 3 ιQ 3 P-" iQ P 3 φ P- CL
N P_ fi- 3 3 φ φ 3 r 3 tr 3 Φ N α So P (U: DJ t Φ DJ P- C P1 rt Φ tr 3 O < Φ p- φ F- φ tr P- • r+ Φ α 3 Φ <! 3 P- Co Co et 3 3 O co P- Φ σ Φ Φ 3 o 3
1 φ 3 3 3 o a ** P- o P- Φ Φ O 3 1 3 < Ω 1 3 3 1 P- P- 3 φ 1 1 tr fl- 3 et tr 3 1 o tr 3 Φ 1 3 φ Φ 1 P 1 P 3 3 Φ 3
sätzlich notwendigen Protokollleitungen; die Kommunikation eines Paares dicht beieinander liegenden Logikzellen stört dann die Kommunikation eines anderen, dicht beieinander liegenden Paares nicht. So kann die über das Bussystem übertra- gene Datenrate wesentlich gesteigert werden.
Problematisch ist allerdings, daß, wenn derartige Bussystemen, etwa in CMOS-Technik auf Haϊbleiterchips integriert werden, der Aufbau typisch komplex und der Betrieb energetisch ungünstig ist.
Die Aufgabe der vorliegenden Erfindung besteht darin, Neues für die gewerbliche Anwendung bereitzustellen.
Die Lösung dieser Aufgabe wird in unabhängiger Form beansprucht. Bevorzugte Ausführungsformen finden sich in den Unteransprüchen .
Ein erster wesentlicher Aspekt der vorliegenden Erfindung schlägt somit vor, daß bei einer Logikzellenanordnung mit einer Anzahl Logikzellen und einem segmentierten Bussystem für die Logikzellenkommunikation, vorgesehen ist, daß das Bussystem unterschiedliche Segmentlinien mit kürzeren und längeren Segmenten zur Verbindung zweier Punkte umfaßt, um die Anzahl zu durchlaufender Buselemente bei auseinander beabstandeten Kommunikationsstart- und Endpunkten gering halten zu können.
Damit nutzt die vorliegende Erfindung in einem ersten Grund- gedanken, daß sich durch Ausbildung der Busse mit als einfache Leitung gestalteten Segmenten großer Länge für die Überbrückung großer Strecken in einer Logikzellenanordung eine besonders einfache Ausgestaltung und ein besonders sparsamer Betrieb ergibt. Indem zugleich kurze Segmentlinien vorgese- hen werden, ist sichergestellt, daß dennoch alle Punkte wie erforderlich ansprechbar sind.
Bevorzugt sind die Segmentlinien jeweils aus einer Mehrzahl paralleler Leitungen gebildet sind, deren Anzahl durch die Bus-Breite und/oder das Busprotokoll bestimmt ist. Es ist also jedes Segment durch ein Bündel paralleler Leitungen gebildet, so wie dies per se aus dem Stand der Technik bekannt ist. Es versteht sich, daß dann alle Leitungen eines Segmentes im wesentlichen die selben Längen aufweisen; im wesent- liehen bedeutet dabei, daß die Leitungen eines Leitungsbündels alle zu ein und derselben Endpunktlinie wie einem Dateneingang einer Logikzelle geführt sein können, wo sie an
die ihnen bitweise zugeordneten Eingangsglieder gelegt werden können.
Es ist bevorzugt, wenn an datenverändernde Logikzellen wie Recheneinheiten drei der für die verarbeitete Bitbreite erforderlichen Leitungsbündel als Datenzuführungsleitungen zugeführt sind. Dies erlaubt es, innerhalb der Zelle eine Verknüpfung von Operanden A, B, C der Art AxB+C vorzunehmen. Diese Operation ist im Bereich digitaler Signalverarbeitung von besonderer Bedeutung und die Busstruktur somit für Lo- gikzellenarrays zum Aufbau echtzeitrekonfigurierbarer DSP- Arrays besonders geeignet.
Es ist insbesondere bei Logikzellenanordnung, mit denen eine arithmetisch-multiplikative Verknüpfung von Operanden vorgenommen werden kann, besonders bevorzugt, wenn aus den Zellen wenigstens zwei der für die verarbeitete Bitbreite erforderlichen Leitungsbündel für Daten weggeführt sind, insbesondere mit einem Leitungsbündel für höherwertige und einem Lei- tungsbündel für niederwertigere Bits; so kann bei einer Da- tenwortbreite von 32 Bit ein 64 Bit breiter Ausgang erzeugt werden, um das Ergebnis einer Multiplikation in voller Breite auszugeben.
Bei rekonfigurierbaren Logikzellen ist es bevorzugt, wenn insbesondere über das segmentierbare Bussystem Steuereingänge ansprechbar sind, die derart angeordnet sind, daß wenigstens die Steuersignale zur Ablaufsteuerung in der Logikzelle, wie z.B. die Signale Reset, Step, Stop, Go und Reload in die Zelle übertragbar sind. Mit diesen wird ausgelöst und/oder ermöglicht ein "Zurücksetzen, eine Umkonfigurierung und eine Aktivierung. Dazu kann eine entsprechende Anzahl von Bitleitungen vorgesehen werden; bevorzugt werden daher wenigstens zwei Bit breite Datenleitungen für Steuersi- gnaleingänge vorgesehen. Es ist besonders bevorzugt, wenn jedem der steuernden Signale ein separater Signaleingang zugeordnet ist; alternativ kann eine Eingangsverknüpfungschaltung auf einer mehreren Bit breiten Statusleitung für ein ordnungsgemäßes Ansprechen der Zelle sorgen.Diese Steuersi- gnaleingänge sind insofern Steuersignaleingänge, als über sie die konfigfurations- und/oder Rekonfigurationssteuernden (Kontrollfluß-) Signale, insbesondere Triggersignale wie aus dem vorerwähnten Stand der Technik bekannt, an die Zelle geleitet werden können. Die eigentliche Kommunikation der Zel- le mit der oder einer umkonfigurierenden Einheit wie einem Konfigurationsmänager (CT bzw. CM) kann dabei in per se be-
kannter Weise z.B. über das sog. Ready/Ack/Rej -Protokoll erfolgen, das eine Umkonfiguration der Zelle nur unter bestimmten Bedingungen erlaubt. Für die Einzelheiten dieser Protokolle wird auf die einleitend durch Bezugnahme vollum- fänglich eingegliederten Schutzrechte des Anmelders und jedwede weiteren öffentlich zugänglichen Dokumente über die XPP/VPU-Architektur verwiesen.
Das Bussystem kann Segmente zur Verbindung der Logikzellen untereinander umfassen; dies ist der typische Fall und deshalb von besonderer Bedeutung, weil innerhalb des Logikzel- lenarrays ein besonders hoher und effizienter Datendurchsatz benötigt wird, ohne daß sich der Prozessorbaustein etwa durch hohe Verlustleistungen aufheizen soll. Hier ist die vorliegende Erfindung besonders effizient einsetzbar.
Alternativ und/oder zusätzlich kann das Bussystem an interne und/oder externe die Logikzellen konfigurierenden und/oder rekonfigurierenden Einheiten geführt sein; die Busse können insbesondere an einer Vielzahl von datenverarbeitenden und/oder speichernden Logikzellen vorbei zu einer oder mehreren solchen (re-) konfigurierenden Einheiten geführt sein, so daß entweder eine Kommunikation der Zellen untereinander und/oder mit der oder einer konfigurierend Einheit möglich ist. Es sei in diesem Zusammenhang erwähnt, daß prinzipiell ein simultanes Aussenden von Informationen an mehrere Empfänger möglich ist, etwa, um im Falle des Bootens alle Zellen gleichzeitig zurückzusetzen. Die Busstruktur kann dafür entsprechend ausgebildet sein.
Weiter ist es bevorzugt und möglich, wenn das Bussystem zu l/θ-Schnittstellen und/oder zu externen Datenspeichern geführt ist. Es kann mit anderen Worten die Segmentierungs- struktur sowohl innerhalb als auch außerhalb des Logikzel- lenfeldes mit Gewinn genutzt werden.
I/O-Schnittstellen übertragen bausteininterne Bussysteme nach extern. Dabei werden beliebige Bussysteme ggf. zeitlich alternierend zur externen Aus- und/oder Eingabe geschaltet. Zusätzlich kann die Möglichkeit bestehen mehrere Bussysteme derart zusammenzufassen, dass diese aufeinander synchronisiert werden. Beispielsweise können je zwei Ausgabebussysteme oder ein Eingabebus und ein Ausgabebus zusammen synchronisiert werden.
In einer praktischen Ausführung des Bussystem sind eine Reihe von Leitungszwischenelemente vorgesehen; Leitung meint
*- > t t o o O Q N W 3= Φ Hl CQ 3 CQ tr 3 tr ≤ CQ < Hl φ rt α CQ rt 3= 3 CQ CQ CL tr O rt tr O: CQ Hl rt 01 Hi \~> Φ N CL tr
Φ Φ 3 ty p Φ DJ Φ 3 Φ φ φ Φ φ Ti F- 3= F- F- F- 3 F- tr F- Φ Φ Φ φ Φ CL 3 Φ Hl F- O Φ φ O Φ φ F- 3 F- p P" 3 Φ tr P 3 P tr p 3 3 F- Φ Φ 3^ 3 < Φ PJ 3 Φ ΪY 3 P CQ rt F- φ P < Hl pr P P P F- 3 F- P Φ rt P" Pi p 0= CL P φ rt F- F1 P φ J P J - Φ 3 Φ rt P o 3 N CL 3 tr CL tr rt DJ 01 Ω P
• Φ rt t φ CQ ö C P- N CQ φ CQ IS1 φ S tr1 F1 rt P φ 3 DJ P Φ Φ φ -~. Φ φ F- 3 3 Ω tr tr
3 C rt 3 D) DJ P1 rt 3 Φ P Φ PJ 3 φ 3 Φ PJ Φ CL F- 3= 3 Hi φ 3 N rt F" P 3 P 3 3 CL tr CQ Φ
K CL φ O. 3 3 PJ 3 F- 3 tr CL F- F- 3 F- O tr to rt t i Φ F- Hi 3 F1 3 01 3 CL CQ Φ Φ Φ F-
CQ 3 Φ 3 Q Φ Φ 3 3 F- DJ: 3 ? • Φ 3 rt rt Hi Φ 3 Φ φ Φ Φ CQ 3 CQ CQ CQ Φ 3 o 3 3 3 CQ P 3 tr
F- P F- PI 3 p CQ CQ Ω 0= 3 φ F- 3 t i 3 P CQ 3 t-1 rt φ Φ rt Φ 3 CQ 3 CQ 3 tsi Φ φ F-
CQ Ω ω Ω 3 3 CQ et tr 3 < H Ti 3 φ Ti CQ ro 3 tr F- Hl pr CL Φ CQ s N FJ 3 3 φ tr α 3 tr CL to Φ CQ CQ α 3 o tr1 PJ CQ F- PJ Ω P ≤ φ Φ Φ φ DJ PJ 3 Φ Φ DJ ^^ 3 CQ F- 3 Φ L CQ
P- rt PJ CQ Φ 3= tr O F- rt F- Φ 3 Φ tö Φ CQ rt CQ tr Hi Φ 3 P 3 CQ 3 3 3 F1 F- 3 0 CQ CQ 3 Φ tr rt N 3 Ω F- F. 3 C Φ 3 F- Φ X N Φ CQ D) 0 F1 rt Hi Φ CL rr F- O CL 3 3 CL <! to Ω Φ Φ Φ
CQ Φ IQ £ pt CQ CL CL F- α CQ N rt F- Φ S 3 3 H M Ω Φ 0 3= 3 Φ rt CL Φ φ 0 Ω t 0 3 S LQ
DJ F- 3 φ D) α 3 Φ DJ Φ PJ F- 3 tr P F- 3 r CQ tr tr - P ≤ Φ P? CQ CL P 3 tr φ P rt Φ o
P 3 P J DJ N -Φ Q rt F1 φ 3 Φ CQ CQ Φ φ Φ ? CQ φ Φ Φ φ P 0 Φ DJ 3 CL Φ rt 3
D 3 . — . DJ rt 3 3 et < Φ Φ Φ CQ -t LQ 3 Ω Pl: P 3 DJ φ P 0 P F- 3 ^ P PJ tr1 F" Φ 3 DJ CL
3 <J P1 3 C Φ Hl P Φ 3 H Φ Φ <! 3 tr 3 CL Φ 3 3 tr T CL 3 £ Hl o 3 0 rt Φ 3 F" φ
Hl 0 DJ Hl F- 3 DJ P DJ Hl tr1 3 3 0 Hl Φ CQ Φ 3 m F- 3 ω O φ Φ Φ F- 3 to CL CQ Φ Φ rt Φ F" P p< et φ φ C tr 3 tr D) 3= Φ 3 PJ 3 CQ P F- 0 3 CQ Φ CL 3 3 3 P CQ Hi Ω φ F- P 3 Φ F- F1 Φ tr P1 Φ 3 F- Φ 3 p-1 F- N 3 F- F- DJ CQ Φ 3 F" φ 3= 0 CQ F- Hi CL 3 F- „tr P pr *" Φ 3 3 F-
F- 3 Q 3 P PT : Φ 3 Pi rt 3 3 txi ω H α α P- F1 P tr F1 3 Φ F- CQ O φ P CQ DJ φ N 3 rt 3 Φ
3 "CQ Ω P- Φ 3 3 CL P Φ 3 CQ Hl F- Φ Φ Φ PJ 3 . Φ Φ CQ 0 0 3 F- 3 F" P Φ CL rt t"1 F- F- Q Φ 01 CQ
"^ tö M 3 Hl Φ 3 CL 3 3 σ N Φ 3 3 p rt F- < P -> 3 I . 3 F" 3 • Φ P rt F1 F- Φ Φ CQ φ 3
Φ 3 rt DJ Φ 3 Hl rt 3 Hl φ CQ Φ 3 φ Φ Φ t?d F- CL rt 0 P Ti P DJ Φ td F" Φ F- O φ
$, 3 ^ ^ 3 CQ Ti rt • Φ 3 3 Q tn CQ Φ 3 ω 3 P CQ Φ F- 3 F1 3 F- ^. F- α φ rt P P- Φ P? rt F1 F- 3
F- rt rr F- Hi £ 3 3 N 0 Ω 3 3 rt 3 tr rt H Φ 3 F- 3 Φ F1 F- 3 F- 3 3 F- DJ 3 Ω 3
Φ IS1 F- DJ N ω DJ CL 3 Φ • tu rt ≤ 3 tr 3 Φ CQ Φ P tsi ffl C 3 3 P F- Φ φ CL 0 N tr 3 3 3 tr tr1 to rt 3 tr φ rt 3 Φ Φ F. 3 Φ F- C PJ ≤ € PJ PJ F- 3 φ 3 P CQ Φ 3 • φ 3 ! 3 CQ Φ φ φ
Φ Φ F- Φ CQ P 3 CL s; CQ P ffi Φ F- φ p Φ Φ 3 tr PJ tr Φ F- 3 CQ 3 CQ öd F- 3 tr Φ F- F-
3 =S C p rt p CQ 3 Φ Φ CQ Ω F rt Φ F- 0= F- 3 P 3 3 Φ 3 pr CL σ Hi Φ 3 • rt CL Φ Φ 3 a 3 rt
Φ Φ 3 tr ö 3 F- CQ Ω tr φ Φ 3 3 rt 3 CL Ω F- J Φ Φ Φ P td D) Φ •\ 01 CQ F1 φ Φ p. F. . L „—. Φ D) CL rt φ tr Φ 3 t* 3 3 CL φ CL < tr 3 rt 3 CQ CQ H F- 3 F- 3 - • 0 0 DJ Φ 3 P
CL L F- CL t i CQ rt F- Φ tr F- 3 5> 0 CQ Φ 3 3 J o < P- F- 0 rt DJ 3 DJ 3 CL 3 m 3 3
DJ Φ CL Φ Φ =s rt Φ Φ CL p J Φ Φ PJ= 3 CQ P- 3 CQ O 3 3 tr o rt o O 3 tsi 3 tr CQ < φ CL F- CQ φ K Φ ta> 3 DJ P1 P- DJ: 3 PJ CL F1 tr 3 F- CQ Φ CL 3 F- Φ P 3 CL CL 3 tr φ Φ O P Φ Ω Φ 3 DJ P ω tSJ DJ CQ rt tr tΛ ? rt r-> Φ CL ? 3 3 3 Φ 3 rt to < tr P? Φ φ -> rr F- P 3 P P tr 0 rt F1 CQ tr p? S ^ Ω F- DJ Φ DJ φ F- 3 tr N ) Φ P CL φ 0 PJ 3= N P P Φ rt CQ CQ CQ CL Φ P Φ tr rt
F- 0= > P- tr CQ 3 F- CL 3 3 Ω φ J 0 Φ F" F- <J C CQ P 3 P ≤ φ CQ Φ Ti Φ F- tsi CL - φ φ 3 P CQ φ 3 F- 3 tr 3 P CL F1 rt O O φ 3 tsi L N F- P? Φ CQ CQ P tr Φ F- 3 3 φ P
P 3 P. Ω 3 3 N Φ £ φ rt Φ Φ F1 <! Φ p < CL p Φ 3 Φ Φ CQ 0 P? 3 Φ CL φ Φ 3 3 Φ CL F-
Φ DJ 3- tr tQ Q^ F- DJ tr Φ Φ H Φ O p CQ Φ Φ 3 CQ 3 P Ω 3 J •> F- CQ • Ω 3 ^ rt F- rt ^! s 3 ^ Φ F- φ Φ 3 α Φ P N - 3 3 Φ P P t> rr rt CQ Φ tr rt 3 3 Ω tr tr L 0 Φ Φ Φ
F- 3 co tr l-> LQ PJ P- CL 3 fö F- 3 CQ J φ φ 3 Φ P 3 £ Q tr . Φ Φ 3 3 F- CQ P DJ
Φ tr N DJ tr Φ et φ Hl φ Φ 3 3 Φ 3 φ P Φ F- F- < F- 3 O F- tr F1 3 3 3 Oi 3 F- N C ω
CL Q N Φ Φ Φ . — . 3 Φ ω 3 CQ CQ 3 3 P- CL - tr CQ IQ 3 O 3 O P-1 CL Φ Φ 0 Φ 3 Ti Φ 3 £ DJ ω
Φ P- 3 F- F- rt P 3 3 3 DJ F- Φ CL 3 ^^ Φ Φ rt F- P CL t i F1 Φ CQ CQ F- DJ ^! 3 P 3 C F- Hi φ
P 3 rt 3 Φ 3= 3 CD < CQ tr ω φ ^^ φ o 3 P- P 3 Φ CQ 3 φ ≤ F- P CL o CQ 3 3 0 F- Φ Ol φ ^
3 CL 3 Ω CL rt Φ CQ tr Φ et ω CQ O P CL rt DJ 3 3 Φ Φ P Φ Φ F- 3 Φ Φ Hl 3 pr Ω 3- Ω P
3 Φ tr σ pr P P φ F- 3 Φ F- CL φ 5 3 3 CQ CQ " F- P n Φ CL 3 P rt DJ tr DJ ω tr £
< F- F- DJ ≤ CQ CQ φ J 3 CQ . p; 3 PJ φ P P Φ 3 3 CQ CL Φ P Φ o φ Φ P rt Φ 3 Φ Φ F-
Φ Φ 3 ffl rt Φ F- Φ Ω P - 3 3 P Φ F CQ <: F- tr Φ PJ= tr 3 3 ω P O CL F- O F- 3 CL F- 3 f Φ
F- P N Φ P Ω CQ ? tr Φ CQ <! h-1 Hl F- PJ CL Φ φ Φ Φ P 3 Φ CL Ti 3 Φ CL DJ 3 F1 o Φ Φ
3 p Φ N 3 CL tr Φ Φ Φ CL F- o 0 rt ≤ rt P1 Φ PJ F- P 3 Φ CQ DJ Φ F- m ^ φ CQ Φ F" 3 PJ H-1 C (_ι. F- Φ
P- P" 3 Ti Φ rt tr 3 F- F- 3 p DJ Φ φ 3 rt 3 3 3 F" ! . P Φ tr F1 CQ p 3 3 3 Φ Φ rt F- e 3 3 F. DJ 3 F- Φ rt φ *■ CQ 3 P- F- 3 Φ • Φ 3 O 3 P CQ td φ rt £ tr* > F- CL Hi 3 3 3 φ p? CQ 3 3 N 0= Φ 3 rt CQ P ß CQ 3 Φ F1 Φ rt F- P P F- CQ O 3 rt Φ 3 N 3 Φ
^ DJ Φ rt Φ D) 3 F- 3 CQ tsi φ Φ 3 P- 0 rt 3 P DJ= 3 DJ 3 3 Φ Φ P > 3 ^ CQ
DJ= 3 rt 3 3 CQ Φ Φ 3 J DJ Ti 3 3 3 3 Φ CQ
1 3 F- 1
-P J^ ) ω to to o > φ CL F- Φ 3 < 3 Pt CQ CL ω tr1 3 H H P 3 Φ tα CQ € CL F- F1 P tr to 03 F1 N td Hl φ Ω 3 D : rt s£ F1 CL CQ rt 3 3 P F- o O: 3 Φ Φ Φ Φ Φ Φ Φ P 3 F- 3 Φ φ 3 3 DJ Φ Φ Φ rt 3 3 F- 3= F- tr Φ 3 tr 3 F- Φ DJ φ
P H rt 3 CQ 3* P P- F- 03 3 3 CQ F- CL 3 CQ F- P P Ti CQ 3 < CQ Φ ■3 CQ 3 tr 3 P F- 03 3 3 P CQ Q 3
DJ Ω CL PJ F1 Φ φ 3 rt rt - rt Q ~\ φ CQ 3 CL Ω F-1 01 CL o F- P CQ rt LQ P Φ o rt Ti F1 LQ CL rt tr F- 3 pt Φ F- F- 3 F- 3 =3 F- CQ 0 P φ » φ tr Φ Φ Φ P 01 tr Φ - J rt 3 3 Φ p F- • Φ to N Q Φ tr 3= F- Ω 3 • Ω 3 φ Φ F- CQ Φ CL 3 3 3 3 CQ N rt φ 3 3 φ P φ Ω CQ 3 φ ≤
P* Φ 01 rt P 3 tr φ tr α CQ F- P 3 φ P φ O CQ • < Φ 3 Φ CL to CQ 01 tsi CQ Ω tr Φ td CQ F-
Φ 3 Φ N Φ P F- 03 rt Φ CQ F- < P CL IS] φ Φ 3 CQ tO CQ P F- Φ F- F- F- tr Φ 03 Ol Lx) F- 03
F- rt Φ φ P Ol φ N Φ 3 tr 3 Φ Φ 3 3 Pt P rt F- Φ rt 3 C CQ CL 3 Φ CQ Φ CQ rt Φ CQ Ω
Ω ω tr CQ P tr φ CQ ≤ P • φ •• Pt CL P P J 3 F1 F- Ω CQ Φ t CQ F- F- Φ CL F1 3 rt 3 Φ F- CL rt tr tr T. Φ ~ φ to PJ: Φ F- F- Φ CQ et φ 3 CQ DJ φ tr F- 3 O: rt Φ Ol P Ti Pt ≤; 3 03 F- φ Φ
Φ P 3 Φ 3 CQ 3 pt Ol 0 ω 0 CQ Φ = tr CQ P CQ 3 Φ rr Oi 3 0 Φ DJ F- Φ rt 3 P 3 φ o tr CQ CQ o DJ Ω 3 o P CQ F- tr tsi Φ Φ φ Ti rr < 3 öd Φ Φ PJ 3 3 l 3 Φ P CQ to Ω F- Φ to 3 Ol 3 3 tr tr CL o Φ Φ 3 Φ < CQ P 3 P Φ DJ Φ α DJ P F1 Pt 3 Hl rt CL 3 N tr1
F- tr Ω F- Φ Φ CL CL 3 φ Φ Φ F" 3 3 Φ P Φ 0 3 0 P P 3 φ 3 tr 0- et Φ 03 Φ PJ 3 • DJ Q Φ tr CQ 3 φ Φ F- 3 - < P CQ P rt F- 3 3 3 tr F- F1 rt Φ _ - φ 0 .3 F- Ω F- £ - -3 CQ . öd rt
3 3 et 3 rt F- P Φ F- φ 0 Φ Ω s = P CL CQ 3 DJ DJ PJ Φ F- 3 N 3 O 3 F- 3 Φ . Φ
DJ CL 3 0 Φ F" 3 CQ 3 F" P tr Pt 3 DJ o Φ CL Φ 3 3 φ ^ F- 3 φ 3 < Φ P 3 3 φ 3 3 3 F- Φ Φ CQ Φ tsi Φ 0= CL Φ CQ Ti P Φ 3 CQ rt s tsi F" N ts. F- O < Ti 3 CL ≤ 3 Ω
F1 CQ 3 rt 3 01 tr F- tr 3 3 Φ 3 Φ F- 3 Φ φ F- CO. Hl LQ Φ φ Φ N 3 Φ 3 CQ 3 0 F- - 3= 3 3
DJ ! ! 3 Φ F- Φ 3 Φ Φ CQ P < 3 P tr 3 P 3 0 P Φ F- F- φ CQ H φ Φ F1 -> I . 3 F-
3 - O 3 3 φ α <: 03 3 rt J: Φ Φ 3 Φ CQ PJ t Hl Φ tr DJ F" rt Φ F" € 'öd F" Φ 0 N ω Φ 3
Hi 3 CL F- DJ o ω o rt 3 P 3 3 3 DJ DJ t F- F- F" Ol 01 rt Φ < PJ: F- ^ P 3 • Ω 3 3
N tr pt 3 3 et P rt 3 CQ CL Pt CQ < <! CL 3 Ω DJ F1 CQ <! rt E J φ tr rt CQ Hi öd tr CQ 3 CL
Φ F- tr DJ 3 F- Φ N PJ CL Pt -~ Φ 3 CL 0 0 Φ 3 tr 3 3 CL 0 Φ 0= φ <! P P CQ Φ Φ F- • φ Φ rt
F- 3 et CL rt 3 3 P Φ o= Φ P 3= F- PJ 3 3 3 Φ 3 3 Φ DJ CL P p 3 O tr F1 F- 3 cq 3 3- Φ ö rr PJ F- 3= CQ Pt P 3 F- tr Ti Φ 3 Φ P CL rt CL Φ 3 Φ •» P F- Φ 3 3 Φ 3 CL 03 P P Φ
Φ rt P1 0 0 F" tr rt Φ Φ 3 Ω DJ Hi Ol tr1 to PJ F- 3 CL P F- 3 CQ 3 F- 3 P P 3 £
3 F- PJ: 3 CL DJ= φ Φ 01 Φ tr P 3 10 0 rr F" 3 Φ 3 CQ F- Φ CL £ Φ CL Ol rt to F- DJ P Φ F1 < DJ
O 3 Φ 3 P 3 Hi 3 Hi Φ 3 Φ o= CQ J CQ Φ rt F- φ φ rt CL Φ tr 3 rt Φ Φ Φ rt Ω P J o ><
DJ 3 CQ Φ P CQ et to 3= PJ CQ CQ 03 F- rt Φ tu P rt rt F- P Φ Φ 01 F- φ 3 φ P CQ P F- tr rt 3 P
3 CQ F- Φ P F- P f F1 3 Φ F- φ Pt 3 tr Φ Pt O 3 φ F- 3 Φ 3 CQ 3 CQ F- rt O ^ CQ tr Φ
Ω Pt 3 3 P DJ DJ CQ Φ P1 DJ 3 Ol 3 tsi 01 P CQ 3 CQ -• 3 F1 F- - Ω P > Φ 3 Φ Φ Φ P tr 3 CL Φ 3 Φ CQ P 3 S F- Ol Ω et - φ Ol PJ F- 3= CL Φ CL £ . SL 3 Q <! tr rt CQ F- ≤ P Q Hi
P Φ P CQ 3 3 F- DJ 3 rt tr 3 Φ F" F- F- CQ Ti F- P tr φ φ ■ Φ O F- O ≡3 F- Φ Üd 3 3 Φ rt 0
CL N P Φ 3 PJ 3 3 CQ 3 P CL F1 CQ 01 rt Hi Φ F- φ ω F- P Pt CQ 3 φ Φ P Φ PJ φ 3 et) F- P
PJ Φ CQ Pt PJ CQ 3 DJ rt 3 PJ Ω CL • Φ 3 Ω Φ 3 3 ra Oi CL 0= tr rt 3 CL Hi 3 3 3 3 CL
3 P Ol P Φ 3 CQ et 3 F- CQ tr tr ^--. tr tr 3 PJ tr P 3 tr1 CQ rt 3 φ Φ 3 o Φ 3 < Φ PJ « Ol 3 φ
3 Φ 0= tr Hl Ti Φ Hi Ti CQ J 0 φ • CQ 0 Φ F- 3 3 3 Ω Φ F- F- O tr LQ o CL CQ rt P
3 LΛ P Hl Hi F" rt S 3 CL <! 01 Φ N CL &Q CQ 3 3 CL F- Φ tr 01 3 öd Ω P pj Φ 3 F- rt Φ F"
< 3 tr Φ ΓΪ Φ P> CL DJ: φ P φ rt Φ 0 tr F- 3 3 DJ PJ F- 3 -\ 3 t 3 Hi Φ 3 tr N φ P rt φ P 3 F-
O CL Φ P F- CL Φ Ω X Φ F- DJ P P Φ CQ - tsi 3 Pt to rt O o= - P tr 3 CQ Φ 3 - P Φ Ω
P 3 Φ <! 3 Φ P tr J F- oi tr tsi F- 3 <! 3 CQ si Ω φ CL φ 3 φ φ CQ P Ol DJ o t Ω 3 tr
N P" 3 O Φ CQ φ 3 tr φ Φ 3 3 PJ CL Φ Hi Φ tr φ F- 3 CL Α CQ t i Φ Φ P CL F" φ Pt 3
3 DJ ω P td P 0 φ F" PJ CQ ω F1 F- P DJ CQ PJ < P 3 Φ 3 3 0 φ s! tr tr Φ F" LQ Φ CL 03
CQ 3 3 IS. N to Φ P 3 P P tsi P" Ω rt 3 F- Φ Pt 3 PJ F1 Φ φ 3 P φ 3 P Φ Φ Φ P Φ F- Φ
Φ CQ 01 DJ 3 Φ F- Hi CL 3 Φ tr Ol Ol 3 Ol tr Φ rt P 3 P • Ω 3 CL F1 3= P 3 F- F- 03 N 0 F- tr Φ ω tr 01 CQ 3 F- . — . 3 < Ol 3 03 CL 01 F- CL 3= CQ φ 3 3 Pt 3 tr rr φ PJ Ω rt rt £ 3 rt 3 CL 3 φ P rt F1 φ 3 Φ 3 Hi 3 0 Ω - Ω J Φ Φ Φ Ti Φ 3 Ol 3 3 ' P1 tr Φ P 3 Pt F- Φ F- t φ CQ Φ
3 P tr Φ 3 CL DJ 3 P tr tr ES3 3 P 3 Hl tr rt LQ 3= rt φ CL CQ ω ≤ CQ 3 3 Φ φ P Φ p Pt to 3 <; Φ 3 3 3 CQ CQ J N PJ 3 Φ φ F- Φ P CD Ti F- 01 F- to CQ PJ: Pt 3 CL F- N CQ DJ φ ? o 3 et s; 3 o Φ φ 3 3 Hl 3 CQ 3 F- 3 3 - DJ Hl Ti o φ 3= tr DJ P t Φ rt 3 Ω Hi 3
≤ CQ rt 3 F" φ CQ 3 3 CQ et et PJ 3= rt ~. CL rt Pt 3 3 F" 3 Ω φ 3 rt F- Φ PJ P 03 tr Φ 3 φ 3 3 F- Ω rt φ tr F- P) 3 P PJ Φ F" et Hi 3 F- CL p Pt < CQ CQ rt F- 3 3 0 Ω DJ 03
3 Φ P N α 3 tr F- - — Φ tr J 3 tr CQ rt tr rt PJ 3 € CQ N Φ φ Pt 0 3 3 3 CL tr (-■ rt
3 3 Φ F- F- CQ 01 P Φ P Ti Φ CQ 01 3 Φ Oi P DJ Φ F- P CQ O P tsi CQ PJ • φ J rt CQ ≤ rt φ Φ φ rt < Hi 3 Φ F" P1 Φ 0 CQ F- rt 3 3 Φ Oi F- T> 1 3 φ 3 Ol F- P F1 Φ φ O
Φ H CQ P 0 o Φ 1 I CQ Φ CL 1 1 Ti 3 1 3 rt 1 tr Φ Φ P 1 rt 1 3 1 Φ
3 CQ I 1 F-
Zwischenregister vorgesehen sind. Vergleichbar ist die Busstruktur dabei mit einer Straße, die Schnellspuren und Kriechspuren aufweist und an vorgegebenen Zwischenstellen einen Spurwechsel ermöglicht.
Bevorzugt ist es allgemein, wenn das Bussystem eine Vielzahl von parallelen Segmentlinien umfaßt, wobei mehrere parallele Segmentlinien mit längeren Segmenten vorgesehen sind. Die längeren Segmente der Segmentlinien mit längeren Segmenten brauchen nicht alle gleichlang sein; es kann eine Staffelung vorgesehen sein.
Bevorzugt ist es allgemein weiter, wenn bei einer größeren Anzahl von parallelen Segmentlinien die Segmentlinienenden und/oder Leitungszwischenelemente in den Segmentlinien in Busrichtung versetzt gegeneinander angeordnet sind. Typisch sind an den Segmentlinienenden bzw. -anfangen Leitungszwischenelemente wie Schalter, Register, Multiplexer und Treiber vorgesehen. Die hardwaretechnische Implementierung die- ser Elemente erfordert nun erheblichen Raum, der gegenüber dem von den in Zwischenschichten anzuordnenden Leitungen beachtlich sein kann. Die bevorzugte versetzte Anordnung dieser Elemente sorgt nun dafür, daß nur Raum für Leitungszwi- schenelementanordnungen von z.B. zwei oder drei Segmentlini- en erfoderlich ist, nicht jedoch für Leitungszwischenelemen- tanordnungen aller vorhandenen Segmentlinien. Auch ist es mögöich, nicht bei allen Leitungszwischenelementanordnungen Treiber oder Register vorzusehen, sondern diese nur jedes n.-tes Segmentende vorzusehen. Bevorzugt ist jedoch dann, daß wenigstens drei Segmentlinien mit längeren Segmenten für wenigstens zwei Segmentlinien bei vorgegebenen Stellen Seg- mentlinienwechselkreise angeordnet werden, insbesondere Multiplexer, als Leitungszwischenelemente vorgesehen sind. So kann der gewünschte Segmentwechsel wie erforderlich gestal- tet werden. Bevorzugt ist die Busstruktur einem Zopf aus einer Vielzahl sich immer wieder kreuzender Strähnen vergleichbar, wobei an den Strähnenkreuzungen ein Segmentwechsel erfolgen kann und Wechsel unter längs des Busses vari- iernden Segmentpaaren oder Segmentgruppen möglich sind. Es ist dann möglich und bevorzugt, daß die Segmentlinienwech- selkreise für den Wechsel von einer ersten auf eine zweite Segmentlinie an einer ersten Stelle und die Segmentlinien- wechselkreise für den Wechsel von einer zweiten auf eine dritte Segmentlinie an einer zweiten Stelle vorgesehen sind.
Neben dem nur paarweisen Wechsel wird bevorzugt auch die Möglichkeit geschaffen, an einer Stelle oder einer Vielzahl von Stellen unter mehreren Segmentlinien zu wählen, auf die gewechselt wird und/oder auf welche simultan Daten aufgege- ben werden.
In einem weiteren Aspekt der vorliegenden Erfindung wird der Logikzellenanordnung die Kommunikation der Zellen in zwei Richtungen möglich. Bei Busanordnungen mit Leitungszwi- schenelementen wie Treibern und/oder Registern sind Laufrichtungen definiert; um die Kommunikation der Zellen in zwei Richtungen zu ermöglichen, sind daher bevorzugt getrennte Busanordnungen für entgegengesetzte Laufrichtungen vorgesehen. Wenigstens in einer Richtung können wiederum für wenigstens unterschiedliche, insbesondere wiederum allgemein parallel geführte Segmentlinien mit kürzeren und längeren Segmenten vorgesehen sind.
Bei getrennten Segmentlinien für beide Laufrichtungen ist bevorzugt für wenigstens eine Laufrichtung Register vorgesehen, bevorzugt ist dabei, wie vorstehend erläutert, das Register im rückwärtsgeführten Bussystem vorgesehen, d.h. jenem Bussystem, mit denen Signale von einem Elementausgang zu einem Elementeingang zurückgeführt werden können.
Es sei erwähnt, daß gemäß einem weiteren Aspekt der vorliegenden ein erstes Bussystem für die Übertragung zu bearbeitender Daten und ein zweites Bussystem für die Übertragung von Status- und/oder Kontroll-bzw. Steuerinformation vorge- sehen sein kann; wiederum kann ein oder beide Bussysteme mit kurzen und langen Segmenten aufweisenden Segmentlinien gebildet sein und es können bevorzugt die jeweiligen Bussysteme bzw. Busanordnungen separat voneinander konfigurierbar, d.h. in ihrer Verschaltung festlegbar und/oder hinsichtlich der Operationen in verknüpfenden Registern bzw. der Ausgabe von Nachschautabellen bestimmbar sein.
Im Regelfall wird das Bussystem bevorzugt Einsatz finden bei einer Logikzellenanordnung, bei welcher eine Mehrzahl von Logikzellen in Reihe nebeneinander angeordnet sind; es sind dann die die längeren Segmente an wenigstens einer Logikzelle vorbeigeführt; umfaßt die Logikzellenanordnung noch mehr Logikzellen in einer Reihe, sind bevorzugt die längsten Segmente an mehr als einer Logikzelle vorbeigeführt .
Es sei darauf hingewiesen, daß bei wenigstens zweidimensio- nalen Logikfeldern, also wenigstens reihen- und spaltenweiser Anordnung von Logikzellen, in jeder Reihe und in jeder Spalte ein segmentiertes Bussystem vorgesehen sein kann, das die vorbeschriebene Struktur mit langen und kurzen Segmenten in parallelen Segmentlinien aufweist.
Die beschriebene Busstruktur ist vorteilhaft bei allen Anordnungen, bei welchen datenverarbeitende also Logik- Einheiten miteinander verküpft werden sollen. Besondere Vorteile bieten sich aber, wenn die Logikzellen ausgewählt sind aus, umfassen und/oder bilden Rechenwerke, DPGAs, Kress- Arrays, systolische Prozessoren und RAW-Machines; digitale Signalprozessoren (DSPs) , die mehr als ein Rechenwerk besit- zen, konfigurierbare (programmierbare) Logikzellen oder andere Cores und/oder PAEs, ALU, Eingabe- / Ausgäbefunktionen (I/O) und/oder Speichermanagementeinheiten (I/O), Speicher. Eine erfolgreiche Implementierung einer Busstruktur mit Segmentlinien mit kurzen und langen Segmenten ist die VPU / XPP-Prozessoreinheit des Anmelders.
Ein solcher Prozessor wird bevorzugt eine Vielzahl unterschiedlicher, in einem Array angeordneter kommunizierender Logikeinheiten aufweisen, wobei die Logikeinheiten wenig- stens Speicher- und Datenveränderungseinheiten aufweisen und die Speichereinheiten randnah am Array angeordnet sind. Dies erlaubt es, Daten durch das Array laufen zu lassen und am Rand erforderlichenfalls zwischenzuspeichern, um eine Umkon- figration wie erforderlich zu bewirken. Das Durchlaufen kann auch durch parallele Reihen oder Spalten erfolgen und/oder auf mäande nde Welse, um so exhöhte Rechenleistung bereitzustellen.
Auch können allenfalls Eingang/Ausgangseinheiten näher am Rand als die Speichereinheiten angeordnet sein; dies erlaubt die Zwischenspeicherung von Daten vor Verarbeitung unter Arraydurchlauf . In jedem Fall wird aber bevorzugt, wenn zur Kommunikation der Logikeinheiten wenigstens von Rand zu Rand wenigstens ein Bussystem vorgesehen ist, das insbesondere segmentierbar ist wie vorbeschrieben. Dann ist es möglich, wenn zum Betrieb eines Prozessors Daten aus einem ersten randnahen Speicher ausgelesen und in einer erste, diesem Rand nahe Datenveränderungseinheit wie erforderlich verändert werden, von dort in wenigstens eine weitere Datenverän- derungseinheit übertragen werden, um weitere Datenveränderungen wie erforderlich vorzunehmen, die Daten nach Durch-
laufen mehrerer Datenveränderungseinheiten in einen zweiten randnahen Speichern an einer vom ersten Speicher entfernten Stelle eingespeichert werden, eine Umkofigurierung der Datenveränderungseinheiten zur Neubestimmung der Datenverände- rung vorgenommen wird und die Daten ggf. in entgegengesetzer Laufrichtung durch zumindest einen Teil der Datenveränderungseinheiten geführt werden. Auch kann dann zum Betrieb vorgesehen sein, daß der Hinlauf in einer Reihe erfolgt und der Rücklauf in der bzw. einer darunter liegenden Reihe, um so Pipelineeffekte zu berücksichtigen.
Der Prozessor kann wenigstens ein programierbares Gatterfeld (PGA)' und mehrere Datenveränderungseinheiten mit ALUs aufweisen, wobei anwendungsspezifisch bevorzugt sein kann, wenn wenigstens eine oder mehrere PGAs von anderen Datenveränderungseinheiten, insbesondere ALUs umgeben sind, um von diesen leicht Daten zu Verknüpfungszwecke erhalten und/oder an diese ausgeben zu können.
Es ist möglich, daß bei einem Array aus rekonfigurierbaren Einheiten mehrere miteinander in Kommunikation bringbare insbesondere identische (Teil-) Arrays vorgesehen sind. Hierzu kann jeweils eine Umkonfigurierungseinheit vorgesehen sein, die zur Umkon iguration der umkonfigurierbaren Elemen- te des Arrays ausgebildet sein kann. Innerhalb des Arrays verlaufen dann die entsprechend vorstehend beschriebenen BusStrukturen. Es ist damit jedem Array eine Umkonfigurie- rungsverwaltungseinheit zugeordnet ist, die insbesondere an einer Arrayseite angeordnet sein kann, an welcher keine Speicher- und/oder I/O-Einheiten vorgesehen sind, wobei sich die Umkonf±gurierungse±nhe.i-t bevorzugt über die Breite des Arrays erstreckt, was den Vorteil bietet, daß eine optimale Chipform erzeugt werden kann.
Es ist dann wahlweise eine den Arrays gemeinsame Umkonfigu- rierungsverwaltungsübereinheit vorgesehen, die sich insbesondere über die Breite von mehr als einem Array erstreckt und die für die Kommunikation mit zumindest mehreren, bevorzugt allen der Umkonfigurierungsüberienheiten ausgelegt ist.
Alternativ und/oder zusätzlich ist es möglich, bei einem solchen Prozessor mit miteinander in Kommunikation bringbaren, insbesondere identischen Arrays, die umkonfigurierbare Datenveränderungseinheiten aufweisen, zwischen den Arrays Vermittlungseinheiten (VPAEs) vorzusehen sind, die zur Kommunikationsvermittlung unter den Feldern angeordnet sind.
4^ .J to t >_. o Π
3= 3 H td CL tr rt 3= td F- φ Φ tr 03 φ rt 03 CL * rt M F1 C N Hl P Hi tsi CL td CQ C 3 Hi W t 03 td 3 3 = tr F- 3 Φ Φ PJ P tr 03 CQ F- F- PJ DJ F- p rt 3 Φ Φ 0 3 PJ 3 3= PJ F- 3 φ 03 3 Φ P F- PJ 0 φ rt CQ 03 3 tr
Φ t T. < P P PJ φ rt 3 3 3 3 3 DJ P- P F- 3 3 3 03 CQ P rt CQ φ P P CL P Pt H 3 3 φ CL Φ
P DJ H 0 3 P F- • Φ Φ CL -t Φ CQ 3 Ω rt Hl CQ Φ F- 3 F- 03 F- F- DJ PJ H Hi 3 F- P rt φ P α 03 03 03 3 3 tsi 03 Φ 3 tr 3 CL F- 03 φ H tr 0 P <! Φ Φ tsi ^ rt 03 F- 03 03 ^~- 0
H F- 3 N J F- Hi φ rt 3 3 tr 3 Φ CQ Φ P PJ φ 3 PJ « Φ F- P F- CQ F- F- CQ td rt CL 03
PJ: O φ 3 rt 3 φ F- ϊ*. φ tr * CQ DJ s*i CQ P 3 F- 03 CQ F- 03 rt o P rt Φ O Ω 3 03 N 3= Φ 0
3 3 3 CQ φ CL P 3 φ 0 Hi PJ φ P <J P 0 P 3 rt Φ CL P F- 3 3 Φ Φ P 3 t P =3 3 tr P M
CQ 01 rt et 3 φ φ F- 3 Hi tr 0= 0 3 CQ PJ J tr Φ 3 φ φ 0 Hl F- P rt CL Φ DJ Pt Φ 0= Φ Ω
CQ Φ F- <j F- 3 Hl P- < LA) 3 F- Hl F- 3 rt φ CQ 3 F- rt CL Φ F- CL p rt PJ F- CQ P to tr
P Φ F- Φ 3 3 3 H F- N 3 ß φ 03 F- CQ CL F- F- Z F- 03 CQ rt PJ: Φ Φ tr F- 3 H rt rt Φ
CL 3 P 03 P 3 tr φ φ CQ F- CL 1 P ö rt LQ 3 Φ 0 rt P 3 P 03 P 3 tr tr ti p Φ 0 3 CL F- p Φ
Φ 0= 3 et J φ tr 3 3 Φ Φ 1 φ DJ • 3 DJ P 3 Φ P P P rt Φ P 3 3 • Φ P- 3 Φ Ω DJ 3 <
CQ CQ 3 P CQ F- P Ω P 3 3 3 rt p F1 Φ 03 3 DJ CL PJ Φ CQ PJ 3 rt CQ CL « rt 03 CL p tr CQ Φ Φ
H CQ Φ tr 0 rt Φ tr PJ rt _i Φ H F- F- 3 H > Φ *< P F- rt LQ Hl rt F- 0 φ PJ Φ P P
F- 03 Φ . Φ P et rt φ « CQ 3 3 Φ 03 φ CL - 03 03 F- 03 Φ P 3 φ F- CL 3 CQ 3
P Ω CL F- J 3 Φ φ P- 3 O R P 03 P F- « CQ 3 C <! rt 0 Φ CL 03 φ φ Hi P 3 3 P CL F- F-
P tr Φ rt 3 3 O 3 P CL CQ 3 Φ 0 F- P DJ 3 CL 0 φ 3 F- J rt F- t F- tr tr P P DJ 3 CQ rt
DJ Φ P F- 3 Ω ,— - α CL 3 > Hl t. PJ 3 φ 3 P 3 03 Ω 03 Φ φ 3 P 03 3 cΛ CQ rt et LQ O: φ Ω PJ w Φ 3 rt
■<! 3 3 3 tr < PJ Φ CQ P F- 3 • : P 03 CQ Φ Pi rt tr p P P tr Φ 3 3 tr F- tr »<: P DJ H
CQ CL tr CQ TJ rt P Φ P cq CQ CQ Ω DJ 3 F- Φ td CL tsi < φ Φ Φ 3 P- P ,et rt 03 CL CL 3
. Φ φ CL tr > φ € F- DJ 3 3J 3 CL • LQ P Φ F- φ t J $ o CQ F- F- φ cq 3 J DJ F- Φ Φ 3
< 3 CQ φ tsi F- td 3 Φ 3 *< H CL F- rt Φ 3 03 3 3 3 3 Φ 3 F- rt 3 CQ Φ rt $ <! 3 CL Φ 3 CQ
Φ Ω P 3 Φ - — <! F- 3" tr DJ D 3 CL 03 α P rt 03 CQ F- 03 Φ φ rt 3 < F- Φ Φ Pi F- -- 03
P α tr P φ 01 φ Φ rt CQ F- 3 J DJ N 03 rt CL P rt Φ rt 3 Φ Φ o P P P « ϊ ! Φ
PJ P CQ Φ 3 P φ F- rt F- Pl Φ F- N 3 rt 3 Ti Φ Φ F- Φ P φ 3 3 P 3 CL tsi φ φ 0 O F- J rt P- Φ P Pt P- PJ: rt P 0 < Φ P =3 PJ F- r-> P F1 3 Hi 3 03 P ^~. 0: α 3 tr 03 Φ F- F- t 3 3 3
3 Φ Φ 0 N Φ rt 3 tr F- 3 0 F- < CL Φ Ω 0 PJ Φ 3 Hi rt < CQ PJ CL F- Φ 3 Ω 3 et Hi rt tr
Hl 3 tr 3 Φ F- Φ CL Φ tr Φ 03 F< d F- tr 3 03 Ω φ J
' > Φ J *ϋ H rt 3 F- tr Φ F- P Φ
Φ <! Φ Φ 3 3 F- Φ <! Φ tr DJ DJ > 03 et 03 03 tr 3 Ω PJ P 3 3 > F- Φ 0 CL 3 rt P- CQ 0 F-
3 Φ 3 et CQ φ 3 P 0 CL 3 P td 0 Φ 03 Φ Φ Φ tr 3 P Hi td Ω 3 CL 3 tr öd Φ 3= 3 3 F1 rt
C P φ p Φ J 3 P F- tr Hl DJ CQ 3 F- F- 3 3 < Hl DJ > S 03 3" F1 φ 3 Φ Φ rt tr P F1 Φ
Φ DJ: 3 F- 3 ö 3 3 N 3 Φ =3 ^ Φ 3 3 CL 0 α • ! P Φ "— ' Φ Φ CQ F- < φ < PJ 03 3
3 CQ P> CL CQ 3 CQ F- DJ D r-o φ F- W CL tr 3 φ 3 PJ CL p F- F- rt 0 ^ HS Φ rt μ. td CL S Ω et Φ CQ CQ rt rt 3 P P 3 0 Φ 3 rt F- DJ DJ 03 CL 3 rt 3= 3 φ P Φ s P F- CQ ,._----,
3 φ tr Φ P et Φ P C Φ 3 3 CL F- CL w ö Φ Φ 3 ^ Φ DJ 3 3 tr F- 3 tsi P DJ tr 0 3 <
03 P 0 φ 3 3 PJ Φ « P 0= 03 Hl F- rt o PJ 3 03 3 P CL 3 φ rt 3 CL Ω F- 3 DJ V
Ol 3 P 3 P F- 3 CQ 03 0 H l-Q Ω F- Φ Φ CL 3 rt Ti 3 - F- CQ P Φ CL CQ φ tr 3 CQ H > φ 3 CL DJ 3 3 =3 td Φ 3 DJ F1 tr cq 3 J Pi Φ 3= φ P 3 3 tr Φ F- Φ rt 3 Φ CL Φ Φ td
CQ 3 K rt CL Φ 3 3 3 Hi 3 F- F1 3 α 03 F- 3 tr P Φ CL =3 φ 3 tr 3 P 3 3 F- Q
DJ 01 3 DJ Φ 3 CQ 3 F- tr Ω Φ P PJ 3= CQ Φ 3 Ω 0 tr <! Φ DJ s: 3 CL 3 3 — -
3 Φ CQ P 3 0 0 3 Ti CL CQ rt tr 3 DJ rt tr td 3 F- P F- tr CL tr Φ 0 tr F- 3 s; F- 3 Φ CQ tr pl
F- C tr 3 CL J CL 3 rt 03 rt φ φ P- P 3 rt rt tr DJ φ 03 P Φ 3 CL φ P CL Φ P t
CL 3 $ Φ 3 Φ CL CQ φ Pt p P- • Φ F- 3 P 3 F- P rt J 03 F- rt tsi 03 Φ 3 CL * — , 3 F- F- 0
DJ tr S DJ Q 3 P F- 03 P DJ PJ 3 3 0 03 Φ CL PJ H P Φ 3 rt öd P F- 0 03 P- rt CQ 3
03 φ Φ P Ω F- Φ 3 α DJ 3 PJ CL rt P F- CQ 3 tsi CL tr CQ F- 0 CQ CL CL 3 rt Φ CQ Φ
F- 3 Φ tr Pt tr 3 3 I 3= P- P 03 tr F- φ 3 Φ Φ 3 F- S PJ rt rt 3 0 03 03 DJ Φ TS Φ 3 Φ 3
> rt 3 1 P PJ H Φ F- D tr Φ et P tr φ H 3 3 CQ 03 Φ 03 •• Φ 3 rt rt rt N p Φ F- P 3
P Φ DJ: rt Φ Φ Ω C 3 P F- φ 0 CQ < 03 rt F- rt Φ Φ Φ 3 P 3 <! <!
P 3 CL 3 F- F- F- tr DJ n F- ι-3 CQ CQ F" CL φ Φ φ • rt φ CL > • 3 tr 3 Φ <! PJ 0 Φ ö
DJ F- Pt 0 F1 3 rt CL τ> cq P Φ F- tr φ 3 CL P ö F- Φ P PJ 3 φ 03 CL F- F- 3 3 t DJ
^ tr φ 3 3 rt 3 φ Φ 03 03 PJ Φ 3 PJ 3 ≥. CQ tΛ CQ <! 3 F- 3 03 CL et rt φ 3 > P CL P 3 3 rt P F- CL 03 F- t i tr 3 « rt tr O •» N Φ Φ F- Φ « 0 Φ
<! F- Pt CQ tr P DJ: 3 Ω 3 S: φ - N φ rt 3 φ P 0 φ CL F- P 3 3 P Φ P 3
Φ CL 0 P P Ω P tr D F- 3 tr P F- P φ rt F- 3 F- F1 Pt 3= Φ ^ CQ 3 Φ
P CQ 3 tr F- DJ tr Ω 3 3 Φ 03 £ Φ P 1 Pt rt £, Hi « Φ CL 0 tr F- 0 3 — 03 F- 3
I φ 3 φ 3 ■ : rt tr s t 03 CQ P J P α 03 DJ Φ Φ F- 0 CQ 3 3 Φ 3 03 rt cq
F- 3 F- CQ 03 F- 3 CQ 1 tr CQ rt PJ rt 3 3 3 CQ 3 Φ 3 Hl P 3 1 Φ 1 rt CQ Φ Φ Φ φ 3 3 3 CQ F- 3
CQ rt 1 1 3 1 1 1
bindbar sind, wobei die Busse insbesondere über den Array- rand hinauslaufend ausgebildet und dort insbesondere weiter zu I/O-Schnittstelleneinheiten führbar sein können.
Wie vorstehend erläutert, ist es besonders bevorzugt, wenn im Prozessor ein oder mehrere Datenweiterleitungsregelimple- mentierungsmittel, insbesondere eine Nachschautabelle vorgesehen ist/sind, das zur Ermöglichung der Datenweiterleitung und insbesondere Datenübersetzung im Ansprechen auf die ge- meinsame Erfüllung einer Vielzahl von Kriterien, insbesondere ereignisbezogener Kriterien ausgebildet ist. Bei den Weiterzuleitenden Daten kann es sich insbesondere um Daten bzw. Triggervektoren handeln, die mit der Umkonfigurierung und/oder Umkonfigurierbarkeit von Logikzellen zu tun haben. Die Funktion bzw. die Übersetzung des jeweiligen Datenwei- terleitungsregelimplementierungsmittel wird entsprechend konfiguriert .
Es ist möglich, den Prozessor auch und gerade mit segmen- tierten Busstrukturen so aufzubauen, daß Datenveränderungs- einheiten und Datenspeichermittel vorgesehen sind, wobei zumindest einigen der Datenveränderungseinheiten Datenspeichermittel lokal zugeordnet sind, und insbesondere Mittel vorgesehen sind, um in die lokalen Datenspeichermittel lokal eingeschriebene Daten zur lokalen neuerlichen Datenveränderung lokal auszulesen. Mit anderen Worten können in einer Logikzelle Zwischenergebnisse gespeichert werden und mit anderen Daten und/oder unter Verwendung anderer Verknüpfungen weiterverarbeitet werden.
Wenn eine Umkonfigurierung eines Zellarrays aus im Betrieb rekonfigurierbaren Logikzellen erfolgt, das insbesondere eine Umkonfigurierung im Ansprechen auf die Propagation bestimmter vorgegebener Daten erlaubt, wie dies in der die Wa- ve-Rekonfiguration beschreibenden und unter Bezug genommen Veröffentlichungen insbesondere Schutzrechtsanmeldungen des vorliegenden Anmelders tun, so ist besonders bevorzugt, wenn auswählbar ist, ob die Rekonfiguration im Ansprechen auf die Datenpropagation für alle Logikzellen erfolgt, die von den vorgegebenen und/oder daraus hergeleiteten Daten angeströmt werden und/oder nur für einen Teil, insbesondere einen Verarbeitungszweig (zB einen if-then-Zweig) , während wenigstens ein anderer Zweig unverändert bleibt, was den Umkonfigurati- onsaufwand verringert und/oder nur eine Teilkette einer län- geren Reihe von insbesondere nacheinander Daten verarbeitenden Logikzellen insbesondere bis zu einer vorgegebenen Lo-
-t-. *» ι-υ to to o o o tr rt 03 tr < CQ tr CQ 3 tr rt CL CL Ti 3 CL 3 D) $ Hl φ P Öd td CL CL CL CL CQ Ω CL td d CL Hi 3 03 rt rt LQ φ φ Ω Φ DJ Φ Φ Φ 3^ 3 F- Φ 3 Φ φ P F- DJ Ti 3 3 Φ 3= F- Φ 3 03 F- 3 Φ Φ F- tr F- 03 > P- Φ 3 0 DJ 3 F- F-
F- 3 tr F- P H 3 tr Ω F- 3 3 P 0 Φ 03 Ti CQ F- P 3 Ω CQ Φ P 3 Φ Φ PJ Φ td Φ tr P F1 <J 3 0 t rt P rt F- PJ 0: t tr rt LQ X P P Φ H Hl tr 03 F- 03 Ω P P P 03 Ω Φ CQ 3 N
01 Φ Φ 3 PJ 3 P CL *-* rt 03 F- rt < 0 0 3 F- Φ DJ 3 * 03 Φ tr öd φ ft PJ Φ cq φ 53 tr Φ ι P F- 3 3 Pi Φ F- F- - tr Φ P Ti 3 Φ X tr tr CQ F- Ω 3 03 rt 3 3 » Pt P F- φ & 3 Φ φ to N 03 M
2! PJ tr CQ rt Φ 3 CQ Φ φ φ P tr Ti PJ ≤ P F- Φ Φ 3 tr 3 rt 31 03 & et rt Hl tSJ 3 Φ 3 0 H
Φ P Φ Φ 3 Φ Φ CL P P Φ P rt F- tr 3 3 F- Φ CQ Φ 0 CQ 0 03 3 J φ DJ 3= PJ to F- 03 t Φ
H tr 3 3 3 CQ 3 CL F- Hl Φ 0 P- 0 F- P DJ J Ω CQ tSJ Φ 3 tr φ CQ Φ P 0 P 3 tr tr Φ cq φ 0 CQ 0 rt φ DJ F- Φ Φ 0 F- M rt X O CL F1 rt . — , Pt Φ to 3 3 3 tr F- 3 Ω P F- 3 03 P H CQ Φ F1 3 Φ P 3
Φ F- CL Ω <! 03 > P H Ω CQ 03 F- 3 >• rt F- ,-- M Φ φ CL φ F- Pt tr H 03 CL rt Φ 3 Φ Hi 03 rt 3 rt Φ tr 0 rt P P N CQ CQ tr rt tr 3 φ 0 3 F- P- F- PJ CL Φ H ti < PJ rt tr Φ C rt t F- rt t
0 3 CQ p - tr tr Φ Φ rt Φ Φ DJ CQ tr 3 3 Ω CQ tr Ti DJ p £ CL Φ 0 < CL F- S! Φ p Φ >• öd et q DJ 0 0 tr CQ td Q Φ Φ F- 3 Φ ,—- H, rt Φ F- Φ F> tr 3 Φ Ti 03 Φ Φ H P 0 tr 03 Φ 03 P φ F- 3 rt CL 3
3 3 <i Φ Φ tr F- F- rt Φ *• 3 3 Φ F- Φ 03 3 3 ^ — Φ Φ P <! F- rt CQ P PJ Ω F- 0 P3 to Hl < P rt Φ Hl
Φ 0 P H P rt rt F- + 3 F- 0 F- F- 3 rt J 0 <! 0 rt Φ Φ P tr 03 3 P PJ rt φ Φ DJ Φ p F-
CQ P Φ DJ PJ 03 03 < 3 3= F1 CL Ω 3 CQ CL rt fß Φ 3 X Φ P φ 03 3 03 DJ φ Φ CL F- 3 Φ tr rt 3 CQ Q φ CQ F- CL 3 tr tr Φ 03 tr — tr 3 Φ p . — . > Φ F- P H P Φ φ CL CQ 03 - Φ cq Ti H 2. F- 3 3
P 03 Φ Ω Φ Ω Φ Φ P PJ Φ - tr *— . Φ P CL 3 3 P > 3 tr F- Φ P- CQ 3J Φ Φ P CQ Φ >• φ J 0 DJ P
0 Ω H tr 3 tr P p s: 3 P Φ CQ 3 rt Φ 0= + tr Ti 3 F- PJ φ 03 3 φ Φ 3 P- ö £ 03 Φ P- 3 <! 3 ü Ω F-
LΛ) 1 PJ 03 Φ Φ Φ Φ 03 F- <! Φ > 3 CQ H Φ Ti PJ Φ P1 CQ • Hi 3 3 PJ F- M 3 to φ F- tr Φ
Φ - F- CL 3= N 3 F- F- 3 3 Ω 3 0 tr P> F- P — - F- P 3 P rt φ 3 3= C rt Φ <! Φ rt 3 Z Φ P
P Φ Φ tr 3 Ω Ω CL F- tr p 0= 03 tr 3 F- ' — rt 0 CL Φ Φ 3 0= tr 03 Φ t Φ 0 O 0= α Φ CQ CL rt φ tr 3 Φ tr tr tr Φ rt P £ ISJ P rt Φ F- Ω 03 X Φ 3 3 CL CQ P F- P DJ 3 Φ P tr 3 Ti cq 3 03 φ rt Φ P 03 Φ 03 φ rf F- φ 3 rt s; F- rt tr PJ tr F- P • φ F1 rt 3 3 Ti F- rt tsi 3 - H t φ Φ P to - 3 03 Φ F- - Φ CL Φ H CQ - Φ rt rt φ 3 Φ 3 3 3 F- CL ≥! 3 PJ 3 Φ €. t F- 0 3 P H- i Ω F- 3 Φ tr Ω et F- 3= 03 h-> 3 CQ P DJ PJ σ F- Ω 03 • PJ t Φ F- 0 Q Ω 3 rt tr tr P
P F- ^ 3 Φ F- 3 > P Φ tr F- rt tr tr Φ C P Φ rt 3 P- Ω td ^ Φ Ω 3 Φ FJ 3 0 tr Hi H 0= tsi CL
3: 03 P P F- 3 Pt Ti 3 Φ CL 3 Φ Φ Φ P φ Φ F- F- CQ Φ tr P - F- ö 3" 3 rt tr1 tr to F- F- tr 5
3 rt tr φ 3 Ti N 3 F- P P P Φ 3 3 Ω 0 P 03 rt Hi 3 F- 03 CL 0 DJ rt F- F- CQ Ω rt Q φ F- 3 CL PJ P 3 £ Φ s CQ Φ 3 N tr 3 Φ H F- CL Φ Ω tr CQ Hi Φ CQ t 03 3 tr 3
Φ tr F- rt 3 F- Φ 3 0 < F- tr φ CQ Ω P- TJ φ Φ 3 CQ F- 3 F- 3 tr 0 φ F- rt 3 3 Φ rt p CL Φ 3
Φ et 3 3 3 X o P F- £ Φ tr Ω -— - PJ 3 -— - 3 N φ 3 & Φ 3 üd PJ CL F- Pt Φ P - • H F- φ F- CL
O F- 03 3 Φ φ Ω Φ F- P CL 3 Ti Ω DJ P tr 3 11 CL 3 Φ 03 Φ 3 CL 3 3 Φ tsi 3 P F- 0 φ td 3 3
CL tr CQ F- 3 tr H 3 Φ Ti tr P F- — J Φ tr 3 Ω D) 3 >τd 03 rt P si φ 3 Φ φ PJ F- P CQ Φ 0 φ 03 φ 3 CQ Φ rt PJ <J 3 F- p Φ tr rt 3 3 Φ CL tr P CQ P 0 03 PJ DJ C F- P CL 3 3 Ti p CL
P rt P t i Φ F- 3 . et φ F- 3 0 3 φ rt F- φ 03 03 Φ F- Φ 0 CL Φ tr F- <! 3 tr 03 3 03 P φ
Φ Φ 3 0 P- P rt X F- Φ 3 P rt > 0 rt P Φ P N tsi φ Φ 03 Φ Φ tr CQ PJ tr cq φ DJ P
03 rt F- 03 3 CL ö 0 =3 C F- tr rt 3 3 tr Φ P =3 F- tr 3 Φ P t rt Φ PJ: P ö Φ F- Pt Φ rt p- Ω 03 Ω J φ 3 3 φ Φ F- 3 F- Φ Φ Φ * tr F- 3 > rt to 03 0= H • to DJ <! 3 φ φ 03 3 et F-
Φ CQ tr F- tr H P P 3 F- φ PJ 3 rt 2 P F- Φ Φ 3 P * : 3 03 < 3 Φ Φ 3 0 CQ 3 0 3 Φ F- rt 3
F- Φ Φ Ω 3 φ Ω --^ CL 3 rt φ F- tr rt <J F- rt tr tr 03 3 0 0 3 3 ö t Pi P Φ tr1 Φ 3 rt P 03 Φ 3
H 3 CQ tr Φ 3 tr 3 Φ φ = F- F- ≤ P PJ 03 o rt N Φ Φ rt rt P 3 Φ DJ o ESI o 3 CL φ 3 Ω P
Φ φ H P rt P tr 0 3 F- CL tr P 03 3 % F- <! Φ tsi PJ 3 CQ 03 3 Φ 3 CQ CQ rt Φ P DJ: tr Φ CL α= 3 P H •n tr CL H Φ Φ 3 p ~ tr Φ CQ tr Φ rt 0 3 Φ 3 3 Φ Hl F- CQ Φ F- 03 P tr φ 3 F- j = tr PJ= 3 Φ PJ: Φ PJ •— ' 3 P CL CL P φ Φ CL P 03 P φ 3 0 3 CL 03 Pt P- 3 rt P Pt Ti Φ <J 3 3 Φ
3 Φ tr F- 03 Ti 03 N F- ^* CL L Φ P Φ CL tr tsi ** P CL DJ Ω DJ CQ F- tsi P Φ rt ö
CL P P s. P1 rt tr T5 Ω 3 Φ PJ Φ F- J Φ 03 Φ Φ 3 03 CL ^^ tr tr 3 3 tr Φ 3 Φ Φ N P •» ≥| DJ to
Φ CQ Φ ü φ Φ 03 α= tsi Ti P tr t 3 CQ Ω CL F- 03 3 P CQ Ω 3 3 0 Φ φ 3 P Φ H CQ Ω . £ 3 rt Φ
P PJ 3 DJ F- 3 3 tr 2 T. 0 P α= Φ 3 03 tr Φ Ω Φ •» Φ rt tr 3 3 CL F- tr DJ 03 tr d Φ CL rt Φ t
3 3 L rt φ φ • P X Φ Φ tr φ 3 tr 3 F- 3 3 Φ Φ F- rt rt PJ= 03 Φ φ . 3 DJ tsi 3 o
3 cq C φ 3 P P o F- F- 3 Φ Ω 3 3 PJ φ N Ω Φ tr CQ P N 3 3 F- F- tr Φ 3 C Φ <! 3 Q L DJ P 3 et CQ r 3 rt Φ P tr P- Ti S, 3 3 3 tr F- φ 3 - 03 0 3 3 F- s; CL CL 3 3 Φ Hl
Φ CL Φ 03 < p Ω F- F- DJ 3 3 CQ φ rt CL Ti Φ 3 φ 3 H F- 3 3 3 tr 3 3 rt 3 F- φ 3 Φ P H-
3 Φ P Φ 3 tr φ 3 et 3 Ω F- P P CL rt φ CL F- F- CL Φ rt >• φ t 3 CQ F- CL DJ cq
P c.= P CL F- P PJ F- CQ tr tsi φ o CL F- Φ F- Φ 3 öd rt rr p F- 03 P Φ PJ 3 Φ P 3
Φ α tr DJ P Ω Φ N rt O P P 3 φ X Φ Φ 3 3 Φ 3 3 φ φ Φ o Φ 03 CL φ 3 ta < Φ P tr P
F- DJ Φ P Φ tr F- 3 F- 3 Φ 3 ≥ F- 3 φ CL CL F- 3 DJ PJ P- 3 Φ 0 Φ DJ
3 P P F- rt O F- Φ Ti "• 3 Φ F1 F- W 3 3 F-
Φ 1 3 P 3 3 φ
konstante Datenberechnung möglich. Es sei als einleuchtend erwähnt, daß sich diese Art der Approximation auf mehrdimensionale Fälle durch Arbeitswertumklammerung in mehr als einer Richtung und entsprechendes Überschreiben der nach Über- schreiten eines n-dimensionalen Arbeitswertintervalls nicht mehr dem aktuellen Arbeitswertintervall benachbarter Intervalle übertragen läßt und schutzrechtlich als umfaßt angesehen wird.
Die Erfindung wird im Folgenden nur beispielsweise anhand der Zeichnung beschrieben. In dieser zeigt:
Fig.l den Gesamtaufbau eines erfindungsgemäß ausgestalteten Logikzellenarrays Fig.2 eine detailliertere Ansicht hierzu mit als Clu- stern bezeichneten Teilarrays, VPAEs dazwischen und Anschlußbussen Fig. 3 ein Beispiel für ein Vorwärtsregister eines Konfigurationsbusses Fig. 4 die Hierarchie von Konfigurationsmanagern eines erfindungsgemäß ausgestalteten Logikzellenarrays
Fig. 5 Details einer PAE mit Angaben, welche Details in verschiedenen Voranmeldungen partiell zu entnehmen sind. Erkennbar sind die drei Dateeingänge A B C in die Logikzelle, die fünf Triggereingänge für den Triggervektor Reset Stop Step GO RELoad, die beiden Daten-Ausgänge H(igh) und L(ow) sowie die Statussignalausgänge UVW und ie Busaufkopplung Fig .6 a den Aufbau der Logikzelle im Blockbild Fig. 6b den Aufbau eines Registers Fig. 6c den Registeraufbau eiens Rückwärtsregisters für Eventsignale mit der hier neuen optionalen Nachschautabelle Fig. 6d ein Vorwärtsregister mit Vorlademöglichkeit Fig 7 den Detailaufbau einer Speicherzelle, die eine von datenverändernden Logikzellen (PAEs) unterschiedlichen Eingang mit entsprechender anderer erforderlicher Busbreite aufweist Fig. 8 eine weitere Detailansicht eines Rückwärtsregi- sters im Konfigurationsbus mit Nachschautabelle für die Implementierung boolscher Verknüpfungen von Triggervektorbits Fig. 9 weitere Prozessordetails insbesondere der Busse Fig. 10 unsynchronisierte I/O Schaltung mit zwei Bussen Fig. 11 synchronisierte I/O Schaltung mit zwei Bussen
Nach Fig.l umfaßt ein allgemein mit 1 bezeichneter Prozessor 1, der eine als XPP (xtreme processing platform) bezeichen- bare Einheit bilden kann, zwei Felder oder Cluster -einer Anzahl von arithmetischen Logikzellen (ALU-
PAEs=arithmetic logic unit processing array ele- ment) , -Speicherzellen (RAM-PAEs= Random acces memory processing array element) -mehreren, dargestellt vier Eingangs-/Ausgangszellen (E/A-Elemente, Input -Output -processing aray element) , -ein durch jedes Feld verlaufendes Bussystem, und -einen Konfigurationsmanager, der dem Feld zugeordnet ist, wobei diese Elemente zusammen als Cluster eine Einheit bilden, die für sich in der Lage ist, Daten zu verarbeiten und zwar als rekonfigurierbare Einheit und wobei den beiden Konfigurationsmanagern (CM) der Cluster ein übergeordneter Konfigurationsmanager
(SCM) zugeordnet ist, um so ein Übercluster bzw. die XPP zu bilden, wobei erwähnt sei, daß es insbesondere unter Ausnutzung baumartiger Hierarchiestrukturen möglich ist, mehr als zwei Felder von Prozessorelementen zusammenarbeiten zu lassen; so kann ein übergeordneter Konfigurationsmanager mehr als nur zwei Konfigurationsmanagern (CM) übergeordnet sein, welche ihrerseits jeweils nur einem einzelnen PAE-Cluster zugeordnet sind, und/oder es kann vorgesehen sein, daß eine mehrstufige Konfigurationsmanager-Hierarchie aufgebaut ist, worin, ersten, eigentlich dem Cluster zugeordneten Konfigurationsmanagern (CM) ein Konfigurationsmanager mittlerer Ebene zugeordnet ist und diese wiederum einer oder mehreren Hierarchieebenen unterstehen.
Fig. 1 gibt dabei die Anordnung der Zellen zueinander in einer zweidimensionalen Matrix und deren relative Größe näherungsweise zumindest insofern korrekt wieder, als daß die einzelnen Zellen sehr regelmäßig angeordnet sind und insbesondere die PAEs, also die speichernden und arithmetischen Logikzellen näherungsweise die gleiche Größe besitzen, was es erlaubt, bei der allgemein rechteckigen und/oder regulären Zellstruktur mit annähernd gleicher Anbindung an das Bussystem eine Kachelung vorzunehmen; die gezeigte Kachelung ist dabei aber insbesondere insofern willkürlich hinsicht-
lieh der Anordnung von Speichern und Arithmetikeinheiten zueinander, als daß andere Anordnungen, auch unter Miteinbeziehung der I/O-Zellen und/oder unter Verwendung noch anderer Elemente problemfrei möglich sind, und ohne weiteres an eine gewünschte spezielle Rechenaufgabe anpaßbar sind. Die gezeigte Darstellung ist auch insofern beispielhaft, als statt einer zweidimensionalen Matrix auch eine dreidimensionale Anordnung von Einzelzellen im Raum möglich ist, sofern die Herstellungstechnik der verwendeten Halbleitertechnolo- gie dies erlaubt .
Eine einzelne PAE umfaßt nun eine Vielzahl von Ein- und Ausgängen. Dabei ist die einzelne PAE einerseits mit Datenein- und Ausgängen (A,B,C) versehen und andererseits mit Steuer- bzw. Kontrollein- und ausgängen (U,V,W) . Wie aus Fig. 1 ersichtlich, sind die PAEs in horizontalen Reihen angeordnet, wobei die Zellen untereinander über ein Bussystem miteinander verbunden sind; diese horizontalen Bussystem sind in der Feldmitte verbunden mit den darüber bzw. darunter liegenden PAEs und zwar im gezeigten bevorzugten Beispiel nach oben und unten nur mit diesen. Damit erfolgt der Transfer von Daten und Statussignalen (d.h. Steuersignalen) nach oben und unten durch die PAEs hindurch und zwar bevorzugt wie dargestellt in Fig. 1 unabhängig davon, um welche Art von PAEs es sich handelt, also unabhängig davon, ob es sich im vorliegenden Beispiel um eine RAM-PAE oder eine ALU-PAE handelt; es sind demnach alle Sorten von PAEs bevorzugt auf die gleiche Weise an das Bussystem angeschlossen und intern entsprechend verschaltet. Anders als dargestellt, wäre es prinzipi- eil sogar möglich, auch die E/A-Zellen zur Verbindung übereinander liegender Buslinien auszugestalten, was vorliegend allerdings unterblieben ist.
Die PAEs dienen somit der Weiterleitung von Daten, also zu verarbeitende sowie Steuer- bzw. Kontrollflußdaten in vertikaler Richtung. Die PAEs sind dabei so ausgebildet, daß diese Weiterleitung unter Datenveränderung oder unverändert erfolgt .
Die Datenveränderung kann zunächst in der eigentlichen Funktionseinheit der PAE erfolgen, z.B. wenn diese als arithmetische Logikeinheit ausgestattet ist und Daten in der Arithmetikeinheit verknüpft werden; um sicherzustellen, daß Daten hinreichend schnell bereitgestellt werden, um in der Zelle verknüpft zu werden und eine optimale Ausnutzung der Zell- taktung zu bewirken, sind drei Leitungen A,B,C mit der Bit-
breite, die in der Zelle verarbeitet werden kann, an die Zelle geführt, vgl. Fig. 5. Dabei ist insbesondere auch eine bevorzugte additive EingangsVerknüpfung möglich, was es erlaubt, mit der Zelle Ergebnisse Operationen der Art (A+B) *C zeit- und platzeffizient zu bestimmen. Wenn keine Datenveränderung erforderlich ist, können die Daten an der Funktionseinheit vorbeigeleitet werden. So können z.B. Daten, die in einer Reihe weiter unten benötigt werden, dorthin durchgeleitet werden, ohne einer Veränderung in der PAE unterwor- fen zu werden. Es sei erwähnt, daß bei der simultanen Zuleitung von z.B. drei Datenwörtern entsprechend drei Eingänge A, B, C diese unterschiedlich weitergeleitet werden können. So ist es z.B. möglich, nur das Datenwort auf Leitung C unverändert weiterzuleiten, während A und B in der ALU mitein- ander verknüpft werden, z.B. durch Division A/B. Alternativ können auch zwei Datenworte an der ALU vorbeigeleitet werden, während ein Datenwort in der ALU z.B. mit einer Konstanten oder einem dort zwischengespeicherten anderen Wert verknüpft wird. Die Übertragbarkeit auf andere Datenwortmen- gen, die simultan der PAE zugeleitet werden, ist offensichtlich, d.h. es können auf Wunsch auch z.B. mehr als drei Datenworte an die PAE geführt sein; das einzelne Wort hat dabei die prozessorspezifische Bitbreite, vorliegend z.B. 32 Bit. Beliebige Eingänge und/oder Ausgänge von PAEs können mit
Konstanten von der Konfigurationseinheit (CT / CM) konfiguriert werden. Dabei können Konstante während des gesamten Betriebs einer Konfiguration unverändert konstant bleiben oder während des Betriebs d.h. der Ausführung einer Konfigu- ration von neuen Daten der Konfigurationseinheit (CT/CM) und/oder anderer Quellen wie z.B. PAEs überschrieben werden..
Auch ist einsichtig, daß anders als bei PAEs mit ALUs etwa in RAM-PAEs statt einer Verknüpfung aller oder eines Teils der Daten eine vollständige oder partielle Speicherung und/oder eine vollständige oder partielle Weiterleitung erfolgen kann.
Die Weiterleitung der Daten kann des weiteren unter Umgehung der eigentlich datenverändernden PAE-Kern-Einheit wie der ALU dergestalt erfolgen, daß dennoch eine Veränderung der Daten vor bzw. während der Weiterleitung erfolgt. Dies kann durch Veränderung der Daten unter Heranziehung von Nachschautabellen und anderen Verknüpfungseinheiten geschehen, z.B. Einheiten, die die eintreffenden Datenworte der Größe nach sortieren. Diese Einheiten sind bevorzugt zwischen die
-t*. ^ ω ü-v to to
O l- ι o
Hi et
3 P
3 DJ
Pt H et Hl
F- 3
0 3
3 fT
PJ rt
F1 F-
F- O rt 3
DJ: PJ et H
- F- rt
03 PJ:
0 rt
3
CL tr φ φ
P - CL
3 φ
3
TI rt
3 Φ
3 rt t et CL
F- PJ
0 tr
3 Φ
PJ F-
H
F- 3 rt F-
DJ: Ω rt tr rt
F-
3 P
PJ: to 3
F- 3
3
3 F-
Φ Ω tr
<! Φ
0
3 tsi φ
£> 3 rr rt
03 P rr DJ
Φ H
1
len auf die zentrale Bedeutung und Wirkung der jeweiligen PAE. Die Zusatzfunktionen, die durch die Registerdatenwei- terleitungsfunktionalitätmodule implementiert sind, umfassen insbesondere bevorzugt im Vorwärtsregister für den Datenfluß Kontrolloperationen wie das Multiplexen oder Demultiplexen sowie das Kopieren und/oder andere Manipulieren von Daten; im Rückwärtsregister wird bevorzugt implementiert eine ALU- Funktionalität für den Datenfluß und/oder eine Boolsche Verknüpfung von Eventsignalen, d.h. Triggersignalen. Somit be- steht die PAE aus Modulen zur Manipulation von Datenströmen, zur operativen Verknüpfung und/oder Generierung von Datenpaketen sowie aus der Verarbeitung durch zumeist logische Verknüpfung und Generierung von Eventpaketen.
Die Ein-Ausgabemodule sind in ihrer Struktur gleichfalls in besonderer Weise an die Anforderungen der Datenverarbeitungsaufgabe angepaßt. Dazu ist jedes der Ein-Ausgabemodule mit mehreren Kanälen versehen, die unabhängig voneinander im sog. PORT-Modus (Fig. 10) arbeiten können oder in Synchroni- sation zueinander im sog. RAM-Modus (Fig. 11) arbeiten können. Jedes E/A-Modul kann dabei von mehreren Algorithmen unter Verwendung mehrerer Algorithmen gleichzeitig verwendet werden, wozu auch Sortieralgorithmen herangezogen werden können .
Mit anderen Worten arbeitet im Speicher- (RAM) -Modus (Fig. 11) das Ein/Ausgabemodul (I/O Schnittstelle) als Schnittstelle zu externem Speicher. Es werden dabei Schreibedaten und Adressdaten eines jeden Kanals synchronisiert, d.h. erst wenn bei- de Datenpakete vorhanden sind, wird ein externer Schreibvorgang gestartet. Im Lesemodus sortiert die EA Einheit von extern gesendete Pakete wieder an die internen Kanäle. Die Umschaltung zwischen Schreib- und Lesemodus kann z.B. per Konfiguration oder z.B. durch Signale erfolgen.