Index du Forum


 
 Index du ForumFAQRechercherS’enregistrerConnexion

:: LA MEMOIRE VIVE ::

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> ~~ semestre 1~~ -> l'architecture des ordinateurs
Sujet précédent :: Sujet suivant  
Auteur Message
lotfi
Administrateur

Hors ligne

Inscrit le: 31 Oct 2011
Messages: 12
Masculin
Point(s): 49
Moyenne de points: 4,08

MessagePosté le: Jeu 10 Nov - 15:39 (2011)    Sujet du message: LA MEMOIRE VIVE Répondre en citant

 
I. LA MEMOIRE VIVE: 
1. La segmentation de la mémoire: 

   Votre PC est conçu pour gérer 1 Mo (soit 220 octets) de mémoire vive en mode réel. Il faut donc 20 bits au minimum pour adresser toute la mémoire. Or en mode réel les bus d’adresses n’ont que 16 bits. Ils permettent donc d'adresser 216 = 65536 octets = 64 Ko, ce qui est insuffisant ! 
 Afin de pallier ce manque, on utilise deux nombres pour adresser un octet quelconque de la RAM. Le premier est appelé adresse de segment, le second adresse d'offset. Ils seront stockés séparément. 
La mémoire est ainsi découpée en segments de 64 Ko chacun. Un segment est donc en quelque sorte un gros bloc de mémoire auquel on peut accéder grâce à une adresse de segment qui désigne son numéro. Par exemple, le premier segment est le segment 0000 (en hexa), le deuxième est le 0001, le quarante-deuxième est le 0029, etc... Chaque numéro est codé sur 16 bits, c’est-à-dire 4 chiffres hexa. 
Pour accéder à un octet particulier dans un segment, il suffit de compter le décalage de cet octet par rapport au début du segment. Ce décalage est obligatoirement inférieur ou égal à 
65535 : il tient bien sur 16 bits lui aussi. On appelle ce décalage « offset ». 
L'adresse d'un octet se note XXXX:YYYY où XXXX est l'adresse de segment et YYYY est 
l'offset (tous deux en notation hexadécimale, bien sûr). 
Par exemple, le dix-septième octet de la RAM (le numéro 16) est situé à l'adresse 0000:0010. 
De même, l’octet 0000:0100 est l'octet numéro 256. Nous en arrivons à la petite subtilité qu’il convient de bien saisir, sous peine de ne rien comprendre à certains programmes en assembleur. 
On pourrait penser que l’octet qui se trouve à l’adresse 0001:0000 est le numéro 65536. Il n’en est rien. C'est l'octet numéro 16. 
  Eh oui ! Les segments ne sont pas situés gentiment les uns à la suite des autres. Ils sont fort mal élevés et n'attendent pas que les segments qui les précédent soient terminés avant de 
commencer ! Ils se marchent donc sur les pieds. 
Autrement dit, le deuxième segment ne démarre pas à l'octet 65536 comme il devrait le faire s'il était bien sage, mais à l'octet 16 ! Le troisième démarre à l'octet 32 et ainsi de suite… 
   La notion de segment n’est pas tant physique que mathématique : elle sert à se repérer dans la RAM. 
La conséquence immédiate de tout cela est qu'un octet n'a pas une adresse unique. Par exemple, l'octet numéro 66 peut être adressé par 0000:0042, mais aussi par 0001:0032, par 0002:0022, par 0003:0012 ou encore par 0004:0002. Toutes ces adresses sont équivalentes.Voilà pour la subtilité. Si vous avez compris, vous devriez être capable de trouver facilement 
comment on calcule l'adresse effective d'un octet, c'est à dire sa position absolue dans la RAM. 
Allez, un petit effort ! 
Voici la solution : si l'adresse de l'octet est A17C:022E, alors son adresse effective est A17C x 16 + 022E, soit A17C0 + 022E = A19EE. On a multiplié par 16, car le segment A17C débute à 
l’octet A17C x 16, puis on a simplement ajouté le décalage. 
Au final, on a bien une adresse sur 20 bits puisqu'on obtient 5 chiffres hexa. Chaque petit bloc de 16 octets s’appelle un paragraphe. 

_________________
L"""O"""T"""F"""I


Revenir en haut
Publicité






MessagePosté le: Jeu 10 Nov - 15:39 (2011)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> ~~ semestre 1~~ -> l'architecture des ordinateurs Toutes les heures sont au format GMT
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Texno x0.3 © theme by Larme D'Ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com