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 6 années.
  • Créateur
    Sujet
  • #19032
    Staff
    Zarnal
    • Level 22
    • Messages : 7453

    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 : 7005

      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 : 7453

          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 : 214

            É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 : 7453

                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 : 7005

                    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 : 7453

                      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 : 7453

                        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 : 7005

                          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 : 7453

                            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 : 7453

                              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 : 7005

                                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 : 7453

                                  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.