Obligement - L'Amiga au maximum

Mercredi 23 août 2017 - 11:49  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Actualité : Le PowerPC, un choix judicieux (2e partie)
(Article écrit par Eric Laffont et extrait d'Amiga News - janvier 1996)


Comme nous l'avons vu dans le précédent numéro d'Amiga News, les nouveaux Power Amiga seront sans aucun doute le nouveau souffle qui manquait à l'Amiga pour imposer son OS comme un des plus aboutis car, soyons honnêtes, les autres machines sont techniquement très performantes et dans l'avenir la différence se fera au niveau de l'OS et du logiciel associé.

L'OS Amiga, s'il est bien adapté à une architecture performante à base de PowerPC, fera du système un futur standard pour peu qu'on y croit. Phase 5 annonce la disponibilité des cartes à base de PowerPC 603 puis d'autres modèles plus performants. Le 620 étant probablement abandonné par Motorola (contrairement à ce que j'ai pu lire dans le précédent numéro), une carte à base de 604 ou mieux de 630 devrait logiquement voir le jour, la compatibilité des processeurs de la gamme étant complète. Normalement ces cartes ne devraient pas être bien onèreuses car la puce PowerPC est un des moins chers du marché et la réalisation d'une telle carte n'est pas d'une complexité insurmontable. Il ne reste plus qu'à attendre que le système soit adapté à ces cartes ainsi que les logiciels de base de l'Amiga. Ceci ne devrait pas être impossible, Motorola possède tout ce qu'il faut pour la conversion des codes 68xxx en PowerPC. De ce fait, nous allons maintenant détailler le fonctionnement plus précis des PowerPC 603 et 604 ainsi que leur programmation.

PowerPC
Schéma d'un PowerPC 603

PowerPC
Schéma d'un PowerPC 604

Détails du 603

Le PowerPC 603 possède toutes les qualités des PowerPC décrites dans le précédent numéro avec, en plus, des petits détails intéressants (détails que l'on retrouve aussi sur le 604). L'alimentation du processeur est passée à 3,3 volts (contre 3,6 volts pour les autres). Il ne consomme que 2,5 Watts d'énergie grâce à des économisateurs internes actifs selon les modes et types de calculs qu'il doit effectuer. Il est ainsi capable de couper automatiquement des zones de calcul non utilisées et de les ré-alimenter quand il le faudra. Il possède ainsi quatre modes de fonctionnement intégrés :
  • Le mode Turbo où rien n'est économisé et ainsi un PowerPC 603 consomme à 80 MHz environ 3 watts.
  • Le mode Automatique qui permet d'économiser environ 0,5 à 0,8 watt en activant les modes d'économies par unité de calcul.
  • Le mode Doze (veille) permet de garder la PPL, le temporisateur (timer) et les transferts dans le cache actif, ainsi qu'une partie minime du traitement interne. Le processeur consomme alors environ 0,5 watts.
  • Le mode Nap (sommeil) où seuls le PPL et le temporisateur fonctionnent. Le processeur attend alors une interruption pour redémarrer ses unités placées en mode automatique. Il consomme 0,2 watts.
  • Le mode Sleep (zzzz...). Le PPL est stoppé et seule une interruption spécifique et unique fera changer le processeur d'état. Il consomme 0,12 watts.
  • Pour comprendre comment s'opèrent les économies d'énergie des PowerPC 603 et 604, il faut les découper en unités de calcul et représenter cela ainsi : si l'on considère que tout fonctionne à 100%, alors les unités d'entrées/sorties consomment 25%, les FPU 12%, les horloges 21%, les caches, MMU et contrôle 24%, le reste se découpant en petites unités de moins de 5%.
Il possède, tout comme les Pentium, un multiplicateur d'horloge intégré. Contrairement aux Intel, ce multiplicateur de fréquence d'horloge peut être configuré entre 1, 2, 3 ou 4 fois la vitesse de base du bus. Ainsi, si le bus tourne à 33 MHz, la fréquence interne du processeur pourra tourner à 33, 66, 99 ou 132 MHz. Donc ici et tout comme pour les PC, la vitesse du bus de la machine sera un facteur important de la performance globale du système. Le PowerPC 603 comporte 1,6 million de transistors (contre 3,6 millions pour le 604).

PowerPC
Horloge

La programmation du 603

Ici, nous allons voir en détail comment fonctionne un PowerPC 603 qui sera à la base de la première carte construite par Phase 5 pour nos Amiga 1200, 3000 et 4000. Sans trop entrer dans la programmation et les instructions proprement dites, voici comment on programme un PowerPC 603. Avant tout, sachons que le PowerPC 603 fonctionne en format tri registre, c'est-à-dire qu'une instruction peut avoir deux registres source et un registre destination. Il possède bien entendu un mode utilisateur et superviseur. Pour le nombre de registres disponibles, je vous renvoie au précédent numéro. En voici le détail :
  • Les GPR (General Purpose Register) : dans le 603, ils sont sur 32 bits et traitent tous les calculs destinés aux entiers.
  • Les FPR (Floating Point Register) : pour les calculs en virgule flottante, ils sont sur 64 bits et peuvent être en simple ou double précision.
  • Le FPSCR 5Floating Point Status & Control Register) est un registre utilisateur pour les bits de contrôle au standard IEEE754 pour les exceptions.
  • Le MSR (Machine State Register) pour les états du processeur. Il est contrôlé par une exception et est sur 32 bits.
  • Les SR (Segment Register) contrôlent l'accès aux données en mémoire ainsi que l'accès aux instructions en mémoire. Ils sont sur 32 bits.
  • Les SPR (Special Purpose Register) qui, comme le nom l'indique, sont disponibles selon l'état du PR (Privilege Level) dans le registre d'état (MSR). En fait, ces registres peuvent être séparés en deux parties. La partie utilisateur et superviseur.
Pour la partie superviseur, les registres sont sur 32 bits mais il faudrait 20 Amiga News pour les énumérer et les commenter.

Le jeu d'instructions du PowerPC 603 est comparable à celui du PowerPC 601, ce qui lui permet une certaine compatibilité ascendante. Il intègre cependant un bon nombre de nouvelles instructions.

En premier, on trouve les instructions de contrôle de la mémoire. Elles sont au nombre de deux : LOAD et STORE. Elles travaillent avec les registres GPR et FPR et les autres unités.
  • Les instructions pour les calculs en FPU codées sur un mot (simple précision) ou deux mots (double précision).
  • Les instructions de calcul des entiers IU codées sur un octet jusqu'à un mot (32 bits).
  • Les instructions de contrôle de flux comprenant les branchements, les registres de condition, les Trap et les instructions logiques.
  • Les instructions de contrôle du processeur comme les synchronisations d'instructions et les "MOVE" vers les registres spéciaux (SPR) et d'états (MSR).
  • Les instructions de contrôle du cache (SU et utilisateur), des TLB (Translation Lookaside Buffer) et des registres de segments.
De plus, le PowerPC 603 possède d'autres instructions dites optionnelles comme des instructions graphiques ou de calcul spécifiques dans la manipulation des blocs qui seraient trop longues à détailler ici mais que les compilateurs sauront utiliser sans aucun doute. En parlant des compilateurs, les PowerPC possèdent deux modes d'adressage indirect : Indexé a registre et A registre avec index immédiat.

Le PowerPC 603 possède aussi deux caches internes de 8 ko. L'accès à cette mémoire se fait par page ou par blocs : soit en mode "Write-back/Write-through" donc écriture directe en mémoire, soit en mode cache inhibé, c'est-à-dire que le processeur contrôle le contenu du cache.

Le PowerPC 603 possède un jeu d'exceptions très complexes qui peuvent se regrouper en quatre types :
  • Les exceptions Synchrones précises : les états de la machine sont précis et connus, sauvés et restaurés. Une fois l'exception traitée, le programme se déroulera normalement après elle.
  • Les exceptions Synchrones imprécises : elles sont soit récupérables, soit pas ! Dans tous les cas, le PowerPC 603 les traite comme des exceptions précises.
  • Les exceptions Asynchrones précises : comme par exemple un compteur ou une interruption externe et pouvant être traitées par une procédure précise.
  • Les exceptions Asynchrones imprécises : par exemple, une réinitialisation ou le test de la machine. Ici bien entendu rien n'est récupérable, mais ces exceptions sont programmables quand même.
La gestion de la MMU est aussi présente et est similaire à celle que l'on connaît. Espérons que le nouvel OS pour les Power Amiga saura l'utiliser intelligemment en créant un gestionnaire de protection mémoire qui rendra alors vraiment le système Amiga le meilleur système sur micro. Adapter AmigaOS 3.1 sur PowerPC et ne pas faire de protection mémoire n'est pas réaliste car un grand nombre d'instructions ont besoin d'une telle protection. La MMU peut gérer 4 Go de mémoire avec des tailles de blocs de 128 ko à 256 Mo, le tout sur des adresses virtuelles codées sur 52 bits et 32 bits physiques. Dans tous les cas c'est le logiciel qui doit surveiller ces flux de données, ce qui montre ici aussi l'intérêt d'une bonne protection mémoire. Le message est clair messieurs les développeurs d'AT, n'oubliez pas la protection mémoire !

Le PowerPC possède bien entendu les quatre voies de pipeline interne, mais de cela on a déjà parlé. La programmation du PowerPC 603 est totalement liée au compilateur, bien plus que pour la famille 68xxx. Le jeu d'instructions du PowerPC étant réduit, l'optimisation peut aussi se faire avec l'aide du processeur, qui pour le modèle PowerPC 604 possède un moniteur de performance qui aide à la mise au point des programmes. Il est géré par le logiciel interne qui donne les informations sur les instructions, la mémoire et la vitesse du tout. Hélas, le 604 ne possède pas en interne ce moniteur mais il peut facilement en utiliser un existant en externe. Les programmes PowerPC Amiga pourront être vraiment performants pour peu que les développeurs ne fassent pas qu'un simple transcodage 68xxx/PowerPC.

Conclusion

Pour terminer cet intermède sur deux numéros d'Amiga News concernant les PowerPC, disons que cette nouvelle orientation est vraiment ce qui pouvait arriver de mieux à l'Amiga pour peu qu'AT sache l'exploiter et ne fasse pas les erreurs qui, il me semble, pourraient tuer l'Amiga PowerPC dans l'oeuf. Le système 3.1 doit être parfaitement adapté et ceci sans faille (protection mémoire), voire amélioré (interface graphique au niveau des fenêtres). C'est ici vraiment le défi le plus important, car, on le voit bien en ce moment, ce n'est plus un combat de machines auquel nous assistions, mais bien un combat de système d'exploitation ! L'Amiga et son OS pourrait tirer son épingle du jeu...


[Retour en haut] / [Retour aux articles]