EP3782036A1 - Processeur mimd émulé sur architecture simd - Google Patents
Processeur mimd émulé sur architecture simdInfo
- Publication number
- EP3782036A1 EP3782036A1 EP19742845.1A EP19742845A EP3782036A1 EP 3782036 A1 EP3782036 A1 EP 3782036A1 EP 19742845 A EP19742845 A EP 19742845A EP 3782036 A1 EP3782036 A1 EP 3782036A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- elementary
- processor
- instruction
- elementary processor
- instructions
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Definitions
- the present invention generally relates to the field of Multiple Instruction Multiple Data (MIMD) processors, in particular for performing image processing in a vision system such as an intelligent retina.
- MIMD Multiple Instruction Multiple Data
- Intelligent retinas are integrated circuits combining a matrix of sensors and a processor consisting of a matrix of elementary processors, the elementary processors, also called PEs (Processing Elements) performing processing on the signals provided by these sensors.
- the elementary processors also called PEs (Processing Elements) performing processing on the signals provided by these sensors.
- PEs Processed Elements
- an elementary processor is in charge of processing the signals from one or more pixels.
- the processor can perform elementary image processing (spatial filtering for example) or even more complex operations, such as POIs or object detection.
- the processor architecture is of the SIMD (Single Instruction Multiple Data) type, ie the same instruction is performed in parallel by all the elementary processors which each process a different datum because connected to different pixels.
- Each elementary processor has its own arithmetic and logical unit (ALU), registers and, if applicable, a local memory and receives the same instruction as all other elementary processors.
- ALU arithmetic and logical unit
- SIMD architecture This type of architecture is suitable for massively parallel computations but is not optimal when different processes must be executed on different parts. of the image.
- the nature of the SIMD architecture requires that these separate processes be performed sequentially, which penalizes the execution time.
- SIMD processor architecture whose elementary processors operate in parallel on the respective columns of the sensor array.
- This architecture has been described in the article by T. Yamazaki et al. entitled “A 1 ms high-speed vision chip with 3D-stacked 1 column 140 Gops column-parallel PEs for spatial-temporal image processing” published in ISCCC 2017 Conf. Proc., Session 4, Imagers 4.9, pages 82-84.
- This architecture allows a certain flexibility in that it is possible to choose independently and simultaneously one of four processing on different vertical regions of the image.
- the object of the present invention is therefore to provide a processor architecture that is simple and allows to perform in a flexible manner separate parallel processing, in particular on different areas of any configuration of an image captured by a sensor array.
- the present invention is defined by a SIMD architecture processor comprising a matrix of elementary processors, each elementary processor being associated with a memory cell intended to store data to be processed by said elementary processor, the processor further comprising a central controller, the processors elementaries being connected to the central controller by a first bus, said instruction bus, allowing the central controller to transmit instructions in parallel to the elementary processors, and by a second bus, called status bus, allowing the central controller to receive the statuses.
- a SIMD architecture processor comprising a matrix of elementary processors, each elementary processor being associated with a memory cell intended to store data to be processed by said elementary processor, the processor further comprising a central controller, the processors elementaries being connected to the central controller by a first bus, said instruction bus, allowing the central controller to transmit instructions in parallel to the elementary processors, and by a second bus, called status bus, allowing the central controller to receive the statuses.
- different elementary processors said processor being advantageous in that:
- the central controller comprises a memory in which the tasks to be performed by the various elementary processors are stored in the form of a sequence of instructions, the central controller looping the sequence of instructions on the instruction bus, each instruction comprising a calculation flow identifier, a computational flow being defined as an ordered list of tasks, each calculation flow relating to one or more elementary processor (s);
- each elementary processor comprises an instruction filter and an identifier table, the instruction filter being adapted to extract the calculation flow identifier of each instruction received by the elementary processor and to determine if the identifier is present; in said table, the instruction being stored in a FIFO buffer to be executed by the elementary processor in the affirmative and rejected by the elementary processor in the negative.
- the FIFO buffer is typically popped at each instruction executed by said elementary processor.
- each instruction of a task comprises a sequence number indicating its order of execution in the task
- the instruction filter of the elementary processor comprising a counter incremented each time the FIFO buffer is pared, an instruction n ' being stored in the FIFO buffer only if its stream identifier is present in the table of the elementary processor and if its sequence number is equal to the output value of said counter.
- the transmission frequency of the instructions on the instruction bus may notably be substantially greater than the frequency of execution of these instructions by the elementary processors.
- Each instruction advantageously comprises an instruction pointer and the elementary processor comprises a micro-sequencer connected to a storage memory of a microcode library, the micro-sequencer sequencing micro-instructions of the microcode pointed by said instruction pointer.
- each elementary processor can be connected to its neighbors by means of communication links, a communication link between a first elementary processor and a second elementary processor connecting a first transmission register of the first elementary processor to a second reception register. of the second elementary processor and a second transmission register of the second elementary processor to a reception register of the first elementary processor. The execution of the micro-instructions by the first elementary processor is then stopped as long as the first transmission register is not empty.
- the execution of the micro-instructions by the second elementary processor is stopped as long as the second reception register is not full.
- the first elementary processor having completed the execution of a task informs the central controller by a notification of its status and the second elementary processor is informed of this status by the central controller.
- the present invention also relates to an intelligent optical sensor characterized in that it comprises a matrix of elementary sensors and a SIMD architecture processor according to one of the preceding claims, each elementary processor being associated with a plurality of sensors of said matrix and being adapted to process the signals from these sensors.
- Each elementary processor may itself have a SIMD architecture.
- Fig. 1 schematically represents the general architecture of a SIMD processor according to one embodiment of the invention
- FIG. 2 schematically represents the architecture of an elementary processor of the processor of FIG. 1;
- FIG. 3 schematically shows a mode of synchronization between two elementary processors of the processor of FIG. 1;
- Fig. 4 schematically represents a task delegation between two elementary processors of the processor of FIG. 1. DETAILED PRESENTATION OF PARTICULAR EMBODIMENTS
- SIMD processor As defined in the introductory part. Recall that such a processor consists of a matrix of elementary processors (PEs) sharing the same instruction bus and intended to run in parallel the same instruction during the same time interval. In a particular mode of use, this processor is integrated with a matrix of sensors (photodiodes for example) within an intelligent optical sensor (intelligent retina). More precisely, in this case, each elementary processor is associated with a sub-matrix of the sensor array, the signals of the various sensors of the sub-array being stored in a storage sub-array, also called macropixel. The structure of such a storage sub-matrix has been described in application FR-A-2984556. The elementary processors themselves advantageously have a SIMD architecture (each elementary processor then comprising a plurality of calculation units operating in parallel ) and can therefore process in parallel several data stored in the storage sub-array.
- SIMD architecture each elementary processor then comprising a plurality of calculation units operating in parallel
- MIMD multiple instructions multiple data processor
- Fig. 1 schematically shows the architecture of a SIMD architecture processor according to one embodiment of the invention.
- This processor comprises a matrix 120 of elementary processors 150 (PE), each elementary processor can access a memory cell with which it is associated. More precisely, the memory 125 is divided into memory cells 155 (CE) containing the data to be processed by the elementary processor.
- the memory cell has for example the structure of the aforementioned storage sub-matrix and each elementary processor processes the data of the corresponding macropixel.
- the elementary processors are connected in parallel to a central controller 110 by means of a first common bus, called the instruction bus. Thus, when an instruction is transmitted by the controller, each of the elementary processors receives it and can execute it in parallel.
- the elementary processors are also connected to the central controller via a second common bus, called status bus, on which they can transmit their respective statuses.
- status we mean here for example the state of a task (in particular the end of a task), the occurrence of an error in the execution of a task (division by zero, overflow) or a software interruption.
- the statuses of the various elementary processors are grouped together in a status table 130.
- the central controller knows at any time the completion status of the tasks performed by the various elementary processors and can transmit instructions accordingly.
- the central controller also comprises a memory 140 in which is stored the program to be executed by the processor, said program consisting of a task sequence task 0 Jask l , ... Jask N , each task being itself composed of a series of instructions.
- the instructions of the task or sequence of tasks are looped over the instruction bus.
- a computational flow is defined as an ordered sub-sequence of tasks in the task sequence task 0 , task ⁇ ..., task N.
- a calculation stream may concern a subset of all the elementary processors, or even in some cases all the elementary processors.
- An instruction includes a header followed by a calculation flow identifier and, if applicable, the order index of the instruction in the task, and then a number of words defining the instruction to be performed. and, where appropriate, arguments of this instruction.
- the instruction may be coded in compressed form, for example in the form of an instruction index pointing in an instruction library.
- an example of such an instruction may be the convolution with a kernel for filtering the pixels of the macropixel, the kernel being provided as argument of the instruction.
- the instruction can be directly executable by the elementary processor without needing to be decoded. The two types of instructions mentioned above can generally coexist.
- Fig. 2 schematically shows the architecture of an elementary processor of FIG. 1.
- Each instruction is read on the bus by the elementary processor 200.
- the header of the instruction is analyzed by a filtering module 210. This detects the beginning of the instruction by means of the header, retrieves the calculation stream identifier and determines whether or not the compute flow is relevant to it. To do this, it compares the identifier received with the identifier stored in a current stream register 220. This register contains the identifier of the current stream to be executed by the elementary processor, ie tasks of this calculation stream that this elementary processor must perform. The contents of the register 220 are loaded at the time of the initialization phase of the processor or by a specific microcode.
- the instruction may be coded in compressed form, for example in the form of an instruction index pointing in an instruction library.
- the instruction pointer is stored in a FIFO buffer, 230. In the case where the FIFO buffer is full, the instruction in question is not recorded.
- the instruction pointer may, however, be stored during a subsequent iteration of the instruction loop if a place has been released meanwhile at the input of the buffer.
- the sequence can be resumed from any instruction, in particular because the different instructions of the sequence can be executed independently.
- the elementary processor ensure that the FIFO buffer is empty enough to record a complete sequence that can then be started again.
- the FIFO buffer can be purged when a sequence has been interrupted or an overflow has occurred.
- each instruction has an additional field indicating the sequence number of the instruction in the task.
- the filtering module 210 comprises a counter incremented each time an instruction is stored in the FIFO buffer and is reset at the end of the task. This value is used for filtering instructions and ensures that they are entered in sequence in the FIFO. Thus only the next instruction in the task, whose sequence number is equal to the output of the counter and whose stream identifier corresponds to the one stored in the register 220, can be stored in the FIFO buffer.
- the frequency of transmission of the instructions by the central controller is substantially higher than the instruction processing frequency by the elementary processors, which makes it possible to transmit different instruction streams to the different elementary processors without forcing them to put on hold an instruction.
- An advantageous solution is to interleave the instructions of the different calculation flows, allowing a regular supply of instructions for the different streams.
- a sequence of instructions constituting a task is carried out more quickly than the others, it can be advantageously repeated several times in a repetitive cycle of tasks.
- Those skilled in the art can define an order of the instructions of the different tasks and the number of repetitions of these tasks for optimal operation of the elementary processor, that is to say to avoid too many times when the FIFO buffer is empty (so the elementary processor is waiting for instruction) or saturated.
- the instruction pointer When an instruction is taken into account to be executed by the elementary processor, the instruction pointer is unstacked from the FIFO buffer and supplied to the Finite State Machine (FSM) 240.
- FSM Finite State Machine
- This microcode library is loaded during the initialization (or during a specific phase of operation - reconfiguration of the system - by the central controller 110 ).
- the micro-instructions contained in the microcode are sequentially transferred one by one into the microinstruction register 260.
- the arithmetic and logic unit (ALU) 280 receives these microinstructions sequenced by the state machine 240, the arguments, as well as the data covered by the instruction. The data will have been previously read in the memory cell associated with the elementary processor and stored in the data register 270.
- program to be executed by the processor may comprise different tasks to be executed in parallel by the different elementary processors, which makes it possible to emulate an MIMD architecture.
- elementary processors associated with macropixels in the center of the image will be able to search Points of Interest (POIs) while elementary processors associated with macropixels at the periphery of the image will be able to perform motion detection.
- the instructions for these two tasks are transmitted at high frequency and looped (repetitively) on the instruction bus, the central processors in the central area selecting the instruction flow for the first task (POI search). and those in the peripheral zone selecting the instruction flow for the second task. It will be noted that it is not necessary for the instruction streams of the first task and the second task to be successive.
- the instructions for these two tasks can be intertwined, for example.
- the iteration mechanism of the instruction loop on the one hand and the filtering of the instructions on the level of the elementary processors makes it possible to differentiate the processes performed by the latter.
- the different tasks are executed asynchronously by the various elementary processors. This also makes it possible to have different processing frequencies for the elementary processors and thus optimize the consumption according to the tasks to be performed.
- two processors Elementals loaded with the same task may terminate it at different times because of the respective occupancy states of their FIFO buffers.
- an elementary processor When an elementary processor has completed the execution of a flow of instructions, it informs the central controller via the status bus.
- the asynchronous character of the execution of the tasks can be exploited to distribute the computing load between the elementary processors.
- Fig. 3 schematically shows a synchronization mode between two neighboring elementary processors.
- neighboring processors can exchange data by means of duplex communication links, each communication link implementing two registers, namely a transmission register and a reception register.
- four communication links are provided by elementary processor, connecting it to its four neighbors (in the North, South, East, West directions).
- eight communication links can be provided linking it to its eight neighbors (the neighbors in the previous sense and those in the diagonal directions).
- the duplex communication link 350 connects, on the one hand, a first transmission register 311 of the first elementary processor to a second reception register 322 of the second elementary processor and, on the other hand, a second transmission register 321 of the second second elementary processor at a first receive register 312 of the first elementary processor.
- a send microcode of the elementary processor makes it possible to transmit data to a neighboring elementary processor via a communication link.
- a receive microcode can receive data from a neighboring elementary processor via this same link.
- send and receive microcode are possible depending on whether the transfers in the communication registers block the sequence of microinstructions in the elementary processor or not.
- each communication register includes a status bit that indicates whether the register in question is empty or full.
- the execution of the send microcode transfers data from the ALU to a transmission register of the elementary processor to be transmitted on the corresponding communication link.
- the send microcode is blocking, in which case it stops the execution of the microinstruction sequence as long as the transmission register is not empty, or it is non-blocking, in which case the microcode simply writes. the data in the transmission register and sets the register status bit to "full" without affecting the execution of the microinstruction sequence.
- the latter executes the microcode receive, which can in turn be blocking or non-blocking. If it is blocking, the receiving elementary processor waits for the transmit element status register bit of the sending elementary processor to be "full". When this condition is fulfilled, the data contained in the transmission register of the transmitting elementary processor is stored in the reception register of the receiving elementary processor. The receive microcode then sets the status bit of the transmit register (of the sending elementary processor) to the value "empty” and the status bit of the receive register (of the receiving elementary processor) to the value "full". An additional read microcode can then read the data from the receive register and supply it as input to the ALU (receiver elementary processor). After reading the receive register, the read microcode sets the status bit of the receive register to the value "empty".
- ALU receiveriver elementary processor
- the synchronization between elementary processors for sending and receiving data can also be performed via the central controller which then explicitly orders the data exchanges in synchronous mode.
- Fig. 4 represents a task delegation between two elementary processors under the supervision of the central controller.
- an elementary processor 430 When an elementary processor 430 has completed its task and has signaled it to the central controller on the status bus, it becomes available to perform a new process. A neighbor elementary processor 420 can then delegate part of its task while it is running. The elementary processor 420 is informed of the availability of the elementary processor 430 by the central controller which maintains the status table. The central controller can then indicate the task to be performed by means of a new code to be loaded in the register 220) and trigger in 425 a transfer of data via the communication link that connects them.
- This indication may also take the form of a start address and an end address in the compute flow.
- the elementary processor 430 determines by means of its selection module the instructions that are intended for the elementary processor 420 and whose addresses are between said start and end addresses of the delegated task.
- the elementary processor 430 informs the central controller that updates its status table.
- the elementary processor 420 is thus informed of the end of the delegated task and triggers at 435 the transfer of data to receive them in its register (or its buffer) reception.
- the task delegation may for example concern a part of the data of the macro-pixel and / or a particular operation.
- the elementary processor 430 may be loaded with a point of interest search on behalf of the elementary processor 420 once it has completed its task of motion detection.
- the task delegation process can be repeated over time until the end of the program.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1855012A FR3082331B1 (fr) | 2018-06-08 | 2018-06-08 | Processeur mimd emule sur architecture simd |
| PCT/FR2019/051352 WO2019234359A1 (fr) | 2018-06-08 | 2019-06-06 | Processeur mimd émulé sur architecture simd |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP3782036A1 true EP3782036A1 (fr) | 2021-02-24 |
Family
ID=63637999
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP19742845.1A Pending EP3782036A1 (fr) | 2018-06-08 | 2019-06-06 | Processeur mimd émulé sur architecture simd |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11182170B2 (fr) |
| EP (1) | EP3782036A1 (fr) |
| FR (1) | FR3082331B1 (fr) |
| WO (1) | WO2019234359A1 (fr) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250103342A1 (en) * | 2023-09-27 | 2025-03-27 | Advanced Micro Devices, Inc. | Method and apparatus for enabling mimd-like execution flow on simd processing array systems |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4435758A (en) * | 1980-03-10 | 1984-03-06 | International Business Machines Corporation | Method for conditional branch execution in SIMD vector processors |
| GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
| US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
| US9830156B2 (en) * | 2011-08-12 | 2017-11-28 | Nvidia Corporation | Temporal SIMT execution optimization through elimination of redundant operations |
| FR2984556B1 (fr) | 2011-12-20 | 2014-09-26 | Commissariat Energie Atomique | Systeme et procede de communication entre un circuit d'acquisition et un circuit de traitement de donnees |
| US9229721B2 (en) * | 2012-09-10 | 2016-01-05 | Qualcomm Incorporated | Executing subroutines in a multi-threaded processing system |
-
2018
- 2018-06-08 FR FR1855012A patent/FR3082331B1/fr not_active Expired - Fee Related
-
2019
- 2019-06-06 WO PCT/FR2019/051352 patent/WO2019234359A1/fr not_active Ceased
- 2019-06-06 EP EP19742845.1A patent/EP3782036A1/fr active Pending
- 2019-06-06 US US15/734,729 patent/US11182170B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US11182170B2 (en) | 2021-11-23 |
| FR3082331B1 (fr) | 2020-09-18 |
| FR3082331A1 (fr) | 2019-12-13 |
| US20210240482A1 (en) | 2021-08-05 |
| WO2019234359A1 (fr) | 2019-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1805611B1 (fr) | Procede d'ordonnancement de traitement de tâches et dispositif pour mettre en oeuvre le procede | |
| FR3091375A1 (fr) | Instruction de chargement-stockage | |
| FR2752965A1 (fr) | Traitement de donnees multiples a une seule instruction utilisant des rangees multiples de registres vectoriels | |
| EP0597028A1 (fr) | Architecture de systeme en tableau de processeurs a structure parallele. | |
| EP2332067A1 (fr) | Dispositif de traitement en parallele d'un flux de donnees | |
| FR2752466A1 (fr) | Dispositif processeur integre de signaux numeriques | |
| FR2860313A1 (fr) | Composant a architecture reconfigurable dynamiquement | |
| FR2587521A1 (fr) | Appareil de traitement de signaux destine a effectuer des operations a resolutions multiples en temps reel | |
| JPS635775B2 (fr) | ||
| FR2472784A1 (fr) | Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite | |
| EP0434483A1 (fr) | Processeur à plusieurs unités de traitement microprogrammées | |
| EP4193358A1 (fr) | Module memoire reconfigurable adapte a mettre en oeuvre des operations de calcul | |
| FR2583904A1 (fr) | Systeme d'ordinateur du type a trains multiples de donnees et instruction unique (simd), avec traitement selectif des donnees | |
| EP1158405A1 (fr) | Système et méthode de gestion d'une architecture multi-ressources | |
| FR2752629A1 (fr) | Traitement de donnees multiples a une seule instruction avec operations scalaires/vectorielles combinees | |
| EP1860571A2 (fr) | Controleur de DMA, systeme sur puce comprenant un tel controleur de DMA, procede d'echange de donnees par l'intermediaire d'un tel controleur de DMA | |
| EP3782036A1 (fr) | Processeur mimd émulé sur architecture simd | |
| EP3451179A1 (fr) | Contrôleur d'accès direct en mémoire, dispositif et procédé de réception, stockage et traitement de données correspondants | |
| FR2759178A1 (fr) | Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces | |
| FR2475763A1 (fr) | Processeur numerique a structure pipeline | |
| EP4206939A1 (fr) | Systeme de transfert direct de donnees | |
| EP2553655B1 (fr) | Architecture de traitement d'un flux de données permettant l'extension d'un masque de voisinage | |
| EP0680015B1 (fr) | Dispositif d'alimentation en pixels d'une série d'opérateurs d'un circuit de compression d'images mobiles | |
| CN115374052A (zh) | 用于可重构密码阵列的任务处理方法及装置 | |
| EP0346420B1 (fr) | Procede d'echange d'information dans un systeme multiprocesseur |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20201119 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20220519 |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIESALTERNATIVES |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |