NL8800071A - Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. - Google Patents

Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. Download PDF

Info

Publication number
NL8800071A
NL8800071A NL8800071A NL8800071A NL8800071A NL 8800071 A NL8800071 A NL 8800071A NL 8800071 A NL8800071 A NL 8800071A NL 8800071 A NL8800071 A NL 8800071A NL 8800071 A NL8800071 A NL 8800071A
Authority
NL
Netherlands
Prior art keywords
data
processor
program memory
bits
supplied
Prior art date
Application number
NL8800071A
Other languages
English (en)
Original Assignee
Philips Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Nv filed Critical Philips Nv
Priority to NL8800071A priority Critical patent/NL8800071A/nl
Priority to EP89200037A priority patent/EP0325314B1/en
Priority to DE68914172T priority patent/DE68914172T2/de
Priority to JP1002161A priority patent/JP2879093B2/ja
Priority to KR1019890000186A priority patent/KR0147060B1/ko
Priority to FI890117A priority patent/FI890117A/fi
Publication of NL8800071A publication Critical patent/NL8800071A/nl
Priority to US07/595,720 priority patent/US5055997A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Logic Circuits (AREA)

Description

A
PHN 12.378 1 N.V. Philips' Gloeilampenfabrieken te Eindhoven Dataprocessorsysteem en videoprocessorsysteem , voorzien van een dergelijk dataprocessorsysteem.
De onderhavige uitvinding heeft betrekking op een dataprocessorsysteem voor het verwerken van in digitale vorm aangeboden data, voorzien van ten minste één dataprocessoreenheid, die ten minste één processormodule omvat met parallel in de tijd werkzame 5 processorelementen, waaronder ten minste een arithmetisch en/of logisch processorelement en ten minste één geheugenprocessorelement, en een herconfigureerbare schakelmatrix (crossbar switch), waaraan ingangssignalen voor de processormodule en uitgangssignalen van de tot de desbetreffende processormodule behorende processorelementen kunnen 10 worden toegevoerd en waaruit ingangssignalen voor de tot deze processormodule behorende processorelementen en uitgangssignalen van deze processormodule kunnen worden verkregen, waarbij voorts het arithmetisch en/of logisch processorelement is voorzien van een ALü (arithmetisch en/of logisch element) en een programmageheugen, en de 15 ALü een eerste en een tweede ingang (P, respektievelijk Q) bezit, via welke data kan worden toegevoerd, en een derde ingang (I), via welke instructies voor de in de ALÜ met betrekking tot de toegevoerde data uit te voeren bewerkingen kunnen worden toegevoerd.
Uit het artikel "Warp Architecture and Implementation" 20 van M. Annaratone c.s. van "13th Annual symposium on computer architecture, juni 1986, Tokio (Japan)" is een "systolic array computer (Warp)" bekend, waarbij een rij van processoreenheden aanwezig is en elke processoreenheid is voorzien van ten minste één arithmetisch en logisch processorelement en ten minste één geheugenprocessorelement, 25 terwijl voorts een herconfigureerbare schakelmatrix aanwezig is, waaraan, via een bufferschakeling, ingangssignalen voor een processoreenheid en uitgangssignalen van de tot de desbetreffende processoreenheid behorende processorelementen kunnen worden toegevoerd en waaruit ingangssignalen voor de tot deze processoreenheid behorende 30 processorelementen en uitgangssignalen van deze processoreenheid kunnen worden verkregen. Het arithmetisch en logisch processorelement is op de gebruikelijke wijze voorzien van een ALU om de diverse arithmetische en ,8800071 *
A
PHN 12.378 2 logische bewerkingen uit te kunnen voeren, terwijl voor het uitvoeren van vermenigvuldigingen een apart arithmetisch processorelement (multiplier) aanwezig is.
Uit oogpunt van eenvoud is het gewenst om tevoren in de 5 programma's in de desbetreffende programmageheugens vast te leggen op welk moment welke bewerkingen in de processorelementen plaatsvinden; meer in het bijzonder is dit gewenst wanneer het dataprocessorsysteem wordt toegepast in op ware tijd (real time)-basis werkzame inrichtingen, zoals bijvoorbeeld videoprocessorsystemen. Een voorwaarde hiervoor is 10 echter, dat de programma's worden gevormd door vaste cycli van sprongloze instructies, waardoor deze geen conditionele bewerkingen mogelijk maken. Dit wordt als een ernstig bezwaar ervaren, dat de toepassingsmogelijkheden van het dataprocessorsysteem aanzienlijk beperkt.
15 De uitvinding beoogt een dataprocessorsysteem te verschaffen, waarbij met behoud van, door een vaste cyclus van sprongloze instructies gevormd programma's in de desbetreffende programmageheugens toch conditionele bewerkingen kunnen worden uitgevoerd.
20 Overeenkomstig de uitvinding heeft om deze doelstelling te realiseren het dataprocessorsysteem, zoals dit in de aanhef is omschreven, het kenmerk, dat in het arithmetisch en/of logisch processorelement een combinatorisch netwerk aanwezig is, met behulp waarvan de instructies voor de in de ALU uit te voeren bewerkingen 25 worden bepaald uit in het programmageheugen opgeslagen woorden en, vanuit de de herconfigureerbare schakelmatrix over een daartoe specifiek aanwezig kanaal toegevoerde datawoorden. Meer in het bijzonder wordt een eerste instructiedeel in het combinatorisch netwerk bepaald door een evenzolang eerste gedeelte van een desbetreffend, in het 30 programmageheugen opgeslagen woord en een evenzolang datawoorddeel, dat is afgeleid uit een, vanuit de herconfigureerbare schakelmatrix toegevoerd datawoord, terwijl het overige instructiedeel wordt gevormd door het overige gedeelte van het desbetreffende, in het programmageheugen opgeslagen woord.
35 De uitvinding maakt het mogelijk, dat naast de gebruikelijke toevoer van instructies vanuit het programmageheugen aan de ALU nu tevens de mogelijkheid bestaat om instructiedelen te vervangen .8800071 6 4 ΡΗΝ 12.378 3 door datawoorddelen, die zijn afgeleid uit, vanuit de herconfigureerbare schakelmatrix toegevoerde datawoorden, en zelfs om deze datawoorddelen, bestuurd vanuit het programmageheugen, te modificeren. Met behulp van de, door de, vanuit de herconfigureerbare schakelmatrix toegevoerde 5 datawoorden bepaalde instructiedelen kunnen voorwaarden worden geschapen, die in de ALU aanleiding geven tot het uitvoeren van conditionele bewerkingen.
Het in de aanhef omschreven dataprocessorsysteem bezit een hiërarchie in architectuur in drie niveaufs, te weten 10 dataprocessoreenheden, processormodulen en processorelementen. Hierdoor wordt een modulaire en gegeneraliseerde opzet mogelijk, waarbij een veelheid van operaties tegelijkertijd kan worden uitgevoerd. Zijn meerdere dataprocessoren aanwezig, dan kunnen deze in een serie-, een parallel- en/of een teruggekoppelde configuratie zijn geschakeld. Elke 15 dataprocessoreenheid kan zijn voorzien van meerdere, bijvoorbeeld drie, processormodulen en is bij voorkeur uitgevoerd als een afzonderlijke geïntegreerde schakeling. Elke processormodule kan meerdere, bijvoorbeeld drie, arithmetische en/of logische processorelementen omvatten en meerdere, bijvoorbeeld twee, geheugenprocessorelementen, 20 terwijl daarnaast nog een poortprocessorelement aan de ingang of de uitgang van de processormodule aanwezig kan zijn. Elke processormodule is voorts voorzien van een herconfigureerbare schakelmatrix, welke bijvoorbeeld kan worden gevormd door de ingangsschakelingen van de processorelementen. Elk processorelement bezit zijn eigen 25 besturingselement met programmageheugen, waarin het programma voor het desbetreffende processorelement is ondergebracht. In het programmageheugen wordt een vaste cyclus van sprongloze instructiewoorden opgeslagen, bijvoorbeeld maximaal zestien, met behulp waarvan bewerkingen in het desbetreffende processorelement kunnen worden 30 uitgevoerd. In elk van de programmageheugens wordt steeds dezelfde cyclus van instructiewoorden gegenereerd; deze cycli kunnen voor de verschillende programmageheugens een verschillende lengte hebben. Door een terugstelsignaal kan worden bewerkstelligd, dat de eerste instructiewoorden van de respektievelijke cycli van alle 35 programmageheugens op eenzelfde moment worden gegenereerd. Vanuit de, tot een processormodule behorende programmageheugens wordt de herconfigureerbare schakelmatrix bestuurd. Wordt het programmageheugen .8800071 s PHN 12.378 4 gevormd door een RAM-geheugen, dan wordt dit in een initiëringsproces geladen. Buiten de daarvoor benodigde initiëringsbus is in de dataprocessoreenheden geen verdere besturingsbus aanwezig, afgezien van een terugstelsignaalleiding, die overigens tot de initiëringsbus kan 5 worden gerekend.
Door de aard van de schakelmatrix en de programmering van de verschillende processorelementen kunnen zich conflicten voordoen; wanneer bijvoorbeeld aan de uitgang van twee processorelementen tegelijkertijd informatie verschijnt, die bestemd is voor eenzelfde 10 ingang van een processorelement, dan ontstaat een dergelijk conflict.
Een afdoende oplossing voor dergelijke conflicten wordt gegeven in het ÜS octrooischrift 4 521 874, waarbij in elk van de kruispunten van een herconfigureerbare schakelmatrix een bufferregister wordt aangebracht. Deze oplossing is relatief kostbaar en neemt een groot chip-oppervlak in 15 beslag. In een andere oplossing omvat elke processormodule zoveel zogenaamde siloregisters als de schakelmatrix uitgangen heeft; in deze siloregisters wordt de data in een vaste volgorde ingeschreven, doch in een door het programma in het programmageheugen van het desbetreffende processorelement bepaalde volgorde uitgelezen. Hierdoor wordt het 20 bezwaar van de oplossing in het voornoemde ÜS octrooischrift vermeden, alhoewel enigszins aan flexibiliteit wordt ingeboet.
Het arithmetisch en/of logisch processorelement kan zijn voorzien van een tweetal schuifeenheden (bijvoorbeeld “barrel shifters"), waarin de, vanuit de herconfigureerbare schakelmatrix 25 toegevoerde datawoorden aan een schuifbewerking kunnen worden onderworpen en waarvan de uitgangsdatawoorden worden toegevoerd aan de eerste, respektievelijk tweede data-ingang van de ALU in het desbetreffende processorelement. In een bijzondere uitvoering overeenkomstig de uitvinding omvat het arithmetisch en/of logisch 30 processorelement een derde schuifeenheid, waarin uit de, vanuit de herconfigureerbare schakelmatrix toegevoerde datawoorden datawoorddelen worden geselecteerd, die worden toegevoerd aan het combinatorisch netwerk.
De uitvinding maakt het mogelijk de arithmetische en/of 35 logische processorelementen ook geschikt te maken voor het uitvoeren van conditionele bewerkingen zonder dat het programma in het programmageheugen van de arithmetisch en/of logische processorelementen .8800071 « ·¥ PHN 12.378 5 zijn cyclische en sprongloze karakter verliest en gecompliceerder wordt. Na de figuurbeschrijving volgen diverse voorbeelden van dergelijke conditionele bewerkingen.
De uitvinding heeft verder betrekking op een 5 videoprocessorsysteem voor het op ware tijd (real time)-basis verwerken van videosignaalmonstersr voorzien van een dataprocessorsysteem, zoals hiervoor beschreven, waarbij de klokinrichting voor het besturen van de dataprocessoreenheden een frequentie bezit, die in een vaste relatie staat met de frequentie, waarmede de videosignaalmonsters worden 10 verkregen.
De uitvinding zal nu nader worden toegelicht aan de hand van de bijgaande tekeningen, waarvan: figuur 1 een voorbeeld van een dataprocessorsysteem volgens de uitvinding laat zien; 15 figuur 2 een voorbeeld van de opbouw van één enkele processoreenheid laat zien; figuur 3 een mogelijke opbouw van één enkele processormodule toont; figuur 4 een uitvoering toont van een arithmetisch en/of 20 logisch processorelement van een processormodule; en figuur 5 een specifiek uitvoeringsvoorbeeld toont van het combinatorisch netwerk.
De uitvinding is geenszins beperkt tot het aan de hand van de tekeningen beschreven uitvoeringsvoorbeeld; deze 25 voorkeursuitvoering dient slechts ter illustratie van de uitvinding.
Figuur 1 geeft een voorbeeld van een dataprocessorsysteem volgens de uitvinding. Op de ingang 2 daarvan verschijnt in digitale vorm de aangeboden data. Deze data wordt door een demultiplexer 6 volgens een voorafbepaalde verdeling over twee uitgangen verdeeld. Elke 30 deelstroom van datawoorden kan daardoor met een lagere frequentie worden verwerkt dan waarmee de totale stroom van datawoorden wordt toegevoerd, zodat data kan worden verwerkt, die anders door een te hoge datavoerfrequentie wellicht niet had kunnen worden verwerkt. Op de bovenste uitgang van de demultiplexer 6 is een dataprocessoreenheid 8 35 aangesloten, welke een eerste bewerking uitvoert. De resultaten worden over twee uitgangen toegevoerd aan een dataprocessoreenheid 10 en over één van deze twee bovendien aan een dataprocessoreenheid 12. De .8800071
P
v PHN 12.378 6 resultaten van de dataprocessoreenheid 12 worden ook in de dataprocessoreenheid 10 verwerkt. De uitgang van de dataprocessoreenheid 10 is verbonden met een dataprocessoreenheid 14. Hiervan verschijnen bewerkingsresultaten op twee uitgangen van de dataprocessoreenheid 14.
5 De resultaten van de onderste uitgang worden teruggevoerd naar de dataprocessoreenheid 8f waardoor een recursieve operatie mogelijk wordt. De bovenste uitgang van de dataprocessoreenheid 14 is verbonden met een dataprocessoreenheid 18. De onderste uitgang van de demultiplexer 6 is verbonden met een dataprocessoreenheid 20. De 10 dataprocessoreenheden 18 en 20 zijn bidirectioneel met elkaar verbonden. Op deze wijze zijn de twee delen van het ingangssignaal op verschillende manieren te bewerken, terwijl door deze onderlinge verbinding een hercorrelatie realiseerbaar is. Op de uitgangen van de dataprocessoreenheden 18 en 20 verschijnen de resultaten van het in het 15 gehelé dataprocessorsysteem plaats gevonden hebbende proces. Uiteraard kunnen de diverse dataprocessoreenheden in allerlei andere mogelijke serie-, parallel- en/of teruggekoppelde configuraties worden geschakeld.
Het is voorts mogelijk de dataprocessoreenheden met afzonderlijke geheugens te laten communiceren. Ook kunnen aan de ingang 20 en de uitgangen AD-, respektievelijk DA-omzetters worden aangebracht, bijvoorbeeld voor de toepassing in een videoprocessorsysteem, waarbij de toegevoerde signalen worden gevormd door videosignalen, welke dan worden bemonsterd en gedigitaliseerd met een frequentie, die in een vaste relatie staat met de klokfrequentie van het dataprocessorsysteem, 25 terwijl de uitgangen dan kunnen worden toegevoerd aan afbeeldings- en/of beeldregistratiemiddelen. De voornoemde geheugens, waarmee de dataprocessoreenheden kunnen communiceren, kunnen dan bijvoorbeeld worden gebruikt als freemgeheugen.
In figuur 1 zijn verder nog twee subsystemen 28 en 30 30 voor het verzorgen van de algemene besturing aangegeven. Het subsysteem 28 vormt een klokinrichting, waarin kloksignalen worden opgewekt, waarmee de voornoemde eenheden worden bestuurd. Het subsysteem 30 vormt een systeembesturingsinrichting en kan bijvoorbeeld herprogrammeringsoperaties op de respektievelijke dataprocessoreenheden 35 uitvoeren. De subsystemen 28 en 30 zijn onderling bidirectioneel verbonden. Het subsysteem 30 heeft daarbij de (niet in de figuur aangegeven) mogelijkheid om van buiten het systeem signalen te . 88 0 0 07 1 - * PHN 12.378 7 ontvangen, bijvoorbeeld ter initiëring van de genoemde herprogrammering. Eenvoudigheidshalve zijn de verdere aansluitingen van de subsystemen 28 en 30 niet afgebeeld.
Figuur 2 geeft een voorbeeld van de opbouw van één 5 enkele dataprocessoreenheid. Een dergelijke dataprocessoreenheid is gerealiseerd als één geïntegreerde schakeling (chip) in CMOS-technologie, waarbij de gestreept omlijnde processormodulen worden bestuurd door in dit uitvoeringsvoorbeeld een 27 Mc kloksignaal. Binnen de dataprocessoreenheid zijn drie processormodulen 32, 34 en 36 10 aanwezig, die onderling rechtstreeks met elkaar bidirectioneel in verbinding staan. Ook bij een groter aantal processormodulen zal dit weliswaar gunstig zijn, doch niet altijd realiseerbaar omdat met een toenemend aantal processormodulen het aantal tussenverbindingen snel groter wordt en een dienovereenkomstig groter chip-oppervlak in beslag 15 wordt genomen. In de afgeheelde uitvoering heeft elke processormodule 5 ingangs- en 5 uitgangskanalen van elk 12 bits. Hiervan dient telkens één ingangs- en uitgangskanaal voor het contact met mogelijk andere dataprocessor- of andersoortige eenheden. De in figuur 2 afgebeelde chip omvat verder 3 datapoorten met elk een demultiplexer 38, respektievelijk 20 40 en 42, en een multiplexer 44, respektievelijk 46 en 48, terwijl ten slotte nog een chip-initiëringsbesturingsschakeling 50 en een klokschakeling 52 aanwezig zijn. Zoals reeds vermeld, werken de processormodulen op een frequentie van 27 Mc; deze frequentie wordt in de klokschakeling 52 afgeleid uit een aan de chip toegevoerd 54 Mc 25 kloksignaal. Dit kloksignaal wordt hier gebruikt voor het besturen van de multiplexers en demultiplexers in de datapoorten en wel voor het omzetten van de door de processormodulen geleverde 12-bits/27 Mc data in 6-bits/54 Mc data en omgekeerd voor het omzetten van 6-bits/54 Mc data in aan de processormodulen toe te voeren 12-bits/27 Mc data. Het contact 30 met mogelijke andere dataprocessor- en andersoortige eenheden verloopt dan via 6-bits/54 Mc kanalen. Deze uiteraard facultatieve voorziening heeft het voordeel, dat het aantal externe aansluitingen voor de chip sterk wordt beperkt. Het 27 Mc kloksignaal wordt in de klokschakeling 52 met behulp van een tweedeler uit het 54 Mc kloksignaal afgeleid, waarbij 35 de fase van het 27 Mc kloksignaal wordt bewaakt door een terugstelsignaal R, dat niet alleen wordt toegevoerd aan alle processormodulen op de chip, maar ook aan de klokschakeling 52. De chip- .8800071 * PHN 12.378 8 initiëringsbesturingsschakeling 50 heeft een klok- en seriële data-ingang en een met elke processormodule verbonden klok- en seriële data-uitgang. Deze klok en seriële data, die via de schakeling 50 aan de processormodulen wordt toegevoerd, is aangegeven met IC. Verder wordt de 5 chip-initiëringsbesturingsschakeling 50 in een serpentine-configuratie voorzien van een 8-bits serieel chip-adres CA en een chip-adres validsignaal V. Zijn meerdere dataprocessoreenheden, dat wil zeggen meerdere chips, aanwezig, dan worden in een eerste initiëringsfase over een serpentinelijn de verschillende chip-adressen CA ingebracht, 10 waardoor elke chip identificeerbaar is geworden. Is het langsgevoerde CA-adres dat voor de desbetreffende chip, dan wordt dit aangegeven met behulp van het chip-adres validsignaal V. De serpentinelijn bestaat uit in serie geschakelde schuifregisters, die in elke dataprocessoreenheid in de initiëringsbesturingsschakeling 50 aanwezig zijn. In de tweede 15 initiëringsfase wordt het over de IC-bus meegevoerde adres van een desbetreffende dataprocessoreenheid vergeleken met het over de serpentinelijn ingebrachte chip-adres CA, waarbij, bij overeenstemming, de initiëringsdata inclusief de adressering van de processorelementen binnen de dataprocessoreenheid en de adressering van het 20 programmageheugen binnen en processorelement worden doorgelaten door de initiëringsbesturingsschakeling 50. Op de chip zijn, afgezien van de voedingsaansluitingen P, 3x6 data-ingangsaanlsuitingen, 3x6 data-uitgangsaansluitingen, 1 klokaansluiting, 1 terugstelsignaalaansluiting, 2 IC-aansluitingen en 3 aansluitingen voor de chip-adressering voor de 25 initiëringsdata aanwezig; de chip bevat derhalve, afgezien van de voedingsaansluitingen, 43 aansluitpinnen.
In figuur 3 is de opbouw van één enkele processormodule afgeheeld. Deze omvat hier een drietal identieke processorelementen (MILL) 54, 56 en 58 voor het verrichten van 30 arithmetische en logische operaties, een tweetal identieke processorelementen met geheugenfunctie 60 en 62 en een uitgangspoortprocessoreleraent 64. Elk van deze elementen is aangesloten op een ingangsschakeling 66, respektievelijk 68, 70, 72, 74 en 76. Deze ingangsschakelingen vormen tezamen een herconfigureerbare schakelmatrix 35 (crossbar switch). De MILL-processorelementen omvatten een arithmetisch en logisch element (ALE) 78, respektievelijk 80 en 82 en een besturingselement (CTRM) 84, respektievelijk 86 en 88. De ,8800071 β ΡΗΝ 12.378 9 geheugenprocessorelementen omvatten een geheugenelement (ME) 90, respektievelijk 92 en een besturingselement (CTRS) 94, respektievelijk 96. Het uitgangspoortprocessorelement omvat een uitgangsdatabuffer 98 en een besturingselement (CTRG) 100. Aan de herconfigureerbare 5 schakelmatrix worden over de vijf 12-bits kanalen 102 de processormodule-ingangssignalen en over de vijf 12-bits kanalen 104 de uitgangssignalen van de tot de desbetreffende processormodule behorende processorelementen toegevoerd. Uit de herconfigureerbare schakelmatrix worden over vijf 12-bits kanalen 106 processormodule-uitgangssignalen 10 verkregen. Verder is een verbinding 108 voor het terugstelsignaal R met de besturingselementen 84, 86, 88, 94, 96 en 100 aangegeven, alsmede de tweedraads klok- en seriële data (IC)-verbinding 110 met al deze besturingselementen. Het zal verder duidelijk zijn, dat in plaats van het uitgangspoortprocessorelement 64 ook een 15 ingangspoortprocessorelement met gelijke functie kan worden gebruikt; voor de diverse met elkaar verbonden processormodulen is in beide gevallen tussen telkens twee processormodulen een buffer aanwezig. De onderscheiden ingangsschakelingen worden bestuurd vanuit de respektievelijke besturingselementen. De verdeling van de datastroom 20 over de desbetreffende dataprocessoreenheden vindt derhalve enkel en alleen plaats vanuit de voornoemde besturingselementen.
Figuur 4 toont rechts van de gestreepte lijn het blokschema van een arithmetisch en/of logisch element (ALE) en links van de gestreepte lijn het bijbehorende besturingselement (CTRM). De ALE 25 omvat drie 12-bits ingangen met een siloregister 112, respektievelijk 114 en 116, van welke siloregisters de uitgang is aangesloten op schuifeenheden (SHA, SHB, SHC) 118, respektievelijk 120 en 122. De uitgang van de schuifeenheden 118 en 120 is via multiplexers 124, respektievelijk 126 aangesloten op de P-, respektievelijk de Q-ingang 30 van een ALU 128. De schuifeenheid 122 is via het combinatorisch netwerk 130 verbonden met de instructie-ingang I van de ALU 128. Al deze componenten kunnen worden bestuurd vanuit een programmageheugen 132 in het besturingselement CTRM. De CTRM omvat verder een initiëringsschakeling 134, een adresmultiplexer 136, een programma-35 adresteller 138 en een OF-poort 140.
De siloregisters hebben een geheugenfunctie voor 32 woorden, waarbij in een vaste volgorde wordt ingeschreven, terwijl in .8800071 PHN 12.378 10 een door het programmageheugen 132 bepaalde volgorde wordt uitgelezen. Het schrijfadres wordt door een 5-bits, tot de siloregisters behorende, teller gegenereerd, terwijl het leesadres wordt verkregen door van het schrijfadres een, door het programmageheugen bepaald relatief leesadres 5 (RAD) af te trekken. Op deze wijze worden door de siloregisters vertragingen over RAD-klokperioden gerealiseerd, waarbij RAD een tekenloos geheel getal is, dat elke klokcyclus kan veranderen. De siloregisters kunnen tegelijkertijd worden ingeschreven en uitgelezen, maar niet op hetzelfde adres, zodat 0 < RAD <.31. De uit de 10 siloregisters komende 12-bits datawoorden kunnen in de schuifeenheden 118 en 120 aan een door het programmageheugen bepaalde schuifbewerking worden onderworpen. Mogelijk zijn bijvoorbeeld 12 logische schuifbewerkingen naar rechts, 12 logische schuifbewerkingen naar links en 12 arithmetische schuifbewerkingen naar rechts; de 6-bits 15 schuifstuursignalen kunnen hiertoe vanuit het programmageheugen worden toegevoerd. De van de schuifeenheden 118 en 120 afkomstige 12-bits datawoorden worden via de multiplexers 124 en 126 toegevoerd aan de ALU 128, welke het ALE-uitgangssignaal afgeeft. De ALU 128 kan op de gebruikelijke wijze worden bestuurd vanuit het programmageheugen en wel 20 via het combinatorisch netwerk 130 over de I-ingang en vervult de gewenste arithmetische en/of logische bewerkingen. De multiplexers 118 en 120 bieden de mogelijkheid om een datawoord te vervangen door een constante vanuit het programmageheugen 132. Deze 12-bits constante kan dan bijvoorbeeld worden gevormd door de 5 bits, die anders voor de RAD-25 vertraging worden gebruikt, en de 6-bits, die anders als schuifstuursignaal worden gebruikt, plus 1 extra bit. De multiplexers 118 en 120 worden door een 1-bits stuursignaal bestuurd vanuit het programmageheugen. Het programmageheugen biedt plaats aan 16 woorden van 55 bits, waarbij de 4-bits adressen worden toegevoerd via de 30 adresmultiplexer 136. De programmalengte is instelbaar tot op een lengte van ten hoogste 16 stappen en wel door gebruik te maken van de terugstelmogelijkheid van de programma-adresteller 138, het door het programmageheugen geleverde terugstelsignaal wordt aan deze teller toegevoerd via de OF-poort 140. De programmatelier kan ook worden 35 teruggesteld door het externe terugstelsignaal R. Via de chip-initiëringsbesturingsschakeling 50 kunnen initiërings- en herprogrammeringsgegevens worden ontvangen, die per data-eenheid zijn ,8800071 PHN 12.378 11 samengesteld uit een programmageheugenadres IA en initiëringsdata id.
De adressering van de desbetreffende processorelementen geschiedt daarbij door het vergelijken van een met de data-eenheden meegevoerd adres met een hardware in de initiëringsschakeling 134 ingebracht 5 adres. De data-eenheden worden serieel over de ene draad van de IC-verbinding toegevoerd, terwijl over de andere draad van deze verbinding kloksignalen worden afgegeven om zowel het begin en het einde van de data-eenheden aan te geven, alswel de afzonderlijke bits van deze data-eenheden. In de initiëringsschakeling 134 worden de seriële data-10 eenheden in parallelle vorm omgezet en wel in een 4-bits programmageheugenadres IA en 55-bits initiëringsdata ID. Deze gegevens worden toegevoerd aanhet programmageheugen 132. Het programmageheugenadres loopt daarbij via de adresmuitiplexer 136. Als een data-eenheid door de intiëringsschakeling 134 is ontvangen, dan 15 wordt de multiplexer 136 geactiveerd, zodat het van deze intiëringsschakeling afkomstige programmageheugenadres IA wordt doorgelaten, terwijl tevens een schrijfsignaal W/R wordt afgegeven, zodat de data ID in het programmageheugen kan worden ingeschreven.
Verder zij nog opgemerkt, dat het programmageheugen het stuursignaal SCI 20 voor de herconfigureerbare schakelmatrix levert.
Door het combinatorisch netwerk worden 9-bits instructies over de I-ingang aan de ALU 128 afgegeven. Deze instructies worden bepaald uit het programmageheugen opgeslagen woorden en vanuit de herconfigureerbare schakelmatrix over een daartoe specifiek aanwezig 25 kanaal toegevoerde datawoorden. Daar via dit specifiek kanaal, waarin hier het siloregister 116 en de schuifeenheid (SHC) 122 zijn opgenomen, conditionele bewerkingen in de ALU 128 mogelijk moeten worden gemaakt, is het niet noodzakelijk een desbetreffend instructiewoord uit het programmageheugen geheel te modificeren of te vervangen door een via het 30 genoemde specifieke kanaal toegevoerde datawoord; voldoende is slechts enkele bits te modificeren of te vervangen. Vandaar dat in het combinatorisch netwerk een eerste instructiedeel wordt bepaald door een evenzolang eerste gedeelte van een desbetreffend, in het programmageheugen opgeslagen woord en een evenzolang datawoorddeel, dat 35 is afgeleid uit een, vanuit de herconfigureerbare schakelmatrix toegevoerd datawoord, terwijl het overige instructiedeel wordt gevormd door het overige gedeelte vanhet desbetreffende, in het .8800071 PHN 12.378 12 programmageheugen opgeslagen woord.
In figuur 4 omvat een combinatorisch netwerk 130 een multiplexer 142, welke, onder besturing van een 1-bits stuursignaal uit het programmageheugen, hetzij een 3-bits eerste instructiedeel vanuit 5 het programmageheugen doorlaat, hetzij een 3-bits woorddeel, dat is afgeleid uit het, vanuit de herconfigureerbare schakelmatrix toegevoerde 12-bits datawoord. De 6 bits van het overige instructiedeel komen alleen vanuit het programmageheugen.
In figuur 5 is een andere uitvoering van het 10 combinatorisch netwerk afgebeeld. Ook hier worden 6 bits van de 9-btis instructie alleen bepaald door het programmageheugen, terwijl de 3 bits van het instructiedeel worden afgegeven door de EXCLUSIEF-OF-poorten 144, respektievelijk 146 en 148. Het combinatorisch netwerk omvat verder nog drie EN-poorten 150, 152 en 154. Deze EN-poorten worden bestuurd 15 vanuit het programmageheugen. Worden de EN-poorten geblokkeerd, dan wordt de 9-bits instructie volledig bepaald door het programmageheugen. Zijn de EN-poorten vrijgegeven, dan worden de 3 bits van het eerste instructiedeel bepaald door een bitsgewijze combinatie van de 3 bits, die vanuit het programmageheugen worden toegevoerd, en de 3 bits, die 20 zijn afgeleid uit het, vanuit de herconfigureerbare schakelmatrix toegevoerde datawoord. In de schuifeenheid 122 worden uit het toegevoerde 12-bits datawoord de drie voor het combinatorisch netwerk benodigde bits geselecteerd. De schuifeenheid 122 kan identiek zijn uitgevoerd aan de schuifeenheden 118 en 120 en wordt eveneens bestuurd 25 vanuit het programmageheugen. Desgewenst kan deze besturing zodanig zijn, dat, ook al wordt een datawoord aan deze schuifeenheid toegevoerd, aan de uitgang toch allemaal logische nullen komen te staan; in dat geval kan het combinatorisch netwerk uit figuur 5 worden gebruikt met weglating van de EN-poorten.
30 De geheugenprocessorelementen 60 en 62 in figuur 3 omvatten, zoals reeds vermeld, een geheugenelement ME en een besturingselement CTRS. Dit besturingselement is vrijwel gelijk uitgevoerd aan het besturingselement CTRM van het in figuur 4 afgebeelde arithmetisch en/of logisch processorelement. Voor de onderhavige 35 uitvinding is een verdere beschrijving hiervan echter van geen belang. Dit geldt ook voor het in figuur 3 aangegeven poortprocessorelement; dit omvat een vijftal als siloregisters uitgevoerde bufferelementen, die „8800071 PHN 12.378 13 allen onafhankelijk van elkaar worden bestuurd door een besturingsschakeling CTRGi, welke weer vrijwel gelijk zijn uitgevoerd als het besturingselement CTRM van het arithmetisch en/of logisch prócessorelement. De vijf besturingsschakelingen CTRGi tezamen vormen 5 het in figuur 3 afgebeelde besturingselement 100; de vijf bufferelementen vormen tezamen de in figuur 3 afgebeelde uitgangsdatabuffer 98.
Nu volgen enkele voorbeelden om aan te tonen hoe conditionele bewerkingen door de maatregelen overeenkomstig de 10 uitvinding in de ALE mogelijk worden. Het gaat hier steeds over instructies van het type "If then, else ...", welke in een programma met behulp van spronginstructies worden gerealiseerd, doch die hier met behulp van datawoorddelen, die zijn afgeleid uit, vanuit de herconfigureerbare schakelmatrix toegevoerde datawoorden worden 15 verkregen, daar de programma's slechts sprongloze instructies mogen bevatten.
De in de ALU te verrichten bewerkingen hebben betrekking op optellen, aftrekken, logische functies, vergelijkingsfuncties en vermenigvuldigingen; voor het aangeven van de diverste categoriên van 20 deze bewerkingen worden vanuit het programmageheugen 6 bits als "Overig instructiedeel" toegevoerd, van welke bits er één betrekking heeft op de symmetrie van de P- en Q-ingang van de ALU. Vanuit de schuifeenheid (SHC) 122 wordt een 3-bits parametercode (r2, rl, rO) toegevoerd, welke code het voornoemde “eerste instructiedeel" vormt.
25 Voor de diverse optel- en aftrekbewerkingen, logische- en vergelijkingsfuncties zijn hier de bits r2 en r1 niet van belang; dit is wel het geval voor de diverse typen vermenigvuldigingen. Bij alle in de ALU te verrichten bewerkingen kan met bit rO een conditionele bewerking worden uitgevoerd; de waarde van rO correspondeert met het al dan niet 30 voldoen aan een voorwaarde, die leidt tot een verschillende bewerking in de ALU.
De ALU kan ook gebruikt worden als schakelaar. Stel, dat in één of meerdere arithmetische en/of logische processorelementen van een of meerdere processormodulen in een of meerdere 35 dataprocessoreenheden een eerste blok van instructies is uitgevoerd, dat heeft geleid tot een eerste resultaat, dat daarop wordt toegevoerd aan de P-ingang van de ALU, terwijl op soortgelijke wijze een tweede blok 8800071 ΡΗΝ 12.378 14
Y
van instructies is uitgevoerd met een tweede resultaat, dat daarop wordt toegevoerd aan de Q-ingang van de ALU, dan kan door de bit rO worden aangegeven, welk van beide resultaten dient te worden doorgelaten, dat wil zeggen door de ALU te worden afgegeven. Programmatisch, dat wil 5 zeggen als het programma spronginstructies zou bevatten, kan na het toetsen van de voorwaarde het eerste of het tweede blok van instructies worden uitgevoerd; hier dienen beide blokken van instructies te worden uitgevoerd, waarna bit rO bepaalt, welk resultaat van belang blijkt te zijn. Opgemerkt zij hier, dat als de verschillende instructieblokken een 10 verschillende tijdsperiode in beslag nemen, een vertraging dient te worden ingebouwd om het genoemde eerste en tweede resultaat tegelijkertijd te kunnen aanbieden aan de P-, respektievelijk de Q-ingang.
De arithmetische en/of logische processorelementen kunnen 15 voorts functioneren als bijvoorbeeld klokinrichting, adresseringsschakeling, enzovoorts. Een telfunctie bijvoorbeeld kan worden gerealiseerd door, als rO = 0, de data op de Q-ingang door te laten naar de ALU-uitgang als startwaarde voor de teller, en door de ALU-uitgang terug te koppelen naar de P-ingang, en, als rO = 1, de data op 20 de P-ingang met 1 verhoogd in de ALU door te laten naar de ALU-ingang.
Een specifieke toepassing is verder bijvoorbeeld het realiseren van vermenigvuldigingen; de diverse vermenigvuldigingsstappen kunnen in meerdere arithmetische en/of logische processorelementen parallel worden uitgevoerd, waarna de resultaten daarvan in een 25 arithraetisch en/of logisch processorelement worden gecombineerd.
Uiteraard kan de vermenigvuldiging ook worden uitgevord in één enkel arithmetisch en/of logisch processorelement. Wordt bijvoorbeeld een gemodificeerd Boothvermenigvuldigingsalgorithme uitgevoerd, dan wordt de vermenigvuldiger Y = Yn_^i Yn-2> ·' Yo met n een even 9eta·*· 30 vanuit de herconfigureerbare schakelmatrix toegevoerd aan de schuifeenheid (SHC) 122, welke hierop onder besturing vanuit het programmageheugen opeenvolgende groepen van 3 bits (Υ2ΐ+1' Y2i'
Y2i_i met 1=0, 1, ..., -^n-l en y_^ = 0) doorlaat, welke groepen van bits de opeenvolgende "eerste instructiedelen" vormen. De 35 parametercode r2, r1, rO bepaalt nu de bewerking, die in de ALU
overeenkomstig het Boothvermenigvuldigingsalgorithme wordt uitgevoerd; dat wil zeggen afhankelijk van de parametercode wordt P, P+Q, P-Q, P+2Q
.8800071 PHN 12.378 15 of P-2Q doorgelaten, waarbij P de data op de P-ingang voorstelt en Q de data op de Q-ingang. Verder zij opgemerkt, dat ten behoeve van de bewerkingen P+2Q en P-2Q de ALU hiervoor te gebruiken schuifmiddelen omvat. De parametercode vormt hier een combinatie van voorwaarden, die 5 leidt tot een conditionele bewerking in de ALU. Aan de Q-ingang wordt het vermenigvuldigtal X toegevoerd, terwijl aan de P-ingang de telkenmale in de ALU gevormde partiële som wordt toegevoerd, nadat deze in de schuifeenheid 118 twee bitplaatsen naar rechts is verschoven, waarbij zij aangenomen, dat de ALU-uitgang evenveel bits telt als de 10 beide ALU-ingangen en het hier gaat om het meest significante deel van het vermenigvuldigingsresultaat. Voor dit resultaat zijn uiteindelijk ^n-1 ALU-bewerkingsslagen nodig.
De diverse conditionele bewerkingen, die in de ALU kunnen worden uitgevoerd, terwijl het programmageheugen slechts sprongloze 15 instructies omvat, maken het mogelijk de overigens onderling identieke arithmetische en/of logische processorelementen voor het vormen van allerlei functies te gebruiken, zonder dat daar specifieke schakelingen voor nodig zijn, waardoor de uniformiteit en eenvoud in de architectuur van het dataprocessorsysteem sterk wordt bevorderd.
.8800071

Claims (7)

1. Dataprocessorsysteem voor het verwerken van in digitale vorm aangeboden data, voorzien van ten minste één dataprocessoreenheid, die ten minste één processormodule omvat met parallel in de tijd werkzame processorelemetnen, waaronder ten minste 5 één arithmetisch en/of logisch processorelement en ten minste één geheugenprocessorelement, en een herconfigureerbare schakelmatrix (crossbar switch), waaraan ingangssignalen voor de processormodule en uitgangssignalen van de tot de desbetreffende processormodule behorende processorelementen kunnen worden toegevoerd en 10 waaruit ingangssignalen voor de tot deze processormodule kunnen worden verkregen, waarbij voorts het arithmetisch en/of logisch processorelement is voorzien van een ALÜ (arithmetisch en/of logisch element) en een programmageheugen, en de ALU een eerste en een tweede ingang (P, respektievelijk Q) bezit, via welke data kan worden 15 toegevoerd, en een derde ingang (I), via welke instructies voor de in de ALU met betrekking tot de toegevoerde data uit te voeren bewerkingen kunnen worden toegevoerd, met het kenmerk, dat in het arithmetisch en/of logisch processorelement een combinatorisch netwerk aanwezig is, met behulp waarvan de instructies voor de in de ALU uit te voeren 20 bewerkingen worden bepaald uit in het programmageheugen opgeslagen woorden en, vanuit de herconfigureerbare schakelmatrix over een daartoe specifiek aanwezig kanaal toegevoerde datawoorden.
2. Dataprocessorsysteem volgens conclusie 1, met het kenmerk, dat een eerste instructiedeel in het combinatorisch netwerk 25 wordt bepaald door een evenzolang eerste gedeelte van een desbetreffend, in het programmageheugen opgeslagen woord en een evenzolang datawoorddeel, dat is afgeleid uit een, vanuit de herconfigureerbare schakelmatrix toegevoerd datawoord, terwijl het overige instructiedeel wordt gevormd door het overige gedeelte van het desbetreffende, in het 30 programmageheugen opgeslagen woord.
3. Dataprocessorsysteem volgens conclusie 2, met het kenmerk, dat het combinatorisch netwerk een multiplexer omvat, via welke hetzij het eerste gedeelte van een, in het programmageheugen opgeslagen woord, hetzij een datawoorddeel, dat is afgeleid uit een, vanuit de 35 herconfigureerbare schakelmatrix toegevoerd dataworod, als eerste instructiedeel wordt toegevoerd aan de ALU.
4. Dataprocessorsysteem volgens conclusie 2, met het ,8800071 PHN 12.378 17 kenmerk, dat het combinatorisch netwerk is voorzien van EXCLUSIEF-OF-poorten en een even zo groot aantal EN-poorten, waarbij elk van de bits van het eerste gedeelte van een, in het programmageheugen opgeslagen woord wordt toegevoerd aan een corresponderende EXCtUSIEF-OF-poort, 5 terwijl de bits van een datawoorddeel aan corresponderende EXCLUSIEF-OF-poorten worden toegevoerd via een desbetreffende EN-poort, waarbij deze EN-poorten zodanig vanuit het programmageheugen kunnen worden bestuurd, dat de, het eerste instructiedeel vormende uitgangsbits van de EXCLUSIEF-OF-poorten hetzij gelijk aan de bits van het eerste gedeelte van het 10 desbetreffende, in het programmageheugen opgeslagen woord, hetzij een bitsgewijze combinatie vormen van deze bits met de bits van het desbetreffende datawoorddeel.
5. Dataprocessorsysteem volgens een der conclusies 1-4, met het kenmerk, dat het arithmetisch en/of logisch processorelement een 15 schuifeenheid (SHC) omvat, waarin uit de, vanuit de herconfigueerbare schakelmatrix toegevoerde datawoorden datawoorddelen worden geselecteerd, die worden toegevoerd aan het combinatorisch netwerk.
6. Dataprocessorsysteem volgens conclusie 1 of 2, met het kenmerk, dat het arithmetisch en/of logisch processorelement een 20 schuifeenheid (SHC) omvat, waarin uit de, vanuit de herconfigureerbare schakelmatrix toegevoerde datawoorden datawoorddelen worden geselecteerd, die worden toegevoerd aan het combinatorisch netwerk, welke schuifeenheid verder vanuit het programmageheugen zodanig bestuurbaar is, dat aan de uitgang daarvan slechts logische nullen 25 verschijnen, en dat het combinatorisch netwerk is voorzien van EXCLUSIEF-OF-poorten, waarbij elk van de bits van het eerste gedeelte van een, in het programmageheugen opgeslagen woord en elk van de bits van een datawoorddeel wordt toegevoerd aan een corresponderende EXCLUSÏEF-OF-poort, waarbij de schuifeenheid zodanig wordt bestuurd, dat de, het 30 eerste instructiedeel vormende uitgangsbits van de EXCLUSIEF-OF-poorten hetzij gelijk zijn aan de bits van het eerste gedeelte van het desbetreffende, in het programmageheugen opgeslagen woord, hetzij een bitsgewijze combinatie vormen van deze bits met de bits van het desbetreffende datawoorddeel. 35
7. Videoprocessorsysteem voor het op ware tijd (real time)- basis verwerken van videosignaalmonsters, voorzien van een dataprocessorsysteem overeenkomstig een der voorgaande conclusies, .880007T 3 PHN 12.378 18 waarbij de klokinrichting voor het besturen van de dataprocessoreenheden een frequentie bezit, die in een vaste relatie staat met de frequentie, waarmede de videosignaalmonsters worden verkregen. .8800071
NL8800071A 1988-01-13 1988-01-13 Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. NL8800071A (nl)

Priority Applications (7)

Application Number Priority Date Filing Date Title
NL8800071A NL8800071A (nl) 1988-01-13 1988-01-13 Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.
EP89200037A EP0325314B1 (en) 1988-01-13 1989-01-09 Data processor system and video processor system provided with such a data processor system
DE68914172T DE68914172T2 (de) 1988-01-13 1989-01-09 Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
JP1002161A JP2879093B2 (ja) 1988-01-13 1989-01-10 データプロセッサシステムとそれを備えるビデオプロセッサシステム
KR1019890000186A KR0147060B1 (ko) 1988-01-13 1989-01-10 데이타 프로세서 시스템과 이를 이용한 비디오 프로세서 시스템
FI890117A FI890117A (fi) 1988-01-13 1989-01-10 Databehandlingssystem och i detta anvaendbar bildprocessor.
US07/595,720 US5055997A (en) 1988-01-13 1990-10-09 System with plurality of processing elememts each generates respective instruction based upon portions of individual word received from a crossbar switch

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8800071A NL8800071A (nl) 1988-01-13 1988-01-13 Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.
NL8800071 1988-01-13

Publications (1)

Publication Number Publication Date
NL8800071A true NL8800071A (nl) 1989-08-01

Family

ID=19851586

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8800071A NL8800071A (nl) 1988-01-13 1988-01-13 Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.

Country Status (7)

Country Link
US (1) US5055997A (nl)
EP (1) EP0325314B1 (nl)
JP (1) JP2879093B2 (nl)
KR (1) KR0147060B1 (nl)
DE (1) DE68914172T2 (nl)
FI (1) FI890117A (nl)
NL (1) NL8800071A (nl)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692139A (en) * 1988-01-11 1997-11-25 North American Philips Corporation, Signetics Div. VLIW processing device including improved memory for avoiding collisions without an excessive number of ports
US5862399A (en) * 1988-12-28 1999-01-19 Philips Electronics North America Corporation Write control unit
US5522083A (en) * 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
US5283877A (en) * 1990-07-17 1994-02-01 Sun Microsystems, Inc. Single in-line DRAM memory module including a memory controller and cross bar switches
JPH07117498B2 (ja) * 1991-12-11 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 検査システム
US6002880A (en) * 1992-12-29 1999-12-14 Philips Electronics North America Corporation VLIW processor with less instruction issue slots than functional units
EP0605927B1 (en) * 1992-12-29 1999-07-28 Koninklijke Philips Electronics N.V. Improved very long instruction word processor architecture
US5481736A (en) * 1993-02-17 1996-01-02 Hughes Aircraft Company Computer processing element having first and second functional units accessing shared memory output port on prioritized basis
KR0142803B1 (ko) * 1993-09-02 1998-07-15 모리시다 요이치 신호처리장치
EP0974894B1 (en) * 1993-11-05 2002-02-27 Intergraph Corporation Instruction cache associative cross-bar switch
US6360313B1 (en) 1993-11-05 2002-03-19 Intergraph Corporation Instruction cache associative crossbar switch
EP0652510B1 (en) * 1993-11-05 2000-01-26 Intergraph Corporation Software scheduled superscalar computer architecture
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
EP0839368A2 (en) * 1996-05-17 1998-05-06 Koninklijke Philips Electronics N.V. Display device
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US6786420B1 (en) 1997-07-15 2004-09-07 Silverbrook Research Pty. Ltd. Data distribution mechanism in the form of ink dots on cards
US6618117B2 (en) * 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US7110024B1 (en) 1997-07-15 2006-09-19 Silverbrook Research Pty Ltd Digital camera system having motion deblurring means
US6624848B1 (en) 1997-07-15 2003-09-23 Silverbrook Research Pty Ltd Cascading image modification using multiple digital cameras incorporating image processing
US7551201B2 (en) 1997-07-15 2009-06-23 Silverbrook Research Pty Ltd Image capture and processing device for a print on demand digital camera system
US6690419B1 (en) 1997-07-15 2004-02-10 Silverbrook Research Pty Ltd Utilising eye detection methods for image processing in a digital image camera
US6879341B1 (en) 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
JP3893625B2 (ja) * 1997-10-21 2007-03-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 信号処理装置及び信号処理装置におけるプロセッサ間の接続を計画する方法
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
AUPP702098A0 (en) 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART73)
US6282592B1 (en) * 1998-12-14 2001-08-28 Nortel Networks Limited Method and apparatus for high-speed data transmission bus entrainment
AUPQ056099A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (pprint01)
AU5805300A (en) * 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US6836815B1 (en) * 2001-07-11 2004-12-28 Pasternak Solutions Llc Layered crossbar for interconnection of multiple processors and shared memories
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
US8127061B2 (en) 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
US7613900B2 (en) * 2003-03-31 2009-11-03 Stretch, Inc. Systems and methods for selecting input/output configuration in an integrated circuit
US7590829B2 (en) * 2003-03-31 2009-09-15 Stretch, Inc. Extension adapter
US7581081B2 (en) 2003-03-31 2009-08-25 Stretch, Inc. Systems and methods for software extensible multi-processing
US8001266B1 (en) 2003-03-31 2011-08-16 Stretch, Inc. Configuring a multi-processor system
US7373642B2 (en) 2003-07-29 2008-05-13 Stretch, Inc. Defining instruction extensions in a standard programming language
US7418575B2 (en) * 2003-07-29 2008-08-26 Stretch, Inc. Long instruction word processing with instruction extensions
US7237055B1 (en) * 2003-10-22 2007-06-26 Stretch, Inc. System, apparatus and method for data path routing configurable to perform dynamic bit permutations
US7526632B1 (en) 2003-10-22 2009-04-28 Stretch, Inc. System, apparatus and method for implementing multifunctional memory in reconfigurable data path processing
FR2888349A1 (fr) * 2005-07-06 2007-01-12 St Microelectronics Sa Adaptation de debit binaire dans un flot de traitement de donnees
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
DE112008003643A5 (de) * 2007-11-17 2010-10-28 Krass, Maren Rekonfigurierbare Fliesskomma- und Bit- ebenen Datenverarbeitungseinheit
WO2009068014A2 (de) * 2007-11-28 2009-06-04 Pact Xpp Technologies Ag Über datenverarbeitung
US20110119657A1 (en) * 2007-12-07 2011-05-19 Martin Vorbach Using function calls as compiler directives

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3718912A (en) * 1970-12-22 1973-02-27 Ibm Instruction execution unit
BE794862A (fr) * 1972-02-01 1973-08-01 Siemens Ag Dispositif de commande a microprogrammes
US3970993A (en) * 1974-01-02 1976-07-20 Hughes Aircraft Company Cooperative-word linear array parallel processor
JPS5245232A (en) * 1975-10-08 1977-04-09 Hitachi Ltd Micro program modification circuit
DE2555963C2 (de) * 1975-12-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Funktionsmodifizierung
JPS52120640A (en) * 1976-04-02 1977-10-11 Toshiba Corp Micro program control system
US4236204A (en) * 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
US4293907A (en) * 1978-12-29 1981-10-06 Bell Telephone Laboratories, Incorporated Data processing apparatus having op-code extension register
US4467409A (en) * 1980-08-05 1984-08-21 Burroughs Corporation Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations
DE3533800C1 (de) * 1985-09-21 1987-02-05 Hans-Werner Lang Verfahren zum Betreiben eines hochintegrierten Wellenfront-Feldrechners sowie entsprechender Wellenfront-Feldrechner
US4807183A (en) * 1985-09-27 1989-02-21 Carnegie-Mellon University Programmable interconnection chip for computer system functional modules
US4907148A (en) * 1985-11-13 1990-03-06 Alcatel U.S.A. Corp. Cellular array processor with individual cell-level data-dependent cell control and multiport input memory
US4783738A (en) * 1986-03-13 1988-11-08 International Business Machines Corporation Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element
JPS638971A (ja) * 1986-06-30 1988-01-14 Nec Corp 多項式ベクトル演算実行制御装置

