FR2620247A1 - System for processing data by executing possibly different instructions simultaneously on several processors - Google Patents

System for processing data by executing possibly different instructions simultaneously on several processors Download PDF

Info

Publication number
FR2620247A1
FR2620247A1 FR8712445A FR8712445A FR2620247A1 FR 2620247 A1 FR2620247 A1 FR 2620247A1 FR 8712445 A FR8712445 A FR 8712445A FR 8712445 A FR8712445 A FR 8712445A FR 2620247 A1 FR2620247 A1 FR 2620247A1
Authority
FR
France
Prior art keywords
processor
processors
elementary
memory
instruction
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.)
Pending
Application number
FR8712445A
Other languages
French (fr)
Inventor
Eric Lenormand
Luc Dartois
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.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR8712445A priority Critical patent/FR2620247A1/en
Publication of FR2620247A1 publication Critical patent/FR2620247A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

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)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

The system comprises N + 1 monolithic microprocessors for signal processing distributed into N elementary calculating processors 11 to 1N each having available a data memory 31 to 3N and a control processor 4 coupled to at least one program memory 5 for simultaneously distributing each instruction contained in the program memory 5 to each elementary processor 11 to 1N, the elementary calcuating processors 11 to 1N simultaneously executing the instruction received from the control processor 4 on the data contained in their own memory 31 to 3N, characterised in that each of the N elementary calculating processors 31 to 3N also has available a program memory 161 to 16N which is specific to itself and has available a multiplexing circuit 171... 17N controlled by the control processor 4 in order to allow each calculating processor 31 to 3N to execute an instruction contained either in its own program memory 161 to 16N or in the program memory 6 of the control processor 4. Application: SIMD systems for signal processing.

Description

Système de traitement de données pour l'exécution d'instructions,
éventuellement différentes, en simultanéité sur plusieurs processeurs.
Data processing system for executing instructions,
possibly different, simultaneously on several processors.

La présente invention concerne un système de traitement de données pour l'exécution d'instructions, éventuellement différentes, en simultanéité sur plusieurs processeurs. The present invention relates to a data processing system for executing instructions, possibly different, simultaneously on several processors.

Elle s'applique notamment à la réalisation de systèmes multiprocesseurs adaptés spécifiquement aux techniques de traitement du signal. It applies in particular to the realization of multiprocessor systems specifically adapted to signal processing techniques.

Suivant ces techniques, les informations utiles aux traite.nents sont généralement extraites d'une quantité plus grande d'informatiors,jusqu'a' ce que le débit des informations extraites soit suffisamment réduit pour permettre des traitements plus sélectifs dépendant entièrement des données à traiter. Pour permettre exécution de ces traitements en des temps raisonnables, compatibles avec un fonctionnement en temps réel des sys te mes, plusieurs architectures de systèmes connues mettent en oeuvre plusieurs processeurs élémentaires sur lesquels sont réparties les diverses informations à traiter.Parmi ces architectures, celles connues sous la désignation SIMD qui est l'abréviation du terme anglosaxon "5inule Instruction Multiple Data", permettent de faire exécuter un programme unique en silmutanéité sur chaque processeur sur des données propres à chacun d'eux de sorte que chaque processeur exécute toujours au même instant la même instruction que l'ensemble des autres processeurs du système. Ces processeurs peuvent être considérés comme des blocs opératoires qui sont en général dédiés à une application de traitement de signal spécifique mais qui à la différence de ceux utilisés dans les structures informatiques traditionnelles ne possèdent pas de fonctionnement de séquencement leur permettant de commander l'exécution d'un programme.Certains aménagements permettent cependant de prendre en compte des traitements parallèles contenant un nombre faible d'instructions conditionnelles, le plus simple étant de proposer, à tous les processeurs, de façon séquentielle toutes es branches possibles du programme qui est à exécuter, chaque processeur choisissant, en fonction d'un test interne, d'exécuter ou non une branche particulière. In accordance with these techniques, information useful for processing is generally extracted from a larger amount of information until the rate of extracted information is sufficiently reduced to allow more selective processing depending entirely on the data to be processed. . To allow execution of these processes in reasonable times, compatible with real-time operation of the systems, several known system architectures implement several elementary processors on which are distributed the various information to be processed. Among these architectures, those known under the designation SIMD which is the abbreviation of the English term "5inule Instruction Multiple Data", allow to run a single silmutane program on each processor on data specific to each of them so that each processor always executes at the same time the same instruction as all other processors in the system. These processors can be considered as operating theaters which are generally dedicated to a specific signal processing application but which, unlike those used in traditional computer structures, do not have sequencing operations enabling them to control the execution of a particular signal. However, some arrangements allow to take into account parallel processes containing a small number of conditional instructions, the simplest being to propose, to all the processors, sequentially all possible branches of the program that is to be executed, each processor choosing, based on an internal test, to execute or not a particular branch.

Cependant ces méthodes ne conviennent plus ou donnent lieu à des temps de traitement trop long lorsque le nombre des tests qui sont demandés à chaque processeur devient trop important. Dans ce cas on préfère généralement confier les traitements correspondants à d'autres machines connues sous l'abréviation MIMD du terme anglosaxon "multiple instruction multiple data", ces machines étant capables d'exécuter des instructions différentes au cours d'un même cycle machine, mais alors les traitements ne sont plus exécutés-en simultanéité et la programmation devient extrêmement compliquée.However, these methods are no longer suitable or give rise to too long processing times when the number of tests that are requested from each processor becomes too large. In this case, it is generally preferred to entrust the corresponding processes to other machines known by the abbreviation MIMD of the English term "multiple instruction multiple data", these machines being capable of executing different instructions during the same machine cycle, but then the processes are no longer executed-simultaneously and the programming becomes extremely complicated.

Le but de l'invention est de pallier les inconvénients précités. The object of the invention is to overcome the aforementioned drawbacks.

A cet effet, l'invention a pour objet, un système de traitement de données pour exécution d'instructions, éventuellement différentes, en simultanéité sur plusieurs processeurs, du type comprenant N + I microprocesseurs monolithiques de traitement du signal répartis en N processeurs élémentaires de calcul disposant chacun d'une mémoire de données et un processeur pilote couplé à au moins une mémoire de programme pour distribuer simultanément chaque instruction contenue dans la mémoire de programme à chaque processeur élémentaire, les processeurs élémentaires de calcul exécutant en simultanéité l'instruction reçue du processeur pilote sur les données contenues dans leur prop-e mémoire, caractérisé en ce que les N processeurs élémentaires de calcul disposent en plus, chacun, d'une mémoire de programme qui lui est proFre et d'un circuit de multiplexage commandé par le processeur pilote pour permettre à chaque processeur de calcul d'exécuter une instruction contenue, soit dans sa propre mémoire de programme, soit dans la mémoire de programme du processeur pilote. For this purpose, the subject of the invention is a data processing system for executing instructions, possibly different, simultaneously on several processors, of the type comprising N + I monolithic signal processing microprocessors distributed in N elementary processors. calculation each having a data memory and a pilot processor coupled to at least one program memory for simultaneously distributing each instruction contained in the program memory to each elementary processor, the elementary computing processors simultaneously executing the instruction received from the program memory. pilot processor on the data contained in their own memory, characterized in that the N elementary computing processors each additionally have a program memory that is proFre and a multiplexing circuit controlled by the processor driver to allow each computing processor to execute an instructi it is contained either in its own program memory or in the program memory of the pilot processor.

L'invention a principalement pour avantage de permettre des configurations rapides du système soit dans une structure SIMD, soit dans une structure MIMD en offrant toujours au programmeur la visibilité de la structure SIMD pour les traitements non dépendants des données, en lui laissant cependant la possibilité de mettre en oeuvre des traitements sélectifs où les processeurs élémentaires peuvent choisir, en fonction des résultats de test effectués sur leurs propres calculs, la séquence de traitement à exécuter. The main advantage of the invention is that it allows rapid system configurations either in a SIMD structure or in a MIMD structure, while still offering the programmer the visibility of the SIMD structure for non-data dependent processing, while still allowing him the possibility to implement selective processes where the elementary processors can choose, according to the test results performed on their own calculations, the processing sequence to be executed.

L'invention permet également d'éviter des développements de matériels et de logiciels spécifiques en utilisant un seul type de microprocesseur de traitement de signal en tant que processeur élémentaire, d'une part, et en tant que séquenceur, d'autre part.  The invention also makes it possible to avoid specific hardware and software developments by using a single type of signal processing microprocessor as an elementary processor, on the one hand, and as a sequencer, on the other hand.

La perte de puissance de calcul, par rapport aux solutions spécifiques, qui peut résulter de l'usage de microprocesseurs de traitement de signai, peut être compensée par la possibilité d'intégration importante qui est offerte par l'usage de ces mêmes microprocesseurs. The loss of computing power, compared to specific solutions, which may result from the use of signal processing microprocessors, can be offset by the significant integration possibility that is offered by the use of these same microprocessors.

D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description faite en regard des dessins annexés qui représentent:
La figure I un schéma général d'un système de traitement de données selon l'invention utilisant comme processeur élémentaire un micro processeur de signal architecturé suivant le modèle Harvard;
La figure 2 les contenus des mémoires de programme et d'extension de programme du système représenté à la figure 1
La figure 3 un mode de réalisation d'un système de traitement de données suivant l'invention utilisant comme processeur élémentaire des microprocesseurs architecturés suivant le mode de Von Neumann;;
La figure 4 un exemple de déroulement d'une séquence de programme qui provoque le passage en mode MIMD du système selon l'inventison;
La figure 5 un mode de déroulement de la séquence de programme qui provoque le passage d'un mode MIMD en mode SIMD.
Other features and advantages of the invention will become apparent hereinafter with the aid of the description made with reference to the appended drawings which represent:
FIG. 1 is a general diagram of a data processing system according to the invention using as elementary processor a signal processor architectured according to the Harvard model;
FIG. 2 the contents of the program memory and program extension memories of the system represented in FIG. 1
FIG. 3, an embodiment of a data processing system according to the invention using, as elementary processor, microprocessors architected according to the Von Neumann mode;
FIG. 4 is an example of a sequence of a program sequence that causes MIMD to switch to the system according to the inventison;
FIG. 5 is a program sequence unfolding mode which causes the passage of a MIMD mode in SIMD mode.

Le système de traitement de données représenté à la figure 1 comprend un ensemble de N processeurs élémentaires référencés respectivement de 11 à 1N qui sont couplés à un réseau d'interconnexions 2 au travers respectivement de N mémoires de données référencées respectivement de 31 à 3s~. Il -comprend également un processeur pilote 4 qui est couplé à une mérroire de programme 5 et à deux mémoires d'extension de programme notées respectivement 6 et 7 au moyen d'un bus d'adresse AP. The data processing system represented in FIG. 1 comprises a set of N elementary processors referenced respectively from 11 to 1N which are coupled to an interconnection network 2 through respectively N data memories referenced respectively from 31 to 3s ~. It also includes a pilot processor 4 which is coupled to a program merger 5 and two program expander memories denoted 6 and 7 respectively by means of an address bus AP.

L'ensemble des processeurs Iî à 1N, d'une part, et 4 d'autre part, ont une structure de type Harvard, correspondant par exemple à celle du microprocesseur de signal ADSP 2100 commercialisé par la société Analog Devices. The set of processors I 1 to 1N, on the one hand, and 4 on the other hand, have a structure of Harvard type, for example corresponding to that of the ADSP 2100 signal microprocessor sold by the company Analog Devices.

Les processeurs elémentaires de calcul 11 à IN fonctionnent tous sous le cadencement d'une horloge de phase H non représentée, commune également au processeur élémentaire pilote 4, mais qui est appliquée aux processeurs élémentaires li à 1N au travers d'un dispositif à retard 8. De cette façon les cycles d'instructions sont simultanés, c'est-à-dire que les instants où com mence et se termine l'exécution d'une micro-instruction sont les mêmes pour tous les processeurs élémentaires de calcul. Ceci est également obtenu en reliant entre elles les entrées de remise à zéro RAZ des processeurs élémentaires et celle du processeur pilote.Le signal de remise à zéro est issu d'un séquenceur 9 commandé par la mémoire d'extension de programme 7 et appliqué directement sur l'entrée RAZ du processeur pilote 4 et de façon différée sur les autres processeurs élémentaires 11 à IN au travers du dispositif à retard 8.The elementary calculation processors 11 to IN all operate under the timing of a not shown H phase clock, which is also common to the pilot elementary processor 4, but which is applied to the elementary processors li to 1N through a delay device 8 In this way, the instruction cycles are simultaneous, that is to say that the instants in which the execution of a microinstruction begins and ends are the same for all the elementary calculation processors. This is also obtained by interconnecting the zero reset inputs of the elementary processors and that of the pilot processor. The reset signal comes from a sequencer 9 controlled by the program extension memory 7 and applied directly. on the reset input of the pilot processor 4 and deferred on the other elementary processors 11 to IN through the delay device 8.

Chaque processeur élémentaire lî à 1N dispose de quatre bus notés
AP, DP, AD et DD accessibles de l'extérieur. Le bus AP fournit l'adresse de chaque micro-instruction et le bus DP achemine son contenu. Le bus AD est un bus d'adresse qui relie le processeur à sa mémoire de données correspondante. Le bus DD achemine les données échangées entre le processeur élémentaire et sa mémoire de données correspondante.
Each elementary processor 1 to 1N has four buses rated
AP, DP, AD and DD accessible from the outside. The AP bus provides the address of each micro-instruction and the DP bus conveys its contents. The AD bus is an address bus that connects the processor to its corresponding data memory. The bus DD routes the data exchanged between the elementary processor and its corresponding data memory.

Comme dans le cadre de l'invention le processeur pilote 4 n'a vocation que d'exécuter des programmes qui ne dépendent pas de résultats de calculs, il ne dispose seulement que d'une mémoire de programme 5 et de deux mémoires d'extension de programme 6 et 7 adressées toutes les trois par le bus d'adresses AP. La sortie de la mémoire de programme 5 est acheminée d'une part, sur le bus DP du processeur pilote 4 et d'autre part, au travers d'un dispositif à retard 10, vers les bus DP de tous les autres processeurs élémentaires. As in the context of the invention, the pilot processor 4 is only intended to execute programs that do not depend on calculation results, it only has one program memory 5 and two expansion memories. 6 and 7 addressed by the AP address bus. The output of the program memory 5 is carried on the one hand, on the DP bus of the pilot processor 4 and on the other hand, through a delay device 10, to the DP buses of all the other elementary processors.

Les processeurs élémentaires de calcul, 11...1N sont dotés chacun d'une mémoire de données 31 à 3N. Ces dernières sont couplées respectivement aux processeurs li... 1N au moyen d'un bus d'adresses AD et d'un bus de données DD. Les mémoires 31 à 3N sont également accessibles par le réseau d'interconnexions 2 dont la structure peut être réalisée de façon connue en soi, éventuellement suivant celle d'un bus en anneau, par exemple, ou encore celle d'un système "cross-bar". Le réseau d'interconnexions 2 est commandé par le séquenceur de transfert 9 sous le contrôle d'un programme mémorisé dans la mémoire d'extension de programme 7. The elementary calculation processors, 11 ... 1N each have a data memory 31 to 3N. The latter are coupled respectively to the processors li ... 1N by means of an address bus AD and a data bus DD. The memories 31 to 3N are also accessible via the network of interconnections 2, the structure of which can be realized in a manner known per se, possibly following that of a ring bus, for example, or that of a "cross-connection" system. bar". The network of interconnections 2 is controlled by the transfer sequencer 9 under the control of a program stored in the program extension memory 7.

Les contenus des trois mémoires de programme 5 et d'extension de programme 6 et 7 sont adressés par la même adresse qui est appliquée sur le bus AP par le processeur pilote 4 de la façon qu#i est représentée schématiquement à la figure 2. Chaque micro-instruction de la mémoire de program me 5 qui est adressée sur le bus AP par le processeur pilote 4 contient deux parties 11 et 12. La partie 11 représente le code opératoire et la partie 12 l'adresse des données contenues dans les mémoires de données 31 à 3N et qui sont nécessaires à l'exécution de la micro-instruction. La mémoire d'extension de programme 6 comprend la suite des instructions qui sont nécessaires à la commande des processeurs élémentaires de calcul 11 à 1N et de leurs mémoires de données 31 à 3N.Pour cela chaque instruction se compose d'au moins deux parties ou zones 13 et 14 comportant l'une, un code déterminant l'activité des processeurs élémentaires et l'autre, un numéro de page dans laquelle se trouvent les données, l'adresse d'une donnée dans chaque page étant contenue dans la mémoire de programme 5.La zone 13 est elle-même partagée en deux zones 13a et 13b contenant 1 bit chacune indiquant, l'une 13a le mode de fonctionnement SIMD ou MIMD du système et l'autre 13b contenant un bit RAZ de réinitialisation des processeurs élémentaires 11 à 1N Pour permettre un fonctionnement correct du système, les instructions contenues dans les mémoires 5 et 6 sont transmises aux processeurs élémentaires 11 à 1N au travers du dispositif à retard 10, qui introduit un retard de durée identique à celui du dispositif à retard 8. Enfin, la mémoire d'extension de programme 7 contient une suite d'instructions formée par des champs de bits 15 de tailles variables qui permettent d'assurer la commande du séquenceur 9, pour assurer le transfert des données de l'extérieur vers les mémoires de données 31 à 3N au travers du réseau d'interconnexions 2. The contents of the three program memories 5 and the program extension 6 and 7 are addressed by the same address which is applied on the bus AP by the pilot processor 4 in the manner shown schematically in FIG. micro-instruction of the program memory 5 which is addressed on the AP bus by the pilot processor 4 contains two parts 11 and 12. The part 11 represents the operating code and the part 12 the address of the data contained in the memories of data 31 to 3N and which are necessary for the execution of the micro-instruction. The program extension memory 6 comprises the sequence of instructions which are necessary for the control of the elementary computing processors 11 to 1N and of their data memories 31 to 3N. For this, each instruction consists of at least two parts or zones 13 and 14 having one, a code determining the activity of the elementary processors and the other, a page number in which are the data, the address of a data item in each page being contained in the memory of program 5.The zone 13 is itself divided into two zones 13a and 13b containing 1 bit each indicating, one 13a the SIMD or MIMD operating mode of the system and the other 13b containing a reset bit reset of the elementary processors 11 to 1N To allow correct operation of the system, the instructions contained in the memories 5 and 6 are transmitted to the elementary processors 11 to 1N through the delay device 10, which introduces a delay of duration identical to that of the delay device 8. Finally, the program extension memory 7 contains a sequence of instructions formed by bit fields 15 of variable sizes which make it possible to control the sequencer 9, for transferring the data from the outside to the data memories 31 to 3N through the interconnection network 2.

Chaque processeur élémentaire il à 1N est muni, en plus des mémoires de données 31 à 3N' de mémoire de programme 161 à 16N qui contiennent les suites d'instructions nécessaires à l'exécution du mode
MIMD. Les sorties de ces mémoires sont reliées respectivement au bus DP du processeur élémentaire de calcul correspondant aux travers de multiplexeurs référencés respectivement 171 à 17N, ces multiplexeurs étant commandés par le signal de commande SIMD/MIMD émis par le mémoire de programme 6 au travers du dispositif à retard 10. La connexion est effective lorsque le signal SIMD/MIMD est à zéro.Dans le cas contraire lorsque le signal SIMD/MIMD est égal à 1, le bus DP de chaque processeur élémentaire de calcul est connecté à la micro-instruction commune issue de la mémoire de programme 5 du processeur pilote et retardée par le dispositif à retard 10. Tous les retards mentionnés précédemment sont identiques et leur durée est un multiple entier de la période de l'horloge commune H.
Each elementary processor 11 to 1N is provided, in addition to the program memory memories 31 to 3N '161 to 16N which contain the sequences of instructions necessary to execute the mode.
MIMD. The outputs of these memories are respectively connected to the DP bus of the corresponding elementary computing processor through multiplexers respectively referenced 171 to 17N, these multiplexers being controlled by the SIMD / MIMD control signal transmitted by the program memory 6 through the device. 10. The connection is effective when the SIMD / MIMD signal is zero. Otherwise, when the SIMD / MIMD signal is equal to 1, the DP bus of each elementary calculation processor is connected to the common micro-instruction. from the program memory 5 of the pilot processor and delayed by the delay device 10. All the delays mentioned above are identical and their duration is an integer multiple of the period of the common clock H.

Un circuit OU 18 à deux entrées élabore un signal de remise à zéro de tous les processeurs élémentaires de calcul 11 I à 1N à partir d'un signal de remise à zéro RAZ fourni par le séquenceur 9 ou d'un signal RAZ' contenu dans une instruction de programme de la mémoire d'extension de programme 6. A two-input OR circuit 18 generates a reset signal of all the elementary calculation processors 11 I to 1N from a reset signal RAZ supplied by the sequencer 9 or a signal RAZ 'contained in a program instruction of the program extension memory 6.

L'adaptation du schéma de la figure 1 pour obtenir un système de traitement de données SIMD comportant des microprocesseurs de traitement de signal à structure de Von Neuman est représentée à la figure 3, où les éléments homologues à ceux de la figure 1 sont représentés avec les mêmes références. Dans les microprocesseurs de type Von Neuman, du type par exemple de celui qui est commercialisé sous la référence 56000 par la société Motorola, le bus de programme DP est amené à véhiculer des données utilisées également pour le calcul, c'est pourquoi, ces microprocesseurs ne comportent généralement qu'un se#l bus d'adresses et un bus de données D accessibles de l'extérieur et qui servent à la fois, pour les insstructions et les données de calcul.Dans ces conditions, pour revenir à un fonctionnement équivalent à celui décrit à la figure 1, le bus de données D des processeurs élémentaires de calcul 31 à 3N est connecté soit, au bus DP transportant la micro-instruction commune fournie par le processeur pilote 4 soit, aux mémoires de données 31 à 3N au travers de dispositifs de commutation référencés respectivernent de 191 à 19N Ces commutations sont commandées au moyen d'un signal P/D# fourni par le processeur pilote 4 au travers du dispositif à retard 8. Le signal P/Dx étant égal au "ET logique" retardé obtenu par un circuit ET 20 entre le signal SIMD/MIMD et le signal P/D. Ce signal indique que le bus D du processeur pilote 4 véhicule des bits d'instruction ou des bits de données. The adaptation of the diagram of FIG. 1 to obtain a SIMD data processing system comprising Von Neuman structure signal processing microprocessors is represented in FIG. 3, where the elements homologous to those of FIG. 1 are represented with FIG. the same references. In Von Neuman type microprocessors, for example of the type marketed under the reference 56000 by the company Motorola, the program bus DP is brought to convey data also used for the calculation, that is why these microprocessors usually only include an externally accessible address bus and data bus D, which serve both for the instructions and the calculation data. In these conditions, to return to an equivalent operation to that described in FIG. 1, the data bus D of the elementary calculation processors 31 to 3N is connected either to the bus DP carrying the common micro instruction supplied by the pilot processor 4 or to the data memories 31 to 3N at the These switching operations are controlled by means of a P / D # signal supplied by the pilot processor 4 through the reta device. rd 8. The P / Dx signal being equal to the delayed "logic AND" obtained by an AND circuit 20 between the SIMD / MIMD signal and the P / D signal. This signal indicates that the bus D of the driver processor 4 carries instruction bits or data bits.

Le fonctionnement en mode MIMD est obtenu, en adjoignant aux zones de données contenues dans les mémoires de données 31 à 3N' des zones de programmes et en commandant les dispositifs de commutations 19 à 19N De même la remise à zéro (RAZ) des processeurs élémentaires doit être réalisée par un "OU logique" retardé obtenu à partir d'un circuit "OU" 21 qui prend en compte le signal de remise à zéro RAZ du processeur pilote 4 avec un bit RAZ' d'extension de mémoire fourni par la mémoire d'extension de programme 6.  The operation in MIMD mode is obtained, by adding to the data zones contained in the data memories 31 to 3N 'program areas and by controlling the switching devices 19 to 19N. Similarly, the reset (reset) of the elementary processors must be performed by a delayed "logical OR" obtained from an "OR" circuit 21 which takes into account the reset signal RAZ of the pilot processor 4 with a reset bit RAZ 'provided by the memory program extension 6.

Le fonctionnement est expliqué ci-après à l'aide des tableaux des figures 4et 5. Dans ces tableaux le terme mnémonique GO TO X coit être pris au sens habituel qu'il a en informatique, pour désigner une instruction de branchement inconditionnel à une instruction X pour le microprocesseur de traitement de signal considéré, de même le terme mnémorique NOP correspond à une instruction quelconque du microprocesseur du traitement de signal à condition d'être une instruction différente de celle qui provoque un saut de programme. The operation is explained below with the aid of the tables of FIGS. 4 and 5. In these tables the mnemonic term GO TO X is taken in the usual sense that it has in computer science, to designate an instruction of unconditional connection to an instruction X for the considered signal processing microprocessor, likewise the mnemonic term NOP corresponds to any instruction of the microprocessor of the signal processing provided that it is an instruction different from that which causes a program jump.

A l'origine, figure 4, tous les processeurs élémentaires 3t à 3N exécutent la même instruction "Instr.S" avec un retard T près égal au cycle d'instruction d'un microprocesseur de traitement de signal. La première instruction qui est exécutée en mode MIMD par les processeurs élémentaires doit naturellement se trouver dans leur mémoire de programme e à une adresse commune notée M.Le processeur élémentaire pilote 4 initialise le changement de mode en forçant en mode SIMD un saut inconditionnel (Go
TO M) à l'adresse M et en délivrant les processeurs élémentaires de calcul à à3N du mode SIMD à l'instruction suivante (ou N instructions plus tard si le branchement nécessite N cycles instructions du microprocesseur de traitement du signal) en mettant à zéro le bit SIMD/MIMD dans la zone 13a d'activité de l'instruction (figure 2).
At the beginning, FIG. 4, all the elementary processors 3t to 3N execute the same "Instr.S" instruction with a delay T equal to the instruction cycle of a signal processing microprocessor. The first instruction that is executed in MIMD mode by the elementary processors must naturally be in their program memory e at a common address denoted M.The elementary processor 4 initializes the mode change by forcing in SIMD mode an unconditional jump (GB
TO M) at address M and delivering the elementary computing processors at 3N of the SIMD mode to the next instruction (or N instructions later if the branch requires N instruction cycles of the signal processing microprocessor) by setting to zero the SIMD / MIMD bit in the activity area 13a of the instruction (FIG. 2).

Pour le retour du mode MIMD en mode SIMD (figure 5) (à une instruction située à l'adresse S' de la mémoire de programme du processeur élémentaire pilote) le processeur élémentaire pilote 4 initialise le changement en forçant à 1 le signal RAZ', dans la zone 13b, produisant ainsi une réinitialisation de tous les processeurs élémentaires de calcul 3t à 3N. Ce signal RAZ' dure un nombre de cycle minimal dépendant du type de microprocesseur de traitement de signal choisi. Une fois que l'action du signal RAZ' est terminée, le processeur pilote 4 force, en mode SIMD, un branchement inconditionnel (GO TO S') à l'adresse S', ce qui a pour effet de replacer tous les processeurs élémentaires de calcul 31 à 3N dans le même état pour l'exécution de la même instruction (S').  For the return of the MIMD mode in SIMD mode (FIG. 5) (to an instruction located at the address S 'of the program memory of the pilot elementary processor) the pilot elementary processor 4 initializes the change by forcing the signal RAZ' to 1 in zone 13b, thus producing a reset of all elementary computing processors 3t to 3N. This reset signal lasts a minimum number of cycles depending on the type of signal processing microprocessor chosen. Once the action of signal RAZ 'is completed, the pilot processor 4 forces, in SIMD mode, an unconditional connection (GO TO S') to the address S ', which has the effect of replacing all the elementary processors calculation 31 to 3N in the same state for the execution of the same instruction (S ').

Claims (6)

REVENDICATIONS 1. Système de traitement de données pour l'exécution d'instruction en simultanéité sur plusieurs processeurs du type comprenant N+1 micropro cesseurs monolitiques de traitement du signal répartis en N processeurs élémentaires de calcul (11 à 1N > disposant chacun d'une mémoire de données à à N 3N > et un processeur pilote (4) couolé à au moins une mémoire de programme (5) pour distribuer simultanément chaque instruction contenue dans la mémoire de programme (5) à chaque processeur élémentaire (11 à 1N), les processeurs élémentaires de calcul (11 à 1N > exécutant en simultanéité l'instruction reçue du processeur pilote (4) sur les données contenues dans leur propre mémoire (31 à 3N > ' caractérisé en ce que les N processeurs élémentaires de calcul (31 à 3N) dispose en plus chacun d'une mémoire de programme (161 à 16N) qui lui est propre et d'un circuit de multiplexage (171...17N) commandé par le processeur pilote (4) pour permettre à chaque processeur de calcul (31 à 3N) d'exécuter une instruction contenue, soit dans sa propre mémoire de programme (16 a' 16N), soit dans la mémoire de programme (5) du processeur pilote (4). 1. Data processing system for simultaneous instruction execution on several processors of the type comprising N + 1 monolithic signal processing microprocessors distributed in N elementary calculation processors (11 to 1N> each having a memory to N 3N> and a pilot processor (4) coupled to at least one program memory (5) for simultaneously distributing each instruction contained in the program memory (5) to each elementary processor (11 to 1N), the elementary calculation processors (11 to 1N> executing simultaneously the instruction received from the pilot processor (4) on the data contained in their own memory (31 to 3N> ') characterized in that the N elementary computing processors (31 to 3N ) each further has a program memory (161 to 16N) of its own and a multiplexing circuit (171 ... 17N) controlled by the pilot processor (4) to allow each pro calculation stop (31 to 3N) executing a contained instruction, either in its own program memory (16 to 16N) or in the program memory (5) of the pilot processor (4). 2. Système selon la revendication 1, caractérisé en ce que les processeurs de calcul (11 à 1N > sont couplés à un réseau d'interconnexions (2) au travers de leur mémoire de données (31 à 3N)~  2. System according to claim 1, characterized in that the computing processors (11 to 1N> are coupled to an interconnection network (2) through their data memory (31 to 3N) ~ 3. Système selon la revendication 2, caractérisé en ce que le réseau d'interconnexions (2) est commandé à partir d'instructions contenues dans une mémoire d'extension de programme (7', par le processeur pilote (4). 3. System according to claim 2, characterized in that the interconnection network (2) is controlled from instructions contained in a program extension memory (7 ') by the pilot processor (4). 4. Système selon l'une quelconque des revendications 1 à 3, caracté risé en ce que les processeurs pilotes (4) et le calcul (11 à 1N 1N > ont des structrures identiques.  4. System according to any one of claims 1 to 3, characterized in that the pilot processors (4) and the computation (11 to 1N 1N> have identical structures. 5. Système selon la revendication 4, caractérisé en ce que chaque processeur est un processeur de signal de rype Harvard. 5. System according to claim 4, characterized in that each processor is a Harvard rype signal processor. 6. Système selon la revendication 5, caractérisé en ce que chaque processeur est un processeur de type Von iKeumann.  6. System according to claim 5, characterized in that each processor is a Von iKeumann type processor.
FR8712445A 1987-09-08 1987-09-08 System for processing data by executing possibly different instructions simultaneously on several processors Pending FR2620247A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8712445A FR2620247A1 (en) 1987-09-08 1987-09-08 System for processing data by executing possibly different instructions simultaneously on several processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8712445A FR2620247A1 (en) 1987-09-08 1987-09-08 System for processing data by executing possibly different instructions simultaneously on several processors

Publications (1)

Publication Number Publication Date
FR2620247A1 true FR2620247A1 (en) 1989-03-10

Family

ID=9354707

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8712445A Pending FR2620247A1 (en) 1987-09-08 1987-09-08 System for processing data by executing possibly different instructions simultaneously on several processors

Country Status (1)

Country Link
FR (1) FR2620247A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0955787A3 (en) * 1998-04-08 2004-07-28 Nortel Networks Limited Adaptable resource module and operating method therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3560934A (en) * 1969-06-10 1971-02-02 Ibm Arrangement for effecting vector mode operation in multiprocessing systems
EP0173466A2 (en) * 1984-08-18 1986-03-05 International Computers Limited Microprogram control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3560934A (en) * 1969-06-10 1971-02-02 Ibm Arrangement for effecting vector mode operation in multiprocessing systems
EP0173466A2 (en) * 1984-08-18 1986-03-05 International Computers Limited Microprogram control

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
AFIPS CONFERENCE PROCEEDINGS, vol, 48, 1979 National Computer Conference, 4-7 juin 1979, New York, pages 255-265, AFIPS Press, Montvale, New Jersey, US; A.F.BRIGGS et al.: "PM4 - A reconfigurable multiprocessor system for pattern recognition and image processing" *
DIGEST OF PAPERS COMPCON 85, 25-28 février 1985, San Francisco, California, pages 429-434, IEEE Computer Society, New York, US; D.G.MEYER et al.: "The PASM parallel system prototype" *
ELECTRONIC ENGINEERING, vol. 57, no. 698, février 1985, pages 53-56,59,63, Londres, GB; R.PICKVANCE: "A single chip digital signal processor. Part I - architecture and addressing" *
ICASSP'79 - 1979 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING, Washington, D.C., 2-4 avril 1979, pages 698-701, IEEE, New York, US; T.P.BARNWELL et al.: "Efficient implementation of one and two dimensional digital signal processing algorithms on a multi-processor architecture" *
PATENT ABSTRACTS OF JAPAN, vol. 8, no. 105 (P-274)[1542], 17 mai 1984; JP-A-59 16 071 (TOKYO SHIBAURA DENKI K.K.) 27-01-1984 *
PROCEEDINGS OF THE 1982 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 24-27 août 1982, éditor K.E.Batcher et al., pages 353-363, IEEE Computer Society Press, New York, US; J.T.KUEHN et al.: "Design and simulation of an MC68000-based multimicroprocessor system" *
PROCEEDINGS: ICASSP 87 - 1987 INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 6-9 avril 1987, Dallas, Texas, vol. 14, IEEE, New York, US; D.E.BORTH et al.: "A cascadable adaptive fir filter VLSI IC" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0955787A3 (en) * 1998-04-08 2004-07-28 Nortel Networks Limited Adaptable resource module and operating method therefor

Similar Documents

Publication Publication Date Title
FR2686717A1 (en) MICROPROCESSOR HAVING A UNIT FOR EXECUTING PARALLEL INSTRUCTIONS.
EP0029131B1 (en) Control method for allocating resources in a simultaneously operating multiprocessor system
Hollabaugh Embedded Linux: hardware, software, and interfacing
EP0473714A1 (en) Parallel multithreaded data processing system
EP0315529A1 (en) Reconfigurable multiprocessor computer for signal processing
FR2588980A1 (en) DIGITAL SIGNAL PROCESSING PROCESSOR COMPRISING SEVERAL MULTIPLIERS
FR2489555A1 (en) PIPELINE CONTROLLED DATA PROCESSING SYSTEM
US8863100B2 (en) Application services source refactoring
JPH0235559A (en) Double buffering subsystem
CN100437472C (en) Pipelined asynchronous instruction processor circuit
EP0020202A1 (en) Multiprocessing system for signal treatment
FR2764406A1 (en) LOGICAL ANALYSIS SUBSYSTEM IN A TIME TRANCHED EMULATOR
EP0491693A1 (en) Improved cpu pipeline having register file bypass on update/access address compare.
FR2632746A1 (en) DATA PROCESSING DEVICE
JPH04233040A (en) Simulation system for executing computer program
EP2947563B1 (en) Conditional instruction processor
US6662298B2 (en) Method and apparatus for manipulation of non-general purpose registers for use during computer boot-up procedures
FR2620247A1 (en) System for processing data by executing possibly different instructions simultaneously on several processors
FR2522423A1 (en) DATA PROCESSING UNIT
EP0469507A1 (en) Integrated circuit comprising a standard cell, an application cell and a test cell
EP0520579A2 (en) Data processing apparatus particularly adapted for threaded languages, notably FORTH
FR2645665A1 (en) DEVICE FOR DECODING PIPELINE INSTRUCTIONS FOR MICROPROCESSOR
FR2617305A1 (en) Data processing system for executing instructions simultaneously on several processors
JP2636136B2 (en) Arithmetic processing device and arithmetic processing method
US20060155972A1 (en) Method in pipelined data processing