Pourquoi le PowerPC ?

Cette page est destinée aux personnes qui ne sont pas familières avec l’architecture microprocesseur «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 en nous envoyant vos propositions (Merci).

Le PowerPC est d’une conception relativement récente en 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.

 

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.

 

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étaillees (encore plus de details)

  • Taille fixe (32 bits) des opcodes d’instructions :  décodage simplifié.
  • 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 (très) 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]

Laisser un commentaire