Cette page est destinée aux personnes qui ne sont pas familières avec l’architecture «PowerPC» (aussi connue sous le nom d’architecture «Power»).
Si vous êtes déjà un expert, vous pouvez enrichir ou corriger le contenu de cette page. Envoyez-nous les informations que vous voulez publier. Merci.
Le PowerPC est d’une conception relativement récente par comparaison aux autres architectures microprocesseur :
X86 – année 1978
MIPS – année 1981
ARM – année 1983
PowerPC – année 1991
Dès l’origine, le PowerPC a été conçu avec plus de fonctionnalités que les autres CPU.
La liste d’instructions Power ISA (Power Instruction Set Architecture) est en constante évolution.
Son utilisation est très diversifiée : des systèmes embarqués aux grandes fermes de calcul.
Depuis août 2019 Power ISA est Open, et les développeurs peuvent élaborer, sans payer de droits, des puces basées sur le jeu d’instructions Microwatt FPGA Soft CPU Core[0] implémenté en VHDL et distribué sous une licence open source. Ce softcore pourra rapidement faire fonctionner une distribution Linux complète.
Un résumé des spécifications
- Architecture 64-bit (avec une liste d’instructions permettant une compatibilité 32-bit).
- Des instructions avec une manipulation efficace de données en utilisant des registres de taille importante.
- Architecture RISC superscalaire permettant l’exécution simultanée d’instructions en utilisant plusieurs unités de calcul (BPU, FXU, FPU).
- Instructions SIMD vectorielles AltiVec (optimisation du calcul matriciel).
- Power ISA 2.04/2.05/2.06 : multi-cœur, multi-tâche, virtualisation, hyperviseur, gestion d’alimentation (depuis 2007).
Utilisations
- Industrie automobile (moteur, transmission, châssis, sécurité, infotainment).
- Informatique serveurs (serveurs de fichiers, serveurs d’entreprise haute-disponibilité).
- Informatique grand-marché (consoles de jeux : X-Box 360, PS3, Wii).
- Calcul haute performance (Sequoia, le système BlueGene/Q d’IBM).
- Industrie aérospatiale.
- Communications réseaux filaires/sans fil (routeurs).
- Robotique (ASIMO).
Acceleration SIMD Altivec
- Altivec est une technologie dite «vectorielle» qui permet l’application simultanée d’une opération (entier ou virgule flottante) sur plusieurs blocs de données (vecteurs).
- Développé entre 1996 et 1998 (Collaboration en Apple, IBM et Motorola).
- Introduit comme standard de la catégorie «Vector» du Power ISA 2.03.
- Dispose de 32 registres architecturaux de 128-bit et de 16 registres de renommage additionnels.
- Le Core e6500 inclut un Altivec de 16 GFLOPS.
Spécifications détaillées (encore plus de details)
- Instructions 32 bits de taille fixe pour simplifier leur décodage.
- Architecture load-store (registre à registre) : exécution des instructions uniquement sur des registres .
- Nombre important de registres : 32 registres généraux et 32 registres flottants.
- Instructions load-store atomiques : utilisation dans des contextes multi-tâche.
- Ordre des octets big-endian avec possibilité de fonctionnement en little-endian.
- Architecture 64-bit avec instructions définies pour ce mode.
- Les registres généraux n’ont pas de rôle prédéterminé. ( L’affectation du R1 comme pointeur de pile est une convention logicielle (ABI). Ce n’est pas une contrainte liée à l’architecture microprocesseur).
- Modèle MMU non défini par l’architecture. Il dépend des choix d’implémentation, permettant une plus grande flexibilité (en pratique, 2 modèles sont utilisés : embarqué ou serveur).
Pourquoi est-ce que dans l’informatique grand-marché le PowerPC n’est utilisé que dans les consoles de jeux ?
Les éditeurs de systèmes d’exploitation optimisent leurs logiciels pour certains microprocesseurs. De même, les performances de certains logiciels propriétaires sont fortement liées aux plateformes cibles.
Cela force (et parfois encourage) les éditeurs et fabricants à garder une compatibilité dans les prochaines générations de logiciels et CPU.
A la sortie du PowerPC en 1993, tout logiciel était propriétaire, et les applications étaient faites pour les CPU x86 ou Motorola 68K.
Grâce au Logiciel Libre, il est maintenant possible de recompiler les systèmes d’exploitations et les applications pour les faire tourner sur PowerPC. Cela rend le changement de CPU/architecture possible.
Les consoles de jeux ont un relativement petit système d’exploitation et peu d’applications intégrées,
et les éditeurs de jeux basent leur produits sur des moteurs multi-plateforme.
Cela leur permet d’être moins affectés par les changements de microprocesseur, et leur permet de choisir les CPU et architectures les plus adaptés à leurs besoins.
[mettre à jour]