Archive for juin, 2011

20

A simple NEON optimization method

juin

This post is a translation of “Méthode simple d’optimisation de code NEON

Since I discovered NEON, I had the opportunity to encode several small programs to test the beast.
NEON really is one of the highlights of Cortex. Its use is really simple, the big amount of registers and its instructions with 3 registers make its usage easier than on other processors.
Highly pipelined, the order of instructions is quite significant.
Whichever program you will achieve with NEON, you rarely falls on the optimal version of its implementation the first time. Finally, once you have pipelined at best, there is a last small optimization that allows almost every time to gain a few more cycles …

more...
 | Tags: ,
19

Méthode simple d’optimisation de code NEON

juin
1 Comment »   Posted by Etienne SOBOLE |  Category:ARM, Assembleur, Code

Depuis que j’ai découvert NEON, j’ai eu l’occasion de coder plusieurs petits programmes pour tester un peu la bête.
NEON est vraiment l’un des points fort des Cortex. Son utilisation est vraiment simple, son nombre important de registres et ses instructions à 3 registres rendent sa programmation en assembleur plus facile que sur d’autre processeurs.
Fortement pipeliné, l’ordre des instructions est assez important.
Quelque soit le programme que vous allez réaliser avec NEON, vous tomberez rarement sur la version optimale de son implémentation du premier coup. Au final, une fois que vous avez tout pipeliné au mieux, il reste une petite optimisation qui permet quasiment à chaque fois de gagner encore quelques cycles…

more...
 | Tags: ,
17

Program to count the cycles of the A8 cortex: v0.8

juin

Let’s go for of the cycle counter v0.8

This post is a translation of “Programme pour compter les cycles du cortex A8: v08.

Changes and evolutions in this new version are quite numerous.

  • Managing interactions between NEON and VPF
  • The cycle counter now check the validity of immediate values
  • You can now assign a inline variable to a register to allow the cycle counter to work with inline C code
  • Every analyzed code returns a permalink you can use (in a newsgroup for example) to show a code
  • Correction (or addition) of several hundreds of rules
more...
 | Tags:
17

Programme pour compter les cycles du cortex A8: v0.8

juin
9 Comments »   Posted by Etienne SOBOLE |  Category:Ccc, Projets

C’est parti pour la version 0.8 du compteur de cycles.

Les modifications et évolutions de cette nouvelles version sont assez nombreuses.

  • La gestion des interactions entre NEON et VPf
  • Le compteur de cycle contrôle a présent la validité des donnée immédiate fournies
  • Il est possible à présent de mapper une variable “inline” sur un registre afin de rendre possible l’analyse de code inline C
  • Chaque code proposé retourne à présent un lien permanent que vous pouvez utiliser (dans un forum par exemple)
  • La correction (ou l’ajout) de plusieurs centaines de règles.
more...
 | Tags: