samedi 10 septembre 2016

Le PPC c'est nul

Lorsque j'affirme haut et fort sur les forums que le PowerPC est d'une nullité totale et absolue, certaines personnes voulaient des preuves, ce qui est bien naturel !

Moi aussi j'ai été berné à l'époque de la BlizzardPPC : ADoomPUP tournant à 35/36 fps était très impressionnant. Je croyais aussi que les PPC était mieux que les 68k, et qu'ils étaient l'évolution de la gamme 68000...

C'est alors que je commença a étudier le PowerPC de plus près, allant même jusqu'à imprimer les .pdf dans des classeurs...

Je suis tombé de très haut : le PPC est bien inférieur aux 68k, mis à part peut-être la partie Fpu qui apporte quelques nouveautés positives. Il faut être codeur pour voir et comprendre cela.

Bref, j'ai perdu beaucoup de temps et d'argent (les .pdf étaient imposants...) : tout cela pour m'enfermer (moi et tous les autres programmeurs...) dans un nouvel univers PPC sans aucun avenir, ce nouveau CPU étant d'une nullité affligeante et n'activant en RIEN la passion comme les 68k la déclenchait. Seule la carotte de l'argent peut forcer les programmeurs à produire des logiciels pour PPC, rendre tout commercial en quelque sorte...

L'équipe Phase5, surtout leurs codeurs qui savaient que le PPC était beaucoup moins bien que les 68k, voulaient mettre les utilisateurs de PPC dans une voie sans issue, de façon à les détourner du 68k afin de bloquer toute évolution des Classics : détruire l'ancien génial 68k pour vendre alors la nouvelle camelote PPC aux utilisateurs... Peu importe que ça soit de la merde, seul compte le profit ! Diviser la communauté pour mieux régner.

Empêcher par tous les moyens possibles l'évolution des 68k, software comme hardware d'ailleurs, la vieille stratégie du détournement de l'énergie dans une voie voulue sans aucune issue... Le tout pour faire plaisir à la concurrence qui veut le monopole, d'ailleurs d'où vient l'argent de Bill Buck et de Trevor Dickinson ?

Prenons un exemple très simple, une fonction de l'exec.library : Forbid. Elle est minuscule, très simple à comprendre :

Elle pèse 6 octets (6 * 8 = 48 bit) dans le Kickstart et utilise deux instructions.

Cette fonction 68000 effectue :
  • une addition (TDNestCnt + a6)
  • une lecture dans la mémoire
  • une addition (1 + le contenu de TDNestCnt(a6))
  • une écriture dans la mémoire (TDNestCnt(a6))
  • et un retour (rts)
  • n'utilise qu'un seul registre (a6)

Maintenant voyons l'équivalent PowerPC dans OS4, vous savez le CPU soit disant no-risc/no-fun :

Elle pèse maintenant 20 octets (20 * 8 = 160 bit) et utilise 5 instructions.

Cette fonction PPC effectue :
  • une lecture de 16(r3) dans r11
  • une lecture de TDNestCnt(r11) dans r9
  • une addition de 1
  • une écriture du résultat r9 dans TDNestCnt(r11)
  • et un retour (blr)
  • utilise 3 registres (r3, r9 et r11)

Vous montrez ça à n'importe quel codeur, il se mets à hurler devant tant de nullité...
   
Le PPC n'est en rien une évolution du 68k comme Phase5 et compagnie voulait le faire croire, c'est en réalité tout le contraire... En rien un "power up", ils jouent avec les opposés et les inverses : faire croire que c'est bien alors que c'est nul... Rattraper la daube avec des fréquences plus hautes...
  
Bref, leur objectif principal était d'empêcher une nouvelle fantastique machine de voir le jour, à base de 68k rapide et de AAA dans la continuité logique des ingénieurs de Commodore : des dizaines de millions d'euros volontairement engouffrer dans du vent depuis 16 ans (Efika, Pegasos 1, Pegasos 2, AmigaOne PCI, AmigaOne, micro AmigaOne, Sam, X1000, X5000, Tabor...) qui n'iront pas dans un Amiga Classic plus évolué...
  

35 commentaires:

  1. Suis d'accord, le PPC n'a rien à faire dans l'Amiga qui doit rester un ordinateur 68k.

    RépondreSupprimer
    Réponses
    1. Oui, il nous faut un 68k rapide à 400 Mhz (équivalent en gros à un PPC ou x86 à 1 Ghz) et un AGA bien amélioré : l'ordinateur quasi-parfait en somme !

      Supprimer
    2. 68K@400Mhz == x86@1GHz ??? je ne sais pas d'où tu tiens cet argument. Pour rappel le x86 et le 68k ont en commun une ISA CISC. La différence, c'est que le véritable coeur du x86 n'est plus un CISC : il a l'avantage de la compression des instructions et l'avantage du nombre de MIPS des RISC out-of-order. Je suis a peu près certain que si ou pouvait reprendre le vrai coeur d'un X86 actuel et lui donner à décoder du 68K au lieu du x86, on obtiendrait des performances très similaires qui blasteraient le PPC, le 68080 de Vampire et cie : on garderait la compacité du code 68K et la vélocité d'un RISC out-of-order. Le CISC a lui tout seul ne suffira pas.

      Supprimer
    3. C'est une évaluation de ma part "à la louche", bon qui vaut ce qu'elle vaut : c'est faiblard le microcode x86, peu de registres, beaucoup d'accès à la pile, des caches à flusher...

      Supprimer
    4. [NOTE: attention je ne cherche pas à convertir qui que ce soit ou à créer une guerre religieuse sur qui est le meilleur - ce n'est absolument pas mon propos]

      Je ne sais pas quelle est ta connaissance de l'ISA x86. Ce que tu décris comme faiblard, c'est peut-être le code 16-bit d'antan.
      - En 64-bit, tu as quand même 16 x 8/16/32/64-bit GPR et 16 x 128/256-bit VPR (32 x 128/256/512-bit si le CPU embarque de l'AVX512). Avec un nombre d'instructions par cycle horloge et par coeur entre 8 et 10. Pour comparaison, le 68060 fait 1,3.
      - Les arguments de fonction vont dans les registres en priorité (et encore ce n'est qu'un question d'ABI : tu peux le faire à ta sauce).
      - Le FPU x87/MMX bien que toujours présent est "abandonné" au profit du SSE/AVX. De plus, avec le SSE/AVX, tu peux faire des opérations parallèles sur des éléments en 8/16/32/64-bit (entier ou réel).
      - Les caches à flusher ? jamais vu ça. Le flush est automatique (sauf à l'interdire pour certaines adresses MMIO par exemple) : un autre coeur peut lire ce qu'un coeur a écrit sans flush explicite - de préférence en protégeant l'accès avec un préfixe LOCK dans le cas d'un accès concurrentiel entre les coeurs.
      - Alors oui, il y a les préfixes qui peuvent allonger le nombre d'octet par instruction. Mais ça n'a pas d'incidence sur le cycle d'exécution. Seul incidence sur le I-cache peut-être mais encore vu leur taille. En fait, la taille en octet et le nombre d'instructions auront beaucoup moins d'incidence que sur un 68060.

      Une implémentation réelle en CISC n'est plus possible si on veut augmenter les fréquences et l'IPS. Tu reprends l'implémentation d'un coeur Intel/AMD et tu remplaces le décodeur X86 par celui d'un 68K, les fans du 68K seraient aux anges. Mais voilà il n'y a pas d'enjeu économique à le faire.

      Supprimer
    5. D'une façon "globale" avec Windows l'OS obèse, ma comparaison d'avec un WB 3.9 s'approche du 400 Mhz / 1 Ghz...

      Difficile de comparer de toutes les façons, machines trop différentes...

      Après, le microcode x86 est totalement nul : c'est du vitefaitmalfait de A à Z : aucune envie d'avoir des connaissances là-dedans, c'est trop médiocre...

      La plupart des CPUs même si je ne les connais que de très loin ont été créé par des ingénieurs qui ne connaissent rien à la programmation : ça se voit de suite avec le PPC par exemple.

      Et le problème est bien là : il faudrait plutôt que ça soit les bons coders qui pondent les CPUs... Ou plutôt les GPUs maintenant qui sont devenus plus importants que les CPUs...

      Bref, pour moi, seuls les 68k sortent du lot : simple à apprendre, facile à retenir après un temps d'apprentissage, un grand plaisir à programmer en asm et surtout une foule d'optimisations en tout genre à trouver pour ceux qui savent chercher : le paradis quoi !

      Supprimer
  2. Cosmos, en plus de la cpu plus rapide, le reste aussi: controleur memoire, bus avec les divers controleurs...

    RépondreSupprimer
  3. La seule vraie question qui devrait être posée : combien de cycles d'horloges sont nécessaires dans les deux cas ?

    RépondreSupprimer
    Réponses
    1. Aucune importance : j'explique la différence entre un CPU passionnant & simple à coder et un autre déprimant & difficile à programmer...

      Pour qu'une machine vive, il faut des coders : donc, plus le CPU est bien fait, plus il y aura de programmeurs, plus il y aura de logiciel, et plus les utilisateurs seront ravis !

      Supprimer
  4. On peut en effet voir les choses comme ça, même si le code PPC ne doit pas tomber bien loin du microcode 68K qui correspond au add quick. Bonne continuation.

    RépondreSupprimer
  5. Almost everyone, except the "hlide" user, are a bit deceived! It is mainly about how many tacts of the CPU the instruction lasts! RISC CPUs versus CISC CPUs are equipped with more registers and many of instructions are executed even within 1 tact! CISC processors/68k with a large count of instructions can only dream of that! However, the RISC CPU is much more difficult to program. Many things the programmer has to create himself - but there is room for code optimization and skill of programators - for a CISC CPU, the instructions are clearly given. You can't speed it up! Only by increasing the CPU/RAM speed or passing tasks to another coprocessor (GPU,Audio etc).
    And for second: - PPC began to develop mainly due to performance (G2-G3-G4 .. simple processor with less instructions = less transistors = possibly higher frequency with worse technology. It is impossible with CISC) and also fact that there was not upgrades of 68K CPU anymore (after 68060)
    Just as a note

    RépondreSupprimer
    Réponses
    1. Sorry, all wrong !

      Download and watch this : https://drive.google.com/file/d/14YU8unqx7Ry7-n1N7g27CPrLhcgFrP6C/view?usp=sharing

      Supprimer
  6. How about Kintex or Virtex FPGA implimentation of 68K?
    Or use cheap Arm (pi?) for 68K emulation? Faster, but fake hardware.

    Which is better?

    RépondreSupprimer
    Réponses
    1. For me : Virtex.... Please for the love of the Amiga, do not add AMMX ! Thanks !

      Supprimer
  7. Et le coldfire dans tout çà ? c’était bien un 68000, non ? pourquoi personne n'en as voulue ?

    RépondreSupprimer
    Réponses
    1. Oui, mais il n'est pas 100% compatible 68000/68020...

      Supprimer
    2. le 68040/68060 non plus, d’où la library dédié sous OS3

      Supprimer
    3. Oui, mais sur le Coldfire, y'a encore plus d'incompatibilité... En fait, il faudrait tout simplement un nouveau 060 avec une fréquence plus élevée... Motorola a plutôt choisit des voies de garage, comme le PPC ou le Coldfire, faut pas chercher à comprendre...

      Supprimer
  8. Sur Atari, ils s'en sortent très bien avec des Coldfires, donc il est pas si incompatible que çà.... et vu qu'il y a des V4e a plus de 200Mhz depuis plus de 20 ans dans la nature.... C'est peut être lui ton 060 a fréquence plus élevé, mais visiblement, tu n'en veut pas et je ne comprend pas pourquoi .... Si tu pouvais nous donné une explication ...

    RépondreSupprimer
    Réponses
    1. Oui, le FireBee : je crois qu'ils ont été obligé de programmer un émulateur 68k vu la faible compatibilité, ce qui est assez ironique !

      Clair que j'aurais été ravi d'avoir un nouveau 68k plus rapide comme bon nombre d'entre nous : mais là, y'a trop d'incompatibilité, j'avais creusé un peu ce sujet il y quelques années, je m'en souviens plus trop : pas intéressant hélas...

      Supprimer
  9. La 68040.library n'est elle pas un émulateur de fonctions du 68000 elle aussi ? Si tu as des liens sur le fonctionnement du firebee, ça m’intéresse.
    Sinon, Il faut remarquer que l’immense majorité des utilisateur de 68000 ne sont jamais passé au 68060. de Sega a SGI, ils ont tous privilégié un passage aux processeurs RISC, ce que même Commodore avais prévu pour un futur Amiga (Hombre) qui ne sortira jamais... Comment explique tu, de ton point de vue, ce passage massif au RISC au debut des années 90s ?

    RépondreSupprimer
  10. C'est trop long, alors en plusieurs bouts :
    Pour le firebee :
    Je connais le firebee.Ce que je cherche, c'est un lien , un article, un billet de blog ou encore un post de forum susceptible d'expliquer la stratégie mise en place pour émuler un 68000 sur un coldfire.
    tant qu'a parler d'Atari, je lance ici une bouteille a la mer : Je cherche a savoir par quel sorcellerie Mint, qui est censé être plus ou moins un Unix, gère la protection mémoire sans MMU. enfin ceci dans la mesure ou il il y encore de la protection mémoire....

    RépondreSupprimer
    Réponses
    1. J'avais lu quelque part que le 68k était émulé sur le Firebee, mais je ne me souviens plus où, c'était y'a longtemps...

      Supprimer
  11. Pour le coldfire :
    Ces derniers temps, je me suis bouffé des kilomètres de docs techniques, de toutes périodes et de tous constructeurs, en provenance de sites comme bitsavers.org ou archive.org entre autre. et j'ai du mal a voire beaucoup plus de différence entre un 68030 et un 68040 que entre un coldfire et un 68060.
    Tu sens même en lisant les docs que le les idées du 56000 (le DSP) on infusée dans le 88000 (le premier pross RISC de Moto) et que celui ci a grandement influencé le 68040 avec l'adoption du pipeline, une archi de Havard avec 2 caches de L1 (un pour le programme, un pour les données)et un menage dans les opcodes entre autre. d'un certain point de vue, le 68040 est déjà un processeur RISC vu qu'il coche un grand nombre d'idée en provenance de cette technologie.
    Le 68060 va un cran plus loin vers le RISC avec son architecture superscalaire a double pipeline et un nouveau menage dans les opcodes.
    Les différentes versions de coldfire assumes clairement cette direction vers le RISC en essayant homogénéiser la longueur des opcodes et leurs format par un nouveau ménage dans ceux ci. il reste 3 longueur différentes alors qu'un vrais RISC ne devrais en disposer que 'd'un.

    J'ai vu Beaucoup de gents pratiquer un sport étrange appeler le désassemblage, et ce afin de patcher les exécutables pour des besoins plus ou moins avouable. J'ai d’ailleurs cru comprendre que l'auteur de ce blog pratiquais ce sport dans un but fort louable. En quoi désassembler un soft 680X0 afin d'identifier et de remplacer les opcodes supprimée par un bout de code coldfire serais un problème sur Amiga ? n'y aurais t'il pas un moyen d'automatiser le processus ? j'ai vu un sacré paquet de soft compilé pour chaque version précise de 680X0. J'imagine que rajouté le coldfire dans cette liste n'est pas la fin des haricots. Et j'en reviens a ma question du début : " Et le coldfire dans tout çà ? c’était bien un 68000, non ? pourquoi personne n'en as voulue ?"

    RépondreSupprimer
    Réponses
    1. Pour moi les CISC sont bien supérieurs aux RISC. Les RISC ont été construit pour "coller" au compilateurs C si je comprends bien... Ce qui est une erreur selon moi. Chaque coder a le droit de décider s'il veux coder en asm ou en C (ou autre)... La programmation asm en RISC est beaucoup moins intéressante en RISC...

      Ensuite, j'ai déjà répondu : il y a beaucoup plus d'instructions supprimées et même des modes d'adressage dans le Coldfire. Et ce aussi dans la Fpu. De plus, j'ai bien l'impression que la MMU est différente dans ces Coldfire...

      Sinon, pour mes désassemblages : sache que la qualité du code est faible sur nos Amiga, le pire étant Warp3D 4.2a. Si tu voyais tout ce que je supprime... Demande à Matthey, il te dira pareil...

      Supprimer
  12. Pour le passage du 68000 au RISC des différents constructeurs:
    Pour la notion d’énergie, un processeur RISC a censé avoir moins de transistor que sont équivalent CISC, et donc moins consommé a performance égale, je pense pouvoir te rejoindre la dessus. Mais je comprend pas la notion de spiritualité dans un processeur : Je n'ai jamais vu cette notions apparaître dans aucune des docs technique que j'ai consulté ni dans aucun cours sur le sujet. Je crois que tu as un truc a m'apprendre sur ce point précis.

    RépondreSupprimer
    Réponses
    1. Moins de transistors : les coders s'en tapent. Ils veulent un CPU intéressant à programmer, point. Imagine un A500 avec un CPU PPC tout pourri, et bien il y aurait eu beaucoup moins de softs pour cette machine imaginaire, c'est certain !

      Un ordinateur sans soft n'a aucun avenir. Ce sont les softs qui font la machine. Donc il faut favoriser le plus possible les coders. Sans eux, rien ne fonctionne, les constructeurs ne vendraient que peu de machines...

      Supprimer
    2. Pour la spiritualité, notre monde 3D extérieur est le "reflet" de notre monde intérieur. Tout est énergie. Chaque objet est énergie, c'est à dire une partie interne de nous-même. Le 060 soit être "particulier" pour qu'ils veuillent tant le voir mourrir une bonne fois pour toute... Tout ou presque est aux mains des francs-maçons/illuminati : si ils le bloquent comme ils bloquent aussi la marque Commodore, c'est qu'ils ont de "bonnes" raisons, ça doit gêner leurs plans futurs...

      Supprimer
  13. Pour l'AGA, son évolution et tous le reste:
    Dans mon jeune temps, une machine avec un gros 68000 et une grosse carte graphique, on appelais ça un macintosh ou une Nextstation, et c’était pas cool, enfin moins qu'un Amiga. à la même période on charriais tous les mecs avec leurs horrible PCs qui devais rajouté une carte a chaque fonctionnalité et qui devais ce battre avec cette notion qui nous paraissait aberrante : le driver.
    Aujourd'hui, un Amiga ca ressembles a ces 2 machines a la fois : on a un gros 68000, un carte graphique , et tous un tas de trucs moche pour pouvoir se connecter a des trucs moderne comme les écrans, le réseau ou l'USB plus un horrible empilement de logiciel pour essayer de faire tourner le tous... et dans tous ça, mon genlock ne fonctionne plus depuis 20 ans, Je n'ai plus rien sur quoi le branché ... et j'imagine que je ne dois pas être le seul a avoir ce genre de problèmes.
    Alors si le coldfire n'est pour toi pas une solution, j'aimerais beaucoup que tu nous fasse une fiche technique détaillé d'une machine dont les composant sont accessible aujourd'hui et ne risque pas de disparaître par la volonté de quelques marketeux... quel CPU neuf aujourd'hui ? quel évolutions pour le chipset ? et quel évolutions pour l'OS et les softs livré avec la machine ? Cela fait presque 30 ans qu'on attend un vrais nouvel Amiga, la patience a des limites !

    En attente de ta reponse.

    RépondreSupprimer
    Réponses
    1. Je suis tout à fait d'accord avec toi.

      Mais il y a déjà de nombreux blocages aussi bien software, hardware et même structurel comme la marque Commodore. Regarde par example MUI dont les sources sont bloqués : tout reprogrammer compatible prendrait de nombreux mois...

      Ensuite, construire un nouvel ordinateur Amiga 68k intéressant est loin d'être simple. Et l'argent ne fait pas tout, loin de là : il faut les bonnes idées, de très nombreuses connaissances, choisir et utiliser les bons composants...

      Il faut aussi une administration coopérante (ici en France, elle est pro-Windows, donc oublie)...

      Commodore à l'époque avait trouvé la "recette" de l'ordinateur "parfait", mon idée serait de reprendre là où ils s'étaient arrêté en 1994 : continuer le même "esprit", la même "philosophie" et améliorant le tout...

      Supprimer
  14. Je demandais des Specs pour une nouvelle machine et la réponse est d'un vide .... Des excuses pourries, et surtout pas de prises de décisions, une réponse digne des gents que tu es censé combattre en somme... A laquelle de ces sociétés secrète appartient tu pour répondre spiritualité alors que l'on te pause une question technique ?
    Je sais dorénavant pour quel camp tu travail... Je ne perdrais pas plus de temps ici...

    RépondreSupprimer
    Réponses
    1. Je n'appartiens à AUCUNE société secrête et moi je dis la Vérité. Je suis franc et direct, je ne joue aucun rôle...

      Après pour les Specs, j'ai quelques idées que je garde pour moi puisque les agents infiltrés n'en ont aucune (ou très peu en tout cas) et vont me les piquer... Je prends mes précautions tout simplement.

      Après libre à toi de créer une nouvelle machine...

      Supprimer
  15. Lorsque tu parle de vampires, personne dans l'histoire n'en a jamais décrit agissant de la sorte : tu ment !
    Lorsque tu parle de microcode de processeur RISC, alors que la philosophie de base de cette technique est de s'en passé et que la situation et plus nuancé : tu ment !
    Lorsque tu parle de specs secrètes, alors que cela fait 30 ans qu'on a les specs de truc comme le Ranger, le AAA ou Hombre et que personne n'a pris le temps de se pencher dessus : tu ment !
    Lorsque tu dis que je suis libre de créer un nouvelle machine, alors que tu tien une liste de tous les gents ayant tenté cette même aventure intitulé "les parasites" : tu ment !

    La liste des mensonges et des contres vérité sur ce blog est encore longue, on va pas tous et toutes les faire... Alors la question est : pourquoi ? Pourquoi mentir comme ça ? Tu agit exactement comme un de ces agents infiltrés que tu prétend combattre ! Pourquoi ?

    RépondreSupprimer
    Réponses
    1. Mon pauvre vieux : tu as le niveau intellectuel d'un manche à balet. Je perds mon temps à discuter avec toi, tu n'as pas le niveau, du tout...

      Regarde déjà ton orthographe, catastophique.

      J'expose ici ce que je crois être vrai, mon analyse de plusieurs années du fonctionnement de la communauté Amiga. Nous sommes infiltrés par des personnes qui font tout pour nous diviser, nous monter les uns contre les autres, en software comme en hardware, pour couler la machine. Ils fonctionnent EXACTEMENT comme nos hommes politiques pour couler les pays.

      Ils créent des nouveaux produits sans aucun avenir comme le X1000 ou la V4 uniquement pour voler l'argent des utilisateurs. Dès le début, avant même la mise sur le marché, ils savent que c'est de la daube sans avenir. Une fois qu'ils ont saturé le marché, ils relancent une nouvelle version soi-disant "mieux" (= une nouvelle merde) pour relancer les ventes et ainsi de suite...

      Ils prennent tout ce qu'il y a de bien (par exemple le CPU 68k) et le remplace par du nul (PPC ou alors 68k + AMMX, c'est à dire du poussage vers le bas) en faisant croire l'inverse...

      Regarde Jens Schönfeld qui rachète il y a plus de 20 ans tous les plans des Apollo 68030/060 pour 600/1200/3000/4000 et qui les remplace par des ACA 68030. Sa 1ère ACA630 fonctionnait même à seulement 25 Mhz alors que l'Apollo A630 était à 50 Mhz...

      Moi je n'ai jamais fait tout ça. Je pousse tout ce que je peux dans la limite de mes connaissances et compétences vers le haut, alors qu'eux font tout le contraire...

      Tu es incapable de compendre ces quelques lignes, toutes ces évidences : je stop tout échange avec toi...

      Supprimer

Posté vos remarques :