Memoria disponible con arquitectura de 32 y 64 bits

Foro referente al sistema operativo Windows 7
acamba
Usuario linuxero
Usuario linuxero
Mensajes: 9
Registrado: 27 May 2011, 12:19
Contactar:

Memoria disponible con arquitectura de 32 y 64 bits

Mensajepor acamba » 13 Feb 2014, 15:13

Hola y gracias por vuestra ayuda de antemano.
Voy a preguntar algo que parecerá tonto pero llevo tiempo buscándolo en la WEB y no lo encuentro. Llevo dándole vueltas a lo de usar Windows 7 64 o Windows 7 32 en un portátil con 4 GB de RAM. Si instalo el Windows 7 32 se pueden direccionar un máximo de 3 GB de memoria. 3 GB dividido entre 32 bits/celda me dan unos 805 millones de celdas de memoria. Si utilizo el Windows 7 64 tendré 4 GB entre 64 bits/celda me dan unos 536 millones de celdas de memoria. Así pues, tengo menos memoria usando la versión de 64 bits, por más que pueda guardar datos e instrucciones más grandes, cosa que en la mayoría de programas no se aprovecha. Mi duda es si esto que he explicado está bien o no. Por ningún lado encuentro confirmación o desmentido así que os agradezco que me ilustréis.
Gracias.

Avatar de Usuario
pako
Usuario Bill Gates
Usuario Bill Gates
Mensajes: 3591
Registrado: 22 Ene 2008, 13:30
Ubicación: España
Agradecido : 50 veces
Agradecimiento recibido: 277 veces
Contactar:

Re: Memoria disponible con arquitectura de 32 y 64 bits

Mensajepor pako » 13 Feb 2014, 19:15

Hola,

Respuesta corta, si tu equipo soporta los 64bits, mete siempre Windows 7 de 64 bits :wink:

Respuesta larga... tu planteamiento para mi es erroneo, intentare explicartelo sin liarte.

Partamos que tanto Windows como Linux en 32bits tienen la limitación de 4GB, en Windows siguiendo tu ejemplo te pondra que puedes usar 3GB, eso no significa que el 1GB restante no se este usando...

Los sistemas de 32 bits reservan parte de la memoria para mapear los dispositivos PCI conocido como MMIO (E/S asignada a la memoria), este espacio MMIO tiene que estar dentro de los primeros 4GB, por eso los sistemas operativos te marcan al rededor de 3GB y poco, porque el resto lo esta usando para mapear dispositivos PCI.

Un ejemplo mas real o que al menos entenderas mejor:

Las tarjetas graficas sobre todo de portatil traen cierta memoria ram integrada, pero tu puedes asignarles parte de tu memoria ram a la grafica, asi que si tu grafica es de 128MB puedes asignarle otros 872MB de tu ram, asi tu grafica es como si tuviera 1GB en total (128MB+872MB).

Habiendo entendido eso tenemos:

RAM de 4GB: 3GB totales para tu uso, ya que los 872MB que asignamos a la grafica mas el resto que asigna a mapear los dispositivos PCI lo esta cogiendo del 1GB MMIO.

RAM de 3GB: En Windows veras que tienes 3GB totales, pero tienes que descontarle a eso los 872MB que asignamos a la grafica, mas el resto de los dispositivos PCI, con lo cual reales tendrias solo 2GB para tu uso.

Saludos
Si has encontrado aquí la ayuda que esperabas (o incluso si no ha sido así ;) ), ayúdanos a mantener el foro con un pequeño donativo.
¡Muchas gracias!

acamba
Usuario linuxero
Usuario linuxero
Mensajes: 9
Registrado: 27 May 2011, 12:19
Contactar:

Re: Memoria disponible con arquitectura de 32 y 64 bits

Mensajepor acamba » 13 Feb 2014, 22:09

Hola Pako. Gracias por tu respuesta. Me aclaras varias cosas. Aún así me queda la duda de como granula el SO la memoria tanto en la versión de 32 bits como en la de 64.
Gracias.

Avatar de Usuario
pako
Usuario Bill Gates
Usuario Bill Gates
Mensajes: 3591
Registrado: 22 Ene 2008, 13:30
Ubicación: España
Agradecido : 50 veces
Agradecimiento recibido: 277 veces
Contactar:

Re: Memoria disponible con arquitectura de 32 y 64 bits

Mensajepor pako » 14 Feb 2014, 13:04

Hola,

No se a que te refieres exactamente, si es a cuanta memoria se usa para MMIO supongo que depende del hardware del equipo, pero no sabría decirte exactamente en que se basa Windows para calcularlo, influyen los dispositivos instalados, como controla la placa madre la memoria, configuración de la BIOS, etc...

Tendrías que instalar tanto el de 64 bits como el de 32 bits para ver como reparte la RAM.

En el monitor de recursos de Windows 7 veras algo como esto:

Imagen

La reservada para hardware es la que usa la BIOS y controladores de dispositivos, en la foto se ve que son 2MB pero puedes ver equipos que tienen por ejemplo 400MB.

En uso es la que usa el sistema operativo, procesos, drivers, etc..

Modificada es memoria que si la usa algún proceso primero debe escribirla a disco.

En espera es memoria cacheada, por lo general guarda los programas que usas habitualmente, así que si tu usas a diario el Firefox en vez de ejecutar el programa y que lo mande a la memoria, como ya lo tiene en memoria eso que te ahorras y hace que las aplicaciones que usas habitualmente carguen mas rápido. Memoria libre/vacía es memoria desperdiciada.

La memoria libre es la que tiene el equipo sin datos, así que en este caso podría usar 1766MB, pero si se necesitara mas, Windows lo que hace es liberar la memoria en espera (673MB), quedando un total de 2439MB (1766MB+673MB).

Saludos
Si has encontrado aquí la ayuda que esperabas (o incluso si no ha sido así ;) ), ayúdanos a mantener el foro con un pequeño donativo.
¡Muchas gracias!

acamba
Usuario linuxero
Usuario linuxero
Mensajes: 9
Registrado: 27 May 2011, 12:19
Contactar:

Re: Memoria disponible con arquitectura de 32 y 64 bits

Mensajepor acamba » 15 Feb 2014, 15:32

Gracias Pako. Información interesante la que me das.
En cuanto a lo que quiero saber me voy a explicar mejor. La memoria RAM viene en un módulo con unos circuítos que permiten hacer dos operaciones básicas:
- Dada una dirección de memoria leer el dato que hay en ella.
- Dada una dirección de memoria y un dato escribir ese dato en la dirección de memoria.
Para poder hacer eso hay que organizar la memoria. Eso es lo me interesa a mí, saber como se organiza. En concreto me interesa saber cual es la mínima cantidad de memoria direccionable: un byte, 32 bits, 64 bits... Aún en el caso de de que la granularidad fuera de byte, cuando usamos un SO de 64 bits, los tipos de datos usados, ¿ocupan el doble de memoria que cuando se usa un SO de 32 bits? Los punteros seguro, pero, ¿otros tipos de datos? ¿Y las instrucciones?
Un saludo.

Avatar de Usuario
pako
Usuario Bill Gates
Usuario Bill Gates
Mensajes: 3591
Registrado: 22 Ene 2008, 13:30
Ubicación: España
Agradecido : 50 veces
Agradecimiento recibido: 277 veces
Contactar:

Re: Memoria disponible con arquitectura de 32 y 64 bits

Mensajepor pako » 15 Feb 2014, 19:11

Hola,

Esto ya es demasiado técnico para mi y me pierdo, te voy a poner lo poco que se aunque probablemente este equivocado... así que espera que te conteste otro forero puesto en el tema.

La CPU es la que procesa los datos en bytes, que corresponde a 8 bits por byte (1 byte = 8 bits).
Así que si el micro es de 64 bits, procesa 8 bytes, si es de 32 bits procesa 4 bytes.

En un ciclo de bus (transición entre CPU y RAM) un micro de 64 bits procesara 64 bits de una "tacada" y uno de 32 bits hará 32 bits, así que en un mismo ciclo hace el doble, pero esto no significa ir el doble de rápido, si no que en el mismo tiempo procesa mas (el doble).

Así que entiendo que los datos usados en la memoria ocupan lo mismo tanto para 32bits como para 64bits, bueno ligeramente mas por el crecimiento de los punteros y no se influirá alguna cosa mas.

La manera en la que accede la CPU a la RAM es mediante instrucciones y eso va en función de cuales soporte la CPU, sino recuerdo mal MMX, SSE, etc...

Lo dicho, espera a otro que entienda mas sobre esto, mientras te dejo un link sobre la memoria a ver si te aclara dudas.

http://www.youbioit.com/es/article/shared-information/8714/como-funciona-la-memoria-de-una-computadora

Saludos
Si has encontrado aquí la ayuda que esperabas (o incluso si no ha sido así ;) ), ayúdanos a mantener el foro con un pequeño donativo.
¡Muchas gracias!


Volver a “Windows 7”

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot], Google [Bot], Yudhistira y 6 invitados