Personne d'autre n'a répondu POURQUOI cela pourrait être fait, beaucoup de choses sur les conséquences.
Prenons un processeur 8 bits capable de charger un seul octet de la mémoire dans un cycle d'horloge donné.
Maintenant, si vous voulez charger une valeur de 16 bits dans (par exemple) le registre unique et unique de 16 bits que vous avez - c’est-à-dire le compteur de programme, un moyen simple de le faire est:
- Charger un octet à partir de l'emplacement de récupération
- décaler cet octet vers la gauche 8 places
- incrémente l'emplacement de récupération de mémoire de 1
- charger l'octet suivant (dans la partie basse du registre)
le résultat: vous n'incrémentez jamais uniquement l'emplacement de recherche, vous ne chargez que dans la partie inférieure de votre registre le plus large, et il vous suffit de pouvoir passer à gauche. (Bien sûr, le déplacement à droite est utile pour les autres opérations, donc celle-ci est un peu un spectacle parallèle.)
La conséquence en est que les éléments 16 bits (double octet) sont stockés dans l’ordre Most..Least. C'est-à-dire que l'adresse la plus petite a l'octet le plus significatif - le gros endian.
Si vous essayez plutôt de charger avec little endian, vous devrez charger un octet dans la partie inférieure de votre registre large, puis charger l'octet suivant dans une zone intermédiaire, le déplacer, puis le placer en haut de votre registre plus large. . Ou utilisez un arrangement plus complexe de gating pour pouvoir charger sélectivement dans l'octet supérieur ou inférieur.
En essayant d’aller un peu en arrière, vous avez besoin de plus de silicium (commutateurs et portes) ou de plus d’opérations.
En d’autres termes, en ce qui concerne le rapport qualité-prix, jadis, vous obtenez plus de rendement pour la plupart des performances et la plus petite surface de silicium.
De nos jours, ces considérations sont à peu près hors de propos, mais des choses comme le remplissage de pipeline peuvent encore être un gros problème.
Quand il s’agit d’écrire s / w, la vie est souvent plus facile avec l’adressage little endian.
(Et les grands processeurs endian ont tendance à être grand endian en termes de l' ordre des octets et peu endian en termes de bits-en-octets. Mais certains processeurs sont étranges et utiliseront grand peu endian la commande ainsi que l' ordre des octets. Cela rend la vie très intéressant pour le concepteur h / w qui ajoute des périphériques mappés en mémoire mais n’a aucune autre conséquence pour le programmeur.)