La loi de Moore a atteint la limite

Remarque Date de publication de l'article: 26/12/2015. Au cours des dernières années, certaines des thèses de l'auteur ont été confirmées par des faits réels, et certaines se sont révélées erronées. trans.

Au cours des 40 dernières années, nous avons vu comment la vitesse des ordinateurs a augmenté de façon exponentielle. Les processeurs d'aujourd'hui ont une vitesse d'horloge mille fois plus rapide que les premiers ordinateurs personnels du début des années 1980. La quantité de RAM sur l'ordinateur a augmenté de dix mille fois et la capacité du disque dur a augmenté de plus de cent mille fois. Nous sommes tellement habitués à cette croissance continue que nous la considérons presque comme une loi de la nature et l'appelle la loi de Moore. Mais il y a des limites à cette croissance, ce que Gordon Moore a lui-même souligné . Nous approchons maintenant de la limite physique, où la vitesse des calculs est limitée par la taille de l'atome et la vitesse de la lumière.

L'horloge à tick canon d'Intel a commencé à sauter des barres ici et là. Chaque «tick» correspond à une diminution de la taille des transistors, et chaque «tick» correspond à une amélioration de la microarchitecture. La génération actuelle de processeurs, appelée Skylake, est semblable à celle d'un processus de 14 nanomètres. Logiquement, le prochain devrait être un «tick» avec une technologie de processus de 10 nanomètres, mais Intel émet désormais des «cycles de mise à jour» après chaque «comme ça». Le prochain processeur, annoncé pour 2016, sera une mise à jour de Skylake, toujours sur une technologie de processus de 14 nanomètres . Ralentir une horloge Tik-Tak est une nécessité physique, car nous approchons d'une limite où la taille du transistor n'est que de quelques atomes (la taille d'un atome de silicium est de 0,2 nanomètre).

Une autre limitation physique est le débit de données, qui ne peut pas dépasser la vitesse de la lumière. Il faut plusieurs cycles d'horloge pour obtenir des données d'une extrémité du CPU à l'autre extrémité. Comme les micropuces deviennent plus grandes avec de plus en plus de transistors, la vitesse commence à être limitée par le transfert de données sur la micropuce elle-même.

Les limitations technologiques ne sont pas la seule chose qui ralentit l'évolution des processeurs. Un autre facteur est l'affaiblissement de la concurrence sur le marché. Le plus grand concurrent d'Intel, AMD, se concentre désormais davantage sur ce qu'il appelle les unités de traitement accéléré (APU), qui sont des processeurs plus petits avec des graphismes intégrés pour mini-PC, tablettes et autres appareils ultra-mobiles. Intel a désormais acquis la vaste part de marché des processeurs pour PC et serveurs haut de gamme. La concurrence féroce entre Intel et AMD, qui a poussé le développement des processeurs x86 pendant plusieurs décennies, a pratiquement disparu.

La croissance de la puissance informatique ces dernières années n'est pas tant due à une augmentation de la vitesse de calcul, mais à une augmentation du parallélisme. Les microprocesseurs modernes utilisent trois types de parallélisme:

  1. Exécution simultanée de plusieurs équipes avec changement de leur ordre.
  2. Opérations SIMD (Single-Operation-Multiple-Data) dans les registres vectoriels.
  3. Plusieurs cœurs de processeur sur une seule puce.

Ces types de simultanéité n'ont pas de limites théoriques, mais il y en a de réelles pratiques. L'exécution des commandes avec un changement dans leur ordre est limitée par le nombre d'équipes indépendantes dans le code programme. Vous ne pouvez pas exécuter deux commandes en même temps si la deuxième commande attend le résultat de la première. Les processeurs actuels peuvent généralement exécuter quatre commandes en même temps. L'augmentation de ce nombre n'apportera pas beaucoup d'avantages, car il sera difficile ou impossible pour le processeur de trouver dans le code des instructions plus indépendantes qui peuvent être exécutées simultanément.

Les processeurs AVX2 actuels ont 16 registres vectoriels 256 bits. Le prochain jeu d'instructions AVX-512 nous donnera 32 registres de 512 bits, et nous pouvons nous attendre dans les futures extensions à des vecteurs 1024 ou 2048 bits. Mais ces augmentations des registres vectoriels auront de moins en moins d'effet. Peu de tâches de calcul ont suffisamment de parallélisme intégré pour bénéficier de ces vecteurs plus importants. Les registres vectoriels de 512 bits sont connectés par un ensemble de registres de masque qui ont une limite de taille de 64 bits. Les registres vectoriels à 2048 bits peuvent stocker 64 nombres simple précision de 32 bits chacun. On peut supposer qu'Intel ne prévoit pas de créer des registres vectoriels de plus de 2048 bits, car ils dépasseront les limites des registres de masques 64 bits.

De nombreux cœurs de processeur n'offrent un avantage que s'il existe de nombreux programmes à vitesse critique exécutés simultanément ou si la tâche est divisée en plusieurs threads indépendants. Le nombre de threads dans lesquels vous pouvez diviser la tâche de manière rentable est toujours limité.

Les fabricants tenteront sans aucun doute de fabriquer des ordinateurs de plus en plus puissants, mais quelle est la probabilité que cette puissance informatique puisse être utilisée dans la pratique?

Il existe une quatrième possibilité de simultanéité qui n'est pas encore utilisée. Les programmes ont généralement beaucoup de branches if-else, donc si le CPU apprend à prédire quelle branche fonctionnera, nous pourrions la mettre à exécution. Vous pouvez exécuter plusieurs branches de code à la fois pour éviter de perdre du temps si la prédiction est incorrecte. Bien sûr, vous devrez payer pour cela avec une consommation d'énergie accrue.

Une autre amélioration possible consiste à placer un dispositif logique programmable sur la puce du processeur. Une combinaison similaire est désormais courante pour les FPGA, qui sont utilisés dans les équipements avancés. De tels dispositifs logiques programmables dans des ordinateurs personnels peuvent être utilisés pour implémenter des fonctions spécifiques à des applications spécifiques, pour des tâches telles que le traitement d'image, le cryptage, la compression de données et les réseaux de neurones.

L'industrie des semi-conducteurs expérimente des matériaux qui peuvent être utilisés à la place du silicium. Certains matériaux semi-conducteurs III-V peuvent fonctionner à des tensions plus basses et à des fréquences plus élevées que le silicium , mais ils ne rendent pas les atomes plus petits ou plus légers. Des restrictions physiques s'appliquent toujours.

Un jour, nous pouvons voir des puces multicouches en trois dimensions. Cela permettra de resserrer le circuit, de réduire la distance, et par conséquent, le retard. Mais comment refroidir efficacement une telle puce lorsque l'énergie est distribuée à travers elle? De nouvelles technologies de refroidissement seront nécessaires. Le microcircuit ne pourra pas transférer de puissance à tous les circuits simultanément sans surchauffe. Elle devra garder la plupart de ses pièces déconnectées la plupart du temps et alimenter chaque pièce uniquement pendant l'utilisation.

Ces dernières années, la vitesse du processeur a augmenté plus rapidement que la vitesse de la RAM, ce qui devient souvent un grave goulot d'étranglement. Sans aucun doute, à l'avenir, nous verrons de nombreuses tentatives pour augmenter la vitesse de la RAM. Une évolution probable consisterait à placer la RAM sur une seule puce avec un processeur (ou au moins un boîtier) pour réduire la distance de transfert des données. Ce sera une utilisation utile des puces en trois dimensions. La RAM sera probablement de type statique, c'est-à-dire que l'alimentation ne sera fournie à chaque cellule de mémoire que lors de son accès.

Intel fournit également le marché des superordinateurs à usage scientifique. Le processeur Knight's Corner a jusqu'à 61 cœurs sur une seule puce. Il a un faible rapport performance / prix, mais son successeur attendu à Knight's Landing devrait être meilleur à cet égard. Il pourra accueillir jusqu'à 72 cœurs sur une puce et pourra exécuter des commandes avec un changement dans leur ordre. Il s'agit d'un petit marché de niche, mais Intel peut accroître sa crédibilité.

Maintenant, les meilleures opportunités pour améliorer les performances, comme je pense, du côté logiciel. Les développeurs de logiciels ont rapidement trouvé une application pour la croissance exponentielle de la productivité des ordinateurs modernes, grâce à la loi de Moore. L'industrie du logiciel a commencé à l'utiliser et a également commencé à utiliser des outils de développement et des cadres logiciels de plus en plus avancés. Ces outils et cadres de développement de haut niveau ont permis d'accélérer le développement de logiciels, mais au détriment de la consommation de plus de ressources informatiques comme produit final. Beaucoup de programmes d'aujourd'hui sont assez inutiles dans leur consommation excessive de puissance informatique matérielle.

Au fil des années, nous avons observé une symbiose entre les industries du matériel et des logiciels, où ces dernières produisaient des produits de plus en plus avancés et gourmands en ressources qui encourageaient les utilisateurs à acheter des équipements de plus en plus puissants. Comme le taux de croissance de la technologie matérielle a ralenti et que les utilisateurs sont passés à de petits appareils portables où la capacité de la batterie est plus importante que les performances, l'industrie du logiciel devra désormais changer de cap. Elle devra réduire les outils de développement gourmands en ressources et les logiciels à plusieurs niveaux et développer des programmes qui ne sont pas si remplis de fonctions. Les temps de développement augmenteront, mais les programmes consommeront moins de ressources matérielles et fonctionneront plus rapidement sur les petits appareils portables avec une autonomie limitée. Si l'industrie des logiciels commerciaux ne change pas de cap maintenant, elle peut abandonner des parts de marché à des produits open source plus ascétiques.

Source: https://habr.com/ru/post/fr405723/


All Articles