Pourquoi 64 bits de l'architecture ARM est bon pour les développeurs et bon pour les utilisateurs

ARM Cortex-A57 big.little / A53L'histoire de l'informatique 64 bits est assez varié et intéressant. Des entreprises comme Cray commencé à utiliser des registres 64 bits dans leurs systèmes dans le milieu des années 1970, cependant pur 64 bits ne vient pas vraiment à propos jusqu'à ce que les années 1990. Ce fut d'abord la R4000 de MIPS, puis le processeur Alpha de décembre Vers le milieu des années 1990, Intel et Sun avaient tous deux conceptions 64 bits, mais le véritable tournant pour les consommateurs est venu en 2003, quand AMD a publié un processeur de PC 64 bits qui est compatible avec 32 bits des processeurs x86 d'Intel.

ARM a vu la nécessité pour les processeurs économes en énergie 64 bits et a commencé à travailler de nouveaux designs à long avant d'annoncer sa nouvelle ARMv8-Une architecture.

Avance rapide 10 ans, les ventes de PC sont en baisse et la plupart des smartphones et tablettes ont les processeurs multi-core tournant à des vitesses comprises entre 1 et 2 GHz. Cependant, ces dispositifs utilisent une architecture 32 bits et non une architecture 64 bits, comme les PC et serveurs modernes. Jusqu'à présent, qui était tout à fait acceptable. Smartphones ne visaient pas à rivaliser avec les PC en termes de performance et les processeurs nécessaires pour être économes en énergie pour maximiser la vie de la batterie.

Cependant, comme les appareils ont développé et de nouvelles technologies comme la reconnaissance vocale, réaliste jeux 3D et les écrans haute résolution, sont devenus la norme, le processeur 32 bits humble est lentement poussé vers ses limites.

ARM a vu la nécessité pour les processeurs économes en énergie 64 bits et a commencé à travailler de nouveaux designs à long avant d'annoncer sa nouvelle ARMv8-A architecture, la première architecture ARM pour inclure un jeu d'instructions 64 bits. ARM a aussi appris des erreurs et des réussites des autres concepteurs de puces qui ont déménagé aux 64-bits. Nouvelle architecture 64 bits ARM est compatible avec son architecture 32 bits. Cela signifie que si le processeur est en cours d'exécution sur un système d'exploitation 64 bits activée, le processeur est capable d'exécuter des binaires non modifiées ARMv7 32 bits. Pour Android cela signifie qu'une fois que le noyau a été porté à 64 bits (et il a déjà grâce à Linaro) puis le reste de l'OS, à partir de bibliothèques de base pour les applications et les jeux, peut être soit 32 bits ou 64 bits.

linaro_plus_aarch64

L'année dernière, Apple a secoué le monde du mobile quand il a annoncé que l'iPhone 5S pourrait utiliser le nouveau processeur Apple A7 64-bit. L'A7 comprend un Apple conçu ARMv8 CPU dual-core, appelé Cyclone. Il utilise deux caches L1 de 64 Ko (un pour chaque core), un cache L2 de 1 Mo partagée par les deux cœurs de processeur, et un 4 Mo de mémoire cache L3 pour l'ensemble du SoC. D'Apple détient une architecture licence ARM qui signifie qu'il peut concevoir ses propres processeurs à partir de zéro, mais à la condition que ces processeurs ARM doivent être compatibles. ARM a une série de suites de tests qui il va à l'encontre de tels processeurs pour assurer la compatibilité.

Au cours des prochains mois, nous allons voir processeurs basés ARM 64 bits provenant de sociétés comme Samsung, Qualcomm et MediaTek. Lorsque couplé avec le travail 64 bits se fait sur Android, il est clair que nous allons voir des appareils 64 bits fonctionnant sur une version 64 bits d'Android avant longtemps. Mais qu'est-ce que les processeurs 64 bits signifient pour les développeurs et les utilisateurs finaux?

Avantages de 64 bits ARM



Au cœur de chaque CPU est un ensemble de registres. Ce sont des emplacements de stockage internes qui stockent numéros et d'adresses. Si vous souhaitez ajouter 5 à un certain nombre alors une façon de le faire serait de dire la CPU à ajouter 5 à du contenu d'un registre, disons inscrivez-7 (R7) et placer le résultat dans R8. Va de même pour d'autres opérations, comme soustraire, multiplier, décalage et ainsi de suite.

L'architecture ARMv8 dispose de 31 registres généraux, chaque 64-bits de large.

Lorsque le processeur effectue des opérations complexes de ces fentes sont utilisées et réutilisées en permanence. Si tous les registres sont actuellement occupés alors la seule façon de procéder est de stocker l'un des registres en mémoire, utiliser le registre pour la prochaine tâche, puis charger la valeur précédente retour à partir de la mémoire. En termes humains, cela peut se produire à tout vitesse de l'éclair, mais pour un processeur cela est réellement une séquence de temps des événements et il est pas très efficace.

