Note: Descriptions are shown in the official language in which they were submitted.
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 »
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
CA 02344098 2001-04-12
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
CA 02344098 2001-04-12
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.
CA 02344098 2001-04-12
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
CA 02344098 2001-04-12
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.
CA 02344098 2001-04-12
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
6
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
CA 02344098 2001-04-12