Core SILVER3 disponible pour Vampire 600 V2

15 sujets de 1 à 15 (sur un total de 28)

  • 1
  • 2
  • Anonyme

      #258458

      Le core SILVER3 pour Vampire 600 v2 est désormais disponible, de même que le driver SAGA 0.8h.

       

      Changelog complet :

      * Flag for BFTST fixed

      * Super-Scalar improvements :

      – Allow more instructions in 2nd pipe

      – More 64Bit MMX instructions added

      – PADD, PSUB, PMUL, … (used by videoplayers like RIVA)

      * Improved RESET behaviour (AROS)

      * Improved SAGA video out (24Bit, 32Bit, YUV422)

      * Clock-cycle register added

       

      Pour le télécharger

      http://www.apollo-accelerators.com/#download

       

      La team Apollo se réjouit de recevoir des commentaires de la part d’utilisateurs utilisant ce nouveau core. N’hésitez donc pas à vous connecter sur le canal #Apollo-Team sur FreeNode afin d’en partager votre expérience.

      flype

        #258466

        Merci pour la news.

        Quelques commentaires…

        Le CPU Apollo contient effectivement de nouvelles instructions.
        Elles ont été testées, de façons expérimentales et avec succès, dans le player MPEG RiVA de façons à gagner des FPS. L’objectif étant pour la team de jouer des vidéos MPEG en 640×480 à 24fps. Work in progress. Bien entendu, ces nouvelles instructions peuvent être utilisées pour toutes autres applications.

        PADD Dx,Dy,Dz

        Correspond à Dz = ( Dy + Dx )
        et peut être utiliser à la place de :
        move.w Dy,Dz
        add.w Dx,Dz

        PSUB Dx,Dy,Dz

        Correspond à Dz = ( Dy - Dx )
        et peut être utiliser à la place de :
        move.w Dy,Dz
        sub.w Dx,Dz

        PMUL Dx,Dy,Dz

        Correspond à Dz = ( ( Dy * Dx ) >> 8 )
        et peut être utiliser à la place de :
        move.x Dx,Dz
        muls.w Dy,Dz
        asr.l #8,Dz
        Multiplication ieee 8.8 en fait.

        MOVE.Q

        Idem MOVE.L mais en 64bits (Quad).

        PERM #$Selector,Dx,Dy,Dz

        Permute les octets de Dx et Dy vers Dz grace à la séquence définie dans Selector.

        Le core supporte dorénavant les formats de couleurs suivants :

        - 320x240x8/15/16/24/32/YUV
        - 640x480x8/15/16/24/32/YUV
        
        8   = CLUT
        15  = R5G5B5
        16  = R5G6B5
        24  = R8G8B8
        32  = A8R8G8B8
        YUV = Y4U2V2

        Prochaine étape tant attendue pour SILVER4, le changement de résolution 320/640/800/1024/1280/1920 et quelques autres en 16/10ème.

        Clock-cycle register

        Il s’agit d’un nouveau registre, $DE0008.
        On lit le registre (par exemple tst.l $DE0008), ce qui le met à zéro.
        Plus loin, on lit le contenu (move.l $DE0008,d0) et d0 contient le nombre de cycles CPU depuis le dernier appel. On a mis çà en place pour aider les développeurs à comprendre la consommation du CPU et donc permettre d’analyser et optimiser le code.

        Par exemple :

        move.l #cafecafe,d1
        tst.l $DE0008
        divu.l #100,d1
        move.l $DE0008,d0
        ; d0 contient le nombre de cycles consommés par l'instruction DIV.

        A600 Rev 1.5 + Vampire 600 V2-128.
        A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

        Anonyme

          #258468

          Vous utilisez quelle toolchain pour utiliser les nouvelles instructions?

          flype

            #258472

            Perso, Devpac et un fichier de MACROS que je me suis fait.
            Quand tout sera parfaitement spécifiés, et que le nouveau set d’instructions satisferont nos exigences (et la team est très exigente et tourner vers l’avenir), alors un compilateur les supportant verra le jour. La team s’est récemment étoffées de gens très qualifiés, notamment en provenance du monde AROS où la Vampire suscite de nouveaux intérêts / espoirs quant à la survie et l’avenir du 68K. Nous sommes nombreux, plus qu’on le pense, à soutenir l’après 68060.

            A600 Rev 1.5 + Vampire 600 V2-128.
            A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

            Anonyme

              #258473

              Hm mais pas besoin d’un patch pour prendre en compte le nouveau set d’instruction?

              flype

                #258477

                Non, pas besoin. Il s’agit juste de simple DC.W pour ceux qui connaissent. Les codeurs ayant déjà fait du self modifying code comprendront aisément de quoi je parle. C’est très simple, rien de sorcier.

                Une instruction 68K (ou quelque soit le CPU d’ailleurs) n’est rien d’autre qu’une suite de bits. Par exemple, l’instruction RTS c’est 0x4E75. Tu peux imaginer une nouvelle instruction qui utiliserait par exemple 0xCAFE qui ferait autre chose. L’architecture 64bits interne à l’APOLLO core autorise l’ajout de nouvelles instructions tout en étant parfaitement rétrocompatible avec l’existant.

                A600 Rev 1.5 + Vampire 600 V2-128.
                A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

                Anonyme

                  #258479

                  ok oui effectivement 🙂

                  flype

                    #258481

                    Ceux qui sont intéressés à toucher à çà, je suis open… Il suffit d’ouvrir Devpac, de flasher le SILVER3, and let’s play.

                    A600 Rev 1.5 + Vampire 600 V2-128.
                    A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

                    Anonyme

                      #258482

                      Si tu veux bien partager je veux bien tes macros devpac.

                      flype

                        #258486

                        Je préparerai tout çà. J’ai aussi la ferme intention de proposer un wiki pour les utilisateurs et les développeurs qui sera lié au site existant apollo-accelerators.com

                        A600 Rev 1.5 + Vampire 600 V2-128.
                        A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

                        Anonyme

                          #258488

                          c’est une très bonne nouvelle ! Le développement continue sur sa lancée et le rythme de faiblit pas, pour notre plus grand plaisir 🙂 Je vais tester ça ce soir.

                          Anonyme

                            #258489

                            merci m’sieur!

                            Un wiki serait la bienvenue effectivement

                            flype

                              #258491

                              Ca ne faiblira pas… Le core GOLD est en ligne de mire et la team est très motivée depuis le début du projet. Coté hardware également, une carte standalone type Super Mist est aussi souhaitée par la team, et le rêve d’un ASIC également même si çà doit prendre plusieurs années.

                              A600 Rev 1.5 + Vampire 600 V2-128.
                              A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

                              flype

                                #258503

                                J’oubliai, il y a aussi dans le SILVER3, l’instruction PERM qui permet de permuter les octets de deux sources différentes vers une destination. Ca permet par ex de faire de la conversion endianness en une seule instruction mais aussi énormément d’autres cas.

                                PERM #$Selector,Dx,Dy,Dz

                                A600 Rev 1.5 + Vampire 600 V2-128.
                                A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.

                                Anonyme

                                  #258540

                                  Driver SD Card

                                  Apparemment ça avance bien sur le driver pour la SD de la vampire!

                                15 sujets de 1 à 15 (sur un total de 28)

                                • 1
                                • 2
                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums AmigaOS, MorphOS et AROS Matériel Core SILVER3 disponible pour Vampire 600 V2

                                Amiga Impact