miércoles, 25 de noviembre de 2020

Memorias

MEMORIAS

Por Joel Muñoz Romo y Pedro Antonio Gutiérrez Gómez.

1 Definiciones

1.1 Memoria ROM 

La memoria de solo lectura, conocida también como ROM (acrónimo en inglés de read-only memory), es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura,​ independientemente de la presencia o no de una fuente de energía.

1.2 Memoria caché

La caché es una memoria que se sitúa entre la unidad central de procesamiento (CPU) y la memoria de acceso aleatorio (RAM) para acelerar el intercambio de datos. De forma similar, cuando hablamos de caché software hablamos de un espacio de memoria que contiene los datos calculados o copiados desde un espacio más lento.

1.3 Memoria RAM 

En informática, la memoria RAM (acrónimo de Random Access Memory, o Memoria de Acceso Aleatorio) es un tipo de memoria operativa de los computadores y sistemas informáticos, adonde va a ejecutarse la mayor parte del software: el propio sistema operativo, el software de aplicación y otros programas semejantes.
Su nombre proviene del hecho de que puede grabarse o recuperarse información de ella sin necesidad de un orden secuencial (como sí ocurre en la memoria ROM o Read-Only Memory, Memoria de Sólo Lectura), sino que puede accederse al RAM de la manera más rápida posible, con un tiempo de espera igual para cualquier posición de memoria.
😱😱Dato curioso😱😱La primer memoria RAM que se creó pesaba un par de kilogramos.

1.4 Memoria virtual 

Es una técnica de gestión de la memoria que se encarga de que el sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria que esté disponible físicamente. 




2 El pasado

2.1 Memoria ROM

El tipo más simple de ROM en estado sólido es de la misma antigüedad que la propia tecnología semiconductora. Las puertas lógicas combinacionales pueden usarse en conjunto para indexar una dirección de memoria de n bits en valores de m bits de tamaño (una tabla de consultas). Con la invención de los circuitos integrados se desarrolló la máscara ROM. La máscara ROM consistía en una cuadrícula de líneas formadas por una palabra y líneas formadas por un bit seleccionadas respectivamente a partir de cambios en el transistor. De esta manera podían representar una tabla de consultas arbitraria y un lapso de propagación deductible.


En las máscaras ROM los datos están físicamente codificados en el mismo circuito, así que solo se pueden programar durante la fabricación. Esto acarrea serias desventajas:

1. Solo es económico comprarlas en grandes cantidades, ya que el usuario contrata fundiciones para producirlas según sus necesidades.
2. El tiempo transcurrido entre completar el diseño de la máscara y recibir el resultado final es muy largo.
3. No son prácticas para I+D por el hecho de que los desarrolladores necesitan cambiar el contenido de la memoria mientras refinan un diseño.
4. Si un producto tiene un error en la máscara, la única manera de arreglarlo es reemplazando físicamente la ROM por otra.
Los desarrollos posteriores tomaron en cuenta estas deficiencias, así pues se creó la memoria de solo lectura programable (PROM). Inventada en 1956, permitía a los usuarios modificarla solo una vez, alterando físicamente su estructura con la aplicación de pulsos de alto voltaje. Esto eliminó los problemas 1 y 2 antes mencionados, ya que una compañía podía pedir un gran lote de PROMs vacías y programarlas con el contenido necesario elegido por los diseñadores. En 1971 se desarrolló la memoria de solo lectura programable y borrable (EPROM) que permitía reiniciar su contenido exponiendo el dispositivo a fuertes rayos ultravioleta. De esta manera erradicaba el punto 3 de la anterior lista. Más tarde, en 1983, se inventó la EEPROM,​ resolviendo el conflicto número 4 de la lista ya que se podía reprogramar el contenido mientras proveyese un mecanismo para recibir contenido externo (por ejemplo, a través de un cable serial). En medio de la década de 1980 Toshiba inventó la memoria flash, una forma de EEPROM que permitía eliminar y reprogramar contenido en una misma operación mediante pulsos eléctricos miles de veces sin sufrir ningún daño.

Todas estas tecnologías mejoraron la versatilidad y flexibilidad de la ROM, pero lo hicieron a expensas de un alto incremento del costo por chip. Por eso las máscaras ROM se mantuvieron como la solución económica durante bastante tiempo. Esto fue así aproximadamente hasta el año 2000, cuando el precio de las memorias reprogramables hubo descendido lo suficiente como para comenzar a desplazar a las ROM no reprogramables del mercado.

2.2 Memoria caché 

El origen de la memoria de cache nace cuando los primeros computadores, en lo que a memoria se refiere ya no podían cubrir la necesidad de los procesadores los cuales se encontraban trabajando a mayor velocidad que la de las memorias.
Por lo que los ingenieros en sistema deciden incorporar al mismo una pequeña memoria auxiliar la cual serviría para asistir al microprocesador reduciendo así el tiempo de espera para la recuperación de datos; esto fue posible gracias a Robert Dennard en 1968.
El término nace en Inglaterra donde se le da el nombre de “Cache” la cual se traduce como un lugar o escondite oculto para guardar información o contrabando.

2.3 Memoria RAM 


Uno de los primeros tipos de memoria RAM fue la memoria de núcleo magnético, desarrollada entre 1949 y 1952 y usada en muchos computadores hasta el desarrollo de circuitos integrados a finales de los años 60 y principios de los 70. Esa memoria requería que cada bit estuviera almacenado en un toroide de material ferromagnético de algunos milímetros de diámetro, lo que resultaba en dispositivos con una capacidad de memoria muy pequeña. Antes que eso, las computadoras usaban relés y líneas de retardo de varios tipos construidas para implementar las funciones de memoria principal con o sin acceso aleatorio.
En 1969 fueron lanzadas una de las primeras memorias RAM basadas en semiconductores de silicio por parte de Intel con el integrado 3101 de 64 bits de memoria y para el siguiente año se presentó una memoria DRAM de 1024 bits, referencia 1103 que se constituyó en un hito, ya que fue la primera en ser comercializada con éxito, lo que significó el principio del fin para las memorias de núcleo magnético. En comparación con los integrados de memoria DRAM actuales, la 1103 es primitiva en varios aspectos, pero tenía un desempeño mayor que la memoria de núcleos.
En 1973 se presentó una innovación que permitió otra miniaturización y se convirtió en estándar para las memorias DRAM: la multiplexación en tiempo de la direcciones de memoria. MOSTEK lanzó la referencia MK4096 de 4096 bytes en un empaque de 16 pines, mientras sus competidores las fabricaban en el empaque DIP de 22 pines. El esquema de direccionamiento se convirtió en un estándar de facto debido a la gran popularidad que logró esta referencia de DRAM. Para finales de los 70 los integrados eran usados en la mayoría de computadores nuevos, se soldaban directamente a las placas base o se instalaban en zócalos, de manera que ocupaban un área extensa de circuito impreso. Con el tiempo se hizo obvio que la instalación de RAM sobre el impreso principal, impedía la miniaturización , entonces se idearon los primeros módulos de memoria como el SIPP, aprovechando las ventajas de la construcción modular. El formato SIMM fue una mejora al anterior, eliminando los pines metálicos y dejando unas áreas de cobre en uno de los bordes del impreso, muy similares a los de las tarjetas de expansión, de hecho los módulos SIPP y los primeros SIMM tienen la misma distribución de pines.

2.4 Memoria virtual

En 1961 Fotheringham invento el método que se conoce ahora como “Memoria Virtual”.
En los años 1940 y 1950, todos los programas más grandes tenían que contener la lógica para la gestión de almacenamiento primario y secundario, tales como la superposición.


Por lo tanto, la memoria virtual se introdujo no sólo para ampliar la memoria principal, pero para hacer una extensión como más fácil posible para los programadores utilizar. Para permitir la multiprogramación y la multitarea, muchos sistemas tempranos divididos memoria entre múltiples programas sin memoria virtual, como los primeros modelos de la PDP-10 a través de los registros.
El concepto de memoria virtual fue desarrollado por primera vez por el físico alemán Fritz-Rudolf Güntsch en la Technische Universität Berlin en 1956 en su tesis doctoral, Diseño lógico de una computadora digital con múltiples asíncronos tambores rotativos automática.
Alta velocidad de funcionamiento de la memoria; se describe una máquina con 6 bloques de 100 palabras de memoria de núcleo primaria y un espacio de direcciones 1.000 bloques de 100 palabras, con el hardware de bloques entre la memoria principal y la memoria tambor secundario se mueve de forma automática.
Paginación fue implementado por primera vez en la Universidad de Manchester como una forma de ampliar la memoria de trabajo del ordenador por Atlas la combinación de sus 16 mil palabras de memoria de núcleo primaria con un adicional de 96 mil palabras de memoria de tambor secundario. la primer Atlas fue comisionado en 1962, pero los prototipos de trabajo de paginación había sido desarrollado por 1959. En 1961, la Burroughs Corporation lanzó de forma independiente el primer ordenador comercial con la memoria virtual, el B5000, con la segmentación en lugar de paginación.
Antes de la memoria virtual podría ser implementado en los sistemas operativos convencionales, muchos problemas tuvieron que ser tratados. Dinámica traducción de direcciones requiere costoso y difícil de construir hardware especializado; implementaciones iniciales ralentizado el acceso a memoria ligeramente. La primera minicomputadora para introducir la memoria virtual fue el noruego NORD-1; durante la década de 1970, otra miniordenadores implementan la memoria virtual, en particular los modelos VAX corriendo VMS.
La memoria virtual se introdujo a la arquitectura x86 con el modo protegido del procesador Intel 80286, pero su segmento intercambio de técnica de escalado mal a los tamaños de segmento de mayor tamaño. El apoyo de paginación introducido Intel 80386 debajo de la existente capa de segmentación, que permite la excepción error de página a la cadena con otras excepciones y sin doble falta. Sin embargo, la carga descriptores de segmento fue una operación costosa.

3 El presente

3.1 Memoria ROM

El producto más reciente es la memoria NAND, otra vez desarrollada por Toshiba.4​ Los diseñadores rompieron explícitamente con las prácticas del pasado, afirmando que enfocaba "ser un reemplazo de los discos duros", más que tener el tradicional uso de la ROM como una forma de almacenamiento primario  no  volátil.  En 2007,  NAND  ha  avanzado bastante en  su meta,  ofreciendo  un  rendimiento
comparable al de los discos duros, una mejor tolerancia a los shocks físicos, una miniaturización extrema (como por ejemplo memorias USB y tarjetas de memoria MicroSD), y un consumo de potencia mucho más bajo.
😱😱Dato curioso😱😱 Las memorias Flash NAND logran la más alta velocidad de escritura entre todos los tipos de memoria ROM reprogramable llegando a 15 MB/s.


3.2 Memoria caché 

Las velocidades cada vez más rápidas de los CPU actuales requieren de tarjetas madres con un complejo diseño de atiempamiento. Cada línea de circuito impreso y la demora de los componentes debe tomarse en consideración. El diseño del SLOT de expansión de la caché causaría demoras de 2 a 3 ns en el atiempamiento de la PBSRAM y la longitud del camino desde el modulo de caché a través de los contactos metálicos podría demorar este atiempamiento 1 o 2 ns más. Esto podría resultar en un sistema inestable una vez que el módulo y el SLOT se calienten.
Esta es la razón por la que la mayoría de las tarjetas madres actuales que soportan este tipo de memoria caché la tienen ya soldadas y generalmente no es posible hacer ninguna actualización de memoria caché. Es importante tener en cuenta que 512 kB de PBSRAM brindan cerca de 3% más de prestaciones que 256 kB y la diferencia de precio es mínima, por esta razón es conveniente comprar tarjetas madres que soporten 512 kB en vez de 256 kB.
Hace algún tiempo, las caché aportaban un gran rendimiento al sistema dado que los principios que seguían eran los adecuados: accesos probables dentro de un mismo rango de memoria, aplicaciones de tamaño moderado, etc. Hoy en día, ha surgido el gran enemigo del caché: la multitarea. Es decir, múltiples procesos ejecutándose simultáneamente, cada uno (de los cuales tiene su porción de código, y datos en áreas no adyacentes. La solución sólo puede tener dos vertientes: un tamaño de caché mayor (mínimo 512 K) y mucho mejor, una memoria principal más rápida.
Los procesadores modernos tienen varios niveles de caché, diferenciados en L1, L2, L3 e incluso L4 en algunos casos (la L viene de «level», nivel en inglés, por lo tanto hablamos de caché de nivel 1, nivel 2, etc.).
La caché L1 es la más rápida pero más pequeña de todas. Contiene los datos que el procesador necesitará para realizar la mayoría de operaciones, los más básicos, aunque tiene un propósito doble: instrucciones y datos. El primero son las operaciones que tiene que realizar el procesador, y  el segundo es la información que se debe procesar. El tamaño de esta caché suele rondar los 256 KB, aunque en algunos modelos de procesador ya llega a 1 MB. Por ejemplo, un Intel Core i9-9900K tiene 512 KB de caché L1.
La caché L2 es un poco más lenta (pero todavía muy rápida) y algo más grande que la L1. Normalmente tiene entre 256 KB y 8 MB de capacidad. Por ejemplo, el Core i9-9900K tiene 2 MB de caché L2.
La caché L3 es, de nuevo, más lenta pero más grande que la anterior, y tiene unas capacidades típicas de entre 4 y 50 MB. El Core i9-9900K tiene en este caso 16 MB de caché L3, pero se comporta de manera diferente a las anteriores porque es compartida entre todos los núcleos del procesador.

3.3 Memoria RAM 

Hoy en día las más comercializadas son las DDr4, generalmente, los procesadores y placas madre que se fabrican hoy en día solo son compatibles con las memorias RAM de esta generación;  pero cada vez que sale una de este tipo mejorada se le amplia en uno el número.
Así tenemos la DDRAM, DDR2 RAM, DDR3 RAM por ejemplo. A mayor número, más nueva y veloz será.
Las demás memorias RAM suelen ser muy caras y solo se utilizan en ordenadores muy potentes.
También tenemos memorias RAM especiales, por su tamaño, para ordenadores portátiles. Se llaman memorias RAM de módulo RIM, que es el módulo donde se introduce, que al ser para portátiles es más pequeño.

3.4 Memoria virtual

Actualmente la memoria virtual es una técnica mediante la cual el sistema operativo reserva un espacio en el disco duro para poder utilizarlo como si fuese memoria RAM en caso de que esta esté a punto de agotarse. La memoria virtual es algo común en la mayoría de los sistemas operativos. En Linux, por ejemplo, se la conoce como Swap o Intercambio, mientras que en Windows es probable que la hayamos visto en forma de un fichero llamado «pagefile.sys«.

Gracias a la memoria virtual vamos a tener la seguridad de que siempre va a haber RAM disponible para las tareas más exigentes y, a la vez, que nunca vamos a perder información mientras trabajamos con ella.



4 El futuro

4.1 Memoria ROM y RAM

Al igual que la sal y la pimienta, como esa pareja aparentemente perfecta, los dos tipos dominantes de memoria en las computadoras realmente se complementan entre sí.
La memoria de solo lectura (ROM) se asegura de que nuestras computadoras y teléfonos inteligentes sepan cómo iniciar. La memoria de acceso aleatorio (RAM), nos permite ejecutar programas en esas computadoras.
En el pasado, eso es todo lo que hemos necesitado. Pero ahora, un tercer tipo de memoria de la computadora está en la escena, y es capaz de hacer todas las funciones de las memorias, y un poco más.
Esta memoria es obra de científicos de la Universidad Fudan de Shanghai, que recientemente publicaron un estudio sobre esta nueva tecnología en la revista Nature Nanotechnology.
Seguramente te podrías estar preguntando ¿por qué molestarse en crear un nuevo tipo de memoria? Pues, como cada mitad de cualquier pareja, ni RAM ni ROM son perfectos por sí solos.
Si bien los sistemas pueden acceder rápidamente a los datos almacenados en la memoria de acceso aleatorio (RAM), en el momento en que apaga el dispositivo, la memoria RAM pierde todos esos datos.
Piensa en un documento de Word que no has guardado (sí, vive al límite). El documento está ahí mientras estás usando tu computadora porque la memoria RAM está ejecutando Word. Si su computadora se apaga repentinamente, adiós, documento.
Los datos almacenados en la ROM son permanentes. El problema es que tu computadora no puede escribir datos en la ROM tan rápido.
Los investigadores chinos dicen que su nuevo tipo de memoria de computadora no es solo lo mejor que ambas, sino tiene algo más: te permite decidir cuánto tiempo quieres que la memoria retenga datos.
«Las personas en el futuro podrían recibir un disco en el que los datos solo sean efectivos por, digamos, tres días, lo cual eleva la seguridad de la información», dijo el investigador principal Zhang Wei a China Daily. «Las personas también podrían tener unidades flash personalizadas con la nueva tecnología de almacenamiento. Los datos almacenados en el interior se vaciarían regularmente a una hora determinada».
Esta característica adicional podría hacer que este nuevo tipo de almacenamiento sea un fuerte competidor en el mercado contra RAM y ROM, pero los investigadores no comentan cuándo sucederá eso. Hasta entonces, RAM y ROM continuarán su reinado como la pareja inseparable del mundo de la informática. Y tendremos que tolerar las insuficiencias de ambos hasta que surja algo mejor.

4.2 Memoria caché 

Investigadores del equipo de desarrollo de Intel han realizado una demostración con un conjunto de 2 MB de memoria de acceso aleatorio magnética (MRAM) que cumple con las especificaciones de para su utilización en un chip de memoria caché L4 de procesador, lo cual incluye retención de datos, durabilidad y corrección de errores. Según Intel, este hito podría marcar un paso adelante en el desarrollo de la tecnología.
La memoria de acceso aleatorio magnética MRAM consta de una unión magnética y un transistor, el cual tiene un par de transferencia de giro (STT-MRAM). Es compatible con la tecnología CMOS estándar y, junto con sus otras características como la velocidad de transferencia, durabilidad y densidad, ha ganado bastante interés en la industria dado que según ha dicho Intel cumple con los requisitos para poder funcionar como memoria caché L4 integrada en un procesador o como memoria no volátil integrada (eNVM), ya que a diferencia de la RAM, este tipo de memoria retiene los datos.
Intel ha construido una matriz de 2 MB de este tipo de memoria que cumple con los requisitos de la caché L4. Este tipo de caché no necesita tener una gran velocidad pero sí una gran capacidad, y generalmente consiste en celdas SRAM de seis transistores. Según la demostración de Intel, esta matriz de 2 MB de MRAM tenía un tiempo de escritura de 20 ns, un tiempo de lectura de 4 ns, una resistencia de 1012 ciclos y es capaz de retener los datos durante un segundo a 110 grados Celsius de temperatura.
El tiempo lo dirá, pero Intel parece bastante satisfecha con los resultados de su investigación y desarrollo de esta tecnología y parecen bastante decididos a implementarla de alguna manera, ya que han indicado que esta demostración representa un gran paso adelante en el desarrollo de la tecnología. 

4.3 Memoria virtual

La memoria virtual con el paso del tiempo quedará en el desuso como ha pasado con otras técnicas de gestión en memorias; las principales razones por las cuales sucederá esto es porque existe una sobrecarga por gestión compleja de memoria, y por ello un costo asociado a la transformación de direcciones; memoria adicional que requiere para almacenar las tablas que debe mantener el sistema operativo (memoria real de la parte residente del sistema operativo)para indicar: la cantidad de memoria real implementada, las secciones que están presente en la memoria real y sus direcciones de ubicación, y elementos de juicio para determinar qué secciones se tratarán de dejar en memoria real y cuáles no, oque sección será desplazada cuando otra sección de memoria virtual deba ser llevada a memoria real; pequeño desperdicio de memoria que se produce en la última página de un programa (ya que rara vez el tamaño del programa es múltiplo del tamaño de las páginas); merma en el rendimiento del computador si es incorrectamente utilizada; posible incremento del tiempo de ejecución de cada programa como consecuencia de la paginación (operaciones de entrada/salida que demorarán la ejecución del programa). No se sabe con exactitud cuando esta técnica de gestión en memoria dejará de utilizarse pero es un hecho que será sustituida por otra que tenga menos desventajas como lo es en la memoria virtual de hoy en día.
😱😱Dato curioso😱😱: Según Prensa Científica, en el 2012 se fabricaron más microchips de memoria que los granos de arroz cultivados en todo el mundo.

5 Referencias

Rubén Velasco. (08 de Diciembre de 2020). softzone.es. Obtenido de softzone.es: https://www.softzone.es/2017/08/01/memoria-virtual-windows/

Yisel Martínez García. (07 de Diciembre de 2020). EcuRED. Obtenido de EcuRED: https://www.ecured.cu/Memoria_Cach%C3%A9

Anonymous. (09 de Diciembre de 2020). blogspot. Obtenido de blogspot: http://memoriavirtualsemestral.blogspot.com/2016/07/caracteristicas-ventajas-y-desventajas.html

Fernández Pascual. (06 de Diciembre de 2020). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Cach%C3%A9_(inform%C3%A1tica)#:~:text=La%20cach%C3%A9%20es%20una%20memoria,acelerar%20el%20intercambio%20de%20datos.&text=De%20forma%20similar%2C%20cuando%20hablamos,desde%20un%20espacio%20m%C3%A1s%20lento.

Ann McIver. (09 de Diciembre de 2020). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Memoria_de_solo_lectura

Aquiles Guzman. (06 de Diciembre de 2020). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Memoria_virtual

Esperanza Diaz. (07 de Diciembre de 2020). wordpress. Obtenido de wordpress: https://memoriavirtual256.wordpress.com/2016/10/30/historia-de-memoria-virtual/

Grecia Calderón. (07 de Diciembre de 2020). EUSTON. Obtenido de EUSTON: https://www.euston96.com/memoriacache/#:~:text=El%20origen%20de%20la%20memoria,que%20la%20de%20las%20memorias.

Houser, K. (08 de Diciembre de 2020). robotitus. Obtenido de robotitus: https://robotitus.com/un-nuevo-tipo-de-memoria-podria-hacer-las-memorias-ram-y-rom-obsoletas

Lobsang Peralta. (07 de Diciembre de 2020). SINCABLE. Obtenido de SINCABLE: https://www.sincable.mx/memoria-

Ann McIver. (2020 de Diciembre de 2020). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Memoria_de_solo_lectura

María Estela Raffino. (06 de Diciembre de 2020). Concepto.de. Obtenido de Concepto.de: https://concepto.de/memoria-ram/#ixzz6fOlezuS5

Mostek Firsts. (07 de Diciembre de 2020). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Memoria_de_acceso_aleatorio#Historia

Rodrigo Alonso. (08 de Diciembre de 2020). hardzone. Obtenido de hardzone: https://hardzone.es/noticias/componentes/intel-stt-mram-cache-l4/

Suh, V. (09 de Diciembre de 2020). INVESTIGACION Y CIENCIA. Obtenido de INVESTIGACION Y CIENCIA: https://www.investigacionyciencia.es/revistas/investigacion-y-ciencia/la-era-de-los-macrodatos-591/memorias-del-futuro-11694

Ann McIver. (09 de Diciembre de 2020). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Memoria_de_solo_lectura





2 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Es muy interesante ver cómo es que han evolucionado las memorias con el paso de los años y resultan increíbles los adelantos que están por venir, ahorita tal vez suena un poco exagerado pero por lo que aprendí al comparar el pasado con el presente de las memorias sin lugar a dudas será una realidad dentro de poco tiempo porque la tecnología avanzada muy rápido.

    ResponderEliminar

  Representación de la Información Diana Padilla Zamora y Yareli Frias Iñiguez Debe distinguirse entre dato e información. Dato es cualquier...