geecko_ a écrit 2 commentaires

  • [^] # Re: Playstation Portable

    Posté par  . En réponse à la dépêche Bitbox, la mini console ARM DIY. Évalué à 9.

    Le deuxième CPU est appelé le Media Engine parce qu'il n'est pas directement accessible par le programmeur en userspace. Il est le plus souvent utilisé pour décoder de l'audio MP3/AAC/WMA via des API dédiées.

    Ce que je trouve fascinant dans cette console, c'est le fait que l'architecture soit assez complexe mais qu'au final, le développeur lambda peut tout à fait se limiter à utiliser le CPU principal et le GPU via des librairies qui mâchent le travail. Mais il y a toujours la possibilité de descendre à un niveau plus bas :
    - quelques instructions supplémentaires spécifiques à l'Allegrex (nom de code du CPU), très rarement utilisées
    - le VFPU, unité de calcul SIMD avec 8 banques de 4x4 registres float pour du calcul matriciel. On peut l'utiliser en passant par des instructions ASM. On peut par exemple multiplier deux matrices 4x4 en une instruction, ce qui est plusieurs centaines de fois plus rapide qu'avec le CPU.
    - le Media Engine dont j'ai parlé plus haut qui possède également un DSP que personne ne sait comment utiliser (pour le moment :D)
    - le KIRK engine qui peut générer des nombres aléatoires, calculer des hash SHA1 et encrypter/décrypter en AES
    - le GPU est puissant mais son architecture est extrêmement simple. Suffisamment simple pour pouvoir se passer de la librairie pspgu (équivalent de OpenGL|ES 1.1) et lui balancer directement une liste de commandes, avec un gain de perf conséquent.

    Pour (beaucoup) plus d'infos voir les documentations upspd et yapspd.

    Donc oui, du matériel simple c'est bien. Mais du matériel simple à utiliser ET très performant quand on creuse un peu, c'est mieux !

  • # Playstation Portable

    Posté par  . En réponse à la dépêche Bitbox, la mini console ARM DIY. Évalué à 4.

    La PSP est vieille, certes, mais dégomme la Bitbox avec ses deux procos MIPS à 333MHz (oui deux, l'un d'entre eux n'ayant pas accès à la mémoire principale), 64mo de RAM et son GPU.
    La PSP est fermée, certes, au niveau du hardware c'est certain, mais un joli projet du nom de uOFW (unofficial Official FirmWare) attend des contributeurs pour avoir un kernel libre basé sur le reverse du firmware 6.60. On a aussi un SDK non officiel avec un toolchain basé sur GCC.

    Une PSP avec du software entièrement libre serait une merveille pour apprendre à programmer.