Maison  >  Article  >  Opération et maintenance  >  A quoi sert le multi-threading du processeur ?

A quoi sert le multi-threading du processeur ?

anonymity
anonymityoriginal
2019-05-06 17:15:4029620parcourir

Le rôle du multithreading du processeur : il peut préparer plus de données à traiter pour le cœur de calcul à grande vitesse et réduire le temps d'inactivité du cœur de calcul, il résout le problème d'équilibrage de charge et exploite pleinement ; Ressources CPU et améliore l'efficacité du CPU ; plusieurs choses peuvent être effectuées en même temps sans interférer les unes avec les autres, ce qui réduit le temps nécessaire pour gérer un grand nombre d'opérations ou de situations d'E/S.

A quoi sert le multi-threading du processeur ?

Qu'est-ce qu'un processeur ?

L'unité centrale de traitement (CPU), en tant que noyau de calcul et de contrôle du système informatique, est l'unité d'exécution finale pour le traitement de l'information et l'exécution du programme. Depuis sa création, le CPU a fait de grands progrès en termes de structure logique, d'efficacité opérationnelle et d'extension de fonctions.

L'unité centrale de traitement (CPU) est l'un des principaux dispositifs des ordinateurs électroniques et le composant principal des ordinateurs. Sa fonction est principalement d'interpréter les instructions informatiques et de traiter les données dans les logiciels informatiques. Le processeur est le composant central de l'ordinateur qui lit les instructions, les décode et les exécute. L'unité centrale de traitement se compose principalement de deux parties, à savoir le contrôleur et l'unité arithmétique, qui comprennent également la mémoire cache et le bus de données et de contrôle qui réalisent la connexion entre elles. Les trois composants principaux d'un ordinateur électronique sont le processeur, la mémoire interne et les périphériques d'entrée/sortie. Les fonctions de l'unité centrale de traitement consistent principalement à traiter les instructions, à effectuer des opérations, à contrôler le temps et à traiter les données.

Dans l'architecture informatique, le processeur est l'unité matérielle de base qui contrôle et alloue toutes les ressources matérielles de l'ordinateur (telles que la mémoire, les unités d'entrée et de sortie) et effectue les opérations générales. Le CPU est le cœur de calcul et de contrôle de l’ordinateur. Les opérations de toutes les couches logicielles du système informatique seront éventuellement mappées aux opérations du processeur via le jeu d'instructions.

L'unité centrale de traitement comprend principalement des unités arithmétiques (Arithmetic Logic Unit, ALU, Arithmetic Logic Unit) et la mémoire cache (Cache) et le bus (Data), contrôle et état qui réalise la connexion entre eux. . Avec la mémoire interne (Mémoire) et les dispositifs d'entrée/sortie (E/S), il est collectivement connu comme les trois composants principaux des ordinateurs électroniques.

A quoi sert le multi-threading du processeur ?

J'ai toujours eu ce doute. Dans les processeurs informatiques multicœurs et multithreads d'aujourd'hui, comment fonctionnent plusieurs threads dans un processus ? (Le système et la JVM allouent-ils une petite quantité de ressources et finalement commutent à tour de rôle pour la planification temporelle ? Ou ces threads sont-ils alloués à différents cœurs pour s'exécuter en même temps ?)

Comment le processeur Les threads de gestion du processeur ?

Le CPU utilise un mécanisme similaire à la rotation des tranches de temps, ce qui signifie que lorsqu'un processus fait une demande d'exécution en même temps, les autres processus ne peuvent qu'attendre qu'elle se termine avant que le CPU traite d'autres requêtes. . D'autres processus équivalent à une attente dans une file d'attente. Bien entendu, afin d'éviter l'exécution illimitée d'un certain processus, un temps est généralement limité. En cas d'expiration, le processeur change de thread selon un certain algorithme de planification de thread. On peut voir que plusieurs threads s’exécutent simultanément. En fait, il n’y a qu’un seul thread en cours d’exécution à un moment donné.

Pour le multi-core, chaque cœur a le même principe. Mais deux cœurs peuvent allouer des ressources via le système et exécuter différents processus en même temps, ce qui est plus compliqué.

Chaque processus a un numéro de processus attribué par le CPU. Évitez toute confusion.

Quels sont les avantages d'avoir plus de threads CPU ?

Théoriquement, un cœur ne peut correspondre qu'à un seul thread. La technologie hyper-threading d'Intel utilise les ressources du processeur inutilisées pour intégrer les threads virtuels. En termes de performances informatiques, elle n'est pas aussi bonne que les threads réels du cœur physique. Cependant, cela peut améliorer dans une certaine mesure la capacité de traitement parallèle du processeur. Tout comme l’exécution dans le désordre, l’hyperthreading est également une solution pour améliorer l’efficacité de l’utilisation du processeur.

La technologie multithread du processeur peut préparer davantage de données à traiter pour le cœur de calcul à grande vitesse et réduire le temps d'inactivité du cœur de calcul ; elle résout le problème d'équilibrage de charge et utilise pleinement les ressources du processeur ; , et améliore l'utilisation du processeur. Grâce au multithreading, plusieurs tâches peuvent être effectuées en même temps sans interférer les unes avec les autres, ce qui réduit le temps nécessaire pour traiter un grand nombre d'opérations ou de situations d'E/S.

Prenons simplement l’exemple que vous avez donné. Lorsqu'un noyau traite la tâche A, l'ensemble du noyau n'est pas impliqué dans le travail et il existe encore d'importantes ressources inutilisées, et ces ressources peuvent être utilisées pour prétraiter un ou plusieurs des éléments B, C et D. Cependant, un problème majeur de la technologie hyper-threading est la concurrence avec le thread principal. Par exemple, lorsque le thread virtuel et le thread physique réel doivent appeler une certaine unité de cache, le thread virtuel suspendra son travail

Cependant, si l'unité est appelée par le thread virtuel avant le thread physique ; , alors le thread virtuel affectera Le travail du thread principal physique réduit en fait l'efficacité d'exécution. La génération actuelle de technologie hyper-threading a apporté de meilleures améliorations sur ce problème, donc l'effet est toujours bon, même s'il ne peut pas être comparé aux threads physiques. Un processeur dual-core à quatre threads actuel, tel que le I3, peut surpasser les processeurs physiques à trois cœurs en informatique parallèle et être à égalité avec les processeurs à quatre cœurs d'entrée de gamme, ce qui est déjà très bon.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn