Quels sont les cœurs logiques du processeur ? Processeurs multicœurs : principes de fonctionnement. Clarification des liens familiaux

L'invention concerne le domaine de l'automatisation et de l'informatique et peut être utilisée dans des dispositifs de commande de processus et des systèmes experts en intelligence artificielle.
Le but de l'invention est de simplifier le processeur et d'augmenter ses performances.
Sur la fig. 1 montre un schéma d'un processeur logique ; sur la fig. 2 - schéma du bloc de calcul des fonctions logiques ; sur la fig. 3 - chronogrammes de fonctionnement du processeur.
Le processeur logique contient (Fig. 1) l'entrée de données 1, l'entrée de synchronisation 2, l'entrée d'adresse 3, le décodeur 4, le registre d'arguments 5, le premier registre de coefficients 6, le deuxième registre de coefficients 7, l'additionneur 8, le bloc de calcul de fonction logique 9 et l'élément 10. , registre de somme 11, registre de résultat 12 et sortie 13.
Le bloc 9 de calcul des fonctions logiques contient (Fig. 2) les sorties 14, 15 et 16, le nœud 17 des éléments d'équivalence, le nœud 18 des éléments ET, la sortie 19.
Le processeur fonctionne comme suit.
Le système de fonctions logiques est représenté sous la forme d'un polynôme arithmétique, formé par addition arithmétique de fonctions logiques (f 1, . . . , f m), dont chacune est prise avec son propre coefficient (poids binaire 2 1-1) :
P = f+f+f+. . .
Chaque chiffre du polynôme calculé est égal à la valeur d'une certaine fonction déterminée par le coefficient correspondant, et la tâche de traitement d'un système de fonctions logiques est réduite au calcul du polynôme.
Les arguments de la fonction x et les coefficients M1 et M2 sont envoyés aux registres 5,6,7 via l'entrée de données 1 dans l'ordre indiqué dans le diagramme (Fig. 3). Chaque donnée est accompagnée de son adresse à l'entrée 3, qui est convertie sur le décodeur 4 en signaux d'échantillonnage des registres correspondants 5, 6, 7.
Au moment où l'argument X 1 arrive à l'entrée de l'additionneur 8, la valeur de la conjonction sur cet argument a déjà été générée en sortie du bloc 9 (conformément à la formule de la condition que la conjonction soit égale à un) et le registre 11 est sélectionné pour enregistrer la somme de l'argument X 1 avec le contenu du registre 11, dans lequel contient déjà le résultat de la sommation de i-1 termes du polynôme. Le cycle d'écriture dans le registre 11 est généré à la sortie de l'élément ET 10 uniquement si la valeur de la conjonction est égale à un, c'est-à-dire dans le registre 11, seuls sont accumulés les arguments pour lesquels la valeur de la conjonction est égale à un. Le résultat final du calcul est écrit dans le registre 12.
A titre d'exemple, on considère un système de 14 fonctions logiques de quatre variables : f 1, . . . , f 14 (voir tableau). Pour chaque fonction, est indiqué le nombre de commandes (k) nécessaires à sa mise en œuvre sur des appareils connus utilisant des programmes opérateurs classiques. Une représentation arithmétique des mêmes fonctions ϕ 1, . . . , ϕ 14 . Représentation arithmétique du système de fonctions d'origine par transformation
2 i-1 = P(x) P(x)= 4263x o -914x 1 +218x 2 +2159x 3 +1032x 4
La mise en œuvre de ce polynôme sur le processeur logique parallèle proposé nécessite cinq cycles d'horloge. Le calcul sur les appareils connus (même sans prendre en compte les commandes nécessaires pour passer de fonction en fonction) nécessite 55 cycles d'horloge.
(56) Mishev Zh. et al. M. : Génie Mécanique, 1986, p. 36.
Certificat de droit d'auteur de l'URSS N 1136145, classe. G 06 F 7/00, 1981.

ovs dans la machine et j'ai trouvé quelques messages mais je suis confus car certains ont mentionné que vous obtenez des cœurs logiques et des cœurs physiques, etc.
Alors, quelle est la différence entre les cœurs logiques et physiques et existe-t-il un moyen d’obtenir des cœurs physiques ? Ou est-il judicieux d’inclure les cœurs logiques dans notre décompte ?

4 Solutions collectent des formulaires Web pour « Alors, quels sont les cœurs logiques d'un processeur (par opposition aux cœurs physiques d'un processeur) ? »

Les cœurs physiques sont simplement les cœurs physiques d’un processeur. Les cœurs logiques sont la capacité d’un seul cœur à effectuer deux ou plusieurs choses en même temps. Cela est né du fait que les premiers processeurs Pentium 4 étaient capables de faire ce qu'on appelait Hyper Threading (HTT).

C'était un jeu auquel on jouait lorsque les composants de support du noyau n'étaient pas utilisés pour certains types d'instructions alors que d'autres travaux longs pouvaient être effectués. De cette façon, le processeur pourrait travailler sur deux choses en même temps.

Les nouveaux cœurs sont des processeurs plus complets, ils fonctionnent donc sur plusieurs choses à la fois, mais ce ne sont pas de véritables processeurs en tant que cœurs physiques. Vous pouvez en savoir plus sur les limites de l'hyperthreading et de la physique de base ici sur tomshardware dans cet article intitulé : Intel Core i5 et Core i7 : Intel Mainstream Magnum Opus.

Vous pouvez voir le détail de votre fenêtre en utilisant la commande lscpu :

$ lscpu Architecture : x86_64 Mode(s) de fonctionnement du processeur : 32 bits, 64 bits Processeur(s) : 4 Thread(s) par cœur : 2 Cœur(s) par socket : 2 Socket(s) CPU : 1 NUMA nœud(s) : 1 ID du fournisseur : Véritable famille de processeurs Intel : 6 Modèle : 37 Pas à pas : 5 MHz CPU : 2667 000 Virtualisation : VT-x Cache L1d : 32 Ko Cache L1i : 32 Ko Cache L2 : 256 Ko Cache L3 : 3072 Ko CPU(s) NUMA node0 ) : 0-3

Dans ce qui précède, mon ordinateur portable Intel i5 dispose de 4 "processeurs" au total

Processeur(s) : 4

dont il y a 2 cœurs physiques

Noyau(s) par socket : 2

dont chacun peut exécuter jusqu'à 2 threads

Sujet(s) par noyau : 2

en même temps. Ces threads sont des capacités logiques du noyau.

Les cœurs physiques correspondent au nombre de cœurs physiques, composants matériels réels.

Les cœurs logiques correspondent au nombre de cœurs physiques multiplié par le nombre de threads pouvant s'exécuter sur chaque cœur à l'aide de l'hyperthreading.

par exemple, mon processeur à 4 cœurs fonctionne sur deux threads par cœur, j'ai donc 8 processeurs logiques.

$ sudo dmidecode |egrep "Désignation du socket : Proc|((Thread|Core) Count)" Désignation du socket : Proc 1 Nombre de cœurs : 14 Nombre de threads : 28 Désignation du socket : Proc 2 Nombre de cœurs : 14 Nombre de threads : 28

Deux nids. Chaque socket possède 14 cœurs physiques. Chaque noyau a deux fils (28/14). Le nombre total de "cpus" logiques ou d'unités de traitement logiques est de 56 (c'est ce qui est "top" et certaines autres commandes vous affichent comme numéro de "cpus").

La technologie Hyperthreading permet à un cœur de processeur physique de se comporter comme deux processeurs logiques.

Ainsi, un cœur de processeur peut exécuter simultanément deux threads indépendants.

Intel appelle le processeur physique un socket.

L'hyperthreading permet à un processeur physique de se comporter comme s'il disposait de deux processeurs physiques, appelés processeurs logiques. Pour quoi?

Bien que l'hyperthreading ne double pas les performances du système, il peut les améliorer en utilisant des ressources inutilisées, ce qui entraîne un débit plus élevé pour certains types critiques de charges de travail. Une application exécutée sur un processeur logique d'un cœur occupé peut s'attendre à un débit légèrement supérieur à la moitié du débit qu'elle recevrait en mode unique sur un processeur qui ne prend pas en charge l'hyperthreading.

CV

Le processeur physique est quelque chose que nous pouvons voir et planter.

Le processeur logique est similaire à : Phsical Core, agissant comme deux cœurs physiques

Les premiers processeurs informatiques multicœurs sont apparus sur le marché grand public au milieu des années 2000, mais de nombreux utilisateurs ne comprennent toujours pas bien ce que sont les processeurs multicœurs et comment comprendre leurs caractéristiques.

Format vidéo de l'article « Toute la vérité sur les processeurs multicœurs »

Une explication simple de la question « qu'est-ce qu'un processeur »

Le microprocesseur est l’un des principaux appareils d’un ordinateur. Ce nom officiel sec est souvent abrégé en simplement « processeur »). Le processeur est un microcircuit avec une surface comparable à une boîte d'allumettes. Si vous le souhaitez, le processeur est comme le moteur d’une voiture. La partie la plus importante, mais pas la seule. La voiture a également des roues, une carrosserie et un lecteur avec phares. Mais c'est le processeur (comme un moteur de voiture) qui détermine la puissance de la « machine ».

Beaucoup de gens appellent un processeur une unité système - une «boîte» à l'intérieur de laquelle se trouvent tous les composants du PC, mais c'est fondamentalement faux. L'unité système est le boîtier de l'ordinateur avec tous ses composants - disque dur, RAM et bien d'autres pièces.

Fonction du processeur - Calcul. Peu importe lesquels exactement. Le fait est que tout travail informatique repose uniquement sur des calculs arithmétiques. Addition, multiplication, soustraction et autres algèbres - tout cela est effectué par un microcircuit appelé « processeur ». Et les résultats de ces calculs sont affichés à l'écran sous la forme d'un jeu, d'un fichier Word ou simplement d'un bureau.

La partie principale de l'ordinateur qui effectue les calculs est qu'est-ce qu'un processeur.

Qu'est-ce qu'un cœur de processeur et un multicœur

Dès le début des siècles de processeurs, ces microcircuits étaient monocœurs. Le cœur est en fait le processeur lui-même. Sa partie principale et principale. Les processeurs ont également d'autres parties - par exemple, des « pattes »-contacts, un « câblage électrique » microscopique - mais c'est le bloc qui est responsable des calculs qu'on appelle coeur de processeur. Lorsque les processeurs sont devenus très petits, les ingénieurs ont décidé de combiner plusieurs cœurs dans un seul « boîtier » de processeur.

Si vous imaginez un processeur comme un appartement, alors le noyau est une grande pièce dans un tel appartement. Un appartement d'une pièce est un cœur de processeur (une grande pièce-hall), une cuisine, une salle de bain, un couloir... Un appartement de deux pièces est comme deux cœurs de processeur avec d'autres pièces. Il existe des appartements de trois, quatre et même 12 pièces. Il en va de même pour les processeurs : à l'intérieur d'un cristal « d'appartement », il peut y avoir plusieurs cœurs « de pièce ».

Multicœur- Il s'agit de la division d'un processeur en plusieurs blocs fonctionnels identiques. Le nombre de blocs est le nombre de cœurs à l’intérieur d’un processeur.

Types de processeurs multicœurs

Il existe une idée fausse : « plus un processeur possède de cœurs, mieux c'est ». C’est exactement ainsi que les spécialistes du marketing, qui sont payés pour créer ce genre d’idée fausse, tentent de présenter le problème. Leur tâche est de vendre des processeurs bon marché, à des prix plus élevés et en quantités énormes. Mais en réalité, le nombre de cœurs est loin d'être la principale caractéristique des processeurs.

Revenons à l'analogie des processeurs et des appartements. Un appartement de deux pièces est plus cher, plus confortable et plus prestigieux qu'un appartement d'une pièce. Mais seulement si ces appartements sont situés dans le même quartier, équipés de la même manière, et que leur rénovation est similaire. Il existe des processeurs quad-core (ou même 6-core) faibles qui sont nettement plus faibles que les processeurs dual-core. Mais il est difficile d’y croire : bien sûr, la magie des grands nombres 4 ou 6 contre « quelques » deux. Pourtant, c’est exactement ce qui arrive très, très souvent. On dirait le même quatre pièces, mais en ruine, sans rénovation, dans un quartier complètement isolé - et même au prix d'un luxueux deux pièces en plein centre.

Combien de cœurs y a-t-il à l’intérieur d’un processeur ?

Pour les ordinateurs personnels et les ordinateurs portables, les processeurs monocœur ne sont pas produits correctement depuis plusieurs années et il est très rare de les trouver en vente. Le nombre de cœurs commence à deux. Quatre cœurs - en règle générale, ce sont des processeurs plus chers, mais ils ont un retour. Il existe également des processeurs à 6 cœurs, incroyablement chers et beaucoup moins utiles en pratique. Peu de tâches peuvent améliorer les performances de ces cristaux monstrueux.

AMD a expérimenté la création de processeurs à 3 cœurs, mais cela appartient déjà au passé. Cela s’est plutôt bien passé, mais leur temps est révolu.

Soit dit en passant, AMD produit également des processeurs multicœurs, mais, en règle générale, ils sont nettement plus faibles que les concurrents d'Intel. Certes, leur prix est bien inférieur. Il vous suffit de savoir que 4 cœurs d'AMD s'avéreront presque toujours sensiblement plus faibles que les mêmes 4 cœurs d'Intel.

Vous savez désormais que les processeurs sont dotés de 1, 2, 3, 4, 6 et 12 cœurs. Les processeurs monocœur et 12 cœurs sont très rares. Les processeurs triple cœur appartiennent au passé. Les processeurs à six cœurs sont soit très chers (Intel), soit pas si puissants (AMD) que vous payez plus pour leur nombre. Les 2 et 4 cœurs sont les appareils les plus courants et les plus pratiques, du plus faible au plus puissant.

Fréquence du processeur multicœur

L’une des caractéristiques des processeurs informatiques est leur fréquence. Ces mêmes mégahertz (et plus souvent gigahertz). La fréquence est une caractéristique importante, mais loin d’être la seule. Oui, ce n’est peut-être pas le plus important. Par exemple, un processeur dual-core de 2 gigahertz est une offre plus puissante que son homologue monocœur de 3 gigahertz.

Il est totalement faux de supposer que la fréquence d’un processeur est égale à la fréquence de ses cœurs multipliée par le nombre de cœurs. Pour faire simple, un processeur 2 cœurs avec une fréquence de cœur de 2 GHz a une fréquence totale en aucun cas égale à 4 gigahertz ! Même le concept de « fréquence commune » n’existe pas. Dans ce cas, Fréquence du processeurégale exactement à 2 GHz. Aucune multiplication, addition ou autre opération.

Et encore une fois, nous « transformerons » les processeurs en appartements. Si la hauteur des plafonds de chaque pièce est de 3 mètres, la hauteur totale de l'appartement restera la même - les mêmes trois mètres, et non un centimètre plus haut. Quel que soit le nombre de pièces dans un tel appartement, la hauteur de ces pièces ne change pas. De même vitesse d'horloge des cœurs de processeur. Cela ne s’additionne ni ne se multiplie.

Multicœur virtuel ou Hyper-Threading

Il y a aussi cœurs de processeur virtuel. La technologie Hyper-Threading des processeurs Intel fait « penser » à l’ordinateur qu’il y a en réalité 4 cœurs à l’intérieur d’un processeur double cœur. Un peu comme un seul disque dur divisé en plusieurs logiques- les disques locaux C, D, E et ainsi de suite.

HyperLe threading est une technologie très utile pour un certain nombre de tâches.. Il arrive parfois que le cœur du processeur ne soit utilisé qu'à moitié et que les transistors restants dans sa composition soient inactifs. Les ingénieurs ont trouvé un moyen de faire fonctionner ces « oisifs » également, en divisant chaque cœur de processeur physique en deux parties « virtuelles ». C’est comme si une pièce assez grande était divisée en deux par une cloison.

Cela a-t-il un sens pratique ? astuce avec les cœurs virtuels? Le plus souvent – ​​oui, même si tout dépend des tâches spécifiques. Il semble qu'il y ait plus de pièces (et surtout, elles sont utilisées de manière plus rationnelle), mais la superficie de la pièce n'a pas changé. Dans les bureaux, de telles cloisons sont incroyablement utiles, ainsi que dans certains appartements résidentiels. Dans d'autres cas, cela ne sert à rien de diviser la pièce (en divisant le cœur du processeur en deux cœurs virtuels).

Notez que le plus cher et processeurs de classe productiveCœuri7 est obligatoirement équipéHyperEnfilage. Ils disposent de 4 cœurs physiques et de 8 cœurs virtuels. Il s'avère que 8 threads de calcul fonctionnent simultanément sur un processeur. Processeurs de classe Intel moins chers mais également puissants Cœuri5 se composent de quatre cœurs, mais Hyper Threading n'y fonctionne pas. Il s'avère que le Core i5 fonctionne avec 4 threads de calculs.

Processeurs Cœuri3- une « moyenne » typique, tant en termes de prix que de performances. Ils ont deux cœurs et aucune trace d’Hyper-Threading. Au total, il s'avère que Cœuri3 seulement deux threads de calcul. Il en va de même pour les cristaux franchement économiques Pentium etCéleron. Deux cœurs, pas d'hyper-threading = deux threads.

Un ordinateur a-t-il besoin de plusieurs cœurs ? De combien de cœurs un processeur a-t-il besoin ?

Tous les processeurs modernes sont suffisamment puissants pour les tâches courantes. Navigation sur Internet, correspondance sur les réseaux sociaux et par e-mail, tâches bureautiques Word-PowerPoint-Excel : Atom faible, budget Celeron et Pentium conviennent à ce travail, sans oublier le Core i3 plus puissant. Deux cœurs suffisent amplement pour un travail normal. Un processeur avec un grand nombre de cœurs n'apportera pas d'augmentation significative de la vitesse.

Pour les jeux, vous devez faire attention aux processeursCœuri3 oui5. Au contraire, les performances de jeu ne dépendront pas du processeur, mais de la carte vidéo. Un jeu nécessitera rarement toute la puissance d’un Core i7. Par conséquent, on pense que les jeux ne nécessitent pas plus de quatre cœurs de processeur, et le plus souvent deux cœurs conviennent.

Pour les travaux sérieux tels que les programmes d'ingénierie spéciaux, l'encodage vidéo et d'autres tâches gourmandes en ressources Un équipement vraiment productif est nécessaire. Souvent, non seulement des cœurs de processeur physiques, mais également virtuels sont utilisés ici. Plus il y a de threads informatiques, mieux c'est. Et peu importe le prix d'un tel processeur : pour les professionnels, le prix n'est pas si important.

Les processeurs multicœurs présentent-ils des avantages ?

Absolument oui. Dans le même temps, l'ordinateur est engagé dans plusieurs tâches - au moins exécuter Windows (d'ailleurs, ce sont des centaines de tâches différentes) et, en même temps, lire un film. Jouer de la musique et naviguer sur Internet. Le travail d'un éditeur de texte et la musique incluse. Deux cœurs de processeur - et il s'agit en fait de deux processeurs - permettront d'accomplir différentes tâches plus rapidement qu'un seul. Deux cœurs rendront cela un peu plus rapide. Quatre est encore plus rapide que deux.

Au cours des premières années d'existence de la technologie multicœur, tous les programmes n'étaient pas capables de fonctionner même avec deux cœurs de processeur. D’ici 2014, la grande majorité des applications comprennent et peuvent tirer parti de plusieurs cœurs. La vitesse de traitement des tâches sur un processeur dual-core double rarement, mais il y a presque toujours une augmentation des performances.

Par conséquent, le mythe profondément enraciné selon lequel les programmes ne peuvent pas utiliser plusieurs cœurs est une information obsolète. Autrefois, c’était effectivement le cas, aujourd’hui la situation s’est considérablement améliorée. Les avantages de plusieurs cœurs sont indéniables, c'est un fait.

Quand le processeur a moins de cœurs, c’est mieux

Vous ne devriez pas acheter un processeur en utilisant la formule incorrecte « plus il y a de cœurs, mieux c'est ». C'est faux. Premièrement, les processeurs à 4, 6 et 8 cœurs sont nettement plus chers que leurs homologues double cœur. Une augmentation significative du prix n'est pas toujours justifiée du point de vue des performances. Par exemple, si un processeur à 8 cœurs s'avère seulement 10 % plus rapide qu'un processeur avec moins de cœurs, mais 2 fois plus cher, alors il sera difficile de justifier un tel achat.

Deuxièmement, plus un processeur possède de cœurs, plus il est vorace en termes de consommation d'énergie. Il ne sert à rien d'acheter un ordinateur portable beaucoup plus cher avec un Core i7 à 4 cœurs (8 threads) si cet ordinateur portable ne peut traiter que des fichiers texte, naviguer sur Internet, etc. Il n'y aura aucune différence avec le Core i5 dual-core (4 threads), et le Core i3 classique avec seulement deux threads de calcul ne sera pas inférieur à son « collègue » plus éminent. Et un ordinateur portable aussi puissant durera beaucoup moins longtemps sur batterie que le Core i3 économique et peu exigeant.

Processeurs multicœurs dans les téléphones mobiles et les tablettes

La mode des cœurs de calcul multiples dans un seul processeur s'applique également aux appareils mobiles. Les smartphones et tablettes dotés d’un grand nombre de cœurs n’utilisent presque jamais toutes les capacités de leurs microprocesseurs. Les ordinateurs mobiles double cœur fonctionnent parfois un peu plus vite, mais 4, et plus encore 8 cœurs, c'est franchement excessif. La batterie est consommée de manière absolument impie et les appareils informatiques puissants restent simplement inutilisés. Conclusion : les processeurs multicœurs des téléphones, smartphones et tablettes ne sont qu'un hommage au marketing et non un besoin urgent. Les ordinateurs sont des appareils plus exigeants que les téléphones. Ils ont vraiment besoin de deux cœurs de processeur. Quatre ne feront pas de mal. 6 et 8 sont excessifs pour les tâches normales et même les jeux.

Comment choisir un processeur multicœur et ne pas se tromper ?

La partie pratique de l'article d'aujourd'hui est pertinente pour 2014. Il est peu probable que quelque chose change de manière significative dans les années à venir. Nous ne parlerons que des processeurs fabriqués par Intel. Oui, AMD propose de bonnes solutions, mais elles sont moins populaires et plus difficiles à comprendre.

Notez que le tableau est basé sur les processeurs de 2012 à 2014. Les échantillons plus anciens ont des caractéristiques différentes. Nous n'avons pas non plus mentionné les options de processeur rares, par exemple le Celeron monocœur (il en existe encore aujourd'hui, mais il s'agit d'une option atypique qui n'est quasiment pas représentée sur le marché). Vous ne devez pas choisir les processeurs uniquement en fonction du nombre de cœurs qu'ils contiennent - il existe d'autres caractéristiques plus importantes. Le tableau ne fera que faciliter le choix d'un processeur multicœur, mais un modèle spécifique (et il en existe des dizaines dans chaque classe) ne doit être acheté qu'après s'être soigneusement familiarisé avec leurs paramètres : fréquence, dissipation thermique, génération, cache taille et autres caractéristiques.

Processeur Nombre de cœurs Fils de calcul Applications typiques
Atome 1-2 1-4 Ordinateurs et netbooks à faible consommation. L'objectif des processeurs Atom est de minimiser la consommation d'énergie. Leur productivité est minime.
Céleron 2 2 Les processeurs les moins chers pour ordinateurs de bureau et portables. Les performances sont suffisantes pour les tâches bureautiques, mais ce ne sont pas du tout des CPU de jeu.
Pentium 2 2 Les processeurs Intel sont tout aussi bon marché et peu performants que Celeron. Un excellent choix pour les ordinateurs de bureau. Les Pentium sont équipés d'un cache légèrement plus grand et, parfois, de performances légèrement accrues par rapport à Celeron
Noyau i3 2 4 Deux cœurs assez puissants, dont chacun est divisé en deux « processeurs » virtuels (Hyper-Threading). Ce sont déjà des processeurs assez puissants à des prix pas trop élevés. Un bon choix pour un ordinateur domestique ou de bureau puissant sans grandes exigences de performances.
Noyau i5 4 4 Les processeurs Core i5 à 4 cœurs à part entière sont assez chers. Leurs performances ne font défaut que dans les tâches les plus exigeantes.
Noyau i7 4-6 8-12 Les processeurs Intel les plus puissants, mais particulièrement chers. En règle générale, ils sont rarement plus rapides que le Core i5, et seulement dans certains programmes. Il n’y a tout simplement aucune alternative.

Un bref résumé de l'article « Toute la vérité sur les processeurs multicœurs ». Au lieu d'une note

  • Cœur du processeur- son composant. En fait, un processeur indépendant à l'intérieur du boîtier. Processeur double cœur - deux processeurs en un.
  • Multicœur comparable au nombre de pièces à l’intérieur de l’appartement. Les appartements de deux pièces sont meilleurs que les appartements d'une pièce, mais seulement à caractéristiques égales (emplacement de l'appartement, état, superficie, hauteur sous plafond).
  • La déclaration selon laquelle plus un processeur possède de cœurs, mieux il est- un stratagème marketing, une règle complètement fausse. Après tout, un appartement est choisi non seulement en fonction du nombre de pièces, mais également en fonction de son emplacement, de sa rénovation et d'autres paramètres. La même chose s'applique à plusieurs cœurs à l'intérieur du processeur.
  • Existe multicœur "virtuel"— Technologie Hyper-Threading. Grâce à cette technologie, chaque noyau « physique » est divisé en deux noyaux « virtuels ». Il s'avère qu'un processeur à 2 cœurs avec Hyper-Threading n'a que deux cœurs réels, mais ces processeurs traitent simultanément 4 threads de calcul. C'est une fonctionnalité très utile, mais un processeur à 4 threads ne peut pas être considéré comme un processeur quadricœur.
  • Pour les processeurs de bureau Intel : Celeron - 2 cœurs et 2 threads. Pentium - 2 cœurs, 2 threads. Core i3 - 2 cœurs, 4 threads. Core i5 - 4 cœurs, 4 threads. Core i7 - 4 cœurs, 8 threads. Les processeurs des ordinateurs portables (mobiles) Intel ont un nombre différent de cœurs/threads.
  • Pour les ordinateurs mobiles, l’efficacité énergétique (en pratique, la durée de vie de la batterie) est souvent plus importante que le nombre de cœurs.
  • Tutoriel

D’aussi loin que je me souvienne, j’ai toujours rêvé de créer un processeur. Enfin, hier je l'ai fait. Pas Dieu sait quoi : 8 bits, RISC, la fréquence de fonctionnement actuelle est de 4 kHz, mais ça marche. Jusqu'à présent dans le programme de modélisation de circuits logiques, mais nous savons tous : « aujourd'hui - dans le modèle, demain - dans la pratique !

Sous la coupe se trouvent plusieurs animations, une brève introduction à la logique binaire pour les plus petits, une courte histoire sur les principales puces logiques du processeur et, en fait, le schéma de circuit.

Logique binaire

Le système de numérotation binaire (pour ceux qui ne sont pas au courant) est un système de numérotation dans lequel il n’y a pas de chiffres supérieurs à un. Cette définition en confond beaucoup jusqu'à ce qu'ils se souviennent que dans le système de nombres décimaux, il n'y a pas de nombres supérieurs à neuf.
Le système binaire est utilisé dans les ordinateurs car les nombres qu'il contient sont faciles à coder avec la tension : il y a une tension, ce qui signifie un ; aucune tension signifie zéro. De plus, « zéro » et « un » peuvent facilement être compris comme « faux » et « vrai ». De plus, la plupart des appareils fonctionnant dans le système de nombres binaires traitent généralement les nombres comme un ensemble de « vrais » et de « faux », c'est-à-dire qu'ils fonctionnent avec les nombres comme des quantités logiques. Pour les plus petits et ceux qui ne sont pas au courant, je vais raconter et montrer comment fonctionnent les éléments les plus simples de la logique binaire.
Élément tampon

Imaginez que vous êtes assis dans votre chambre et que votre ami est dans la cuisine. Vous lui criez : « Mon ami, dis-moi, est-ce que la lumière est allumée dans le couloir ? L’ami répond : « Oui, c’est en feu ! » ou "Non, ce n'est pas allumé." Votre ami est un tampon entre la source du signal (l’ampoule dans le couloir) et le récepteur (vous). De plus, votre ami n’est pas n’importe quel tampon ordinaire, mais un tampon géré. Il serait un tampon ordinaire s'il criait constamment : « L'ampoule est allumée » ou « L'ampoule n'est pas allumée ».

Élément "Pas" - PAS

Imaginez maintenant que votre ami est un farceur qui ment toujours. Et si la lumière dans le couloir est allumée, alors il vous dira : « Non, il fait très, très sombre dans le couloir », et si elle n'est pas allumée, alors « Oui, la lumière est allumée dans le couloir ». Si vous avez réellement un tel ami, alors il est l'incarnation de l'élément « Non ».
Élément "Ou" - OU

Malheureusement, une ampoule et un ami ne suffisent pas à expliquer l’essence de l’élément « Ou ». Vous avez besoin de deux ampoules. Ainsi, vous disposez de deux ampoules dans le couloir : un lampadaire, par exemple, et un lustre. Vous criez : « Mon ami, dis-moi, est-ce qu'au moins une ampoule brille dans le couloir ? » et ton ami répond « Oui » ou « Non ». Évidemment, pour répondre « Non », toutes les lumières doivent être éteintes.
Élément "ET" - ET

Le même appartement, vous, un ami dans la cuisine, un lampadaire et un lustre dans le couloir. À votre question « Les deux lumières sont-elles allumées dans le couloir ? » vous obtenez une réponse « Oui » ou « Non ». Félicitations, votre ami est désormais l'élément « I ».
Élément "Ou exclusif" - XOR

Répétons encore l'expérience pour l'élément « Ou », mais reformulons notre question à un ami : « Ami, dis-moi, il n'y a qu'une seule ampoule dans le couloir ? Un ami honnête ne répondra « Oui » à une telle question que s'il n'y a réellement qu'une seule ampoule dans le couloir.

Additionneurs

Additionneur de quart

L'élément « Ou Exclusif » est appelé un additionneur de quart. Pourquoi? Voyons cela.
Créons une table d'addition pour deux nombres dans le système de nombres binaires :
0+0= 0
0+1= 1
1+0= 1
1+1= 10

Écrivons maintenant la table de vérité de l’élément « Ou exclusif ». Pour ce faire, nous notons l’ampoule allumée par 1, l’ampoule éteinte par 0 et les réponses « Oui »/« Non » de l’ami par 1 et 0, respectivement.
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

Très similaire, n'est-ce pas ? La table d'addition et la table de vérité du « Ou Exclusif » coïncident complètement, sauf dans un seul cas. Et ce cas s'appelle "Débordement".

Demi-additionneur
Lorsqu'un débordement se produit, le résultat de l'addition n'est plus placé dans le même nombre de chiffres que les termes. Les termes sont deux nombres à un chiffre (un chiffre significatif, vous comprenez ?), et la somme est déjà un nombre à deux chiffres (deux chiffres significatifs). Il n'est plus possible de transmettre deux chiffres avec une seule ampoule (« On »/« Off »). Vous avez besoin de deux ampoules. Nous en avons besoin – nous le ferons !

En plus de XOR, nous avons besoin d'un élément AND pour l'additionneur.
0 XOR 0 = 0 0 ET 0 = 0
0 XOR 1 = 1 0 ET 1 = 0
1 XOR 0 = 1 1 ET 0 = 0
1 XOR 1 = 0 1 ET 1 = 1

Tadam!
0+0= 00
0+1= 01
1+0= 01
1+1= 10

Notre demi-additionneur wunderwaffle fonctionne. Il peut être considéré comme le processeur spécialisé le plus simple qui additionne deux nombres. Un demi-additionneur est appelé demi-additionneur car il ne peut pas prendre en compte le report (le résultat d'un autre additionneur), c'est-à-dire qu'il ne peut pas additionner trois nombres binaires à un chiffre. À cet égard, il est impossible de créer un demi-additionneur multi-bits à partir de plusieurs demi-additionneurs mono-bit.

Je n'entrerai pas dans les détails du fonctionnement des additionneurs complets et multi-bits, j'espère juste que vous comprenez l'idée de base.

Des éléments plus complexes

Multiplexeur

Je suggère d'utiliser à nouveau votre imagination. Alors imaginez ça. Vous vivez dans un immeuble privé avec un seul appartement et votre boîte aux lettres se trouve près de la porte de cette maison. En vous promenant, vous remarquez un étrange facteur debout près de cette même boîte aux lettres. Et voici ce qu'il fait : il sort un tas de lettres de son sac, lit le numéro sur la boîte aux lettres, et en fonction du numéro sur la boîte aux lettres, y jette l'une ou l'autre lettre. Le facteur fonctionne comme un multiplexeur. Il détermine d'une certaine manière (le numéro sur l'enveloppe) quel signal (lettre) envoyer le long de la ligne de signal (boîte aux lettres).

Les multiplexeurs sont généralement constitués uniquement de combinaisons d'éléments « Et », « Ou » et « Non ». Un multiplexeur monobit possède une entrée appelée « sélection d'adresse », deux entrées portant le nom général de « signal d'entrée » et une sortie appelée « signal de sortie ».
Lorsque 0 est appliqué à la « sélection d'adresse », le « signal de sortie » devient le même que le premier « signal d'entrée ». En conséquence, lorsqu'un 1 est appliqué à la « sélection », le « signal de sortie » devient égal au deuxième « signal d'entrée ».

Démultiplexeur

Mais cette chose fonctionne exactement à l’opposé. Pour « sélectionner l'adresse », nous donnons l'adresse, pour « entrée de données », nous donnons les données, à la sortie avec le numéro « adresse », nous avons les données de l'entrée.
Comptoir

Pour comprendre le fonctionnement du compteur, vous aurez encore une fois besoin de votre ami. Appelez-le depuis la cuisine (j'espère qu'il ne s'y est pas trop ennuyé et, surtout, il n'a pas mangé toute votre nourriture) et demandez-lui de faire ceci : laissez-le se souvenir du chiffre 0. À chaque fois que vous le touchez , il doit ajouter un au nombre dont vous vous souvenez, dire le résultat et vous en souvenir. Lorsque le résultat est (disons) 3, il doit crier « Abracadabra ! et répondre la prochaine fois qu'il touche qu'il se souvient désormais du chiffre 0. Un peu difficile ? Voir:

Vous touchez un ami. Un ami dit "Un".
Vous touchez un ami. L'ami dit "Deux".
Vous touchez un ami. L'ami dit "Trois". Un ami crie " Habrahabr !" Attaque critique ! Vous êtes temporairement paralysé et ne pouvez pas bouger.
Vous touchez un ami. Un ami dit "Zéro".

Eh bien, et ainsi de suite. Très simple, non ?
Bien sûr, vous avez réalisé que votre ami est désormais un compteur. Toucher un ami peut être considéré comme un « signal de chronométrage » ou, en termes simples, un signal pour continuer à compter. Le cri « Abracadabra » indique que la valeur stockée dans le compteur est le maximum et que le prochain signal d'horloge remettra le compteur à zéro. Il existe deux différences entre le compteur binaire et votre ami. Premièrement, un véritable compteur binaire affiche la valeur stockée sous forme binaire. Deuxièmement : il ne fait toujours que ce que vous lui dites de faire et ne s'abaisse jamais à des blagues stupides qui pourraient perturber le fonctionnement de l'ensemble du système de processeur.

Mémoire

Déclenchement

Continuons à nous moquer de votre malheureux ami (peut-être même imaginaire). Qu'il se souvienne maintenant du chiffre zéro. Lorsque vous touchez sa main gauche, il doit se souvenir du chiffre zéro, et lorsque vous touchez sa main droite, il doit se souvenir du chiffre un. À la question « De quel numéro vous souvenez-vous ? » un ami doit toujours répondre avec le numéro dont il s'est souvenu - zéro ou un.
La cellule mémoire la plus simple est une bascule RS (« trigger » signifie « switch »). Une bascule RS peut stocker un bit de données (« zéro »/« un ») et possède deux entrées. L'entrée Set (tout comme la main gauche de votre ami) écrit « un » sur le déclencheur, et l'entrée Reset (respectivement la main droite) écrit « zéro ».
Registre

Le registre est un peu plus compliqué. Votre ami se transforme en registre lorsque vous lui demandez de se souvenir de quelque chose, puis vous dites : « Hé, rappelle-moi ce que je t'ai dit de retenir et ton ami répond correctement ?

Un registre peut généralement stocker un peu plus d'un bit. Il comporte nécessairement une entrée de données, une sortie de données et une entrée d'autorisation d'écriture. À partir de la sortie des données, vous pouvez à tout moment lire ce qui est écrit dans ce registre. Vous pouvez soumettre les données que vous souhaitez écrire dans ce registre comme entrée de données. Vous pouvez soumettre des données jusqu'à ce que vous vous ennuyiez. De toute façon, rien ne sera écrit dans le registre jusqu'à ce qu'une entrée soit appliquée à l'entrée d'autorisation d'écriture, c'est-à-dire une « entrée logique ».

Registre à décalage


Avez-vous déjà fait la queue ? Ils l’étaient probablement. Vous pouvez donc imaginer ce que cela signifie d'être des données dans un registre à décalage. Les gens viennent se placer au bout de la file. La première personne de la file entre dans le bureau du gros bonnet. Celui qui était deuxième devient premier, et celui qui était troisième devient deuxième, et ainsi de suite. Une file d'attente est un registre à décalage si astucieux à partir duquel les « données » (enfin, c'est-à-dire les personnes) peuvent s'enfuir pour affaires, après avoir prévenu les voisins dans la file d'attente. Dans un véritable registre à décalage, bien entendu, les « données » ne peuvent pas s’échapper de la file d’attente.

Ainsi, un registre à décalage a une entrée de données (par laquelle les données entrent dans la « file d'attente ») et une sortie de données (à partir de laquelle le tout premier enregistrement de la « file d'attente » peut être lu). Le registre à décalage possède également une entrée « registre à décalage ». Dès qu'un « logique » arrive à cette entrée, toute la file d'attente est décalée.

Il existe une différence importante entre une file d'attente et un registre à décalage. Si le registre à décalage est conçu pour quatre entrées (par exemple, quatre octets), alors la première entrée de la file d'attente n'atteindra la sortie du registre qu'après quatre signaux à l'entrée « registre à décalage ».

BÉLIER
Si de très nombreuses bascules sont combinées dans des registres et que de très nombreux registres sont combinés dans une seule puce, vous obtenez une puce RAM. Une puce mémoire possède généralement une entrée d'adresse, une entrée de données bidirectionnelle (c'est-à-dire que cette entrée peut être écrite et lue) et une entrée d'activation d'écriture. Nous fournissons un numéro à l'entrée d'adresse, et ce numéro sélectionnera une cellule mémoire spécifique. Après cela, lors de l’entrée/sortie des données, nous pouvons lire ce qui est écrit dans cette même cellule.
Maintenant, nous allons simultanément envoyer à l'entrée/sortie de données ce que nous voulons écrire dans cette cellule, et à l'entrée d'autorisation d'écriture - une « entrée logique ». Le résultat est un peu prévisible, n'est-ce pas ?

Processeur

BitBitJump
Les processeurs sont parfois divisés en CISC - ceux qui peuvent exécuter de nombreuses commandes différentes, et RISC - ceux qui peuvent exécuter peu de commandes, mais les exécutent bien. Un beau soir, j'ai pensé : ce serait formidable s'il était possible de créer un processeur à part entière capable d'exécuter une seule commande. J'ai vite appris qu'il existe toute une classe de processeurs à instruction unique - OISC, le plus souvent ils utilisent le Subleq (soustraire, et si inférieur ou égal à zéro, alors allez) ou Subeq (soustraire, et s'il est égal à zéro, alors aller) commande. En étudiant diverses options pour les processeurs OISC, j'ai trouvé le site Web d'Oleg Mazonka, qui a développé le langage à commande unique le plus simple, BitBitJump. La seule commande dans ce langage s'appelle BitBitJump (copiez un peu et allez à l'adresse). Ce langage, certainement ésotérique, est Turing complet, c'est-à-dire que n'importe quel algorithme informatique peut y être implémenté.

Une description détaillée de BitBitJump et de l'assembleur pour ce langage est disponible sur le site Web du développeur. Pour décrire l'algorithme de fonctionnement du processeur, il suffit de connaître les éléments suivants :
1. Lorsque le processeur est allumé, 0 est écrit dans les registres PC, A et B
2. Lisez la cellule mémoire avec l'adresse du PC et enregistrez ce que nous avons lu dans le registre A.
3. Augmenter le PC
4. Lisez la cellule mémoire avec l'adresse du PC et enregistrez ce que nous avons lu dans le registre B.
5. Augmenter le PC
6. Nous écrivons le contenu du bit avec l'adresse A dans la cellule avec l'adresse écrite dans le registre B.
7. Lisez la cellule mémoire avec l'adresse du PC et enregistrez ce que nous avons lu dans le registre B
8. Écrivez le contenu du registre B dans le registre PC
9. Passons au point 2 de notre plan
10. BÉNÉFICE !!!

Malheureusement, l'algorithme est sans fin et le PROFIT ne sera donc pas atteint.

En fait, le schéma
Le projet a été construit spontanément, donc la peur, l’horreur et le chaos règnent en maître. Cependant, cela fonctionne et fonctionne bien. Pour allumer le processeur, vous devez :
1. Entrez le programme dans la RAM
2. Appuyez sur l'interrupteur
3. Réglez le compteur sur la position 4 (cela peut être fait matériellement, mais le circuit deviendrait encore plus encombrant)
4. Activer le générateur d'horloge

Comme vous pouvez le voir, un registre, un registre à décalage, une puce RAM, deux compteurs binaires, un démultiplexeur (représenté par des comparateurs), deux multiplexeurs et de la logique pure sont utilisés.

Vous pouvez télécharger le circuit au format circ pour le programme Logisim et jouer.

Quelle est la prochaine étape ?
Premièrement, vous pouvez augmenter la capacité du processeur en remplaçant les éléments 8 bits par des éléments 16 bits.
Deuxièmement, vous pouvez retirer la RAM du processeur et ajouter un circuit simple qui mettra le processeur en pause, modifiera la RAM et rallumera le processeur. Un tel circuit servira de simple contrôleur d’E/S. Il sera alors possible de fabriquer une calculatrice, un contrôleur ou quelque autre chose amusante et inutile basée sur ce processeur.
Troisièmement, vous pouvez implémenter l'ensemble de ce schéma dans le matériel. Que vais-je faire. Dès que je le ferai, je vous le dirai et vous le montrerai certainement.

Ajouter des balises

Les processeurs multicœurs sont des unités centrales de traitement contenant plus de deux cœurs de traitement. Ces cœurs peuvent être situés soit dans un seul boîtier, soit sur une seule puce de processeur.

Qu'est-ce qu'un processeur multicœur ?

Le plus souvent, les processeurs multicœurs désignent des processeurs centraux dans lesquels plusieurs cœurs de calcul sont intégrés dans une seule puce (c'est-à-dire qu'ils sont situés sur une seule puce de silicium).

En règle générale, la vitesse d'horloge des processeurs multicœurs est délibérément inférieure. Ceci est fait afin de réduire la consommation d'énergie tout en maintenant les performances requises du processeur. Chaque cœur est un microprocesseur à part entière, caractérisé par les caractéristiques de tous les processeurs modernes : il utilise un cache à plusieurs niveaux, prend en charge l'exécution de code dans le désordre et les instructions vectorielles.

Les cœurs des processeurs multicœurs peuvent prendre en charge la technologie SMT, qui vous permet d'exécuter plusieurs threads de calcul et de créer plusieurs processeurs logiques basés sur chaque cœur. Sur les processeurs produits par Intel, cette technologie est appelée « Hyper-threading ». Grâce à lui, vous pouvez doubler le nombre de processeurs logiques par rapport au nombre de puces physiques. Dans les microprocesseurs prenant en charge cette technologie, chaque processeur physique est capable de maintenir l'état de deux threads simultanément. Pour le système d’exploitation, cela ressemblera à deux processeurs logiques. S'il y a une pause dans le travail de l'un d'eux (par exemple, il attend que les données soient reçues de la mémoire), l'autre processeur logique commence à exécuter son propre thread.

Types de processeurs multicœurs

Les processeurs multicœurs sont divisés en plusieurs types. Ils peuvent ou non prendre en charge l'utilisation d'un cache partagé. La communication entre cœurs est mise en œuvre sur les principes d'utilisation d'un bus partagé, d'un réseau sur liaisons point à point, d'un réseau avec un switch ou d'un cache partagé.

Principe de fonctionnement

La plupart des processeurs multicœurs modernes fonctionnent selon le schéma suivant. Si une application en cours d'exécution prend en charge le multithreading, elle peut forcer le processeur à effectuer plusieurs tâches en même temps. Par exemple, si l'ordinateur utilise un processeur à 4 cœurs avec une fréquence d'horloge de 1,8 GHz, le programme peut « charger » les quatre cœurs en même temps, tandis que la fréquence totale du processeur sera de 7,2 GHz. Si plusieurs programmes s'exécutent en même temps, chacun d'eux peut utiliser une partie des cœurs du processeur, ce qui entraîne également une augmentation des performances de l'ordinateur.

De nombreux systèmes d'exploitation prennent en charge le multithreading, donc l'utilisation de processeurs multicœurs peut accélérer votre ordinateur même dans les applications qui ne prennent pas en charge le multithreading. Si l'on considère le fonctionnement d'une seule application, alors l'utilisation de processeurs multicœurs ne sera justifiée que si cette application est optimisée pour le multithreading. Sinon, la vitesse d'un processeur multicœur ne sera pas différente de la vitesse d'un processeur classique, et parfois même il fonctionnera plus lentement.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :