como averiguar el bus de direcciones

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
 
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.
 
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
 
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:
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
 
...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
 
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!
 
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:
Atrás
Arriba