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 :

4Go en rmode


Sujet :

Assembleur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 96
    Points : 116
    Points
    116
    Par défaut 4Go en rmode
    Salut !

    J'ai entendu quelqu'un dire que on pouvait acceder au 4Go de la mem en rmode ( ), juste en activant la porte a20, et sans passer en pmode ...
    G essayé chez moi, mais ca marche pas (dès que je passe le 1Méga, le pc se blocke)... Comment faire ?
    Je précise que je ne veux pas passer en pmode dans ce prog la (en effet je vais faire des trucs avec la vesa et c'est plus pratique de rester en rmode).

    Responsable du projet SKAN (OS à but didactique)
    Contactez moi pour toutes questions ou remarques sur le projet.

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Heuuu qui a dit ça ?
    Le mode Réel utilise l'adressage par segment:offset qui est limité à 1 Mo. Il n'y a pas d'alternatives pour adresser plus, il faut passer en mode Protégé. On peut "contourner" le problème en utilisant des gestionnaires de mémoire étendue mais dans tous les cas on ne peut adresser directement la partie au dela du 1er Mo de mémoire.
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 29
    Points : 35
    Points
    35
    Par défaut
    Salut 2PluS4,

    Il existait l'instruction non documentée LOADALL, qui permet de modifier l'adresse de base d'un descripteur de segment en mode réel dans la limite des 4Go.
    Cette instruction permet en effet de charger des registres de mémoire cache descripteurs cachés, qui sont utilisés par le processeur pour restreindre l'accés à la mémoire. Après l'intitialisation du BIOS par exemple, ces registres sont définis par défaut de façon à n'autoriser l'accès qu'au premier Mo de mémoire.
    Cette instruction permet donc de charger ou de restaurer l'état du processeur en une seule opération; Sur 386/486 par exemple, 61 DWORDS sont chargés dans des registres et divers descripteurs.
    L'on pouvait même définir un mode particulier nommé "pagination em mode réel", qui consistait à activer à charger CR0 avec le bit de pagination défini mais pas celui du mode protégé, ceci car aucun contrôle n'est réalisé sur les valeurs chargées par LOADALL ( car le processeur ne permet pas dans les textes de définir le bit de pagination si le système ne se trouve pas en mode protégé ).
    Je ne pense pas que cette instruction soit encore disponible, il existe désormais l'instruction RSM qui effectue la même opération avec cependant, la nécessité d'y faire appel dans un mode de gestion sytème spécial (SMM), de plus, cette instruction réalise quelques contrôles sur les valeurs chargées ce que ne permettra pas de définir le bit de pagination de CR0 sans le bit du mode protégé dans le cas du mode réél paginé.
    AsnOd.

  4. #4
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    oups je retire ce que j'ai dit alors

    Merci AznOod pour ces infos
    Avant de poster, merci de consulter les règles du forum

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 96
    Points : 116
    Points
    116
    Par défaut
    Merci AznOod ; jvé chercher des docs sur loadall et rsm

    Mais à cette adresse la ils en parlent pas : http://forum.osdever.net/viewtopic.php?t=475
    G posé la question sur ce meme forum (un de mes autres pseudos est Syemnpluam), et je l'ai posé aussi ici (car c'est en français ).
    Responsable du projet SKAN (OS à but didactique)
    Contactez moi pour toutes questions ou remarques sur le projet.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 29
    Points : 35
    Points
    35
    Par défaut
    2PluS4,

    Une technique consiste à placer le processeur en une variante du "RealMode" nommée "FlatRealMode".
    Cependant, cela implique au minimum un passage en mode protégé ...
    Celle-ci consiste globalement à passer en mode protégé afin de pouvoir modifer les valeurs limites des descripteurs de segments qui sont, par défaut et comme je le disais dans mon précédent message définis de façon à n'autoriser l'accés qu'au premier Mo de mémoire, puis, de repasser en mode réel, la porte A20 doit aussi être active.
    De nombreuses informations relatant des différents modes officiels du processeur et de la gestion de la mémoire se trouvent dans les manuels du développeur de chez INTEL, indispensable à une bonne compréhension des termes de ce sujet et à la réalisation du code associé ( descripteurs de segment, GDT, IDT, registres de gestions mémoire, registres de contrôle ... ).

    AsnOd.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 96
    Points : 116
    Points
    116
    Par défaut
    Ha Ok !! Merci ! Je ne pensais pas que l'on devait passer en pmode avant !!

    De nombreuses informations relatant des différents modes officiels du processeur et de la gestion de la mémoire se trouvent dans les manuels du développeur de chez INTEL, indispensable à une bonne compréhension des termes de ce sujet et à la réalisation du code associé ( descripteurs de segment, GDT, IDT, registres de gestions mémoire, registres de contrôle ... ).
    Vi j'avais cherché dedans mais ils ne parlaient pas du "flatrmode" ... (enfin pas dans la version que j'ai en tout cas, c-a-d la version pour 586)
    juste du pmode, du rmode normal et du vmode (j'avais pensé au vmode pour faire mumuse avec la vesa mais ca ne fais pas très propre )...

    Responsable du projet SKAN (OS à but didactique)
    Contactez moi pour toutes questions ou remarques sur le projet.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 29
    Points : 35
    Points
    35
    Par défaut
    C'est exact, les manuels ne parlent pas de ce mode, celui-ci étant un mode "hybride".
    De plus, les fonctions VESA disposent de "points d'entrées" afin de permettre leur utilisation en mode protégé : La fonction 0Ah retourne un pointeur sur une table qui contient du code pour une interface avec le mode protégé. Aussi, l'utilisation du "FrameBuffer" permet dans ce mode d'éviter de faire appel à ces fonctions.
    L'unique intérêt du passage en "FlatRealMode" est de pouvoir disposer des interruptions existantes tout en ayant accés au 4 Go de mémoire adressable.
    Le "FlatRealMode" pouvait d'après moi s'avérer utile avant l'apparition de "puissants" gestionnaires de mémoire (DPMI) ... ; Enfin, chacun y trouve son intérêt ...
    AsnOd.

Discussions similaires

  1. [PC Portables] RAM : 2Go (installé)/ 4Go (maximum) ?
    Par Bondin dans le forum Composants
    Réponses: 7
    Dernier message: 02/09/2007, 23h44
  2. [SQL] Est-il possible d'installer une BDD sur une clef usb de 4Go
    Par teen6517 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/04/2007, 18h04
  3. Taille des fichiers limitée à 4Go
    Par alain sayagh dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 13/06/2005, 17h58
  4. La mémoire en Pmode et en Rmode - la pile
    Par le mage tophinus dans le forum Assembleur
    Réponses: 15
    Dernier message: 16/02/2003, 01h00

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