IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Assembleur nouveaux processeurs


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut Assembleur nouveaux processeurs
    Bonjour, j'aimerais avoir des précisions sur les dernières générations de microprocesseur. Par exemple, l'Opteron d'AMD est il de la famille des 8086 ?
    Est-ce qu'on le programme en assembleur de la même manière qu'un 486 ou un Pentium ? Est-ce qu'il a des registres du style EEAX ( comme EAX était l'extension 32 bits de AX )? Quelles sont les différences fondamentales à ce sujet ?
    Les Dual Core sont-ils programmables eux aussi de cette manière ou est-ce qu'il faut complètement faire table rase du passé et partir sur de nouvelles notions ? Est-ce qu'il faut programmer et synchroniser 2 processeurs ou est-ce que c'est l'electronique qui s'occupe de tout ?

    Je vous remercie par avance ?

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Citation Envoyé par Denn's
    L'Opteron d'AMD est il de la famille des 8086 ?
    AMD ne produit plus, depuis 1995, que des processeurs x86 (x86-64).

    Est-ce qu'on le programme en assembleur de la même manière qu'un 486 ou un Pentium ?
    D'une manière générale oui.

    Les processeurs suivant l'architecture x86 sont dit "rétro-compatible". Ce qui signifie que ce qui fonctionnait sur un "vieux" processeurs fonctionne sur un nouveau (l'inverse n'est pas forcément vrai, dû au fait que de nouvelles instructions apparaissent à chaque générations).

    Les optimisations fonctionnant sur un processeur plus ancien ne seront pas forcément optimales pour un processeurs récent (et vice-versa).

    En ce qui concerne les x86-64, il n'y pas vraiment de gros changements, ça reste au fond du x86. On a juste de plus "gros" registres, plus de registres disponibles et une convention d'appel unique et standardisée suivant la plate-forme. Sortit de là, pas vraiment grand chose de révolutionnaire...

    Sous x86-64, il faut juste savoir quel mode d'exploitation va viser le code.

    Est-ce qu'il a des registres du style EEAX ( comme EAX était l'extension 32 bits de AX )? Quelles sont les différences fondamentales à ce sujet ?
    voir la FAQ en ce qui concerne les processeurs x86-64 :

    http://asm.developpez.com/faq/?page=fx64

    Les Dual Core sont-ils programmables eux aussi de cette manière ou est-ce qu'il faut complètement faire table rase du passé et partir sur de nouvelles notions ?
    Non pas besoin de changer du tout au tout. Le tout est d'utiliser l'API système pour faire du threading.

    Est-ce qu'il faut programmer et synchroniser 2 processeurs ou est-ce que c'est l'electronique qui s'occupe de tout ?
    La synchronisation des cores est réalisée par le processeur et l'O.S sous-jacent. Le programmeur ne s'occupe pas explicitement de la synchronisation des cores.

    On utilisera simplement des threads, via l'API disponible, quitte à forcer l'utilisation d'un core spécifique.

    Pour simplifier, plutôt que de tout faire dans le thread primaire (qui reste sur un seul core, comme sur un système mono-core / mono-processeur), on créera de multiples thread qui iront chacun travailler sur un core spécifique (c'est l'O.S qui choisi généralement le core affecté au thread).

    Par exemple un thread pour l'interface graphique, un thread de logique métier (calcul par exemple), etc.

    Chaque thread ayant son core propre (a concurrence du nombre de core disponible), chacun de ces threads ira beaucoup plus vite, puisqu'il y a moins de préemption.

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    Tout d'abord, merci pour le tps passé à me répondre.

    Dernières questions:

    J'ai un vieux TASM ( livré avec Borland C++ 3.0 ):
    Je suppose que je dois pouvoir assembler du code ( qui sera du 32 bits ) sans problème sur cette nouvelle génération de processeur, si j'ai bien compris, mais en ne faisant QUE de l'assembleur ( pas incorporé ds du c++ ) , avec les directives "code","pile","data" ?

    Les interruptions comme celles de la souris (33) ou du DOS (21) sont-elles tjrs valables ?

    Et merci encore.

  4. #4
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    J'oubliais....

    Existe-t-il encore des assembleurs isolés ( comme le fameux TASM ) ou ne sont-ils plus qu'incorporé dans des IDE du commerce ?

  5. #5
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Je ne suis pas sûr que le TASM de ces années-là soit capable de calculer sur 32 bits (& je ne parle même pas des adresses).

    Quant à utiliser les instructions des processeurs modernes...
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Kio,
    Citation Envoyé par Denn's
    Tout d'abord, merci pour le tps passé à me répondre.

    Dernières questions:

    J'ai un vieux TASM ( livré avec Borland C++ 3.0 ):
    Je suppose que je dois pouvoir assembler du code ( qui sera du 32 bits ) sans problème sur cette nouvelle génération de processeur, si j'ai bien compris, mais en ne faisant QUE de l'assembleur ( pas incorporé ds du c++ ) , avec les directives "code","pile","data" ?

    Les interruptions comme celles de la souris (33) ou du DOS (21) sont-elles tjrs valables ?

    Et merci encore.
    Si je me souviens bien, Borland C++ 3.0 était en 16 bits, et si c'est bien le cas, le TASM livré avec l'est probablement aussi.

    Les interruptions du DOS sont interdites sous Windows.

    Pourquoi tenir à utiliser ces outils préhistoriques ?

    Il y a des assembleurs modernes, performants, et gratuits, ce qui ne gâche rien.

    Par exemple, regarde du côté de yasm (c'est bien écrit avec un y, ne pas confondre avec nasm, abandonné, pour autant que je sache).
    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/03/2010, 15h42
  2. Réponses: 7
    Dernier message: 13/02/2010, 21h40
  3. [Débutant] Quel Assembleur utiliser avec mon processeur AMD Athlon 64 ?
    Par cryosore94 dans le forum x86 32-bits / 64-bits
    Réponses: 19
    Dernier message: 11/03/2009, 09h38
  4. Réponses: 0
    Dernier message: 03/03/2009, 15h55
  5. les nouveaux processeurs et la programmation
    Par cladsam dans le forum Composants
    Réponses: 11
    Dernier message: 24/11/2006, 19h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo