Les processeurs x86 : 30 ans de clones et d'innovations
Les processeurs x86 : 30 ans de clones et d'innovations
Par Pierre Dandumont
Introduction
Le x86, c'est une longue histoire. Ce jeu d'instruction a été créé par Intel, dont nous avons présenté les processeurs, et AMD, qui a eu aussi droit à son dossier. Mais les autres ? Intel a en effet licencié ses processeurs pendant un temps et beaucoup de sociétés se sont aussi lancées dans ce marché juteux. Certaines ont eu un certain succès (Via), d'autres moins (Rise) et une partie ont surtout été rachetés par d'autres (Cyrix, Nexgen). Dans ce dossier, nous allons passer en revue les différents CPU x86. Sans être totalement exhaustifs (ce serait impossible), nous avons essayé de proposer un panorama des différents CPU x86 qui ont été ou sont encore proposés au grand public.
Lire plus
Lire moins
http://en.wikipedia.org/wiki/IEEE_754-2008
[...]
Heu, attends, là: la norme que tu références concerne la FPU, pas le jeu d'instruction x86: pour être même hyper précis, IEEE 754-1985 (prédécesseur de l'IEEE 754-2008) a eu pour première implémentation complète et juste l'Intel 8087 (basé sur le brouillon - draft - de la norme), duquel sont descendus tous les coprocesseurs suivants et la FPU des 486DX et puces suivantes ('487'). Donc non, le jeu d'instructions et l'assembleur x86 ne sont pas normalisés: ils sont couverts par une spécification constructeur, et cette spécification a été rédigée par Intel jusqu'au Pentium Pro (les instructions SSE et MMX ont une spécification différente, voir le procès Intel-AMD sur le support MMX dans le K6) puis avec AMD pour les extensions 64-bit.
Après, tous les processeurs 'compatibles x86' implémentent cette spécification; l'errata d'une génération de processeur intègre entre autres:
- les déviations constantes par rapport à la spécification
- les cas particuliers où le processeur peut dévier par rapport à la spécification (pas de déviation en opération normale)
Un errata est souvent augmenté a posteriori: il est fort possible que l'errata du Cyrix soit petit parce que personne n'a ajouté d'erreurs (des développeurs qui ont fait du forcing avec un Cyrix, y'en avait quand même pas beaucoup), ce processeur n'ayant jamais été utilisé sur des machines 'pro' (au contraire des processeurs Intel et AMD) avec des processus de validation beaucoup plus longs.
Si l'on considère l'implémentation de référence (le Pentium) des spécifications 80586/80587, le Cyrix:
- nécessitait plusieurs passes pour effectuer un calcul FPU là où le Pentium n'en nécessitait qu'une,
- nécessitait beaucoup moins de cycles pour certaines boucles que le Pentium.
Là où AMD avait fait très fort dans le K7, c'était en recréant une implémentation complètement différente de la norme IEEE 754-1985, plus performante que la version d'Intel (grâce, comme tu dis, aux anciens de chez DEC et Intel embauchés par AMD) surtout sur les calculs à double précision, ce qui leur a permis de 'gommer' le dernier défaut du K6 (fortement basé sur les processeurs de NexGen): sa FPU, un 487 gonflé.