NO312983B1 - Digital processing device - Google Patents

Digital processing device Download PDF

Info

Publication number
NO312983B1
NO312983B1 NO19994895A NO994895A NO312983B1 NO 312983 B1 NO312983 B1 NO 312983B1 NO 19994895 A NO19994895 A NO 19994895A NO 994895 A NO994895 A NO 994895A NO 312983 B1 NO312983 B1 NO 312983B1
Authority
NO
Norway
Prior art keywords
circuit
level
circuits
processing device
tree
Prior art date
Application number
NO19994895A
Other languages
Norwegian (no)
Other versions
NO994895D0 (en
NO994895L (en
Inventor
Arne Halaas
Boerge Svingen
Geirr I Leistad
Original Assignee
Interagon As
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
Priority claimed from NO984746A external-priority patent/NO984746D0/en
Application filed by Interagon As filed Critical Interagon As
Priority to NO19994895A priority Critical patent/NO312983B1/en
Publication of NO994895D0 publication Critical patent/NO994895D0/en
Publication of NO994895L publication Critical patent/NO994895L/en
Publication of NO312983B1 publication Critical patent/NO312983B1/en

Links

Landscapes

  • Communication Control (AREA)

Description

Oppfinnelsen angår en digital prosesseringsinnretning P, spesielt til prosessering av digitale data- og signalstrukturer, hvor data- og signalstrukturene omfatter gjentatte sekvenser og/eller nøstete mønstre, og hvor prosesseringsinnretningen P generelt er konfigurert som et regulært tre med n+1 nivåer So, Si,...Sn og av grad k. The invention relates to a digital processing device P, in particular for processing digital data and signal structures, where the data and signal structures comprise repeated sequences and/or tangled patterns, and where the processing device P is generally configured as a regular tree with n+1 levels So, Si ,...Sn and of degree k.

Prosessering av store datamengder med bruk av gjentatte eller rekursive operasjoner på meget store datamengder kan selv i et begrenset antall ofte bli en flaskehals ved bruk av konvensjonelle mikroprosessorer og er derfor egnet for massivt parallelle løsninger hvor et meget stort antall prosesseringselementer samtidig utfører forskjellige operasjoner i parallell på en stor datastrøm, men eventuelt også parallelle operasjoner på flere datastrømmer. Fremtrer slike store datamengder i form av data eller signalstrukturer med gjentatte sekvenser og/eller nøstete mønstre, kan prosesseringen effektiviseres ytterligere ved å realiseres i parallell på samme eller flere forskjellige nivåer. Processing large amounts of data using repeated or recursive operations on very large amounts of data, even in a limited number, can often become a bottleneck when using conventional microprocessors and is therefore suitable for massively parallel solutions where a very large number of processing elements simultaneously perform different operations in parallel on a large data stream, but possibly also parallel operations on several data streams. If such large amounts of data appear in the form of data or signal structures with repeated sequences and/or tangled patterns, the processing can be made more efficient by being realized in parallel at the same or several different levels.

Fra US patent nr. 4860201 (Stolfo & al.) er det kjent en parallell prosesseringsinnretning strukturert som et binært tre, hvor det benyttes et stort antall prosessorer, hvor med en egen I/O-enhet. Generelt angir Stolfo & al. en datamaskin med et stort antall prosessorer forbundet i en binært trestruktur slik at hver prosessor bortsett fra de som utgjør henholdsvis roten og treets blader har en enkelt foreldernodeprosessor og to barnprosessorer. Prosessorene arbeider typisk synkront med data som føres til dem fra forelderprosessoren og fører resultatene videre til de nærmeste etterfølgende prosessorer, dvs. forelderprosessorens barn. Samtidig kan barnprosessorene til en forelderprosessor også kommunisere med hverandre. From US patent no. 4860201 (Stolfo & al.) a parallel processing device structured as a binary tree is known, where a large number of processors are used, each with a separate I/O unit. In general, Stolfo & al. a computer with a large number of processors connected in a binary tree structure such that each processor except those constituting the root and the leaves of the tree, respectively, has a single parent node processor and two child processors. The processors typically work synchronously with data that is fed to them from the parent processor and pass the results on to the closest succeeding processors, i.e. the parent processor's children. At the same time, the child processors of a parent processor can also communicate with each other.

I henhold til Stolfo & al. utgjør hver node et prosesseringselement som omfatter en prosessor i en egentlig forstand, et lese/skriveminne eller randomaksessminne og en I/O-anordning. I/O-anordningen skaffer grensesnitt mellom hvert prosesseringselement og dens forelder- og barn-prosesseringselementer slik at det fås en vesentlig forbedring i hastigheten hvormed data sendes gjennom den binære trestruktur. Da den binære trestruktur har et prosesseringelement i hver eneste node, vil prosesseringsinnretningen generelt omfatte 2n<->l prosesseringselementer, altså 1023 prosesseringselementer dersom det binære tre er realisert med 10 nivåer. I en foretrukket utførelse har denne kjente According to Stolfo & al. each node constitutes a processing element comprising a processor in a proper sense, a read/write memory or random access memory and an I/O device. The I/O device provides interfaces between each processing element and its parent and child processing elements so that there is a significant improvement in the speed at which data is sent through the binary tree structure. As the binary tree structure has a processing element in each and every node, the processing device will generally comprise 2n<->l processing elements, i.e. 1023 processing elements if the binary tree is realized with 10 levels. In a preferred embodiment, this has known

parallellprosessorinnretning en klokkefrekvens på 12 MHz som i tilfelle det parallel processor device a clock frequency of 12 MHz as in case it

benyttes et tre med 1023 prosessorer som hver har en gjennomsnittlig instruksjonssyklustid på 1,8 fis, gir en prosesseringsytelse på omtrent 570 millioner instruksjoner i sekundet. using a tree of 1023 processors each having an average instruction cycle time of 1.8 fis gives a processing performance of approximately 570 million instructions per second.

En binær parallellprosessor av denne art kan f.eks. være velegnet til å håndtere oppspaltbare eller partisjonerbare databehandlingsproblemer, f.eks. søking i store informasjonsmengder. Et partisjonerbart søkeproblem kan defineres som et problem hvor et spørsmål om relasjonen mellom et objekt x og en objektmengde svarer til en gjentatt bruk av en kommutativ og assosiativ binær operator b som har en identitet og et primitivt søkespørsmål som appliseres mellom et nytt objekt x og hvert element f i mengden F. Man har da et partisjonerbart søkeproblem når den logiske funksjon ELLER kombineres med det primitive spørsmål "er x lik f anvendt mellom objektet x og hvert element f i F. Som anført hos Stolfo & al., kan et problem som består i å besvare et spørsmål om mengden F, besvares med å kombinere svarene på spørsmålene applisert til vilkårlige undermengder av F. Problemet er med andre ord partisjonerbart eller oppspaltbart og velegnet til hurtig å eksekveres ved hjelp av parallell prosessering. Mengden F partisjoneres i et antall vilkårlige undermengder lik antall tilgjengelige prosessorer. Det primitive spørsmål q blir deretter applisert i parallell på hver prosessor mellom den ukjente x som formidles til samtlige prosessorer og det lokalt lagrede element f i mengden F. Resultatene blir deretter vilkårlig kombinert i parallell av log2N repetisjoner av operatoren b, idet det først utføres et antall beregninger på N/2 tilstøtende par av prosessorer og deretter et tilsvarende antall beregninger på N/4 par av prosessorer med resultatene fra de første beregningene. Operasjonene flytter seg dermed under prosessen til overliggende nivåer i det binære tre, m.a.o. fra barnprosessorer til forelderprosessoren osv. og repeteres i parallell på hvert nivå. A binary parallel processor of this kind can e.g. be well-suited to handling decomposable or partitionable computing problems, e.g. searching in large amounts of information. A partitionable search problem can be defined as a problem where a question about the relation between an object x and a set of objects corresponds to a repeated use of a commutative and associative binary operator b that has an identity and a primitive search question that is applied between a new object x and each element f in the set F. One then has a partitionable search problem when the logical function OR is combined with the primitive question "is x equal to f applied between the object x and each element f in F. As stated by Stolfo & al., a problem consisting of to answer a question about the set F, is answered by combining the answers to the questions applied to arbitrary subsets of F. In other words, the problem is partitionable or decomposable and suitable for rapid execution using parallel processing. The set F is partitioned into a number of arbitrary subsets equal to the number of available processors.The primitive query q is then applied in parallel on each processor between about the unknown x that is conveyed to all processors and the locally stored element f in the set F. The results are then arbitrarily combined in parallel by log2N repetitions of the operator b, first performing a number of calculations on N/2 adjacent pairs of processors and then a corresponding number of calculations on N/4 pairs of processors with the results of the first calculations. The operations thus move during the process to overlying levels in the binary tree, i.e. from child processors to the parent processor, etc. and is repeated in parallel at each level.

Det gis imidlertid en rekke databehandlingsproblemer hvor data- og signalstrukturene omfatter gjentatte sekvenser og/eller nøstete mønstre som er slik at en prosesseringsinnretning av den art som er vist i US patent nr. 4860201 ikke gir den ønskede fleksibilitet eller i det hele tatt ikke er egnet til å håndtere problemet. En binær trestruktur som der vist, forutsetter i prinsippet at problemet kan partisjoneres binært og at operasjonene skjer i parallell på samme nivå. Imidlertid kan det være problemer som krever en annen grad av oppspalting og hvor prosesseringen må kunne foregå i parallell, men på forskjellige nivåer i tre strukturen. Problemene kan også partisjoneres slik at det vil være ønskelig med større partisjoneringskapasitet på ett og samme nivå i noen av undertrærne i trestrukturen, og dette vil i praksis kreve løsninger som tar utgangspunktet i en generell trestruktur som ikke bare har et vilkårlig antall nivåer, men også er av vilkårlig grad, samtidig som noder i undertrær ikke bare er koblet til foreldernoden for vedkommende tre, men eksempelvis kan kobles til en node på samme eller underliggende nivåer i nabotrær. En økt grad av konnektivitet i trestruktur med et ønsket antall nivåer og av vilkårlig grad vil derfor kunne gjøre det mulig å rekonfigurere den opprinnelige trestruktur enten i form av reduserte trær eller enkle eller komplekse grafer. Samtidig kan én eller flere av bladnodene, dvs. barnnodene, kombineres og overta funksjonen til vedkommende foreldernode. However, there are a number of data processing problems where the data and signal structures comprise repeated sequences and/or tangled patterns such that a processing device of the kind shown in US patent no. 4860201 does not provide the desired flexibility or is not suitable at all to deal with the problem. A binary tree structure as shown there assumes in principle that the problem can be binary partitioned and that the operations take place in parallel at the same level. However, there may be problems that require a different degree of splitting and where the processing must be able to take place in parallel, but at different levels in the tree structure. The problems can also be partitioned so that it would be desirable to have greater partitioning capacity at one and the same level in some of the subtrees in the tree structure, and this would in practice require solutions that take as their starting point a general tree structure that not only has an arbitrary number of levels, but also is of arbitrary degree, while nodes in subtrees are not only connected to the parent node of the tree in question, but can, for example, be connected to a node at the same or underlying levels in neighboring trees. An increased degree of connectivity in tree structure with a desired number of levels and of arbitrary degree will therefore make it possible to reconfigure the original tree structure either in the form of reduced trees or simple or complex graphs. At the same time, one or more of the leaf nodes, i.e. the child nodes, can be combined and take over the function of the relevant parent node.

Hensikten med den foreliggende oppfinnelse er derfor å skaffe en prosesseringsinnretning som er spesielt egnet til å prosessere store datamengder i massiv parallellisme og på forskjellige nivåer i en generell trestruktur, men som samtidig kan konfigureres valgfritt til nøstete kretser på forskjellige nivåer og fortrinnsvis under bestemte forutsetninger slik at en valgt konfigurasjon på et gitt nivå genereres rekursivt av en konfigurasjon på et underliggende nivå. Spesielt er det hensikten at prosesseringsinnretningen i henhold til oppfinnelsen skal kunne realisere en MIMD-prosesseringsinnretning dvs. en prosesseringsinnretning som arbeider med multiple instruksjoner og multiple data. The purpose of the present invention is therefore to provide a processing device which is particularly suitable for processing large amounts of data in massive parallelism and at different levels in a general tree structure, but which can at the same time be optionally configured into skeined circuits at different levels and preferably under certain conditions such as that a selected configuration at a given level is recursively generated by a configuration at an underlying level. In particular, it is intended that the processing device according to the invention should be able to realize an MIMD processing device, i.e. a processing device that works with multiple instructions and multiple data.

De ovennevnte og andre hensikter oppnås i henhold til oppfinnelsen med en digital prosesseringsinnretning som er kjennetegnet ved at prosesseringsinnretningen P er anordnet i form av en krets Pn på nivået Sn og utgjør treets rotnode, at det nærmeste underliggende nivå Sn.i er anordnet nøstet i kretsen Pn og omfatter k kretser Pn.l5 som utgjør rotnodens datternoder, at generelt omfatter et i kretsen Pn underliggende nivå Sn.q, hvor qe{l,2,...n-l}, kq kretser Pn.q anordnet nøstet i de kq' 1 kretser Pn.q+i på det overliggende nivå Sn.q+i, idet hver krets Pn.q+i på dette nivå omfatter k kretser Pn.q, at et i kretsen Pn for q = n definert nullte nivå Sn.q = S0 omfatter fra k"'<1>*! til k<n> kretser P0 som utgjør kjerneprosessorer i prosesseringsinnretningen P og på dette nivå S0 danner bladnoder i treet, idet kjerneprosessorene P0 er anordnet nøstet i et antall av 1 til k i hver av de k""<1 >kretser Pi på nivået Si, at hver av kretsene Pi, P2-..Pn på respektive nivåer Si, S2,...Sn omfatter en logisk enhet E som generelt er forbundet med de i respektive kretser Pl5P2...Pn nøstet anordnede kretser P0,Pi...Pn-i på det henholdsvis nærmest underliggende nivå S0,Si...Sn_i og etter valg konfigurerer et nettverk av de sistnevnte kretser i de respektive kretser Pi,P2...Pn, og at hver av kretsene P0,Pi,...Pn har identiske grensesnitt I. The above and other purposes are achieved according to the invention with a digital processing device which is characterized by the fact that the processing device P is arranged in the form of a circuit Pn at the level Sn and constitutes the root node of the tree, that the nearest underlying level Sn.i is arranged skeined in the circuit Pn and includes k circuits Pn.l5 which make up the root node's daughter nodes, that generally includes an underlying level Sn.q in the circuit Pn, where qe{l,2,...n-l}, kq circuits Pn.q arranged skeined in the kq' 1 circuits Pn.q+i on the overlying level Sn.q+i, as each circuit Pn.q+i on this level includes k circuits Pn.q, that a zeroth level Sn.q is defined in the circuit Pn for q = n = S0 comprises from k"'<1>*! to k<n> circuits P0 which constitute core processors in the processing device P and at this level S0 form leaf nodes in the tree, the core processors P0 being arranged in a skein in a number of 1 to k in each of the k""<1 >circuits Pi on the level Si, that each of the circuits Pi, P2-..Pn on respective levels Si, S2,...Sn comprises a logical unit E which is generally connected to the circuits P0,Pi...Pn-i arranged in a skein in respective circuits Pl5P2...Pn at the respective closest underlying level S0,Si...Sn_i and optionally configures a network of the latter circuits in the respective circuits Pi,P2...Pn, and that each of the circuits P0,Pi,...Pn has identical interfaces I.

Fordelaktig er en første utførelse av prosesseringsinnretningen i henhold til oppfinnelsen kjennetegnet ved at det nullte nivå S0 omfatter k" kjerneprosessorer P0, at en kjerneprosessor P0 rekursivt avbilder en krets Pi på det overliggende nivå med en faktor r = k, slik at treet er et uredusert eller komplett tre, og at generelt avbilder en krets Pn.q på nivået Sn.q rekursivt en krets Pn-q+i på det overliggende nivå Sn.q+i med faktoren r = k. Advantageously, a first embodiment of the processing device according to the invention is characterized by the fact that the zeroth level S0 comprises k" core processors P0, that a core processor P0 recursively maps a circuit Pi on the overlying level with a factor r = k, so that the tree is an unreduced or complete tree, and that in general a circuit Pn.q at the level Sn.q recursively maps a circuit Pn-q+i at the overlying level Sn.q+i with the factor r = k.

Videre er fordelaktig en annen utførelse av prosesseringsinnretningen i henhold til oppfinnelsen kjennetegnet ved at det nullte nivå S0 omfatter rk"'<1 >kjerneprosessorer P0, idet l<r<k, at en kjerneprosessor Po avbilder en krets Pi på det overliggende nivå Si med den samme faktor r, slik at treet er et symmetrisk redusert eller balansert tre, og at generelt avbilder en krets Pn.q på alle nivåer fra nivået Si en krets Pn.q+i på det overliggende nivå S„.q+i rekursivt med faktoren r = k. Furthermore, another embodiment of the processing device according to the invention is advantageously characterized in that the zeroth level S0 comprises rk"'<1 >core processors P0, where l<r<k, that a core processor Po maps a circuit Pi on the overlying level Si with the same factor r, so that the tree is a symmetrically reduced or balanced tree, and that in general a circuit Pn.q on all levels from the level Si maps a circuit Pn.q+i on the overlying level S„.q+i recursively with the factor r = k.

Endelig er fordelaktig en tredje utførelse av prosesseringsinnretningen i henhold til oppfinnelsen kjennetegnet ved at det nøstet i hver krets P! på nivået Si er anordnet henholdsvis fra 1 til k kjerneprosessorer, at i det minste en av kretsene Pi omfatter minst 2 og høyst k-1 kjerneprosessorer P0, slik at det totale antall kjerneprosessorer P0 på nivået S0 utgjør minst kn' l+ l og høyst k<n->l, og treet blir et asymmetrisk redusert eller ubalansert tre, og at generelt avbildes en krets Pn.q på nivået Sn.q av de i den respektive krets Pn.q nøstete kretser Pn.q.i. Finally, a third embodiment of the processing device according to the invention is advantageously characterized by the skein in each circuit P! on the level Si are respectively arranged from 1 to k core processors, that at least one of the circuits Pi includes at least 2 and at most k-1 core processors P0, so that the total number of core processors P0 on the level S0 amounts to at least kn' l+ l and at most k <n->l, and the tree becomes an asymmetrically reduced or unbalanced tree, and that in general a circuit Pn.q is mapped at the level Sn.q by the circuits Pn.q.i snared in the respective circuit Pn.q.

Fordelaktig kan i henhold til oppfinnelsen kjerneprosessoren omfatte minst en kombinatorisk enhet C og en minneenhet M forbundet med den minst ene kombinatoriske enhet C, idet fortrinnsvis i det miste en del av minneenheten M er konfigurert som en registerenhet R. I det sistnevnte tilfelle kan da fortrinnsvis den minst ene kombinatoriske enhet C og registerenheten R være konfigurert som en aritmetisk logisk enhet ALU. Advantageously, according to the invention, the core processor may comprise at least one combinatorial unit C and a memory unit M connected to the at least one combinatorial unit C, with preferably at least part of the memory unit M being configured as a register unit R. In the latter case, preferably the at least one combinatorial unit C and the register unit R be configured as an arithmetic logic unit ALU.

Fordelaktig omfatter i henhold til oppfinnelsen den logiske enhet minst en kombinatorisk enhet C og en registerenhet R forbundet med den minst ene kombinatoriske enhet C, idet den minst ene kombinatoriske enhet C fortrinnsvis er en multiplekser. Det er da fordelaktig at den logiske enhet E i en krets Pn.q er innrettet til å forbindes med den logiske enhet E i en tilsvarende krets Pn.q på samme nivå Sn.q i et nabotre. Advantageously, according to the invention, the logic unit comprises at least one combinatorial unit C and a register unit R connected to the at least one combinatorial unit C, the at least one combinatorial unit C preferably being a multiplexer. It is then advantageous that the logical unit E in a circuit Pn.q is arranged to be connected to the logical unit E in a corresponding circuit Pn.q at the same level Sn.q in a neighboring tree.

Det er også fordelaktig at den logiske enhet E i en krets Pn.q, er innrettet til å forbindes med den logiske enhet E i kretser Pn.q.i, Pn-q-2> --.Pi på respektive underliggende nivåer Sn.q.i, Sn.q.2, ...Si i et nabotre.. Endelig er det også fordelaktig når den logiske enhet i en krets Pn.q er innrettet til å forbindes med en eller flere kjerneprosessorer P0 i et nabotre, enten direkte eller via den logiske enhet E i kretsen Pi, hvor den eller de angjeldende kjerneprosessorer P0 er nøstet. It is also advantageous that the logic unit E in a circuit Pn.q, is arranged to be connected to the logic unit E in circuits Pn.q.i, Pn-q-2> --.Pi at respective underlying levels Sn.q.i, Sn.q.2, ...Si in a neighbor tree.. Finally, it is also advantageous when the logical unit in a circuit Pn.q is arranged to be connected to one or more core processors P0 in a neighbor tree, either directly or via the logical unit E in the circuit Pi, where the relevant core processor(s) P0 are entwined.

Oppfinnelsen skal nå forklares nærmere i tilknytning til utførelseseksempler og med henvisning til den ledsagende tegning, hvor The invention will now be explained in more detail in connection with design examples and with reference to the accompanying drawing, where

fig. 1 viser en første utførelse av prosesseringsinnretningen i henhold til oppfinnelsen, fig. 1 shows a first embodiment of the processing device according to the invention,

fig. 2 utførelsen på fig. 1 konfigurert som en regulær trestruktur, fig. 2 the embodiment in fig. 1 configured as a regular tree structure,

fig. 3 trestrukturen for en annen utførelse av prosesseringsinnretningen i henhold til oppfinnelsen, fig. 3 the tree structure for another embodiment of the processing device according to the invention,

fig. 4a en tredje utførelse av prosesseringsinnretningen i henhold til oppfinnelsen, konfigurert som et asymmetrisk redusert tre, fig. 4a a third embodiment of the processing device according to the invention, configured as an asymmetrically reduced tree,

fig. 4b et eksempel på et undertre med bladnoder i trestrukturen som representerer prosesseringsinnretningen i henhold til oppfinnelsen, fig. 4b an example of a subtree with leaf nodes in the tree structure representing the processing device according to the invention,

fig. 4c et annet eksempel på et undertre med bladnoder i trestrukturen som representerer prosesseringsinnretningen i henhold til oppfinnelsen, fig. 4c another example of a subtree with leaf nodes in the tree structure representing the processing device according to the invention,

fig. 5 skjematisk prinsippet for å danne prosesseringsinnretningen i henhold til oppfinnelsen som en nøstet krets ved rekursiv avbildning, fig. 5 schematically shows the principle for forming the processing device according to the invention as a skeined circuit by recursive mapping,

fig. 6 en utførelse av prosesseringsinnretningen i henhold til oppfinnelsen som en rekursiv krets med tre nivåer og grad fire, fig. 6 an embodiment of the processing device according to the invention as a recursive circuit with three levels and degree four,

fig. 7 en annen utførelse av prosesseringsenheten i henhold til oppfinnelsen som en rekursiv krets med fire nivåer og likeledes grad fire, fig. 7 another embodiment of the processing unit according to the invention as a recursive circuit with four levels and likewise degree four,

fig. 8 mulige koblinger mellom nodene i et tre tilsvarende kretsen på fig. 6, fig. 8 possible connections between the nodes in a tree corresponding to the circuit in fig. 6,

fig. 9 mulig koblinger mellom nodene i et tre tilsvarende kretsen på fig, 7, fig. 9 possible connections between the nodes in a tree corresponding to the circuit in fig, 7,

fig. 10 kretsen på fig. 6 og fig. 8 koblet som en éndimensjonal graf, fig. 10 the circuit in fig. 6 and fig. 8 connected as a one-dimensional graph,

fig. Ila skjematisk en generell utførelse av en kjerneprosessor i prosesseringsinnretningen i henhold til oppfinnelsen, fig. Ila schematically a general embodiment of a core processor in the processing device according to the invention,

fig. 1 lb skjematisk en utførelse av en krets med en logisk enhet og en kjerneprosessor i form av en komparatorenhet til bruk i en søkeprosessorinnretning basert på prosesseringsinnretningen i henhold til oppfinnelsen, fig. 1 lb schematically an embodiment of a circuit with a logic unit and a core processor in the form of a comparator unit for use in a search processor device based on the processing device according to the invention,

fig. 12a komparatorenheten på fig. 1 lb, fig. 12a the comparator unit of fig. 1 lb,

fig. 12b koblingen av komparatorer lik den på fig. 12a for å sammenligne et mønster av f.eks. 3 tegn, og fig. 12b the connection of comparators similar to that in fig. 12a to compare a pattern of e.g. 3 characters, and

fig. 12c et balansert binært tre realisert med kretser tilsvarende den på fig. 11b. fig. 12c a balanced binary tree realized with circuits corresponding to that of fig. 11b.

Fig. 1 viser skjematisk oppbygningen av en parallell prosesseringsinnretning i henhold til den foreliggende oppfinnelse. Formelt kan skjemaet på fig. 1 beskrives som følger: Gitt en krets P0 med en grensesnitt IP() samt en ytterligere krets E kan det dannes en gjentatt sekvens av kretser Pi, P2,..P3, med respektive grensesnitt Ipj, Ip2,... Ipn hver bestående av henholdsvis k kretser Po, P2,...Pn-i og en eneste ytterligere krets E, idet grensesnittene I er identiske for samtlige kretser P0, Pi ,...Pn, m.a.o. er IP() = IPl <=> I<p>2... <=> IP[i. I hvert tilfelle er kretsen Pi konfigurert som et trenettverk med n+1 nivåer S og av grad k. Spesifikt viser fig. 1 en digital prosesseringsinnretning i form av kretsen P4 som danner et tre med fem nivåer S og har graden 3. Dette innebærer som vist på fig. 1, at kretsen P4 som befinner seg på nivået S4, på det underliggende nivå omfatter tre kretser P3. Hver av kretsene P3 på nivået S3 er dannet med tre kretser P2 på det underliggende nivå S2 og hver av kretsene P2 på nivået S2 er dannet med tre kretser Pi på det underliggende nivå Si. Endelig er hver av kretsene Pi på nivået Si dannet med tre kretser P0 på nivået So- Kretsene P0 utgjør de egentlige prosessorenheter i prosesseringsinnretningen P4 og danner P4's kjerneprosessorer. Da kretsen P4 som vist på fig. 2, er strukturert som et ternært tre, innebærer dette at nivået S0 i alt omfatter 34 = 81 kjerneprosessorer Po, det overliggende nivå Si 27 kretser Pi og det følgende nivå S2 9 kretser P2. Endelig har nivået S3 3 kretser Fig. 1 schematically shows the structure of a parallel processing device according to the present invention. Formally, the form in fig. 1 is described as follows: Given a circuit P0 with an interface IP() and a further circuit E, a repeated sequence of circuits Pi, P2,..P3, with respective interfaces Ipj, Ip2,... Ipn each consisting of respectively k circuits Po, P2,...Pn-i and a single further circuit E, the interfaces I being identical for all circuits P0, Pi ,...Pn, m.a.o. is IP() = IPl <=> I<p>2... <=> IP[i. In each case, the circuit Pi is configured as a tree network with n+1 levels S and of degree k. Specifically, fig. 1 a digital processing device in the form of the circuit P4 which forms a tree with five levels S and has degree 3. This means, as shown in fig. 1, that the circuit P4 located at the level S4, on the underlying level comprises three circuits P3. Each of the circuits P3 on the level S3 is formed with three circuits P2 on the underlying level S2 and each of the circuits P2 on the level S2 is formed with three circuits Pi on the underlying level Si. Finally, each of the circuits Pi on the level Si is formed with three circuits P0 on the level So. The circuits P0 constitute the actual processor units in the processing device P4 and form P4's core processors. Then the circuit P4 as shown in fig. 2, is structured as a ternary tree, this means that the level S0 comprises a total of 34 = 81 core processors Po, the overlying level Si 27 circuits Pi and the following level S2 9 circuits P2. Finally, level S3 has 3 circuits

P3. Hver av kretsene P0, Pi, P2, P3 og P4 utgjør noder i treet på fig. 2. Kjerneprosessorene P0 utgjør treets bladnoder og kretsen P4 treets rotnode. Slik strukturert fremstår treet på fig. 2 som et rekursivt ternært tre, idet en krets på et vilkårlig nivå S avbilder kretsen på det nærmest følgende overliggende nivå rekursivt med en avbildningsfaktor r = k som i dette tilfellet er 3. Hver av kretsene Pi, P2, P3, P4 omfatter dessuten en logisk enhet E, slik at de logiske enheter E i samtlige kretser Pi, P2, P3, P4 fysisk sett utgjør nodene i treet. Ved hjelp av den logiske enhet E kan hver node i treet generelt forbindes med sin foreldernode eller med sine barnnoder. Gjennom den logiske enhet kan også hver av nodens barnnoder forbindes innbyrdes. Hver av kjerneprosessorene som utgjør treets bladnoder, har samtidig respektive kretser Pi som foreldernoder og kan via disse forbindes innbyrdes. Som i og for seg kjent partisjoneres det problem som prosesseringsinnretningen i henhold til oppfinnelsen skal behandle, og prosesseringen eksekveres på nivået So i parallell av kjerneprosessorene P0. Resultatene fra kjerneprosessorene P0 kombineres og føres videre av den respektive foreldernode Pi. Denne prosesses repeteres inntil det endelige resultat foreligger på kretsen P4. P3. Each of the circuits P0, Pi, P2, P3 and P4 constitute nodes in the tree of fig. 2. The core processors P0 constitute the tree's leaf nodes and the circuit P4 the tree's root node. Structured in this way, the tree appears in fig. 2 as a recursive ternary tree, in that a circuit at an arbitrary level S recursively maps the circuit at the next closest overlying level with a mapping factor r = k which in this case is 3. Each of the circuits Pi, P2, P3, P4 also comprises a logical unit E, so that the logical units E in all circuits Pi, P2, P3, P4 physically form the nodes in the tree. By means of the logical unit E, each node in the tree can generally be connected to its parent node or to its child nodes. Through the logical unit, each of the node's child nodes can also be interconnected. Each of the core processors that make up the tree's leaf nodes also has respective circuits Pi as parent nodes and can be connected to each other via these. As is known per se, the problem which the processing device according to the invention is to process is partitioned, and the processing is executed at the level So in parallel by the core processors P0. The results from the core processors P0 are combined and passed on by the respective parent node Pi. This process is repeated until the final result is available on circuit P4.

Både kjerneprosessoren P0 og den logiske enhet E skal omtales noe mer detaljert i det følgende. Both the core processor P0 and the logical unit E shall be described in more detail in the following.

Imidlertid behøver ikke kretsen P4 å være realisert som et fullstendig eller regulært rekursivt tre. Den kan godt være dannet som et symmetrisk redusert tre og det innebærer at antall bladnoder eller antall kjerneprosessorer P0, forbundet med nodene Pi er redusert slik at hver krets Pi omfatter to eller flere bladnoder eller kjerneprosessorer P0, men i hvert tilfelle mindre enn k kjerneprosessorer P0. Da kretsen på fig. 1 har k = 3, innebærer det at det symmetrisk reduserte tre som vist på fig. 3, omfatter to kjerneprosessorer P0 for hver krets Pj. Det symmetrisk reduserte tre på fig. 3 er med andre ord ikke regulært rekursivt, idet rekursjonen først fra nivået Si skjer med en avbildningsfaktor r = 3. Utført som på fig. 1, vil selvsagt hver krets Pi i treet på fig. 3 foruten det logiske element E omfatte bare to kjerneprosessorer P0. However, the circuit P4 need not be realized as a complete or regular recursive tree. It may well be formed as a symmetrically reduced tree and this implies that the number of leaf nodes or the number of core processors P0, connected to the nodes Pi is reduced so that each circuit Pi includes two or more leaf nodes or core processors P0, but in each case less than k core processors P0 . Since the circuit in fig. 1 has k = 3, it means that the symmetrically reduced tree as shown in fig. 3, comprises two core processors P0 for each circuit Pj. The symmetrically reduced tree in fig. 3 is, in other words, not regularly recursive, since the recursion first takes place from level Si with a mapping factor r = 3. Performed as in fig. 1, each circuit Pi in the tree in fig. 3 besides the logical element E include only two core processors P0.

Den rekursive avbildning av kretser på et underliggende nivå til et overliggende nivå innebærer selvsagt at disse kretser vil være nøstet i en krets på det overliggende nivå og hele kretsen P4 fremstår dermed som en nøstet krets. The recursive mapping of circuits on an underlying level to an overlying level naturally implies that these circuits will be entangled in a circuit on the overlying level and the entire circuit P4 thus appears as an entangled circuit.

Dersom kretsen er en asymmetrisk redusert krets, kan den fremstå som vist på fig. 4a. Her har noen av nodene Pj regulært tre bladnoder P0, andre noder Pi bare to bladnoder P0 og atter andre noder Pi bare en eneste bladnode P0.1 det sistnevnte tilfelle blir avbildningen av foreldernoden til Pi en identitetsavbildning av denne, og for så vidt kan da det logiske element E sløyfes i kretsene P^ Omfatter derfor samtlige kretser Pi bare en eneste kjerneprosessor P0 vil treet som danner kretsen P4, fremstå som fullstendig redusert, idet Pi = P0 og kretsen P4 transformeres til en regulært rekursiv krets P3 med fire nivåer og 27 kjerneprosessorer Po på nivået S0. Er derfor antall nivåer n+1, må en krets Pn ha minst k<n>_<1>+l kjerneprosessorer på nivået So for ikke å fremstå som et fullstendig redusert tre. If the circuit is an asymmetrically reduced circuit, it may appear as shown in fig. 4a. Here, some of the nodes Pj regularly have three leaf nodes P0, other nodes Pi only two leaf nodes P0 and still other nodes Pi only a single leaf node P0.1 in the latter case, the mapping of the parent node of Pi becomes an identity mapping of it, and as far as the logic element E is looped in the circuits P^ If therefore all circuits Pi include only a single core processor P0, the tree forming the circuit P4 will appear to be completely reduced, as Pi = P0 and the circuit P4 is transformed into a regular recursive circuit P3 with four levels and 27 core processors Po at level S0. Therefore, if the number of levels is n+1, a circuit Pn must have at least k<n>_<1>+l core processors at level So in order not to appear as a completely reduced tree.

Et undertre i et maksimalt asymmetrisk redusert tre er vist på fig. 4b, idet dette undertre omfatter en node P2 med barnnoder Pi, slik at bare én av nodene Pi har to kjerneprosessorer eller bladnoder P0, mens samtlige av de øvrige noder Pi i treet kun.har en eneste bladnode Po, slik at Pi i disse tilfeller reduseres til Po- Med fem nivåer tilsvarende kretsen på fig. 1 ville derfor en krets Pi konfigurert som vist på fig. 4b, altså med to bladnoder i en krets Pi og ellers bare én bladnode i hver av de øvrige noder Pi, fremstå som et maksimalt asymmetrisk redusert tre og antall noder på nivået S0 utgjør med andre ord 3 +1 =28. Tilsvarende er et undertre for noden P2 i et minimalt asymmetrisk redusert tre vist på fig. 4c. Her omfatter en eneste node Pi to bladnoder eller kjerneprosessorer P0, mens samtlige av de øvrige noder Pi i treet som før omfatter tre bladnoder P0. Dette innebærer naturligvis at et minimalt asymmetrisk redusert tre tilsvarende kretsen på fig.l i dette tilfelle vil omfatte i alt 80 kjerneprosessorer P0. En krets som dannes som trærne vist på fig. 4 vil naturligvis fortsatt fremstå som nøstet på alle underliggende nivåer S0, Si, S3, men avbildningen vil ikke lenger være rekursiv, idet en krets Pi, P2, P3, P4 vil være avbildet av samtlige kretser som befinner seg på de respektive underliggende nivåer S0, Si, S2, S3. Fordelene ved å danne kretsen P4 som et symmetrisk eller asymmetrisk redusert tre skal omtales nærmere i det følgende. A subtree in a maximal asymmetric reduced tree is shown in fig. 4b, as this subtree comprises a node P2 with child nodes Pi, so that only one of the nodes Pi has two core processors or leaf nodes P0, while all of the other nodes Pi in the tree only have a single leaf node Po, so that Pi in these cases is reduced to Po- With five levels corresponding to the circuit in fig. 1 would therefore have a circuit Pi configured as shown in fig. 4b, i.e. with two leaf nodes in a circuit Pi and otherwise only one leaf node in each of the other nodes Pi, appear as a maximally asymmetrical reduced tree and the number of nodes at level S0 is, in other words, 3 +1 =28. Correspondingly, a subtree for the node P2 in a minimal asymmetric reduced tree is shown in fig. 4c. Here, a single node Pi includes two leaf nodes or core processors P0, while all of the other nodes Pi in the tree which previously included three leaf nodes P0. This naturally implies that a minimal asymmetrically reduced tree corresponding to the circuit in fig.1 will in this case comprise a total of 80 core processors P0. A circuit formed like the trees shown in fig. 4 will of course still appear as the skein on all underlying levels S0, Si, S3, but the mapping will no longer be recursive, as a circuit Pi, P2, P3, P4 will be mapped by all circuits located on the respective underlying levels S0 , Say, S2, S3. The advantages of forming the circuit P4 as a symmetrical or asymmetrical reduced tree will be discussed in more detail below.

Fig. 5 viser hvordan en rekursivt selvavbildende prosesseringsinnretning Pn i henhold til oppfinnelsen dannes. Kretsen Pn er realisert som et tre med n+1 nivåer og av grad k = 4. Hver av kretsene er P0, Pi...Pn.i er nøstet i de respektive kretser Pl9 P2...Pn på den nærmeste overliggende nivå Si, S2,...Sn. Antall nøstete nivåer er da naturligvis n og kretsen Pn vil på det nullte nivå So definert av kjerneprosessorene P0 omfatte i alt k<n> slike kjerneprosessorer. Generelt vil antall kretser Pn.q på et nivå Sn.q, hvor q = 0, 1, 2,...n være lik k<q>. Fig. 6 viser en nøstet krets P2 generert som et rekursivt tre i henhold til prinsippet på fig. 5. Kretsen P2 omfatter den logiske enhet E og nøstet på det underliggende nivå Sj fire kretser Pi som hver igjen omfatter den logiske enhet E samt nøstet på det underliggende nivå hver fire kretser eller kjerneprosessorer P0. De logiske enheter konfigurerer kretsen P2 som et kvaternært tre med tre nivåer S0, Si, S2, og i alt seksten kjerneprosessorer Po eller bladnoder på nivået S0. Tilsvarende viser fig. 7 en sekvensielt generert krets med fem nivåer S og k = 4. Kretsen på fig. 7 utgjør m.a.o. et kvaternært konfigurert tre med i alt 64 kjerneprosessorer P0 på nivået S0. Som før er naturligvis grensesnittene I til hver krets P0, Pi P2, P3, P4 identiske. Fig. 8 viser kretsen P2 på fig. 6 generelt konfigurert som et kvaternært tre men dessuten slik at eksempelvis kretsene P]5 dvs. nodene på nivået Si, er innbyrdes forbundet med en kjerneprosessor P0 i nabotreet på nivået S0. Generelt vil den logiske enhet E i en av nodene Pi, P2...Pn ikke bare tillate en kobling oppover og nedover i det undertreet hvor noden befinner seg, men også en kobling til noder i nabotrær innen ett og samme nivå eller en kobling til den nærmestliggende node på et underliggende nivå i nabotreet. For kretsen på fig. 6 kan således noden Pi i et undertre kobles til den første bladnode P0 i nabotreet osv. Fig. 5 shows how a recursively self-imaging processing device Pn according to the invention is formed. The circuit Pn is realized as a tree with n+1 levels and of degree k = 4. Each of the circuits is P0, Pi...Pn.i is entwined in the respective circuits Pl9 P2...Pn on the nearest overlying level Si , S2,...Sn. The number of entwined levels is then naturally n and the circuit Pn will at the zeroth level So defined by the core processors P0 comprise a total of k<n> such core processors. In general, the number of circuits Pn.q at a level Sn.q, where q = 0, 1, 2,...n will be equal to k<q>. Fig. 6 shows a skeined circuit P2 generated as a recursive tree according to the principle of fig. 5. The circuit P2 comprises the logical unit E and the skein on the underlying level Sj four circuits Pi which each in turn comprise the logical unit E and the skein on the underlying level each four circuits or core processors P0. The logic units configure the circuit P2 as a quaternary tree with three levels S0, Si, S2, and a total of sixteen core processors Po or leaf nodes at level S0. Correspondingly, fig. 7 a sequentially generated circuit with five levels S and k = 4. The circuit in fig. 7 constitutes m.a.o. a quaternary configured tree with a total of 64 core processors P0 at level S0. As before, the interfaces I of each circuit P0, Pi P2, P3, P4 are of course identical. Fig. 8 shows the circuit P2 in fig. 6 generally configured as a quaternary tree but also such that, for example, the circuits P]5, i.e. the nodes at level Si, are interconnected with a core processor P0 in the neighboring tree at level S0. In general, the logical unit E in one of the nodes Pi, P2...Pn will not only allow a link up and down in the subtree where the node is located, but also a link to nodes in neighboring trees within the same level or a link to the nearest node at an underlying level in the neighbor tree. For the circuit of fig. 6, the node Pi in a subtree can thus be connected to the first leaf node P0 in the neighboring tree, etc.

Tilsvarende viser fig. 9 koblinger i kretsen på fig. 7 som utgjør et kvaternært tre med fire nivåer og i alt 64 kjerneprosessorer. Her kan igjen en node på et gitt nivå kobles til noden i nabotreet på samme nivå eller til nærmest tilstøtende noder i nabotreet på et vilkårlig underliggende nivå. Correspondingly, fig. 9 connections in the circuit of fig. 7 which constitutes a quaternary tree with four levels and a total of 64 core processors. Here again, a node at a given level can be connected to the node in the neighbor tree at the same level or to the nearest adjacent nodes in the neighbor tree at any underlying level.

Dette innebærer at den generelle trestruktur kan konfigureres via det logiske element til forskjellige mer eller mindre komplekse grafer. Et eksempel på fig. 10 er vist hvor kretsen P2 på fig. 6 eller fig. 8 er rekonfigurert slik at P2 i realiteten utgjør en éndimensjonal graf hvor de seksten kjerneprosessorene Po er koblet sekvensielt. This means that the general tree structure can be configured via the logical element into various more or less complex graphs. An example of fig. 10 is shown where the circuit P2 in fig. 6 or fig. 8 is reconfigured so that P2 in reality constitutes a one-dimensional graph where the sixteen core processors Po are connected sequentially.

Vanligvis vil prosesseringsinnretningen i henhold til oppfinnelsen realiseres som et dediserfprosesseringsinnretning for en bestemt oppgave, f.eks. bildebehandling. Med utgangspunkt i den generelle trestruktur kan konfigureringen skje oppgavespesifikt, enten operativt eller fysisk. Skjer konfigureringen operativt, tilføres kretsen over grensesnittet konfigurerende parametre som realiserer det for prosesseringen hensiktsmessige nettverk. Konfigureringen kan dermed godt innebære at kretsen konfigureres med færre kjerneprosessorer enn det som i realiteten er anordnet i kretsen. Prosesseringsinnretningen i henhold til oppfinnelsen kan da fremstå som et symmetrisk redusert tre, slik det er vist på fig. 3, eller et asymmetrisk redusert tre, slik det er vist på fig. 4. For enkelte konkrete databehandlingsoppgaver kan det nemlig kreves et større antall kjerneprosessorer i et eller flere undertrær for å øke Usually, the processing device according to the invention will be realized as a dedicated processing device for a specific task, e.g. image processing. Based on the general tree structure, the configuration can be task-specific, either operationally or physically. If the configuration takes place operatively, the circuit via the interface is supplied with configuring parameters that realize the network appropriate for the processing. The configuration may thus well mean that the circuit is configured with fewer core processors than are actually arranged in the circuit. The processing device according to the invention can then appear as a symmetrically reduced tree, as shown in fig. 3, or an asymmetrically reduced tree, as shown in fig. 4. For certain concrete data processing tasks, a larger number of core processors may be required in one or more subtrees to increase

prosesseringsinnretningens kapasitet for en spesifikk oppgave. the processing device's capacity for a specific task.

Som nevnt kan også prosesseringsinnretningen i henhold til oppfinnelsen fremtre som et fysisk redusert tre hva enten det er symmetrisk eller asymmetrisk redusert. Dette innebærer at den fysiske kretsløsning i realiteten er realisert med et mindre antall kjerneprosessorer enn det som er gitt av antall nivåer S i treet og graden k. Dette kan være hensiktsmessig for å oppnå en kretsteknisk løsning som utnytter plassforholdene på brikken optimalt. Kan antall kjerneprosessorer i en dedisert prosesseringsinnretning i henhold til oppfinnelsen reduseres fysisk, innebærer dette eksempelvis en reduksjon av kretsbrikkens fysiske størrelse eller en bedre utnyttelse av plassen på brikken, avhengig av den reelle arkitektoniske løsning som velges. Forutsetningen er naturligvis under enhver omstendighet at den oppgave som prosesseringsinnretningen er tiltenkt utføres. As mentioned, the processing device according to the invention can also appear as a physically reduced tree, whether it is symmetrically or asymmetrically reduced. This means that the physical circuit solution is in reality realized with a smaller number of core processors than that given by the number of levels S in the tree and the degree k. This can be appropriate to achieve a circuit engineering solution that makes optimal use of the space conditions on the chip. If the number of core processors in a dedicated processing device according to the invention can be physically reduced, this means, for example, a reduction in the physical size of the circuit chip or a better utilization of the space on the chip, depending on the actual architectural solution that is chosen. The prerequisite is, of course, in all circumstances that the task for which the processing device is intended is carried out.

Kretsen P0 definerer et nullte, unøstet nivå i prosesseringsinnretningen P og utgjør en kjerneprosessor i P. The circuit P0 defines a null, unseeded level in the processing device P and constitutes a core processor in P.

Kjerneprosessoren Po er generelt vist på fig. 1 la og omfatter en kombinatorisk enhet C forbundet med en minneenhet M. Grensesnittet IP() i kjerneprosessoren P0 som naturligvis er identisk med grensesnittet I til de øvrige kretser Pi,... Pn er på siden av P0 skjematisk antydet med piler betegnet "In" og "Out" for henholdsvis inngangsside og utgangsside. Den kombinatoriske enhet C mottar på inngangssiden data i form av operative parametre som omfatter de data som skal prosesseres. I tillegg leverer også inngangssiden data i form av konfigurerende parametre for kjerneprosessoren Po. Disse konfigurerende parametre kan bestå av instruksjoner samt innstillingsparametre for underelementer i den kombinatoriske enhet C og minneenheten M. Dersom de data som skal prosesseres, har form av strukturer med gjentatte sekvenser og/eller nøstete mønstre og prosesseringen av dataene er spesifikt rettet mot bestemte sekvenser og mønstre med bruk av et forholdsvis begrenset instruksjonssett, kan fordelaktig minneenheten helt eller delvis være konfigurert som en registerenhet R, idet hver registerenhet kan omfatte en rekke registre med henholdsvis fast lengde og adresse, betinget av de operasjoner som skal utføres ved prosesseringen. Utgangssiden av grensesnittet leverer resultatene av prosesseringen f.eks. til et ikke vist eksternt inn/ut-grensesnitt for hele prosesseringsenheten P„ eller leverer resultatene til andre kjerneprosesseringsenheter P0 i kretsene Pi eller til inngangsgrensesnittene i kretser P2, P3 ...Pn på overliggende nivåer S2, S3....Sn. The core processor Po is generally shown in fig. 1 la and comprises a combinatorial unit C connected to a memory unit M. The interface IP() in the core processor P0 which is of course identical to the interface I of the other circuits Pi,... Pn is schematically indicated on the side of P0 with arrows denoted "In " and "Out" for input side and output side respectively. The combinatorial unit C receives on the input side data in the form of operational parameters that comprise the data to be processed. In addition, the input side also supplies data in the form of configuring parameters for the core processor Po. These configuring parameters can consist of instructions as well as setting parameters for sub-elements in the combinatorial unit C and the memory unit M. If the data to be processed takes the form of structures with repeated sequences and/or tangled patterns and the processing of the data is specifically aimed at certain sequences and patterns with the use of a relatively limited instruction set, the memory unit can advantageously be fully or partially configured as a register unit R, as each register unit can comprise a number of registers with a fixed length and address respectively, depending on the operations to be performed during the processing. The output side of the interface delivers the results of the processing e.g. to a not shown external I/O interface for the entire processing unit P„ or delivers the results to other core processing units P0 in the circuits Pi or to the input interfaces in circuits P2, P3 ...Pn at superordinate levels S2, S3....Sn.

En spesifikk utførelse av en krets Pi til bruk i en søkeprosessorinnretning er vist noe skjematisk, men med samtlige hovedkomponenter på fig. 11b. Grensesnittet er vist henholdsvis som et inngangsgrensesnitt Iin og et utgangsgrensesnitt Iout. Inngangsgrensesnittet Iin er forbundet med en multiplekser MUX med utganger henholdsvis til utgangsgrensesnittet Iout, en komparatorenhet COM som svarer til kjerneprosessorenheten P0, en første D-vippe og en sekvenskontrollenhet SC. Komparatorenheten COM benyttes i en søkeoperasjon til å sammenligne tegn eller strenger av tegn som danner gitte mønstre. På denne måten kan det bestemmes hvorvidt et gitt mønster kan gjenfinnes i form av et eller flere elementer i en mengde dannet av forskjellige mønstre. Komparatorenheten COM leverer de mottatte data videre til utgangsgrensesnittet Iout og resultatet av sammenligningen til en latensitetsenhet LAT som kan benyttes til å forsinke en positiv binær verdi et gitt antall sykler. Latentsitetsenheten LAT er derfor over D-vippen Di forbundet med en utgang på multiplekseren MUX og leverer selv resultatet av sammenligningen videre til sekvenskontrollhenheten SC som er innrettet til henholdsvis å kreve at en kjerneprosessor koblet før eller etter den foreliggende rapporterer en overensstemmelse før den foreliggende kjerneprosessor selv kan rapportere en overensstemmelse, og tillater sammenligning av mønstre i tilfelle visse deler av mønsteret mangler og dessuten sammenligning av mønstre hvor visse deler av mønsteret kan være gjentatt. Sekvenskontrollenheten SC er på inngangssiden forbundet med D-vippen Di og>på utgangssiden med D-vippen D2, idet antall vipper skal være likt antall karakterer som sammenlignes av komparatorenheten COM. Sekvenskontrollenheten SC må kunne motta resultater fra en sammenligningsoperasjon i forutgående eller etterfølgende prosessorenhet og er derfor forbundet med inngangsgrensesnittet Iin og multiplekseren MUX og rapporterer selv resultatene av sammenligningsoperasjonen videre over utgangsgrensesnittet Iout. Endelig omfatter også kretsen Pi i denne utførelse en resultatvelger RS som benyttes til å kombinere to resultatverdier fra andre kjerneprosessorer eller andre resultatvelgere. Resultatvelgeren RS er derfor forbundet med henholdsvis inngangsgrensesnittet Iin og utgangsgrensesnittet Iout og kan utføre boolske operasjoner på to resultatverdier eller sammenligne operasjoner av typen større enn, mindre enn eller er lik over et sett av prosessorer. A specific embodiment of a circuit Pi for use in a search processor device is shown somewhat schematically, but with all the main components in fig. 11b. The interface is shown respectively as an input interface Iin and an output interface Iout. The input interface Iin is connected to a multiplexer MUX with outputs respectively to the output interface Iout, a comparator unit COM corresponding to the core processor unit P0, a first D flip-flop and a sequence control unit SC. The comparator unit COM is used in a search operation to compare characters or strings of characters that form given patterns. In this way, it can be determined whether a given pattern can be found in the form of one or more elements in a quantity formed by different patterns. The comparator unit COM forwards the received data to the output interface Iout and the result of the comparison to a latency unit LAT which can be used to delay a positive binary value a given number of cycles. The latency unit LAT is therefore connected via the D flip-flop Di to an output of the multiplexer MUX and itself delivers the result of the comparison to the sequence control unit SC which is arranged to respectively require that a core processor connected before or after the present one reports a match before the present core processor itself can report a match, and allows comparison of patterns in case certain parts of the pattern are missing and also comparison of patterns where certain parts of the pattern may be repeated. The sequence control unit SC is connected on the input side to the D flip-flop Di and on the output side to the D flip-flop D2, the number of flip-flops must be equal to the number of characters compared by the comparator unit COM. The sequence control unit SC must be able to receive results from a comparison operation in the preceding or following processor unit and is therefore connected to the input interface Iin and the multiplexer MUX and itself reports the results of the comparison operation further over the output interface Iout. Finally, the circuit Pi in this embodiment also includes a result selector RS which is used to combine two result values from other core processors or other result selectors. The result selector RS is therefore connected to the input interface Iin and the output interface Iout respectively and can perform Boolean operations on two result values or compare operations of the type greater than, less than or equal to across a set of processors.

I en spesifikk utførelse kan en digital prosesseringsinnretning P være innrettet for forskjellige former av numerisk databehandling i massiv parallellisme, og den kombinatoriske enhet C og en registerenhet R vil da være konfigurert som en aritmetisk logisk enhet ALU. Hver kjerneprosessor P0 kan dessuten omfatte en minneenhet M konfigurert som RAM og kan dermed implementere en intelligent RAM (IRAM) slik at latensitetsproblemer reduseres eller elimineres i en databehandling av denne art. In a specific embodiment, a digital processing device P can be arranged for various forms of numerical data processing in massive parallelism, and the combinatorial unit C and a register unit R will then be configured as an arithmetic logic unit ALU. Each core processor P0 can also include a memory unit M configured as RAM and can thus implement an intelligent RAM (IRAM) so that latency problems are reduced or eliminated in data processing of this kind.

På hvert nøstet nivå Si, S2,...Sn er det dessuten anordnet en ytterligere krets i form av en logisk enhet E som selv kan være en prosessorenhet bestående av en kombinatorisk enhet C og en registerenhet R. Den logiske enhet E er generelt identisk for alle kretser Pi, P2-. Pn- For eksempelvis kretsen P svarer den logiske enhet E til samtlige komponenter vist på fig. 11b med unntak av grensesnittet I og komparatoren (kjerneprosessoren COM). I et regulært binært tre vil naturligvis kretsen P[ på fig. 1 lb ha to kjerneprosessorer, dvs. to forbundne komparatorenheter COM. Fordelaktig vil kretsen E på hvert nivå Si, S2...Sn fungere som en prosesseringsenhet med det formål å konfigurere nettverket på det respektive nivå og eventuelt underliggende nivåer hvor kretsen E inngår i hver node i nettverket. Ved å tilføre kretsen E passende nettverkskonfigurerende parametre, kan et nettverk på et gitt nivå konfigureres optimalt for den prosesseringsoppgave som skal utføres. Den logiske enhet E er innrettet til å forbindes med noder på samme eller underliggende nivå i nabotrær og kan med utgangspunkt i en regulær trestruktur omforme denne til mer eller mindre komplekse grafer og nettverk for bedre å håndtere oppgavespesifikke datavolumer og datarater, f.eks. ved problemer som ikke lar seg partisjonere balansert. At each entangled level Si, S2,...Sn, a further circuit is also arranged in the form of a logic unit E which can itself be a processor unit consisting of a combinatorial unit C and a register unit R. The logic unit E is generally identical for all circuits Pi, P2-. Pn- For the circuit P, for example, the logic unit E corresponds to all the components shown in fig. 11b with the exception of the interface I and the comparator (core processor COM). In a regular binary tree, the circuit P[ in fig. 1 lb have two core processors, i.e. two connected comparator units COM. Advantageously, the circuit E at each level Si, S2...Sn will function as a processing unit for the purpose of configuring the network at the respective level and possibly underlying levels where the circuit E is included in each node in the network. By supplying the circuit E with suitable network configuring parameters, a network at a given level can be optimally configured for the processing task to be performed. The logical unit E is designed to be connected to nodes at the same or underlying level in neighboring trees and, starting from a regular tree structure, can transform this into more or less complex graphs and networks to better handle task-specific data volumes and data rates, e.g. in the case of problems that cannot be balanced partitioned.

Den kombinatoriske enhet i kjerneprosessoren P0 realisert som en komparatorenhet COM og benyttet i en søkeprosessorinnretning er vist på fig. 12a. Et register x rommer her dataordet som for øyeblikket befinner seg i komparatorenheten COM og register a inneholder dataordet som x skal sammenlignes med. Det kan av fig. 12a lett ses at fire sammenligninger kan utføres, nemlig x = a, x>a, x?ta eller x < a, og resultatet leveres til utgangen fra multiplekseren MUX. Med en sammenkobling av komparatorenheter som vist på fig. 12a, kan enkle mønstre i form av tegnstrenger sammenlignes. Prinsippet er vist på fig. 12b hvor de viste og sammenkoblede enhetene vil kunne sammenligne strengen abc, dvs. a direkte fulgt av en b, direkte fulgt av en c. The combinatorial unit in the core processor P0 realized as a comparator unit COM and used in a search processor device is shown in fig. 12a. Here, a register x contains the data word that is currently in the comparator unit COM and register a contains the data word that x is to be compared with. It can be seen from fig. 12a it is easily seen that four comparisons can be performed, namely x = a, x>a, x?ta or x < a, and the result is delivered to the output of the multiplexer MUX. With an interconnection of comparator units as shown in fig. 12a, simple patterns in the form of character strings can be compared. The principle is shown in fig. 12b where the shown and connected units will be able to compare the string abc, i.e. a directly followed by a b, directly followed by a c.

Dersom prosesseringsinnretningen i henhold til den foreliggende oppfinnelse skal implementeres som en søkeprosessorinnretning, kan det benyttes et uredusert og balansert binært tre. For hver indre node i treet, dvs. alle noder med unntak av rotnoden og bladnodene, benyttes en multiplekser til å avgjøre hvorvidt to undertrær skal motta de samme dataelementer i parallell eller hvorvidt de skal motta data i sekvens. Dette svarer til å koble noder på to forskjellige nivåer i nabotrær, som allerede omtalt. If the processing device according to the present invention is to be implemented as a search processor device, an unreduced and balanced binary tree can be used. For each internal node in the tree, i.e. all nodes with the exception of the root node and the leaf nodes, a multiplexer is used to determine whether two subtrees are to receive the same data elements in parallel or whether they are to receive data in sequence. This corresponds to connecting nodes at two different levels in neighbor trees, as already discussed.

Fig. 12c viser en søkeprosesseringsinnretning realisert som et binært tre med 8 kjerneprosessorer, her vist som kretser 0, 1, ...7.1 den forbindelse skal det bemerkes at når resultatene innhentes fra to kretser eller to kjerneprosessorer vil disse kombineres med bruk av logiske operasjoner. Dette skjer i resultatvelgeren RS. Den logiske enhet E i hver krets omfatter som vist på fig. 1 lb en resultatvelger RS som også tillater at utelukkende et av resultatene velges. Resultatvelgerne benyttet i et binært tre vil m.a.o. gi et enkelt resultat fra en gruppe av prosesseringselementer. Samtidig skal søkeprosesseringsinnretningen i form av et binært tre også innhente resultatene av en sammenligning av tegn eller tegnstrenger foretatt før eller etter sammenligningen av det tegn eller tegnstrengene som for øyeblikket behandles av kjerneprosessoren eller komparatorenheten COM. Ved bruk av en sekvenskontrollenhet i den logiske enhet kan treet kan konfigureres slik at en sammenligningsoperasjon kan foretas ved å velge resultatene enten til høyre eller venstre for hvilke som helst elementer som sammenligner forskjellige tegn eller tegnstrenger. Når en rekke komparatorenheter dessuten sammenligner de samme tegn eller tegnstrenger, er deres foregående og påfølgende resultater de samme. Disse resultatene kan finnes ved at samme multiplekser MUX som styrer datastrømmen benyttes, slik at et sammenligningsresultat føres videre til hvilke som helst av naboelementene som sammenligner det samme tegn eller tegnstreng. Dette realiseres også i søkeprosessorinnretningen som vist på fig. 12c. I den forbindelse skal det bemerkes at det samme multipleksersett nå benyttes for tre separate formål, nemlig til å fordele data, til å rute minnebiter gjennom riktige antall vipper og til å skaffe eller levere resultatet fra sammenligninger av forutgående eller påfølgende tegn eller tegnstrenger. Imidlertid kan også resultatene fra forskjellige kjerneprosessorer kombineres ved bruk av en oppslagstabellenhet som kan være forbundet mellom undertrærne og utgangen på søkeprosessorinnretningen. Oppslagstabellenheten vil da erstatte resultatvelgerne RS vist på fig. 12c. Fig. 12c shows a search processing device realized as a binary tree with 8 core processors, here shown as circuits 0, 1, ...7.1 in this connection it should be noted that when the results are obtained from two circuits or two core processors these will be combined using logical operations . This happens in the result selector RS. The logic unit E in each circuit comprises, as shown in fig. 1 lb a result selector RS which also allows only one of the results to be selected. The result selectors used in a binary tree will e.g. return a single result from a group of processing elements. At the same time, the search processing device in the form of a binary tree must also obtain the results of a comparison of characters or character strings made before or after the comparison of the character or character strings currently being processed by the core processor or the comparator unit COM. Using a sequence control unit in the logical unit, the tree can be configured so that a comparison operation can be performed by selecting the results either to the right or to the left of any elements that compare different characters or character strings. Moreover, when a series of comparator units compare the same characters or character strings, their preceding and succeeding results are the same. These results can be found by using the same multiplexer MUX that controls the data flow, so that a comparison result is passed on to any of the neighboring elements that compare the same character or string of characters. This is also realized in the search processor device as shown in fig. 12c. In this connection, it should be noted that the same multiplexer set is now used for three separate purposes, namely, to allocate data, to route bits of memory through the correct number of flip-flops, and to obtain or deliver the result of comparisons of preceding or succeeding characters or character strings. However, the results from different core processors can also be combined using a lookup table unit which can be connected between the subtrees and the output of the search processor device. The lookup table unit will then replace the result selectors RS shown in fig. 12c.

Den nøstete og eventuelt rekursivt dannede prosesseringsinnretning P i henhold til oppfinnelsen kan benyttes til å danne oppgavespesifikke prosesseringsinnretninger for behandling av store datamengder i massiv parallellisme. Eksempler på slike oppgaver kan være søking i store datamengder strukturert i form av dokumenter, hvor søkingen skjer i samtidig parallell i samtlige eller et stort antall dokumenter og f.eks. kan være rettet mot gjenfinning, identifikasjon og sammenligning av mønstre. Videre kan prosesseringsinnretningen i henhold til oppfinnelsen eksempelvis konfigureres for bildebehandling, kryptering og dekryptering samt prosessering basert på rekursive prosedyrer generelt. Anvendt som en ren numerisk prosessor, kunne prosesseringsinnretningen i henhold til oppfinnelsen være innrettet til faktorisering. The skeined and possibly recursively formed processing device P according to the invention can be used to form task-specific processing devices for processing large amounts of data in massive parallelism. Examples of such tasks can be searching in large amounts of data structured in the form of documents, where the search takes place simultaneously in parallel in all or a large number of documents and e.g. can be aimed at finding, identifying and comparing patterns. Furthermore, the processing device according to the invention can for example be configured for image processing, encryption and decryption as well as processing based on recursive procedures in general. Used as a pure numerical processor, the processing device according to the invention could be arranged for factorization.

Kjerneprosessorene P0 kan som nevnt, være basert på standard mikroelektroniske komponenter, og disse kan eksempelvis være implementert som en såkalt feltprogrammert portgruppe (FPGA) eller som en applikasjonsspesifikk integrert krets (ASIC), i begge tilfelle med en varierende integrasjonsskala. Da prosesseringsenheten i henhold til oppfinnelsen kan skaleres i flere dimensjoner, f.eks. med hensyn til prosessorkapasitet eller konnektivitet, er imidlertid realiseringen ikke låst til en bestemt teknologi eller et bestemt teknologisk nivå, men kan i praksis implementeres basert på det til enhver tid foreliggende teknologisk nivå, slik at prosesseringsenhetens ytelse kan forbedres i takt med den tekniske utvikling. As mentioned, the core processors P0 can be based on standard microelectronic components, and these can, for example, be implemented as a so-called field-programmed gate group (FPGA) or as an application-specific integrated circuit (ASIC), in both cases with a varying scale of integration. As the processing unit according to the invention can be scaled in several dimensions, e.g. with regard to processor capacity or connectivity, however, the realization is not locked to a specific technology or a specific technological level, but can in practice be implemented based on the technological level available at any time, so that the performance of the processing unit can be improved in line with technical development.

I prinsippet kunne prosesseringsinnretningen P i henhold til den foreliggende oppfinnelse være realisert med vilkårlig grad k og et vilkårlig antall n+1 nivåer S. I hvert tilfelle vil antall kjerneprosessorer være gitt ved k<n>. I realiteten vil imidlertid både k og n være begrenset av den mikroelektroniske teknologi som står til rådighet for å realisere prosesseringsinnretningen P og spesielt da den tilgjengelige integrasjonsskala. Avhengig av både teknologi og de spesifikke prosesseringsoppgaver prosesseringsinnretninger P skal realiseres for, kan de valgte verdier for k og n gjøres til gjenstand for avveining, f.eks. avhengig av behovet for parallellisme og partisjoneringsgrad. I en praktisk realisert implementasjon er f.eks. prosesseringsenheten Pn realisert med k = 8 og n = 3, altså 512 kjerneprosessorer P0 på nivået So- In principle, the processing device P according to the present invention could be realized with an arbitrary degree k and an arbitrary number of n+1 levels S. In each case, the number of core processors will be given by k<n>. In reality, however, both k and n will be limited by the microelectronic technology available to realize the processing device P and, in particular, by the available integration scale. Depending on both the technology and the specific processing tasks processing devices P are to be realized for, the chosen values for k and n can be made the subject of a trade-off, e.g. depending on the need for parallelism and degree of partitioning. In a practically realized implementation, e.g. the processing unit Pn realized with k = 8 and n = 3, i.e. 512 core processors P0 at the level So-

Ved bruk av standard mikroelektronikk basert på konvensjonell uorganisk halvlederteknologi, eksempelvis silisiumteknologi, kan konnektiviteten, dvs. sammenkoblingen av kretsene i et nettverk by på problemer i form av kompleksitet og lange signalveier dersom prosesseringsenheten P realiseres integrert i hovedsakelig planar teknologi på et substrat. I prinsippet er imidlertid nettverket rekonfigurerbart, dvs. at et for en oppgave konfigurert nettverk kan konfigureres til et annet nettverk, f.eks. med bruk av passende konfigurasjonsparametre via den logiske enhet E. For visse oppgaver innen massiv parallell prosessering kan det imidlertid være ønskelig med en høy konnektivitetsgrad og ideelt sett med total konnektivitet, dvs. at samtlige noder er innbyrdes forbundet. I det tilfelle vil graden av konnektivitet for m noder skalere som m<2>/2, og vil selv for et begrenset antall m, eksempelvis 512, være vanskelig å realisere med bruk av konvensjonelle kretstopologier. En mulighet for å realisere en kretstopologi er å stable kretser basert på organisk tynnfilmteknologi over hverandre i en volumetrisk konfigurasjon og benytte både vertikalt og horisontalt ledende strukturer til å danne forbindelser mellom de enkelte noder eller kretser, slik at det fås en tredimensjonal nettverkstopologi som vil tillate en meget høy konnektivitetsgrad. Slike teknologier er vist i NO patentsøknad 19982518 (Gudesen, Leistad og Nordal) som er rettet mot en integrert skalerbar databehandlingsinnretning med MIMD-arkitektur og realisert som en volumetrisk oppbygget enhet, blant annet med optimale nettverkstopologier og høy konnektivitetsgrad for massiv parallell prosessering. When using standard microelectronics based on conventional inorganic semiconductor technology, for example silicon technology, the connectivity, i.e. the interconnection of the circuits in a network, can present problems in the form of complexity and long signal paths if the processing unit P is realized integrated in mainly planar technology on a substrate. In principle, however, the network is reconfigurable, i.e. a network configured for one task can be configured to another network, e.g. with the use of suitable configuration parameters via the logical unit E. However, for certain tasks within massively parallel processing, it may be desirable to have a high degree of connectivity and ideally with total connectivity, i.e. that all nodes are interconnected. In that case, the degree of connectivity for m nodes will scale as m<2>/2, and even for a limited number of m, for example 512, will be difficult to realize using conventional circuit topologies. One possibility to realize a circuit topology is to stack circuits based on organic thin film technology on top of each other in a volumetric configuration and use both vertically and horizontally conducting structures to form connections between the individual nodes or circuits, so that a three-dimensional network topology is obtained that will allow a very high degree of connectivity. Such technologies are shown in NO patent application 19982518 (Gudesen, Leistad and Nordal) which is aimed at an integrated scalable data processing device with MIMD architecture and realized as a volumetrically structured unit, including optimal network topologies and a high degree of connectivity for massively parallel processing.

Claims (12)

1. Digital prosesseringsinnretning P, spesielt til prosessering av digitale data- og signalstrukturer, hvor data og signal strukturene omfatter gjentatte sekvenser og/eller nøstede mønstre, og hvor prosesseringsinnretningen P generelt er konfigurert som et regulært tre med n+1 nivåer S0, S3,...Sn og av grad k, karakterisert ved at prosesseringsinnretningen P er anordnet i form av en krets Pn på nivået Sn og utgjør treets rotnode, at det nærmeste underliggende nivå Sn.\ er anordnet nøstet i kretsen Pn og omfatter k kretser Pn_i, som utgjør rotnodens barnnoder, at generelt omfatter et i kretsen Pn underliggende nivå Sn.q, hvor qe {l,2,...n-l}, kq kretser Pn.q anordnet nøstet i de k<q_1> kretser Pn.q+i på det overliggende nivå Sn.q+i, idet hver krets Pn.q+i på dette nivå omfatter k kretser Pn.q, at et i kretsen Pn for q = n definert nullte nivå Sn.q = S0 omfatter fra k<n>"'+l til k<n> kretser P0 som utgjør kjerneprosessorer i prosesseringsinnretningen P og på dette nivå So danner bladnoder i treet, idet kjerneprosessorene P0 er anordnet nøstet i et antall av 1 til k i hver av de k"'<1 >kretser Pi på nivået Si, at hver av kretsene Pi, P2...Pn på respektive nivåer Si, S2,...Sn omfatter en logisk enhet E som generelt er forbundet med de i respektive kretser Pi,P2...Pn nøstet anordnete kretser P0,Pi...Pn-i på det henholdsvis nærmest underliggende nivå S0,Si...Sn_i og etter valg konfigurerer et nettverk av de sistnevnte kretser i de respektive kretser Pi,P2...Pn, og at hver av kretsene P0,P],...Pn har identiske grensesnitt I.1. Digital processing device P, in particular for processing digital data and signal structures, where the data and signal structures comprise repeated sequences and/or nested patterns, and where the processing device P is generally configured as a regular tree with n+1 levels S0, S3, ...Sn and of degree k, characterized by that the processing device P is arranged in the form of a circuit Pn at the level Sn and constitutes the root node of the tree, that the closest underlying level Sn.\ is arranged skeined in the circuit Pn and includes k circuits Pn_i, which constitute the child nodes of the root node, that generally includes an underlying level Sn.q in the circuit Pn, where qe {l,2,...n-l}, kq circuits Pn.q arranged skeined in the k<q_1> circuits Pn.q+i on the overlying level Sn .q+i, as each circuit Pn.q+i at this level includes k circuits Pn.q, that a zeroth level Sn.q = S0 defined in the circuit Pn for q = n includes from k<n>"'+l to k<n> circuits P0 which constitute core processors in the processing device P and at this level So form leaf nodes in the tree, the core processors P0 being arranged skeined in a number of 1 to k in each of the k"'<1 >circuits Pi at level Si , that each of the circuits Pi, P2...Pn at respective levels Si, S2,...Sn comprises a logic unit E which is generally connected to the circuits P0,Pi arranged in a skein in respective circuits Pi,P2...Pn. ..Pn-i on the respective nearest underlying level S0,Si...Sn_i and optionally configures a network of the latter circuits in the respective circuits Pi,P2...Pn, and that each of the circuits P0,P], ...Pn have identical interfaces I. 2. Digital prosesseringsinnretning P i henhold til krav 1, karakterisert ved at det nullte nivå So omfatter k<n >kjerneprosessorer P0, at en kjerneprosessor P0 rekursivt avbilder en krets Pi på det overliggende nivå med en faktor r = k, slik at treet er et uredusert eller komplett tre, og at generelt avbilder en krets Pn.q på nivået Sn.q rekursivt en krets Pn-q+i på det overliggende nivå Sn.q+1 med faktoren r = k.2. Digital processing device P according to claim 1, characterized in that the zeroth level So comprises k<n> core processors P0, that a core processor P0 recursively maps a circuit Pi on the overlying level with a factor r = k, so that the tree is an unreduced or complete tree, and that in general a circuit Pn.q at the level Sn.q recursively maps a circuit Pn-q+i at the overlying level Sn.q+1 with the factor r = k. 3. Digital prosesseringsinnretning P i henhold til krav 1, karakterisert ved at det nullte nivå S0 omfatter rk<n>"' kjerneprosessorer P0, idet Kr<k, at en kjerneprosessor P0 avbilder en krets Pi på det overliggende nivå Si med den samme faktor r, slik at treet er et symmetrisk redusert eller balansert tre, og at generelt avbilder en krets Pn.q på alle nivåer fra nivået Sj en krets Pn.q+i på det overliggende nivå Sn.q+i rekursivt med faktoren r = k.3. Digital processing device P according to claim 1, characterized in that the zeroth level S0 comprises rk<n>"' core processors P0, Kr<k, that a core processor P0 maps a circuit Pi on the overlying level Si with the same factor r, so that the tree is a symmetrical reduced or balanced tree, and that in general a circuit Pn.q on all levels from the level Sj maps a circuit Pn.q+i on the overlying level Sn.q+i recursively with the factor r = k . 4. Digital prosesseringsinnretning P i henhold til krav 1, karakterisert ved at det nøstet i hver krets Pi på nivået Si er anordnet henholdsvis fra 1 til k kjerneprosessorer, at i det minste én av kretsene P] omfatter minst 2 og høyst k-1 kjerneprosessorer P0, slik at det totale antall kjerneprosessorer P0 på nivået S0 utgjør minst k<n>"'+l og høyst k<n->1, og treet blir et asymmetrisk redusert eller ubalansert tre, og at generelt avbildes en krets Pn.q på nivået Sn.q av de i den respektive krets Pn.q nøstete kretser Pn.q-i.4. Digital processing device P according to claim 1, characterized in that the skein in each circuit Pi at level Si is arranged respectively from 1 to k core processors, that at least one of the circuits P] comprises at least 2 and at most k-1 core processors P0, so that the total number of core processors P0 at level S0 amounts to at least k<n>"'+l and at most k<n->1, and the tree becomes an asymmetrically reduced or unbalanced tree, and that in general a circuit Pn.q is mapped at the level Sn.q of the shunted circuits Pn.q-i in the respective circuit Pn.q. 5. Digital prosesseringsinnretning P i henhold til krav 1, karakterisert ved at kjerneprosessoren Po omfatter minst én kombinatorisk enhet C og en minneenhet M forbundet med den minst ene kombinatoriske enhet C.5. Digital processing device P according to claim 1, characterized in that the core processor Po comprises at least one combinatorial unit C and a memory unit M connected to the at least one combinatorial unit C. 6. Digital prosesseringsinnretning P i henhold til krav 5, karakterisert ved at i det minste en del av minneenheten M er konfigurert som en registerenhet R.6. Digital processing device P according to claim 5, characterized in that at least part of the memory unit M is configured as a register unit R. 7. Digital prosesseringsinnretning Pi henhold til krav 6, karakterisert ved at den minst ene kombinatoriske enhet C og registerenheten R er konfigurert som en aritmetisk logisk enhet ALU.7. Digital processing device Pi according to claim 6, characterized in that the at least one combinatorial unit C and the register unit R are configured as an arithmetic logic unit ALU. 8. Digital prosesseringsinnretning P i henhold til krav 1, karakterisert ved at den logiske enhet E omfatter minst én kombinatorisk enhet C og en registerenhet R forbundet med den minst ene kombinatoriske enhet C.8. Digital processing device P according to claim 1, characterized in that the logical unit E comprises at least one combinatorial unit C and a register unit R connected to the at least one combinatorial unit C. 9. Digital prosesseringsinnretning P i henhold til krav 8, karakterisert ved at den minst ene kombinatoriske enhet C er en multiplekser.9. Digital processing device P according to claim 8, characterized in that the at least one combinatorial unit C is a multiplexer. 10. Digital prosesseringsinnretning P i henhold til krav 9, karakterisert ved at den logiske enhet E i en krets Pn.q er innrettet til å forbindes med den logiske enhet E i en tilsvarende krets Pn.q på samme nivå Sn.q i et nabotre.10. Digital processing device P according to claim 9, characterized in that the logical unit E in a circuit Pn.q is arranged to be connected to the logical unit E in a corresponding circuit Pn.q at the same level Sn.q in a neighbor tree. 11. Digital prosesseringsinnretning P i henhold til krav 9, karakterisert ved at den logiske enhet E i en krets Pn.q, er innrettet til å forbindes med den logiske enhet E i kretser Pn.q.i, Pn-q-2> ...Pi på respektive underliggende nivåer Sn_q_i, Sn_q_2, ...Si i et nabotre.11. Digital processing device P according to claim 9, characterized in that the logical unit E in a circuit Pn.q is arranged to be connected to the logical unit E in circuits Pn.q.i, Pn-q-2> ... Pi at respective underlying levels Sn_q_i, Sn_q_2, ...Si in a neighbor tree. 12. Digital prosesseringsinnretning P i henhold til krav 11, karakterisert ved at den logiske enhet E i en krets Pn.q innrettet til å forbindes med en eller flere kjerneprosessorer P0 i et nabotre, enten direkte eller via den logiske enhet E i kretsen Pi, hvor den eller de angjeldende kjerneprosessorer P0 er nøstet.12. Digital processing device P according to claim 11, characterized in that the logical unit E in a circuit Pn.q arranged to be connected to one or more core processors P0 in a neighboring tree, either directly or via the logical unit E in the circuit Pi, where the relevant core processor(s) P0 are snared.
NO19994895A 1998-10-09 1999-10-08 Digital processing device NO312983B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NO19994895A NO312983B1 (en) 1998-10-09 1999-10-08 Digital processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NO984746A NO984746D0 (en) 1998-10-09 1998-10-09 Digital processing unit
NO19994895A NO312983B1 (en) 1998-10-09 1999-10-08 Digital processing device

Publications (3)

Publication Number Publication Date
NO994895D0 NO994895D0 (en) 1999-10-08
NO994895L NO994895L (en) 2000-04-10
NO312983B1 true NO312983B1 (en) 2002-07-22

Family

ID=26648900

Family Applications (1)

Application Number Title Priority Date Filing Date
NO19994895A NO312983B1 (en) 1998-10-09 1999-10-08 Digital processing device

Country Status (1)

Country Link
NO (1) NO312983B1 (en)

Also Published As

Publication number Publication date
NO994895D0 (en) 1999-10-08
NO994895L (en) 2000-04-10

Similar Documents

Publication Publication Date Title
US6760744B1 (en) Digital processing system
US5134690A (en) Augumented multiprocessor networks
JP2512661B2 (en) Non-binary hypercube type computer system and network connection method for multiple nodes
US7673118B2 (en) System and method for vector-parallel multiprocessor communication
Efe et al. Products of networks with logarithmic diameter and fixed degree
Gu et al. Routing a permutation in the hypercube by two sets of edge disjoint paths
US11531637B2 (en) Embedding rings on a toroid computer network
Stojmenović Multiplicative circulant networks topological properties and communication algorithms
Serrano et al. Optimal architectures and algorithms for mesh-connected parallel computers with separable row/column buses
NO309169B1 (en) Sokeprosessor
NO312983B1 (en) Digital processing device
Yeh et al. Routing and embeddings in cyclic Petersen networks: an efficient extension of the Petersen graph
JPH11102589A (en) Association memory module
US11372791B2 (en) Embedding rings on a toroid computer network
Shen Efficient parallel multiselection on hypercubes
Parhami Other Hypercubic Architectures
WO1989001665A1 (en) Hypercube topology for multiprocessor systems with added communication paths between nodes or substituted corner topologies
Quadri et al. Modeling of topologies of interconnection networks based on multidimensional multiplicity
JPH07114515A (en) Decentralized memory computer with network for synchronous communication
JPH1166033A (en) Pe array device and associated memory block
Latifi Hypercube-based topologies with incremental link redundancy
Öhring et al. Embeddings of tree-related networks in incomplete hypercubes
Singhvi Cubic interconnection structures for large scale parallel processing
Suri et al. BDG-torus union graph-an efficient algorithmically specialized parallel interconnect
Robert Gaussian elimination on distributed memory architectures

Legal Events

Date Code Title Description
CREP Change of representative

Representative=s name: BRYN AARFLOT AS, POSTBOKS 449 SENTRUM, 0104 OSLO,

MK1K Patent expired