Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Intel souhaiterait faire table rase du passé et repenser sa microarchitecture x86 actuelle
En abandonnant certaines parties devenues obsolètes

Le , par dourouc05

1.4KPARTAGES

13  0 
Les processeurs x86 d’Intel actuels sont toujours des dérivés de la microarchitecture Core, introduite en 2006, à l’époque de ses premiers processeurs avec plusieurs cœurs. Depuis lors, tous les processeurs de la marque en sont des variantes assez peu éloignées, en gardant entièrement la rétrocompatibilité avec les processeurs précédents, y compris pour les parties tombées en déshérence depuis longtemps. Ainsi, même Core est très proche des microarchitectures précédentes (de la génération Pentium), avec de nouvelles fonctionnalités ajoutées.

La microarchitecture d’un processeur est son implémentation des instructions : depuis le code source d’un programme, le compilateur génère une série d’instructions de bas niveau correspondant au programme (charger des données en mémoire, effectuer une addition, etc.). L’architecture x86 comporte, actuellement, un très grand nombre de telles instructions : celles qui ne fonctionnent qu’en 32 bits, qu’en 64 bits, celles qui travaillent sur plusieurs éléments à la fois (SIMD), la liste est longue. Pour faciliter le travail d’implémentation, ces instructions sont décomposées en opérations plus simples, qui font appel aux différentes parties du processeur : l’ALU pour le traitement des nombres entiers, le FPU pour les nombres à virgule flottante, les unités SIMD, la prédiction d’un branchement lors d’une condition, une opération sur un périphérique d’entrée-sortie comme la mémoire, etc. Pour améliorer le débit d’exécution des instructions, chacune de ces opérations élémentaires peut être effectuée en parallèle : plus précisément, quand la dernière opération d’une instruction est effectuée, l’avant-dernière opération de l’instruction précédente est aussi exécutée et ainsi de suite (pipeline). Tous ces éléments forment la microarchitecture d’un processeur.

L’idée d’Intel serait de faire table rase du passé et de repenser complètement cette microarchitecture, en éliminant certaines parties devenues désuètes. Skylake (les processeurs Core 6xxx) a déjà effectué une partie de ce travail, afin de viser le segment mobilité : par exemple, le régulateur de tension n’est plus intégré au processeur, la carte mère doit générer les différentes tensions nécessaires pour le processeur.

Cette fois, la cure d’amaigrissement ne concernerait pas que la partie électronique de puissance du processeur, mais aussi certains blocs d’instruction. Sont notamment cités les modules SIMD de génération précédente : actuellement, un processeur Core contient un bloc SSE, un bloc SSE2, etc., pour chacune des générations introduites. La différence entre ces différents blocs est principalement la taille des données qu’elles peuvent traiter en un coup, mais aussi les opérations possibles. Cette partie du processeur pourrait être simplifiée en fusionnant tous ces blocs en un seul, plus large, mais qu’on n’utiliserait pas entièrement.

Certaines opérations nettement moins utilisées pourraient également passer à la trappe : cette partie pose des questions au niveau de la rétrocompatibilité. Elle ne serait plus garantie, tout simplement. Cependant, Intel n’irait pas à la hussarde : pour le grand public, rares sont les applications qui ont besoin de ces instructions. Dans ces cas, les instructions manquantes pourraient être implémentées au niveau logiciel (par exemple, dans le système d’exploitation) : déjà maintenant, lorsqu’il rencontre une instruction inconnue, le processeur renvoie une exception par le biais d’une interruption — récupérable comme EXCEPTION_ILLEGAL_INSTRUCTION sous Windows, par exemple. Cette situation n’est pas sans rappeler la compatibilité ascendante, lorsqu’on tente d’utiliser une instruction qui n’est pas disponible sur un processeur parce qu’il est trop vieux. La performance serait alors largement impactée, mais dans des situations très précises et peu fréquentes. Côté serveur, où ces applications sont encore utilisées et où la dégradation de performance serait un gros problème, une déclinaison spécifique des processeurs pourrait être utilisée.

Les avantages seraient nombreux. Ainsi, chaque cœur pourrait être beaucoup plus petit qu’actuellement, consommerait moins d’énergie. L’espace disponible pourrait être utilisé pour augmenter les caches, améliorer la prédiction de branchement, améliorer le processeur graphique intégré, etc., voire pour augmenter le nombre de cœurs par puce. Les avantages seraient similaires à ceux qu’espère AMD avec sa nouvelle architecture Zen — elle serait proche en performance des derniers processeurs Intel.

Néanmoins, tout ceci reste au conditionnel : rien n’a été confirmé par Intel. Même si la source est très fiable, rien n’est garanti. Les premiers produits devraient arriver à l’horizon 2019-2020, c’est-à-dire juste après le prochain cycle de processeurs Core, dénommée Icelake et qui devrait arriver en 2018.

Source : Even Intel is studying a new x86 uArch.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de CaptainDangeax
Membre éclairé https://www.developpez.com
Le 30/12/2016 à 11:01
Edisson n'a pas inventé l'ampoule en essayant d'améliorer la bougie. Intel est paralysé par l'héritage du BIOS et de MSDOS, obligeant à garder la compatibilité x86 en mode réel. l'Itanium était sorti trop tôt, trop gros trop cher trop gourmand, trop lent en mode ia32. Maintenant, avec la domination de Linux sur les serveurs et en particulier dans le cloud, et l'UEFI, il est possible de ressortir une nouvelle architecture qui ne sera plus un PC avec BIOS et mode réel : démarrage en UEFI uniquement, jeu d'instruction x86_64 uniquement, c'est une voie à explorer. Que ce soit Windows ou Linux, les versions actuelles pourront tourner dessus, sans la compatibilité ia32 bien sûr.
5  0 
Avatar de Iradrille
Expert confirmé https://www.developpez.com
Le 27/12/2016 à 14:50
Citation Envoyé par melka one Voir le message
le retour d' AMD ferait il peur a Intel ?
Les premiers tests (non officiels) sont plutôt encourageants.

Et oui, Core (et ses dérivés) marchent bien, mais après 10 ans, un peu d’innovation ne ferait pas de mal.
Sinon, ya encore un FPU (x87) dans les CPUs récents ? Je croyais qu'ils avaient virer ça ya quelques temps déjà (et redirigeaient tout vers les unités SIMD).

Citation Envoyé par RyzenOC Voir le message
"Ainsi, chaque cœur pourrait être beaucoup plus petit qu’actuellement, consommerait moins d’énergie." => meme sur tablette/pc-portable c'est pas trop utile, un cpu sa consomme plus rien aujourd'hui et je doute que le gain soit conséquent.
C'est toujours utile, 10% de consommation gagné, c'est potentiellement 7/8% de perf en plus pour revenir au niveau de consommation précédent (ou +10% de durée de vie de batterie pour le mobile).

Citation Envoyé par RyzenOC Voir le message
"améliorer la prédiction de branchement" => je sais pas ce que c'est
Un CPU est pipeliné, plusieurs instructions s’exécutent en même temps; à chaque saut conditionnel (en gros un if dans ton code), le CPU doit faire un choix (vu que les instructioons précédentes n'ont pas fini de s’exécuter), soit il prend le saut, soit il le prend pas.
S'il se trompe il faut vider le pipeline et recharger la bonne instruction -> perte de temps.
4  0 
Avatar de hotcryx
Membre extrêmement actif https://www.developpez.com
Le 27/12/2016 à 17:16
Citation Envoyé par RyzenOC Voir le message
un cpu sa consomme plus rien aujourd'hui
T'es toujours en mode console (lol)?

Intéresse toi à la création de fractal par exemple et tu verras que le CPU va être pleinement utilisé.
4  0 
Avatar de CaptainDangeax
Membre éclairé https://www.developpez.com
Le 30/12/2016 à 14:49
Citation Envoyé par MikeRowSoft Voir le message
Le firmware du contrôleur de stockage de masse va vraiment être l’indispensable pour cela (bootable devices)...
Je pense que tu te trompes. Un disque dur ou un ssd fonctionne sur n'importe quel matos, que ce soit une sun, un mac, un pc ou un truc à base d'ARM.
Pour le reste de ton post, c'est pas clair et je ne suis pas certain de comprendre où tu veux en venir. Ce n'est pas nouveau soit dit en passant.
4  0 
Avatar de pcdwarf
Membre éclairé https://www.developpez.com
Le 30/12/2016 à 23:41
Excellente nouvelle ! C'est pas trop tot !
pour les histoires de rétrocompatibilité avec le code du siècle dernier, il restera l'émulation et la virtualisation.

En même temps c'est une évolution logique.
Les tablettes arm ont cassé le monopole x86 et la pression des arm est de plus en plus forte, y compris dans le monde serveur où c'est surtout le ratio mips/watt qui compte.
Et puis il y a aussi les nouvelles architectures massivement multicoeurs qui fleurissent un peu partout (Tilera par exemple)

On va peut-être enfin avoir une progression de la puissance des machines ET une réduction de conso.
4  0 
Avatar de Thorna
Membre éprouvé https://www.developpez.com
Le 27/12/2016 à 17:31
Le problème n'est pas l'Architecture Core de 2006, même s'il est idiot de continuer à stocker une demi-douzaine de versions de chaque jeu d'instructions étendues de type SSE ou plus récentes. Le problème est plutôt de continuer à supporter la compatibiltié et la présence des instruction x86 16 bits du 8086 de 1978 ! Et qui sont toujours (sauf peut-être via un bios uefi ?) obligatoires au démarrage du processeur.
3  0 
Avatar de Mat.M
Expert éminent sénior https://www.developpez.com
Le 27/01/2017 à 21:18
Citation Envoyé par RyzenOC Voir le message
un cpu sa consomme plus rien aujourd'hui et je doute que le gain soit conséquent.
accro à la simulation de vol , j'utilise pourtant FS2004 ( et non FSX ) , ok par franchise je reconnais que les options sont quasi au maximum avec niveau de détail élevé mais ça n'empêche pas de pomper toutes les ressources matérielles disponibles.
Sans compter les sites internet de plus en plus lourds ( une certaine radio bien française ça commence par Europe, le site d'un grand quotidien d'information )..
3  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 28/01/2017 à 12:27
J'ose croire (peut être à tort) que le mode non-protégé est utile pour le noyau et cela, pas uniquement à l'initialisation.
C'est la pagination qui est utilisée pour protéger l'espace utilisateur du noyau. En gros le CPU démarre en mode réel 16 bits sans aucune protection, on passe en mode protégé, puis en mode paginé

Le mode protégé est une indirection supplémentaire historique pour la gestion de la protection des adresses dans les CPU x86, la gestion de la pagination n'étant apparu qu'avec les 80386. c'est la MMU qui gère la pagination

Sur d'autres types de CPU notamment le 68000, on parlait de mode utilisateur/superviseur. Le mode superviseur permettant l’exécution d'instructions privilégiés.
3  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 02/01/2017 à 5:04
Citation Envoyé par melka one Voir le message
le retour d' AMD ferait il peur a Intel ?
Citation Envoyé par pcdwarf Voir le message
Excellente nouvelle ! C'est pas trop tot !
pour les histoires de rétrocompatibilité avec le code du siècle dernier, il restera l'émulation et la virtualisation.

En même temps c'est une évolution logique.
Les tablettes arm ont cassé le monopole x86 et la pression des arm est de plus en plus forte, y compris dans le monde serveur où c'est surtout le ratio mips/watt qui compte.
Et puis il y a aussi les nouvelles architectures massivement multicoeurs qui fleurissent un peu partout (Tilera par exemple)

On va peut-être enfin avoir une progression de la puissance des machines ET une réduction de conso.
M'est avis que les concurrents les plus menaçants pour Intel sont Samsung et Qualcomm, mais pas AMD. Intel a échoué avec x86 sur mobiles au point de jeter l'éponge, laissant Qualcomm ("Snapdragon" et Samsung ("Exynos" + fabrication des CPUs Apple) maîtres du secteur. Il leur reste les PCs avec le fameux "Wintel", à ceci près que Microsoft vient de présenter la version ARM de Windows 10 en partenariat avec Qualcomm. Certes il n'y a pas que le grand public dans la vie, mais ça commence à faire beaucoup.
2  0 
Avatar de melka one
Membre éprouvé https://www.developpez.com
Le 02/01/2017 à 18:31
ca reste tout de meme de la faute a intel qui n'a pas su faire évolué efficacement son architecture ou tout simplement innover quand on voit l'évolution de la prochaine génération de puces d'AMD meme si il est encore trop tot pour le confirmer il on apparemment su innover surtout au niveau consommation/puissance qui reste le nerf de la guerre face a l'architecture ARM en tout cas supprimer des instruction j'appel pas sa innover c'est de l'optimisation.
2  0