L'architecture ARMv7 32 bits avait 15 registres d'usage général, chaque 32-bits de large. L'architecture ARMv8 dispose de 31 registres généraux, chaque 64-bits de large. Cela signifie que le code optimisé devrait être en mesure d'utiliser les registres internes plus souvent que la mémoire, et que ces registres peut contenir plus grands numéros et d'adresses. Le résultat est que 64 bits des processeurs ARM peuvent faire les choses plus rapidement.

En termes d'efficacité énergétique, l'utilisation de registres 64 bits ne pas augmenter la consommation d'énergie. Dans certains cas, le fait que d'un noyau 64 bits peut effectuer certaines opérations plus rapide signifie qu'il sera plus économe en énergie que d'un noyau 32 bits, tout simplement parce qu'il fait le travail plus rapide et peut alors éteindre.

Performances ARMv8 AArch64 vs AArch32 fig1

L'autre aspect de processeurs 64 bits est l'adressage. Dans le monde des PC et des serveurs de la barrière 32 bits a été principalement parlé en termes de mémoire accessible. Si vous voulez plus de 4 Go de RAM, alors vous avez besoin d'un processeur 64-bit. Cela ne veut pas strictement vrai avec les processeurs ARM que certains processeurs ARMv7 peuvent accéder à plus de 4 Go de mémoire en utilisant ses grandes extensions d'adresse physique (LPAE). Avec LPAE un processeur Cortex-A15 peut répondre 1024GB de mémoire. Depuis 64 bits est plus de 2 millions de téraoctets, il ne va pas y avoir de smartphones qui ont besoin complète l'adressage 64 bits un jour bientôt! Depuis la restauration de l'espace d'adresses qui ne va jamais être utilisé est futile, l'architecture ARMv8 a 48 bits d'adressage, qui est de 256 téraoctets!

OK, je ne pense pas que tous les jeux qui doivent téraoctets de mémoire dans l'avenir immédiat, mais vers le bas, à l'autre extrémité de l'échelle de telles capacités d'adresses sont très importants. Jeux 3D modernes viennent souvent avec d'énormes quantités de ressources (actifs), ces actifs peuvent être plus facilement mappés en mémoire quand il ya plus de 4 Go d'espace d'adressage. Cela permettra d'accélérer les jeux et permettre un accès direct aux ressources médiatiques de jeux.

ARM AArch64 Améliorations des performances

Plus qu'un simple smartphones et tablettes



Les avantages de l'informatique 64 bits sur ARM ne sont pas limités à smartphones et tablettes juste. Le système écologique de ARM est vaste et ses processeurs se retrouvent dans de nombreux types de dispositifs. Un domaine où les processeurs ARM ont pas fait beaucoup dans les routes est dans le marché des serveurs. Comme l'âge de l'information continue pour faire avancer la quantité d'énergie utilisée pour alimenter tous ces centres de données augmente rapidement. Toute réduction de la consommation d'énergie permet d'économiser de l'argent et permet d'économiser sur les ressources naturelles. Mettre 64 bits puces ARM dans les serveurs a plusieurs autres avantages que la simple consommation d'énergie réduite. Ces serveurs sont refroidis passivement ce qui signifie que vous pouvez les caser ensemble sans les soucis de surchauffe. Cela signifie également que moins d'argent est dépensé pour le refroidissement.

ARMv8

En termes de logiciel de serveur, systèmes d'exploitation comme Linux sont déjà 64 bits et il est l'appui à ARMv8 déjà dans le noyau principal. Cela signifie que les serveurs exécutant Linux 64 bits sur ARM ne sera pas difficile de construire, ou de vendre!

Chromebooks sont un autre domaine où ARMv8 pourrait devenir dominante. Il ya ARMv7 Chromebooks déjà et je suis sûr que ce ne sera pas long avant que nous voyions les ARMv8.

Conclure

L'âge de l'informatique 64 bits mobile est sur nous, principalement grâce à armer. Ces nouveaux processeurs sont plus rapides et ouvrent des plates-formes mobiles à toute une gamme de nouvelles possibilités, tout en restant fidèle à l'héritage de faible puissance d'ARM.

Le chemin de migration de 32 bits à 64 bits est bien battue et il ne devrait pas y avoir de surprises pour les développeurs allant de 32 bits à 64 bits sur ARM, indépendamment de l'OS.

Les partenaires de ARM seront produisent Cortex-A53 et processeurs Cortex-A57 dans les prochains mois, certains vont travailler dans les configurations dual-core et quad-core plus standard, tandis que certains vont travailler ensemble dans les configurations big.LITTLE. Et une chose est sûre, cela est un moment excitant pour ARM et pour nous tous qui utilisent les processeurs basés sur leurs conceptions.




» » Pourquoi 64 bits de l'architecture ARM est bon pour les développeurs et bon pour les utilisateurs