Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1382 connectés 

  FORUM HardWare.fr
  Hardware
  Mémoire

  composition de la ram ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

composition de la ram ?

n°7945431
oddantfr
Posté le 19-06-2011 à 14:02:28  profilanswer
 

Bonjour à tous,
Je me permet d'ouvrir un topic pour posser différentes questions, en fait je vais pas vous le cacher mais j'ai un exam bientôt et mon prof m'a donné des exercices à faire à la maison pour m'entrainer (comme j'ai pas pu participer aux cours).
Je sais que c'est pas un centre d'aide pour les devoirs mais je me suis dit que c'était le seul endroit pour avoir une bonne aide et en faire profiter les autres (ça peut aider à comprendre certains point de la ram  :ange: )
 
Bref, here are the questions:
 
On désire construire une RAM de 4M x 8 bits en utilisant des boitiers mémoires  512K x 1 bit
Q1 : Quel est le nombre de fils d'adresse nécessaire pour adresser tous les octets de cette mémoire ?
Q2 : Dessiner schématiquement l'ensemble de la mémoire RAM construite à l'aide de ces boitiers en précisant leur nombre et en intégrant les différents bus. Expliquer le fonctionnement du circuit sur un exemple (bon j'avoue pas simple à expliquer sur internet, mais au moins si y'a des points à énoncer ils sont les bienvenus).
 
On dispose maintenant d'un espace mémoire de 16Mo disposant :
_une ram 4M x 8bits située à l'adresse $C00000
_une rom 512K x 8 bits située à l'adresse $600000
_un circuit d'interface disposant de 4 registres (donc 4 adresses) 8 bits à partir de l'adresse $000100
Q3 : Quelle est la taille de l'espace disponible pour placer de nouvelles extensions ?
 
 
J'ai essayé de me renseigner sur des sites mais je comprends toujours pas, faut dire peut-être que les questions sont ambigus ? très probable sachant qu'ils proviennent d'un énoncé d'exam de ma fac  :D  
Merci pour votre soutien  :D  
Cordialement, val


Message édité par oddantfr le 19-06-2011 à 18:06:36
mood
Publicité
Posté le 19-06-2011 à 14:02:28  profilanswer
 

n°7945468
yf38
Posté le 19-06-2011 à 14:38:44  profilanswer
 

bonjour,
Pour adresser un espace de 4Mo (4M x 8bits) il faut un nombre de bits qui correspond à la puissance de 2 qui vaut 4M.
Expliquer les megas et les millions ici serait un peu long, tout est parti du fait que 2 puissance 10= 1024 (pas loin de 1000) et c'est devenu "1 kilo" en informatique où les seules puissances qu'on aime bien sont les puissances de 2.
On voit aussi dans le tableau que les puissances 20 et 30 sont proches d'un million (mega) et d'un milliard (giga). (Zonka je ne me suis pas trompé cette fois...).
http://fr.wikipedia.org/wiki/Puissance_de_deux
Tu peux voir que pour 4M (4 194 304) la puissance de 2 correspondante est 22. Il faut donc 22 bits d'adresse pour adresser une mémoire de 4Mo.
Que les boitiers soient de 512K x 1 bit ou autre il faudra toujours 22 bits.  
 
Selon la technologie des boitiers ces 22 bits seront utilisés de manière differente. Mais tu ne donnes pas la technologie.
 
Quelle que soit la technologie, il faut d'abord prendre 3 bits pour sélectionner une banque parmi les 8 banques nécessaires pour faire 4M à partir de 512K (0,5M).
 
Il reste alors 19bits. (2 puissance 19 = 512K ).
 
Si c'était de la mémoire statique (peu réaliste, mais pour un devoir pourquoi pas) il suffirait de connecter ces 19 bits sur tous les boitiers.
 
Si c'était de la mémoire dynamique (DRAM EDO de l'époque où ces boitiers existaient), il faudrait multiplexer les 19 bits restant (les couper en 10 + 9 pour les passer en deux temps (RAS, CAS) aux boitiers mémoire (qui n'ont alors besoin que de 10 pins d'adresse) pour lire le bit dans les 8 boitiers de la banque sélectionnée.
 
Un petit semblant de schéma sans tenir compte de la technologie des boitiers:
http://img856.imageshack.us/img856/3753/devoirram.jpg
 
Seule la banque sélectionnée par le décodeur fournit ses 8 bits en sortie pour aller sur le bus de données, les autres restent isolées.
 
La suite (toujours les puissances de 2):
espace de 16Mo = 16 777 216
RAM 4Mo = 4 194 304
ROM 512Ko =524 288
4 adresses pour des registres = 4
Il reste: 12058620
Il y a des données qui ne servent à rien (comme d'habitude) ce sont les adresses où se situent les objets.
Ils ont quand même fait attention que ça rentre...
Ce problème pourrait bien dater de la seconde moitié des années 80.


Message édité par yf38 le 19-06-2011 à 18:23:43
n°7945836
oddantfr
Posté le 19-06-2011 à 18:30:59  profilanswer
 

Un grand merci pour ta réponse!  je commence à y voir clair, à vrai dire j'ai tout compris excepté une chose, d'ailleurs ça remet tout en doute et j'ai l'impression de plus rien comprendre...
C'est une mémoire de 4Mo avec 8 boitiers de 512K x 1 bit donc ?
Mais 8x512Kb ca fait 4Mb d'adressage et non 4Mo, suis-je dans l'erreur ?
 :ouch:


Message édité par oddantfr le 19-06-2011 à 18:31:46
n°7945839
swissforev​er
i7 Inside
Posté le 19-06-2011 à 18:32:30  profilanswer
 

o = octet = 8 bits, B = Byte = dans 99.99% des cas 8bits, mais des fois 7 ou 9 il y a bien des années!
 
C'est donc actuellement équivalent


---------------
Swisscore
n°7945958
yf38
Posté le 19-06-2011 à 19:45:04  profilanswer
 

Un boitier de l'énoncé = 524288 x 1 bits  autrement écrit 512K x 1 bit.
Il en faut 8 pour faire 512K x 8 autrement écrit 512KB (kiloByte) ou 512Ko (kilo octets, in french dans le texte).
Pour faire 4Mo (c'est à dire 4M x 8) il faut 8 banques de 512K x 8. donc 64 boitiers.
Voir le schema.
Pour ajouter à ce qu'a dit swissforever on utilise aussi le petit b pour dire bit.
Par exemple ton boitier peut être écrit 512Kb (bit) comme tu l'as écrit.
ça se voit encore plus souvent pour les débits du genre 16Mb/s (16 Megabit/s) confondu souvent avec 16MB/s (16 MegaByte/s).
Tu mélanges peut-être un peu l'adressage, et la largeur des données.
On aurait pu faire une mémoire de 4Mb avec 8 boitiers de 512kb mais il en faut 8 fois plus si la largeur du bus de données est de 8 bits, c'est à dire une mémoire de 4MB (ou 4Mo si tu veux).
Si dans le schema on doublait la largeur, on obtiendrait une mémoire de 4M x 16bits qui aurait toujours un bus adresse sur 22bits mais qui fournirait 16 bit en sortie.
D'un point de vue "marchand" on appellerait cette mémoire une mémoire 8Mo.
L'octet (byte, 8 bits) a une valeur historique en informatique pour désigner un volume de mémoire, quelle qu'en soit la largeur du mot, en fin de compte.


Message édité par yf38 le 19-06-2011 à 20:13:12
n°7945975
arkrom
note, ca passait c'etait beau
Posté le 19-06-2011 à 20:01:28  profilanswer
 

pas mieux :jap: schema clair et bien expliqué :jap:   comme on dit apres ca "y a plus qu'a "  
 
c'est pour quel type d'appli si c'est pas indiscret ?? parce que pour 4m y a moyen de faire tellement plus simple avec des memoire d'un autre type :jap:  
 
autre point peut etre HS mais les addresses memoires donnée dans l'ennoncé sont sur 6digits donc sauf erreur c'est donné sur 24bits .. donc je pense que prevoir un bus addresses de 24bits , meme si toute la capacité n'est pas addressable ( quit a mettre un nota dans un coin pour le signaler :jap: )


---------------
I sit, in my desolate room, no lights, no music, Just anger, I've killed everyone, I'm away forever, but I'm feeling better,How do I feel,What do I say,Fuck you, it all goes away,
n°7945988
yf38
Posté le 19-06-2011 à 20:16:28  profilanswer
 

C'est un devoir d'étudiant... il faut lire.... les premiers posts ..... ;)
Un énoncé surement des années 80.
le schema est du vite fait avec inkscape (gratuit) et capture d'écran windows 7.
C'est du dessin vectoriel un peu comme Illustrator.


Message édité par yf38 le 19-06-2011 à 21:36:17
n°7945999
Zack38
Posté le 19-06-2011 à 20:23:49  profilanswer
 

[:pezzi]

n°7946378
oddantfr
Posté le 20-06-2011 à 01:20:58  profilanswer
 

Merci pour les précisions !
J'aimerais vérifier si ce que je pense vrai est juste, à vous de me dire:
(étape par étape)
on a donc un bus de 22bits, quand le processeur "interroge" la RAM:
_il envoie sa séquence de 22bits dont les trois premiers indiquent la ligne où se trouve la banque concernée.
_les 19bits restant (soit 512K possibilités) indiquent pour chaque colonne (ici les 8 rectangles des banques que tu as dessiné) la donnée concernée.
_les bits concernés empruntent le bus de données. Dans l'ordre, la donnée de la colonne la plus proche du bus de sortie est la première à sortir, ainsi de suite jusqu'à la plus éloigné pour former la séquence du Byte.
Donc si j'ai bien compris dans chaque rectangle (je sais c'est schématique  :sweat: ) il a 524288 emplacements, soit 8 "rectangles" pour former le byte, du MSB jusqu'au LSB, vrai ?  
 :heink: désolé si ca fait un peu répéter, mais j'ai besoin de débattre pour que ca rentre..

Message cité 1 fois
Message édité par oddantfr le 20-06-2011 à 01:24:04
n°7946441
yf38
Posté le 20-06-2011 à 08:32:42  profilanswer
 

oddantfr a écrit :

Merci pour les précisions !
J'aimerais vérifier si ce que je pense vrai est juste, à vous de me dire:
(étape par étape)
on a donc un bus de 22bits, quand le processeur "interroge" la RAM:
Oui, c'est le bus d'adresses (un bus est un ensemble de signaux  de même nature, ici adresse, et qui sont gérés comme un lot cohérent)
_il envoie sa séquence de 22bits dont les trois premiers indiquent la ligne où se trouve la banque concernée.
Oui, les 22bits sont présentés en même temps sur les 22 fils du bus adresse.
Que ce soient les 3 premiers (poids forts) ou n'importe quel groupe de 3 qui serve à selectionner la banque n'a pas d'importance, çà ne fait que diviser l'espace de 4M en 8 sous espaces de 512K. Il n'y a pas de notion temporelle de séquencement (enfin pas à ce niveau), tout se passe "en même temps".
en sortie du décodeur il y a un signal pour chaque banque qui sélectionne une banque dont le numéro est codé sur les 3 bits. Une seule banque est sélectionnée.

_les 19bits restant (soit 512K possibilités) indiquent pour chaque colonne (ici les 8 rectangles des banques que tu as dessiné) la donnée concernée.
Ton mot "colonne" prête à confusion, j'aurais plutôt dit "ligne", même si peut-être dans ton esprit c'est juste, je précise:
Dans chaque banque composée de 8 boitiers, tous les boitiers recoivent les 19 bits d'adresse, même les boitiers des banques non sélectionnées.
Dans chaque boitier, un seul bit parmi les 512k est adressé par les 19 bits d'adresse, et présenté sur la sortie (là ou j'ai écrit 1).
Seule la banque sélectionnée par le décodeur autorise le bit à sortir sur le bus de données, donc les 8 bits sortant des 8 boitiers de la banque sélectionnée se retrouvent sur le bus de données.

_les bits concernés empruntent le bus de données. Dans l'ordre, la donnée de la colonne la plus proche du bus de sortie est la première à sortir, ainsi de suite jusqu'à la plus éloigné pour former la séquence du Byte.
Je me répète un peu, parce que les termes que tu emploies sont un peu ambigus parce que trop liés au dessin.
Il n'y a pas de "colonne la plus proche...", ni de "dans l'ordre", ni de "première à sortir", seule la banque sélectionnée présente ses 8 bits sur les 8 fils du bus de données (les 1 en bas de mes petits rectangles) tous les bits sont présentés en même temps et le bus de données a 8 bits de large.
Toutes les autres banques sont aussi connectées sur le bus de données, mais comme elles ne sont pas sélectionnées, (tu peux imaginer ça comme un interrupteur ouvert), elles sont isolées du bus de données et ne perturbent pas les informations présentées par celle qui est validée.

Donc si j'ai bien compris dans chaque rectangle (je sais c'est schématique  :sweat: ) il a 524288 emplacements, soit 8 "rectangles" pour former le byte, du MSB jusqu'au LSB, vrai ?
 :heink: désolé si ca fait un peu répéter, mais j'ai besoin de débattre pour que ca rentre..
Oui, chaque rectangle représente un boitier 512Kb comme tu dis, et une banque est l'ensemble des 8 rectangles sur la même horizontale de mon schéma, et sa sortie forme un octet (byte).
MSB (Most significant bit) et LSB (least significant bit) ce sont des conventions...
[#4600b8][#3800c6][#2a00d4][#5500aa]


Supplément gratuit:
Avec des composants de mémoire statique, tu peux imaginer que la sortie (bus de données) fournit en permanence l'octet adressé, et qu'il suffit de changer un ou plusieurs bits d'adresse pour que la sortie fournisse le nouvel octet, sans besoin particulier de signaux de commande.

 

Avec des composants de mémoire dynamique (le plus courant pour des capacités élevées) l'adresse est présentée en deux moitiés séquentiellement, et des signaux de commande cadencent la sortie des mémoires pour obtenir les données sur le bus de données.
Selon la génération de mémoire on extrait plus ou moins d'octets séquentiellement à partir d'une seule adresse (SDRAM, DDR, DDR1, DDR2, DDR3 ....).
C'est plus compliqué, mais c'est comme ça que fonctionne la mémoire de ton PC.


Message édité par yf38 le 20-06-2011 à 08:48:55
mood
Publicité
Posté le 20-06-2011 à 08:32:42  profilanswer
 

n°7947099
oddantfr
Posté le 20-06-2011 à 19:40:46  profilanswer
 

Merci yf38 maintenant c'est clair, je peux allez à mon exam l'esprit tranquille :)
et sympa pour les suppléments gratuits c'est très intéressant, ça donnerait envie de tout connaitre mais il y a tellement de choses en informatique qu'il faut parfois faire des sacrifices en tout cas maintenant j'ai une petite compréhension de comment la mémoire est utilisé et je t'en remercie.
Bonne journée

n°7947105
yf38
Posté le 20-06-2011 à 19:43:02  profilanswer
 

Bon exam.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Hardware
  Mémoire

  composition de la ram ?

 

Sujets relatifs
Avis sur une composition pcProbleme Composition Pc
[question technhique] composition pcbComposition HTPC
Composition pc 400-500€config budget 900 euros antec nine hundred/E8500 composition musicale
composition d'un PCcomposition d'une boite de carte mere.
aide a composition d'un PC socket AM2composition pc et compatibilité
Plus de sujets relatifs à : composition de la ram ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR