FPGA Vs Emulation, un article intéressant

Forum Autour de l’Amiga Amiga OS 4 – MorphOS – UAE – AROS FPGA Vs Emulation, un article intéressant

  • Ce sujet contient 35 réponses, 8 participants et a été mis à jour pour la dernière fois par Zarnal, le il y a 7 années et 1 mois.
  • Créateur
    Sujet
  • #19032
    Staff
    Zarnal
      • Level 22
      • Messages : 7930

      Au gré de mon surf, je suis tombé sur cet article que j’ai trouvé assez intéressant.

      https://byuu.org/articles/fpgas-arent-magic/

      Et qui peut balayer certaines idées reçues (des deux cotés). :-p

       

      A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

    Affichage de 15 réponses de 1 à 15 (sur un total de 35)

    Partager sur vos réseaux sociaux préférés :
    Facebooktwitterredditpinterestlinkedintumblrmail

    • Auteur
      Réponses
    • #19040
      Staff
      Jim Neray
        • Level 22
        • Messages : 7202

        Sympa le site rose looké html 3  :lol:

        J’ai pas tout lu faute de temps je m’y recollerai quand j’aurais quelques minutes à y accorder.  :yes:

        A500 - A500 Plus - A600 HD - A1200 - A2000 - A4000T - CD32 - C=64 - 1040STE - CPC6128
        Mon Amiga 500 Plus : A590, 2MB Chip, 2MB Fast, HD 1,2GB, Floppy ext.
        Mon Amiga 1200 : Blizzard 1220/4, 2MB Chip, 4MB Fast, HD 80GB, Overdrive CD

        - Micromiga.com - La boutique Amiga -


        #19065
        blackwarrior
          • Level 2
          • Messages : 43

          Très instructif,

          Effectivement l’émulation semble être la meilleure garantie de la préservation des anciens jeux.

          Merci pour l’article

          #19126
          Staff
          Zarnal
            • Level 22
            • Messages : 7930

            Ce qui semble être un complément :

            https://byuu.org/articles/what-is-emulation/

            A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

            #19130
            TuKo
              • Level 5
              • Messages : 212

              Écrit quand même par l’auteur de Higan, un émulateur donc… :) niveau objectivité, on est pas au mieux…

              Il prêche pour sa paroisse en fait.

              #19131
              guibrush
                • Level 4
                • Messages : 117

                Article intéressant, mais très orienté. D’ailleurs, il se contredit lui-même. D’abord, il dit :
                « Setting efficiency aside, there is absolutely nothing an FPGA can do that cannot be done in software. »
                Ce qui veut clairement dire pour lui que tout ce que fait un FPGA peut être aussi fait par un émulateur. Oui, mais ensuite il dit :
                « An FPGA contains a very large number of logic gates that operate in parallel, whereas a CPU contains microcode that interprets instructions and executes them in serial – at least, per core. »
                Ce qui veut clairement dire qu’un CPU exécute les instructions données les unes après les autres.
                Dès lors, si on essaye de faire un émulateur du 68080, on va se heurter à un problème : le 68080 exécute des portions de code en parallele. Il y a l’AMMX dont le pipeline est indépendant du cycle CPU, il y à le FPU et il y a l’hyper-threading, qui présente à l’OS plusieurs thread CPU. Or, un émulateur logiciel devra exécuter tout ce petit monde à la que leu leu. Certes, la puissance brut de la machine sur laquelle on ferait tourner cet émulateur fera que la différence sera imperceptible, mais on n’est tout de même pas dans la réplication exact du comportement de la machine d’origine. D’ailleurs, si UAE a mis si longtemps à réussir à émuler le chipset de l’Amiga avec le niveau de perfection qu’on lui connait actuellement, c’est parce qu’il a fallu fine tuner les interactions entre les différents composants, pas seulement les émuler.
                Donc, à mon avis, dire qu’un émulateur peut faire tout ce que fait un FPGA, c’est assez éxagéré d’un point de vue technique. Mais d’un point de vue pratique, il est claire que la puissance des machines actuelles permet de gommer les défauts de latence et de synchro.
                Il y a une autre chose qu’il ne faut pas perdre de vue : un développement en VHDL qui prend place dans un PFGA peut ensuite être utilisé pour fondre un ASIC, il s’agit du même prototypage. Un émulateur, par contre, restera un logiciel exécuté sur une machine hôte.
                Finalement, l’argument donné selon lequel on peut réduire la latence de l’émulateur en démarrant directement dessus au lieu de passer par un système hôte tel que Windows et linux et super, sauf que pour l’instant personne ne l’a fait. Tout simplement parce que ça reviendrait à ré-écrire tout les drivers nécessaires à faire fonctionner la machine hôte.

                #19132
                Staff
                Zarnal
                  • Level 22
                  • Messages : 7930

                  C’est surtout le fait concernant la potentielle différence de précision qui a retenu mon attention. :-p

                  Orienté, j’en suis conscient. De plus byuu est quelqu’un d’assez susceptible, il l’a assez prouvé par le passé. :-p

                  Il ne s’agissait nullement d’impliquer la vampire dedans mais plus l’émulation Amiga en général (bon ok l’article parle de la SFC mais les arguments se tiennent) car j’ai déja lu ici et là que soi-disant une émulation était moins précise qu’un FPGA et là je n’étais pas d’accord du tout. Pour le 020 cela peut largement se discuter, mais pas pour le 68000. Je parle de machines stocks uniquement bien sur, puisque niveau FPU WinUae s’en donne à coeur joie. :lol: . Après, là où je rejoins byuu, c’est lorsqu’il dit qu’à partir du moment où le résultat est le même, peu importe l’art et la manière de l’obtenir. Je cite :

                  What we are dealing with in cases like the Super Nintendo, is we both want to reproduce the original hardware experience: we want people to provide games, and we want to play those games. We want users to input the same values, and get the same audiovisual outputs from them.

                  If the user inputs « 2+3 », and gets back « 5 » in the same amount of time as the original hardware, is it really fundamentally important how the « 5 » is generated?

                  Unfortunately, we do not have the original transistor-level diagrams of the original hardware. And so we have to deduce how they work. And to do this, there are a myriad of methods.

                  We can read developer manuals and technical datasheets, we can analyze software designed for these devices, we can write our own code to run on these devices and log how the hardware responds, we can probe the pins on the chips and watch how they behave on logic analyzers, we can even decap the original chips with nitric acid and scan them in with electron microscopes!

                  But at the end of the day, no matter how we do it, it’s all guess work until someone clones these chips at the transistor level.

                  Et tu as raison pour la machine hôte, il faudrait se concentrer sur un ou deux hard fixes. Le pi dans une future version pourra certainement être une solution.

                  A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

                  #19135
                  guibrush
                    • Level 4
                    • Messages : 117

                    Oui, dans l’absolu, si on parle de vieille machine, qu’on le fasse en FPGA ou en émulation, le résultat au final peut arriver au même résultat, c’est claire. Pour ma part, mais là c’est subjectif, le plus gros problème de l’émulateur n’est pas l’émulation en elle-même, mais bel et bien la présence du système hôte. Pour moi, autant UAE est génial et super bien foutu, autant l’utiliser quotidiennement ne m’intéresse pas, car pour lancer UAE je dois d’abord lancer un os hôte. Alors si je le fais sur une machine genre un Pi qui boote d’abord Linux puis lance l’émulation, ça peut encore passer, car c’est assez transparent. Mais lancer windows pour ensuite lancer UAE, je me dis que si je fais ça, je ne vais pas dédier une machine à UAE (parce que finalement, c’est le principe de base d’un émulateur : utiliser une autre machine sans devoir l’acheter mais en la faisant tourner sur une machine que l’on possède déjà). Donc, je le lancerai sur mon ordinateur « principal ». mais dans ce cas, ou est l’Amiga ? Il y a un certain attachement physique de moin point de vue. Mais celà n’engage que moi.
                    En revanche, dans le cas de la vampire, le FPGA est bien plus pertinent, parce que nous n’en sommes qu’au début, parce que nous voulons pouvoir évoluer avec la montée en puissance des FPGA futurs, et surtout parce que nous voulons du Hardware Amiga ! :-)

                    #19182
                    Staff
                    Jim Neray
                      • Level 22
                      • Messages : 7202

                      Bon merci pour le résumé des points clés ca m’a fait gagner un peu de temps !  :-p

                      A500 - A500 Plus - A600 HD - A1200 - A2000 - A4000T - CD32 - C=64 - 1040STE - CPC6128
                      Mon Amiga 500 Plus : A590, 2MB Chip, 2MB Fast, HD 1,2GB, Floppy ext.
                      Mon Amiga 1200 : Blizzard 1220/4, 2MB Chip, 4MB Fast, HD 80GB, Overdrive CD

                      - Micromiga.com - La boutique Amiga -
                      #19193
                      Staff
                      Zarnal
                        • Level 22
                        • Messages : 7930

                        Chez nos amis anglais, cet échange sur la précision est en train de prendre de ces proportions. :lol:

                        Et la vidéo qui tue à 2mn :lol: . Si j’ai bien compris il parle d’émulation d’electrons que le pi ne peut pas reproduire. :lol:

                        A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

                        #21079
                        Staff
                        Zarnal
                          • Level 22
                          • Messages : 7930

                          La latence sous émulation sur le point d’être totalement vaincue :yahoo:

                          http://eab.abime.net/showthread.php?t=88777&page=9

                          https://www.blurbusters.com/blur-busters-lagless-raster-follower-algorithm-for-emulator-developers/

                          La béta 0 de WinUae est impressionnante sous pinball dream d’après les premiers retours. Par contre cela a un coût en puissance requise. :unsure:

                          je suis à 285% niveau CPU pour une simple émulation 500. Ou alors c’est qu’il faut une CG digne de ce nom. Ce n’est pas avec le core2duo que je vais aller loin. :lol:

                          Ou bien j’ai foiré un réglage. :lol:   :wacko:

                           

                          A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.



                          #21080
                          Staff
                          Jim Neray
                            • Level 22
                            • Messages : 7202

                            Un core2duo c’est sur que tu ne va pas casser 3 pattes à un canard  :-p

                            C’est bien que ca se précise … Pas si facile d’émuler une machine de plus de 30 ans à la perfection.  :lol:

                            A500 - A500 Plus - A600 HD - A1200 - A2000 - A4000T - CD32 - C=64 - 1040STE - CPC6128
                            Mon Amiga 500 Plus : A590, 2MB Chip, 2MB Fast, HD 1,2GB, Floppy ext.
                            Mon Amiga 1200 : Blizzard 1220/4, 2MB Chip, 4MB Fast, HD 80GB, Overdrive CD

                            - Micromiga.com - La boutique Amiga -
                            #21083
                            Staff
                            Zarnal
                              • Level 22
                              • Messages : 7930

                              Un core2duo c’est sur que tu ne va pas casser 3 pattes à un canard :-p C’est bien que ca se précise … Pas si facile d’émuler une machine de plus de 30 ans à la perfection. :lol:

                              Surtout qu’il ne tourne qu’à 1.5ghz au lieu de 2 et encore il faut passer par ThrottleStop sinon c’est 800mhz . Merci Dell et son matos ses accessoires propriétaires. :rant:

                              A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

                              #21093
                              Staff
                              Zarnal
                                • Level 22
                                • Messages : 7930

                                Une misère :lol: :

                                https://www.amigafrance.com/wp-content/uploads/hm_bbpui/21093/uwbkjygupyfaw33cxm1m4jn34ogsc5mw.jpg

                                En fait c’est entre 180 et 210% :rant:

                                Cela ne fonctionne qu’en plein écran pour l’heure mais l’occupation cpu est la même. :unsure:

                                C’est ma partie gpu intégré qui doit asphyxier le tout. :-p

                                A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

                                #21098
                                Staff
                                Jim Neray
                                  • Level 22
                                  • Messages : 7202

                                  Ouch GPU intégré avec mémoire vidéo partagée sur la ram centrale ?  :cry:

                                  A500 - A500 Plus - A600 HD - A1200 - A2000 - A4000T - CD32 - C=64 - 1040STE - CPC6128
                                  Mon Amiga 500 Plus : A590, 2MB Chip, 2MB Fast, HD 1,2GB, Floppy ext.
                                  Mon Amiga 1200 : Blizzard 1220/4, 2MB Chip, 4MB Fast, HD 80GB, Overdrive CD

                                  - Micromiga.com - La boutique Amiga -
                                  #21099
                                  Staff
                                  Zarnal
                                    • Level 22
                                    • Messages : 7930

                                    Ben bien sûr, ce n’est pas drôle sinon. :lol:

                                    Un bon vieux chipset i965 Express mobile +-128Mo 384Mo des familles. :yahoo:   :rant:

                                    Avec un driver windows 8 WDM qui d’origine n’aime pas du tout l’openGL. :-p

                                     

                                    A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

                                  Partager sur vos réseaux sociaux préférés :
                                  Facebooktwitterredditpinterestlinkedintumblrmail
                                  Affichage de 15 réponses de 1 à 15 (sur un total de 35)
                                  • Vous devez être connecté pour répondre à ce sujet.