Les unités centrales de traitement (UC) sont le cerveau de nos ordinateurs. Ils traitent tout ce que nous faisons au quotidien, de l'ouverture d'une application au visionnage d'un film. Mais qu'est-ce qu'un CPU exactement? Comment ça marche? Et quelle est la différence entre les CPU et les vCPU de plus en plus populaires ?
Comprendre le cerveau des ordinateurs
Les premiers ordinateurs électroniques ont été créés au début des années 1800, selon le guide d'histoire complet publié par G2. Cependant, ces ordinateurs étaient gros et coûteux, et ils ne pouvaient être utilisés que par des mathématiciens et des scientifiques formés.
Charles Babbage est crédité d'avoir inventé la première machine informatique, le Difference Engine, qui pourrait être programmé pour effectuer n'importe quel calcul qui pourrait être fait à la main. Cependant, le projet Difference Engine n'a jamais été achevé en raison d'un manque de financement, selon le Computer History Museum.
En 1937, Babbage a mentionné pour la première fois le moteur analytique, qui allait devenir le premier ordinateur mécanique polyvalent au monde. "Le moteur analytique incorporait tous les éléments d'un ordinateur moderne: une unité logique arithmétique, un flux de contrôle sous la forme de branchements et de boucles conditionnels, et une mémoire intégrée" (
Remarques sur l'électronique).Un composant clé de l'ordinateur d'aujourd'hui est le CPU ou l'unité centrale de traitement. Le CPU est responsable de l'exécution des instructions qui lui sont données par un logiciel tel qu'un système d'exploitation ou une application. En termes simples, vous pouvez considérer le processeur comme le cerveau de votre ordinateur. Le CPU est composé de deux parties principales: l'unité de contrôle et l'unité arithmétique et logique (ALU). Si ces abréviations vous confondent, consultez notre aperçu des différences entre les APU, les CPU et les GPU.
L'unité de contrôle est chargée d'aller chercher les instructions dans la mémoire, de les décoder, puis de les envoyer à l'unité logique arithmétique pour être exécutées. L'ALU effectue des opérations arithmétiques et logiques sur les données stockées dans des registres, qui sont des unités de stockage internes à l'intérieur du CPU.
Moderne Les CPU contiennent également un cache, qui est une petite quantité de mémoire à grande vitesse qui stocke les instructions et les données fréquemment utilisées. Les caches sont divisés en niveaux; Le cache de niveau 1 (L1) est intégré à la matrice du processeur lui-même, le cache de niveau 2 (L2) se trouve sur une puce séparée à proximité de le processeur et le cache de niveau 3 (L3) sont plus éloignés du processeur sur sa propre puce ou même sur son propre circuit planche.
CPU contre processeur virtuel
Avec l'essor des services cloud, l'avènement de l'unité centrale de traitement virtuelle, ou vCPU en abrégé, a vu le jour. TechTarget définit le vCPU comme "une unité centrale de traitement physique (CPU) qui est affectée à une machine virtuelle (VM)".
Les machines virtuelles sont essentiellement des systèmes d'exploitation autonomes qui s'exécutent dans un autre système d'exploitation comme s'il s'agissait d'applications. Les machines virtuelles sont utilisées à diverses fins, telles que le test de nouveaux logiciels dans un environnement sûr, l'exécution de plusieurs systèmes d'exploitation (par exemple, Windows et Linux) sur le même ordinateur, ou la consolidation de plusieurs serveurs physiques en un seul serveur pour économiser de l'espace et réduire frais.
Ainsi, un vCPU est une implémentation logicielle d'un CPU; il n'existe pas physiquement à l'intérieur de votre ordinateur comme le fait un vrai processeur. L'hyperviseur, qui est le logiciel qui crée et gère les machines virtuelles, attribue des vCPU à la machine virtuelle. Chaque vCPU est vu par le système d'exploitation à l'intérieur de la VM comme un véritable cœur de CPU. Voir notre explication des hyperviseurs pour apprendre plus.
Cependant, comme les vCPU sont basés sur des logiciels, ils ne sont pas aussi efficaces que les vrais CPU. Il est donc important de préciser combien cœurs de votre processeur lorsque vous achetez un ordinateur (par exemple, "quad-core" signifie quatre cœurs). La même règle s'applique lors du choix d'un plan d'hébergement de serveur privé virtuel (VPS) ou de serveur dédié.
La principale différence entre les CPU et les vCPU est que les CPU sont basées sur le matériel tandis que les vCPU sont basées sur le logiciel. Cela signifie que les processeurs existent physiquement à l'intérieur de votre ordinateur, contrairement aux vCPU; au lieu de cela, ils sont créés par des hyperviseurs en cas de besoin. En raison de cette différence d'implémentation, les CPU sont beaucoup plus efficaces que les vCPU; ils n'ont pas les frais généraux associés à l'exécution de logiciels.
Depuis le début des années 2000, les vCPU sont devenus de plus en plus populaires car ils sont moins chers et plus faciles à attribuer que les CPU physiques; Cependant, si vous recherchez des performances, il est préférable d'utiliser un ordinateur avec plusieurs cœurs de processeur, car chaque cœur peut traiter les instructions de manière indépendante.
Cœurs vs. Fils
Un processeur peut avoir un ou plusieurs cœurs, c'est-à-dire l'unité de traitement qui exécute des tâches à un moment donné. Le noyau maintiendra l'ordre d'exécution des tâches, les registres et le cache (le cas échéant) et effectuera les opérations via l'ALU. Le processeur contrôle les cœurs, mais le cœur exécute chaque processus logiciel ou thread planifié par le système d'exploitation. Un thread est une séquence indépendante d'instructions qui peut être traitée par un processeur.
Plusieurs threads peuvent exister dans le même processus et partager le même espace mémoire. Cela leur permet de communiquer entre eux plus facilement que s'ils s'exécutaient dans des processus séparés. Les threads sont souvent utilisés pour améliorer les performances des applications multithread en permettant à différentes parties du programme de s'exécuter simultanément sur différents cœurs ou processeurs.
Le terme "thread" est utilisé dans la terminologie informatique depuis de nombreuses années; cependant, ce n'est qu'au début des années 2000 que la prise en charge matérielle des threads a été introduite dans les processeurs. Cela permettait à plusieurs threads d'être exécutés simultanément sur des cœurs séparés. Auparavant, un seul thread pouvait être exécuté à la fois sur un seul cœur, quel que soit le nombre de cœurs présents dans le processeur. Les processeurs multicœurs sont désormais monnaie courante et la plupart des systèmes d'exploitation offrent un certain niveau de prise en charge pour l'exécution de programmes en tant que plusieurs threads.
Résumer les problèmes de base
Pour résumer, les processeurs sont les cerveaux matériels de nos ordinateurs, tandis que leurs homologues virtuels, les vCPU, sont basés sur des logiciels et créés par des hyperviseurs pour s'exécuter dans des machines virtuelles. Les cœurs sont les unités de traitement matérielles d'un processeur, tandis que les threads sont les instructions logicielles qui peuvent être traitées par un processeur.
Les threads peuvent être exécutés simultanément sur des cœurs séparés, ce qui permet à différentes parties du programme de s'exécuter en même temps. Cela peut améliorer les performances matérielles puisque plusieurs tâches peuvent être traitées simultanément au lieu de séquentiellement.
Maintenant que vous comprenez la différence entre les CPU, les vCPU, les cœurs et les threads, vous pouvez prendre une décision éclairée lors du choix d'un ordinateur ou d'un serveur. Si vous recherchez des performances, il est préférable de choisir un ordinateur avec plusieurs cœurs de processeur, car chaque cœur peut traiter les instructions de manière indépendante. Cependant, si vous recherchez une solution rentable, les vCPU peuvent être la solution.