Pourquoi x86 little endian?

une vraie question que je me pose moi-même ces derniers temps est ce que les choix de design ont amené x86 à être une petite architecture endienne au lieu d'une grande architecture endienne?

40
demandé sur emesx 2011-03-03 22:33:29

3 réponses

en grande partie, pour la même raison vous commencez au chiffre le moins significatif (l'extrémité droite) quand vous ajoutez-parce que les carries se propagent vers les chiffres plus significatifs. Mettre l'octet le moins significatif en premier permet au processeur pour obtenir commencé sur ajouter après avoir lu seulement le premier octet d'un décalage.

après avoir fait assez de codage d'assemblage et de débogage, vous pouvez en venir à la conclusion que ce n'est pas little endian qui est l'étrange choix-c'est étrange que nous les humains utilisent grand endian.

57
répondu I. J. Kennedy 2011-03-11 07:29:23

c'est assez archéologique, mais ce N'était probablement pas le choix D'Intel. Intel a conçu des processeurs avec rétrocompatibilité, ce qui facilite la traduction mécanique du code d'assemblage de l'ancienne à la nouvelle architecture. Cela ramène l'horloge de 8086 à 8080 jusqu'au premier micro-processeur où l'Enness comptait, le Intel 8008.

ce processeur a été lancé lorsque CTC (nommé plus tard DataPoint) est venu demander de L'aide à Intel leur produit de terminal de données. Conçu à l'origine par Victor Poor et Harry Pyle, il avait un design de processeur logique en MSI (plusieurs puces). Ils ont demandé à Intel de leur fournir une solution de stockage, en utilisant des registres de décalage de 512 bits.

ce n'était pas le produit préféré D'Intel, ils ont pris ce genre de travaux de conception sur mesure pour survivre à la montée en puissance de leur puce de RAM 1024 bits. Tedd Hoff, Stan Mazor et Larry Potter ont examiné le design et proposé un processeur LSI avec RAM.plutôt. C'est finalement devenu le 8008. On attribue à Poor et à Pyle la conception de l'ensemble d'instructions.

qu'ils aient choisi little-endian est crédible de cette interview de Poor. Il s'en sort assez vite et l'interview est plutôt un scatter-shot mais la partie pertinente à la page 24:

Shustek: Ainsi, par exemple, stocker les nombres les moins significatifs octet d'abord, est venue du fait que c'était série et vous avez besoin d' pour traiter les bits bas d'abord.

pauvre: Vous avez eu à le faire de cette façon. Tu n'avais pas le choix.

la remarque" n'avait pas le choix " est étrange, qui semble ne s'appliquer qu'à la conception bit-série du processeur MSI. Aussi la raison pour laquelle ils ont acheté pour les registres de changement au lieu de la RAM. Il s'agit de nouveau à la page 34:

Hendrie: Vous rappelez-vous tout de le pousser à partir sur les de la conception ou de l'un de ces détails...

pauvre: L'un d'eux était le un peu contre le 8-bit. Ils voulaient une partie 8-bit large et, en fin de Compte, c'est comment ils ont construit il.

pauvre: Mais il était encore en recirculation. Mais, voyez-vous, il y a des points intéressants à savoir s'il y aura un grand bout ou un petit bout aurait pu être changé à ce moment-là, mais nous ne l'avons pas fait. On vient de partir. il...

Hendrie: Même après être passé à huit cents?

pauvre: Droit. C'est pourquoi l'Intel la ligne de produits est ainsi aujourd'hui

finalement CTC n'a pas utilisé le 8008, il a été terminé un an trop tard et ils avaient déjà mis en place le processeur MSI à ce moment-là. La conception du microprocesseur était certainement la propriété intellectuelle de CTC, mais ils ont échangé les droits avec Intel pour le coût de la conception. Un peu d'une erreur :) poursuites judiciaires sur les droits de brevet ont suivi plus tard.

donc, comme dit, Intel a fini avec little-endian à cause de la façon dont les ports série fonctionnaient.

38
répondu Hans Passant 2016-03-30 10:49:39

il reflète la différence entre considérer que la mémoire est toujours organisée un octet à la fois par rapport à considérer qu'elle est organisée une unité à la fois, où la taille de l'unité peut varier (octet, mot, dword, etc.)

3
répondu Ted Hopp 2011-03-03 19:39:09