comment la machine adresse-t-elle réellement la ram?
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

comment la machine adresse-t-elle réellement la ram?



  1. #1
    invited170028e

    comment la machine adresse-t-elle réellement la ram?


    ------

    Bonjour,

    je débute en assembleur, et je suis entonné de la "technique" d'adressage de la mémoire dans ce langage;les fameux offset et segments.
    ma question est; la machine adresse-t-elle réellement de cette façon (offset/segment) sa memoire ou est-ce simplement un subterfuge ou astuce pour faciliter la tache aux programmeurs (ce qui veut dire que la machine possede un interpreteur du mode offset:segment à un autre mode d'adressage "machine" exploitable directement par le couple cpu-ram)?

    -----

  2. #2
    invite251213
    Invité

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Autrefois, dans les anciens processeurs x86, la machine faisait réellement de la segmentation et le processeur contenait des registres et des circuits spécialisés capables de gérer le tout en hardware. Ces circuits (la MMU) faisaient eux-même la translation d'adresse pour retrouver l'adresse en mémoire RAM de la donnée ou instruction voulue et tout le reste.

    Maintenant, ces registres et tout ce qui a rapport à la segmentation n'a plus besoin d'être manipulé : le processeur s'en moque et utilise une autre technique de mémoire virtuelle : la pagination. Et bien sur, le processeur ignore tout ce qui a rapport avec la segmentation

  3. #3
    pazcal

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par klaodio81 Voir le message
    Bonjour,

    je débute en assembleur, et je suis entonné de la "technique" d'adressage de la mémoire dans ce langage;les fameux offset et segments.
    ma question est; la machine adresse-t-elle réellement de cette façon (offset/segment) sa memoire ou est-ce simplement un subterfuge ou astuce pour faciliter la tache aux programmeurs (ce qui veut dire que la machine possede un interpreteur du mode offset:segment à un autre mode d'adressage "machine" exploitable directement par le couple cpu-ram)?
    Cette approche n'est valable que pour les processeur dont la mémoire est segmentée. C'est tout sauf un subterfuge pour faciliter la tâche du programmeur, bien au contraire. C'est surtout historique et principalement sur les processeurs intel de la famille 80xxx.
    A l'origine les processeurs adressaient que 64ko de mémoire. La limite a rapidement été atteintes, et pour conserver la compatibilité avec les premières générations de processeurs, on a utilisé de la mémoire segmentée. Autrement dit on a ajouté un registre de page dans l'architecture du processeur. Ce registre permettait de pointer sur une des pages de la mémoire, ensuite un registre d'adresse permettait d'adresser la cellule mémoire dans la page donnée.
    Aujourd'hui, c'est de moins en moins utilisé.
    Par contre les espace d'adresse sont en général plus important que la méoire physique réellement disponible. On peut avoir plusieurs adresses logiques qui pointent sur une adresse physique en mémoire. Un circuit spécifique est cahrgé de cela, c'est la MMU (Memory Management Unit). C'est transparent pour l'utilisateur.
    A plus

  4. #4
    invited170028e

    Re : comment la machine adresse-t-elle réellemnt la ram?

    merci, j'ai découvert deux choses donc, la segmentation et la pagination, deux technique bien distinctes l'une de l'autre.
    vous dites que c'est de moin en moin la segmentation, donc un code assembleur des années 80 ne ressemble pas àceluis de année 2000 (win XP par exemple), autrement dit; un code assembleur recent ne contient plus de mnemonique offsetet segment, c'est ca?

  5. A voir en vidéo sur Futura
  6. #5
    Xoxopixo

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Bonjour,

    Tout dépend déja du type de processeur.
    Sans rentrer dans le detail, la gestion de la memoire n'est plus utilisée par pagination ni par segment allant jusqu'à 64k il va sans dire.

    Les processeurs peuvent fonctionner en Mode Reel.
    Ou ne Mode Protégé.

    Ce dernier est activé sur les PC fonctionnant sous windows par exemple. C'est ce qui permet d'assurer que les applications ne puissent acceder à la memoire autrement que par un gestionnaire, qui s'occupe de la securisation conjointement avec ce qui a été défini par le Systemes d'Exploitation. Windows dans ce cas.

    Un lien explicatif ici :
    http://charles.moostik.net/pmode/index.php3

  7. #6
    pazcal

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par klaodio81 Voir le message
    merci, j'ai découvert deux choses donc, la segmentation et la pagination, deux technique bien distinctes l'une de l'autre.
    vous dites que c'est de moin en moin la segmentation, donc un code assembleur des années 80 ne ressemble pas àceluis de année 2000 (win XP par exemple), autrement dit; un code assembleur recent ne contient plus de mnemonique offsetet segment, c'est ca?
    Pour faire référence au processeurs intel vu que c'est de ça dont il est question. Alors la réponse est non, le code asm des années 80 n'est pas du tout le même que celui d'aujourd'hui. Néanmoins il est compatible. Mais bon, en 80 le x86 n'existait pas...
    Si on se projette de 10 ans en avant, le 8086 venait de naitre... Mais le code non plus n'était pas le même. puisqu'aujourd'hui le nombre de registre d'un pentium n'a plus rien à voir avec celui d'un 8086. LEs unités de traitement non plus, et les jeux d'instructions ont considérablement évolué.
    les processeurs actuels incluent les jeu d'instructions x86 largement étendu, le fpu, mmx, le xmm, sse2, sse3, ssse3, sse4, et bientot avx...
    A plus

  8. #7
    JPL
    Responsable des forums

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par pazcal Voir le message
    Mais bon, en 80 le x86 n'existait pas...
    Si on se projette de 10 ans en avant, le 8086 venait de naitre...
    Pas clair : le 8086 date de 1978 et le 80286 de 1982 (je n'ai pas souvenir que le 80186 ait été utilisé dans un ordinateur connu).
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  9. #8
    pazcal

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par JPL Voir le message
    Pas clair : le 8086 date de 1978 et le 80286 de 1982 (je n'ai pas souvenir que le 80186 ait été utilisé dans un ordinateur connu).
    Au temps pour moi, je me suis un peu emmelé dans les dates que j'ai associées à la dispo des CPU dans les PC. MErci pour le correctifs.
    Pour me ratrapper voici qques machines équipées du 80186 :
    Goupil G4
    Le HP 200LX
    Le RM-Nimbus
    Le Tandy2000
    Tous n'étaient pas 100% compatibles avec le PC de l'époque.
    Il me semble que l'excellent "Archimede" fabriqué par Acorn a dû être décliné en 80186, avant d'être équipé d'Arm
    A plus

  10. #9
    JPL
    Responsable des forums

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Ah... Goupil et son Os : Flex.
    Dernière modification par JPL ; 20/04/2011 à 13h27.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  11. #10
    pazcal

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par JPL Voir le message
    Ah... Goupil et son Os : Flex.
    Flex, ha ouiii, j'ai eu ça sur mon premier ordi, un dragon32... Il faut comprendre 32ko de mémoire. Sous flex, mon premier tableur dynacalc, et un traitement de texte... J'avais également OS9 qui tournait dessus. Mes premiers pas en assembleur 6809...
    http://en.wikipedia.org/wiki/Dragon_32/64
    Je l'ai encore... lol
    A plus

  12. #11
    Xoxopixo

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par pazcal
    Flex, ha ouiii, j'ai eu ça sur mon premier ordi, un dragon32
    16k sur le ZX81 de monsieur Lord Clive Sinclair.
    1024 octets de base sans la cartouche, on devait choisir entre la place allouée au basic et la place allouée à l'ecran pour 1024.
    Donc Assembleur sur processeur Z80.
    http://www.grospixels.com/site/sinclair.php

  13. #12
    pazcal

    Re : comment la machine adresse-t-elle réellemnt la ram?

    Citation Envoyé par Xoxopixo Voir le message
    16k sur le ZX81 de monsieur Lord Clive Sinclair.
    1024 octets de base sans la cartouche, on devait choisir entre la place allouée au basic et la place allouée à l'ecran pour 1024.
    Donc Assembleur sur processeur Z80.
    http://www.grospixels.com/site/sinclair.php
    Arf, j'ai écrit mon premier programme basic de 4 lignes sur la version 1ko. Mais je me suis jamais fait au clavier de ces trucs là... Le zx et ses 10000 extensions

Discussions similaires

  1. Comment créer une adresse e-mail
    Par Fistos dans le forum Internet - Réseau - Sécurité générale
    Réponses: 10
    Dernier message: 26/07/2010, 17h46
  2. comment supprimer une adresse hotmail?
    Par invite988f1d97 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 06/12/2009, 20h33
  3. La fac est elle réellement une "poubelle"?
    Par invitef1168823 dans le forum Orientation après le BAC
    Réponses: 6
    Dernier message: 09/07/2009, 16h42
  4. Comment créer une deuxième adresse
    Par roro123 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 05/10/2005, 12h55
  5. Comment ouvrir un fichier RAM ?
    Par Antikhippe dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 24/12/2004, 10h08