como averiguar el bus de direcciones

#1
Hola
Aver si tengo 1GB de ram, como puedo averiguar el numero de bits del bus de direcciones para esa memoria?

Se que 8bits son 1 byte
1024byte son 1 Mbyte
1024Mbytes son 1Gbyte

S2
 
#2
A ver:

1GByte= 1024 MBytes

1MByte= 1024 kBytes

1kByte= 1024 Bytes

Entonces si 1Gbyte= 1024*1024*1024 bytes = 2^(10)*2^(10)*2^(10)=2^(30)

Necesitarias 30bits, para poder direccionar 1Gbyte y 2 bits mas para poder direccionar 4Gbytes.
 
#3
Gracias por corregirme que me equivoque.
Entonces 1024 son 2^10(bits) tres veces, pero no se puede hace de un modo mas comprensible, a nosotros nos dijeros que se podia hacer 8*1024*1024*1024 y dividir pero no se entre cuanto.

S2
 
#4
A ver si te queda mas claro, si trabajamos con numeros binarios, tenemos que trabajar con base "2" y donde el exponente es el numero de bits, entonces:

2^(0)=1
2^(1)=2
2^(2)=4
2^(3)=8
....
2^(10)=1024

Que te dice eso:

- Con 1 bit solo podes generar 2 estados posibles, 0 y 1
- Con 2 bits solo podes generar 4 estados posibles, 00-01-10-11
....
- Con 10 bits solo podes generar 1024 estados posibles (te lo dejo a vos las posibilidades :D).

Entonces, si yo tengo 1Gbytes, es decir que tengo que direccionar 1024*1024*1024 posibilidades, si dijimos que para generar 1024 posibilidades nos alcanzaba con 10 bits y conociendo las propiedades de las potencias, sabemos que:

2^(10)*2^(10)*2^(10) =2^(10+10+10)=2^(30)

Eso quiere decir que con 30 bits puedo generar 1024*1024*1024 posibilidades.

Otra forma seria aplicando la inversa de una potencia, que seria el logaritmo en base 2:

Cant. bits= log2(1024*1024*1024)=log10(1024*1024*1024)/log10(2)=30

Editado:

Ahora, algo distinto es hacer eso que pusiste:

8*1024*1024*1024 => Eso significa cuanto equivale 1GByte en bits, que no es lo mismo cuantos bits de direccionamiento se requiere para manejar una memoria de 1Gbyte.
 
Última edición:
#5
Lo de los bits lo entiendo son el numero de combinaciones posibles de ceros y unos.
He intentado hacer este ejemplo log 10*(1024*1024*1024):log 10*(2), pero no consiguo los 30bits.

S2
 
#6
...He intentado hacer este ejemplo log 10*(1024*1024*1024):log 10*(2), pero no consiguo los 30bits.
:confused: :confused: :confused:
O no entendés la notación o no sabés usar una calculadora.
log10(1024*1024*1024)/log10(2) es exactamente 30.


Esa operacion es la que se hace cuando tenes un numero natural arbitrario y querés saber cuantos bits hacen falta para representarlo: Nbits ≥ log(N)/log(2) ; log en cualquier base
 

Dr. Zoidberg

Well-known-Papá Pitufo
#7
He intentado hacer este ejemplo log 10*(1024*1024*1024):log 10*(2), pero no consiguo los 30bits.
Es que la ECUACION que usás es lo que está mal!!!!
no es log 10 * XXXXX : log 10 *(2) es así log(1024*1024*1024)/log(2)...para que te funcione en la calculadora.
Es 10 que aparece es la BASE DEL LOGARITMO!!! no un número cualquiera que entra en la formulita.

RECOMENDACION: Andá a estudiar logaritmos por que no tenés LA MAS PALIDA IDEA!
 
#8
Llevas todo el rato liando liando bytes con los bits. Un byte son 8 bits, ya está, no se vuelve a tocar.
En lo sucesivo, 1kB son 2^10, 1MB son 2^20, 1GB son 2^30 y 1TB son 2^40 BYTES, los bits te olvidas de ellos, se sabe que son 8 bits y nada mas.
 
Última edición:
Arriba