Language selection

Search

Patent 2886466 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2886466
(54) English Title: 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
(54) French Title: MULTI-CORE DATA TREATMENT SYSTEM WITH LOCAL AND GLOBAL INPUT/OUTPUT DEVICES AND GRAPHICAL INTERFACE COMPRISING SUCH A DATA TREATMENT SYSTEM
Status: Granted and Issued
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 15/16 (2006.01)
  • G06F 03/14 (2006.01)
  • G06F 13/00 (2006.01)
(72) Inventors :
  • ZANTE, ETIENNE DENIS MARIE (France)
  • ANDREOLETTI, REMI (France)
(73) Owners :
  • SAFRAN ELECTRICAL & POWER
(71) Applicants :
  • SAFRAN ELECTRICAL & POWER (France)
(74) Agent: ROBIC AGENCE PI S.E.C./ROBIC IP AGENCY LP
(74) Associate agent:
(45) Issued: 2022-12-06
(22) Filed Date: 2015-03-26
(41) Open to Public Inspection: 2015-10-07
Examination requested: 2020-02-27
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: French

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
14 57 008 (France) 2014-07-21
61/976.078 (United States of America) 2014-04-07

Abstracts

English Abstract

This multi-core data processing system comprises a set of data processing cores. At least a part of each data processing core includes a set of local data input and output interfaces (42) for access to peripheral devices dedicated to said cores. It further includes a set of global data input and output interfaces (45) for access to peripheral devices shared between said cores.


French Abstract

Ce système multicoeur de traitement de données comprend un ensemble de c urs de traitement de données. Une partie au moins de chaque c ur de traitement de données comporte un ensemble d'interfaces locales (42) d'entrée et de sortie de données pour l'accès à des dispositifs périphériques dédiés auxdits c urs. Il comporte en outre un ensemble d'interfaces globales (45) d'entrée et de sortie de données pour l'accès à des dispositifs périphériques partagés entre lesdits c urs.

Claims

Note: Claims are shown in the official language in which they were submitted.


14
REVENDICATIONS
1. Système multic ur de traitement de données, comprenant :
un ensemble de c urs de traitement de données, une partie au
moins de chaque c ur de traitement de données comportant un
ensemble d'interfaces locales d'entrée et de sortie de données pour
l'accès à des dispositifs périphériques dédiés auxdits c urs ;
un ensemble d'interfaces globales d'entrée et de sortie de
données pour l'accès à des dispositifs périphériques partagés entre
lesdits c urs ;
un ensemble d'au moins un processeur de calcul graphique
comprenant des c urs de traitement de données faisant partie de
l'ensemble de c urs de traitement de données comprenant lesdites
interfaces locales et lesdites interfaces globales ;
au moins une unité centrale de traitement comprenant des
c urs de traitement de données; et
au moins un processeur de calcul graphique, parmi l'ensemble
d'au moins un processeur de calcul graphique, qui communique avec
l'unité centrale de traitement, les c urs de traitement de données de
l'unité centrale de traitement étant chacun reliés à un des c urs de
traitement de données du processeur de calcul graphique par un unique
moyen de transfert de données de manière à réaliser un transfert de
données en parallèle entre ledit processeur de calcul graphique et
ladite unité centrale de traitement.
2. Système multic ur selon la revendication 1, dans lequel les c urs
de traitement de données de l'unité centrale font partie de l'ensemble
de c urs de traitement de données comprenant lesdites interfaces
locales et lesdites interfaces globales.
3. Système multic ur selon la revendication 1 ou 2, dans lequel les
c urs de l'ensemble des c urs de traitement de données sont reliés à
un moyen de transfert de données local interne relié auxdites
interfaces.
Date reçue/ date received 2022-02-17

15
4. Système multic ur selon la revendication 3, dans lequel ledit
moyen de transfert de données local interne est relié à des dispositifs
périphériques dédiés chacun à un c ur de l'ensemble des c urs de
traitement de données.
5. Système multic ur selon l'une quelconque des revendications 1 à
4, dans lequel les c urs de l'ensemble des c urs de traitement de
données sont reliés à un moyen de transfert de données global interne
audit au moins un processeur de calcul graphique ou à ladite unité
centrale de traitement et relié à des dispositifs périphériques partagés
entre les c urs de traitement.
6. Système multic ur selon l'une quelconque des revendications 1 à
5, dans lequel une partie au moins de chaque c ur de l'ensemble des
c urs de traitement de données comporte un système d'exploitation
dédié.
7. Interface graphique pour cockpit d'aéronef, comprenant un système
multic ur de traitement de données selon l'une quelconque des
revendications 1 à 6.
Date reçue/ date received 2022-02-17

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02886466 2015-03-26
1
Système multicoeur de traitement de données à dispositifs
d'entrée/sortie locaux et globaux et interface graphique
comportant un tel système de traitement de données
La présente invention concerne les systèmes de traitement de
données multicoeurs. Dans une application non limitative, la présente
invention concerne en particulier les systèmes multicoeurs pour
interface graphique fondés sur l'utilisation d'un processeur de calcul
graphique (GPU, pour Graphic Processing Unit ) pouvant coopérer
avec une unité centrale de traitement (CPU, pour Central Processing
Unit ).
Elle se rapporte également à une interface homme/machine
utilisant un tel système de traitement.
Une application particulièrement intéressante de l'invention
concerne les systèmes de traitement de données pour interfaces
homme/machine embarquées à bord d'aéronefs.
Il existe en effet un besoin pour disposer d'interfaces
homme/machine tactiles à bord d'aéronefs.
Dans le domaine des interfaces graphiques, les systèmes de
traitement de données sont classiquement utilisés pour exécuter des
calculs graphiques et créer des contenus graphiques destinés à être
affichés sur un écran de l'interface. Il peut en particulier s'agir de
créer des contenus graphiques comportant des zones tactiles
manipulables manuellement, en l'espèce par un pilote, pour
l'exécution de fonctions prédé finies.
Dans l'état de la technique, de manière générale, les
architectures de traitement de données peuvent être réalisées sous la
forme de CPU simples coeurs, de d'unités centrales de traitement
multiples (multi-CPU) ou CPU multicoeurs. Pour la réalisation de
calculs graphiques, on utilise des architectures massivement
multicoeurs et l'on utilise en particulier des processeurs de calcul

CA 02886466 2015-03-26
2
graphique coopérant avec une unité centrale de traitement pour
augmenter la puissance de calcul.
En ce qui concerne les CPU simples c urs, le composant de
base d'une telle architecture est le processeur, qui est un composant
permettant l'interprétation d'instructions machine définissant des
programmes informatiques.
Comme on le sait, pour qu'un système intégrant un processeur
puisse fonctionner, il est couplé à une mémoire permanente, qui
permet le stockage du programme à exécuter, à une mémoire rapide
pour la lecture et l'écriture des variables utilisées lors de l'exécution
des programmes, et de périphériques, de type entrée/sortie, bus de
communication, contrôleur mémoire, ..., assurant l'échange de données
avec l'extérieur du système.
Les processeurs modernes intégrés sur puce intègrent
également un bus de communication et de la mémoire cache, très
rapide, pour le stockage, au plus près de la zone d'exécution du
programme, des variables utilisées par le programme, seules les
variables de taille relativement importante ou moins utilisées étant
envoyées vers la mémoire rapide.
Les SoC (pour System on Chip ) intègrent, en plus du
processeur, un certain nombre de périphériques.
Enfin, les microcontrôleurs sont des puces qui intègrent
l'ensemble des éléments nécessaires au fonctionnement du processeur,
à savoir mémoire et périphérique.
En ce qui concerne les CPU simples coeurs, les besoins
croissants de puissance pour les processeurs tendent à augmenter
progressivement la fréquence de fonctionnement, rendue possible par
la finesse de gravure du silicium toujours plus importante. Mais
l'augmentation de la fréquence provoque également une augmentation
très importante de la consommation, de sorte que le gain en puissance
devient marginal devant l'augmentation de la consommation. Il a donc
été proposé de répliquer les coeurs de calcul afin de paralléliser
l'exécution d'un programme sans pour autant augmenter la fréquence
de fonctionnement.

