23-11-2014, 19:57
La cantidad máxima de RAM depende de la cantidad de lineas disponibles en el hardware en el bus de direccionamiento.
Así, un ordenador con 16 líneas en el bus (cómo los Spectrum y tal) podían direccionar un total de 2 elevado a 16 posiciones de memoria, es decir 65.536 o sea 65 K de RAM
En realidad era menos ya que el mapa de memoria se utilizaba para otra funciones: determinadas posiciones de memoria correspondían (y de hecho aun corresponden) no a RAM sino a circuitos de entrada, salida, video, etc. de forma que si grababas en una de esas posiciones, el bit no se almacenaba en RAM sino que se iba "fuera", al circuito correspondiente. Por ello en la práctica la memoria máxima posible quedaba limitada a 48K. (Spectrum 48K)
No obstante se hizo mucho uso de un truco llamado "paginación de memoria" de modo que se superaba el limite mediante la división de la memoria en bloques de 16 K o páginas. Así, nunca estaba "visible" toda la memoria por la CPU sino que sólo accedía a una de las páginas y si necesitaba datos no ubicados en la página actual, enviaba una señal al hardware para conmutar el bus a otra pagina. De esta manera se podía acceder a mucha más ram de la que la CPU podía acceder pero con un menor rendimiento. (Spectrum 128K)
Además eso generaba un problema adicional y es que es un programa ocupaba más de 16 K, o bien el sufrido programador o bien un hardware más sofisticado, se tenían que encargar de forzar un cambio de página cuando fuese necesario.
Centrándonos en lo que te interesa, las CPUs de hoy en día con su 64 bits puede direccionar tanto cómo 2 elevado a 64, o sea 18,5 seguido de 18 ceros, o sea 18,5 hexabytes 18 450 000 000 000 000 000 Bytes y sin paginar, claroÂ
Pero... (siempre hay un pero)
Para poder direccionar todo eso se necesita que exista la circuiteria necesaria: Descodificadores binarios, drivers, lineas de circuito impreso, espacio, etc. Por ello no se usan todas las líneas del bus de datos sino las razonablemente adecuadas para las capacidades en la industria de los chips de RAM en el momento de la fabricación. No tiene sentido prever direccionamiento para módulos de 64 Gigas cuando ni están ni se los espera de momento en el mercado y, cuando lleguen, el ordenador será muy obsoleto en otros términos y se habrá gastado dinero y tiempo en una electrónica innecesaria que habrá supuesto un buen encarecimiento de la máquina a cambio de nada.
No sé si me he explicado bien, al menos lo he intentado.Â
Así, un ordenador con 16 líneas en el bus (cómo los Spectrum y tal) podían direccionar un total de 2 elevado a 16 posiciones de memoria, es decir 65.536 o sea 65 K de RAM
En realidad era menos ya que el mapa de memoria se utilizaba para otra funciones: determinadas posiciones de memoria correspondían (y de hecho aun corresponden) no a RAM sino a circuitos de entrada, salida, video, etc. de forma que si grababas en una de esas posiciones, el bit no se almacenaba en RAM sino que se iba "fuera", al circuito correspondiente. Por ello en la práctica la memoria máxima posible quedaba limitada a 48K. (Spectrum 48K)
No obstante se hizo mucho uso de un truco llamado "paginación de memoria" de modo que se superaba el limite mediante la división de la memoria en bloques de 16 K o páginas. Así, nunca estaba "visible" toda la memoria por la CPU sino que sólo accedía a una de las páginas y si necesitaba datos no ubicados en la página actual, enviaba una señal al hardware para conmutar el bus a otra pagina. De esta manera se podía acceder a mucha más ram de la que la CPU podía acceder pero con un menor rendimiento. (Spectrum 128K)
Además eso generaba un problema adicional y es que es un programa ocupaba más de 16 K, o bien el sufrido programador o bien un hardware más sofisticado, se tenían que encargar de forzar un cambio de página cuando fuese necesario.
Centrándonos en lo que te interesa, las CPUs de hoy en día con su 64 bits puede direccionar tanto cómo 2 elevado a 64, o sea 18,5 seguido de 18 ceros, o sea 18,5 hexabytes 18 450 000 000 000 000 000 Bytes y sin paginar, claroÂ
Pero... (siempre hay un pero)
Para poder direccionar todo eso se necesita que exista la circuiteria necesaria: Descodificadores binarios, drivers, lineas de circuito impreso, espacio, etc. Por ello no se usan todas las líneas del bus de datos sino las razonablemente adecuadas para las capacidades en la industria de los chips de RAM en el momento de la fabricación. No tiene sentido prever direccionamiento para módulos de 64 Gigas cuando ni están ni se los espera de momento en el mercado y, cuando lleguen, el ordenador será muy obsoleto en otros términos y se habrá gastado dinero y tiempo en una electrónica innecesaria que habrá supuesto un buen encarecimiento de la máquina a cambio de nada.
No sé si me he explicado bien, al menos lo he intentado.Â
Principio de Hanlon:
«Nunca le atribuyas a la maldad lo que puede ser explicado por la estupidez»
«Nunca le atribuyas a la maldad lo que puede ser explicado por la estupidez»