[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