Différence entre le kernel et le processeur?

Quelle est la différence entre un kernel et un processeur?

Je l’ai déjà cherché sur Google, mais je ne fais que définir plusieurs processeurs et plusieurs processeurs, mais cela ne correspond pas à ce que je recherche.

    Un kernel est généralement l’unité de calcul de base du processeur – il peut exécuter un seul contexte de programme (ou plusieurs s’il prend en charge les threads matériels tels que l’hyperthreading sur les processeurs Intel), en conservant l’état, les registres et l’ordre d’exécution corrects effectuer les opérations via les ALU . À des fins d’optimisation, un kernel peut également contenir des caches sur le cœur avec des copies des blocs 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 le processeur ne peut exécuter que de telles tâches à un moment donné, où X = nombre de cœurs * nombre de threads matériels par cœur. Le rest devrait attendre que le système d’exploitation les planifie, que ce soit en préemptant les tâches en cours d’exécution ou tout autre moyen.

    En plus du ou des cœurs, le processeur comprendra des interconnexions connectant les cœurs au monde extérieur, et généralement un cache partagé de “dernier niveau”. Il existe de nombreux autres éléments clés nécessaires pour faire fonctionner un processeur, mais leurs emplacements exacts peuvent différer selon leur conception. Vous aurez besoin d’un contrôleur de mémoire pour parler à la mémoire, des contrôleurs d’E / S (affichage, PCIe, USB, etc.). Dans le passé, ces éléments étaient en dehors du processeur, dans le “chipset” complémentaire, mais la plupart des conceptions modernes les ont intégrées dans le CPU.

    De plus, le processeur peut avoir un processeur graphique intégré, et à peu près tout ce que le concepteur souhaite garder à scope de main pour des considérations de performance, d’alimentation et de fabrication. La conception des processeurs s’intéresse principalement à ce qu’on appelle le système sur puce (SoC).

    C’est un design “classique”, utilisé par la plupart des appareils polyvalents modernes (PC clients, serveurs, tablettes et smartphones). Vous pouvez trouver des conceptions plus élaborées, généralement dans les académies, où les calculs ne sont pas effectués dans des unités de base “de type”.

    Clarifions d’abord ce qu’est un processeur et ce qui est un kernel, une unité centrale de traitement CPU, peut avoir plusieurs unités centrales, ces cœurs sont un processeur seul, capable d’exécuter un programme mais il est autonome sur la même puce.

    Dans le passé, un processeur était dissortingbué entre plusieurs puces, mais lorsque la loi de Moore a progressé, ils ont réussi à intégrer un processeur complet dans une puce (die). Depuis les années 90, le fabricant a intégré plus de cœurs dans la même puce. concept de multi-core.

    Dans ces jours, il est possible d’avoir des centaines de cœurs sur le même processeur (puce ou puce) GPU, Intel Xeon. Une autre technique développée dans les années 90 était le multi-threading simultané, fondamentalement ils ont trouvé qu’il était possible d’avoir un autre thread dans le même CPU simple, puisque la plupart des ressources étaient déjà dupliquées comme ALU, plusieurs registres.

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

    Le CPU est une unité centrale de traitement. Depuis 2002, nous ne disposons que d’un seul processeur, c’est-à-dire que nous n’exécuterons qu’une seule tâche ou un seul programme à la fois.

    Pour avoir plusieurs programmes exécutés à la fois, nous devons utiliser le processeur multiple pour exécuter des processus multiples à la fois. Nous avons donc eu besoin d’une autre carte mère pour cela et cela coûte très cher.

    Donc, Intel a 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 unique, mais il ne fait que prétendre (masqueraded) qu’il a un double processeur et effectue plusieurs tâches. Mais avoir de véritables cœurs multiples sera mieux que cela pour que les gens développent des processeurs multi-cœurs, c’est-à-dire plusieurs processeurs sur un seul boîtier, c’est-à-dire qu’ils prennent un processeur multiple sur un seul gros processeur. Ie multiples kernelx.

    Dans les premiers temps … comme avant les années 90 … les processeurs ne pouvaient pas faire de tâches multiples qui permettaient à un seul processeur de gérer une seule tâche … alors quand on disait que mon antivirus, Microsoft Word, vlc, etc. les logiciels fonctionnent tous en même temps … ce n’est pas 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 mettrait en pause cette tâche … entreprendrait une autre tâche … complétez-la si elle était courte ou interrompez-la et ajoutez-la à la queue … puis la suivante. Mais cette «pause» que j’ai mentionnée était si petite (environ 1ns) que vous ne compreniez pas que la tâche avait été interrompue. Par exemple. Sur vlc en écoutant de la musique, il y a d’autres applications fonctionnant simultanément mais, comme je vous l’ai dit, un programme à la fois … entre.

    Mais c’était à propos des anciens processeurs …

    Les processeurs actuels, c’est-à-dire les PCs de troisième génération, ont des processeurs à plusieurs kernelx. Maintenant, les «cores» peuvent être comparés à des processeurs de 1ère ou 2ème génération eux-mêmes … intégrés sur une seule puce, un seul processeur. Alors maintenant, nous avons compris ce que sont les kernelx, c’est-à-dire qu’ils sont des mini-processeurs qui se combinent pour devenir un processeur. Et chaque cœur peut gérer un seul processus à la fois ou plusieurs threads, comme prévu pour le système d’exploitation. Et ils suivent les mêmes étapes que celles mentionnées ci-dessus à propos du processeur unique.

    Par exemple. Un processeur i7 6gen a 8 cœurs … soit 8 mini processeurs en 1 i7 … c’est à dire que sa vitesse est 8 fois plus rapide que les anciens processeurs. Et c’est comme cela que l’on peut effectuer plusieurs tâches.

    Il pourrait y avoir des centaines de cœurs dans un seul processeur, par exemple. Intel i128.

    J’espère que je l’ai bien expliqué.

    L’image d’Intel est utile, comme le montre la meilleure réponse de Tortuga. Voici une légende pour cela.

    Processeur : Une puce à semi-conducteurs, l’UC (unité centrale de traitement) installée dans un socket, vers 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 années 50 des processeurs à une seule puce, un seul processeur pouvait s’étendre sur plusieurs puces. Au milieu des années 2010, les puces système sur puce ont rendu un peu plus complexe l’assimilation d’un processeur à une puce, bien que ce soit généralement ce que l’on entend par processeur, car «cet ordinateur a un processeur i7» ou a quatre processeurs. ”

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