CA 02886466 2015-03-26
3
Dans une architecture CPU multicoeurs classique, chaque coeur
possède un premier niveau de mémoire cache dite mémoire cache de
premier niveau. Les différents coeurs peuvent partager ensuite une
autre mémoire cache dite de second niveau. Un troisième niveau de
mémoire cache peut être prévu lorsque l'on souhaite regrouper certains
coeurs.
La parallélisation des tâches et l'attribution à l'un ou l'autre
des coeurs des instructions à effectuer se fait via le jeu d'instructions
interprété par le processeur et par le système d'exploitation (OS)
implémenté qui peuvent attribuer telle ou telle tâche en fonction des
différents coeurs. On parle alors de processeur multicoeur. Une telle
stratégie d'implémentation peut également être applicable aux SoC
multicoeurs.
Une autre stratégie consiste à prévoir une architecture similaire
à l'architecture classique mais, au lieu de paralléliser le
fonctionnement, les différents coeurs sont utilisés pour fiabiliser le
traitement. Les coeurs exécutent les mêmes instructions au coup
d'horloge près, et les traitements sont ensuite comparés afin d'obtenir
un fonctionnement fiable dans des conditions critiques. Cette stratégie
est connue sous le terme de Lockstep .
Une autre stratégie consiste à répliquer un système plutôt qu'un
c ur. On parle alors de multiprocesseur. Chaque processeur est
indépendant et ne partage pas de mémoire cache avec les autres. Ce
type d'architecture est généralement implanté en externe pour réaliser
des supercalculateurs ou des groupes de serveurs reliés en réseau pour
réaliser des calculs relativement lourds nécessitant des ressources de
calcul importantes.
En ce qui concerne les architectures GPU, les unités de
traitement graphique sont, comme les CPU, des architectures de calcul
exécutant un jeu d'instructions. Un GPU est toutefois un processeur
optimisé pour les calculs graphiques tels que, accélération matérielle,
calculs tridimensionnels, décodage vidéo, ...
Depuis longtemps, les GPU sont composés de multiples c urs
de calcul qui se répartissent les tâches graphiques. Il s'agit

CA 02886466 2015-03-26
4
d'architectures de traitement parallèles. Comme
indiqué
précédemment, les GPU sont massivement multicoeurs et peuvent
comporter plus de 1000 coeurs, pour les plus performants. Les
différents coeurs se voient attribuer un certain nombre de calculs à
effectuer par un contrôleur.
En ce qui concerne les systèmes de traitement de données
destinés à être embarqués à bord d'aéronefs, comme on le conçoit, ce
type de système électronique est soumis à des contraintes sévères de
maîtrise du matériel employé et de déterminisme, qui impose de
déterminer de manière certaine le fonctionnement du système, par
exemple en ce qui concerne la durée de transfert de données. Ils
nécessitent une validation et une certification par les autorités
compétentes. Les systèmes de traitement de données pour les
interfaces homme-machine embarquées pour avions commerciaux
doivent ainsi satisfaire un certain nombre de règles et de
recommandations de développement.
Dans l'état de la technique, les systèmes de calcul embarqués
sont généralement réalisés à partir de composants pris sur étagère ou
COTS (pour Commercial Off The Shelf ), c'est-à-dire de
composants fabriqués en grande série pour réduire les coûts de
fabrication et de maintenance. Toutefois, l'utilisation de composants
COTS conventionnels pose en premier lieu des problèmes
d'obsolescence, imposant de provisionner un grand nombre de
composants et de les stocker afin de garantir la maintenabilité du
produit. Compte tenu du temps de développement et de la durée de vie
d'un produit pour l'aéronautique, qui peuvent atteindre plusieurs
dizaines d'années, il est courant que les composants utilisés lors de la
conception d'un système électronique soient en fait obsolètes même
avant la fin du processus de conception, obligeant à réaliser des phases
de modification et de recertification périodiques.
En second lieu, les composants électroniques COTS sont
généralement dérivés de marchés grands publics ou du secteur des
télécommunications et sont dès lors optimisés pour des applications
non aéronautiques. Leur utilisation dans le domaine aéronautique

5
implique la désactivation des applications d'origine, leur modification
pour les rendre compatibles avec le domaine aéronautique puis une
certification, engendrant des coûts supplémentaires.
Par ailleurs, les systèmes multicoeurs de traitement usuels
comportent uniquement des mémoires et des systèmes périphériques
partagés entre les différents c urs de calcul. Les coeurs communiquent
avec des interfaces d'entrée et de sortie de données via un bus
d'interface commun pour accéder à des ressources partagées entre les
c urs. Il en résulte un besoin d'arbitrage dans les accès potentiellement
concurrents auxdits systèmes périphériques. La gestion de ces accès
concurrents dans un système classique COTS est faite par un système de
cohérence non maitrisé. L'utilisation de composants de type COTS dans
un système aéronautique impose donc la mise en place d'un grand
nombre de verrous logiciels et matériels permettant de garantir le
fonctionnement du composant dans le respect des recommandations des
autorités de certification. L'ajout de ces verrous implique une
dégradation forte des performances des unités centrales de traitement de
données
Au vu de ce qui précède, l'invention se propose de pallier les
problèmes de déterminisme dans les accès concurrents rencontrés dans
les systèmes multifonctions de traitement de données en limitant les
arbitrages mis en uvre lors de l'accès à des ressources partagées.
L'invention a donc pour objet, selon un premier aspect, un
système multicoeur de traitement de données, comprenant un ensemble
de coeurs de traitement de données et dans lequel une partie au moins de
chaque coeur de traitement de données comporte un ensemble
d'interfaces locales d'entrée et de sortie de données pour l'accès à des
dispositifs périphériques dédiés auxdits coeurs.
Le système multicceur comporte en outre un ensemble
d'interfaces globales d'entrée et de sortie de données pour l'accès à des
dispositifs périphériques partagés entre lesdits c urs, comprenant un
ensemble d'au moins un processeur de calcul graphique (GPU)
Date Reçue/Date Received 2021-08-30

5a
comprenant des coeurs de traitement de données comprenant lesdites
interfaces locales et lesdites interfaces globales, et en ce qu'il comprend
au moins une unité centrale de traitement (CPU) et au moins un
processeur de calcul graphique (GPU) qui communique avec l'unité
centrale de traitement, les c urs de traitement de l'unité centrale de
traitement étant chacun reliés à un coeur de traitement du processeur de
calcul graphique par un unique moyen de transfert de données de
manière à réaliser un transfert de données en parallèle entre ledit
processeur de calcul graphique et ladite unité centrale de traitement.
Ainsi, en prévoyant des interfaces locales d'entrée et de sortie,
chacun des coeurs de calcul a accès à ses propres mémoires et/ou
s stèmes eéri ehérieues locaux de sorte eue chaeue coeur de calcul est
Date Reçue/Date Received 2021-08-30

CA 02886466 2015-03-26
6
totalement indépendant et autonome vis-à-vis des autres. Chacun des
coeurs de calcul est donc capable de fonctionner sans interaction avec
les autres coeurs.
Selon une autre caractéristique de l'invention, le système
comprend un ensemble d'au moins une unité centrale de traitement
comprenant des coeurs de traitement de données comprenant lesdites
interfaces locales et lesdites interfaces globales.
En d'autres termes, les coeurs de traitement constituent une
unité centrale CPU.
Selon encore une autre caractéristique de l'invention, le
système multicoeur comprend un ensemble d'au moins un processeur
de calcul graphique comprenant des coeurs de traitement de données
comprenant lesdites interfaces locales et lesdites interfaces globales.
Les coeurs de traitement de données constituent ainsi des
processeurs de calcul graphique.
Dans un mode de réalisation, le système comprend au moins
une unité centrale de traitement et au moins un processeur de calcul
graphique qui communique avec l'unité centrale de traitement, les
c urs de traitement de l'unité centrale de traitement étant chacun
reliés à un c ur de traitement du processeur de calcul graphique par
un unique moyen de transfert de données de manière à réaliser un
transfert de données en parallèle entre ledit processeur de calcul
graphique et ladite unité centrale de traitement.
On obtient ainsi une augmentation de la puissance de calcul
tout en répondant au problème de certification aéronautique en
multipliant les coeurs de traitement CPU/GPU pour obtenir une
architecture clonée ayant les mêmes avantages de parallélisation des
tâches qu'une architecture multicoeur, en limitant les inconvénients de
complexité et éventuellement de ressources partagées non contrôlées
qui ne sont pas envisageables pour des raisons de sécurité et de
criticité aéronautique.
Avantageusement, les c urs de traitement de données sont
reliés à un moyen de transfert de données local interne relié auxdites
interfaces.

