7
votes

Les puces X86 / x64 utilisent-elles encore un microprogrammation?

Si je comprends ces deux articles, l'architecture Intel, au niveau le plus bas, est passée à l'utilisation d'instructions RISC, au lieu de l'instruction traditionnelle de la CISC que Intel est connue pour:

http://www.hardwaresecrets.com/article/235/4

http://www.tomshargware.com/reviews/Intel 264 -6.html

Si c'est le cas, les copeaux x86 / x64 sont-ils encore microprogrammés ou utilisent-t-il un contrôle câblé comme des copeaux de RISC traditionnels? Je vais deviner que c'est encore microprogrammé mais je voulais vérifier.


2 commentaires

Cela dépend de la puce particulière. X86 / X64 est une énorme classe de copeaux.


@Adam, l'article fait référence aux jetons de sixième génération et au-dessus des processeurs Intel, ce qui signifie Pentium Pro et plus tard, selon ceci: e-articles.info/e/a/title/...


5 Réponses :


4
votes

Le microcode existe depuis longtemps, si c'est ce que vous parlez de. Je ne sais donc pas ce que l'article du Hardwaresecrets est sur à propos, à moins que Intel ne construit désormais les processeurs de RISC au-dessus des processeurs de la CISC.

Même l'article du Hardwaresecrets les appelle micro-instructions. Pomme de terre, Potahto.

http://fr.wikipedia.org/wiki/microcode


0 commentaires

3
votes

sur les processeurs modernes X86, la plupart des instructions s'exécutent sans microcode (*), mais certaines complexes ou rarement exécutées utilisent le microcode.

(*) à ne pas confondre avec des micro-ops - dans X86 processeurs hors commandes, les instructions X86 sont généralement décodées dans une ou plusieurs micro-opérations qui sont alors placées pour l'exécution (Sans Microcode!) dans le Pipeline d'exécution hors de commande.

Il est également intéressant de noter que les processeurs X86 modernes ont une installation pour corriger / mettre à jour le microcode afin de corriger Errata sur le terrain.


0 commentaires

2
votes

Vient de trouver la réponse. Référence à "Organisation des systèmes informatiques" par Andrew Tanenbaum, page 54 à la page 59. Les puces Intel sont basées sur la CISC et toutes les puces à base de Cisc ont un interprète (microcode) pour briser les instructions complexes en petites étapes. Auparavant, toutes les puces contenaient un microprogramme. Il n'y avait pas de trimestre de Cisc, jusqu'à ce que le concept de RISC temporel ait été introduit par David Patterson et Carlo Sequin en 1980. RISC représente un ordinateur d'instruction réduit. Dans la taille du temps d'aujourd'hui de l'instruction n'a pas d'importance. Ce qui compte dans la conception de RISC est la simplicité des instructions, mais le nom 'réduit. La conception de RISC consiste à publier rapidement des instructions simples et plus simples. Combien de temps une instruction a pris compter moins que le nombre de personnes pouvant être démarrées par seconde. L'avantage de l'utilisation de la CPU ROM plus rapide sur la conception de la mémoire principale principale plus lente avait également été définie par l'avènement de la mémoire principale tout aussi plus rapide. RISC est définitivement meilleur que les performances de la CISC sage. Alors pourquoi Chip Maker Intel n'a-t-il pas déménagé à RISC? pour deux raisons. Tout d'abord, il y a la question de la compatibilité en retard et des entreprises de milliards de dollars ont investi dans des logiciels pour Intel Line. Deuxièmement, Intel pourrait réussir à utiliser l'idée de RISC dans ses jetons de CISC. À partir de 486, Intel CPU contient un noyau RISC qui exécute les instructions SMIPLESTLEST et les plus courantes dans un cycle de chemin de données unique, tout en interprétant les instructions plus compliquées de la voie de la CISC habituelle. J'imagine Intel superficiellement passés à l'approche hybride pour garder le visage / la gloire / la bonne volonté sur le marché conformément aux avancées technologiques. Je prendrais des chips Intel en tant que Cisc basé uniquement.


1 commentaires

La réponse? Il y a beaucoup de battage publicitaire sur la manière dont la RISC est plus rapide ou meilleure que CSCC et je suppose que Intel a voulu que leurs jetons apparaissent de manière à encaisser sur le battage médiatique. Néanmoins, X86 Chips ont été en mesure d'exécuter des instructions en un cycle d'horloge (ou plus rapidement) pendant un certain temps, de sorte que la "fonctionnalité" de RISC ne soit pas exclusive à RISC. Les instructions RISC ne sont pas tous exécutées dans un cycle d'horloge non plus. Il a pris AMD pour développer X86 dans l'autre territoire RISC - un fichier de registre plus vaste - en ajoutant des registres R8 à R15 aux registres x86 traditionnels. En outre, même les processeurs de RISC prétendent être "compatibles en arrière".



1
votes

Les CPU X86 actuels utilisent toujours le microcode car l'ensemble d'instructions X86 est très complexe par rapport aux processeurs de RISC typiques. Ceci est vrai au moins pour quelques instructions .

interne, les instructions complexes sont divisées en simples instructions de type RISC, qui sont ensuite traitées par un noyau sophistiqué de type RISC. Les instructions de type RISC sont parfois ré-commandées ou exécutées en parallèle.


0 commentaires

0
votes

Des exemples typiques d'instructions microcodés sont la division et la multiplication, ce qui est le cas pour le CCT et le RISC. Il ne vaut tout simplement pas la peine de mettre en œuvre la division dans le matériel compte tenu de la manière dont elle est utilisée (relativement). Les multiplications sont beaucoup plus simples à mettre en œuvre encore sont également micro-codées cependant pas au même degré. Selon ce document Les latences pour mul et DIV pour le processeur K10 est de 5 et 77 ou 15,4x. Pour Intel SBR (?) Les valeurs correspondantes sont de 4 et 92 ou 23x. Une perspicacité supplémentaire quant à leur complexité relative est leur débit respectif: sur K10 une multiplication Chaque autre cycle d'horloge peut être maintenu (2,5 à 5/2 - en fonctionnement simultanément), mais seulement soutenir une division tous les 77e cycle d'horloge (identique à la latence de la division) .

D'autres exemples sont sh? D (Shift? Double) et BS? (bit scanner?).


0 commentaires