Tutoriels

Quels sont les fils d'un processeur? différences avec les noyaux

Table des matières:

Anonim

Dans cet article, nous allons prendre un moment pour expliquer quels sont les threads d'un processeur ou aussi appelés threads en anglais ou threads de programmation, afin d'identifier les différences fondamentales entre ceux-ci et les cœurs de processeur. Parmi les utilisateurs moins experts et même les plus avancés, il y a encore pas mal de confusion sur ce sujet. C'est pourquoi nous nous sommes efforcés de clarifier ces termes dans la mesure du possible.

Ce concept de traitement des threads n'est pas essentiel à connaître lors de l'achat d'un processeur pour un utilisateur normal. Dans la plupart des cas, mieux que moins, c'est presque toujours vrai. Où nous devons savoir quels sont les fils, c'est dans le travail de développement du programme. Selon la façon dont une application est programmée et compilée, son exécution sera plus optimisée pour les processeurs avec plus de threads que de cœurs. Et c'est là que nous essaierons d'entrer dans notre explication.

Index du contenu

Quels sont les cœurs d'un processeur

Nous commencerons par expliquer ce que sont les cœurs de notre processeur, nous aurons donc cette connaissance préalable afin de ne pas nous confondre.

Nous savons qu'un processeur est chargé d'exécuter et d' exécuter les instructions des programmes chargés dans la mémoire RAM de notre ordinateur. Pratiquement toutes les instructions nécessaires pour effectuer les tâches typiques sur notre PC, naviguer, écrire, visualiser des photos, etc. le traversent. Dans la section physique, un processeur est un circuit intégré composé de millions de transistors qui forment des portes logiques pour permettre aux bits de données de passer ou non sous forme d'énergie, sans plus attendre.

Eh bien, cette petite puce abrite différents modules que nous pouvons appeler des noyaux, en plus d'autres éléments qui ne nous intéressent pas maintenant. Il y a quelques années, les processeurs n'avaient qu'un seul de ces cœurs et pouvaient traiter une instruction par cycle. Ces cycles sont mesurés en mégahertz (MHz), plus il y a de MHz, plus nous pouvons faire d'instructions à chaque seconde.

Maintenant, nous avons non seulement un noyau, mais plusieurs. Chaque cœur représente un sous-processeur, c'est-à-dire que chacun de ces sous -processeurs exécutera l'une de ces instructions, pouvant ainsi exécuter plusieurs d'entre elles dans chaque cycle d'horloge avec un processeur multicœur. Si nous avons un processeur à 4 cœurs, nous pouvons exécuter 4 instructions simultanément au lieu d'une seule. L'amélioration des performances est donc quadruplée. Si nous avons 6, alors 6 instructions en même temps. C'est ainsi que les processeurs actuels sont beaucoup plus puissants que les anciens.

Et rappelez-vous, ces cœurs sont physiquement présents dans notre processeur, ce n'est pas quelque chose de virtuel ou créé par du code.

Que sont les threads de traitement?

Les threads, les threads ou les threads ne sont pas une partie physique du processeur, du moins quand il s'agit de plus de cœurs ou quelque chose comme ça.

Nous pouvons définir un thread de traitement comme le flux de contrôle des données d'un programme. C'est un moyen qui permet de gérer plus efficacement les tâches d'un processeur et de ses différents cœurs. Grâce aux threads, les unités d'allocation minimales, qui sont les tâches ou les processus d'un programme, peuvent être divisées en morceaux pour optimiser les temps d'attente de chaque instruction dans la file d'attente de processus. Ces morceaux sont appelés threads ou threads.

En d'autres termes, chaque thread de traitement contient un morceau de la tâche à effectuer, quelque chose de plus simple à réaliser que si nous introduisons la tâche complète dans le noyau physique. De cette façon, le CPU est capable de traiter plusieurs tâches en même temps et simultanément, en fait, il pourra faire autant de tâches qu'il y a de threads, et normalement il y en a une ou deux pour chaque cœur. Dans les processeurs qui ont par exemple 6 cœurs et 12 threads, ils pourront diviser les processus en 12 tâches différentes au lieu de 6.

Cette façon de travailler permet de gérer les ressources du système de manière plus équitable et efficace. Vous savez… il se divise et vous gagnerez de toute vie. Ces processeurs sont appelés multi-threads. Pour l'instant, nous devons être clairs sur le fait qu'un processeur à 12 threads n'aura pas 12 cœurs, les cœurs sont quelque chose d'origine physique et les threads quelque chose d'origine logique.

Cela a sûrement été quelque peu abstrait et difficile à comprendre, alors voyons comment cela se traduit si nous parlons de l'architecture d'un programme sur notre ordinateur.

Programmes, processus et threads

Nous savons tous ce qu'est un programme, c'est un code qui est stocké dans notre ordinateur et qui est destiné à effectuer une tâche spécifique. Une application est un programme, un pilote est également un programme et même le système d'exploitation est un programme capable d'exécuter d'autres programmes à l'intérieur. Tous sont stockés sous forme binaire, car le processeur ne comprend que les uns et les zéros, actuels / non courants.

Les processus du programme

Pour exécuter un programme, il est chargé en mémoire, RAM. Ce programme est chargé par des processus, qui portent son code binaire associé et les ressources dont il a besoin pour fonctionner, qui seront attribués "intelligemment" par le système d'exploitation.

Les ressources de base dont un processus a besoin sont un compteur de programme et une pile d'enregistrements.

  • Compteur de programmes (CP): il est appelé un pointeur d'instructions et il garde une trace de la séquence d'instructions en cours de traitement. Registres: c'est un entrepôt situé dans le processeur où une instruction, une adresse de stockage ou toute autre donnée peut être stockée. Pile: c'est la structure de données qui stocke les informations relatives aux instances qu'un programme a actives dans l'ordinateur.

Ensuite, chaque programme est divisé en processus et est stocké dans un certain endroit en mémoire. De plus, chaque processus s'exécute indépendamment, et c'est très important à comprendre car c'est ainsi que le processeur et le système sont capables d'exécuter plusieurs tâches en même temps, ce que nous appelons un système multitâche. Ce système de traitement est le coupable pour que nous puissions continuer à travailler sur notre PC, même si un programme a été bloqué.

Les fils d'un processus

C'est là que les threads de traitement, appelés threads dans les systèmes d'exploitation, apparaissent. Un thread est l'unité d'exécution d'un processus. Nous pouvons diviser le processus en threads, et chacun d'eux sera un thread d'exécution.

Si un programme n'est pas multithread, les processus qu'il contient n'auront qu'un thread, ils ne peuvent donc être traités qu'en une seule fois. Au contraire, si nous avons des processus multi-threads, ceux - ci peuvent être divisés en plusieurs morceaux, et chacun de ces threads partage les ressources affectées au processus. Nous avons donc dit que le multithreading est plus efficace.

De plus, chaque thread a sa propre pile d'enregistrements afin que deux ou plusieurs d'entre eux puissent être traités en même temps, contrairement à un seul processus, qui devra être exécuté en même temps. Les threads sont des tâches plus simples qui vous permettent d'exécuter un processus de manière fractionnée. Et c'est essentiellement la fonction finale des threads de traitement. Plus il y a de threads, plus la division des processus est importante, plus le volume de calculs simultanés est important et, par conséquent, plus l'efficacité est grande.

Nous n'avons pas encore fini, nous avons encore la question en suspens de Que se passe-t-il alors avec un noyau à double fil ? Nous avons déjà dit que chaque noyau est capable d'exécuter une seule instruction à la fois. La CPU dispose d'un algorithme complexe qui divise les temps d'exécution de la manière la plus efficace possible, attribuant ainsi à chaque tâche un certain intervalle d'exécution. Le changement entre les tâches est si rapide qu'il donnera l'impression que le noyau exécute les tâches en parallèle.

Pouvons-nous voir ces fils ou fils dans le système?

Pas de manière trop détaillée, mais oui, nous pouvons les voir, à la fois sur Windows et Mac.

Dans le cas de Windows, nous n'aurons qu'à ouvrir le gestionnaire de tâches et aller à " performances ". Ensuite, nous cliquerons sur le lien « moniteur de ressources » ci-dessous. Dans cette nouvelle fenêtre, chaque processus sera divisé en consommation CPU et en threads, ce seront les threads.

Dans le moniteur d'activité Mac, nous aurons directement les threads répertoriés sur l'écran principal.

Ceci conclut notre article sur les threads de traitement CPU. C'est certainement un sujet quelque peu complexe à expliquer et assez abstrait, surtout pour les utilisateurs qui ne comprennent pas bien le fonctionnement d'un processeur. Mais dans ce cas, nous avons de bonnes nouvelles, car nous avons également un très bon article sur le fonctionnement d'un processeur et la façon dont le cycle d'instructions complet est exécuté.

Consultez nos articles sur:

Nous espérons que tout a été plus ou moins clair, et nous apprécions que vous nous ayez choisis pour en savoir plus sur ce sujet.

Tutoriels

Le choix des éditeurs

Back to top button