CA 02886466 2015-03-26
Le moyen de transfert de données local interne peut être relié à
des dispositifs périphériques dédiés chacun à un coeur de traitement.
Par ailleurs, les coeurs de traitement de données sont
avantageusement reliés à un moyen de transfert de données global
interne audit processeur de calcul graphique ou à ladite unité centrale
de traitement et relié à des dispositifs périphériques partagés entre les
coeurs de traitement.
De préférence, une partie au moins de chaque coeur de
traitement comporte un système d'exploitation dédié.
L'invention a encore pour objet une interface graphique pour
cockpit d'aéronef comprenant un système multicoeur de traitement de
données tel que défini ci-dessus.
D'autres buts, caractéristiques et avantages de l'invention
apparaîtront à la lecture de la description suivante, donnée uniquement
à titre d'exemple non limitatif, et faite en référence aux dessins
annexés sur lesquels :
- la figure 1 illustre l'architecture générale d'un système de
traitement de données conventionnel réalisé à partir de composants
COTS ;
- la figure 2 est un schéma synoptique d'une partie d'un
système multicoeurs de traitement de données conventionnel, montrant
le partage de périphériques ;
- la figure 3 illustre l'architecture générale d'un système de
traitement de données conforme à l'invention ;
- la figure 4 montre une partie d'un système de traitement de
données conforme à l'invention montrant l'utilisation de périphériques
dédiés à chaque coeur de traitement et de dispositifs périphériques
partagés ; et
- les figures 5a et 5b sont des vues montrant le couplage entre
un CPU et un GPU, selon l'état de la technique et selon l'invention,
respectivement.
On se référera tout d'abord à la figure 1, qui illustre
l'architecture d'un système de traitement de données multicoeur selon
l'état de la technique, utilisant des composants sur étagère COTS.

CA 02886466 2015-03-26
8
Comme on le voit sur cette figure, ce système de traitement de
données est articulé autour d'un processeur double coeur P associé à
des mémoires cache locales 1 et 2, dédiées respectivement au stockage
de données et au stockage d'instructions, et à une mémoire cache
partagée 3 de niveau supérieur utilisée lorsque les mémoires cache
locales 1 et 2 sont pleines et associée à un contrôleur de mémoire 4
partagé permettant l'accès à des mémoires externes, par exemple de
type DDR (pour Double Data Rate ).
Un bus commun 5 intégrant un protocole de cohérence de cache
associé à des premiers dispositifs périphériques 6 de contrôle de
communication et des deuxièmes dispositifs périphériques 7 d'entrée
et sortie assure l'échange des données avec le processeur P.
Comme indiqué précédemment, ce type d'architecture présente
un certain nombre d'inconvénients portant sur le partage de la
mémoire cache 3, du contrôleur de mémoire 4 et du bus commun 5
L'emploi de moyens partagés nécessite en effet de prévoir un
arbitrage poussé pour autoriser l'accès au processeur. En outre, le
temps de transfert de données sur le bus n'est pas garanti. En
particulier, lorsque le nombre de coeurs augmente, la gestion des
priorités et le calcul des temps d'accès s'avèrent plus complexes à
mettre en oeuvre. En outre, le nombre d'entrées et sorties est limité.
Ainsi, le fonctionnement déterministe de ce type de
composants, notamment en ce qui concerne la durée de transfert de
données qui ne peut être déterminée de manière certaine sans mettre en
oeuvre des moyens rédhibitoires, n'est-pas garanti.
En se référant maintenant à la figure 2, sur laquelle on a
schématiquement représenté plusieurs coeurs de traitement de données
core#1 , core#2 , core#3 associés chacun à une mémoire
cache Li et à une mémoire cache L2 de niveau supérieure qui
communiquent via bus local B, on voit que selon une architecture
conventionnelle, des interfaces d'Entrée/Sortie (1/0) telles que 101 et
102 assurant la communication avec des dispositifs externes
traditionnellement partagées de sorte que l'accès à ces interfaces

CA 02886466 2015-03-26
9
d'Entrée/Sortie qui s'effectue via un bus d'interface B' implique un
arbitrage des accès.
Comme indiqué précédemment, les architectures multicceurs
traditionnelles, destinées à être embarquées à bord d'aéronefs, doivent
être soumises à des règles et des recommandations de développement
éditées par les autorités de certifications. Ces règles pénalisent
économiquement et techniquement le développement d'une
architecture à base de composants COTS.
On a représenté sur la figure 3 l'architecture générale d'un
système multicoeur de traitement de données selon l'invention, pour
interface graphique.
Pour répondre aux règles et recommandations éditées par les
autorités de certification, toutes les mémoires (Flash, RAM, Cache)
sont ici séparées entre les coeurs pour ainsi limiter l'utilisation de
ressources partagées. Pour garantir un accès déterministe à toutes les
autres ressources partagées, un élément de communication partitionné
est utilisé pour réaliser la communication des différents coeurs CPU.
Cet élément peut, par exemple, être un bus ou un réseau sur puce NoC
(pour Network On chip ).
La même stratégie est utilisée au niveau des coeurs GPU. Ceux-
ci sont indépendants et reliés à un unique c ur CPU via un bus dédié.
Chaque coeur GPU produit une image graphique liée à l'application
qu'il gère. Les différentes images produites sont ensuite assemblées
par un mixeur pour produire, en définitive, une image d'écran qui est
destinée à être affichée sur l'écran d'une interface homme-machine.
Ainsi, chaque couple CPU/GPU héberge une application
graphique distincte et indépendante des autres. Cette architecture
permet donc le développement parallèle et par plusieurs fournisseurs
d'applications d'interfaces homme-machine pour différents systèmes
avioniques commerciaux. Cette architecture entièrement partitionnée
permet de réaliser une certification incrémentale. En d'autres termes,
il est possible de mettre à jour un coeur sans impact sur les autres.
On voit sur la figure 3 que l'unité centrale de traitement CPU
et le processeur de calcul graphique GPU comportent chacun un

CA 02886466 2015-03-26
ensemble de coeurs de traitement de données CI-C6 et C' 1-C'6,
respectivement, ici au nombre de six, reliés entre eux par des bus Bi-
B6 dédiés ou, de manière générale, par un moyen de transfert de
données dédié,
5 Ainsi, les
problèmes d'arbitrage et de temps de transfert non
garanti ne se posent plus dans cette architecture, les données étant
véhiculées entre les coeurs de traitement sur des bus non partagés.
Comme on le voit, les coeurs de traitement de données de
l'unité centrale de traitement sont organisés sur le même modèle et
10 sont fondés sur
l'utilisation d'un coeur de calcul, tel que 8. Chaque
coeur de traitement comporte un bus de communication interne 9 ou, de
manière générale, un moyen de transfert de données, qui assure la
communication au sein du coeur entre les divers composants qui le
composent et avec des dispositifs périphériques locaux.
Chaque coeur de traitement comporte en effet différents types
de mémoires, avec entre autre, une mémoire permanente 10, par
exemple de type Flash ainsi qu'une mémoire vive 11, par exemple de
type DDR, associées respectivement à un contrôleur de mémoire
permanente 12 et à un contrôleur de mémoire vive 13. Bien entendu,
on ne sort pas du cadre de l'invention lorsque les coeurs de calculs sont
dotés d'autres types de dispositifs périphériques locaux, notamment
d'autres types de mémoire. Comme cela sera précisé en référence à la
figure 4, chaque coeur de traitement comporte également un certain
nombre de périphériques locaux d'entrée et de sortie de données qui
peuvent être différents d'un coeur à l'autre. Des périphériques de
communication 14 assurent la communication entre les bus dédiés Bi-
B6 et le bus de communication interne 9 associé.
A côté des périphériques locaux et mémoires 10 et 11 dédiées à
chaque coeur de traitement, l'unité centrale de traitement CPU
comporte en outre des mémoires et périphériques globaux, partagés
entre les coeurs. Il s'agit en particulier des mémoires 15, 16 et 17
associées à leurs contrôleurs de mémoire respectifs 18, 19 et 20. Il
s'agit à titre illustratif, mais de façon nullement limitative, de
mémoires de type Flash, DDR ou de périphériques globaux partagés

