CA2432384A1 - Architecture electronique parallele comportant une pluralite d'unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites - Google Patents

Architecture electronique parallele comportant une pluralite d'unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites Download PDF

Info

Publication number
CA2432384A1
CA2432384A1 CA002432384A CA2432384A CA2432384A1 CA 2432384 A1 CA2432384 A1 CA 2432384A1 CA 002432384 A CA002432384 A CA 002432384A CA 2432384 A CA2432384 A CA 2432384A CA 2432384 A1 CA2432384 A1 CA 2432384A1
Authority
CA
Canada
Prior art keywords
bus
header
processing unit
message
memory
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
Application number
CA002432384A
Other languages
English (en)
Inventor
Erwan Lavarec
Laurent Tremel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wany SA
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CA2432384A1 publication Critical patent/CA2432384A1/fr
Abandoned legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

L'architecture ~lectronique parall~le comporte une pluralit~ d'unit~s de traitement (1a, 1b,...1n) connect~es ~ un bus de communication, chaque unit~ de traitement ~tant con~ue pour ex~cuter automatiquement une ou plusieurs t~ches pr~d~finies. Chaque unit~ de traitement est configur~e de telle sorte que chacune de ses t~ches est associ~e ~ un en-tÚte, et con~ue pour communiquer avec les autres unit~s de traitement selon le protocole suivant : envoi sur le bus d'un message comportant au moins un en-tÚte caract~risant u ne fonctionnalit~, et ~ventuellement une trame constitu~e d'un ou plusieurs mot s; chaque unit~ de traitement est en outre con~ue pour d~coder chaque en-tÚte transitant sur le bus, et pour, en fonction de la valeur de cet en-tÚte, soi t ignorer le message ~mis sur le bus, soit ex~cuter la t~che associ~e ~ l'en- tÚte de ce message.

Description

ARCHITECTURE ELECTRONIQUE PARALLELE
COMPORTANT UNE PLURALITE D'UNITES DE TRAITEMENT
CONNECTEES A UN BUS DE COMMUNICATION, ET ADRESSABLES
PAR LEURS FONCTIONNALITES
La présente invention concerne le domaine des architectures électroniques parallèles (multiprocesseurs et multitâches). Elle a pour objet une architecture comportant une pluralité d'unités de traitement connectées à un bus de communication et dialoguant entre elles selon un 1 o nouveau protocole.
Dans le présent texte, on désigne par « unité de traitement », toute machine qui est conçue pour exécuter automatiquement une ou plusieurs tâches distinctes. II peut s'agir d'une unité de traitement de type câblée. De préférence, il s'agit d'une unité de traitement programmable 25 comportant un processeur ( microprocesseur, microcontrôleur,...) qui est programmé pour exécuter automatiquement une ou plusieurs tâches distinctes. De manière non exhaustive, l'unité de traitement peut être une machine programmable, tel que par exemple un micro-ordinateur, un périphérique d'une machine, une carte « fille » montée sur une carte mère
2 o fond de panier, etc.
A ce jour, dans ies architectures électroniques comportant plusieurs unités de traitement reliées par un bus de communication, chaque unité de traitement est repérée sur le bus par une adresse physique qui lui est propre. Les protocoles de communication connus à ce 25 jour permettent de faire dialoguer une première unité de traitement (dite par la suite unité émettrice) avec une seconde unité de traitement (dite par la suite unité cible). Ainsi, lorsque l'unité émettrice envoie un message à l'unité cible, en vue par exemple de déclencher l'exécution par l'unité
cible d'une tâche prédéfinie, l'unité émettrice émet sur le bus l'adresse de
3 0 l'unité cible. Chaque unité de traitement est apte à décoder une adresse émise sur le bus, et lorsqu'une unité cible reconnaît son adresse, elle
4 PCT/FRO1/04176 charge en mémoire locale le message associë et exécute la tâche pour laquelle elle est programmée. L'unité cible et émettrice ont généralement des bus d'adresses et de données similaires et de taille fixée.
Avec ce type d'architecture et de protocole de communication connus, il est difficile de réaliser un système muti-tâches dans lequel plusieurs unités de traitement réalisent en parallèle une méme tâche (ou fonctionnalité), car ce parallëlisme des unités de traitement nécessite une gestion compliquée de l'adressage des unités de traitement.
La présente invention vise a proposer une nouvelle architecture 1o parallèle qui permet de pallier cet inconvénient et qui de surcroît est plus facilement évolutive et modulable, par ajout d'une nouvelle unité de °traitement, remplacement ou suppression d'une unité de traitement.
Ce but est atteint par l'architecture parallèle de l'invention qui est connue en ce qu'elle comporte une pluralité d'unités de traitement connectées à un bus de communication, chaque unité de traitement étant conçue pour exécuter automatiquement une ou plusieurs tâches prédéfinies.
1. De manière caractéristique et nouvelle selon l'invention, chaque unité de traitement est configurée de telle sorte que chacune de ses 2 o tâches est associée à un en-tête ; chaque unité de traitement est conçue pour communiquer avec les autres unités de traitement selon le protocole suivant : envoi sur le bus d'un message comportant au moins un en-tête caractérisant une fonctionnalité, et éventuellement une trame constituée d'un ou plusieurs mots, et en ce que chaque unité de traitement est conçue pour décoder chaque en-tête transitant sur le bus, et pour, en fonction de la valeur de cet en-tête, soit ignorer le message émis sur le bus, soit exécuter la tâche associée à l'en-téta de ce message.
Ainsi, le fonctionnement de l'architecture de l'invention repose sur 3 o un principe nouveau qui est l'adressage d'une fonctionnalité sur le bus de communication, plutôt qu'un adressage d'une unité de traitement cible donnée. Dans l'invention, l'en-tête qui caractérise une fonctionnalité
permet ainsi de réveïller toutes les unités de traitement connectées qui reconnaissent cette fonctionnalité, afin que ces unités de traitement exécutent parallèlement la tâche associée à cette fonctionnalité.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description ci-après d'un exemple préféré de réalisation de l'invention, laquelle description est donnée à titre d'exemple non limitatif, et en référence au dessin annexé sur lequel - la figure 1 est un synoptique génëral .d'un exemple d'architecture selon l'invention, de type multi-maîtres / multi-esclaves, avec plusieurs unités de traitement connectées à un bus parallèle 16 bits (DO-D15), désigné plus généralement bus a, la figure 2 représente un schéma électrique détaillé pour la réalisation de la mémoire FIFO et de la mémoire de validation d'une unité de traitement, - la figure 3 représente un chronogramme des principaux signaux mis en oeuvre lors d'une opération d'écriture d'un en-tête sur le bus a par une unité de traitement maître, - la figure 4 représente un chronogramme des principaux signaux mis en oeuvre lors d'une opëration d'écriture sur le bus a, par l'unité de traitement 2 o maître, d'un mot d'une trame.
- la figure 5 représente un chronogramme des principaux signaux mis en oeuvre lors d'une opération de lecture, par une unité de traitement esclave, d'un en-tête valide présent sur le bus a, - la figure 6 représente un chronogramme des principaux signaux mis en oeuvre par une unité de traitement esclave, après réception par cet unité
de traitement esclave d'un en-tête valide, et écriture sur le bus a, d'une trame de mots par l'unité de traitement maître, - et la figure 7 représente un chronogramme des principaux signaux mis en oeuvre par une unité de traitement esclave, après réception d'un en 3 o tête non valide et écriture sur le bus a d'un mot d'une trame par l'unité
de traitement maître.

En référence au synoptique général de la figure 1, une architecture conforme à l'invention comprend plusieurs unités de traitement 1.~, 1~, ..., 1n, qui sont connectées à un bus de données parallèle dit par la suite bus a.
L'architecture de la figure 1 est avantageusement de type multi-maîtres/multi-esclaves. Lorsque l'une des unités de traitement 1.~, 1~, ..., ou 1.n veut émettre un message sur le bus a, elle prend la direction du bus et devient unité maître, les autre unités devenant esclaves. Une fois son message émis sur le bus, l'unité de traitement maître libère le bus, 1o une autre unité de traitement pouvant à son tour prendre la direction du bus a, pour émettre un message. Ce mode de fonçtionnement implique la mise en oeuvre de moyens d'arbitrage de l'accès en écriture au bus, lesquels moyens reçoivent en entrée en provenance de chaque unité de traitement des signaux de demande d'accès en écriture au bus, et délivrent en sortie pour chaque unité de traitement des signaux d'autorisation d'accès au bus en écriture. Ces moyens d'arbitrage étant par ailleurs connus de l'homme du métier, ils ne sont pas représentés sur la figure 1 et ne seront pas plus amplement décrits dans le présent texte.
L'invention n'est par ailleurs pas limitée à une architecture de type 2 o multi-maîtres/multi-esclaves, mais peut par exemple également s'appliquer à la réalisation d'une architecture avec une seule unité de traitement maître apte à écrire sur le bus, les autres unités de traitement étant toujours esclaves, et pouvant accéder au bus uniquement en lecture.
Définitions des principaux fermes B 1 ly Le bus a est un bus de données qui est d'une manière générale composé
de (q) conducteurs électriques parallèles, q ëtant un entier supérieur ou égal à 1. Dans l'exemple particulier illustré sur les figures 1 et 2, le bus oc 3 o est un bus constitué de seize conducteurs électriques parallèles (bus 16 bits(DO-D15)).

Atome de giranularité ~ AGl L'atome de granularité » désigné ci après (AD) correspond à la plus petite taille d'unité de traitement pouvant dialoguer sur le bus a ( voir ci-après la définition de « couleur »). Si on considère que le bus a est d'une
5 manière générale composé de q conducteurs électriques parallèles, (q étant un entier supérieur ou égal à un), alors : q= AG. 2p. AD est nécessairement une puissance de deux.
Douleur d'une unité de traitem~~
La « couleur » d'une unité de traitement est définie par la taille (nombre 1o de bits) de son bus de données. Dans l'exemple particulier de (a figure 1, l'unité de traitement 1.a est une machine 16 bits ( bus de données DO-D15), l'unité de traitement 11~ est une machine 4 bits (bus de données DO-D3), ..., l'unité de traitement 1n est une machine 8 bits (bus de données DO-D7).
Par la suite, les « couleurs » d'unité de traitement seront notées A,B,C,D,... selon la convention suivante : une unité de traitement capable de ne communiquer que sur un (AD) sera de couleur A ; une unité de traitement capable de communiquer au maximum sur deux (AD) sera de couleur B ; une unité de traitement capable communiquer au maximum 2 o quatre (AD) sera de couleur C ;une unité de traitement capable communiquer au maximum sur huit (AD) sera de couleur D, etc...
Un mot correspond à la valeur du bus oc à un instant donné. La taille maximale d'un mot est limitée par le nombre de conducteurs parallèles du bus a.
Messaçie_ Un message correspond à la succession de mots qui sont écrits en série sur le bus a par une unité de traitement. Un message est composé d'un premier mot qui est un en-tête (Function Key), suivi d'une trame qui est, 3 o selon le format série utilisé, composée d'un ou plusieurs mots successifs.
6 Format série~_FS~
Le format série permet de définir tous les mots qui composent un message transitant sur le bus. Les formats séries utilisables sur le bus a peuvent être très différents, et ont nécessairement pour caractéristique commune que le premier mot d'un message est un en-tête.
Un exemple de format série standard, et non limitatif de l'irïvention, est donné ci-après En-tte (FunctionKey) (voir dfinition ci-aprs) (Taille du message) (suivant FunctionKey), un numro (Signature) (suivant FunctionKey), explique quel est le type du maitre qui met ainsi que sa place sur le bus (Type) (suivant FunctionKey), un numro (Taille trame) (suivant FunctionKey), un nombre Trame (suivant FunctionKey) N mots qui se suivent Sentinelle bits de contrle sur tous ies mots du message, permettant de savoir si une erreur a eu lieu sur l'un des bits de transmission 1o Suivant la fonctionnalité, codée par l'en-tête, d'autres formats série peuvent être dérivés de ce format standard ; le format série le plus simple avec contrôle de la transmission étant : en-tête / sentinelle. Dans une variante de réalisation encore plus simple (sans contrôle de l'intégrité des données transmises), il est envisageable qu'un message puisse être constituë uniquement d'un entête.
Form parallèle ~FPI
On associe à chaque couleur (A,B,C,D,...) d'unité de traitement un formatage particulier des messages qui transitent sur le bus a.
7 Un exemple de codage du format parallèle (FP) est donné dans le tableau ci-après En-tte Format parallle sur le bus a ier 2me Sme 4me Sme 6me 7me sme AG AG AG AG AG AG AG AG

XXXX 0 0 0 0 0 0 0 FP-A : 2'~ Fonctionnalits 0 XXXX 0 0 0 0 0 0 FP-B : 2'~ Fonctionnalits 0 0 XXXX XXXX 0 0 0 0 FP-C : 22~ ac Fonctionnalits 0 0 0 0 XXXX XXXX XXXX XXXX FP-D ; 24~ AG
Fonctionnalits XXXX désigne qu'il est possible de prendre n'importe quelle valeur possible.Le 0 désigne que tous les conducteurs de cet AG sont mis à
zéro.
Forme de chacun des FP
Le FP-A : on utilise les AG premiers conducteurs du bus pour tous les autres mots qui composeront la trame du message par la suite. On s'adresse donc à toutes les unités de traitement connectées au bus et ayant la fonctionnalité recherchée, puisque par définition même la plus petite unité de traitement peut communiquer sur un AG.
Le FP-B : on utilise les 2AG premiers conducteurs du bus pour tous les autres mots qui composeront la trame du message par la suite.
8 Par définition, on exclut les unités de traitement qui ne sont pas capables d'y accéder, puisque de toute façon elles n'auront pu décoder ie XXXX qui était sur le 2emeAG. On s'adresse forcément aux seules machines capables de communiquer sur 2 AG.
Le FP-C : on utilise les 4AG premiers conducteurs du bus pour tous les autres mots qui composeront la trame du message par la suite.
Le FP-D : on utilise les 8AG premiers conducteurs du bus pour tous les autres mots qui composeront la trame du message par la suite.
Les formats mixtes ( FP-AB, FP-AC, FP-AD, FP-ACD,...) 1o permettent de fournir une donnée plus raffinée (plus de détails) si les processeurs auxquels on s'adresse ont les moyens de lire la donnée sur plusieurs AG.
Exemple d'utilisation des formats mixtes FP-AB et FP-AD :
Le format FP-AB s'adresse à la fois aux unités de traitement z5 pouvant lire sur 1 AG et à celles pouvant lire sur 2 AG. Celles qui lisent sur 1 AG ont une information suffisante pour remplir la fonctionnalité mais n'ont pas forcément tous les détails. Celles qui lisent sur 2 AG peuvent par exemple avoir un code correcteur d'erreur sur le 2eme AG pour vérifier l'information qui a transité sur le lerAG.
2 o Le format FP-AD est un format qui peut par exemple être intéressant pour la transmission de petites images sur le bus a. Le premier AG peut servir à coder le niveau moyen de gris (ou de couleur) d'un pavé de 9 pixels. Les unités de traitement ayant accès uniquement à
cette information bénéficie quand même de la donnée : une image trois 25 fois plus petite. Pour les unités de traitement ayant également accès au format FP-D, elles pourront bénéficier de la lecture de 8 AG en tout, ies autres AG lui permettant par exemple de rajouter la différence par rapport à la moyenne pour connaître la valeur des pixels du ~avë (principe des ondelettes de Haar).
3 0 En-tête (FunctionKe;~l Selon une caractéristique essentielle de l'invention, l'en-tête est le premier
9 mot de tout message transitant sur le bus a, et il définit principalement quelle est la fonctionnalité qui est adressée. De préférence, mais non nécessairement, cet en-tête permet également de définir - le format parallèle du message, - le format série du message, - la « couleur » de l'unité de traitement qui a généré le message ( unité de traitement maître) - une information qualitative sur la longueur du message.
Fonctionnalité
On appelle « fonctionnalité » toute fonction (ou tâche) qui peut être exécutée automatiquement par une unité de traitement connectée au bus a.
Table des fonctionnalités Chaque unité de traitement est configurée en sorte de comporter une table des fonctionnalités, qui lui est propre, et qui associe chaque tâche exécutable par l'unité de traitement, à une valeur d'en-tête. De préférence, cettè table des fonctionnalités dëfinit également pour chaque fonctionnalité, le format série (FS) associé à cette fonctionnalité, ainsi que la longueur d'un message associé à cette fonctionnalité. Pour une unité
2 o de traitement donnée, le nombre de fonctionnalités possibles dépend uniquement du nombre d'AG qu'elle peut atteindre sur le bus et de la valeur de l'AG.
Généralités sur le protocole de communïcation de l'invention L'échange de messages sur le bus cx est réalisé entre une unité de ~5 traitement maître qui a pris la direction du bus, et qui de ce fiait est la seule unité de traitement autorisée à écrire des données sur le bus a, et les autres unités de traitement esclaves, qui peuvent accéder uniquement en lecture au bus a.
Lorsqu'une unité de traitement 1.a, 1~., ..., ou 1n a pris la direction 3 o du bus a, elle commence par écrire sur le bus a un en-tête (FunctionfCey), puis écrit ensuite sur le bus a une trame ( un ou plusieurs mots en fonction du format série (FS) utilisé).
L'en-tête est lu par chaque unité de traitement esclave. L'en-tête permet principalement à chaque unité de traitement esclave de déterminer si la trame émise sur le bus a lui est destinée, et dans 5 l'affirmative, quelle est la tâche qu'elle doit exécuter.
Lorsque l'en-tête émis sur le bus ne fait pas partie de la table des fonctionnalités d'une unité de traitement esclave, cette dernière ignore la trame émise sur le bus a consécutivement à l'en-tête. Dans le cas contraire, l'unité de traitement esclave lit également (a trame émise sur le 1o bus après l'en-tête, et exécute automatiquement la tâche qui est associée à cet en-tête dans sa table des fonctionnalités.
Ainsi, la nouveauté du protocole de communication de l'invention découle du fiait que lors de l'écriture d'un message sur le bus par une unité de traitement maître, on ne réalise pas un adressage d'une unité de traitement esclave donnée localisée sur le bus par une adresse (physique ou logique), mais on réalise un adressage des fonctionnalités (tâches) des unités de traitement esclaves, le message étant traité en parallèle par toutes les unités de traitement possédant une fonctionnalité associée à
l'en-tête émis sur le bus.
2o Exemple de structure d'une unité de traitement (1~, ..., 1,n) En référence à la figure 1, une unité de traitement 1.~, ..., 1t1 comporte essentiellement - un microprocesseur 2, - une mémoire de validation 3, - une mémoire 4 de type FIFO, - une unité logique 5 permettant le séquencement du fonctionnement de la mémoire de validation 3 et de ia mémoire FIFO 4, à partir de signaux horloges CLKA et CLKD, - un bus de données 6, dit par la suite bus interface, 3 o - un bus interne 7, sur lequel le microprocesseur 2, peut lire ou écrire des données, - des registres trois états 6.~, qui sous la commande du microprocesseur 2 (signal 8) permettent l'écriture sur le bus interface 6 (DO-D15) des données présentes sur le bus interne 7.
Bus interface 6l Ce bus interface est un bus de données (n) bits [(DO - Dn-1 )] constitué
d'une manière générale de (n) conducteurs électriques parallèles, [n entier inférieur ou égal à q (taille du bus a)], reliés en paralléle aux n premiers conducteurs du bus a.
1o Le microprocesseur est de manière usuelle associé à une mémoire vive (RAM), qui par soucis de simplification n'a pas été
représentée sur cette figure 1, et à laquelle le microprocesseur 2 peut de manière usuelle accéder en lecture et en écriture. Cette mémoire vive comporte la table des fonctionnalités de l'unitë de traitement, ainsi que le programme de fonctionnement du microprocesseur, qui sera détaillé
ultérieurement.
Le bus interne 7 est un bus ISA qui comporte de manière usuelle - un bus de données [ bus de donnés l6bits / D_ISAO à D_ISA15 dans le cas de l'unité de traitement 1~, au format 16 bits], - un bus d'adresse non représenté sur le synoptique général de la figure 1, et dont les deux bits d'adresse de poids faible sont référencés respectivement AO_ISA et A1_ISA sur les chronogrammes des figures 3 et 4, et - un bus de contrôle constitué par les signaux d'écriture Wr ISA et de lecture Rd_ISA (signaux délivrés par le microprocesseur 2) et par le signal de sélection Cs_ISA, issu du décodage des signaux de lecture et d'écriture ; ces signaux Wr ISA, Rd_ISA, et Cs_ISA ne sont pas représentés sur le synoptique de la figure 1, et apparaissent uniquement sur les chronogrammes des figures 3 et 4.
3 0 Mémoire de validation l31 La mémoire de validation 3 peut indifféremment être une mémoire vive ou une mémoire morte. De préférence, il s'agit d'une mémoire de type EEPROM. Cette mémoire de validation fonctionne en table de correspondance de façon à lister les en-têtes valides, le port d'adresse de cette mémoire de validation 3 étant relié au bus a. Le port de sortie de cette mémoire de validation 3 est relié (signaux 9) au microprocesseur 2, sur un port de ce microprocesseur dédïé au traitement des interruptions.
L'accès en lecture à la mémoire de validation 3 est séquencé par le sïgnal 5~" délivrë par l'unité logique 5, à partir des sïgnaux horloge CLKA et CLKD.
1 o Tel que cela apparaîtra plus clairement ultérieurement dans la description, la mémoire de validation 3 a pour fonction de valider ou non (signaux 9), pour le microprocesseur 2, un en-tête présent sur le bus a. A
cet effet, à chaque adresse de la mémoire de validation (correspondant à
une valeur d'en-tête pouvant être émise par une unité de traitement sur le bus a) est stockée une donnée qui est reconnue par le microprocesseur 2 comme étant une donnée, soit de validation, soit de non validation de l'en-tête. Lorsque la donnée délivrée en sortie par la mémoire de validation 3 (signaux 9) est une donnée de validation, le microprocesseur 2 est informé qu'il doit charger la trame qui est émise sur le bus a après l'en-2 o tête qui a été validé. A l'inverse, lorsque la donnée issue de la mémoire de validation est une donnée qui ne valide pas l'en-tête, le microprocesseur 2 ignore la trame qui est émise sur le bus a après cet en-tête.
Ces données de validation ou de non validation pour chaque adresse de la mémoire 3 sont propres à chaque unité de traitement 1 a, 1 b, ..., 1 n, et permettent de personnaliser le fonctionnement de l'unité de traitement.
En référence à la figure 2, dans un exemple particulier de rëalisation, la mémoire de validation 3 est réalisée au moyen d'un circuit intégré C11 tel que par exemple le circuit intégré commercialisé sous la 3 o référence AM29F010. Dans cette réalisation, le port d'adresse de la mémoire correspond aux entrées AO à A15, lesquelles sont raccordées respectivement en parallèle aux conducteurs électriques du bus a (DO-D15). Le signal « Ecriture_ Ad » correspond au signal 5a de la figure 1, et les signaux « Adresse rejetée », « IRQ#5 », « IRQ#4 » s< IRQ#3 »
« IRQ#2 » « IRQ#P » sur le port de sortie de la mémoire correspondent aux signaux 9 précités du synoptique de la figure 1. Dans cette réalisation, la validation de la mémoire est répartie sur plusieurs niveaux, mais la validation utile est codée sur le signal IRQ #P. Lorsque ce signa( IRQ #P
est par exemple à l'état bas (respectivement à l'état haut), l'en-tête qui est présent sur le bus a est validé (respectivement non validé) pour le 1o microprocesseur 2.
Mémoire FIFO l41 En référence à la figure 1, la mémoire FIFO 4 est raccordée en entrée au bus a via le bus interface 6, et en sortie au bus de données du bus interne 7. Le microprocesseur 2 peut commander le chargement, dans la mémoire FIFO 4, d'un mot présent sur le bus oc, au moyen du signal d'écriture 10, ainsi que la sortie d'un mot stocké dans la mémoire FIFO 4, et son écriture sur le bus de données du bus interne 7, au moyen du signal de lecture 1 j . Le séquencement du chargement d'un mot dans la mémoire FIFO 4, ou d'une lecture d'un mot en mémoire FIFO 4 est synchronisé par un signal de cadencement 5,~, délivré par l'unité logique 5 à partir des signaux horloges CLKA et CLKD. La mémoire FIFO 4 délivre également en sortie pour le microprocesseur 2 des signaux d'état y 2 permettant d'indiquer au microprocesseur 2 son niveau de remplissage.
En référence à la figure 2, dans un exemple particulier de réalisation, la mémoire FIFO 4 est réalisée à partir de deux circuits intégrés 8 bits C12 et C13, et par exemple à partir de circuits intégrés commercialisés sous la référence IDT7200, chaque circuit intégré C12 et C13 étant dédié respectivement au stockage des bits de poids fort (D8 à
D15) et de poids faible (DO à D7) du bus oc.
3 o Dans cette variante de réalisation, les signaux référencés sur la figure 2 « Empty_flag_H », «Full fiag_H », « Half full_H », « Empty_flag_B », «Full flag_B », « Half full_B », correspondent aux signaux d'état 12 précités du synoptique de la figure 1, et permettent le codage de l'état de remplissage de chaque registre FIFO ( C12 et C13). Le signal référencé « Ecriture_FIFO OK » correspond au signal d'écriture 10 précité de la figure 1. Les signaux « Lecture_ FIFO _ B » et « Lecture _FIFO _ H » correspondent au signal de lecture 11 précité de la figure 1.
Le signal «Reset_FIFO » est un signal de remise à zéro de la mémoire FIFO qui est délivré par le microprocesseur 2, et qui est utilisé pour initialiser la mémoire 4.
Registres trois états ( Le bus de données du bus interne 7 d'une unité de traitement est connecté en parallèle au bus interface 6, via un ou plusieurs registres trois états 6~. Dans le cas par exemple de l'unité de traitement 1.~ mettant en oeuvre un bus interne 16 bits ( D_ISAO- D_ISA15), on pourra utiliser deux registres huit bits dédiés à l'écriture en parallèle sur le bus interface 6, et par là-méme sur le bus a, respectivement des huit bits de poids faible (D-ISAO-D_ISA7) et des huit bits de poids forts (D_ISAB-D_ISA15) du bus de données du bus interne 7. Le transfert sur le bus a (DO- D15) d'une donnée présente sur le bus de données (D_ISAO - D_ISA15) du bus 2 o interne 7 est commandé par le microprocesseur au moyen du signal d'écriture 8 (figure 1 ).
Signaux horlo,~ie CLKA et CLKD
En référence à la figure 1, chaque microprocesseur 2 d'une unité de traitement délivre en sortie deux signaux horloge 2~ et 2.~, qui sont connectés, via des portes 13 à collecteur ouvert, à un bus horloge (CLKA, CLKD) commun à toutes les unités de traitement. Lorsqu'une unité de traitement prend la direction du bus a (unité de traitement maître), les signaux horloges CLKA et CLKD correspondent respectivement aux signaux horloge 2~ et 2~, du microprocesseur 2 de cette unité de 3 o traitement maître ; les signaux horloges 2.a et 2.~ des autres unités de traitement esclaves sont quant à eux flottants et isolés du bus horloge CLKA et CLKD. L'échange de données sur le bus a est ainsi cadencé par l'unité de traitement maître, les unités de traitement esclaves assurant le chargement des messages écrits sur le bus a ( mémoire de validation 3/
signal 5.~, ; mémoire FIFO 4 l signal 5,~) quelle que soit leur vitesse 5 d'horloge propre (fréquence propre de fonctionnement de leur microprocesseur 2). Des unités de traitement possédant des vitesses d'horloge propres différentes peuvent donc avantageusement dialoguer entre elles.
Fonctionnement du microprocesseur (2) d'une unité de traitement
10 Programme rinci~al Le microprocesseur 2 d'une unité de traitement est programmé pour exécuter en boucle le programme principal ci-après a) lecture en mémoire FIFO 4 d'un message (en-tête et trame) , b) décodage de la fonctionnalité associée à cette en-tête dans la table 15 des fonctionnalités ;
c) exécution automatique de la routine (tâche) correspondant à cette fonctionnalité.
F_criture d'un messagie sur h h!as~,,~jgiu.rP ~ P+ 41 Au cours de l'exécution de la routine de l'étape c) précitée, il peut arriver que le microprocesseur 2 soit amené à écrire sur le bus oc un message, afin d'activer une fonctionnalité gérée par une ou plusieurs autres unités de traitement connectées au bus a. Dans ce cas, après avoir pris la direction du bus a, l'unité de traitement ëcrit sur le bus a l'en-tête codant cette fonctionnalité, et la trame des mots du message, puis libère le bus a.
Les chronogrammes des principaux signaux mis en oeuvre lors d'une telle opération d'écriture sont représentés respectivement sur les figures 3 et 4.
Sur ces figures 3 et 4, les signaux « Data_Isa » correspondent au bus de données du bus interne 7, c'est-à-dire par exemple aux bits 3 o D_ISAO à D_lSAl5 (figure 2) du bus interne 7 de l'unité de traitement 1~.
Les signaux Com ÇLKA et Com ÇLKB correspondent aux signaux 2~ et 2~ précités. L'écriture d'un en-tête sur le bus de données du bus interne 7 se fait à l'adresse de base +2 d'offset ; ensuite l'écriture de la donnée sur le bus de donnée du bus interne 7 se fait à l'adresse de base +3 d'offset(cf. signaux AO_ISA et A1_ISA).
Chargiement d'un messag~présent sur le bus ry ( figures 5 et 6) En cas de présence d'un en-tête valide sur le bus oc, l'exécution du programme principal précité est interrompu par la donnée de validation qui est issue de la mémoire de validation (le signal « IRQ #P » change d'état). Le microprocesseur exécute alors une routine secondaire de 1o chargement en mémoire FIFO 4 de l'en-tête et de la trame de mots émise sur le bus a à la suite de cet entête, l'unité de traitement correspondante fonctionnant en esclave.
Les chronogrammes des principaux signaux mis en oeuvre lors d'une opération de lecture sur le bus a, par une unité de traitement esclave, d'un en-tête valide sont représentés sur la figure 5. La figure 6 représente les chronogrammes des principaux signaux mis en oeuvre lors d'une opération de lecture sur le bus a, par une unité de traitement esclave, d'une trame de mots ( figure 6 / « Donnée n » , « Donnée n+1 ») écrite le bus a par une unité de traitement maître, en relation avec un en 2 o tête valide précédemment écrit sur le bus a.
En référence à la figure 5, s'agissant d'un en-tête valide pour l'unité de traitement esclave, en sortie de la mémoire validation 3, l'interruption IRQ#P change momentanément d'état. La capture de cet en tête valide dans !a mémoire FIFO 4 ( signal 10 / Ecriture FIFO OK) se fait par l'action simultanée des signaux CLKA et CLKD.
En référence à la figure 6, la capture d'une donnée dans la mémoire FIFO 4 est cadencée uniquement par le signal CLKD.
Réception d'un en-tête non valide / fi~~.C~ 7 En référence à la figure 7, lorsque l'en-tête présent sur le bus a n'est pas 3 o valide pour une unité de traitement esclave, le signal d'interruption IRQ#P
ne change pas d'état, et le programme principal précité du microprocesseur 2 n'est pas interrompu. Le microprocesseur 2 ne commande pas le chargement de l'en-tête présent sur le bus oc dans la mémoire FIFO 4 (signal Ecriture FIFO_OK ne change pas d'état), ni ultérieurement le chargement en mémoire FIFO 4 de la trame de mots transitant sur le bus après cet en-tête. Le message transitant sur le bus a est ainsi ignoré par l'unité de traitement esclave.
L'architecture mufti processeurs qui a été décrite en référence aux figures 1 à 7 présente les principaux avantages ci-après :
- le principe d'adressage des unités de traitement par leurs fonctionnalités 1o au moyen de l'en-tête (FunctionKey) permet de simplifier la gestion du parallélisme des tâches exécutées par les unités de traitement, et par là-même simplifie la programmation des unités de traitement ; en outre, il permet de réaliser à moindre coût une architecture puissante, à partir d'unités de traitement de faible puissance.
- Cette architecture est avantageusement modulaire, et très facilement évolutive ; elle est en outre très robuste : on peut lui changer sa forme « à
chaud » (en fonctionnement) par ajout, suppression ou remplacement d'une unité de traitement, sans perturber grandement l'exécution du programme général de fonctionnement de l'architecture ; certaines unités de traitement qui constituent cette architecture peuvent donc tomber en panne sans qu'il soit nécessaire de réaliser un arrêt général du fonctionnement de l'architecture.
- Cette architecture paralléle est « universelle » : elle permet de faire dialoguer entre elles des unités de traitement différentes, et en particulier des unités de traitement ayant des bus de données (bus interface 6) de tailles différentes ; la seule limitation sur la taille des unités de traitement pouvant être connectées est le nombre de bits en parallèle du bus a ;
cette architecture ne fonctionne pas avec un format unique de données, mais fonctionne avec tout format de données, supérieur ou égal à la taille 3 o de l'atome de granularité (AG).
l'échange de données sur le bus de communication (bus a) étant cadencé par l'unité de traitement maître qui a pris la direction du bus (signaux CLK et CLD), les unités de traitement peuvent dialoguer enfire elles quels que soient leurs processeurs, et surtout quelle que soit la cadence d'horloge de leurs processeurs.
Exemple d'application On réalise un robot comportant une carte mère fond de panier sur laquelle sont montées cinq cartes filles ( une carte fille correspondant à une unité
de traitement) : une carte de propulsion pour commander le déplacement du robot, une carte sonore, une carte caméra, et une carte de décision 1 o comportementale ( calculateur) pour gérer le comportement du robot.
Les tableaux 1, 2 , 3, 4 ci-après donnent un exemple d'implémentation d'en-têtes et de fonctionnalité associées.

En-tte Fonctionnalit Carte propulsion donnes 0 Rserv ~ : Jamais '~ : Jamais 1 Arrt d'urgence .~ : surchauffe moteur ~' : Toujours 2 Demande de dplacement!1 : Jamais en vitesse avant ~' : Toujours 3 Demande de dplacement~. : jamais en vitesse arrire ~' : toujours 4 Demande de transmission~. : Jamais numro d'une image ~' : Jamais Transmission d'une ~. : Jamais image image ~' : Jamais 6 Reconnaissance d'un.~ : Jamais humain nom ~' : toujours (ralentir) 7 Emettre un son ~. : Jamais numro ~' : Jamais 8 Transmission d'un ~. : jamais son son ~' : jamais 9 Extinction carte ~, : Plus de batterie / dfaut identifiant raison '(f : jamais Demande d'identification~. : Jamais des cartes prsentes ~' : toujours
11 Dclaration de sa 1l : sur demande prsence et (10) identifiant fonctionsa fonction 'f f : jamais En-tte Fonctionnalit Carte camra donnes 0 Rserv .~ : Jamais '(T : jamais 1 Arrt d'urgence ~. : dtection d'obstacle '(T : jamais 2 Demande de dplacement.~ : jamais vitesse en avant '(f : jamais 3 Demande de dplacement.~ : jamais vitesse en arrire '(f : jamais 4 Demande de transmission~ : possible numro d'une image '(T : toujours 5 Transmission d'une .~ : sur demande image (4) image '~ : toujours 6 Reconnaissance d'un.~ : sur reconnaissance nom humain '(T : toujours 7 Emettre un son .~ : jamais numro ~' : jamais 8 Transmission d'un ~. ; jamais son son '~ : jamais 9 Extinction carte ~, : plus de batterie l dfaut identifiant raison '~ : jamais 10 Demande d'identification.U. : jamais des cartes prsentes'~ : toujours 11 Dclaration de sa ~. : sur demande prsence (10) identifiant fonctionet sa fonction ~' : jamais En-tta Fonctionnalit Carte sonore (microlHP) donnes 0 Rserv ~. : Jamais '(f : jamais 1 Arrt d'urgence ~. :Jamais 1~ ; Toujours (son d'alerte) 2 Demande de dplacement~. : jamais vitesse en avant '(T : jamais 3 Demande de dplacement~. : jamais vitesse en arrire '(T : jamais 4 Demande de transmission~. : jamais numro d'une image ~' : jamais Transmission d'une.~ : jamais image image '~ : jamais 6 Reconnaissance ~. : sur reconnaissance d'un nom humain '~ : toujours 7 mettre un son ~. : jamais numro ~' : toujours 8 Transmission d'un ~. ; possible son son '~ : toujours 9 Extinction carte .~ : plus de batterie / dfaut identifiant raison '(f : jamais Demande d'identification~ : jamais des cartes prsentes~' : toujours 11 Dclaration de sa ~. : sur demande prsence (10) identifiant fonctionet sa fonction '~ : jamais En-tte & donnes Fonctionnalit Carte de dcision comportementale 0 Rserv ~. : Jamais ~' : jamais 1 Arrt d'urgence ~. : choix de s'arrter d'urgence '(T : Toujours 2 Demande de dplacement~. : choix d'avancer vitesse en avant '(T : jamais 3 Demande de dplacement.~ : choix de reculer vitesse en arrire '(T : jamais 4 Demande de transmission.~ : demande numro d'une image '~ : toujours Transmission d'une.~ : choix de s'arrter image d'urgence image '~ : toujours 6 Reconnaissance ~ : jamais d'un nom humain '(T : toujours 7 Emettre un son ~. : choix d'mettre un son numro '(f : jamais 8 Transmission d'un ~. ; demande son son ~' : toujours 9 Extinction carte ~. : plus de batterie / dfaut identifiant raison ~f : toujours Demande d'identification.(j : demande des cartes prsentes~' : toujours 11 Dclaration de sa ~. : jamais prsence identifiant fonctionet sa fonction '~ : toujours ~. : aptitude de la carte à écrire l'en-tête sur le bus a ~ : aptitude de la carte à charger l'en-tête présente sur le bus a en mémoire FIFO (validité de l'en-tête).

Dans cette application, au moins deux unités de traitement (cartes filles) sont configurées avec un même en-tête, c'est-à-dire comportent dans leur table des fonctionnaütés à une même valeur d'en-tête (voir ci-après la fonctionnalité « arrêt d'urgence » / carte propulsion, carte sonore et carte de décision comportementale configurées avec la même valeur d'en-tête '1'). Egalement, dans cette application, au moins une unité de traitement est conçue pour exécuter plusieurs tâches, et est configurée de telle sorte pue chaque tâche est associée à un en-tête différent. Par exemple, la 1o carte propulsion comporte dans sa table des fonctionnalités les valeurs d'en-tête '1', '2', '3', '6' et '10' associées respectivement aux fonctionnalités suivantes : « arrêt d'urgence », « demande de dëplacement en avant », « demande de déplacement en arrière », « reconnaissance d'un humain », « demande d'identification des cartes présentes ».
Afin de mieux comprendre les tableaux ci-dessus, la fonctionnalité « arrêt d'urgence » va être plus particulièrement commentée.
Fonctionnalité « arrêt d'urgence »
L'en-tête de valeur '1' codant la fonctionnalité « arrêt d'urgence » est 2 o toujours valide pour la carte propulsion, la carte sonore, et la carte de décision comportementale. La carte propulsion comporte dans sa table des fonctionnalités cette valeur d'en-tête associée à la fonctionnalité
« arrêt d'urgence », et la routine (tâche) associée est l'arrêt du moteur de déplacement du robot.
La carte sonore comporte dans sa table des fonctionnalités cette valeur d'en-tête '1' associée à la fonctionnalité « arrêt d'urgence », et la routine associée est l'émission d'un son d'alerte par la carte. La carte de décision comportementale comporte dans sa table des fonctionnalités cette valeur d'en-tête associée à la fonctionnalité « arrêt d'urgence », et la 3 o routine associée est de mémoriser et dater l'événement tout en vérifiant que l'arrêt d'urgence à bien eu lieu en vérifiant que la caméra observe une image fixe. Lorsque l'en-tête de valeur '1' transite sur ie bus ~, les routines (tâches) de chacune de ces cartes correspondant à cette fonctionnalité sont activées en parallèle.
A l'inverse, l'en-tête de valeur '1' codant la fonctionnalité « arrët d'urgence » n'est jamais valide pour la carte caméra, Lorsque cet en-tête est présent sur le bus a, le message correspondant est ignoré par la carte caméra qui continue a fonctionner normalement.
L'activation de la fonctionnalité « arrêt d'urgence » par écriture de la valeur d'en-tête '1' sur le bus a peut être réalisée à l'initiative soit de la carte propulsion ( en cas de surchauffe moteur détectée par cette carte), soit de la carte caméra ( en cas de détection d'une obstacle par cette carte), soit de la carte de décision comportementale. Cette fonctionnalité
« arrêt » d'urgence n'est jamais déclenchée à l'initiative de la carte sonore.
Les tableaux ci-dessus permettent à l'homme du métïer de définir, pour chaque carte, sa table des fonctionnalités, ainsi que le contenu de sa mémoire de validation 3 qui assure le décodage des en-têtes.
Dans la variante la variante de réalisation particulière de la figure 1, une unité de traitement est conçue pour, après reconnaissance d'un 2 o en-tête valide, charger en mémoire FIFO 4 le message transitant sur le bus a, et ce préalablement à !'exécution de la tâche associée à l'entête du message. Dans une variante de réalisation plus simple, il est toutefois envisageable de concevoir une unité de traitement qui exécute une tâche associée à un en-tête après reconnaissance de cet en-tête sur le bus a, sans chargement préalable du message en mémoire Ioca¿e. Dans ce cas, l'unité de traitement ne comportera pas nécessairement de mémoire FIFO
4. Egalement, dans une autre variante, la mémoire de validation 3 pourrait être remplacée par tout autre moyen de décodage des en-têtes transitant sur le bus, et par exemple par une table de décodage réalisée 3 o en logique combinatoire.

Claims (10)

REVENDICATIONS
1. Architecture électronique parallèle comportant une pluralité d'unités de traitement (1a, 1b,.....1n) connectées à un bus de communication, chaque unité de traitement étant conçue pour exécuter automatiquement une ou plusieurs tâches prédéfinies, caractérisée en ce que chaque unité de traitement est configurée de telle sorte que chacune de ses tâches est associée à un en-tête, en ce que chaque unité de traitement est conçue pour communiquer avec les autres unités de traitement selon le protocole suivant: envoi sur le bus d'un message comportant au moins un en-tête caractérisant une fonctionnalité, et éventuellement une trame constituée d'un ou plusieurs mots, et en ce que chaque unité de traitement est conçue pour décoder chaque en-tête transitant sur le bus, et pour, en fonction de la valeur de cet en-tête, soit ignorer le message émis sur le bus, soit exécuter la tâche associée à l'en-tête de ce message.
2. Architecture selon la revendication 1 caractérisée en ce qu'au moins une unité de traitement est conçue pour charger en mémoire le message transitant sur le bus préalablement à l'exécution d'une tâche.
3. Architecture selon la revendication 1 ou 2 caractérisée en ce que qu'au moins deux unités de traitement sont configurées avec un même en-tête.
4. Architecture selon la revendication 1 ou 2 caractérisée en ce qu'au moins une unité de traitement est conçue pour exécuter plusieurs tâches, et est configurée de telle sorte que chaque tâche est associée à un en-tête différent.
5. Architecture selon l'une des revendications 1 à 4 caractérisée en ce que le bus de communication est un bus de données composé de (q) conducteurs parallèles (q entier supérieur ou égal à 1 ), en ce que chaque unité de traitement comporte un bus (6) de données (n) bits [(n entier inférieur ou égal à q)] qui est connecté en parallèle aux (n) premiers conducteurs du bus de communication.
6. Architecture selon la revendication 5 caractérisée en ce qu'au moins une unité de traitement est conçue pour émettre sur le bus un message selon le format série suivant : écriture sur le bus d'un premier mot correspondant à l'en-tête, puis écriture successivement de chaque mot constituant la trame du message.
7. Architecture selon l'une des revendications 1 à 6 caractérisé en ce qu'au moins une unité de traitement comporte : un processeur (2) programmé pour exécuter une ou plusieurs tâche distinctes, des moyens de décodage conçus pour valider ou non pour le processeur (2) un en-tête transitant sur le bus de communication, une mémoire (4) connectée au bus de communication, accessible en lecture par le processeur (2), et permettant sous la commande du processeur (2) le chargement d'un message transitant sur le bus de communication.
8. Architecture selon la revendication 7 caractérisée en ce que les moyens de décodage comportent une mémoire de validation (3) dont le port d'adresse est connecté au bus de communication, en ce que chaque valeur d'en-tête pouvant transiter sur le bus de communication correspond à une adresse de cette mémoire de validation (3), et en ce qu'à chaque adresse de cette mémoire de validation correspondant à
un en-tête est stockée une donnée de validation ou de non validation de l'en-tête.
9. Architecture selon la revendication 8 caractérisée en ce que le port de sortie de la mémoire de validation (3) est connecté à un port du processeur (2) dédié au traitement des interruptions.
10. Architecture selon l'une quelconque des revendication 1 à 9 caractérisée en ce qu'elle est de type multi-maîtres/multi-esclaves, et en ce que l'échange de données sur le bus de communication est cadencé par l'unité de traitement maître qui a émis le message.
CA002432384A 2000-12-22 2001-12-21 Architecture electronique parallele comportant une pluralite d'unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites Abandoned CA2432384A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR00/16858 2000-12-22
FR0016858A FR2818774B1 (fr) 2000-12-22 2000-12-22 Architecture electronique parallele comportant une pluralite d'unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites
PCT/FR2001/004176 WO2002052414A1 (fr) 2000-12-22 2001-12-21 Architecture electronique parallele comportant une pluralite d'unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites

Publications (1)

Publication Number Publication Date
CA2432384A1 true CA2432384A1 (fr) 2002-07-04

Family

ID=8858068

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002432384A Abandoned CA2432384A1 (fr) 2000-12-22 2001-12-21 Architecture electronique parallele comportant une pluralite d'unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites

Country Status (10)

Country Link
US (1) US6859847B2 (fr)
EP (1) EP1344131A1 (fr)
JP (1) JP2004521412A (fr)
KR (1) KR20030072573A (fr)
CN (1) CN1230745C (fr)
CA (1) CA2432384A1 (fr)
FR (1) FR2818774B1 (fr)
HK (1) HK1063228A1 (fr)
IL (1) IL156482A0 (fr)
WO (1) WO2002052414A1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075582A1 (fr) 2003-02-21 2004-09-02 Nortel Networks Limited Dispositif et procede de communication permettant d'etablir une connexion par contournement codec
WO2005089055A2 (fr) * 2004-03-19 2005-09-29 Nortel Networks Limited Procede pour communiquer des capacites de traitement sur une voie de communication
GB0622408D0 (en) * 2006-11-10 2006-12-20 Ibm Device and method for detection and processing of stalled data request
US8346239B2 (en) 2006-12-28 2013-01-01 Genband Us Llc Methods, systems, and computer program products for silence insertion descriptor (SID) conversion
US8908541B2 (en) 2009-08-04 2014-12-09 Genband Us Llc Methods, systems, and computer readable media for intelligent optimization of digital signal processor (DSP) resource utilization in a media gateway
US9292409B2 (en) * 2013-06-03 2016-03-22 Infineon Technologies Ag Sensor interfaces
CN104360904A (zh) * 2014-10-16 2015-02-18 四川长虹电器股份有限公司 基于事件总线的模块间消息传递机制

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8510973D0 (en) * 1985-04-30 1985-06-05 Emi Ltd Data transmission system
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5898845A (en) * 1996-10-29 1999-04-27 Intervoice Limited Partnership Assigning and utilizing overlapping address space for multiple cards on a common computer bus
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6185631B1 (en) * 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6690676B1 (en) * 1998-11-23 2004-02-10 Advanced Micro Devices, Inc. Non-addressed packet structure connecting dedicated end points on a multi-pipe computer interconnect bus
US6529504B1 (en) * 1999-06-02 2003-03-04 Sprint Communications Company, L.P. Telecommunications service control point interface
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model

Also Published As

Publication number Publication date
HK1063228A1 (en) 2004-12-17
CN1486460A (zh) 2004-03-31
EP1344131A1 (fr) 2003-09-17
KR20030072573A (ko) 2003-09-15
CN1230745C (zh) 2005-12-07
US6859847B2 (en) 2005-02-22
JP2004521412A (ja) 2004-07-15
WO2002052414A1 (fr) 2002-07-04
US20040059888A1 (en) 2004-03-25
FR2818774A1 (fr) 2002-06-28
IL156482A0 (en) 2004-01-04
FR2818774B1 (fr) 2003-03-21

Similar Documents

Publication Publication Date Title
EP0077863A1 (fr) Dispositif de balayage de lignes de communications destiné à un contrôleur de communications
CA2432384A1 (fr) Architecture electronique parallele comportant une pluralite d&#39;unites de traitement connectees a un bus de communication, et adressables par leurs fonctionnalites
CN112347329A (zh) 数据处理方法、装置、存储介质及设备
FR2765706A1 (fr) Lecteur de cartes a puces a protocole de transmission rapide
EP0089440A1 (fr) Procédé et dispositif d&#39;échange d&#39;information entre des terminaux et une unité de commande centrale
EP1365323B1 (fr) Procédé d&#39;échange d&#39;informations entre systèmes d&#39;exploitation cohabitant sur un même ordinateur
WO2011160967A1 (fr) Procede de gestion de la communication entre un dispositif electronique et un appareil de communication.
EP0938048B1 (fr) Procédé de transfert de données en série, et interface de bus série synchrone mettant en oeuvre un tel procédé
EP1356656A2 (fr) Protocole de transmission d&#39;une pluralite de flux logiques d&#39;echange multiple de couples de commande/reponse sur un canal physique unique
EP0606791B1 (fr) Dispositif et procédé d&#39;utilisation de fonctions de pseudo point de communication déportées (pseudo sockets)
FR2887052A1 (fr) Architecture radar generique
CA2226715C (fr) Registre semaphore rapide a fonctionnement securise sans protocole de bus specifique
EP1141903A1 (fr) Dispositif et procede d&#39;initialisation d&#39;un programme applicatif d&#39;une carte a circuit integre
FR2826747A1 (fr) Procede et dispositif de traitement de donnees pour la personnalisation d&#39;une application sur un dispositif communicant portatif, par exemple une carte a puce
FR2836568A1 (fr) Procede iteratif de serialisation d&#39;objets logiciels structures
EP0106714B1 (fr) Structure de point d&#39;accès à un réseau de diffusion de connées par paquets
EP0191999B1 (fr) Procédé d&#39;adressage entre une station émettrice d&#39;un message et au moins une station réceptrice dans un réseau de communication et dispositif permettant la mise en oeuvre du procédé
CA2808581C (fr) Entite generique de communication a haute vitesse entre composants ccm
WO2004056071A1 (fr) Procede de communication entre serveurs avec conversion de format des donnees et dispositif pour sa mise en oeuvre
FR2786580A1 (fr) Circuit generateur de signature
EP0459877A1 (fr) Dispositif informatique de transfert de données en mode rafale
EP1256882A1 (fr) Procédé d&#39;affichage d&#39;éléments textuels à l&#39;identique sur des postes clients
FR2691001A1 (fr) Processeur de traitement d&#39;information de vol.
FR2674969A1 (fr) Procede de couplage en anneau pour operateur informatique.
FR2662522A1 (fr) Dispositif informatique de transfert de donnees en mode rafale.

Legal Events

Date Code Title Description
FZDE Discontinued