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

Assembleur Discussion :

Adressage de la RAM en deux dimensions ? (~> impossible, uniquement linéaire)


Sujet :

Assembleur

  1. #1
    Invité
    Invité(e)
    Par défaut Adressage de la RAM en deux dimensions ? (~> impossible, uniquement linéaire)
    Bonjour à tous,

    D'après ce que j'ai vu sur le fonctionnement de la RAM], on accède à chaque bit via deux adresses (une rangée et une colonne) :

    Je me demande s'il est possible d'utiliser cet adressage en deux dimensions. Par exemple, la fonction C malloc() alloue de la mémoire de façon "linéaire" (on ne peut accéder aux éléments qu'avec un seul indice).

    Si on pouvait faire ça je suis sûr que ça pourrait accélerer certains calculs quand on utilise des tableaux à deux dimensions. Mais à tous les coups cet adressage à deux dimensions est géré en interne par la barette de RAM et elle n'offre qu'une interface "linéaire" ... Qu'en pensez-vous ?
    Dernière modification par Invité ; 14/12/2012 à 09h41.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Tu as tout compris, cet adressage est la mécanique interne de la mémoire. De plus il peut être différent d'une barette à l'autre suivant le nombre et les référence des puces utilisée (en fait cet adressage est même interne à chaque puce)

    Quand tu donne une adresse, une partie des bits de cette adresse identifie la colonne, l'autre partie identifie la ligne.

    De plus, avec tous les mécanismes mis en œuvre, tant matériels que logiciel au niveau du système d'exploitation, l'adresse que tu peux donner, toi, au niveau de ton programme ne correspondant très certainement pas directement à l'adresse que va recevoir la puce qui contient la cellule adressée
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    aucun gain à attendre de cette methode.

    la ram reste ce qu'elle est. un truc qui s'accede en disant adresse linéaire ==> collone/rangée, puis acces.

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est dommage ça, mais bon au moins j'aurai pas de regrets avec mes matrices.

    Merci pour vos réponses

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 53
    Points
    53
    Par défaut
    L'accès à la mémoire étant très lent, je ne pense pas que ça serait plus rapide si on décidait d'y accéder bit par bit. D'autant plus que la taille du bus mémoire fait beaucoup plus d'un bit. Ce serait un véritable gachi.

    En plus il n'y a que les DRAM qui fonctionnent avec une matrice de cellules (adressables de façon internes en ligne/colonnes).
    C'est pas pareil pour les mémoires caches (SRAM), qui elles sont construites à partir de portes logiques (bascules) organisés en lignes (mots). Ces mots (où lignes) sont repérés à partir des adresses par décodage logique et peuvent immédiatement être transmis sur le bus, sans adressage individuel des bits.

    Donc s'il était possible d'accéder aux bits individuels des DRAM par adressage ligne/colonne, ce ne serait pas pareils pour les mémoires caches (qui précèdent les DRAM dans la recherche des mots mémoires) et çà compliquerait davantage la hiérarchie mémoire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/11/2005, 19h55
  2. Réponses: 1
    Dernier message: 18/11/2005, 11h38
  3. Réponses: 13
    Dernier message: 13/10/2005, 16h03
  4. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38
  5. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50

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