Ben oui tu peux faire de l'asm sans OS (pas mal le font ici).
Sinon le faire sur d'autre machines (ancien ordi comme Atari ST ou Amiga , sur microcontrôleur ou d'anciennes consoles).
L’avantage entre autre de tout cela , c'est que tu as un accès direct au hardware
Pour l'optimisation le x86 est vraiment pas évident , le seul où tu serais sur d'avoir de bonne perf (par rapport à un compilo) serait les utilisations des instructions SIMD.
Pour le reste , et il y'avait une question ici justement qui ne comprenait pas pourquoi un code était plus rapide qu'un autre ,c'est que le x86 utilise des optimisations interne qui ne te permet pas de connaître précisément le taux de cycle utilisé.
Le proc actuelle Intel est capable d'exécuter 5 instructions en même temps , du coup dans un cas extrême on peut avoir deux code où :
-un ferait 10 instructions et 5 qui s’exécuterait en même temps (donc 2 cycles)
-et inversement avoir 8 instructions et 2 qui s’exécute en même temps (et donc 4 cycles)
Et ce qui est assez fou ,c'est que ce n'est pas en lisant le code que tu peux le deviner , ça reste un boite noire.
C'est un peu le souci des procs actuelle (enfin ceux qu'on nomme Out of Order), difficile à prédire au cycle près si on prend tout en compte.
Partager