2017-02-25 6 views
-3

Dernièrement, j'ai étudié le système d'exploitation. Je suis un peu confus sur la façon dont les processeurs, le noyau et les processeurs sont liés et quelle est la hiérarchie des interactions des threads avec eux?Quelle est la différence entre cpu, core et processeur? Comment sont-ils liés et comment les threads interagissent avec eux à l'intérieur du système d'exploitation?

+2

Vous pouvez consulter ces termes par vous-même. Si vous avez des questions après cela, parce que vous ne comprenez pas quelque chose, par exemple, demandez * spécifiquement * à ce sujet. Actuellement, cette question est trop large et sera close en tant que telle. – Downvoter

Répondre

0

Votre première question est simple:

efficacement CORE, PROCESSEUR et CPU sont la même chose. Cela dit, un CORE peut être considéré comme un type de CPU spécialisé. Généralement, les processeurs de nos jours sont une seule puce. Cependant, un processeur peut occuper plusieurs puces ou plusieurs cartes.

La prochaine étape au-delà des puces CPU était de mettre plusieurs processeurs sur une seule puce. Dans une telle configuration, les unités centrales distinctes peuvent être appelées CORES. Cela donne les termes MULTI-CORE CPU ou MULTI-CORE PROCESSOR.

Si vous avez deux processeurs sur des puces séparées, ils fonctionnent indépendamment l'un de l'autre d'un point de vue matériel. Si vous avez deux [ou plusieurs] processeurs (CORES) sur une puce, ils peuvent partager des ressources, telles que le cache.

Intel a également utilisé le terme CORE dans sa fonction Hyperthreading. Là, le CPU a deux CORES qui peuvent exécuter des instructions à partir de thread séparé. Les CORE dans ce contexte ne sont pas des processeurs complets. Ils partagent la gestion de la mémoire commune avec deux flux d'instructions. Cela limite effectivement le processeur à plusieurs threads à partir du même processus. Dans un processeur multi-cœur, chaque cœur peut avoir plusieurs cœurs d'hyperthreading.

Votre deuxième question est plus complexe. En ignorant Hyperthreading, les threads sont programmés pour s'exécuter sur un seul PROCESSOR/CPU/CORE. Ainsi, un thread s'exécute sur un CORE/CPU/PROCESSEUR.

Dans le modèle hyperthreading, un processus s'exécute sur un processeur et plusieurs threads peuvent s'exécuter sur un core.

J'espère que cette brève introduction répond à votre question.

+1

Les processeurs et les cœurs sont des entités totalement différentes, tout comme les cœurs et les threads matériels. Intel utilise "thread" pour leur technologie hyperthreading. Un processeur avec deux cœurs et HT apparaît comme quatre processeurs logiques (peut même être plus, mais Intel HT est deux threads par cœur). Un processeur est une puce à socket unique avec un ou plusieurs core plus tout le uncore. Chaque noyau a un ou plusieurs threads d'exécution. Deux processeurs ou plus forment généralement une configuration NUMA. –