• # Plusieurs cas de figure

    Posté par . En réponse au message Programmation des CPU/SOC contenant plusieurs coeurs de type différents. Évalué à 2. Dernière modification le 16 septembre 2023 à 15:42.

    Je n'ai pas vraiment de réponse pour le cas que tu présentes, mais des indices qui tentent à me faire penser que le système ne gère pas l’ordonnancement entre cores de types différents1.

    De mémoire (ça fait un bail que j'ai pas regardé), il y a plusieurs possibilités :

    • les microcontrôleurs parlent par un bus de communication. Par exemple un proc ARM parle à un AVR, pas trop de partage possible, ce sont deux archis genre rien à voir. Par exemple le Arduino Yun.

    • Plus intéressant, les deux microcontrôleurs (ou cores) ont des archis proches mais sont quand mêmes différents et ne peuvent pas facilement partager de code compilé. Par contre, il peuvent se partager la mémoire (RAM et/ou flash), qui va, selon le SoC ou la carte, être intégrée au SoC ou externe. Peut-être chez Beagleboard, en fait je pense à une autre carte mais j'ai oublié le nom.

    Dans ces deux cas, je ne crois pas qu'un ordonnanceur puisse migrer un processus d'un core à un autre.

    Après, hors Soc, il y a aussi des cas comme la mémoire graphique partagée avec la RAM (CPU/GPU), sur certains chipsets (je ne sais pas si ça se fait encore trop), ou encore GPU/GPU (cas de Optimus avec Intel/NVidia).

    Mais si c'est faisable, j'aimerai bien savoir aussi :). gUI qui bosse dans l'embarqué a sans doute plein de trucs à dire sur le sujet !


    1 par types différents j'entends "jeux d'instructions différents" ou "archi différentes".