Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Fonctionnement multi-cœur

  1. Hdecharn

    Date d'inscription
    février 2012
    Messages
    30

    Fonctionnement multi-cœur

    Bonjour,

    Je souhaiterais savoir comment on implémente plusieurs cœurs dans un même CPU. Si on se réfère à cette architecture, je ne vois pas comment il est possible de l'implementer !
    D'autre part, comment le système d'exploitation "voit" il les processeurs multi-cœurs : comme plusieurs processeurs mono-cœur, ou bien ne fait-il pas la différence ?
    Merci d'avance pour vos réponses
     


    • Publicité



  2. Lytharan

    Date d'inscription
    octobre 2011
    Localisation
    Suisse
    Âge
    26
    Messages
    691

    Re : Fonctionnement multi-cœur

    Parce que c'est bien plus complexe que ça, il y a déjà des pipelines en plus et ... enfin vraiment beaucoup de chose en plus.
    En gros tu as un système de répartition des taches. Et l'OS connais comment contrôler le répartiteur de taches et il voit plusieurs processeur, tu n'as jamais vu ? rien quand faisant un ctrl+alt+del sur Windows et en ouvrant le gestionnaire des taches on voit plusieurs courbes.
     

  3. Hdecharn

    Date d'inscription
    février 2012
    Messages
    30

    Re : Fonctionnement multi-cœur

    Oui, mais comment repartir les tâches sur chaque cœur ? Je ne vois aucune instruction et/ou artifice le mettant en jeu en ASM ou en C !
     

  4. Lytharan

    Date d'inscription
    octobre 2011
    Localisation
    Suisse
    Âge
    26
    Messages
    691

    Re : Fonctionnement multi-cœur

    Quel assembleur ?! Chaque processeur a son propre langage assembleur, donc oui il y a des instructions qui "redirige" les calcules pour des processeurs qui ont plusieurs cœurs.

    En C ? C'est normal car c'est ton OS qui gère l'utilisation de cœurs, ton programme en C est compilé pour et tourne sur ton OS.
     

  5. Hdecharn

    Date d'inscription
    février 2012
    Messages
    30

    Re : Fonctionnement multi-cœur

    Quand je parlais du C, je ne parlais pas des programmes mais de l'OS (puisqu'en majorité écrit en C).

    Ensuite, quelle sont les "instructions qui redirigent les calculs" pour les CPUs multi cœur ?
     


    • Publicité



  6. Lytharan

    Date d'inscription
    octobre 2011
    Localisation
    Suisse
    Âge
    26
    Messages
    691

    Re : Fonctionnement multi-cœur

    Non c'est pas que du C en tout cas pas Windows, Linux par contre c'est bien possible que oui. Mais même, ça ne change rien, c'est le compilateur et les libraires qui te donnes les fonctions pour ça.

    Les instructions je ne les connais pas, de toute façon elles demande des connaissances extrêmement étendue dans le domaine et faut connaitre le processeur.
    Tiens si tu veux vraiment savoir je t’aiguille un peu : http://www.intel.com/content/www/us/...Resources.html
     

  7. Hdecharn

    Date d'inscription
    février 2012
    Messages
    30

    Re : Fonctionnement multi-cœur

    Certes, un OS, ce n'est pas que du C… par contre, lorsque tu créés un système, le compile ne te donne aucune fonction (tu peux toujours te gratter pour avoir OpenMP) ! C'était un peu ma question… savoir comment repérer les cores/threads, et comment "dispatcher" (lorsqu'on est l'OS) les processus sur ces threads (sur un single core, l'OS alloue un temps défini à chaque programme, alors que, si je ne me trompe, le principe d'un multi core est de pouvoir excecuter plusieurs threads en même temps) ?
     

  8. Lytharan

    Date d'inscription
    octobre 2011
    Localisation
    Suisse
    Âge
    26
    Messages
    691

    Re : Fonctionnement multi-cœur

    moui... mais enfait tu veux faire quoi exactement ?
     

  9. Hdecharn

    Date d'inscription
    février 2012
    Messages
    30

    Re : Fonctionnement multi-cœur

    Comprendre comment sont implementés les cœurs dans un CPU (de vrais explications… éventuellement accompagnées de schéma en porte logique, ou VHDL), et comment les systèmes d'exploitations gèrent le multi-core ! Simple curiosité !
    Je sais qu'il existe des projets opencores, mais ils n'expliquent pas comment ils implémentent les cores…
    Dernière modification par Hdecharn ; 09/05/2012 à 19h35.
     

  10. jiherve

    Date d'inscription
    juin 2006
    Localisation
    gironde
    Âge
    61
    Messages
    8 638

    Re : Fonctionnement multi-cœur

    Bonsoir,
    Le multicœur c'est une approche du parallélisme plus radicale que le multithreading (l'un n’empêchant pas l'autre), ici les taches s'effectuent sur des UC séparées mais qui ont tout de même des ressources communes, il existe donc des mécanismes d'arbitrage et de cohérence assurés par le hard pour les accès aux périphériques, cache L2 et + et RAM, et c'est beaucoup plus compliqué avec un multicoeur car si des taches presque indépendantes doivent échanger des informations l'aspect séquentiel résiduel du multithreading( chaque taches utilise une partie du temps CPU) disparait et n'importe quoi peu arriver n'importe quand.
    L'OS gérera les affectations de ces taches en fonction de la disponibilité des cœurs, mais cela ne peut se faire que si les taches sont indépendantes ou bien conçues pour ce parallélisme.
    En clair une tache non parallélisable, car non conçue pour, ne s’exécutera pas plus vite sur un multicœur que sur un simple cœur.
    D'un point de vue hard c'est, pour simplifier, comme plusieurs processeurs en // ayant des périphériques communs.
    Pour tout savoir chercher avec OCCAM et Transputer , et oui cela a déjà plus de trente ans, encore un exemple de : il ne faut pas avoir raison trop tôt.
    JR
    l'électronique c'est pas du vaudou!
     

  11. Lytharan

    Date d'inscription
    octobre 2011
    Localisation
    Suisse
    Âge
    26
    Messages
    691

    Re : Fonctionnement multi-cœur

    On ne peux pas t'expliquer plus en détails, pour ça il te faut lire de bouquins et des dizaine de millier de page pour l'utilisation d'un CPU. On ne peux pas simplifier par un schéma logique ou un code VHDL pour des truc avec 2.2 milliards de transistors...
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. Battements de Cœur bizzare
    Par Elaskar dans le forum Santé et médecine générale
    Réponses: 23
    Dernier message: 31/01/2012, 23h37
  2. Définition - Cœur
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 0
    Dernier message: 20/08/2010, 11h15
  3. Définition - Cœur artificiel
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 0
    Dernier message: 10/06/2010, 17h15
  4. Le MSAN,Multi-Service Access Node ou le Noeud d'Accès Multi-Service
    Par zmtechnologie dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 22/03/2010, 15h01
  5. Chargeur (GSM) - multi input - multi output
    Par james_patageul dans le forum Électronique
    Réponses: 0
    Dernier message: 15/07/2006, 18h14