Estaba leyendo sobre el tiempo de recuperación de la CPU , donde descubrí que las CPU tardan mucho menos tiempo en acceder a los datos de la RAM en comparación con el acceso a un disco duro, y que la RAM está presente para almacenar la información y los datos de la ejecución del programa.
Entonces me pregunté qué pasaría cuando solo usemos un disco duro pero no RAM.
hard-drive
memory
cpu
akash ujjwal
fuente
fuente
Respuestas:
En algún momento esto entra en la cuestión de lo que incluso cuenta como "RAM". Hay muchas CPU y microcontroladores que tienen mucha memoria en el chip para ejecutar pequeños sistemas operativos sin chips RAM separados. De hecho, esto es relativamente común en el mundo de los sistemas integrados. Entonces, si solo te refieres a no tener ningún chip RAM separado conectado, entonces sí, puedes hacerlo con muchos chips actuales, especialmente aquellos diseñados para el mundo integrado. Lo hice yo mismo en el trabajo. Sin embargo, dado que la única diferencia real entre la memoria en chip direccionable y los chips de RAM separados es solo la ubicación (y, obviamente, la latencia), es perfectamente razonable considerar que la memoria en chip es RAM. Si está contando eso como RAM, entonces el número de corriente,
Si te estás refiriendo a una PC normal, no, no puedes ejecutarla sin conectar RAM por separado, pero eso es solo porque el BIOS está diseñado para no intentar arrancar sin RAM instalada (lo cual, a su vez, es porque todos Los sistemas operativos de PC modernos requieren RAM para ejecutarse, especialmente porque las máquinas x86 generalmente no le permiten direccionar directamente la memoria en el chip; se usa únicamente como caché).
Finalmente, como dijo Zeiss, no hay ninguna razón teórica de que no puedas diseñar una computadora para que funcione sin RAM, aparte de un par de registros. La RAM existe únicamente porque es más barata que la memoria en chip y mucho más rápida que los discos. Las computadoras modernas tienen una jerarquía de memorias que van desde grandes, pero lentas hasta muy rápidas, pero pequeñas. La jerarquía normal es algo como esto:
Tenga en cuenta que la razón completa de las jerarquías de memoria es simplemente la economía. No hay una razón teórica (al menos no dentro de la informática) por la que no podríamos tener un terabyte de registros no volátiles en un dado de CPU. El problema es que sería increíblemente difícil y costoso de construir. Tener jerarquías que van desde pequeñas cantidades de memoria muy cara hasta grandes cantidades de memoria barata nos permite mantener velocidades rápidas con costos razonables.
fuente
Sería teóricamente posible diseñar una computadora para que funcione con muy poca (el valor de algunos registros) o sin RAM (busque la definición de una máquina de Turing, que en realidad se puede construir en una implementación adecuada / rápida de Conway's Life simulación).
La razón por la cual todas las computadoras del mundo real usan RAM es, en primer lugar, histórica: la memoria central (el prototipo de RAM, solo semi-volátil) es muy anterior al almacenamiento masivo como un tambor magnético o un disco (aunque vino después de tarjetas perforadas y cinta de papel) el primero de los cuales se remonta, en su forma primitiva, a 1801 (sí, el comienzo del siglo XIX; los telares Jacquard usaban tarjetas perforadas para tejer automáticamente un patrón de color de complejidad arbitraria décadas antes incluso de los motores de diferencia Babbage o los tabuladores Hollerith); en segundo lugar , La RAM (como la memoria central), al ser electrónica, es mucho más rápida que cualquier dispositivo que dependa del movimiento físico de los medios de almacenamiento para presentar los datos a un mecanismo de lectura / escritura.
Un sistema o una complejidad similar a una computadora moderna con Windows o Linux que se ejecuta sin RAM (de manera similar a una verdadera máquina de Turing), tomaría días para comenzar y horas para actualizar la pantalla para una interfaz gráfica con resoluciones modernas. Incluso un sistema operativo de solo texto comparable a CP / M o versiones anteriores de DOS tardaría mucho tiempo en llegar al símbolo del sistema inicial.
fuente
Puede, porque cuando se inicia una CPU x86, la caché L2 es inicialmente una SRAM antes de usarse como caché. Por lo tanto, puede escribir su propia BIOS para no inicializar la RAM y usar solo la pequeña cantidad de SRAM dentro de la CPU como RAM en lugar de caché L2 / L3.
Simplemente lea las pautas de BIOS de los fabricantes de CPU.
fuente
TODAS las CPU modernas, estándar y de propósito general funcionan fundamentalmente así:
¿Qué puede "vivir" en un espacio de direcciones?
Observe que "disco duro" no está en esa lista. El disco duro no está conectado directamente a la CPU. Los datos llegan y salen del disco duro a través de un dispositivo de E / S (adaptador de host SATA) conectado a la CPU.
El dispositivo de E / S usa DMA para cargar / guardar datos en / desde el disco duro. Esto significa que el dispositivo de E / S lee / escribe la RAM directamente, sin intervención de la CPU, y también se basa en la existencia de RAM. Pero si el dispositivo de E / S no ha cargado los datos en la RAM, la CPU no tiene posibilidad de verlos.
Por lo tanto, no puede tener las instrucciones de búsqueda de CPU directamente desde el disco duro.
Lo que sucede durante una falla de página es:
Por lo tanto, la CPU que necesita obtener datos del disco porque la memoria se intercambia no es diferente.
fuente
+1
por ser la única respuesta aquí que trata el problema real , no solo de lo que sucedería , sino también por qué .Una computadora personal requiere RAM para funcionar. Todas las aplicaciones iniciadas desde el disco duro se copiarán a la RAM antes de ejecutarse.
Entonces, si no tiene RAM en su computadora, su computadora no se iniciará, probablemente le dará varios pitidos de advertencia para informarle que no hay RAM instalada.
fuente
La computadora no funcionará. RAM es una parte esencial de una publicación exitosa desde la placa base. Cuando la RAM no está presente o dañada, muchas placas base suelen proporcionar códigos de pitidos para indicar dónde buscar en la resolución de problemas.
fuente
En realidad, en al menos dos casos podría ejecutar una computadora sin lo que técnicamente se conoce como RAM
Las primeras "computadoras" mecánicas antiguas (la construcción de Konrad Zuse y la computadora de Charles Babbage eran dispositivos mecánicos sin RAM, todavía llamados computadoras)
Una computadora moderna sin RAM y solo un procesador (chip) con registros . En la mayoría de los casos, tiene SRAM (memoria caché) en el procesador, pero la memoria más rápida de la computadora se llama registros ubicados en el chip, y técnicamente los registros en el chip no son RAM.
fuente
Simplemente no se ejecutará. La placa base probablemente emitirá un pitido de una manera inusual y se apagará. Si no tiene suficiente RAM, incluso 128 MB para Windows XP, se negará a instalar (en realidad lo intentó con una computadora vieja; uno de los chips no se colocó correctamente). Entonces, con las configuraciones actuales es imposible. Incluso si pudiera deshabilitar las comprobaciones de la placa base, la CPU no puede leer los datos directamente del disco duro y necesita RAM para cada operación.
Supongo que, en teoría, sería posible construir una máquina que use poca o ninguna RAM, pero sería poco eficiente.
fuente