CA 02886466 2015-03-26
11
21, 22 et 23, par exemple de types ARINC 429 ou ARINC 825. Dans
l'application envisagée, qui concerne les interfaces graphiques pour
équipement de cockpit pour aéronef, de telles mémoires peuvent, par
exemple, être utilisées pour l'enregistrement d'informations
concernant un vol.
Un bus global interne 24 ou, de manière générale, un élément
de transfert de données, assure l'échange de données entre les coeurs
de traitement de données CI-C6, avec les mémoires 15, 16 et 17 et
avec les dispositifs périphériques globaux 21, 22 et 23.
Les coeurs de traitement de données C'I-C'6 du processeur de
calcul graphique ont une structure similaire et sont fondés sur
l'utilisation d'un coeur de calcul tel que 25. Ce c ur de calcul 25
communique avec un bus de communication interne 26 ou de manière
générale avec un moyen de transfert de données, lequel est relié via
des liens de communication 27 et 28 avec les bus dédiés B I-B6.
A côté du coeur de calcul 25, chaque coeur de traitement de
données C' I-C'6 incorpore en outre un c ur GPLT de calcul graphique
29 relié au bus interne 26. Enfin, un bus local 30 ou un moyen de
transfert de données, qui communique avec les liens de communication
27 et 28, avec le coeur de calcul 25 et avec le coeur de calcul GPU 29
est relié à une mémoire locale 31 externe associée à un contrôleur
correspondant 32.
Par ailleurs, l'unité de traitement graphique GPU comporte un
mixeur 33 relié au bus local 30 de chaque unité de traitement de
données C'1-C'6.
En effet, chaque couple CPU/CiPU assure l'exécution d'une
tâche qui lui est affectée et génère une portion de l'image finale. Le
mixeur 33 procède à la combinaison de ces diverses images pour
l'élaboration de l'écran final affiché sur l'interface homme-machine.
De manière optionnelle, le système de traitement qui vient d'être
décrit peut être doté d'une entrée vidéo 34, d'une mémoire externe 35
associée à un contrôleur 36 correspondant et à un système d'arbitrage
37 pour l'accès à des données externes partagées. Un dispositif 38 de
récupération d'images associé à un gestionnaire de flux 39 permet de

CA 02886466 2015-03-26
12
combiner des vidéos ou images récupérées de l'entrée 34 ou de la
mémoire 35 pour générer l'image finale.
Comme on le conçoit, l'architecture qui vient d'être décrite
s'apparente à une architecture multiprocesseur intégrée à une seule et
même puce. En effet, chaque coeur étant indépendant et possédant ses
propres contrôleurs mémoire et périphériques dédiés, l'architecture
selon l'invention est analogue à une architecture multi-SoC.
En se référant à la figure 4, sur laquelle on a représenté une
stratégie d'implantation de système d'exploitation dans un système de
traitement de données conforme à l'invention, on voit que chaque coeur
de traitement, noté C"2 ou C"3 incorpore un certain nombre
d'interfaces d'Entrée/Sortie 42, 43, 44 qui communiquent avec un
c ur core#1 , core#2 ou core143 via un bus local B, tandis
que d'autres interfaces d'Entrées/Sorties 45 sont partagés entre les
coeurs de traitement avec lesquels elles communiquent via un bus
d'interface B'. Cette stratégie peut aussi bien s'appliquer à l'unité
centrale de traitement qu'au processeur de calcul graphique. En
d'autres termes, selon l'invention, on dispose de deux niveaux de
d'interfaces d'Entrée/Sortie, l'architecture intégrant à la fois des
interfaces d'Entrée/Sortie locales dédiées à un coeur et des interfaces
d'Entrée/Sortie globales qui sont partagées entre les c urs.
On conçoit que les interfaces I/O locales, d'accès direct, sans
partage et sans arbitrage permettant un accès plus rapide à des
périphériques locaux dédiés à un coeur, tandis que les interfaces I/O
globales permettent un accès à des dispositifs périphériques partagés.
On notera par ailleurs que, dans un mode de mise en oeuvre, les
coeurs de traitement du GPU et du CPU peuvent intégrer un système
d'exploitation dédié.
L'accès déterministe aux ressources partagées rend souhaitable
l'utilisation d'un bus d'accès partagé 24 (figure 3) maîtrisée.
Ainsi, le bus 24 est associé à des moyens d'arbitrage servant à
arbitrer les échanges de données avec les dispositifs partagés ou, en
d'autres termes, à arbitrer l'accès des c urs aux ressources partagées.
A titre d'exemple, ces arbitrages peuvent prendre la forme d'un

CA 02886466 2015-03-26
13
ordonnanceur, par exemple intégré au bus, attribuant de manière
périodique des temps de communication pour chaque coeur et ce, les
uns après les autres.
Enfin, en se référant aux figures 5a et 5b, on conçoit que
contrairement aux architectures CPU/GPU classiques qui utilisent un
seul bus de communication partagé 46, le système de traitement de
données selon l'invention s'appuie sur un bus dédié 47 indépendant
entre chaque coeur CPU et son coeur GPU associé. Ces bus séparés
permettent ainsi des transferts de données parallèles et performants.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: Grant downloaded 2022-12-06
Letter Sent 2022-12-06
Grant by Issuance 2022-12-06
Inactive: Cover page published 2022-12-05
Inactive: Final fee received 2022-09-12
Pre-grant 2022-09-12
Notice of Allowance is Issued 2022-05-19
Letter Sent 2022-05-19
Notice of Allowance is Issued 2022-05-19
Inactive: Approved for allowance (AFA) 2022-04-04
Inactive: Q2 passed 2022-04-04
Amendment Received - Voluntary Amendment 2022-02-17
Amendment Received - Voluntary Amendment 2022-02-17
Examiner's Interview 2022-02-14
Amendment Received - Response to Examiner's Requisition 2021-08-30
Amendment Received - Voluntary Amendment 2021-08-30
Letter Sent 2021-06-09
Inactive: Recording certificate (Transfer) 2021-06-09
Inactive: Multiple transfers 2021-05-19
Examiner's Report 2021-04-28
Inactive: Report - No QC 2021-04-23
Common Representative Appointed 2020-11-07
Letter Sent 2020-03-06
Request for Examination Received 2020-02-27
Request for Examination Requirements Determined Compliant 2020-02-27
All Requirements for Examination Determined Compliant 2020-02-27
Common Representative Appointed 2019-10-30
Common Representative Appointed 2019-10-30
Change of Address or Method of Correspondence Request Received 2018-12-04
Inactive: Cover page published 2015-11-02
Application Published (Open to Public Inspection) 2015-10-07
Inactive: IPC assigned 2015-04-08
Inactive: First IPC assigned 2015-04-08
Inactive: IPC assigned 2015-04-08
Inactive: IPC assigned 2015-04-08
Inactive: Filing certificate - No RFE (bilingual) 2015-04-07
Application Received - Regular National 2015-04-02
Inactive: QC images - Scanning 2015-03-26
Inactive: Pre-classification 2015-03-26

Abandonment History

There is no abandonment history.

Maintenance Fee

The last payment was received on 2022-02-18

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Fee History

Fee Type Anniversary Year Due Date Paid Date
Application fee - standard 2015-03-26
MF (application, 2nd anniv.) - standard 02 2017-03-27 2017-03-08
MF (application, 3rd anniv.) - standard 03 2018-03-26 2018-02-15
MF (application, 4th anniv.) - standard 04 2019-03-26 2019-02-18
MF (application, 5th anniv.) - standard 05 2020-03-26 2020-02-21
Request for examination - standard 2020-03-26 2020-02-27
MF (application, 6th anniv.) - standard 06 2021-03-26 2021-02-18
Registration of a document 2021-05-19 2021-05-19
MF (application, 7th anniv.) - standard 07 2022-03-28 2022-02-18
Final fee - standard 2022-09-20 2022-09-12
MF (patent, 8th anniv.) - standard 2023-03-27 2023-02-21
MF (patent, 9th anniv.) - standard 2024-03-26 2023-12-14
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
SAFRAN ELECTRICAL & POWER
Past Owners on Record
ETIENNE DENIS MARIE ZANTE
REMI ANDREOLETTI
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Representative drawing 2022-11-03 1 29
Description 2015-03-25 13 538
Abstract 2015-03-25 1 12
Claims 2015-03-25 2 58
Drawings 2015-03-25 3 54
Representative drawing 2015-09-08 1 2
Description 2021-08-29 14 568
Claims 2021-08-29 2 66
Drawings 2021-08-29 3 63
Claims 2022-02-16 2 66
Filing Certificate 2015-04-06 1 178
Reminder of maintenance fee due 2016-11-28 1 111
Courtesy - Acknowledgement of Request for Examination 2020-03-05 1 434
Commissioner's Notice - Application Found Allowable 2022-05-18 1 575
Electronic Grant Certificate 2022-12-05 1 2,528
Request for examination 2020-02-26 1 50
Examiner requisition 2021-04-27 6 279
Amendment / response to report 2021-08-29 20 667
Interview Record 2022-02-13 1 23
Amendment / response to report 2022-02-16 9 288
Final fee 2022-09-11 3 99