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

Autres architectures Assembleur Discussion :

[SparcV8] Faire des transferts mémoires rapides


Sujet :

Autres architectures Assembleur

  1. #1
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut [SparcV8] Faire des transferts mémoires rapides
    J'ai un processeur SparcV8, et j'aimerais faire des transferts mémoires assez rapide, notament pour faire l'équivalent d'un memset sur 256 octets. Pour ça, je pensais allez mettre, en assembleur, des doubles mots (64 bits) aux adresses de mon tableau en mémoire. Je ne sais pas quelle est la meilleure solution...

    Merci d'avance de m'éclairer !

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    des doubles mots (64 bits)
    Byte => 8 bits
    Word => 16 bits
    Double Word => 32 bits
    Quad Word => 64 bits
    Pour déclarer des variables de 64 bits, il faut les déclarer en QWORD.

    Pour faire des transferts mémoire plus rapides, on peut utiliser des instructions qui déplacent plus d'octets en même temps.

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 160
    Points
    160
    Par défaut
    Si -> memset : Remplir une zone de mémoire avec un octet donné
    Est-il question de transférer des données, d'initialiser une table avec une constante, ou de remplir une table avec des datas "MAJ" ?

    Le V8 ne supporte pas l'adressage 64 bits, me semble t'il, à moins que tu es une bidouille de V9 . Ceci dit il doit bien y avoir moyen de swaper ça....

  4. #4
    Membre habitué
    Profil pro
    Enculeur de mouches
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Enculeur de mouches

    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 161
    Points
    161
    Par défaut
    Si tu as de nombreuses copies, et un DMA (direct memory access) le mieux est peut-être de préparer une zone mémoire de 256 octets à zéro puis de programmer le DMA pour qu'il effectue les copies, et te laissera disposer de temps CPU pendant qu'il bosse.

    Enfin, reste à voir si ça te conviendrait...

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 160
    Points
    160
    Par défaut
    bonne statégie (si c'est une RA(Z)).
    Ceci dit Sun (& co) ont collé plein de bonnes choses dans ta bestiole, il serait intéressant de regarder ce que l'electronique te propose comme implémentations avancées.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/04/2012, 14h16
  2. Réponses: 2
    Dernier message: 29/11/2010, 11h09
  3. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Langage SQL
    Réponses: 6
    Dernier message: 09/08/2006, 11h57
  4. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 09/08/2006, 11h57
  5. Réponses: 8
    Dernier message: 18/09/2002, 04h20

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