WO2016116574A1 - Procede de gestion d'une execution de taches et processeur pour mettre en œuvre ce procede - Google Patents

Procede de gestion d'une execution de taches et processeur pour mettre en œuvre ce procede Download PDF

Info

Publication number
WO2016116574A1
WO2016116574A1 PCT/EP2016/051260 EP2016051260W WO2016116574A1 WO 2016116574 A1 WO2016116574 A1 WO 2016116574A1 EP 2016051260 W EP2016051260 W EP 2016051260W WO 2016116574 A1 WO2016116574 A1 WO 2016116574A1
Authority
WO
WIPO (PCT)
Prior art keywords
tasks
processor
computing unit
scheduler
memory module
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.)
Ceased
Application number
PCT/EP2016/051260
Other languages
English (en)
Inventor
Jean-Louis Dufour
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.)
Safran Electronics and Defense SAS
Original Assignee
Safran Electronics and Defense SAS
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 Safran Electronics and Defense SAS filed Critical Safran Electronics and Defense SAS
Publication of WO2016116574A1 publication Critical patent/WO2016116574A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
    • G06F2009/3883Two-engine architectures, i.e. stand-alone processor acting as a secondary processor

Definitions

  • the invention relates to a method for managing a task execution, and a processor programmed to implement said method.
  • Multi-core processors are processors comprising several computing units (or cores) etched on the same silicon chip. The use of this type of processor has many advantages in terms of performance and power consumption associated with these performances.
  • both cores have to access the same memory. Since both accesses can not take place simultaneously, one of the accesses must be delayed. This situation can occur several times during the execution of a program, resulting in a fluctuation of the execution times. Because simultaneous access requests are difficult to predict and their influence is particularly complex to simulate, designers tend to overestimate "worst case" times of execution time, degrading system performance.
  • the object of the invention is to design applications using multi-core processors by predetermining simultaneous accesses to limit their influence on the performance of the system.
  • a method of managing a task execution by a processor comprising a first computing unit and a second computing unit for simultaneously executing respective first tasks and tasks.
  • the synchronization of the first and the second scheduler makes it possible to temporally control the execution of the first and second tasks relative to one another. It is thus possible to precisely predict the simultaneous accesses to the common memory module of the processor of the first and of the second calculation unit, and thus to adapt the sequence of tasks to limit these simultaneous accesses.
  • a processor comprising two calculation units and a memory module common to the two calculation units, each computing unit being intended to execute tasks sequenced by a scheduler of the computing unit, the processor being programmed to set a work a method of managing a task execution according to one of the preceding claims.
  • FIG. 1 schematically represents a computer containing an electrical card on which the processor of the invention is mounted;
  • FIG. 2 diagrammatically represents sets of first tasks and second tasks sequenced according to the management method of the invention.
  • the management method of a task execution of the invention and the processor of the invention are here implemented and mounted in a computer integrated in a real-time inertial navigation system for aircraft.
  • the computer 1, shown schematically in Figure 1, comprises a housing 2 in which is mounted at least one electrical card 3 comprising the processor 4 of the invention. It will be assumed in the following that the processor 4, the electrical card 3, and the computer 1 cooperate with their respective environment in accordance with the various requirements (functional, integration, security, etc.) of the inertial navigation system.
  • the processor 4 of the invention is a symmetrical two-core processor comprising a first computing unit (or core) 5 and a second computing unit (or core) 6, the two calculation units 5, 6 being identical.
  • Each of the calculation units is associated with a first-level cache module formed by a module called "I-Cache” (for Instruction Cache), reserved for instructions, and a module called “D-Cache” (for Cache Data), reserved for data.
  • I-Cache for Instruction Cache
  • D-Cache for Cache Data
  • the I-Cache and D-Cache modules have the same cache size.
  • Ll-1 and Ll-2 the modules of respective first-level cache of the first computing unit 5 and the second computing unit 6.
  • the processor 4 further comprises a second level common cache memory module L2, shared between the first calculation unit 5 and the second calculation unit 6.
  • the calculation units 5, 6 and their cache memory modules L1-1, Ll-2, as well as the cache memory module L2, are connected by a bus 7 whose traffic is monitored by a monitoring module 8 responsible for managing the consistency and the memory consistency of the accesses to the cache memory module L2.
  • the processor 4 further comprises a set 9 of other usual components among which interface modules, power management, etc.
  • the first calculation unit 5 and the second calculation unit 6 are intended to simultaneously perform first tasks and second tasks.
  • a task is here called a program or part of a program stored in a memory associated with the processor to be executed by one of the computing units.
  • the first calculation unit 5 is here a master heart and the second calculation unit a slave heart.
  • the first calculation unit 5 activates the second calculation unit 6 and transfers it data necessary for the execution of the second tasks.
  • the second calculation unit 6 prevents the first 5 and transfers to it the data resulting from these tasks (calculation results, etc.) or records them in a memory at a predefined address.
  • tcl Z-ÎTl f5 S and second tasks is respectively entrusted to a first deterministic scheduler of the first computing unit 5 and a second deterministic scheduler of the second computing unit 6.
  • the schedulers are components of a processor operating system 4 programmed to sequence the execution of the tasks performed by the calculation units 5, 6, that is to say to define the order of execution of the tasks according to time constraints and constraints related to the availability of resources required.
  • deterministic it is meant that the theoretical start or end date of each task can be calculated before the start of the task.
  • the first and the second scheduler here respectively define first periodic tasks T1, T2, T3, T4 of the first computing unit 5, grouped into a first set El itself periodically repeated, and second periodic tasks NI, N2, .. ,, N16 of the second computing unit 6 grouped into a second set E2 also repeated periodically.
  • the dashed horizontal line 10 represents the cache memory module L2
  • the arrows towards the line 10 represent write accesses to the cache memory module L2 by the first calculation unit 5 or the second calculation unit 6, and the arrows in the opposite direction represent read accesses.
  • the duration T of the first tasks T1,..., T4 is constant and predetermined, as is the duration t of the second tasks, t being less than T.
  • the second set E2 thus has a duration that is shorter than the first set El.
  • the second set compute unit is inactive when it does not execute the second tasks NI, ..., NI 6.
  • the method of managing a task execution according to the invention firstly comprises a first step of synchronizing the first scheduler and the second scheduler of the calculation units.
  • the management method then comprises a second step of sequencing the first and second tasks so as to limit simultaneous access of the first and the second calculation unit to the cache memory module L2.
  • the first computing unit 5 writes in the module L2 the data necessary for the execution of the tasks of the set E2. Then, during the first task of the set E2, the second calculation unit copies this data into its cache memory module Ll-2. The second tasks of E2 are then executed successively, the second calculation unit 6 using its cache memory module L1-2 and writing the results of the tasks in the cache memory module L2.
  • the first calculation unit 5 accesses all the data written in L2 by the second calculation unit 6 and exploits them. The second calculation unit 6 is then inactive until the next occurrence of the NI task.
  • the duration D of the simultaneous accesses by the two calculation units 5, 6, visible in FIG. 2, during which the two calculation units are able to access the module L2 simultaneously is reduced duration, since it corresponds to a duration less than two periods here T.
  • These simultaneous accesses are more perfectly -tr j ⁇ / -1sil 1 s f cs. ? i ss _L € î JCX "IODU, îs 3 ⁇ €" It will f in 1 below.
  • clc t "i * is Tl, which can be dated due to the deterministic nature of the first scheduler, and s' end at the end of the N16 task, which can be dated because of the character deterministic of the second scheduler.
  • the invention applies to any type of configuration and to any type of memory (for example, to a non-cache random access memory), a memory module before of course to be shared by at least two calculation units.
  • the two calculation units may not be identical as previously described.
  • a processor could include a master computing unit and two slave computing units that would successively access a shared memory module.
  • first tasks and second tasks are of course provided as an example, and could be different.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

L'invention concerne un procédé de gestion d' une exécution de tâches par un processeur (4) comportant deux unités de calcul dont une première unité de calcul (5) et une deuxième unité de calcul (6) destinées à exécuter simultanément des tâches, le procédé comprenant les étapes de : - synchroniser un premier ordonnanceur de la première unité de calcul (5) et un deuxième ordonnanceur de la deuxième unité de calcul (6); - séquencer tâches de manière à limiter des accès simultanés de la première (5) et de la deuxième unité de calcul (6) à un module de mémoire commun L2 du processeur (4). L' invention concerne aussi un processeur (4) programmé pour ci-dessus.

Description

PROCEDE DE GESTION D'UNE EXECUTION DE TACHES ET
PROCESSEUR POUR METTRE EN ŒUVRE CE PROCEDE
L'invention concerne un procédé de gestion d'une exécution de tâches , et un processeur programmé pour mettre en œuvre ledit procédé.
ARRIERE PLAN DE L'INVENTION
Les processeurs multi-c urs sont des processeurs comportant plusieurs unités de calcul (ou cœurs) gravées sur une même puce de silicium. L'utilisation de ce type de processeur comporte de nombreux avantages en termes de performance et de consommation électrique associée à ces performances.
Dans certains cas, les deux cœurs doivent accéder à une même mémoire. Les deux accès ne pouvant avoir lieu simultanément, l'un des accès doit alors être retardé. Cette situation peut intervenir à plusieurs reprises lors de l' exécution d' un programme, entraînant une fluctuation des temps d'exécution. Comme les demandes d'accès simultanées sont difficilement prévisibles et leur influence particulièrement complexe à simuler, les concepteurs ont tendance à surestimer des durées « pire cas » de temps d'exécution, ce qui dégrade les performances du système.
OBJET DE L'INVENTION
L'invention a pour objet de concevoir des applications utilisant des processeurs multi-cœurs en prédéterminant les accès simultanés pour limiter leur influence sur les performances du système .
RESUME DE L'INVENTION
En vue de la réalisation de ce but , on propose un procédé de gestion d'une exécution de tâches par un processeur comportant une première unité de calcul et une deuxième unité de calcul destinées à exécuter simultanément respectivement des premières tâches et des
Figure imgf000003_0001
o ÎT D c θΐζ* comprenant les étapes de :
synchroniser un premier ordonnanceur de la première unité de calcul adapté à séquencer les premières tâches et un deuxième ordonnanceur de la deuxième unité de calcul adapté à séquencer les deuxième tâches ;
séquencer les premières et les deuxièmes tâches de manière à prédéterminer et limiter des accès simultanés de la première et de la deuxième unité de calcul à un module de mémoire commun du processeur auquel chacune des unités de calcul est adaptée à accéder en lecture ou en écriture.
La synchronisation du premier et du deuxième ordonnanceur permet de maîtriser temporellement l'exécution des premières et des deuxièmes tâches les unes par rapport aux autres. On peut ainsi prévoir précisément les accès simultanés au module de mémoire commun du processeur de la première et de la deuxième unité de calcul, et donc adapter la séquence des tâches pour limiter ces accès simultanés.
On propose de plus un processeur comportant deux unités de calcul et un module de mémoire commun aux deux unités de calcul, chaque unité de calcul étant destinée à exécuter des tâches séquencées par un ordonnanceur de l'unité de calcul, le processeur étant programmé pour mettre un œuvre un procédé de gestion d'une exécution de tâches selon l'une des revendications précédentes .
L' utilisation d'un
bénéficier des avantages décrits ci-dessus .
L' invention sera mieux comprise à la lumière de la description qui suit d' un mode de mise en œuvre particulier non limitatif de l'invention.
BREVE DESCRIPTION DES DESSINS Il sera fait référence aux dessins annexés, parmi lesquels :
la figure 1 représente schématiquement un calculateur contenant une carte électrique sur laquelle est monté le processeur de l'invention ; la figure 2 représente schématiquement des ensembles de premières tâches et de secondes tâches séquencées selon le procédé de gestion de l' invention .
DESCRIPTION DETAILLEE DE L'INVENTION
Le procédé de gestion d'une exécution de tâches de l'invention et le processeur de l'invention sont ici mis en œuvre et montés dans un calculateur intégré dans un système temps réel de navigation inertielle pour aéronef.
Le calculateur 1, représenté schématiquement à la figure 1, comporte un boîtier 2 dans lequel est montée au moins une carte électrique 3 comprenant le processeur 4 de l' invention. On supposera dans la suite que le processeur 4, la carte électrique 3, et le calculateur 1 coopèrent avec leur environnement respectif conformément aux exigences diverses (fonctionnelles, d'intégration, de sécurité, etc.) du système de navigation inertielle.
Le processeur 4 de l' invention est un processeur bi-cceur symétrique comportant une première unité de calcul (ou cœur) 5 et une deuxième unité de calcul (ou cœur) 6, les deux unités de calcul 5, 6 étant identiques .
Chacune des unités de calcul est associée à un module de mémoire cache de premier niveau formé par un module dit « I-Cache » (pour Cache d' Instructions) , réservé aux instructions, et un module dit « D-Cache » (pour Cache de Données ) , réservé aux données . Ici , les modules I-Cache et D-Cache présentent la même taille de mémoire cache . On nomme Ll-1 et Ll-2 1es modules de mémoire cache de premier niveau respectifs de la première unité de calcul 5 et de la deuxième unité de calcul 6.
Le processeur 4 comporte de plus un module de mémoire cache commun de second niveau L2, partagé entre la première unité de calcul 5 et la deuxième unité de calcul 6. Les unités de calcul 5, 6 et leurs modules de mémoire cache Ll-1, Ll-2, ainsi que le module de mémoire cache L2, sont reliés par un bus 7 dont le trafic est surveillé par un module de surveillance 8 chargé de gérer la cohérence et la consistance mémoire des accès au module de mémoire cache L2.
Le processeur 4 comporte en outre un ensemble 9 d' autres composants habituels parmi lesquels des modules d' interface, de gestion de l' alimentation, etc .
La première unité de calcul 5 et la deuxième unité de calcul 6 sont destinées à exécuter simultanément des premières tâches et des deuxièmes tâches . On appelle ici tâche un programme ou une partie de programme enregistré dans une mémoire associée au processeur pour être exécutée par l' une des unités de calcul . La première unité de calcul 5 est ici un cœur maître et la deuxième unité de calcul un cœur esclave. La première unité de calcul 5 active la deuxième unité de calcul 6 et lui transfère des données nécessaires à l'exécution des deuxièmes tâches. Lorsque les deuxièmes tâches ont été entièrement exécutées, la deuxième unité de calcul 6 prévient la première 5 et lui transfère les données résultant de ces tâches ( résultats de calculs , etc . ) ou les enregistre dans une mémoire à une adresse prédéfinie .
XJcl CJ€3 S110 ΓΊ di€5 1 €55C€î C> UL "tl 10ΪΊ dG S J ΧΓ€3ITt 1€5JC S "t cl Z-ÎTl f5 S et des deuxièmes tâches est respectivement confiée à un premier ordonnanceur déterministe de la première unité de calcul 5 et à un deuxième ordonnanceur déterministe de la deuxième unité de calcul 6. Les ordonnanceurs sont des composants d'un système d'exploitation du processeur 4 programmés pour séquencer l'exécution des tâches exécutées par les unités de calcul 5, 6, c'est-à-dire pour définir 1 ' ordre d' exécution des tâches en fonction de contraintes temporelles et de contraintes liées aux disponibilités de ressources requises. Par déterministe, on entend que la date théorique de début ou de fin de chaque tâche peut être calculée avant le début de la tâche .
En référence à la figure 2, le premier et le deuxième ordonnanceur définissent ici respectivement des premières tâches périodiques Tl, T2, T3, T4 de la première unité de calcul 5, regroupées en un premier ensemble El lui-même répété périodiquement, et des deuxièmes tâches périodiques NI, N2,..,, N16 de la deuxième unité de calcul 6 regroupées en un deuxième ensemble E2 lui aussi répété périodiquement . Sur la figure 2, le trait horizontal en pointillés 10 représente le module de mémoire cache L2 , les flèches en direction du trait 10 représentent des accès en écriture au module de mémoire cache L2 par la première unité de calcul 5 ou la deuxième unité de calcul 6, et les flèches en direction opposée représentent des accès en lecture.
La durée T des premières tâches Tl,..., T4 est constante et prédéterminée, de même que la durée t des deuxièmes tâches, t étant inférieure à T. Le deuxième ensemble E2 a donc une durée inférieure au premier ensemble El. La deuxième unité de calcul est inactive lorsqu' elle n'exécute pas les deuxièmes tâches NI,..., NI 6.
Le procédé de gestion d' une exécution de tâches selon 1 ' invention comporte tout d' abord une première étape consistant à synchroniser le premier ordonnanceur et le deuxième ordonnanceur des unités de calcul .
On peut ainsi maîtriser parfaitement le lancement de l' exécution des tâches d'une unité de calcul par rapport à l' autre . Ici, en l' occurrence, on lance l'exécution de la première tâche NI du deuxième ensemble E2 exactement à la fin de la première tâche Tl du premier ensemble El.
Le procédé de gestion comporte ensuite une deuxième étape consistant à séquencer les premières et les deuxièmes tâches de manière à limiter des accès simultanés de la première et de la deuxième unité de calcul au module de mémoire cache L2.
Au cours de la tâche Tl, la première unité de calcul 5 écrit dans le module L2 les données nécessaires à l'exécution des tâches de l'ensemble E2. Puis, au cours de la première tâche de l'ensemble E2, la deuxième unité de calcul copie ces données dans son module de mémoire cache Ll-2. Les deuxièmes tâches d'E2 sont ensuite exécutées successivement, la deuxième unité de calcul 6 utilisant son module de mémoire cache Ll-2 et écrivant les résultats des tâches dans le module de mémoire cache L2. Lorsque la dernière tâche N16 a été exécutée et les résultats associés à cette tâche écrits dans le module de mémoire cache L2, la première unité de calcul 5 accède à toutes les données écrites dans L2 par la deuxième unité de calcul 6 et les exploite. La deuxième unité de calcul 6 est alors inactive jusqu'à la prochaine occurrence de la tâche NI.
Ainsi, on constate que la durée D des accès simultanés par les deux unités de calcul 5, 6, visible sur la figure 2, au cours de laquelle les deux unités de calcul sont susceptibles d' accéder de manière simultanée au module L2, est de durée réduite, puisqu'elle correspond à une durée ici inférieure à deux périodes T. Ces accès simultanés sont de plus parfaitement j -tr Λ/-1sil 1 s f c-s. ? i _L s s€î jçx "iodu,îs€3 Ï"It ci 1 ci f in. ciS -L.3. t clc«i*is Tl, qui peut être datée du fait du caractère déterministe du premier ordonnanceur, et s ' achèvent à la fin de la tâche N16, qui peut être datée du fait du caractère déterministe du deuxième ordonnanceur.
L'invention n'est pas limitée au mode de réalisation particuliers qui vient d' être décrit, mais, bien au contraire, couvre toute variante entrant dans le cadre de l'invention telle que définie par les revendications .
Bien que l'on ait proposé une certaine configuration des modules de mémoire cache, l'invention s'applique à tout type de configuration et à tout type de mémoire (par exemple, à une mémoire vive non cache) , un module de mémoire devant bien sûr être partagé par au moins deux unités de calcul .
Les deux unités de calcul peuvent ne pas être identiques comme décrit précédemment.
Χ€3 J-?Od-G-Cl€5 dCi 1 11"l"VCîΓΊt ~LOΓΊ 65"t 1€î J JtTCDC*G S S 651-1X~ peuvent bien sûr être mis en œuvre avec un nombre d'unités de calcul différent. Par exemple, un processeur pourrait comporter une unité de calcul maître et deux unités de calcul esclaves qui accéderaient successivement à un module de mémoire partagé.
Le nombre de premières tâches et de deuxièmes tâches est bien sûr fourni à titre d'exemple, et pourrait être différent.

Claims

REVENDICATIONS
1. Procédé de gestion d' une exécution de tâches par un processeur multicœur (4) comportant au moins deux cœurs dont une première unité de calcul (5) et une deuxième unité de calcul (6) destinées à exécuter simultanément respectivement des premières tâches (Tl, T4) et des deuxièmes tâches (NI,,.., N16) de durées prédéterminées, le procédé comprenant les étapes de :
- synchroniser un premier ordonnanceur de la première unité de calcul (5) adapté à séquencer les premières tâches et un deuxième ordonnanceur de la deuxième unité de calcul (6) adapté à séquencer les deuxième tâches ;
- séquencer les premières et les deuxièmes tâches de manière à prédéterminer et limiter des accès simultanés de la première (5) et de la deuxième unité de calcul (6) à un module commun de mémoire cache (L2 ) du processeur (4) auquel chacune des unités de calcul est adaptée à accéder en lecture ou en écriture .
2. Procédé de gestion d'une exécution de tâches selon la revendication 1, dans lequel les premières et les deuxièmes tâches sont regroupées respectivement en un premier et un deuxième ensembles (El, E2) de tâches synchronisés et périodiques, la durée du deuxième ensemble (E2 ) étant inférieure à celle du premier ensemble (El) . ion d' une exécution de tâches selon la revendication 2 , dans lequel les premières et les deuxièmes tâches sont séquencées de sorte que la première (5) et la deuxième unité de calcul (6) n' accèdent au module commun de mémoire cache (L2) que pendant la durée d'un deuxième ensemble (E2) .
4. Processeur multicœur comportant au moins deux cœurs formant des unités de calcul (5, 6) , et un module de mémoire cache (L2) commun aux deux unités de calcul, chaque unité de calcul étant destinée à exécuter des tâches séquencées par un ordonnanceur de l'unité de calcul, le processeur (4) étant programmé pour mettre un œuvre un procédé de gestion d'une exécution de tâches selon l'une des revendications précédentes.
5. Processeur selon la revendication précédente, dans lequel les ordonnanceurs sont des ordonnanceurs déterministes .
PCT/EP2016/051260 2015-01-21 2016-01-21 Procede de gestion d'une execution de taches et processeur pour mettre en œuvre ce procede Ceased WO2016116574A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1550469 2015-01-21
FR1550469A FR3031819B1 (fr) 2015-01-21 2015-01-21 Procede de gestion d'une execution de taches et processeur pour mettre en œuvre ce procede

Publications (1)

Publication Number Publication Date
WO2016116574A1 true WO2016116574A1 (fr) 2016-07-28

Family

ID=54014889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/051260 Ceased WO2016116574A1 (fr) 2015-01-21 2016-01-21 Procede de gestion d'une execution de taches et processeur pour mettre en œuvre ce procede

Country Status (2)

Country Link
FR (1) FR3031819B1 (fr)
WO (1) WO2016116574A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735687B1 (en) * 2000-06-15 2004-05-11 Hewlett-Packard Development Company, L.P. Multithreaded microprocessor with asymmetrical central processing units
US7093109B1 (en) * 2000-04-04 2006-08-15 International Business Machines Corporation Network processor which makes thread execution control decisions based on latency event lengths
GB2462860A (en) * 2008-08-22 2010-02-24 Advanced Risc Mach Ltd Apparatus for communicating between a cpu and a gpu

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093109B1 (en) * 2000-04-04 2006-08-15 International Business Machines Corporation Network processor which makes thread execution control decisions based on latency event lengths
US6735687B1 (en) * 2000-06-15 2004-05-11 Hewlett-Packard Development Company, L.P. Multithreaded microprocessor with asymmetrical central processing units
GB2462860A (en) * 2008-08-22 2010-02-24 Advanced Risc Mach Ltd Apparatus for communicating between a cpu and a gpu

Also Published As

Publication number Publication date
FR3031819B1 (fr) 2018-01-26
FR3031819A1 (fr) 2016-07-22

Similar Documents

Publication Publication Date Title
EP1337919B1 (fr) Procede de securisation rendant deterministe l'execution en temps reel d'applications multitaches du type controle-commande avec confinement d'erreur
EP2257876B1 (fr) Methode de prechargement dans une hierarchie de memoires des configurations d'un systeme heterogene reconfigurable de traitement de l'information
FR2912526A1 (fr) Procede de maintien du synchronisme d'execution entre plusieurs processeurs asynchrones fonctionnant en parallele de maniere redondante.
US9940164B2 (en) Increasing the efficiency of scheduled and unscheduled computing tasks
EP3494475B1 (fr) Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
FR2971596A1 (fr) Dispositif pour accelerer l'execution d'une simulation systemc
EP2856323B1 (fr) Procédé, dispositif et programme d'ordinateur de contrôle dynamique de distances d'accès mémoire dans un système de type numa
CA2886466C (fr) Systeme multicoeur de traitement de donnees a dispositifs d'entree/sortie locaux et globaux et interface graphique comportant un tel systeme de traitement de donnees
EP2850520A1 (fr) Procede de gestion d'une execution de taches dans un systeme informatique
EP3695313B1 (fr) Procédé et dispositif électronique d'implémentation d'un partitionnement lors de l'exécution d'applications logicielles sur une plateforme comprenant un processeur multi-coeurs, programme d'ordinateur et système électronique associés
WO2016116574A1 (fr) Procede de gestion d'une execution de taches et processeur pour mettre en œuvre ce procede
FR3131051A1 (fr) Procédé de traitement de données d’un dispositif d’assistance au pilotage d’aéronefs
CN111316691A (zh) 基于可用资源向设备缓存和提供数据
EP2875428B1 (fr) Procede de gestion des fils d'execution dans une unite informatique et unite informatique agencee pour la mise en oeuvre de ce procede
FR3053140B1 (fr) Architecture de calcul notamment pour un systeme embarque aeronautique
EP2545449A1 (fr) Procédé de configuration d'un système informatique, programme d'ordinateur et système informatique correspondants
WO2011047823A1 (fr) Unite electronique de commande a noyau temps reel gerant un partitionnement
WO2016034447A1 (fr) Système embarqué mettant en oeuvre des fonctions avioniques critiques
FR3148105A1 (fr) Plateforme informatique avec fichier de configuration additionnel, système électronique avionique associé
CA2778576C (fr) Procede et dispositif de traitement de taches optimise pour un fws
FR2956226A1 (fr) Procede, programme d'ordinateur et dispositif de supervision d'un ordonnanceur pour la gestion du partage de temps de traitement dans un systeme informatique multitache
FR3071334B1 (fr) Procede pour assurer la stabilite des donnees d’un processeur multicoeur d’un vehicule automobile
WO2021160783A1 (fr) Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé
EP2572253B1 (fr) Procede d'optimisation de gestion de veille d'un microprocesseur permettant la mise en oeuvre de plusieurs coeurs logiques et programme d'ordinateur mettant en oeuvre un tel procede
FR2807533A1 (fr) Ferme d'ordinateur avec systeme de transfert de fichiers entre cartes processeurs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16701920

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16701920

Country of ref document: EP

Kind code of ref document: A1