2010-04-24 23 views
9

Je prépare mon examen pour système informatique. Je ne comprends pas très bien comment calculer le nombre de bits d'adresse nécessaires pour la mémoire.Comment calculer le nombre de bits d'adresse nécessaires pour la mémoire?

Par exemple,
Supposons qu'un 1G x 32 bits de mémoire principale est construite en utilisant 256M x puces de RAM de 4 bits et cette mémoire est adressable par mot .

Quel est le nombre de bits d'adresse requis pour un module de mémoire?

Quel est le nombre de bits d'adresse requis pour la mémoire complète?

Et qu'en est-il si la mémoire est octet adressable, quelles seraient les solutions?

Un grand merci

+2

Dites-nous ce que vous en pensez en premier. –

+0

L'étiquette de devoirs ne devrait plus être utilisée! – markus

Répondre

4

De nos jours, le mot byte est toujours utilisé pour dire 8 bits (il n'utilise pas toujours l'être, ce qui est la raison pour laquelle le mot octet, spécifiquement défini pour signifier exactement 8 bits, est toujours utilisé dans les documents lorsque la précision est requise, par exemple lors de la spécification des protocoles de communication). Donc, vous calculez combien de bits vous devez adresser, divisez par 8, et c'est le nombre de octets que vous devez adresser. Le nombre de bits dont vous avez besoin dans chaque adresse est évidemment le plafond du logarithme dans la base 2 du nombre d'octets distincts dont vous avez besoin d'adresser - j'espère que cette partie n'est pas une surprise ;-).

Le terme word est encore assez ambigu: selon le contexte, il peut signifier 16 bits, ou 32 bits, voire plus. Quoi qu'il en soit, une fois que vous savez combien de bits cela signifie, le processus est exactement le même que pour les octets, il suffit de substituer 32 (ou autre) au lieu de 8 dans le paragraphe précédent.

Bien sûr, cela vaut aussi bien pour un seul module que pour toute la mémoire - dans chaque cas, calculez le nombre de bits, divisez pour obtenir le nombre d'octets ou de mots, log2, puis prenez le plafond de (évidemment la dernière étape n'est pas nécessaire si le log2 est entier ;-).

8

Quel est le nombre de bits d'adresse requis pour un module de mémoire?

La connaissance de ces aideront:

2^8 = 256 
2^10 = 1024 = 1 KB 
2^20 = 1 MB 
2^30 = 1 GB 
2^32 = 4,294,967,296 = 4 GB 

Vous aurez besoin d'au moins 28 bits pour traiter dans un module de 256 Mo de mémoire (les exposants ajoutent quand vous les multipliez).

Quel est le nombre de bits d'adresse requis pour la mémoire complète?

Depuis 1 Go = 2^30, vous aurez besoin de 30 bits pour traiter 1 Go de mémoire.

La plus grande quantité de mémoire que vous pouvez utiliser avec 32 bits est de 4 Go.

Qu'en est-il si la mémoire est octet adressable, quelles seraient les solutions ?

Vous ne savez pas exactement ce que vous demandez ici.

+0

Vous aurez besoin d'au moins 28 bits pour adresser dans un module de mémoire de 256 Mo. Il devrait être "Vous aurez besoin d'au moins 8 bits pour adresser dans un module de mémoire de 256 Mo" Ai-je raison? –

+0

Je pense que la table que j'ai donnée ci-dessus est correcte: 2^8 = 256, 2^20 = 1MB. Donc (2^8) * (2^20) = 2^28 = 256 Mo, parce que "les exposants s'ajoutent quand vous multipliez". – duffymo

0

Vous devez calculer simplement avec:

S = (k*l)/(m*n) 

ici,
k*l = La puce que nous voulons créer et
m*n = La puce qui est utilisée pour le créer.

Dans votre question, vous avez besoin de puce {(2*1024)*32}/(256*4), ce qui vous donnera le résultat comme puce 64.

+2

Est-ce que les downvoters voudraient expliquer leurs votes? – markus

Questions connexes