Also Published As

Publication number Publication date
DE68914172T2 (de) 1994-10-06
DE68914172D1 (de) 1994-05-05
KR890012233A (ko) 1989-08-25
EP0325314A1 (en) 1989-07-26
EP0325314B1 (en) 1994-03-30
FI890117A0 (fi) 1989-01-10
US5055997A (en) 1991-10-08
FI890117A (fi) 1989-07-14
KR0147060B1 (ko) 1998-09-15
JP2879093B2 (ja) 1999-04-05
JPH01232463A (ja) 1989-09-18

Similar Documents

Publication Publication Date Title
NL8800071A (nl) Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.
US4982354A (en) Digital finite impulse response filter and method
NL8800053A (nl) Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem.
US4994982A (en) Neural network system and circuit for use therein
US4851995A (en) Programmable variable-cycle clock circuit for skew-tolerant array processor architecture
US5812993A (en) Digital hardware architecture for realizing neural network
US11017290B2 (en) Signal processing module, especially for a neural network and a neuronal circuit
US5721809A (en) Maximum value selector
IE56104B1 (en) Discrete cosine transform calculation processor
GB2232280A (en) Evaluation of an extremum of binary encoded words
WO1991005375A1 (en) Method and apparaus for simulating an interconnection network
EP1012700B1 (en) Multiple parallel identical finite state machines which share combinatorial logic
NL8700216A (nl) Werkwijze voor het testen van een gemodificeerde boothmultiplicator, gemodificeerde boothmultiplicator, geschikt om volgens deze werkwijze te worden getest, en geintegreerde schakeling, voorzien van een dergelijke gemodificeerde boothmultiplicator.
US5712820A (en) Multiple word width memory array clocking scheme
US5027318A (en) Bit place oriented data storage system for digital data
EP0499412B1 (en) Serial-input multiplier circuits
US5692136A (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
CA1191211A (en) Electronic time switch
NL9401450A (nl) Signaalkeuzeinrichting.
Alexander et al. A reconfigurable approach to a systolic sorting architecture
JPH06259582A (ja) データ処理装置
JPH0298300A (ja) マルチチャンネルコントローラ
Makarenko et al. A VLSI multiprecision matrix multiplier and polynomial evaluator
JPH09223011A (ja) 演算装置
JPH09223012A (ja) 演算装置

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed