Partage
  • Partager sur Facebook
  • Partager sur Twitter

A propros du tuto "Apprenez à monter votre ordi"

    19 juin 2021 à 9:31:22

    Je remarque quelque erreur ou des info "incomplète" sur ce tuto  , les voici :

     "La fréquence du processeur est importante, car c'est elle qui détermine la vitesse à laquelle il fonctionne. Elle désigne le nombre d'opérations que votre processeur est capable d'effectuer en 1 seconde et est exprimée en Hertz (Hz). Aujourd’hui, on parle plutôt en GigaHertz (c'est que ça évolue, ces petites bêtes là !).

    Par exemple, si un processeur a une fréquence de 3 GHz, il peut alors effectuer… 3 milliards d'opérations à la seconde !"

    Je dirait pas qu'elle est "importante" , en tout cas ce n'est pas  un élément de comparaison fiable.
    Et secundu , cela ne représente nullement le nombre d'opération par seconde , ça représente le nombre de cycle.
    Et suivant les instructions , le nombre d'instruction/cycle varie ,même si théoriquement un processeur moderne peut theoriquement faire plusieurs instruction par cycle.
    Dans les fait ,c'est assez variable.

    Si c'était le cas (fréquence = nombre d'opération), en mono core le pentium4 serait aussi puissant qu'un ryzen derniere gen , ce qui n'est clairement pas le cas !

     "L'HyperThreading est une technique développée par Intel, qui consiste à séparer un cœur physique en deux cœurs logiques. Autrement dit, on simule la présence d'un second cœur afin qu'il puisse exécuter lui aussi des calculs, parallèlement au premier."


    C'est pas totalement faux ,mais c'est pas totalement vrai non plus,  parce que cette technique (faire deux thread sur le même core) existé bien avant HT et que Intel le met en place.
    Si Intel l'a appelé HyperThreading ,c'est que cela fait un peu plus que ça ;)
    C'est que le HT créer un second thread mais qui ne ralentit pas le coeur principal (enfin le moins possible) , en utilisant les unité de calcul non utilisé (souvent pendant le cache miss).
    D'où le mot "Hyper" qu'a mit Intel sur cette technique.

     "Il existe 3 types de mémoire cache :

    • Level 1 (L1) : de très faible capacité, en 2 parties et directement intégré au(x) cœur(s) du CPU.

    • Level 2 (L2) : de plus grande capacité que le L1 et partagé entre les cœurs sur les anciens CPU mais intégré aux cœurs sur les dernières générations.

    • Level 3 (L3) : le plus grand en terme de capacité. Il y a quelques temps, elle était situé au niveau de la carte mère mais aujourd'hui, elle est directement intégrée au CPU et partagée entre les cœurs."

    J'aurais preferer le mot "niveau" de cache que type (qui pour moi signifie autre chose , de nature différente , alors que souvent les cache L1 et L2 sont souvent les mêmes).
    Par contre il n'ya pas toujours un cache L3 (comme l'ARM M1 , mais du coup le cache L1 est bien plus gros).
    Il faut savoir que plus le cache L3 est gros , plus il ralentit le cache L2 et plus le cache L2 est gros plus il ralentit le cache L1 :)
    Du coup faire ces 3 niveau de cache dépend surtout de l'implémentation voulu.
    (Même si souvent le cache L3 est ce qu'on appelle un vide cache).

    Mais ça reste correct comme tuto , enfin la vulgarisation des Youtubeurs sur le hardware est pire ,voire complètement délirante, je ne comprend pas d'ailleurs pourquoi certain tente de vulgariser des domaines qu'il maîtrisent pas du tout...
    Voilà voilà :p

    -
    Edité par HelbaSama 19 juin 2021 à 9:37:12

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2021 à 15:31:41

      Salut :)

      Tout d'abords, merci d'avoir pris le temps de lire ce tuto.

      Après, si je suis tout à fait d'accords pour ce qui est de la fréquence et de la mémoire cache, pour ce qui est de l'HyperThreading, c'est plus une histoire de tournure de phrase voulant signifier que c'est INTEL qui a introduit de 1er cette technologie dans les CPU grand-public (on ne parle pas d'ARM ou autre ici).

      J'essayerais d'inclure tes remarques lors d'une future mise-à-jour du tuto que je dois faire depuis pas mal de temps (les choses ont pas mal évolué depuis) : c'est prévu depuis un moment et j'espère pouvoir le faire un jour.

      Enfin, c'est un tuto destiné au plus grand nombre donc pas fait pour réellement entrer dans les détails qui pourraient perdre les lecteurs. Le but étant de pouvoir à peu près comprendre les différentes pièces qui composent un PC et, surtout, de pouvoir le monter soi-même.

      • Partager sur Facebook
      • Partager sur Twitter
        19 juin 2021 à 16:30:27

        Merci pour ta réponse !
        On va dire le seul vraiment faux ,c'est sur la fréquence (et au moins tu pourra parler de l'IPC , vu que c'est quelque chose qui est souvent mis en avant par AMD entre autre).

        Sinon vu ta réponse  , mon explicitation n’était pas clair pour le HyperThreading , c'est bien Intel les premiers à l'avoir mis (grand public ou pas).
        Mais ton explication n'est pas de l'HyperThreading :)
        Faire 2 thread sur un même core, ça se faisait,  mais avant ça prenait la moitié de la puissance du proc, en gros sur un core on avait 50% pour le thread numero 1 et 50% pour le thread numero 2.
        Le HT c'est 100% du core et le second thread c'est ce qui est inutilisé (c'est souvent aux alentours de 20%) , donc le HT c'est une amélioration du threading qui se faisait déjà :)
        • Partager sur Facebook
        • Partager sur Twitter
          19 juin 2021 à 16:43:16

          Hum... l'IPC n'est, il me semble, pas plus fiable que la fréquence pour déterminer la performance d'un CPU... c'est un peu mieux que la fréquence mais pas beaucoup plus non plus. Et, dans le tuto, on ne dit pas que la fréquence est le plus important mais quelque chose d'important (parmi d'autres choses plus ou moins indiquées dans le tuto).

          Quant à l'HyperThreading, je ne vois pas le problème, on ne parle que de lui, pas du threading en général : comme précédemment indiqué, on ne veut pas trop rentrer dans les détails pour ne pas perdre le lecteur car le tuto s'adresse aux débutants ;)

          • Partager sur Facebook
          • Partager sur Twitter
            19 juin 2021 à 17:16:57

            L'IPC est bien plus fiable que la fréquence (quand c'est une mesure réel).
            Mais il faut en général d'autre mesure , vu que en général l'IPC donné est souvent dans le meilleur jour est pas vraiment une moyenne dans des cas plus "complexe".
            Mais sur des bout de code , ça peut être un vrai comparatif pour tester deux algo sur deux machine différente (vu que ça permet justement de prendre en compte une ratio fréquence/instruction et donc ne pas fausser un résultat sur de l'OC ).

            Pour le HT je comprend que tu veuille "simplifier" , mais j'ai au moins expliquer de façon plus explicite ce qu'il en était ;)

            -
            Edité par HelbaSama 19 juin 2021 à 17:22:42

            • Partager sur Facebook
            • Partager sur Twitter
              19 juin 2021 à 17:33:42

              Mouai... l'IPC est tout de même quelque chose de plutôt "théorique" (il ne reflète pas vraiment la réalité qui est plus complexe que ça) et, comme tu le dis, celui indiqué par les constructeurs est encore moins fiable car donné dans des situations très rarement atteintes. À mon avis, le seul moyen de savoir ce que vaut réellement un CPU est de lire des comparatifs (reposant sur des situations bien plus réelles) sur des sites fiables/impartiales (certains ont, malheureusement, des préférences pour une marque de CPU ou une autre).
              • Partager sur Facebook
              • Partager sur Twitter
                19 juin 2021 à 17:39:42

                l'IPC n'est pas toujours théorique , ça dépend de la mesure, tu peux avoir un IPC réel (en mesurant le nombre d'instruction/cycle tout simplement) , mais en général comme on ne le fait que pour des partie de code et pas sur un programme entier , le test est souvent "biasé".
                Et je n'ai pas dit qu'il fallait parler d'lPC pour faire du comparatif , mais tu peux en parler pour tout simplement savoir de quoi il s'agit tout simplement ;)
                Vu que à la base tu parlais de fréquence et du nombre d'opération , et l'IPC est une ratio des deux justement.

                Mais l'IPC peut être une mesure précise , ça dépend surtout du processeur cible (bien sur les processeurs moderne à haute perf  ne rentre pas dedans) , mais c'est facile de mesurer l'IPC d'un proc embarqué (où de certain vieux proc) avec une comparaison efficace (vu que l'IPC niveau instruction ne change pas ).

                -
                Edité par HelbaSama 19 juin 2021 à 17:42:41

                • Partager sur Facebook
                • Partager sur Twitter
                  19 juin 2021 à 18:11:18

                  OK... mais, ce que je voulais dire, c'est que l'IPC ne permet pas de savoir si un CPU serait bon en applicatif (et dans quel(s) domaine(s) de l'applicatif : programmation, graphisme 2D/3D, traitement audio/vidéo, virtualisation, etc.) et/ou en jeu. Ça permet juste de savoir qu'un CPU donné sera capable d'exécuter n d'instructions par cycle, ce qui, pour les débutants, ne voudra pas dire grand-chose.

                  Par contre, en effet, il faudrait mettre un p'tit quelque chose concernant l'IPC qui est plus important que la fréquence (qui, aujourd'hui, ne sert qu'à savoir quels CPU d'une même gamme et d'une même marque sera plus performant qu'un autre).

                  • Partager sur Facebook
                  • Partager sur Twitter

                  A propros du tuto "Apprenez à monter votre ordi"

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown