samedi 16 août 2014

Les labels (III) [fr]

Voici un meilleur schéma de l'organisation mémoire de notre petit programme d'exemple.

J'ai repris avec la largeur du tube 32 bits qui est plus explicite je trouve...

Il est important de bien voir et comprendre aussi le "poids" de chaque mnémonique. En effet, notre premier move "pèse" 12 octets ce qui signifie que lorsque notre programme contenu en mémoire fast ou chip doit "entrer" dans le coeur du CPU pour y être exécuter, il faut y transférer nos 12 octets représentant le move, ce qui prends un certain temps.

Les accès mémoire sont lents sur la majorité de nos Amiga Classics, à part certains équipés de cartes accélératrice comme la MK3 bien overclockée par exemple...

Lorsque le CPU transfère du contenu mémoire, il attends que les données arrivent en son sein, donc vous comprenez que le poids des instructions doit être le plus léger possible : plus court = plus rapide à entrer dans le CPU = le CPU attends moins = le programme va donc plus vite. Et prends aussi moins de place dans le code cache, nous verrons cela plus tard...

Nous découvrirons bientôt qu'il existe une astuce pour avoir $00000000 dans a0 pesant seulement un mot alors qu'ici l'instruction utilisée prends en tout trois mots...

Comme je l'affirmais précédemment, autant prendre les bonnes habitudes dès le tout début : coder avec le poids des instructions en tête est très important, vous devez dès maintenant vous y habituer...
   

Aucun commentaire:

Publier un commentaire