CA2344098A1 - Systeme de processeur modulaire a elements configurables et intereliables permettant de realiser de multiples calculs paralleles sur du signal ou des donnees brutes - Google Patents
Systeme de processeur modulaire a elements configurables et intereliables permettant de realiser de multiples calculs paralleles sur du signal ou des donnees brutes Download PDFInfo
- Publication number
- CA2344098A1 CA2344098A1 CA 2344098 CA2344098A CA2344098A1 CA 2344098 A1 CA2344098 A1 CA 2344098A1 CA 2344098 CA2344098 CA 2344098 CA 2344098 A CA2344098 A CA 2344098A CA 2344098 A1 CA2344098 A1 CA 2344098A1
- Authority
- CA
- Canada
- Prior art keywords
- cells
- data
- cell
- functions
- configurable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
Description
12-Q4-2801 11: t~0 82S I I NC I PJC . 4186581286 P . 03125 SYST~ME DE PROCESSEUR MODULAIRE Ä FIANTS GO~N~'IGORABT~ES
~:T INTEREI~IAHi.EB PER1~TTANT DE RF~.ISER DE I~II,TIP7rES
CAI~CCILS PARAhI~~L$6 6UR DU SIGNAI OU DES DONNÉE8 BRU~'E8 Inventeurs : Gui.lmette Pierre 190, Gariépy, St-Rédempteur, QC. Canada. G6K 1M5 Gitoyenneté : Canadien Serge Glorias 1150, Luc z,acvurciére, Ste-FOy, QC, Canada, GIX 4V5 Citoyenne'Cé : FrdnGals RéfArence autzes documents et brevets :
~ Srevet frBnCai9 , x SYST~ME DE SYNTH~SE SONORE PERMETTANT
D'OBTENIR EN SORTIE UNE SdITE D'ÉCHANTILLONS ÉLECTRIQUES
~ Numéro de publication : FR2783630 1 Numéro d'enregistrement national : 98 11071 Date de publication : 29 mars 2000 1 Inventeurs : Guilmette 2ierre, Glorias Sezge ~ brevet américain : x SOUND SYNTHESI2ER SYSTEM ~Oé~ pRODUCING A
STRIES OF ELECTRIGAL SAMFLBS »
~ Numéro de brevet : 6,137,049 v Date du brevet : 29 octobre 2DD0 ~ inventeurs : Guilmette Pierre, Glorias Serge Z,a présente invention est une généralisation des breveta mentionnés plus hauts. Cette généralisation est associée aux revendications du brevet tFR2783630) coït :
tpage 101.2-9) a Systéme de synthèse d'une suite d'échantillons Alectroniques destinés d Ia production de spectre sonore sur une sortie l5). b ...(page 102.20-24) ae les n emplacements de mémoire desdites mémoires de paramètre fM5: 20A. 20C. 20D). de ladite mémoire de valeurs de désignation fMS; 2DE) 0t de ladite mémoire d'accumulation lMl3) matérialisant respectivement n cellules dont le contenu peut se modifier d'un cycle de travail à .L'autre »
~:T INTEREI~IAHi.EB PER1~TTANT DE RF~.ISER DE I~II,TIP7rES
CAI~CCILS PARAhI~~L$6 6UR DU SIGNAI OU DES DONNÉE8 BRU~'E8 Inventeurs : Gui.lmette Pierre 190, Gariépy, St-Rédempteur, QC. Canada. G6K 1M5 Gitoyenneté : Canadien Serge Glorias 1150, Luc z,acvurciére, Ste-FOy, QC, Canada, GIX 4V5 Citoyenne'Cé : FrdnGals RéfArence autzes documents et brevets :
~ Srevet frBnCai9 , x SYST~ME DE SYNTH~SE SONORE PERMETTANT
D'OBTENIR EN SORTIE UNE SdITE D'ÉCHANTILLONS ÉLECTRIQUES
~ Numéro de publication : FR2783630 1 Numéro d'enregistrement national : 98 11071 Date de publication : 29 mars 2000 1 Inventeurs : Guilmette 2ierre, Glorias Sezge ~ brevet américain : x SOUND SYNTHESI2ER SYSTEM ~Oé~ pRODUCING A
STRIES OF ELECTRIGAL SAMFLBS »
~ Numéro de brevet : 6,137,049 v Date du brevet : 29 octobre 2DD0 ~ inventeurs : Guilmette Pierre, Glorias Serge Z,a présente invention est une généralisation des breveta mentionnés plus hauts. Cette généralisation est associée aux revendications du brevet tFR2783630) coït :
tpage 101.2-9) a Systéme de synthèse d'une suite d'échantillons Alectroniques destinés d Ia production de spectre sonore sur une sortie l5). b ...(page 102.20-24) ae les n emplacements de mémoire desdites mémoires de paramètre fM5: 20A. 20C. 20D). de ladite mémoire de valeurs de désignation fMS; 2DE) 0t de ladite mémoire d'accumulation lMl3) matérialisant respectivement n cellules dont le contenu peut se modifier d'un cycle de travail à .L'autre »
2. (page 102.25-32) « Système de synthèse suivant la revendication l, caractérisé en ee que lesdits premiers ii), seconds (20, 25), troisiémes (20, 25), quatrièmes (30). cinqu:lèmes (U12, 30, 75) et sïxiémes moyens f9D, 60) sonC utilisés en partage de temps au cours des cycles de travail successifs pour déterminer les valeurs relatives auxdites cellules dans lesdites mémoires de paramètre. de valeurs de désignation et d'accumulation x Nommément les brevets dont il est question pies haut introduisent 1e concept de cellules qui partagent le temps et leurs ressources pour réaliser une synthése sonore en utilisant des moyens de calculs modulaires qui permettent une txès grande capacité de calcul inaccessible aux processeurs séquenciels (Microprocesseurs et DSP
courants). La très grande capacité de calcul xeliée à son architecture peut étre appliquée d différents domaines eu dais de ce dont les brevets font W objet, cela en leur apportant des améliorations Bt des perfectionneménts.
La présente invention est relative à un système ae calcul permettant d'obtenir des résultats à partir de variables fournies. Ces calculs ne sent pas d'ordre séquenciols mais s'effectuent en paralléle en utilisant les ressources parallèles des cellules introduites dans les breveta cités.
La présente invention utilise ce mAme contCpt Ge cellules pour effectuer des opérations mathématiques et logiques complexas, pazallèles, distinctes et multiples en utilisant leurs ressources respectives de calcul puis en adaptant leur structure. Ces opérations arithmétiques et logiques sont effectuées distinctement sur les cellules, dc maniére é ce que chaque cellule effectue le8 opérations qui lui sont destinées selon les besoins et leur configuration 12-04-2001 11:00 G2SI INC INC. 4186501286 P.04i25 SVSTEME DE PROCESSPUR MODULAIRE A ÉLÉMéNTS CONFIGURABLES ET
INTERELIABLES PERMETTANT DE FiEAU$ER DE MULTIPLES CALCULS
PARALLELE& 6UR DU SIGNAL OU PF-S DONNt'E6 BRUTES
respective, Ces fonctions sont effectuées de manière indépendante et sont simultanées.
Comme dans les inventions cztées plus haut le circuit dont fait l'objet la prQsente invention comporte un certain nombre da cellules et de groupes (Nommées 'ensembles' dans les inventions citées). Les cellules sont associées à un groupe, les groupes sont des fonctions qui compilent 1ea résultats des cellules qvi leur sont destinées.
La Configuration opérationnelle des cellules est introduite par l'intermédiaire de registres (espace mémoire des cellules) et équivaut demander à la dite cellule de calculer une équation algébrique par unE structure o~ des valeurs sont introduites dans une cellule donnée et appliquées à des fonctions de différente niveaux (équivalent à des niveaux de parenthéses) dont leur naturE respective est configurable, chaque Fonction de chaque cellule est distinctement configurable (addition, soustraction, multipücatïon, division, logiques.
décisionnelles, etc.). L'arch~.tecture des cellules peut donc ~tre appliquée suivant la manière dont elle est implantée, typiquement une cellule peut comporter ~~ niveaux de calcul ou plus. Enfin ~ 1a sortie du dernier niveau de calcul des fonctions non linéaires ou d~s calculs indexés peuvent étre introduits dans l'équation au moyen de tables qui sont parties intégrantes de la structure des cellules, les données de ces tables sont dynamiquement accESSibles par les cellules et/ou 1e processeur externe pour adressage indexé ou en tables de eonvezsions (exemple : conversion linéaire / logarithmique suivant une séquence logarithmique). Ensuite la sortie de chaque cellule peut étre additionnée aux sorties d'autres cellules sélectionnées, les cellules ainsi sélectionnées sont identifiées à un groupe de cellules spécifiques. Le groupe peut affecter 1e résultat de la compilation des cellules à une fonction commune, le résultat final du groupe de calcul est iris8ré dans une Matx:ice de Groupes qui contient 1a sortie de chaque groupe du circuit. De plus le résultat du groupe est ache~né suivant des poids définis par d'autres registres sur un certain nombre d'accumulateurs qui cumulent les groupes qui lu.ï sont destinés, ces accumulateurs sont contenus dans .la Matrice des Sorties qui peuvent 2tre lues par un processeur externe ou acheminées sur des Interfaces de sorties. Le zésultat des cellules est introduit dans une Matrice de Cellules qui contient la sortie de chaque cellule du circuit. Enfin une quatrième tHatrice, soit la Matrice des Entrées est introduite et contient les registres d'accumulateurs de données d'EntrE~es gui peuvent étre inscrites par un p~-ocesseur externe au provenir d'Xnterfaoes d'Entrées.
Loa opérations arithmétiques et logiques des ae11u1es sont effectuées sur des valeurs dont la provenance peut étre dynamiquement déterminée soir : directement inscrites par un processeur externe, par la sortie d'une autre cellule de la Matrice de Cellules, par la sortie d'un groupe de 1a Matrice de Groupes ou pas une entrée de la Matrice des Entrées.
Le circuit qui fait l'objet de 1a présente invention généralise les brevets en référence. h~as précédents brevets ont introduit le concept de cellules pour la synthèse sonore, dans ces brevets las Fonctions de ceJ.lulea sont destinées à la synthèse sonore. Les dites fonctions tout en étant conPigurables sont incozpvrées dans des cellules qui sont regroupées dans les Ens~ambies (groupes de sorties de cellules), chaque regroupement constituant en 1'occurenee un son spécifique. vans ces brevets antérieurs sont décrits les moyens de paramétriser les cellules et iristruixe le fonctionnement de chacune soit : l'établissement du mode respectif (exemple : oscillateur sinusoldal, capture de signai extezne, etc.). les paramètres de base de chaque cellule (amplitude relative, fréquence relative, phase, fonction de filtrage), les liens qui permettent d'introduire un signai externe dans une cellule ou de commander un vu plusieurs des g paramètres de baso par une autre cellule. Y sont décrira également les moyens de regroupCr lts Cellules sur des ensembles (ou graupea) qui comportent ég8lement des paramètres absolue de fréquence et d'amplitude (s'appliquant sur les cellules d'un groupe donné) et l'assignation des groupes sur les sorties du circuit, Chaque ensemble constitue un son généré A partir des éléments que constituent les cellules. En définitive ces brevets décrivent les moyens pour gériéreY d~5 SigriauX en ut1119ant des re5sourCBS (cellules) qui fonctionnent en partageant des éléments arithmétiques mais gui 12-04-2001 11:81 G2SI INC INC. 4186501286 P.05i25 SYSTEMé DE PROCE&SEUR MOoULAIRE A ÉLÉMENTS COIrFIGURABLES ET
INTERELIABLES PERMETTANT DE RéALI$ER DE MULTIPLéS CALCULS /3 PARALLELES SUR DU SIGNAL OU DES DONNÉES BRUTES
introduisent un degré élevé de parallélisme de manière à ce que chaque cellule soit en mesure de générer un signal qui peut étré combiné à
d'autres cellules, cette architecture permet un degré élevé de performances et de souplesse en étant configurable.
Le concept de ces breveta peut étre adapté, amélioré et augmenté de manière 8 en généraliser son application à d'autres domaines, dans cette optique la présente Invention présente les innovations qui remplissent ce rQle. 1~ partir du système breveté soit 'bpsta~e de apatls~av sonore pemwttaat d'obten~.r vas nuits d'~~ij~
éleatriqnQa'.
Les principaux ineonvéni,ents des systémes de calculs ordinés existants que ce soit dans les microordinateurs actuels ou dans les grands ordinateurs est liée à leur architecture séquentielle méme dans le cas 05 elles peuvent traiter des données de maniére simultanée. Les systèmes existants sont liés ~ des mots d'instructions qui donnent aéquenciellement l'ordre à une ou des ünltéa arithmétiques (ALO) d'exécuter une ou Ses fonctions, le nombre d'instructions sur un mot dépend de la Longueur en bits du mvt et demeure de toute manière limitée à une lsrgeur de bus (54, 128, 256 bits) y compris pour les noyaux vLi~9 ('Very long instruction word')- Les ordres sont donnés séquenciellemént et de par leur nature se prétent mal à 1a mise en place de procédés a~multan6s. de complexité variable, de bouclage différents, de ca~actére évolutif, de réseaux de calculs, de logique cloue etc.. La stratégie de mise en plane d'ordres de calcul (séquences de programmes) pour des procédés rapides et parallèles peut 2tre performante dans les arcriitectures existantés mais exige que tous les éléments soient rapides (bus, mémoires, processeurs, etc.). et l'approche séquentielle de transmission des commandes est en contradiction avec la nature du processus dans 1e cas o~1 l'objectif est d'effectuer des opérations simultanées qu'elles soient indépenddntee ou corrélées ou encore que l'objectxR soit d'implanter des algorithmes complexes (équations cvtnplexea à niveaux).
pana les systémes ordimS9 actuels il exista deux moyens pratiques de procéder des fonctions simultanées, ou rapides, ou complexes, ou en réseau de procédés, etc.. La premiére solution est d'implanter une structure multitaches d"exécution des programmes, oa différents programmes partagent le méme processeur pour effectuer des tâches différentes selon des priorités Établies; dans ce cas l'inconvénient majeur est que les taches ne sont pas réellement simultanées, et la structure mufti-triches amène une charge supplémentaire au processeur ('Ove~head'1 qui nécessite la gestion de ce multit&ches et de ce fait amenuise ses performances. La deuxième solution est d'implants= un systéme 8 processeurs multiples qui partagent un mAme environnement, ces systèmes sont plus performants que les dispositifs multit~cbes mais comportent plusieurs inconvénients soit d'étre lourds en matériel et éventuellement moins fiables, de plus dans ces architectures é
processeurs multiples étant donné que ceux-ci partagént des connexions et des bus communs. ils sont limités dans leurs procédés aux capacités d'échanges de données entre les processeurs soit un échange à la fois, dans de tels systèmes l~~s communications inter-processeurs constituent les maillons faibles. Dans ces deux cas la seule alternative est de développer 4es processeurs de plus en plus puissants mais l'architecture demeure déficiente et n'utilise pas 1a rapidité des proceaaeuFa dans leur pleine mesure.
12-04-2001 11: H1 G2SI INC I~JC. 4186501286 P.06i25 SYST~ME DE PROCESSéUR MODULAIRE A $LÉMENTS CO~~ABLE6 Ef INTERELIABLES PERMETTANT DE RÉALISER DE MULTIPLES CALCULS
PARALLÉLÉS SUR DU SIGNAL OU DES DONNÉES BRUTéS
L'invention a pour objet: un système de calcul modulaire destiné ~ la production de données fournies en pardlléle résultantes de traitements parallèles sur des variables fournies pas un processeur hOte (ordinateur, micro-cont:r~leuF, n52, etc.) ou au besoin et en toutes combinaisons par des interfaces d'entrées de données; les données résul.tantea des calculs peuvent au besoin et en toutes combinaisons Vitre acheminées au proc~,sseur h6te ou à des interfaces de sorties. Le systéme dont fait l'objet l'invention comprend les revendications suivantes:
~ Des moyens pour configurer les Lonctions aritriatétiques et logiques sur différents niveaux à l'intérieur de chacxue cellule :
~ pour configurer indépendamment chaque fonction de chaque niveau de chaque cellule comme : additive, soustractive, multiplicative, divisive, logique, décisi.vnnelle ou autre, ~ Des moyens pour établir des liens modifiables entre les fonctions sur chaque cellule ~ Pour appliquer las fonctions sur des variables de provenance externes ou internes ~ oes moyens pour 6tablir les différentes fonctions arithmétiques et logiques incorporées dans chaque cellule sur différents niveaux vers une fonction finale donnant un résultat unique de façon 9 ce qu'au choix et sur enaque cel2ule le résultat soient utilisé de manière spdcifique ~ directement comme donnée résultante acheminée sur un registre de mémoires, ~ par l'entremise de tables de conversions ou d'indexation, ~ par l'incorporation de 'fonctions séquencielles supplémentaires, v d'appliquer au choix le résultat en mode normal (non récursif) ou domaine temporel (récursif?
~ Des moyens pour acheminer les résultats des ce7.lules sur aria matrice de résultats des cellules ~ De9 moyens pour ass=gner de manière sélective les cellules dans des groupes distincte et indépenGants pour combiner les résultats respectifs des cellules;
~ Des moyens pour acheminer le9 résultats des groupes sur une matrice de résultats des groupts ~ Des moyens pour capturer des données 8 partir d'interfaces de données et les accumuler dans une matrice d'entrées ~ Oes moyens peur choisir la provenance des variables sur les différentes fonctions des différentes cellules ~ pour sélectivement inscrire une variabze donnée directement d'un procesaeuz, Pour sélectivement acheminer un élément donné de la matrice de cellules à une «sciable donnée, ~ heur sélectivement acheminer un élément donné de la matrice de groupes à une variable donnée.
?our 9é7.ectivement acheminer un élément donné de la matrice d'entrées â une variable donnée, ~ Des moyens pour quo l'action sur chaque entrée de variable provenant de matrice8 puisse étre corrélée a un niveau variable de maniére $
introduire des liens plus ou moins rigides ou léchas.
~ Des moyens pour que les fonctions appliquées sur les cellules soient de natures générales ou partiellement définies selon le mode de fonctiann~ment de claque cellule Pour le mode de fonctionnement normal (non réCUrsiI), de9 fonctions générales d'ordre arithmétique ou logique sans attributions preétablies.
~ Pour le mode de fonctionnement en domaine temporel (récursif), des fonctions mixtes od certaines sent attribuées pour des opérations en mode temporel (amplitudes, fréquence, phase, fonction de séquence) tout en maintenant les autres en ordre général.
~ Des moyens pour at~t:cibuer des tables à 1a sortie de fonction de chaque cellule de manière à pouvoir utiliser 1a mémorisation en lecture ou écriture selon le besoin ~ Capture du résultat de cellule et mémorisation auto-indexée à
pas variable sur. une zone de mémvi.re aux limites définissables ~ Lecture de table sur une zone de mémoire aux limites définissables de manièze a ottribucz une valeur de réeultdt 12-04-2881 11:02 G2SI INC INC. 4186501286 P.0'7i25 SYST~NIE DE PROCESSEUR MODUW~fiE- ,A. ELEAAENTS GONFIGtJRABLES ET
INTERELIABLES PERAI~TTANT DE OSER. DE MULTIPLES CALCULS I S
PARALLELES Sl~i DU SIGNAL. OU OES DONNÉES BRUTES
donné à une valeur d'une table qui pourra étxe utïüsée poux des processus de conversion.
~ Des moyens de généralisation du processus séquenciel de filtrage du brevet existant ae maniére à pouvoir appliquer uns séquence supplémentaire de fonctions arithmétiques au résultat de la cellule, od les fonctions arithmétiques peuvent etre choisis sur des lignes de code Des moyens pour appliquer des fonctions à l'intérieur de chaque groupe de maniére à s'effectuer sur le résultat du groupe dont les résultats proviennent. d'un ensemble choisi de cellules 1 Des moyens pour acheminez les sorties de groupes sur une matrice de sortie, sélectivement pour chaque groupe et progressivement sur une au plusieurs sorties de 1a matrice de sortie ~ Pour progFesaivement et dynamiquement tranafErer les donnëes d'un groupe à une au plusieurs sorties d'une section de la matrice de sorties et combinatoirement avec d'autres groupes, ~ Pour choisir la section de la matrice de sorties sur laquel un groupe donné sera acheminé, ~ Des moyens pour choisir sélectivement la provenance de la valeur de chaque entrée de la matrice d'entrée ~ Pour que la valeur puisse provenir directement d'une entrée d'une interface d'entrée Ne données ~ Pour que la valeur puisse provenir directement d'un processeur hate.
~ nec mo~rens pour choi.six sélectivement la destination de 1a valeur de chaque sortie de la matrice de sortie :
~ Pour que 1a valeur puïsse étre acheminée directement à une sortie d'uns interface sortie de données ~ Pour que la valeur puisse étre transmise directement ~ un processeur hl5te.
Des moyens pour ajouter des variables de manière à ce que les fonctions de celluia puissent s'appliquer sur des niveaux multiples et que l'inacriptïon de valeurs sur ces variables soit de provenance sélective.
DOCUMENTS INCLUS
FICHIER DESCRIPTION Rfrence braver antrieur Fi 2, Gnrateur A~out de sbtcctions d'e & foires IrticrfaCe CPU
Fig05.pcx _ Ajout de peram8trc SI~ Peremtttes dtails atttnuafion et slaxion foncton vccto>ielle ou directe Fig06.pcx Paramtres ~o~ du paramtre MaYtrc Changertxnt paramtres Frquence et Phases Fig06a.pcxExtension Calwl Nouvelle ftgurc pour extension des fonctions de calculs sur les atamttrcs de fi ure Fig07.pcx _ _ Ajout stlcction mode Gnration axe-x opnuoirz sur fonction en bcm rel ou sur donne Pi 08. Ensemble Accumulateur & ClcIcnChementNon nmdifite ex _ Figt t:pexSortie de signaux (q' 8) sortiesAjout de fonction Ae commandes de sonies avec niveaux assigns sur (es soetics stlcctioones et ajout de sections de sottits Figl 1 Sorties de signaux (Sections Nouvelle figure de apex de 8 sorties) dttsil pour stlcetion graduelle par section de SOrtiGs Figl2.brnpSlection contr6ks - , M~~cation pore ajvutcr In slection des erttrtCS
sur 1cs matrices de contrAlcs de aramtres Figl3.pcx Fonctions cellules Ajout de bits de commandes pour les fonctions su ltrrtcntaircs Fi 14. Cellules fonctions oscillateurs Non modifiCc ex Fi 15. Cellules fonction trsteur de Non modifie x bruit Figl6.pcx Cellules fonction Entre Temps . Ajout d'accCs CPU
rtcl, Contrble ~ accs donnes aux entres Ajout de Commande de stlection de chac)ue entre de provcnanCe (CPU
ou Inurface externe Figl a.pcxCellules Fonction chantillonneur.Ajout d'accs criture table mtmoire d stlcetion mCmoirc sur fonction ou transfert de rtsultat da cellule Slection sortit table ou fonetimr sans table Ei 18_ Cellules fonctions Entres tem Non modiftEe x s rel dtecteurs sur cntrrs Fi 19. Cellules fonction fi Non modifiEc Fi 0. x Cellules fonctron chantillonneurNon modifie contrQles limites Fi 1. ex Cellules fonction chantillonneurNon modifie contrblc initialisation
courants). La très grande capacité de calcul xeliée à son architecture peut étre appliquée d différents domaines eu dais de ce dont les brevets font W objet, cela en leur apportant des améliorations Bt des perfectionneménts.
La présente invention est relative à un système ae calcul permettant d'obtenir des résultats à partir de variables fournies. Ces calculs ne sent pas d'ordre séquenciols mais s'effectuent en paralléle en utilisant les ressources parallèles des cellules introduites dans les breveta cités.
La présente invention utilise ce mAme contCpt Ge cellules pour effectuer des opérations mathématiques et logiques complexas, pazallèles, distinctes et multiples en utilisant leurs ressources respectives de calcul puis en adaptant leur structure. Ces opérations arithmétiques et logiques sont effectuées distinctement sur les cellules, dc maniére é ce que chaque cellule effectue le8 opérations qui lui sont destinées selon les besoins et leur configuration 12-04-2001 11:00 G2SI INC INC. 4186501286 P.04i25 SVSTEME DE PROCESSPUR MODULAIRE A ÉLÉMéNTS CONFIGURABLES ET
INTERELIABLES PERMETTANT DE FiEAU$ER DE MULTIPLES CALCULS
PARALLELE& 6UR DU SIGNAL OU PF-S DONNt'E6 BRUTES
respective, Ces fonctions sont effectuées de manière indépendante et sont simultanées.
Comme dans les inventions cztées plus haut le circuit dont fait l'objet la prQsente invention comporte un certain nombre da cellules et de groupes (Nommées 'ensembles' dans les inventions citées). Les cellules sont associées à un groupe, les groupes sont des fonctions qui compilent 1ea résultats des cellules qvi leur sont destinées.
La Configuration opérationnelle des cellules est introduite par l'intermédiaire de registres (espace mémoire des cellules) et équivaut demander à la dite cellule de calculer une équation algébrique par unE structure o~ des valeurs sont introduites dans une cellule donnée et appliquées à des fonctions de différente niveaux (équivalent à des niveaux de parenthéses) dont leur naturE respective est configurable, chaque Fonction de chaque cellule est distinctement configurable (addition, soustraction, multipücatïon, division, logiques.
décisionnelles, etc.). L'arch~.tecture des cellules peut donc ~tre appliquée suivant la manière dont elle est implantée, typiquement une cellule peut comporter ~~ niveaux de calcul ou plus. Enfin ~ 1a sortie du dernier niveau de calcul des fonctions non linéaires ou d~s calculs indexés peuvent étre introduits dans l'équation au moyen de tables qui sont parties intégrantes de la structure des cellules, les données de ces tables sont dynamiquement accESSibles par les cellules et/ou 1e processeur externe pour adressage indexé ou en tables de eonvezsions (exemple : conversion linéaire / logarithmique suivant une séquence logarithmique). Ensuite la sortie de chaque cellule peut étre additionnée aux sorties d'autres cellules sélectionnées, les cellules ainsi sélectionnées sont identifiées à un groupe de cellules spécifiques. Le groupe peut affecter 1e résultat de la compilation des cellules à une fonction commune, le résultat final du groupe de calcul est iris8ré dans une Matx:ice de Groupes qui contient 1a sortie de chaque groupe du circuit. De plus le résultat du groupe est ache~né suivant des poids définis par d'autres registres sur un certain nombre d'accumulateurs qui cumulent les groupes qui lu.ï sont destinés, ces accumulateurs sont contenus dans .la Matrice des Sorties qui peuvent 2tre lues par un processeur externe ou acheminées sur des Interfaces de sorties. Le zésultat des cellules est introduit dans une Matrice de Cellules qui contient la sortie de chaque cellule du circuit. Enfin une quatrième tHatrice, soit la Matrice des Entrées est introduite et contient les registres d'accumulateurs de données d'EntrE~es gui peuvent étre inscrites par un p~-ocesseur externe au provenir d'Xnterfaoes d'Entrées.
Loa opérations arithmétiques et logiques des ae11u1es sont effectuées sur des valeurs dont la provenance peut étre dynamiquement déterminée soir : directement inscrites par un processeur externe, par la sortie d'une autre cellule de la Matrice de Cellules, par la sortie d'un groupe de 1a Matrice de Groupes ou pas une entrée de la Matrice des Entrées.
Le circuit qui fait l'objet de 1a présente invention généralise les brevets en référence. h~as précédents brevets ont introduit le concept de cellules pour la synthèse sonore, dans ces brevets las Fonctions de ceJ.lulea sont destinées à la synthèse sonore. Les dites fonctions tout en étant conPigurables sont incozpvrées dans des cellules qui sont regroupées dans les Ens~ambies (groupes de sorties de cellules), chaque regroupement constituant en 1'occurenee un son spécifique. vans ces brevets antérieurs sont décrits les moyens de paramétriser les cellules et iristruixe le fonctionnement de chacune soit : l'établissement du mode respectif (exemple : oscillateur sinusoldal, capture de signai extezne, etc.). les paramètres de base de chaque cellule (amplitude relative, fréquence relative, phase, fonction de filtrage), les liens qui permettent d'introduire un signai externe dans une cellule ou de commander un vu plusieurs des g paramètres de baso par une autre cellule. Y sont décrira également les moyens de regroupCr lts Cellules sur des ensembles (ou graupea) qui comportent ég8lement des paramètres absolue de fréquence et d'amplitude (s'appliquant sur les cellules d'un groupe donné) et l'assignation des groupes sur les sorties du circuit, Chaque ensemble constitue un son généré A partir des éléments que constituent les cellules. En définitive ces brevets décrivent les moyens pour gériéreY d~5 SigriauX en ut1119ant des re5sourCBS (cellules) qui fonctionnent en partageant des éléments arithmétiques mais gui 12-04-2001 11:81 G2SI INC INC. 4186501286 P.05i25 SYSTEMé DE PROCE&SEUR MOoULAIRE A ÉLÉMENTS COIrFIGURABLES ET
INTERELIABLES PERMETTANT DE RéALI$ER DE MULTIPLéS CALCULS /3 PARALLELES SUR DU SIGNAL OU DES DONNÉES BRUTES
introduisent un degré élevé de parallélisme de manière à ce que chaque cellule soit en mesure de générer un signal qui peut étré combiné à
d'autres cellules, cette architecture permet un degré élevé de performances et de souplesse en étant configurable.
Le concept de ces breveta peut étre adapté, amélioré et augmenté de manière 8 en généraliser son application à d'autres domaines, dans cette optique la présente Invention présente les innovations qui remplissent ce rQle. 1~ partir du système breveté soit 'bpsta~e de apatls~av sonore pemwttaat d'obten~.r vas nuits d'~~ij~
éleatriqnQa'.
Les principaux ineonvéni,ents des systémes de calculs ordinés existants que ce soit dans les microordinateurs actuels ou dans les grands ordinateurs est liée à leur architecture séquentielle méme dans le cas 05 elles peuvent traiter des données de maniére simultanée. Les systèmes existants sont liés ~ des mots d'instructions qui donnent aéquenciellement l'ordre à une ou des ünltéa arithmétiques (ALO) d'exécuter une ou Ses fonctions, le nombre d'instructions sur un mot dépend de la Longueur en bits du mvt et demeure de toute manière limitée à une lsrgeur de bus (54, 128, 256 bits) y compris pour les noyaux vLi~9 ('Very long instruction word')- Les ordres sont donnés séquenciellemént et de par leur nature se prétent mal à 1a mise en place de procédés a~multan6s. de complexité variable, de bouclage différents, de ca~actére évolutif, de réseaux de calculs, de logique cloue etc.. La stratégie de mise en plane d'ordres de calcul (séquences de programmes) pour des procédés rapides et parallèles peut 2tre performante dans les arcriitectures existantés mais exige que tous les éléments soient rapides (bus, mémoires, processeurs, etc.). et l'approche séquentielle de transmission des commandes est en contradiction avec la nature du processus dans 1e cas o~1 l'objectif est d'effectuer des opérations simultanées qu'elles soient indépenddntee ou corrélées ou encore que l'objectxR soit d'implanter des algorithmes complexes (équations cvtnplexea à niveaux).
pana les systémes ordimS9 actuels il exista deux moyens pratiques de procéder des fonctions simultanées, ou rapides, ou complexes, ou en réseau de procédés, etc.. La premiére solution est d'implanter une structure multitaches d"exécution des programmes, oa différents programmes partagent le méme processeur pour effectuer des tâches différentes selon des priorités Établies; dans ce cas l'inconvénient majeur est que les taches ne sont pas réellement simultanées, et la structure mufti-triches amène une charge supplémentaire au processeur ('Ove~head'1 qui nécessite la gestion de ce multit&ches et de ce fait amenuise ses performances. La deuxième solution est d'implants= un systéme 8 processeurs multiples qui partagent un mAme environnement, ces systèmes sont plus performants que les dispositifs multit~cbes mais comportent plusieurs inconvénients soit d'étre lourds en matériel et éventuellement moins fiables, de plus dans ces architectures é
processeurs multiples étant donné que ceux-ci partagént des connexions et des bus communs. ils sont limités dans leurs procédés aux capacités d'échanges de données entre les processeurs soit un échange à la fois, dans de tels systèmes l~~s communications inter-processeurs constituent les maillons faibles. Dans ces deux cas la seule alternative est de développer 4es processeurs de plus en plus puissants mais l'architecture demeure déficiente et n'utilise pas 1a rapidité des proceaaeuFa dans leur pleine mesure.
12-04-2001 11: H1 G2SI INC I~JC. 4186501286 P.06i25 SYST~ME DE PROCESSéUR MODULAIRE A $LÉMENTS CO~~ABLE6 Ef INTERELIABLES PERMETTANT DE RÉALISER DE MULTIPLES CALCULS
PARALLÉLÉS SUR DU SIGNAL OU DES DONNÉES BRUTéS
L'invention a pour objet: un système de calcul modulaire destiné ~ la production de données fournies en pardlléle résultantes de traitements parallèles sur des variables fournies pas un processeur hOte (ordinateur, micro-cont:r~leuF, n52, etc.) ou au besoin et en toutes combinaisons par des interfaces d'entrées de données; les données résul.tantea des calculs peuvent au besoin et en toutes combinaisons Vitre acheminées au proc~,sseur h6te ou à des interfaces de sorties. Le systéme dont fait l'objet l'invention comprend les revendications suivantes:
~ Des moyens pour configurer les Lonctions aritriatétiques et logiques sur différents niveaux à l'intérieur de chacxue cellule :
~ pour configurer indépendamment chaque fonction de chaque niveau de chaque cellule comme : additive, soustractive, multiplicative, divisive, logique, décisi.vnnelle ou autre, ~ Des moyens pour établir des liens modifiables entre les fonctions sur chaque cellule ~ Pour appliquer las fonctions sur des variables de provenance externes ou internes ~ oes moyens pour 6tablir les différentes fonctions arithmétiques et logiques incorporées dans chaque cellule sur différents niveaux vers une fonction finale donnant un résultat unique de façon 9 ce qu'au choix et sur enaque cel2ule le résultat soient utilisé de manière spdcifique ~ directement comme donnée résultante acheminée sur un registre de mémoires, ~ par l'entremise de tables de conversions ou d'indexation, ~ par l'incorporation de 'fonctions séquencielles supplémentaires, v d'appliquer au choix le résultat en mode normal (non récursif) ou domaine temporel (récursif?
~ Des moyens pour acheminer les résultats des ce7.lules sur aria matrice de résultats des cellules ~ De9 moyens pour ass=gner de manière sélective les cellules dans des groupes distincte et indépenGants pour combiner les résultats respectifs des cellules;
~ Des moyens pour acheminer le9 résultats des groupes sur une matrice de résultats des groupts ~ Des moyens pour capturer des données 8 partir d'interfaces de données et les accumuler dans une matrice d'entrées ~ Oes moyens peur choisir la provenance des variables sur les différentes fonctions des différentes cellules ~ pour sélectivement inscrire une variabze donnée directement d'un procesaeuz, Pour sélectivement acheminer un élément donné de la matrice de cellules à une «sciable donnée, ~ heur sélectivement acheminer un élément donné de la matrice de groupes à une variable donnée.
?our 9é7.ectivement acheminer un élément donné de la matrice d'entrées â une variable donnée, ~ Des moyens pour quo l'action sur chaque entrée de variable provenant de matrice8 puisse étre corrélée a un niveau variable de maniére $
introduire des liens plus ou moins rigides ou léchas.
~ Des moyens pour que les fonctions appliquées sur les cellules soient de natures générales ou partiellement définies selon le mode de fonctiann~ment de claque cellule Pour le mode de fonctionnement normal (non réCUrsiI), de9 fonctions générales d'ordre arithmétique ou logique sans attributions preétablies.
~ Pour le mode de fonctionnement en domaine temporel (récursif), des fonctions mixtes od certaines sent attribuées pour des opérations en mode temporel (amplitudes, fréquence, phase, fonction de séquence) tout en maintenant les autres en ordre général.
~ Des moyens pour at~t:cibuer des tables à 1a sortie de fonction de chaque cellule de manière à pouvoir utiliser 1a mémorisation en lecture ou écriture selon le besoin ~ Capture du résultat de cellule et mémorisation auto-indexée à
pas variable sur. une zone de mémvi.re aux limites définissables ~ Lecture de table sur une zone de mémoire aux limites définissables de manièze a ottribucz une valeur de réeultdt 12-04-2881 11:02 G2SI INC INC. 4186501286 P.0'7i25 SYST~NIE DE PROCESSEUR MODUW~fiE- ,A. ELEAAENTS GONFIGtJRABLES ET
INTERELIABLES PERAI~TTANT DE OSER. DE MULTIPLES CALCULS I S
PARALLELES Sl~i DU SIGNAL. OU OES DONNÉES BRUTES
donné à une valeur d'une table qui pourra étxe utïüsée poux des processus de conversion.
~ Des moyens de généralisation du processus séquenciel de filtrage du brevet existant ae maniére à pouvoir appliquer uns séquence supplémentaire de fonctions arithmétiques au résultat de la cellule, od les fonctions arithmétiques peuvent etre choisis sur des lignes de code Des moyens pour appliquer des fonctions à l'intérieur de chaque groupe de maniére à s'effectuer sur le résultat du groupe dont les résultats proviennent. d'un ensemble choisi de cellules 1 Des moyens pour acheminez les sorties de groupes sur une matrice de sortie, sélectivement pour chaque groupe et progressivement sur une au plusieurs sorties de 1a matrice de sortie ~ Pour progFesaivement et dynamiquement tranafErer les donnëes d'un groupe à une au plusieurs sorties d'une section de la matrice de sorties et combinatoirement avec d'autres groupes, ~ Pour choisir la section de la matrice de sorties sur laquel un groupe donné sera acheminé, ~ Des moyens pour choisir sélectivement la provenance de la valeur de chaque entrée de la matrice d'entrée ~ Pour que la valeur puisse provenir directement d'une entrée d'une interface d'entrée Ne données ~ Pour que la valeur puisse provenir directement d'un processeur hate.
~ nec mo~rens pour choi.six sélectivement la destination de 1a valeur de chaque sortie de la matrice de sortie :
~ Pour que 1a valeur puïsse étre acheminée directement à une sortie d'uns interface sortie de données ~ Pour que la valeur puisse étre transmise directement ~ un processeur hl5te.
Des moyens pour ajouter des variables de manière à ce que les fonctions de celluia puissent s'appliquer sur des niveaux multiples et que l'inacriptïon de valeurs sur ces variables soit de provenance sélective.
DOCUMENTS INCLUS
FICHIER DESCRIPTION Rfrence braver antrieur Fi 2, Gnrateur A~out de sbtcctions d'e & foires IrticrfaCe CPU
Fig05.pcx _ Ajout de peram8trc SI~ Peremtttes dtails atttnuafion et slaxion foncton vccto>ielle ou directe Fig06.pcx Paramtres ~o~ du paramtre MaYtrc Changertxnt paramtres Frquence et Phases Fig06a.pcxExtension Calwl Nouvelle ftgurc pour extension des fonctions de calculs sur les atamttrcs de fi ure Fig07.pcx _ _ Ajout stlcction mode Gnration axe-x opnuoirz sur fonction en bcm rel ou sur donne Pi 08. Ensemble Accumulateur & ClcIcnChementNon nmdifite ex _ Figt t:pexSortie de signaux (q' 8) sortiesAjout de fonction Ae commandes de sonies avec niveaux assigns sur (es soetics stlcctioones et ajout de sections de sottits Figl 1 Sorties de signaux (Sections Nouvelle figure de apex de 8 sorties) dttsil pour stlcetion graduelle par section de SOrtiGs Figl2.brnpSlection contr6ks - , M~~cation pore ajvutcr In slection des erttrtCS
sur 1cs matrices de contrAlcs de aramtres Figl3.pcx Fonctions cellules Ajout de bits de commandes pour les fonctions su ltrrtcntaircs Fi 14. Cellules fonctions oscillateurs Non modifiCc ex Fi 15. Cellules fonction trsteur de Non modifie x bruit Figl6.pcx Cellules fonction Entre Temps . Ajout d'accCs CPU
rtcl, Contrble ~ accs donnes aux entres Ajout de Commande de stlection de chac)ue entre de provcnanCe (CPU
ou Inurface externe Figl a.pcxCellules Fonction chantillonneur.Ajout d'accs criture table mtmoire d stlcetion mCmoirc sur fonction ou transfert de rtsultat da cellule Slection sortit table ou fonetimr sans table Ei 18_ Cellules fonctions Entres tem Non modiftEe x s rel dtecteurs sur cntrrs Fi 19. Cellules fonction fi Non modifiEc Fi 0. x Cellules fonctron chantillonneurNon modifie contrQles limites Fi 1. ex Cellules fonction chantillonneurNon modifie contrblc initialisation
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2344098 CA2344098A1 (fr) | 2001-04-12 | 2001-04-12 | Systeme de processeur modulaire a elements configurables et intereliables permettant de realiser de multiples calculs paralleles sur du signal ou des donnees brutes |
PCT/CA2002/000539 WO2002084510A2 (fr) | 2001-04-12 | 2002-04-12 | Systeme de processeur modulaire |
AU2002308957A AU2002308957A1 (en) | 2001-04-12 | 2002-04-12 | Modular processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 2344098 CA2344098A1 (fr) | 2001-04-12 | 2001-04-12 | Systeme de processeur modulaire a elements configurables et intereliables permettant de realiser de multiples calculs paralleles sur du signal ou des donnees brutes |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2344098A1 true CA2344098A1 (fr) | 2002-10-12 |
Family
ID=4168835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2344098 Abandoned CA2344098A1 (fr) | 2001-04-12 | 2001-04-12 | Systeme de processeur modulaire a elements configurables et intereliables permettant de realiser de multiples calculs paralleles sur du signal ou des donnees brutes |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2002308957A1 (fr) |
CA (1) | CA2344098A1 (fr) |
WO (1) | WO2002084510A2 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195839A1 (en) * | 2004-10-18 | 2008-08-14 | Hildegarde Francisca Felix Nuyens | Reconfigurable, Modular and Hierarchical Parallel Processor System |
US11288587B2 (en) | 2019-06-21 | 2022-03-29 | International Business Machines Corporation | Modular, frequency-flexible, superconducting quantum processor architecture |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2073516A1 (fr) * | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Ordinateur a reseau de processeurs paralleles multimode dynamiques |
US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
CA2186462C (fr) * | 1994-03-28 | 2004-09-28 | Mark D. Estes | Reseau polymorphe et son exploitation |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
-
2001
- 2001-04-12 CA CA 2344098 patent/CA2344098A1/fr not_active Abandoned
-
2002
- 2002-04-12 AU AU2002308957A patent/AU2002308957A1/en not_active Abandoned
- 2002-04-12 WO PCT/CA2002/000539 patent/WO2002084510A2/fr not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
WO2002084510A2 (fr) | 2002-10-24 |
AU2002308957A1 (en) | 2002-10-28 |
WO2002084510A3 (fr) | 2004-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3084588B1 (fr) | Module de traitement du signal, notamment pour reseau de neurones et circuit neuronal. | |
Dryden et al. | Channel and filter parallelism for large-scale CNN training | |
WO2019239254A1 (fr) | Architecture de calcul parallèle à parallélisme de niveau cœur et de niveau vectoriel reconfigurable | |
FR2687814A1 (fr) | Processeur neuronal a cellules synaptiques reparties. | |
CN109074516A (zh) | 计算处理装置和计算处理方法 | |
FR3011659A1 (fr) | Circuit electronique, notamment apte a l'implementation d'un reseau de neurones, et systeme neuronal | |
Sousa et al. | A reconfigurable memory architecture for system integration of coarse-grained reconfigurable arrays | |
CA2344098A1 (fr) | Systeme de processeur modulaire a elements configurables et intereliables permettant de realiser de multiples calculs paralleles sur du signal ou des donnees brutes | |
Sun et al. | An OpenCL-based hybrid CNN-RNN inference accelerator on FPGA | |
CN109634691B (zh) | 计算单元和对此的运行方法 | |
Bruschi et al. | Scale up your in-memory accelerator: Leveraging wireless-on-chip communication for AIMC-based CNN inference | |
CN106648883B (zh) | 基于fpga的动态可重构硬件加速方法及*** | |
Shami et al. | Morphable dpu: Smart and efficient data path for signal processing applications | |
Waidyasooriya et al. | FPGA implementation of heterogeneous multicore platform with SIMD/MIMD custom accelerators | |
US20230237012A1 (en) | System for Executing an Application on Heterogeneous Reconfigurable Processors | |
CN1647064A (zh) | 用于实现脉动阵列的处理方法和设备 | |
JP2023540619A (ja) | 量子状態測定バックエンドプロセスを促進する量子状態測定ロジック | |
FR2569071A1 (fr) | Dispositif de traitement numerique de signal | |
Quinton | An introduction to systolic architectures | |
Abedinia et al. | Multi-objective environmental/economic dispatch using interactive artificial bee colony algorithm | |
Song et al. | Parallelism in deep learning accelerators | |
CN114968911B (zh) | 算子频度压缩及上下文配置调度的fir可重构处理器 | |
Mohammadi et al. | An accelerator for classification using radial basis function neural network | |
Ul-Abdin et al. | Dataflow programming of real-time radar signal processing on manycores | |
US20240273057A1 (en) | Auto-Discovery Module for the Discovery of Reconfigurable Processors in a Pool of Heterogeneous Reconfigurable Processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Dead |