@sauviron
Citation:
Mais ta question (plusieurs fois mentionnée) m'avait semblait être l'assignation..
J'ai essayé plusieurs fois de réorienter la discussion :
Citation:
Quoi qu'il en soit la notion de threads et de processus ne peut s'appliquer qu'au système d'exploitation. Pour le processeur tout est question d'adresse, d'instruction et de mot mémoire. Et c'est justement c'est de ce point de vue que je veux comprendre ce qu'il se passe.
Citation:
Oui, mais au final tout termine par du code machine...
Citation:
Non... Tu me parle de programmation alors que j'essaie de comprendre le fonctionnement interne d'un multicoeur....
Citation:
Je crois que ce qui fait que tu réponds à côté depuis le début et que tu vois uniquement le problème du point de vue des language de haut niveau... Le problèmes c'est que ces languages utilisent la couche d'abstraction matérielle proposé par l'OS.
Citation:
Je n'ai jamais dit le contraire, juste que pour le processeur il n'y a pas de threads. Le processeur lit et décode l'instruction incrémente le compteur ordinal et passe à l'instruction suivante pointée par le nouveau contenu du CO. Il existe des instructions pour changer le contenu du compteur ordinal : les branchements (Jmp,jne etc...), les appels de procédures (Call, Ret...), les interruptions (par instruction avec INT directement par le matériel). Un threads, un processus ce n'est jamais que cela à ma connaissances.
Citation:
Envoyé par souviron34
je soupçonne que l'algo est relativement simple : pour N coeurs, si coeur no i non utilisé, alors on l'utilise, sinon, si tous les coeurs sont utilisés, on prend le moins chargé, et on fait agir un scheduler dessus.
Pas si simple que ça justement, (voir mon post précédent) mais ce n'est pas le sujet.
Citation:
Comme l'avait mentionné Mat.M, effectivement cela doit avoir à faire avec "l'affinité" sous Intel
Ce n'est pas Mat.M qui a parlé d'affinité mais Mewtow, du reste l'affinité, dans la définition que j'en ai, est une notion propre à l'ordonnanceur, partant, à l'OS.