Obligement - L'Amiga au maximum

Samedi 20 avril 2024 - 13:24  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Actualité : Quel noyau pour les cartes PowerPC ?
(Article écrit par Jac Pourtant et extrait d'Amiga News - novembre 1997)


Lutte acharnée entre Phase 5 et Haage & Partner

Quelques jours après la disponibilité des premières cartes PowerPC de Phase 5, la société Haage & Partner a lancé WarpUP, un noyau logiciel gratuit pour PowerPC (tout en encensant Phase 5 d'avoir fabriqué de si bonnes cartes). Aussitôt, Phase 5 a répliqué que WarpUp est piqué sur leurs recherches, mais qu'il n'est pas compatible, voire dangereux pour le futur, et aussitôt arrête sa coopération avec Haage & Partner.

Qui a tort, qui a raison ? Quelles sont les parts de vérité dans ce bras de fer ? Est-ce que WarpUP est vraiment incompatible et dangereux en déviant la ligne développée par Phase 5 et en essayant d'imposer son système prioritaire pour ensuite toucher des droits, ou bien est-ce que ces derniers ont peur de voir leur marché leur échapper ? Il est bien difficile de se faire une idée juste. En tout cas, ce n'est pas très heureux de voir une cassure se produire dans une coopération jusqu'ici fructueuse des deux grands espoirs les plus actifs du renouveau de l'Amiga. Essayez de vous faire une idée par vous-même en lisant les commentaires de chacun des protagonistes.

En direct du front

L'annonce de Haage & Partner

Voici tout d'abord le communiqué de Haage & Partner daté du 27 septembre 1997 :

"WarpUP - un noyau à haute vitesse pour PowerUP.

L'Amiga a enfin son PowerPC. Chacun de nous est redevable à Phase 5, car ce sont eux qui ont engagé la discussion sur le choix du processeur dans la bonne direction. A travers leurs cartes PowerUP, ils assurent à l'Amiga un retour au sommet de la technologie. La technologie PowerPC offre un maximum de sécurité pour le futur. Sous la bannière de leur devise "Pas de plaisir sans RISC", Motorola avait franchi le premier pas que les processeurs Intel ont encore à faire. Grâce à cette décision, les processeurs cadencés à 350 MHz sont déjà disponibles et aucune limite à leur accélération n'est encore en vue.

Le développement matériel n'est qu'un des côtés de la médaille. Sans le logiciel approprié, même le meilleur matériel ne vaut pas grand-chose. C'est pourquoi les développeurs Amiga du monde entier sont préoccupés. Ils se demandent si le portage de leurs logiciels en vaut la peine. S'orienter vers un nouveau processeur, implique le portage et la maintenance des programmes pour deux différents genres de processeurs.

Beaucoup de développeurs restent sans rien faire (malgré leurs annonces prometteuses) et observent le marché avant de se lancer dans le portage.

Ce qui faciliterait la décision serait une interface logicielle au matériel qui garantirait que les évolutions futures du matériel n'impliqueraient pas l'invalidité de leurs logiciels (même si un autre constructeur, ou Amiga Inc., créent une carte PowerPC de conception différente). Cette fonctionnalité est exactement offerte par WarpOS qui a été développé par nos auteurs Sam Jordan, Michael Rock et Jochen Becher autour de la carte à double processeur de Phase 5.

WarpUP est formé d'une couche d'abstraction matérielle (HAL = hardware abstraction layer) entre le matériel et les applications. Ce HAL garantit le bon fonctionnement de ces applications quel que soit le concept PowerPC. Ceci offre une avancée sans risque dans une nouvelle ère de développement logiciel sur Amiga.

WarpUP constitue l'interface entre le matériel 68k, le matériel PowerPC, le système 68k et les applications. Le premier besoin est bien entendu d'exploiter de façon optimale la vitesse délivrée par le PowerPC en rendant en même temps la programmation ou le portage des applications aussi facile que possible. Pour la première fois sur Amiga, WarpUP permet l'utilisation des applications natives PowerPC comme celles des applications et bibliothèques partagées de forme mixte en "fat-binary" (versions de logiciels contenant les codes pour deux processeurs différents à la fois, comme sur Mac, NdT).

Le système de développement StormC/C++ offre la possibilité de compiler une application écrite originellement pour AmigaOS en PowerPC natif au moyen d'une simple option dans le compilateur. La connexion nécessaire entre AmigaOS 68k et les fonctions PowerPC est assurée par le noyau WarpOS au sein de WarpUP. C'est un avantage non négligeable pour le développeur de logiciels. La raison en est que même un portage direct du logiciel réussit à augmenter substantiellement les performances. Les changements conceptuels du logiciel ne deviennent nécessaires qu'en dernier ressort.

WarpUP

WarpUP offre les avantages suivants :
  • Interface de communication à haute vitesse entre le processeur 68k et le processeur PowerPC.
  • Multitâche entièrement natif, tout comme la gestion de la mémoire, les sémaphores, la gestion de listes et de drapeaux, les signaux et la gestion de messages.
  • Protection facultative de la mémoire : les tâches ont la possibilité d'allouer des zones de mémoire protégées.
  • Signaux virtuels, c'est-à-dire partagés et toujours reroutés vers le bon processeur.
  • Système de messages entre les processeurs.
  • Utilisation optimale du cache et de la MMU pour le PowerPC.
  • Gestion des exceptions et de la MMU pour les applications.
  • Fonction d'économie de courant qui éteint le PowerPC s'il n'est pas utilisé.
  • Enforcer PowerPC pour protéger la première page.
  • Boîte de dialogue détaillée de plantage pour aider le programmeur à localiser l'erreur.
  • Système de débogage intégré pour débusquer plus facilement les petites bêtes.
  • Aide spéciale aux logiciels hautement optimisés comme les jeux et les démos.
  • Aide à la conformité Amiga des applications.
  • Applications et bibliothèques partagées en PowerPC natif, mixte et "fat binary".
  • Également utilisable par des systèmes alternatifs de développement tels que Modula ou E car les objets ne doivent pas être obligatoirement créés en ELF. On peut tout aussi bien utiliser du code conforme Amiga vérifié au format Hunk.
  • Facilité d'installation.
  • Indépendant des spécificités matérielles.
  • Adaptation optimale pour le futur.
Nous avons gardé le meilleur pour la fin : WarpUP peut être obtenu gratuitement directement chez Haage & Partner. Vous ne paierez que la note du téléphone. Téléchargez-le ! C'est notre contribution pour un avenir brillant de l'Amiga."

La réponse de Phase 5

Et maintenant la réponse de Phase 5 le 29 septembre 1997 :

"Avertissement de compatibilité : noyau de pirate.

Ceci est une courte remarque préliminaire, qui sera approfondie au cours de la prochaine semaine.

Phase 5 Digital Products fournit des cartes PowerUP en tant que solution complète consistant en un matériel puissant à deux processeurs avec une bibliothèque PowerPC appropriée et d'autres ingrédients. La bibliothèque PowerPC est une bibliothèque complète et native en noyau multitâche et multiprocesseur. Elle fournit tout ce qui est nécessaire pour tous les genres de développement logiciel, même pour l'adoption de futures ou différentes versions du système. L'accusation d'inconvénients et de lenteurs de communication entre les deux processeurs est un non-sens, notre environnement logiciel assurant un message compréhensif et un système de signaux qui fournissent même des zones de mémoire protégeables pour chaque tâche, rendant les logiciels conformes PowerUP prêts pour des versions ou des mises à jour à mémoire protégée.

A présent, Haage & Partner, un développeur de logiciels allemand qui a été aidé par Phase 5 en tant que développeur PowerUP, vient de mettre sur le marché un produit appelé WarpUP consistant en un remplacement du système logiciel PowerUP de Phase 5, incompatible avec celui-ci. Ce programme est annoncé avec une longue liste de possibilités et de prétendus avantages par rapport au système PowerUP, donnant ainsi l'impression d'une fonctionnalité et compréhensibilité accrues et de performances supérieures, ce qui ne peut être prouvé que par les faits et est basé sur des assertions de Haage & Partner.

De toute évidence, la fonctionnalité soulignée et vantée par Haage & Partner n'offre rien de plus que la fonctionnalité standard offerte par l'environnement logiciel PowerUP de Phase 5. Simplement, nous ne l'avons pas crié sur les toits. C'est également un non-sens que le système WarpUP de Haage & Partner soit plus rapide que le système PowerUP de Phase 5. Ceci pourrait être vrai uniquement si StormC (le compilateur C développé et commercialisé par Haage & Partner) était utilisé pour la compilation d'une application PowerUP.

WarpUP de Haage & Partner est une solution qui n'est pas compatible avec celle de Phase 5. Comme il n'utilise pas le HAL fourni par Phase 5, mais touche au matériel en utilisant une connaissance incomplète de sa fonctionnalité (qui a été acquise en remaniant le logiciel de Phase 5), il est plus que probable qu'il ne fonctionnera pas avec les révisions futures ou les produits suivants de la ligne PowerUP.

De plus, Phase 5 ne tolérera pas qu'un logiciel incompatible prenne le contrôle du matériel PowerUP et empêche l'utilisateur de faire tourner des logiciels qui ont été conçus pour les cartes PowerUP par Phase 5 et de nombreuses autres compagnies. Tout logiciel fourni par Phase 5 et dans lequel nous avons investi beaucoup d'efforts et d'argent pour faire du PowerUP un produit utile, serait invalidé une fois le logiciel de Haage & Partner installé dans le système. Ceci inclut par exemple la rapide bibliothèque native CyberGL et le décodeur audio et vidéo MPEG intégré dans la version 3 de CyberGraphX.

En conséquence, les programmes utilisant cette fonctionnalité avancée ne tourneraient plus. L'utilisation de la solution de Haage & Partner entraînerait un chaos complet d'incompatibilité. Dans l'intérêt de nos clients, qui, achetant nos produits, y ont placé des espérances élevées, nous allons faire attention à ce que le système logiciel de Phase 5 ne soit pas invalidé.

Depuis le début, Haage & Partner a refusé d'utiliser le format binaire ELF que Phase 5 avait introduit dans les cartes PowerUP. La raison pour laquelle nous avions opté pour ce format largement reconnu était d'ouvrir le développement Amiga et PowerUP aux standards logiciels de l'industrie. Par exemple, le format ELF permet un développement professionnel sur PowerUP de tourner sur d'autres plates-formes (telles que les systèmes Motorola PowerPC, les systèmes IBM AIX, et même sur SUN ou sous WindowsNT), où les compilateurs croisés PowerPC à haute performance sont disponibles. Phase 5 est actuellement en train de tester de tels compilateurs qui pourraient offrir une chance d'encore accélérer des logiciels tels que la bibliothèque CyberGL native et la bibliothèque MPEG. De plus, on attend une mise à jour SAS/C sur Amiga qui gère PowerUP et le format ELF.

Au contraire, Haage & Partner veulent imposer leur propre "format Hunk amélioré" dérivé du format Hunk Amiga, mais qui est une solution nouvelle et propriétaire. C'est un concept obligeant les développeurs à utiliser la seule solution gérant ce format, le compilateur StormC de Haage & Partner. Haage & Partner déclarent que c'est un produit ouvert et conforme Amiga, ce n'est en fait ouvert qu'au standard Haage & Partner et conforme à leurs solutions logicielles propres.

A ce point, il est important de mentionner que les concepts logiciels de Phase 5 ont toujours été d'ouvrir les portes et de niveler le chemin qui mène aux versions futures et complètement révisées du système, qui incorporeront la protection de la mémoire et la gestion du multiprocesseur (qui, à propos, n'est pas géré par le concept Haage & Partner). Ceci a été proposé cette année en mai à l'Amiga International/Gateway 2000 en même temps que notre offre de coopération technologique extensive. Pour atteindre ce but, nous pensons qu'il est indispensable de jeter les bases de programmation qui rendront les nouveautés Amiga/PowerUP plus indépendantes de la version du système utilisée, par une programmation clairement structurée et orientée-objet, plutôt que d'utiliser le concept de StormC de simplement recompiler de vieux codes sources (ceci sera éclairci plus tard).

Comme la solution de Haage & Partner n'est pas compatible et peut - à cause de son concept logiciel propriétaire - ne pas exaucer les souhaits des développeurs professionnels, il est fort probable que les développeurs ne la choisiront pas. Phase 5 recommande expressément de ne pas utiliser ce concept incompatible, de même que le compilateur StormC qui, à cause de son concept, gaspille une partie des performances que les cartes PowerUP peuvent délivrer (ceci sera détaillé plus tard).

Phase 5 a aidé Haage & Partner avec ses systèmes de développements gratuits et toute l'information pour développer des logiciels et des utilitaires compatibles permettant ainsi à Haage & Partner de devenir un vendeur majeur de logiciels. Nous avons également organisé des rencontres au cours desquelles nous avons expliqué notre stratégie et nos buts pour faire de PowerUP une base utile non seulement pour une nouvelle génération d'applications à performances élevées, mais aussi pour le développement vers un nouveau système ou une version du système répondant aux demandes du siècle naissant.

A notre surprise et déception, Haage & Partner ont utilisé leur statut pour créer un remplacement au système PowerUP avec l'intention d'établir un standard contrôlé par eux et ils ont même essayé de ruiner le développement logiciel complet et compréhensif dans lequel ont porté tous nos efforts. En même temps, ils n'ont pas été capables de présenter une application stable tournant sur PowerPC qui aurait représenté un avantage pour l'utilisateur Amiga/PowerUP. Nous vilipendons ce comportement contre productif de confrontation et nous allons suspendre toute aide à Haage & Partner en tant que développeurs PowerUP et à tous leurs produits.»

Troisième épisode, etc.

Le troisième épisode de cette triste bagarre, est la réponse de Haage & Partner en date du 6 octobre 1997. Elle contient plus de 22000 caractères, et on ne va pas consacrer le journal entier à ce pugilat. Je vous la résume donc très succinctement en n'extrayant que les informations nouvelles, vu son très haut pourcentage de verbiage.

Haage & Partner a présenté leur WarpUP à Phase 5 deux jours avant leur annonce sur le Web. Il clame la compatibilité de WarpUp avec PowerUP. Il retrace ensuite l'historique de StormC et de WarpUp.

Il regrette le choix de Phase 5 de se baser sur le format ELF qui ne permet pas de partager les variables globales ou les structures entre les deux processeurs, de charger automatiquement les parties PowerPC, d'être incompatible avec d'autres compilateurs que le GNU, et d'automatiser les retours de saut ou les changements de processeurs qui doivent être programmés manuellement par le développeur.

Le début de la bifurcation entre les deux méthodes aurait son origine en octobre 1996 lorsque Phase 5 a envoyé deux cartes PowerPC à Haage & Partner. Le logiciel fourni avec, était à l'époque tellement élémentaire, qu'ils ont décidé de l'étoffer.

Le système Phase 5 d'inverseur d'un processeur à l'autre, basé sur un changement de contexte logiciel lent et compliqué, n'a pas paru intéressant à Haage & Partner qui aurait préféré une extension matérielle de gestion de ce changement de contexte sur la carte, ce que Phase 5 ne voulait pas. Le nouveau changement de contexte de Haage & Partner, déjà prêt en janvier 1997, permettait des délais de 0,5 ms contre 60 à 90 ms pour celui de Phase 5.

Haage & Partner est également "convaincu" contre "l'assertion" de Phase 5, que les futurs Amiga n'auront qu'un seul processeur, quelle que soit la société qui les fabrique.

Après le salon Magic Days in Trier où Haage & Partner avait essayé en vain de provoquer un forum avec Phase 5 sur le choix du format, Haage & Partner a reçu la nouvelle bibliothèque qui avait été tellement modifiée, que même leur développement, qui alors suivait les règles de Phase 5, était devenu incompatible. Lors d'une rapide rencontre, les gens de Phase 5 auraient été surpris de voir que Sam Jordan, le développeur de WarpOS en savait plus qu'eux-mêmes sur les cartes PowerUP. Haage & Partner n'est pas loin de déclarer qu'un mois après, la nouvelle ppc.library de Phase 5 aurait été réécrite et plus ou moins pompée sur celle de Haage & Partner, restant toutefois encore incompatible avec WarpUP.

C'est alors que Haage & Partner a décidé de continuer seul, ce qu'il regrette encore aujourd'hui, car il aimerait continuer à coopérer avec Phase 5.

Enfin, l'attaque de Phase 5 sur le fait que Haage & Partner n'a jusqu'à ce jour rien développé pour PowerPC à sa réponse dans le fait qu'à chaque mise à jour de la ppc.library de Phase 5, les changements étaient trop importants pour le suivi sérieux d'une application.

La solution préconisée par Haage & Partner pour une compatibilité bénéfique aux usagers est qu'au lieu de solutions logicielles divergentes, il est prépondérant de créer une interface matérielle entre 68k et PowerPC. Haage & Partner aimerait créer un consortium indépendant qui définirait les standards. Alors, si ELF était la solution retenue, Haage & Partner s'inclinerait sur ce point.

Enfin, en dernier point, Haage & Partner déplore l'agressivité de Phase 5 et appelle à la paix et à la réconciliation.

On voit donc que le problème n'est pas simple. D'une part, il y a une lutte de savoir et de prestige entre les développeurs, bonne foi et mauvaise foi des deux côtés, divergences sur les spéculations du futur du marché, ensuite plans de monopolisation pour l'avenir. Ce n'est pas beau, mais c'est comme ça depuis que le monde est monde, malheureusement. L'amigaïste n'est pas encore au bout de ses peines s'il doit encore ajouter celui d'arbitre à tous les talents qu'il a accumulés aux cours des péripéties.

Qu'il me soit permis toutefois un peu de partialité désabusée par personne interposée. Un programmeur chevronné m'a déclaré : "le format ELF est meilleur car il n'a pas été développé sur Amiga, il vient de plates-formes "sérieuses". Il va sûrement s'imposer."

Qui doit gérer le matériel ? (par Jean-Paul Pozzi)

Ces quelques commentaires sont tirés de divers courriels et informations entre Wolf Dietrich de Phase 5 et différents interlocuteurs. Il s'agit plus d'une querelle de clochers ou d'une différence de philosophie (et peut-être d'un différent commercial) que d'une discussion intéressante. La seule chose qui nous concerne est le risque d'incompatibilités majeures entre des logiciels de différentes origines et le système.

La philosophie de Phase 5 semble être la suivante : les programmes existants doivent être profondément remaniés (redéveloppés ou modularisés) afin d'utiliser avec profit les possibilités de parallélisme entre les deux processeurs. La gestion de la communication et la synchronisation entre tâches parallèles semble être bien gérée par le logiciel de base. Par ailleurs, Phase 5 recommande l'utilisation de formats binaires "standard" type ELF (le format ELF est, entre autres, celui utilisé par les dernières versions de Linux. Par contre, ce format est en rupture avec le format de "hunks" cher à l'Amiga).

Celle de Haage & Partner serait : il faut faciliter le portage des applications existantes en tirant parti, au mieux, de la puissance des processeurs. Si le noyau du système ne le permet pas, il faut le changer. Le format "hunks" peut être adapté plus facilement à la gestion de binaires "mixtes".

Quelques remarques (n'ayant pas de carte PowerUP, ni de compilateur Haage & Partner dernière version, mes réflexions restent très théoriques) : le parallélisme des tâches impose une saine gestion de la répartition des traitements entre les processeurs. Les besoins de communication entre tâches doivent être limités au strict nécessaire. Ce problème est rencontré tous les jours dans les développements de style client/serveur où les échanges de messages entre tâches (et entre systèmes) sont de loin les plus "gourmands". La philosophie de Phase 5 semble ici la meilleure et la plus ouverte sur l'avenir. Le logiciel système pourrait ainsi prendre en compte le fonctionnement sur plusieurs processeurs tournant éventuellement dans des systèmes différents (encore le client/serveur ! décidément j'y tiens). Chaque tâche est associée au processeur/système où elle est la plus efficace. Cette méthode me semble la meilleur logiquement parlant et la plus favorable à la maintenance et à l'évolution des logiciels (concept plus "objet", ou au moins modulaire).

L'idéal serait de rendre ces deux méthodes compatibles

Par contre, la méthode H&P semble présenter un avantage immédiat : celui d'utiliser votre beau processeur tout neuf pour faire tourner plus rapidement nos applications (ou des versions peu modifiées).

L'idéal serait de rendre ces deux méthodes compatibles. Il n'est pas impossible d'envisager deux niveaux d'interface dans les bibliothèques système : un niveau haut gérant la synchronisation et le parallélisme entre tâches. Un niveau "bas" permettant d'utiliser les deux processeurs sans perte de performance lors de la commutation. Il faut surtout que ces deux niveaux soient compatibles et ne se "plantent" pas les uns les autres !

Il faut attendre l'avis des développeurs, surtout de ceux qui disposent d'informations précises et de possibilités de test.

(Jean-Paul Pozzi est un vieil utilisateur de l'Amiga. Son A2000 de 1987 a été modernisé par une carte 2630 (68030 à 25 MHz), puis par une carte 2040 à 40 MHz et une CyberVision 3D. Le système a suivi du 1.3 au 2.04 puis au 3.1 et même un peu de Linux. Son activité professionnelle tourne autour de l'informatique de gestion, Unix, C, Shellscript, bases de données, SQL, TCP/IP "et même, quelle horreur, Windoze et compagnie")


[Retour en haut] / [Retour aux articles]