[gull] x86_64
Daniel Cordey
dc at mjt.ch
Mon Jun 5 14:26:46 CEST 2006
On Monday 05 June 2006 13:59, Marc Mongenet wrote:
> Ce qui fait qu'il est difficile d'ajouter des registres à un
> processeur RISC, sauf bien sûr s'il y avait des bits inutiles^Wréservés. :)
En fait, j en'ai pas regarde comment les instructions etaient codees en
binaire... mais comme on a pas cesse d'ajouter des registres (32,64,128)
depuis la premiere generation de PA-RISC en 86, j'en deduis qu'il devait y
avoir un paquet de bits de reserves des le debut :-) Serieusement, ce
processeur avait ete concu pour manipuler un grand nombre de registres ar ils
avaient sans doute prevu la place necessaire des le debut.
Pour en revenir aux commentaires concernant les compilateurs et
l'optimisation, j'ajouterais que ces optimiseurs sont essentiels
pour "re-arranger" les instructions en fonction du nombre d'unites
fonctionnelles. Les operations FP prennent 2 cycles (sauf les /) et toutes
les auters operations seulement une (sauf LOAD/STORE/BRANCH). Ce qui fait que
l'allure du code optimise n'a plus rien a voir avec un code "optimise"
standard. Ca devient particulierement illisible ! Le probleme s'est encore
accentue avec Itanium et la notion de "predicate" pour les branchements et
les pointeurs. Avec ces processeurs, la difference de performance
entre 'optimise' ou non est importante; c'est donc une composante
indispensable de ce genre de processeurs.
dc
More information about the gull
mailing list