web-dev-qa-db-fra.com

Différence entre noyau et processeur?

Quelle est la différence entre un cœur et un processeur?

Je l'ai déjà recherché sur Google, mais je n'ai que la définition multicœur et multiprocesseur, mais cela ne correspond pas à ce que je recherche.

172
Saad Achemlal

Un noyau est généralement l’unité de calcul de base de la CPU: il peut exécuter un seul contexte de programme (ou plusieurs contextes s’il prend en charge des threads matériels tels que l’hyperthreading sur les processeurs Intel), en conservant le bon état, les registres et le bon ordre effectuer les opérations via ALUs . À des fins d'optimisation, un noyau peut également conserver des caches sur-cœur avec des copies des fragments de mémoire fréquemment utilisés. 

Un processeur peut avoir un ou plusieurs cœurs pour effectuer des tâches à un moment donné. Ces tâches sont généralement des processus logiciels et des threads planifiés par le système d'exploitation. Notez que le système d'exploitation peut avoir de nombreux threads à exécuter, mais que le CPU ne peut exécuter que X tâches de ce type à un moment donné, où X = nombre de cœurs * nombre de threads matériels par cœur. Les autres devront attendre que le système d'exploitation les planifie, que ce soit en préemptant les tâches en cours d'exécution ou par tout autre moyen.

En plus du ou des cœurs, le processeur comprendra une interconnexion qui connecte les cœurs au monde extérieur, ainsi qu’un grand cache partagé de "dernier niveau". Plusieurs autres éléments clés sont nécessaires au bon fonctionnement d'un processeur, mais leur emplacement exact peut varier en fonction de la conception. Vous aurez besoin d’un contrôleur de mémoire pour communiquer avec la mémoire, les contrôleurs d’E/S (écran, PCIe, USB, etc.). Dans le passé, ces éléments étaient en dehors du processeur, dans le "chipset" complémentaire, mais la plupart des concepteurs modernes les ont intégrés au processeur.

De plus, le processeur peut avoir un processeur graphique intégré et à peu près tout ce que le concepteur voulait garder proche pour des considérations de performances, de puissance et de fabrication. La conception du processeur est généralement orientée vers ce qu'on appelle système sur puce (SoC).

Il s’agit d’un design "classique", utilisé par la plupart des appareils modernes à usage général (PC client, serveurs, ainsi que tablettes et smartphones). Vous pouvez trouver des conceptions plus élaborées, généralement dans l'académie, où les calculs ne sont pas effectués dans des unités de base de type "noyau".

172
Leeor
105
JohnTortugo

Commençons par clarifier ce qu'est un processeur et ce qu'est un cœur, une unité centrale de traitement peut avoir plusieurs unités centrales, ces cœurs étant un processeur à lui seul, capable d'exécuter un programme mais il est autonome sur la même puce.

Dans le passé, un processeur était distribué entre plusieurs puces, mais à mesure que la loi de Moore progressait, un processeur complet était inséré dans une puce (puce). , voilà donc le concept du multi-core.

De nos jours, il est possible d’avoir des centaines de cœurs sur le même processeur (Intel ou Xeon). Une autre technique développée dans les années 90 était le multi-threading simultané. Ils ont découvert qu'il était possible d'avoir un autre thread dans le même processeur à cœur unique, car la plupart des ressources étaient dupliquées déjà comme ALU, plusieurs registres.

Donc, fondamentalement, un processeur peut avoir plusieurs cœurs capables chacun d’exécuter un ou plusieurs threads en même temps. Nous pouvons nous attendre à avoir plus de cœurs à l’avenir, mais avec plus de difficulté pour pouvoir programmer efficacement.

26
Germán Alfaro

La CPU est une unité centrale de traitement. Depuis 2002, nous n’avons qu’un seul processeur, c’est-à-dire que nous ne réaliserons qu’une tâche ou un programme à la fois.

Pour exécuter plusieurs programmes à la fois, nous devons utiliser plusieurs processeurs pour exécuter plusieurs processus à la fois; nous avons donc besoin d’une autre carte mère pour cela, ce qui est très coûteux.

Intel a donc introduit le concept d’hyper-threading, c’est-à-dire qu’il convertira le processeur unique en deux processeurs virtuels, c’est-à-dire que nous avons deux cœurs pour notre tâche. Maintenant, le processeur est simple, mais il prétend simplement (masqué) qu’il dispose d’un double processeur et qu’il effectue plusieurs tâches. Mais avoir de véritables cœurs multiples sera meilleur que cela afin que les gens développent la fabrication de processeurs multicœurs, c’est-à-dire plusieurs processeurs sur une même boîte, c’est-à-dire la saisie d’un processeur multiple sur un seul processeur de grande taille. C'est à dire. plusieurs noyaux.

8
Himanshu Gupta

Dans les premiers temps ... comme avant les années 90 ... les processeurs n'étaient pas capables de faire des tâches multiples aussi efficacement ... car un seul processeur ne pouvait gérer qu'une seule tâche ... alors quand on disait antivirus, Microsoft Word, vlc, etc. Les logiciels fonctionnent tous en même temps ... ce n'est pas vraiment vrai. Quand j'ai dit qu'un processeur pouvait gérer un seul processus à la fois ... je le pensais. En fait, il traiterait une seule tâche ... puis il la mettrait en pause ... prendrait une autre tâche ... complétez-la si elle est courte ou mettez-la à nouveau en pause et ajoutez-la à la file d'attente ... puis la suivante. Mais cette "pause" que j'ai mentionnée était si petite (environ 1 heure) que vous ne compreniez pas que la tâche avait été interrompue. Par exemple. Sur vlc, tout en écoutant de la musique, d'autres applications fonctionnent simultanément, mais comme je vous l'ai dit ... programme après programme ... le vlc s'interrompt en fait pour ne pas être sous-estimé, mais la musique s'arrête réellement entre.

Mais c'était à propos des vieux processeurs ...

Les processeurs actuels, c’est-à-dire que les ordinateurs de la 3e génération ont des processeurs multicœurs. Désormais, les «cœurs» peuvent être comparés à des processeurs de première ou de deuxième génération… embarqués sur une seule puce, un seul processeur. Alors maintenant, nous avons compris ce que sont les cœurs, c’est-à-dire que ce sont des mini processeurs qui se combinent pour devenir un processeur. Et chaque cœur peut gérer un seul processus à la fois ou des multi-threads conçus pour le système d'exploitation. Et ils suivent les mêmes étapes que celles mentionnées ci-dessus concernant le processeur unique. 

Par exemple. Un processeur i7 6gen a 8 cœurs ... c'est-à-dire 8 mini processeurs en 1 i7 ... c'est-à-dire que sa vitesse est 8 fois celle des anciens processeurs. Et c’est ainsi que plusieurs tâches peuvent être effectuées.

Il pourrait y avoir des centaines de cœurs dans un même processeurEg. Intel i128.

J'espère que j'ai bien expliqué cela.

2
Hrishikesh Dabir

La photo d'Intel est utile, comme le montre la meilleure réponse de Tortuga. Voici une légende pour cela.

Processeur : Une puce semi-conductrice, le CPU (unité centrale) inséré dans un support, dans les années 1950-2010. Au fil du temps, davantage de fonctions ont été intégrées à la puce du processeur. Avant les versions des processeurs à puce unique des années 1950, un processeur pouvait s'étendre sur plusieurs puces. Vers le milieu des années 2010, les puces «système sur puce» rendaient légèrement plus rudimentaire l’égalité d’un processeur à une puce, bien que c’est généralement ce que les gens entendent par processeur, comme dans «Cet ordinateur a un processeur i7» ou a quatre processeurs ".

Core : Un bloc d'une CPU exécutant une instruction à la fois. (Vous verrez des gens dire une instruction par cycle d'horloge, mais certains processeurs utilisent plusieurs cycles d'horloge pour certaines instructions.) 

0
Bennett Brown