Archive for décembre, 2010

24

Bon Noël

déc
No Comments   Posted by Etienne SOBOLE |  Category:Divers Infos

Bon ben c’est l’heure de filer réveillonner.

Je vous souhaite un bon noël.
more...
22

Lever le voile sur la table de cycles du Cortex A8 : Part 1

déc

A mon époque – puisque je date d’une autre époque – lire une table de cycle était relativement simple.
L’ARM3 disposait d’un pipeline à 3 niveaux:

  • Décodage
  • Execution
  • Ecriture

Du coup lire la table de cycle revenait à prendre le temps d’exécution de l’instruction et c’était à peu prêt tout.
Ce n’est plus du tout le cas à présent. Même si une fois que l’on a compris tout semble logique, il faut tout de même un petit peu d’effort pour bien assimiler le concept et beaucoup de travail pour calculer en amont le nombre de cycles que va prendre telle ou telle fonction.

more...
 | Tags:
22

Lorsque les pros de l’optimisation s’en mêlent

déc

Mon pote Jerome qui bosse chez Naughty Dog (Uncharted ça vous parle ?) de passage en France est venu me voir hier. Donc évidement la soirée à fini devant le micro à essayer de comprendre un peu mieux le fonctionnement de la BeagleBoard, du Cortex et de NEON.

Verdict : On s’en doutait déjà mais les accès à la mémoire sont un peu la (seule) source du problème.

more...
 | Tags:
21

Ma Beagleboard 1Ghz fonctionne à 800Mhz

déc

Lors de la réalisation du script de conversion YUG vers RGB que je cherche toujours à optimiser au maximum afin de bien cerner les subtilité du Cortex A8, J’avais quelques problème pour calculer le nombre de cycles utilisés par mon programme. Et surtout pour trouver où les cycles étaient perdus…

more...
 | Tags:
17

Optimisation des accès mémoire avec le Cortex

déc
1 Comment »   Posted by Etienne SOBOLE |  Category:ARM, Assembleur, Code

Lorsque j’ai développé l’algorithme de conversion YUVtoRGB j’ai été pas mal étonné de la lenteur des accès mémoire.

Il est vrai que la BeagleBoard utilise de la LPDDR Ram, c’est à dire de la mémoire basse consommation qui a pour principal défaut d’être nettement plus lente que les RAM que l’on a l’habitude de trouver sur les serveurs ou même sur nos PC !

Heureusement, l’ARM dispose de quelques astuces pour permettre un accès plus rapide à la mémoire.

more...
 | Tags: ,
15

Conversion YUVtoRGB avec NEON

déc

L’ARM c’est bien, mais NEON c’est mieux !!!

NEON est l’extension SIMD (Single Instruction Multiple Data) de l’ARM. En gros c’est l’équivalent du SSE d’intel. A ce petit détail que c’est évidement nettement plus puissant et nettement plus simple à utiliser:

  • La grosse partie des instructions SIMD s’exécutent en 1 cycle (Attention cycle et latence n’ont rien à voir !).
  • NEON traite aussi bien les entiers que les flottants.
  • NEON dispose de puissante fonction de lecture et d’écriture en mémoire.
  • Enfin dans une certain mesure NEON est superscalaire et permet l’exécution de 2 instructions par cycle
more...
10

BeagleBoard : débuts difficiles

déc

Une fois votre BeagleBoard installée et configuré, vous vous dites que tout va bien et que vous allez pouvoir vous lancer dans les petits programmes et vous avez patiemment élaborés pendant des semaines ! Et bien non.

Le premier problème rencontré a consisté à trouver un assembleur.
Sur Internet, on trouve des tas d’exemples qui utilisent les commandes “as”, “nasm”, “gas” ou je ne sais quoi. Mais en fait aucune ne marche et surtout ne correspondent à aucun package Linux Ubuntu.
La palme revient à “nasm” puisque cet assembleur ne semble pas prendre en compte l’ARM (en tout cas sur le site web ils n’en parlent pas) alors qu’on trouve des exemples sur le net l’utilisant.
Finalement, après 1 jour de désespoir, je ne suis résigné à utiliser l’assembleur en ligne de commande avant de m’apercevoir que gcc est lui aussi un assembleur (ce qui semble finalement assez logique).

more...
 | Tags:
05

Beagleboard & linux

déc

Salut.

Bon ma beagleboard-xM est à présent montée et linux Ubuntu configuré.
Alors un grand merci a mon pote Jean Michel, car moi j’y connais pas grand chose en installation linux.
Vu qu’il y a passé toute sa journée, tout seul je n’y serais sans doute jamais arrivé !!!

more...
 | Tags: