0
Le premier article technique sur le Power6 d'IBM vient d'apparaitre sur le site Real World Technologies :http://www.realworldtech.com/includes/templates/articles.cfm(...)
Si on fait le bilan de ce monstre de puissance qui va sortir l'an prochain on obtient :
Technologie 65 nm
Double coeur + double thread
Fréquence entre 4 et 5 GHz (!!!!)
2 x 64 Ko de cache L1D
2 x 4 Mo de cache L2
32 Mo de cache L3
Bande passante totale de 300 Go/s (!!!!)
Support hardware du binary-coded decimal (BCD)
Support Altivec
Topologie du bus système améliorée
Correction d'erreurs d'un niveau inégalé
Package MCM qui groupe 4 Power6 sur un seul socket
La conclusion de l'article est que ce processeur (et son successeur 45nm le Power6+) va massacrer la concurrence de Sun (Rock) ou Intel (Tuckwila).
Mon avis à moi que j'ai : C'est assez surprenant de voir que la course à la fréquence repart. IBM affirme qu'ils ont conçu ce processeur en optimisant "à la main" tous les circuits au lieu de se reposer sur les softs automatisés. C'est ce qui permet cette très grande montée en fréquence.
Un autre truc notable c'est le support BCD en hardware. L'avantage c'est qu'IBM n'est plus obligé de se reposer sur des librairies software et obtient donc une hausse massive des performances : "7x, 4x or 2x, compared against Java, C/C# or assembly libraries respectively."
> Lire le journal (45 commentaires, moyenne: 3,4).
Vous avez demandé le commentaire #766029.



BCD ???
Tiens c'est étonnant ça...
Le BCD en hard permet vraiment de booster les perfs ?
J'ai du mal à imaginer que des applis aient de grandes quantitées de calcul à faire en BCD.
A part peut etre quelques softs très particuliers...
Quelqu'un aurait-il un exemple ?
[^]Re: BCD ???
> Quelqu'un aurait-il un exemple ?
Quelqu'un pourrait expliquer ce qu'est le BCD, par la même occasion ?
[^]Re: BCD ???
C'est là que wikipedia arrive à ton secours :
http://fr.wikipedia.org/wiki/Binary_coded_decimal
En bref, c'est une méthode de codage des nombres décimaux en binaire en codant séparement chaque "digit" du nombre.
[^]Re: BCD ???
Regarde par ici :
http://fr.wikipedia.org/wiki/Binary_coded_decimal
Sinon en gros, c'est une maniere particuliere de coder les nombres.
En binaire "classique" 127 est codé comme ça : 0111 1111
En BCD 127 est codé en "séparant" chaque chiffre : (1)0001 (2)0010 (7)0111.
[^]Re: BCD ???
>> Quelqu'un pourrait expliquer ce qu'est le BCD, par la même occasion ?
http://fr.wikipedia.org/wiki/Binary_coded_decimal
En gros c'est une représentation des nombres assez proche de la représentation décimale humaine.
Je pense qu'IBM a implémenté cette fonction car elle est assez utilisée dans les mainframes chez les clients business d'IBM (banques...etc).
[^]Re: BCD ???
Pas mal, le tir groupé ! :)
Y'a pas à dire, Wikipédia devient vraiment un réflexe pour beaucoup !
[^]Re: BCD ???
Non, sinon personne n'aurai posé la question.
[^]Re: BCD ???
Le BCD c'est une façon de coder les nombre en représentation machine, une alternative au format binaire. Un nombre est alors représenté par des séries de 4bit codant chacun de ces chiffres de la représentation décimale (0-9) en binaire.
Exemple : 21 dec = 10101 bin = 0010 0001 bcd
C'est super utiliser en electronique quand il s'agit d'afficher des chiffres binaires (la conversion de binaire en chiffre d'affichage décimal est complexe).
En info utiliser cette représentation en interne du proc peut présenter des perfos supérieures pour certains types d'opérations très utilisés par les scientifiques comme les puissances de 10 qui alors sont aussi simples que les puissances de deux en binaire (simple décalage).
[^]Re: BCD ???
Ce qui est bien avec cette histoire de module hardware BCD c'est qu'on peut initier des trolls assez velus sur la différence de performance entre les langages.
La phrase "7x, 4x or 2x, compared against Java, C/C# or assembly libraries respectively." permet de clamer que Java c'est quand même très très lent (même sur une librairie hyper optimisé) par rapport à C#.
Etonnant non ?
[+] [^]Re: BCD ???
Je pense qu'il faut éliminer le Binaire codé Décimal.
http://fr.wikipedia.org/wiki/Binary_coded_decimal
Il doit y avoir autre chose.
--
locnet
[^]Re: BCD ???
Je n'explique pas ce que c'est (voir au-dessus), mais a quoi ça sert.
On m'a apprit, il y a longtemps, qu'on l'utilisait beaucoup dans les systèmes bancaires entre autre : le but de cette codification permet de manipuler des (grand) nombres sans avoir de perte du aux arrondis. Ca permet de faire des calculs en précision "absolue" quand on a des nombres telle que des montants monétaire (32,42 euros par exemple) et de ne pas être limité en nombre de chiffres significatifs.
[^]Re: BCD ???
prend un uint64 ... on économisera de l'espace (parce qu'avec le bcd tu perd pas mal d'espace) sans avoir de probleme d'arrondis (ou alors tu as vraiment un énorme compte en banque :-D )
et si ca va pas -> librairie spécialisé d'entiers (ou de flottants) de n bits (n étant dynamique)
Subete ga wakatta toki…watashi ga anta wo korosu.
[^]Re: BCD ???
Et tu fais comment pour ecrire 32,24 dans un uint64 ( a part le multiplier par 100 j'entends) ?
Et pour faire 10,03 / 6,55957 ?
[^]Re: BCD ???
(a part le multiplier par 100 j'entends) ?> et tu fais comment pour écirire 32,24 en bcd ? le bcd comprend pas en soi la virgule ...
Donc tu le code en ascii ou tu définis des symboles en plus .
Et si le principe de virgule fixe c'est bien ca. (tu scaled'une valeur fixe ta mantisse)
10,03 / 6,55957 = 1,529063642891226 > tu le code en bcd , ou tu utilise les regles d'arrondis définis par l'europe sur l'euro ?
je te donne la réponse : on utilise les regles d'arrondis.
voir tu peux meme faire mumuse avec des floats sur 128 bits si tu veux la précision absolue (enfin de la 'quad precision' :-D )...
Et si on veut absolument conserver tout , on lis la seconde partie de mon commentaire qui est
Oui ca existe des flottants avec mantisse sur n bits dynamique
Subete ga wakatta toki…watashi ga anta wo korosu.
[^]Re: BCD ???
Le COBOL ne connais pas les int ni les float, que les BCD si je ne m'abuse. Ca fait déjà un paquet de code :) - il y a encore peu, plus de la moitié du code tournant sur les systèmes bancaires tournaient en COBOL.
Enfin j'imagine que certains compilateurs transforment les BCD en int, mais vu la façon dont sont définis les nombres en COBOL, il y a des chances pour que les contrôles et le formatage bouffe le gros de temps gagné.
http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/inde(...)
[^]Re: BCD ??? <- Mauvais lien
Je me suis emmêlé dans les liens :
http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/inde(...)
celui là est mieux
[^]Re: BCD ??? <- Mauvais lien
En fait, tu t'abuses ;-) (Sous z/OS en tout cas.)
Les "int" c'est du COMP-4/COMP-5/BINARY et les "float" c'est du COMP-2.
Ensuite les détails dépendent des options de compilation (TRUNC en particulier).
Voilou.
[^]Re: BCD ???
Le BCD en hard permet vraiment de booster les perfs ?
Pour les clients IBM, pour le commun des mortels ca n'a pas d'intérêt. Tout comme le système de détection d'erreur matérielle.