Partage
  • Partager sur Facebook
  • Partager sur Twitter

langage binaire du CPU

    27 septembre 2021 à 11:40:49

    Bernard lagoutte a écrit:

    Merci à tous pour vos réponses.

    Je voulais juste coder un petit programme comme affiché 'Hello world' par curiosité en binaire sur plusieurs machine(prcocesseur) comme sur pc (windows et linux 32-64 bits), téléphone android et même sur ps4 et ainsi voir en détaille comment tous ça fonctionne.

    Si vous avez des tuto/ conseille pour le langage assembleur qui pourrais me permettre de faire cela n'hésitez pas. 


    Si tu veux te plonger dans la doc de tous les CPU possibles de ces produits, et le traduire le code d'affichage en binaire pour chacun d'entre eux.

    Le plus simple, c'est de faire ton code en C par exemple et le compiler pour chaque cible (après tu pourras regarder le binaire/exe généré si ça t'amuse).
    Personne ne code en binaire (ou peut-être à de très très rare occasion), l'assembleur c'est le plus bas niveau, mais on code assez souvent en langue de plus haut niveau, et on compile avec un compilateur qui génère le code pour la cible visée.

    • Partager sur Facebook
    • Partager sur Twitter
      27 septembre 2021 à 13:50:19

      Houla l'inspiration de mon truc  pedagogique ca remonte beaucoup plus loin, fin des années 50 (pdp 1)... Le 6502, c'est pas tout jeune non plus

      A l'époque : peu d'instructions,  peu de registres, peu de modes d'adressage, pas encore de micro-programmation.

      Pour info, le public c'était des étudiants de dut info, début deuxieme annee. Ils ont eu l'occasion de programmer sur des trucs plus moderne (powerpc, un bon vieux risc à  3 registres)

      -
      Edité par michelbillaud 27 septembre 2021 à 13:56:14

      • Partager sur Facebook
      • Partager sur Twitter
        27 septembre 2021 à 14:54:18

        Je sais que le 6502 est  vieux , mais je le trouve très simple et assez pédagogique à enseigner :)
        Sinon on peu enseigner du MIPS-I qui est relativement simple et un peu plus moderne (le RISC-V copie pas mal le MIPS ).

        > powerpc, un bon vieux risc à  3 registres
        tu veux dire 32 registres plutot non?

        • Partager sur Facebook
        • Partager sur Twitter
          27 septembre 2021 à 17:53:02

          Les instructions à trois registres voulais-je dire. J'ai eu le bonheur d'enseigner l'assembleur successivement sur HP-RISC, Motorola 88K et PowerPC, ça se ressemblait beaucoup, c'est facile à expliquer.

          Le risc V est dans cette lignée, en plus simple (powerpc, 250 instructions à peu près...). C'est ce que j'utiliserais maintenant pour enseigner si on me payait très très cher pour revenir au boulot :-)

          Sinon, dans le "8 bit traditionnel", le jeu d'instruction AVR est pas trop mal, et ça tourne sur l'ATmega328p de l'arduino, donc ça fait une plateforme pas cher pour jouer avec.

          Du risc V, on trouve aussi  (5 US$) https://www.riscv.fr/risc-v/la-sipeed-longan-nano-risc-v-avec-son-ecran-et-son-boitier-inclus-est-en-precommande-a-4-9/

          -
          Edité par michelbillaud 27 septembre 2021 à 18:00:37

          • Partager sur Facebook
          • Partager sur Twitter
            27 septembre 2021 à 17:56:17

            Pour ma part, mes premières amours ... ont été les CDC3100 et CDC1700 de Control Data Corporation.
            Des machines qui n'avaient que 2 registres A et Q.
            Par la suite, je me suis bien amusé avec le Zylog Z80. Le mien fonctionnait à 4.5 MHz, alors que les précédents étaient à moins de 1 MHz
            Il y avait un cross-assembler sur un CDC6600 avec un petit résident sur le Z80 pour télécharger du pseudo-binaire en caractères hexadécimaux.
            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              28 septembre 2021 à 16:15:02

              Bonjour.

              Les processeurs ARM ont un jeu d'instructions de type RISC donc moins compliquée que les X86.

              Pour apprendre l'assembleur ARM sur un téléphone Android, il faut utiliser termux.

              Voir sur ce lien: https://github.com/vincentARM/AndroidAssembleur

              • Partager sur Facebook
              • Partager sur Twitter
                28 septembre 2021 à 16:22:41

                le x86 comme point de référence, c'est pas terrible.

                Pour trouver plus compliqué, il faut vraiment bien chercher.

                Au départ, c'était un bricolage vite fait pour avoir quelque chose à présenter en face du zilog z8000 et du motorola 68000.  C'était pas fait pour être le point de départ d'une gamme sérieuse, et ça n'aurait pas duré longtemps si IBM ne l'avait pas choisi pour son PC lui aussi bricolé en catastrophe pour mettre en face de l'Apple II.

                -
                Edité par michelbillaud 28 septembre 2021 à 16:26:13

                • Partager sur Facebook
                • Partager sur Twitter
                  28 septembre 2021 à 16:53:25

                  +1000 :)
                  Ouais je tenais à le dire , parce que , je lis pas souvent des critiques sur le x86 ;)
                  (Meme si ça devient de plus en plus courant ).

                  Et oui e x86 est trop souvent cité comem reference malheuresement

                  -
                  Edité par HelbaSama 28 septembre 2021 à 16:54:09

                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 septembre 2021 à 17:08:02

                    Faut bien dire que la plupart des gens ne soupconnent pas qu'il puisse exister autre chose.

                    La culture générale en informatique a baissé dramatiquement ces dernières années. Il y a des brevets en informatique et gagna au lycée, collège, etc, et à la sortie on confond toujours mémoire vive et espace de stockage. Et aucune idée de l'ordre de grandeur des vitesses des processeurs. Mille instructions par seconde ? Un million ? Un milliard ?

                    -
                    Edité par michelbillaud 28 septembre 2021 à 17:14:39

                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 septembre 2021 à 17:21:33

                      <hs>malheureusement c'est bien la culture scientifique qui a chuté vertigineusement … et on le paye en temps de pandémie.</hs>
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 septembre 2021 à 18:22:52

                        Et on jette à la poubelle tout ce qui a été codé sur des processeurs X86?
                        Essayez de convaincre Intel de scrapper tous ses processeurs.
                        Et dans quelque temps on aura des processeurs au graphène qui fonctionneront mille fois plus vite ... mais aussi mal.
                        C'est mieux que la préhistoire ou on ne pouvait pas faire fonctionner du code des machines d'une compagnie sur une autre machine.
                        C'était l'ère glorieuse des émulateurs ...
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Le Tout est souvent plus grand que la somme de ses parties.

                          28 septembre 2021 à 22:36:25

                          On ne jette pas le  code, d'abord parce que les x86 ne vont pas disparaitre comme ça, et que par ailleurs on a essentiellement du code source qu'on peut envisager de porter sur d'autres architectures.

                          Par contre on peut jeter à la poubelle l'idée d'initier a programmation en assembleur en utilisant le x86 comme plateforme pour les exercices. Trop de temps à passer à expliquer des trucs biscornus, et ça ne sert à rien. C'est un choix contre productif.

                          Meme si il s'agissait de former des gens pour qu'ils travaillent ensuite pour de vrai sur x86 en assembleur (c'est rare) il vaut mieux commencer par un truc simple et bien fichu pour apprendre les principes et pratiquer. Quand c'est fait, on peut s'attaquer aux trucs tordus.

                          -
                          Edité par michelbillaud 28 septembre 2021 à 22:39:04

                          • Partager sur Facebook
                          • Partager sur Twitter
                            29 septembre 2021 à 1:34:18

                            Dans ma jeunesse ... il y avait un programme sur le serveur de l'Université de Montréal qui émulait une pseudo-machine.
                            Il értait écrit en Fortran SVP ...
                            Le langage était simple et les étudiants apprenaient les principes de base de l'assembleur.
                            On ne donnait évidemment pas le code binaire pour cette pseudo-machine. :)
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Le Tout est souvent plus grand que la somme de ses parties.

                              29 septembre 2021 à 4:51:33

                              "Et dans quelque temps on aura des processeurs au graphène qui fonctionneront mille fois plus vite ... mais aussi mal."
                              Celà fait 10 ans que j'entends parler des processeurs au graphènes , donc dans quelque temps c'est quoi pour toi ?
                              Parce que techniquement comme c'est parti , ça sera viable dans 50 ans :)

                              Sinon oui , il y'a un gros manque de culture informatique que ça soit du x86 ou des machines (oui incroyable, y'avait autre chose que du PC ).
                              Mais clairement que le x86 est contre productif , surtout que bon ça donne l'impression a ceux qui l'apprenne que le processeur fonctionne exactement comme ils l'écrivent , alors que le x86 actuel est probablement le processeur où il y'a un énorme décalage entre le code écrit en asm , et son exécution réel.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                29 septembre 2021 à 7:14:32

                                Je te donne le lien pour ce qu'il vaut ...
                                https://www.zdnet.fr/actualites/comment-le-graphene-pourraient-rendre-nos-smartphones-mille-fois-plus-rapides-39917957.htm
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Le Tout est souvent plus grand que la somme de ses parties.

                                  29 septembre 2021 à 8:16:43

                                  Oui ,si tu lis bien l'article est relativement vide en contenu , et ce genre d'article, tu trouvais les mêmes il y'a 10 ans ;)
                                  un article qui date de 8 ans :
                                  https://www.mac4ever.com/actu/82417_des-processeurs-au-graphene-a-400-ghz-oui-400ghz
                                  Rien de nouveau sous le soleil ! x)

                                  Les commentaires : "Ça sera dans nos smartphone dans 5 à 10 ans :)"
                                  Bon ben on peut dire que celà n'est pas arrivé :p


                                  Par contre ,il y'a des recherches pour faire du silicium-graphene , mais cela n'augmenterai que de 20% les perfs ,rien de bien extraordinaire,  mais me semble plus probable que d'avoir un proc a 400 GHz.

                                  Par contre la mauvaise nouvelle , c'est que c'est souvent des titres mensonger "1000 fois plus rapide" , même si tu avais un proc qui ferait 4000 GHz , il ne serait pas 1000 fois plus rapide qu'un proc de 4 GHz , mais j'ai envie de dire si on a un truc 100 fois plus rapide,  ça serait miraculeux...
                                  Parce que ce qu'on oublie (trop) souvent , c'est que la RAM  est lente , tres lente , si tu voulais avoir aucune latence avec la RAM , il faudrait un proc de 50-100Mhz , donc je te laisse imaginer avec une Ram aussi lente et un processeur aussi rapide que 4000 GHz !
                                  (spoiler : il va passer son temps à attendre la RAM).
                                  Sans parler que les ordinateur se base toujours et encore sur l'architecture von neuman , et donc le bus est souvent partagé entre les différents cœur (et le dual channel , c'est vraiment faiblard comme solution).

                                  Donc on a encore pas mal d’amélioration à faire sur l'architecture des ordinateurs ,avant de se dire qu'on va avoir un matériaux/technologie miracle qui va résoudre tout nos soucis :)

                                  -
                                  Edité par HelbaSama 29 septembre 2021 à 10:38:46

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  langage binaire du CPU

                                  × 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