2010-04-24 52 views
9

Estoy preparando mi examen para el sistema informático. No entiendo muy bien cómo calcular la cantidad de bits de dirección necesarios para la memoria.cómo calcular el número de bits de dirección necesarios para la memoria?

Por ejemplo,
Supongamos que un 1G x 32 bits de memoria principal está construida usando chips de RAM 256M x 4 bits y esta memoria es palabra direccionable.

¿Cuál es el número de bits de dirección necesarios para un módulo de memoria?

¿Cuál es el número de bits de dirección necesarios para la memoria completa?

Y qué tal si la memoria es byte direccionable, ¿cuáles serían las soluciones?

Muchas gracias

+2

Cuéntanos lo que piensas primero. –

+0

¡Ya no se debe usar la etiqueta de tarea! – markus

Respuesta

4

Hoy en día, la palabra byte se utiliza siempre en el sentido de 8 bits (que no siempre solía ser así, ¿cuál es la razón por la palabra octet, específicamente definido que significa exactamente 8 bits, todavía se usa en documentos cuando se requiere precisión, por ejemplo, al especificar protocolos de comunicación).

Por lo tanto, calcula cuántos bits debe abordar, divida por 8, y esa es la cantidad de bytes que debe resolver. El número de bits que necesita en cada dirección es, obviamente, el límite máximo del logaritmo en la base 2 del número de bytes distintos que necesita para abordar. Espero que esa parte no sea una sorpresa ;-).

El término word sigue siendo bastante ambiguo: dependiendo del contexto, puede significar 16 bits, o 32 bits, o incluso más. De todos modos, una vez que sepa cuántos bits significa, el proceso es exactamente el mismo que para los bytes, simplemente sustituya 32 (o lo que sea) en lugar de 8 en el párrafo anterior.

Por supuesto, esto se aplica tanto a un solo módulo como a toda la memoria: en cada caso, calcule el número de bits, divídalos para obtener el número de bytes o palabras, log2 y luego tome el límite máximo (obviamente, el último paso no es necesario si el log2 es entero ;-).

8

¿Cuál es el número de bits de dirección necesarios para un módulo de memoria?

Sabiendo esto ayudará a:

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

Usted necesitará por lo menos 28 bits para abordar dentro de un módulo de memoria de 256 MB (los exponentes se suman cuando se multiplica).

¿Cuál es el número de bits de dirección necesarios para la memoria completa?

Dado que 1 GB = 2^30, necesitará 30 bits para abordar ese 1 GB de memoria.

La mayor cantidad de memoria que puede tratar con 32 bits es de 4 GB.

Y qué pasa con la memoria Si es el byte direccionable, ¿cuáles serían las soluciones ?

No estoy seguro de lo que está preguntando aquí.

+0

Necesitará al menos 28 bits para direccionar dentro de un módulo de memoria de 256MB. Debería ser "Necesitará al menos 8 bits para direccionar dentro de un módulo de memoria de 256MB" ¿Estoy en lo cierto? –

+0

Creo que la tabla que di más arriba es correcta: 2^8 = 256, 2^20 = 1MB. Entonces (2^8) * (2^20) = 2^28 = 256MB, porque "los exponentes agregan cuando multiplicas". – duffymo

0

Tienes que acaba de calcular con:

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

aquí,
k*l = El chip que se quiere crear, y
m*n = El chip que se utiliza para crearlo.

En su pregunta necesita {(2*1024)*32}/(256*4) chip, que le dará el resultado como 64 chip.

+2

¿A los downvoters les importaría explicar sus votos? – markus

Cuestiones relacionadas