WO2021160482A1 - Procede de transmission de donnees et puce electronique de type manycore - Google Patents

Procede de transmission de donnees et puce electronique de type manycore Download PDF

Info

Publication number
WO2021160482A1
WO2021160482A1 PCT/EP2021/052475 EP2021052475W WO2021160482A1 WO 2021160482 A1 WO2021160482 A1 WO 2021160482A1 EP 2021052475 W EP2021052475 W EP 2021052475W WO 2021160482 A1 WO2021160482 A1 WO 2021160482A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
cluster
implemented
electronic chip
type
Prior art date
Application number
PCT/EP2021/052475
Other languages
English (en)
Inventor
Louis-Théophile THIRION
Sangeerthman SUBRAMANIAM
Nicolas Maitrot
Jean-Charles RIAND
Original Assignee
Safran Electronics & Defense
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 & Defense filed Critical Safran Electronics & Defense
Priority to US17/798,249 priority Critical patent/US12001360B2/en
Priority to CN202180014009.6A priority patent/CN115104085A/zh
Priority to EP21702040.3A priority patent/EP4104057A1/fr
Publication of WO2021160482A1 publication Critical patent/WO2021160482A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • G06F13/225Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2012Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant and using different communication protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip

Definitions

  • the invention relates to a method of transmitting data between functions implemented on an electronic chip of the manycore type comprising a plurality of execution cores.
  • the invention also relates to an electronic chip of the manycore type.
  • a “multi-core” processor is a processor having at least two cores or computing units etched within the same chip (“chip” in English) and which work. in parallel.
  • a heart is a set of circuits capable of executing programs independently.
  • cluster is a set of cores which communicate with each other through shared memory.
  • the clusters are interconnected by communication systems implementing different communication techniques (eg NoC, acronym for “Network-on-Chip” or parallel bus type AXI, (acronym for “Advanced extensible Interface”) .
  • Such manycore processors have architectural properties, which in addition to allowing the execution of massively parallel computations, also make it possible to host different functions in terms of criticality and safety, functions which were previously hosted on CPUs and therefore different housings.
  • the use of chips comprising a “manycore” processor makes it possible to reduce the weight, the bulk as well as the electrical consumption of an architecture implementing many functions.
  • this solution goes hand in hand with a loss of reliability linked to common failure modes, which is problematic when it is necessary to be able to ensure a high level of safety for a software process, eg for the control of the various components. of an airplane.
  • the loss of puce causes the loss of all the functions hosted on it. The probability of losing several functions simultaneously is therefore increased, which can be dramatic in the case of an airplane.
  • a method of transmitting data between functions implemented on a first electronic chip of the manycore type is described.
  • the first electronic chip comprises a plurality of execution cores, said execution cores being grouped together in a cluster, said clusters being interconnected by at least two communication systems.
  • the data transmission method comprises the steps of: implementing a first function on a first cluster; implementing a second function on a second cluster, characterized in that said second function is also implemented on a third cluster different from said first and second clusters; and transmitting at least one piece of data between said first function and said second function.
  • transmitting at least one piece of data between said first function and said second function comprises transmitting a piece of data between said first function and said second function both on a first communication link belonging to a first communication system and on a second communication link belonging to a second communication system different from said first communication system.
  • said first communication system is of the network on a chip type.
  • said second communication system is a parallel bus.
  • said first electronic chip being interconnected to a second electronic chip of the manycore type distinct from said first electronic chip, said first function is also implemented on a first cluster of said second electronic chip and said second function is further implemented on a second cluster of said second electronic chip.
  • said first function implemented on one of said first or second chips transmits at least one data item to said second function implemented on the other of said first or second chips at the same time on a first type communication link.
  • said first electronic chip being interconnected to a third electronic chip of the multi-core type, said first function is further implemented on a first core of said third electronic chip and said second function is further implemented on a second core of said third electronic chip.
  • said first function transmits at least one data item to said second function both on a first communication link of Ethernet type and on a second communication link of PCIe type.
  • a manycore type electronic chip comprising a plurality of execution cores is also described.
  • the execution cores are grouped into clusters, said clusters being interconnected by at least two communication systems.
  • the manycore type electronic chip includes:
  • a system comprising a first electronic chip of manycore type according to one of the preceding embodiments interconnected to a second electronic chip of manycore type distinct from said first electronic chip is described.
  • the first function is further implemented on a first cluster of said second electronic chip and the second function is further implemented on a second cluster of said second electronic chip.
  • a system comprising a first electronic chip according to one of the preceding embodiments interconnected to a third separate multi-core type electronic chip of said first electronic chip is described.
  • the first function is further implemented on a first core of said third electronic chip and the second function is further implemented on a second core of said third electronic chip.
  • FIG. IA illustrates a component architecture of manycore type according to a first embodiment
  • FIG. IB illustrates a component architecture of the manycore type in which clusters are linked point to point
  • FIG. IC illustrates a component architecture of the manycore type in which clusters are connected by parallel bus
  • FIG. 2 illustrates a component architecture of manycore type according to a second embodiment
  • FIG. 3 illustrates a system comprising two components of the manycore type according to a particular embodiment
  • FIG. 4 illustrates a system comprising two components, a manycore component and a component of the multi-core type, according to a particular embodiment
  • FIG. 5 schematically illustrates a method of transmitting data between functions implemented on an electronic chip of the manycore type comprising a plurality of execution cores.
  • Fig. IA illustrates a manycore component architecture according to a first embodiment.
  • Each cluster includes a plurality of cores or computing units. Each core communicates with the other cores in the cluster through shared memory.
  • the clusters C0 to C4 are interconnected with one another by at least two separate communication systems SI and S2. In one embodiment, the two distinct communication systems S1 and S2 are of different designs.
  • the first communication system S 1 is shown in solid lines and the second communication system is shown in dotted lines S2.
  • the manycore component can include other well known components not shown in FIG. IA (eg cache, memory, ROM, RAM, etc.).
  • the first communication system SI ensures the deterministic routing of the data.
  • This first SI communication system is typically of the point-to-point communication type (eg NoC, known by the French terminology of “network on a chip”). All the paths between the clusters being dedicated links, the routing of the data is guaranteed with a controlled latency.
  • NoC is a technique for designing a communication system between clusters on the manycore component.
  • a NoC type communication system applies network theories and methods to communications within the component.
  • a serial bus NoC type communication system also has the advantage of being scalable. In particular, it makes it possible to multiply point-to-point links between clusters.
  • the second communication system S2 does not provide this determinism in the routing of data. On the other hand, it offers the possibility of exchanges via various interfaces.
  • This second communication system S2 is typically of the parallel bus type (e.g. AXI). In this second communication system, the routing of data is not guaranteed with controlled latency.
  • Fig. IB illustrates such a point-to-point connection of the clusters C0 to C4.
  • each couple of arrows represents a Buspp connection between two point-to-point clusters. Not all connections are shown.
  • cluster C1 can also be connected to cluster C3 point to point by a NoC type bus.
  • AXI is a protocol allowing the interconnection of clusters via a parallel bus. This protocol is part of the AMBA standard (acronym for “Advanced Microcontroller Bus Architecture”) developed by the company ARM Limited.
  • the protocol simply establishes the rules of communication between the different modules (e.g. clusters) of a chip.
  • Fig. IC illustrates such a connection of clusters C0 to C4 by a parallel bus.
  • each couple of arrows represents a Buspar connection between a cluster and a Bdist distribution bar, ie a bus intended for the distribution of data on several types of interfaces (eg DDR, PCxpres, CAN, UART I2C, SPI, etc.) .
  • the clusters C0 to C4 are interconnected with each other through the distribution bar Bdist.
  • This P chip is advantageously used to implement avionics functions which require increased safety.
  • the data in question are, for example, flight parameters such as the altitude of the aircraft, its speed, etc.
  • a first function A eg monitoring of flight parameters is implemented on a first cluster C4
  • a second function B eg managing flight controls, is implemented on a second cluster C0 distinct from the first cluster C4.
  • the function B is also implemented on a third cluster C2 distinct from the first and second clusters C4 and C0.
  • Function B implemented on cluster C2 is called a "redundant" function and is denoted B ". This is indeed the same function as function B implemented on cluster C0.
  • function B implemented on C0 is stopped. Thanks to the "redundant" function B ", correct operation of the avionics system is maintained. Indeed, function A can continue to exchange data with function B 'implemented on cluster C2. The data is for example exchanged by passing from cluster C4 to cluster C3 and from cluster C3 to cluster C2. Data exchanges between C4 and C2 via C3 can be done through an internal communication system on the chip, e.g. NoC type.
  • function B on two separate clusters C0 and C2 significantly improves the reliability of the avionics system.
  • the function B is implemented on more than two distinct clusters in order to increase the redundancy and therefore the reliability.
  • the failure of a data exchange link between two clusters, eg between C2 and C3, or else of the NoC type communication system as a whole can cause a stop of the avionics system or at least of certain functions which can be critical from a safety point of view.
  • Fig. 2 illustrates a manycore component architecture according to a second embodiment.
  • a single component or P chip there is a plurality of clusters, C0 to C4.
  • Each cluster includes a plurality of cores or computing units.
  • Each core communicates with the other cores in the cluster through shared memory.
  • the clusters C0 to C4 are interconnected with each other by at least two communication systems SI and S2, e.g. of the NoC type and parallel bus.
  • the same data are exchanged on two different communication systems, e.g. on a first system of NoC type and a second system of parallel bus type.
  • the data exchanges via the first communication system are represented by arrows in solid lines and the data exchanges via the second communication system are represented by arrows in dotted lines.
  • the second communication system makes it possible to maintain the exchange of data.
  • function A implemented on C4 sends data to function B 'implemented on C2, it sends them via links L0 and L1 belonging to the first communication system and also via the L2 and L3 links belonging to the second communication system
  • data exchanges can continue on the other link L0 belonging to the first communication system.
  • function B ’ can optionally receive the same data twice, i.e. once for each communication system. Therefore, it can be decided that function B ’uses only the data received first and therefore ignores the same data that would be received second.
  • priority may be given to one communication system over the other. Thus, if the priority is given to the first communication system and the function B 'receives data from the function A via these two communication systems, they use the data from the first communication system and ignore the data in origin of the second communication system.
  • the data between two clusters is exchanged via more than two different communication systems in order to increase redundancy and therefore reliability.
  • NoC and parallel bus type Communication systems of the NoC and parallel bus type are given by way of simple illustrative examples. Other communication systems operating under other communication protocols and allowing data exchange between clusters can be used instead of or in addition to NoC and parallel bus type communication systems.
  • Fig. 3 illustrates a system comprising two manycore components according to a particular embodiment.
  • the system comprises a first manycore component PI and a second manycore component P2, which are interconnected by at least two communication links La and Lb.
  • Each component PI and P2 comprises a plurality of clusters, C0 to C4.
  • Each cluster includes a plurality of cores or computing units.
  • Each core communicates with the other cores in the cluster through shared memory.
  • the clusters C0 to C4 are interconnected with each other by at least two communication systems SI and S2, e.g. of the NoC type and parallel bus.
  • functions A and B are performed by component P2.
  • the function A implemented on the PI component can exchange data with the function B or B 'located on the same PI component according to the embodiments described with reference to Figs IA, IB, IC and 2.
  • the function A implemented on the PI component can exchange data with the function B implemented on the second component P2 thanks to the link La of a first communication system (eg of NoC type) or thanks to the Lb link of a second communication system (eg parallel bus).
  • the components exchange data via at least two communication systems, eg of NoC type and parallel bus as illustrated in FIG. 3.
  • the function B can also be implemented in the component P2 on another cluster distinct from C2 on which it is already implemented in order to increase the redundancy and therefore the reliability of the device. system.
  • Fig. 4 illustrates a system comprising two components according to a particular embodiment.
  • the system comprises a first manycore component PI and a second multi-core component P3 which are interconnected by at least two communication links Le and Ld.
  • the PI component comprises a plurality of clusters, C0 to C4.
  • Each cluster includes a plurality of cores or computing units.
  • Each core communicates with the other cores in the cluster through shared memory.
  • the clusters C0 to C4 are interconnected with one another by at least two communication systems S 1 and S2, e.g. of the NoC type and parallel bus.
  • Component P3 is a multi-core component, e.g. quad-core as shown in Fig. 4.
  • the function A implemented on the PI component can exchange data with the function B or B 'located on the same PI component according to the embodiments described with reference to Figs IA, IB, IC and 2.
  • the function A implemented on the component PI can furthermore exchange data with the function B implemented on the second component P3 via a first communication system in using for example links Le, eg of Ethernet type or via a second communication system using for example links Ld, eg of PCIe type (acronym for “Peripheral Component Interconnect Express”).
  • links Le eg of Ethernet type
  • Ld eg of PCIe type (acronym for “Peripheral Component Interconnect Express”).
  • the components exchange data using links Le and Ld of at least two communication systems.
  • the first manycore component PI is connected to both a manycore component P2 and a multi-core component P3 through at least two communication systems in order to increase the function redundancy and also the redundancy. communication links.
  • Fig. 5 schematically illustrates a method of transmitting data between functions implemented on a first electronic chip of the manycore type comprising a plurality of execution cores, said execution cores being grouped into clusters according to a particular embodiment.
  • a first function is implemented on a first cluster of a manycore electronic component, said first function exchanging data with a second function.
  • the second function is implemented on a second cluster distinct from the first cluster.
  • the second function is also implemented on a third cluster distinct from said first and second clusters.
  • a step SI 14 at least one piece of data is transmitted between said first function and said second function.
  • said data is transmitted twice, both over a first communication link belonging to a first communication system and over a second communication link belonging to a second communication system different from said first communication system.
  • the embodiments described with reference to Ligs IA, IB, IC to 4 also apply to the data transmission method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Systems (AREA)

Abstract

Un procédé de transmission de données entre des fonctions implémentées sur une première puce électronique de type manycore est décrit. La première puce électronique comprend une pluralité de cœurs d'exécution, les cœurs d'exécution étant regroupés en clusters, les clusters étant interconnectés par au moins deux systèmes de communication. Le procédé de transmission de données comprend les étapes de : - implémenter une première fonction sur un premier cluster; - implémenter une seconde fonction sur un second cluster, caractérisée en ce que ladite seconde fonction est également implémentée sur un troisième cluster distinct desdits premier et second clusters; et - transmettre au moins une donnée entre ladite première fonction et ladite seconde fonction.

Description

DESCRIPTION
TITRE : PROCEDE DE TRANSMISSION DE DONNEES ET PUCE ELECTRONIQUE DE TYPE MANYCORE
DOMAINE TECHNIQUE
L’invention concerne un procédé de transmission de données entre des fonctions implémentées sur une puce électronique de type manycore comprenant une pluralité de cœurs d’exécution. L’invention concerne également un puce électronique de type manycore.
ETAT DE LA TECHNIQUE ANTERIEURE Un processeur « multi-cœur » (« multi-core » en anglais) est un processeur possédant au moins deux cœurs ou unités de calcul gravés au sein de la même puce (« chip » en anglais) et qui travaillent en parallèle. Un cœur est un ensemble de circuits capable d’exécuter des programmes de façon autonome.
Aujourd’hui, il existe des processeurs dits « manycore » qui comportent des dizaines voire des centaines de cœurs. Ces cœurs peuvent être regroupés. Un groupe de cœurs est connu sous la terminologie anglaise de « cluster ». Ainsi, un « cluster » est un ensemble de cœurs qui communiquent entre eux à travers une mémoire partagée. Les clusters sont quant à eux interconnectés par des systèmes de communication mettant en œuvre différentes techniques de communication (e.g. NoC, acronyme anglais de « Network-on-Chip » ou bus parallèle de type AXI, (acronyme anglais de « Advanced extensible Interface »).
De tels processeurs manycore ont des propriétés d’architecture, qui en plus de permettre l’exécution de calculs massivement parallèles, permettent aussi d’ héberger des fonctions différentes en termes de criticité et de sûreté, fonctions qui était auparavant hébergées sur des CPUs et donc des boîtiers différents. Ainsi, l’utilisation de puces comprenant un processeur « manycore » permet de réduire le poids, l’encombrement ainsi que la consommation électrique d’une architecture implémentant de nombreuses fonctions. Toutefois, cette solution va de pair avec une perte de fiabilité liée à des modes communs de défaillance ce qui est problématique dans le cas où l’on doit pouvoir assurer un niveau de sûreté élevé à un processus logiciel, e.g. pour le contrôle des différents composants d’un avion. En effet, si plusieurs fonctions sont hébergées sur une même puce, la perte de la puce entraîne la perte de toutes les fonctions hébergées sur celle-ci. La probabilité de perdre plusieurs fonctions simultanément est donc accrue, ce qui peut être dramatique dans le cas d’un avion.
Il est donc souhaitable de s’assurer qu’un cluster ou un lien d’échange entre clusters sujet à une défaillance ne puisse pas perturber le bon déroulement d’une autre fonction s’exécutant sur un autre cluster.
EXPOSE DE L'INVENTION
Selon un premier mode de réalisation, un procédé de transmission de données entre des fonctions implémentées sur une première puce électronique de type manycore est décrit.
La première puce électronique comprend une pluralité de cœurs d’exécution, lesdits cœurs d’exécution étant regroupés en cluster, lesdits clusters étant interconnectés par au moins deux systèmes de communication. Le procédé de transmission de données comprend les étapes de : implémenter une première fonction sur un premier cluster ; implémenter une seconde fonction sur un second cluster, caractérisée en ce que ladite seconde fonction est également implémentée sur un troisième cluster différent desdits premier et second clusters ; et transmettre au moins une donnée entre ladite première fonction et ladite seconde fonction.
Selon un mode de réalisation particulier, transmettre au moins une donnée entre ladite première fonction et ladite seconde fonction comprend transmettre une donnée entre ladite première fonction et ladite seconde fonction à la fois sur un premier lien de communication appartenant à un premier système de communication et sur un second lien de communication appartenant à un second système de communication différent dudit premier système de communication.
Selon un mode de réalisation particulier, ledit premier système de communication est de type réseau sur une puce.
Selon un mode de réalisation particulier, ledit second système de communication est un bus parallèle.
Selon un mode de réalisation particulier, ladite première puce électronique étant interconnectée à une seconde puce électronique de type manycore distincte de ladite première puce électronique, ladite première fonction est en outre implémentée sur un premier cluster de ladite seconde puce électronique et ladite seconde fonction est en outre implémentée sur un second cluster de ladite seconde puce électronique.
Selon un mode de réalisation particulier, ladite première fonction implémentée sur l’une desdites première ou seconde puces transmet au moins une donnée à ladite seconde fonction implémentée sur l’autre desdites première ou seconde puces à la fois sur un premier lien de communication de type réseau sur une puce et sur un second lien de communication de type bus parallèle.
Selon un mode de réalisation particulier, ladite première puce électronique étant interconnectée à une troisième puce électronique de type multi-coeur, ladite première fonction est en outre implémentée sur un premier cœur de ladite troisième puce électronique et ladite seconde fonction est en outre implémentée sur un second cœur de ladite troisième puce électronique.
Selon un mode de réalisation particulier, ladite première fonction transmet au moins une donnée à ladite seconde fonction à la fois sur un premier lien de communication de type Ethernet et sur un second lien de communication de type PCIe.
Une puce électronique de type manycore comprenant une pluralité de cœurs d’exécution est également décrite. Les cœurs d’exécution sont regroupés en clusters, lesdits clusters étant interconnectés par au moins deux systèmes de communication. La puce électronique de type manycore comprend :
- un premier cluster sur lequel est implémentée une première fonction ;
- un second cluster sur lequel est implémentée une seconde fonction ;
- un troisième cluster sur lequel est implémentée ladite seconde fonction, ledit troisième cluster étant distinct desdits premier et second clusters ; et
- des liens de communication entre ledit premier cluster et lesdits second et troisième clusters configurés pour transmettre au moins une donnée entre ladite première fonction et ladite seconde fonction.
Un système comprenant une première puce électronique de type manycore selon un des modes de réalisation précédents interconnectée à une seconde puce électronique de type manycore distincte de ladite première puce électronique est décrit. La première fonction est en outre implémentée sur un premier cluster de ladite seconde puce électronique et la seconde fonction est en outre implémentée sur un second cluster de ladite seconde puce électronique.
Un système comprenant une première puce électronique selon un des modes de réalisation précédents interconnectée à une troisième puce électronique de type multi-cœur distincte de ladite première puce électronique est décrit. La première fonction est en outre implémentée sur un premier cœur de ladite troisième puce électronique et la seconde fonction est en outre implémentée sur un second cœur de ladite troisième puce électronique.
BREVE DESCRIPTION DES DESSINS
Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels :
[Fig. IA] illustre une architecture de composant de type manycore selon un premier mode de réalisation ;
[Fig. IB] illustre une architecture de composant de type manycore dans lequel des clusters sont reliés en point à point;
[Fig. IC] illustre une architecture de composant de type manycore dans lequel des clusters sont reliés par bus parallèle ;
[Fig. 2] illustre une architecture de composant de type manycore selon un second mode de réalisation ;
[Fig. 3] illustre un système comprenant deux composants de type manycore selon un mode de réalisation particulier ;
[Fig. 4] illustre un système comprenant deux composants, un composant manycore et un composant de type multi-cœur, selon un mode de réalisation particulier ; et,
[Fig. 5] illustre schématiquement un procédé de transmission de données entre des fonctions implémentées sur une puce électronique de type manycore comprenant une pluralité de cœurs d’exécution.
EXPOSE DETAILLE DE MODES DE REALISATION
La Fig. IA illustre une architecture de composant manycore selon un premier mode de réalisation. Au sein d’un même composant ou puce P, on dispose d’une pluralité de clusters, C0 à C4. Chaque cluster comprend une pluralité de cœurs ou unités de calcul. Chaque cœur communique avec les autres cœurs du cluster à travers une mémoire partagée. Les clusters C0 à C4 sont interconnectés entre eux par au moins deux systèmes de communication distincts SI et S2. Dans un mode de réalisation, les deux systèmes de communication distincts SI et S2 sont de conceptions différentes. Sur la Fig. IA, le premier système de communication S 1 est représenté en trait plein et le second système de communication est représenté en trait pointillé S2. Le composant manycore peut comprendre d’autres composants bien connus non représentés sur la Fig. IA (e.g. cache, mémoire, ROM, RAM, etc). Dans un mode de réalisation particulier, le premier système de communication SI assure l’acheminement déterministe des données. Ce premier système de communication SI est typiquement de type communication en point à point (e.g. NoC, connu sous la terminologie française de « réseau sur une puce »). Tous les chemins entre les clusters étant des liens dédiés, l’acheminement des données est garanti avec une latence maîtrisée.
NoC est une technique de conception de système de communication entre les clusters sur le composant manycore. Un système de communication de type NoC applique les théories et méthodes de réseau aux communications à l'intérieur du composant. Un système de communication de type NoC bus série a en outre l’avantage d’être scalable. Il permet notamment de multiplier les liaisons point à point entre clusters.
Dans un mode de réalisation particulier, le second système de communication S2 n’assure pas ce déterminisme dans l’acheminement des données. En revanche, il offre la possibilité d’échanges via des interfaces diverses. Ce deuxième système de communication S2 est typiquement de type bus parallèle (e.g. AXI). Dans ce second système de communication, l’acheminement des données n’est pas garanti avec une latence maîtrisée.
La Fig. IB illustre une telle connexion en point à point des clusters C0 à C4 . Sur cette Fig. IB, chaque couple de flèches représente une connexion Buspp entre deux clusters en point à point. Toutes les connexions ne sont pas représentées. Par exemple, le cluster Cl peut également être connecté au cluster C3 en point à point par un bus de type NoC.
L’AXI est un protocole permettant l’interconnection des clusters par l’intermédiaire d’un bus parallèle. Ce protocole fait partie du standard AMBA (acronyme anglais de « Advanced Microcontroller Bus Architecture ») développé par la société ARM Limited.
Le protocole établit simplement les règles de communication entre les différents modules (e.g. clusters) d'une puce.
La Fig. IC illustre une telle connexion des clusters C0 à C4 par un bus parallèle. Sur cette Fig. IC, chaque couple de flèches représente une connexion Buspar entre un cluster et une barre de distribution Bdist , i.e. un bus destiné à la distribution de données sur plusieurs types d’interfaces (e.g. DDR, PCxpres, CAN, UART I2C, SPI, etc). Ainsi, les clusters C0 à C4 sont interconnectés entre eux par l’intermédiaire de la barre de distribution Bdist.
Cette puce P est avantageusement utilisée pour implémenter des fonctions avioniques qui nécessitent une sûreté accrue. Ainsi, dans un avion plusieurs fonctions critiques doivent échanger des données. Les données en question sont par exemple des paramètres de vol tels que l’altitude de l’avion, sa vitesse, etc. Sur la Fig. IC, une première fonction A, e.g. surveillance (« monitoring » en anglais) de paramètres de vol est implémentée sur un premier cluster C4 et une seconde fonction B, e.g. gérant des commandes de vol, est implémentée sur un second cluster C0 distinct du premier cluster C4.
Selon un mode particulier de réalisation, la fonction B est également implémentée sur un troisième cluster C2 distinct des premier et second clusters C4 et C0. La fonction B implémentée sur le cluster C2 est appelée fonction « redondée » et est notée B’. Il s’agit bien de la même fonction que la fonction B implémentée sur le cluster C0.
En cas de défaillance du cluster C0, la fonction B implémentée sur C0 est arrêtée. Grâce à la fonction « redondée » B’, un fonctionnement correct du système avionique est maintenu. En effet, la fonction A peut continuer à échanger des données avec la fonction B’ implémentée sur le cluster C2. Les données sont par exemple échangées en passant du cluster C4 au cluster C3 et du cluster C3 au cluster C2. Les échanges de données entre C4 et C2 via C3 peuvent se faire au travers d’un système de communication interne à la puce, e.g. de type NoC.
Ainsi, l’implémentation de la fonction B sur deux clusters distincts C0 et C2 permet d’améliorer nettement la fiabilité du système avionique. Selon une variante de réalisation, la fonction B est implémentée sur plus de deux clusters distincts afin d’augmenter la redondance et donc la fiabilité.
Toutefois, dans le mode de réalisation de la Fig. IA, la défaillance d’un lien d’échange de données entre deux clusters, e.g. entre C2 et C3, ou bien du système de communication de type NoC dans son ensemble peut provoquer un arrêt du système avionique ou au moins de certaines fonctions lesquelles peuvent être critiques d’un point de vue sûreté.
La Fig. 2 illustre une architecture de composant manycore selon un second mode de réalisation. Au sein d’un même composant ou puce P, on dispose d’une pluralité de clusters, C0 à C4. Chaque cluster comprend une pluralité de cœurs ou unités de calcul. Chaque cœur communique avec les autres cœurs du cluster à travers une mémoire partagée. Les clusters C0 à C4 sont interconnectés entre eux par au moins deux systèmes de communication SI et S2, e.g. de type NoC et bus parallèle.
Selon ce mode de réalisation particulier, les mêmes données sont échangées sur deux systèmes de communication différents, e.g. sur un premier système de type NoC et un second système de type bus parallèle. Sur la Fig. 2, les échanges de données via le premier système de communication sont représentés par des flèches en traits pleins et les échanges de données via le second système de communication sont représentés par des flèches en traits pointillés. Ainsi, en cas de défaillance d’un des systèmes de communication dans son ensemble ou bien d’un des liens de ce système de communication, le second système de communication permet de maintenir l’échange de données.
Par exemple, lorsque la fonction A implémentée sur C4 envoie des données à la fonction B’ implémentée sur C2, elle les envoie via les liens L0 et L1 appartenant au premier système de communication et également via les liens L2 et L3 appartenant au second système de communication
Ainsi, en cas de défaillance du premier système de communication, e.g. de type NoC, les échanges de données continuent via le second système de communication, e.g. bus parallèle de type AXI.
Selon un autre exemple, en cas de défaillance du lien L2 entre le cluster C3 et le cluster C4 du second système de communication, les échanges de données peuvent continuer sur l’autre lien L0 appartenant au premier système de communication.
Dans le cas où aucune défaillance ne se produit, la fonction B’ peut le cas échéant recevoir deux fois les mêmes données, i.e. une fois pour chaque système de communication. Dès lors, il peut être décidé que la fonction B’ n’utilise que les données reçues en premier et donc ignore les mêmes données qui seraient reçues en second. Selon une variante, une priorité peut être donnée à un système de communication par rapport à l’autre. Ainsi, si la priorité est donnée au premier système de communication et que la fonction B’ reçoit des données en provenance de la fonction A via ces deux systèmes de communication, elles utilisent les données en provenance du premier système de communication et ignorent les données en provenance du second système de communication.
Selon une variante de réalisation, les données entre deux clusters sont échangées par l’intermédiaire de plus de deux systèmes de communication différents afin d’augmenter la redondance et donc la fiabilité.
Les systèmes de communication de type NoC et bus parallèle sont donnés au titre de simples exemples illustratifs. D’autres systèmes de communication fonctionnant selon d’autres protocoles de communication et permettant l’échange de données entre clusters peuvent être utilisés à la place ou en plus des systèmes de communication de type NoC et bus parallèle.
La Fig. 3 illustre un système comprenant deux composants manycore selon un mode de réalisation particulier. Le système comprend un premier composant manycore PI et un second composant manycore P2, lesquels sont interconnectés par au moins deux liens de communication La et Lb.
Chaque composant PI et P2 comprend une pluralité de clusters, C0 à C4. Chaque cluster comprend une pluralité de cœurs ou unités de calcul. Chaque cœur communique avec les autres cœurs du cluster à travers une mémoire partagée. Les clusters C0 à C4 sont interconnectés entre eux par au moins deux systèmes de communication SI et S2, e.g. de type NoC et bus parallèle.
L’association de plusieurs composants manycore permet d’éviter les modes communs de défaillance. Ainsi, en cas de défaillance du composant PI, les fonctions A et B sont assurées par le composant P2. Dans un autre exemple de fonctionnement, la fonction A implémentée sur le composant PI peut échanger des données avec la fonction B ou B’ située sur le même composant PI selon les modes de réalisation décrits en référence aux Figs IA, IB, IC et 2. En outre, la fonction A implémentée sur le composant PI peut échanger des données avec la fonction B implémentée sur le second composant P2 grâce au lien La d’un premier système de communication (e.g. de type NoC) ou grâce au lien Lb d’un second système de communication (e.g. bus parallèle). Dans ce mode de réalisation, les composants échangent les données via au moins deux systèmes de communication, e.g. de type NoC et bus parallèle comme illustré sur la Fig. 3.
Selon une variante de réalisation (non représentée sur la Fig. 3), la fonction B peut également être implémentée dans le composant P2 sur un autre cluster distinct de C2 sur lequel elle est déjà implémentée afin d’augmenter la redondance et donc la fiabilité du système.
La Fig. 4 illustre un système comprenant deux composants selon un mode de réalisation particulier. Le système comprend un premier composant manycore PI et un second composant multi-coeur P3 lesquels sont interconnectés par au moins deux liens de communication Le et Ld.
Le composant PI comprend une pluralité de clusters, C0 à C4. Chaque cluster comprend une pluralité de cœurs ou unités de calcul. Chaque cœur communique avec les autres cœurs du cluster à travers une mémoire partagée . Les clusters C0 à C4 sont interconnectés entre eux par au moins deux systèmes de communication S 1 et S2, e.g. de type NoC et bus parallèle.
Le composant P3 est un composant multi-cœur, e.g. quadri-cœur comme illustré sur la Fig.4.
L’association de plusieurs composants mettant en œuvre des technologies différentes permet d’éviter des modes communs de défaillance. Ainsi, en cas de défaillance du composant PI, les fonctions A et B sont assurées par le composant P3. Dans le cas où les deux composants PI et P3 mettraient en œuvre des technologies identiques et/ou seraient de même marque, la probabilité que les deux composants ne fonctionnent plus en même temps serait accrue.
Dans un autre exemple de fonctionnement, la fonction A implémentée sur le composant PI peut échanger des données avec la fonction B ou B’ située sur le même composant PI selon les modes de réalisation décrits en référence aux Figs IA, IB, IC et 2. La fonction A implémentée sur le composant PI peut en outre échanger des données avec la fonction B implémentée sur le second composant P3 via un premier système de communication en utilisant par exemple des liens Le, e.g. de type Ethernet ou via un second système de communication en utilisant par exemple des liens Ld, e.g. de type PCIe (acronyme anglais de « Peripheral Component Interconnect Express »). Pour passer par le lien Le, on utilise le NoC et pour passer par le lien Ld on utilise le bus parallèle.
D’autres technologies peuvent être utilisées pour l’échange de données entre les deux puces telles que GPIO (acronyme anglais de « General Purpose Input/Output »), USB (acronyme anglais de « Universal Serial Bus »), CAN (acronyme anglais de « Controller Area Network »).
Dans ce mode de réalisation, les composants échangent les données grâce aux liens Le et Ld d’au moins deux systèmes de communication.
Dans un autre mode de réalisation, le premier composant manycore PI est connecté à la fois à un composant manycore P2 et à un composant multi-cœur P3 grâce à au moins deux systèmes de communication afin d’augmenter la redondance de fonction et également la redondance de liens de communication.
La Fig. 5 illustre schématiquement un procédé de transmission de données entre des fonctions implémentées sur une première puce électronique de type manycore comprenant une pluralité de cœurs d’exécution, lesdits cœurs d’exécution étant regroupés en clusters selon un mode particulier de réalisation.
Lors d’une étape S 100, une première fonction est implémentée sur un premier cluster d’un composant électronique manycore, ladite première fonction échangeant des données avec une seconde fonction.
Lors d’une étape SI 10, la seconde fonction est implémentée sur un second cluster distinct du premier cluster.
Lors d’une étape SI 12, la seconde fonction est également implémentée sur un troisième cluster distinct desdits premier et second clusters.
Lors d’une étape SI 14, au moins une donnée est transmise entre ladite première fonction et ladite seconde fonction. Selon un mode particulier de réalisation, ladite donnée est transmise deux fois, à la fois sur un premier lien de communication appartenant à un premier système de communication et sur un second lien de communication appartenant à un second système de communication différent dudit premier système de communication. Les variantes de réalisation décrites en références aux Ligs IA, IB, IC à 4 s’appliquent également au procédé de transmission de données.

Claims

REVENDICATIONS
1. Un procédé de transmission de données entre des fonctions implémentées sur une première puce électronique (PI) de type manycore comprenant une pluralité de cœurs d’exécution, lesdits cœurs d’exécution étant regroupés en clusters, lesdits clusters étant interconnectés par au moins un premier système de communication de type réseau sur une puce et un second système de communication de type bus parallèle, comprenant les étapes de : implémenter (S 100) une première fonction sur un premier cluster (C4); implémenter (S 110) une seconde fonction sur un second cluster (C0), caractérisée en ce que ladite seconde fonction est également implémentée (S 112) sur un troisième cluster (C2) distinct desdits premier et second clusters ; et transmettre (S 114) au moins une donnée entre ladite première fonction et ladite seconde fonction implémentée sur le second cluster et ladite seconde fonction implémentée sur le troisième cluster à la fois au travers dudit premier système de communication et dudit second système de communication.
2. Le procédé selon la revendication 1, dans lequel transmettre au moins une donnée entre ladite première fonction et ladite seconde fonction comprend transmettre une donnée entre ladite première fonction et ladite seconde fonction à la fois sur un premier lien de communication (L0, Ll) appartenant au premier système de communication et sur un second lien de communication (L2, L3) appartenant au second système de communication.
3. Le procédé selon la revendication 1 ou 2, dans lequel un desdits système de communication étant prioritaire, en cas de pluralité de réceptions de ladite donnée par ladite seconde fonction implémentée ledit second cluster seule la donnée reçue au travers dudit système de communication prioritaire est conservée et en cas de pluralité de réceptions de ladite donnée par ladite seconde fonction implémentée ledit troisième cluster seule la donnée reçue au travers dudit système de communication prioritaire est conservée.
4. Le procédé selon l’une des revendications 1 à 3, dans lequel ladite première puce électronique (PI) étant interconnectée à une seconde puce électronique (P2) de type manycore distincte de ladite première puce électronique, ladite première fonction est en outre implémentée sur un premier cluster (C4) de ladite seconde puce électronique et ladite seconde fonction est en outre implémentée sur un second cluster (C0) de ladite seconde puce électronique.
5. Le procédé selon la revendication 4, dans lequel ladite première fonction implémentée sur l’une desdites première ou seconde puces transmet au moins une donnée à ladite seconde fonction implémentée sur l’autre desdites première ou seconde puces à la fois sur un premier lien de communication (L0, Ll, La) de type réseau sur une puce et sur un second lien de communication (L2, L3, Lb) de type bus parallèle.
6. Le procédé l’une des revendications 1 à 5, dans lequel ladite première puce électronique (PI) étant interconnectée à une troisième puce électronique (P3) de type multi- cœur, ladite première fonction est en outre implémentée sur un premier cœur (Cri) de ladite troisième puce électronique et ladite seconde fonction est en outre implémentée sur un second cœur (Cr2) de ladite troisième puce électronique.
7. Le procédé selon la revendication 6, dans lequel ladite première fonction implémentée sur l’une desdites première ou troisième puces transmet au moins une donnée à ladite seconde fonction implémentée sur l’autre desdites première ou troisième puces à la fois sur un premier lien de communication de type Ethernet (Le) et sur un second lien de communication de type PCIe (Ld).
8. Une puce électronique de type manycore comprenant une pluralité de cœurs d’exécution, lesdits cœurs d’exécution étant regroupés en clusters, lesdits clusters étant interconnectés par au moins un premier système de communication de type réseau sur une puce et un second système de communication de type bus parallèle , comprenant :
- un premier cluster sur lequel est implémentée une première fonction ;
- un second cluster sur lequel est implémentée une seconde fonction ;
- un troisième cluster sur lequel est implémentée ladite seconde fonction, ledit troisième cluster étant distinct desdits premier et second clusters ; et
- des liens de communication entre ledit premier cluster et lesdits second et troisième clusters configurés pour transmettre au moins une donnée entre ladite première fonction et ladite seconde fonction implémentée sur le second cluster et ladite seconde fonction implémentée sur le troisième cluster à la fois au travers dudit premier système de communication et dudit second système de communication.
9. Un système comprenant une première puce électronique selon la revendication 8 interconnectée à une seconde puce électronique de type manycore distincte de ladite première puce électronique, dans lequel ladite première fonction est en outre implémentée sur un premier cluster de ladite seconde puce électronique et ladite seconde fonction est en outre implémentée sur un second cluster de ladite seconde puce électronique.
10. Un système comprenant une première puce électronique selon la revendication 8 interconnectée à une troisième puce électronique de type multi-cœur distincte de ladite première puce électronique, dans lequel ladite première fonction est en outre implémentée sur un premier cœur de ladite troisième puce électronique et ladite seconde fonction est en outre implémentée sur un second cœur de ladite troisième puce électronique.
PCT/EP2021/052475 2020-02-14 2021-02-03 Procede de transmission de donnees et puce electronique de type manycore WO2021160482A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/798,249 US12001360B2 (en) 2020-02-14 2021-02-03 Data transmission method and electronic chip of the manycore type
CN202180014009.6A CN115104085A (zh) 2020-02-14 2021-02-03 数据传输方法和众核类型的电子芯片
EP21702040.3A EP4104057A1 (fr) 2020-02-14 2021-02-03 Procede de transmission de donnees et puce electronique de type manycore

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2001470 2020-02-14
FR2001470A FR3107375B1 (fr) 2020-02-14 2020-02-14 Procede de transmission de donnees et puce electronique de type manycore

Publications (1)

Publication Number Publication Date
WO2021160482A1 true WO2021160482A1 (fr) 2021-08-19

Family

ID=71094468

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/052475 WO2021160482A1 (fr) 2020-02-14 2021-02-03 Procede de transmission de donnees et puce electronique de type manycore

Country Status (5)

Country Link
US (1) US12001360B2 (fr)
EP (1) EP4104057A1 (fr)
CN (1) CN115104085A (fr)
FR (1) FR3107375B1 (fr)
WO (1) WO2021160482A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070057693A1 (en) * 2005-09-13 2007-03-15 M2000 Reconfigurable circuit with redundant reconfigurable cluster(S)
GB2443442A (en) * 2006-11-04 2008-05-07 Object Matrix Ltd Automated redundancy control and recovery mechanisms in a clustered computing system
JP2012075009A (ja) * 2010-09-29 2012-04-12 Oki Networks Co Ltd 冗長化装置及び冗長化プログラム
US20160283314A1 (en) * 2015-03-24 2016-09-29 Freescale Semiconductor, Inc. Multi-Channel Network-on-a-Chip
CN106713046A (zh) * 2017-01-12 2017-05-24 郑州云海信息技术有限公司 一种服务器集群环境中网络冗余的设计方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992675B2 (en) * 2014-04-14 2021-04-27 Oracle International Corporation Anomaly detection using tripoint arbitration
US9916873B2 (en) * 2015-02-12 2018-03-13 Rambus Inc. Extended capacity memory module with dynamic data buffers
FR3057127B1 (fr) * 2016-10-05 2019-04-19 Airbus Operations Processeur adapte pour un reseau ethernet commute deterministe
CN108228082B (zh) * 2016-12-21 2021-04-02 伊姆西Ip控股有限责任公司 存储系统和用于存储控制的方法
US20190363727A1 (en) * 2017-02-24 2019-11-28 Teledyne Dalsa B.V. Analog-to-digital converter and electronic device comprising the same
US10608640B1 (en) * 2019-05-10 2020-03-31 Achronix Semiconductor Corporation On-chip network in programmable integrated circuit
US20230239244A1 (en) * 2023-03-09 2023-07-27 Intel Corporation Heavy hitter flow detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070057693A1 (en) * 2005-09-13 2007-03-15 M2000 Reconfigurable circuit with redundant reconfigurable cluster(S)
GB2443442A (en) * 2006-11-04 2008-05-07 Object Matrix Ltd Automated redundancy control and recovery mechanisms in a clustered computing system
JP2012075009A (ja) * 2010-09-29 2012-04-12 Oki Networks Co Ltd 冗長化装置及び冗長化プログラム
US20160283314A1 (en) * 2015-03-24 2016-09-29 Freescale Semiconductor, Inc. Multi-Channel Network-on-a-Chip
CN106713046A (zh) * 2017-01-12 2017-05-24 郑州云海信息技术有限公司 一种服务器集群环境中网络冗余的设计方法

Also Published As

Publication number Publication date
EP4104057A1 (fr) 2022-12-21
US12001360B2 (en) 2024-06-04
CN115104085A (zh) 2022-09-23
FR3107375B1 (fr) 2022-04-08
FR3107375A1 (fr) 2021-08-20
US20230075900A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
US7386704B2 (en) Pipeline accelerator including pipeline circuits in communication via a bus, and related system and method
CA2960093C (fr) Architecture bi-voies avec liaisons ccdl redondantes
AU2003287317B2 (en) Pipeline accelerator having multiple pipeline units and related computing machine and method
US7165131B2 (en) Separating transactions into different virtual channels
US8189603B2 (en) PCI express to PCI express based low latency interconnect scheme for clustering systems
US8055725B2 (en) Method, apparatus and program product for remotely restoring a non-responsive computing system
US6973591B2 (en) On-chip emulator communication for debugging
US8285893B2 (en) System and method for adaptively setting connections to input/output hubs within an information handling system
FR3032078A1 (fr) Architecture hybride de transmission d'informations avioniques et systeme correspondant
EP3189381B1 (fr) Architecture bi-voies
FR2963447A1 (fr) Procede et dispositif de test d’interfaces d’entree/sortie de modules avioniques de type ima
EP2629203A1 (fr) Procédé d'élection de l'équipement maître actif parmi deux équipements maîtres redondants
EP3204867B1 (fr) Système embarqué sur puce à haute sûreté de fonctionnement
US20100257294A1 (en) Configurable provisioning of computer system resources
WO2021160482A1 (fr) Procede de transmission de donnees et puce electronique de type manycore
US7656789B2 (en) Method, system and storage medium for redundant input/output access
EP2507712B1 (fr) Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme
KR20090084888A (ko) 대용량 병렬 컴퓨터 시스템의 연산 노드의 패스트 백업
FR2947127A1 (fr) Systeme de simulation ou de test, et procede associe.
EP1933238A1 (fr) Appareil pour déconnecter un périphérique de manière non perturbante
FR3031822A1 (fr) Telechargement de donnees sur un equipement distant
FR3057127A1 (fr) Processeur adapte pour un reseau ethernet commute deterministe
US8832349B2 (en) Server system and dynamic maintenance method for crossbar board
CN107659413B (zh) 小型通信设备
CN212677199U (zh) 基于vpx接口的tte路由器

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: 21702040

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021702040

Country of ref document: EP

Effective date: 20220914