Journal : Le Power6 arrive

Posté par patrick_g (page perso, ) le 18 octobre 2006
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 ???

Posté par Pior () le 18/10/2006 à 09:16. (lien). Évalué à 5.

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 ???

    Posté par Lucas Bonnet () le 18/10/2006 à 09:19. (lien). Évalué à 7.

    > Quelqu'un aurait-il un exemple ?

    Quelqu'un pourrait expliquer ce qu'est le BCD, par la même occasion ?

    • [^]Re: BCD ???

      Posté par Adrien Montoille (page perso, ) le 18/10/2006 à 09:28. (lien). Évalué à 2.

      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 ???

      Posté par Pior () le 18/10/2006 à 09:29. (lien). Évalué à 4.

      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 ???

      Posté par patrick_g (page perso, ) le 18/10/2006 à 09:29. (lien). Évalué à 2.

      >> 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 ???

        Posté par Xavier Teyssier (Jabber id, page perso, ) le 18/10/2006 à 09:34. (lien). Évalué à 9.

        Pas mal, le tir groupé ! :)
        Y'a pas à dire, Wikipédia devient vraiment un réflexe pour beaucoup !

        • [^]Re: BCD ???

          Posté par Maxime (Jabber id, page perso, ) le 21/10/2006 à 11:43. (lien). Évalué à 4.

          Non, sinon personne n'aurai posé la question.

      [^]Re: BCD ???

      Posté par gege (page perso, ) le 18/10/2006 à 09:31. (lien). Évalué à 3.

      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 ???

        Posté par patrick_g (page perso, ) le 18/10/2006 à 09:44. (lien). Évalué à 5.

        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 ???

      Posté par locnet () le 18/10/2006 à 09:34. (lien). Évalué à -4.

      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 ???

      Posté par Yannick (page perso, ) le 18/10/2006 à 12:25. (lien). Évalué à 3.

      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 ???

        Posté par briaeros007 () le 18/10/2006 à 14:15. (lien). Évalué à 2.

        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 ???

          Posté par dguihal () le 18/10/2006 à 15:02. (lien). Évalué à 6.

          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 ???

            Posté par briaeros007 () le 18/10/2006 à 16:23. (lien). Évalué à 2.

            (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

            et si ca va pas -> librairie spécialisé d'entiers (ou de flottants) de n bits (n étant dynamique)

            Oui ca existe des flottants avec mantisse sur n bits dynamique

            --
            Subete ga wakatta toki…watashi ga anta wo korosu.

    [^]Re: BCD ???

    Posté par √λιi () le 18/10/2006 à 09:44. (lien). Évalué à 6.

    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

      Posté par √λιi () le 18/10/2006 à 09:49. (lien). Évalué à 3.

      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

        Posté par VoixOff () le 18/10/2006 à 15:19. (lien). Évalué à 2.

        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 ???

    Posté par olivn () le 18/10/2006 à 20:38. (lien). Évalué à 1.

    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.