Fils & Processus de Vs le MultiThreading & Multi-Core/Multiprocesseur : Comment ils sont cartographiés?

J'ai été très confus, mais le fil de discussion suivant effacé mes doutes:

Multitraitement, le Multithreading,l'HyperThreading, Multi-core

Mais il traite de questions de la part du point de vue matériel. Je veux savoir comment ces caractéristiques matérielles sont mappés à des logiciels?

Une chose qui est évidente, c'est que il n'y a pas de différence entre Multiprocesseur(=Mutlicpu) et Multicœur autre que celui dans tous les processeurs multicœurs résider sur la même puce(die) où, comme dans le Multiprocesseur tous les processeurs sont sur leurs propres puces & connectés.

Donc, mutlicore/les systèmes multiprocesseurs sont capables d'exécuter plusieurs processus (firefox,mediaplayer,googletalk) à la "sametime" (à la différence de la commutation de contexte de ces processus sur un système monoprocesseur) Droit?

Si elle correcte. Je suis clair jusqu'à présent. Mais la confusion survient lorsque le multithreading entre en image.

  1. MultiThreading "pour le" traitement en parallèle. droit?

  2. Ce sont des éléments qui sont impliqués dans le multithreading à l'intérieur de l'uc? schéma? Pour moi, pour exploiter la puissance de traitement parallèle des deux tâches indépendantes, ce qui devrait être le requriements de CPU?

  3. Quand les gens disent que le changement de contexte de threads. Je n'ai pas vraiment l'obtenir. parce que si son contexte de commutation de fils puis son pas en parallèle. les fils doivent être exécutés "scrictly simultanément". droit?

    Ma notion du multithreading, c'est que:
    En considérant un système avec un seul processeur. lorsque le processus est le contexte passé à firefox. (supposons) chaque onglet de firefox est un fil et tous les threads d'exécuter strictement au même moment. Pas comme un thread est exécuté pendant un certain temps puis de nouveau un autre thread a pris jusqu'à ce que le changement de contexte moment est arrivé.

  4. Qu'advient-il si je lance un logiciels multithread sur un processeur qui ne peut pas gérer les threads? Je veux dire comment le cpu gérer un tel logiciel?

  5. Si tout est bon jusqu'à présent, maintenant la question est COMBIEN de FILS? Elle doit être limitée par le matériel, je suppose? Si le matériel peut prendre en charge que 2 fils et je commence à 10 threads dans mon processus. Comment cpu manipuler? Avantages/Inconvénients? À partir d'un logiciel point de vue technique, tout en développant un logiciel qui sera utilisé par les utilisateurs dans une grande variété de systèmes, Alors comment pourrais-je décider dois-je aller pour le multithreading? si oui, combien de fils?

InformationsquelleAutor claws | 2009-11-11