Informe del funcionamiento y evolución de las memorias (RAM, ROM,
CACHÉ)
Realizado por:
Jaider Luis Lenes Acosta
Jhordan Manuel López Moreno
Jesús David Sáez Guerra
Tutor:
Ing. Mario R. Maceas Anaya
Universidad cooperativa de Colombia
Ingeniería de sistemas
Arquitectura de computadores
Montería -Córdoba
2020
Introducción:
En la actualidad, el término computadora es habitual y se encuentra presente directa o
indirectamente en todas las actividades del ser humano. Es por ello que para aprovechar el
potencial de la computadora se requiere conocer los fundamentos que le rigen, así como las
partes que la integran. En la presente unidad se explica el concepto de computadora, se describen
los elementos que la conforman, tanto el software como el hardware.
Además, resulta importante describir las características de las generaciones de computadoras,
con el objetivo de identificar la evolución tecnológica que han tenido.
Las memorias (RAM, ROM, CACHÉ) son parte fundamental de cualquier arquitectura del
computador, ya que su tarea es agilizar el trabajo de dicho computador para mayor eficiencia y
experiencia con el usuario.
Desarrollo:
Memoria RAM:
La memoria de acceso aleatorio (en inglés Ramdon Access Memory) se utiliza como memoria de
trabajo para el sistema operativo, los programas y mayoría de software.
Partes de la memoria RAM:
Chips de memoria:
Flip chip es una tecnología de esmalte para circuitos integrados como memoria ram, además es
una forma de empaque y montaje para chips de silicio.
Módulo de memoria RAM:
Pequeña placa de circuito impreso con varios chips de memoria integrados. Vinieron a sustituir a
los SIP.
Pines de conexión:
Terminal o patilla a cada uno de los contactos metálicos de un conector o de un componente
fabricado de un material conductor de la electricidad.
Tipos básicos:
RAM dinámica (DRAM)
RAM estática (SRAM)
La memoria ram dinámica necesita actualizarse miles de veces por segundo, mientras que la
memoria ram estática no necesita actualizarse, por lo que es más rápida, aunque también más
cara. Ambos tipos de memoria ram son volátiles, es decir, que pierden su información cada vez
que se apaga el equipo.
Avances:
En los años 30 se utilizaban tarjetas perforadas.
En 1946: El computador ENIAC. Tiene punto de memoria la utilización de válvulas electrónicas
de vacío para la construcción de biestables.
En los inicios de los años 50 apareció el tubo de rayos catódicos con memoria de capacidad de
1200 bits se conocía como el tubo de Williams.
En 1953 aparece la memoria operativa de ferrita se utilizó hasta los años 70.
En 1968 IBM diseña la primera memoria comercial de semiconductores con capacidad de 64
bits.
Memoria ROM:
Este tipo de memoria permite almacenar la información necesaria para iniciar el ordenador. De
hecho, no es posible almacenar esta información el disco duro, dado que los parámetros del disco
(vitales para inicialización) forman parte de dicha información y resulta esenciales para el
arranque.
Existen diferentes memorias de tipo ROM que contiene dichos datos esenciales para iniciar el
ordenador entre ellas:
El BIOS es un programa que permite controlar las principales interfaces de entrada/salida, de ahí
el nombre BIOS ROM que a veces se le da el chip de la memoria que solo lectura de placa madre
que lo aloja.
El cargador de Bootstrap: programa para cargar memoria de (acceso aleatorio) al sistema
operativos y ejecutarla. Este generalmente, busca el sistema operativo de la unidad de disquetes y
luego el disco duro, lo que permite que el sistema operativo se ejecute desde el sistema de
disquetes en el caso de que ocurra algún desperfecto en el sistema instalado en el disco duro.
La configuración CMOS es la pestaña que visualiza al iniciarse el ordenador. Se utiliza para
modificar los parámetros del sistema (a menudo erróneamente llamado BIOS).
La auto prueba de encendido (POST) en un programa que se ejecuta automáticamente cuando
arranca el sistema, permitiendo de esta manera probar dicho sistema (razón por cual el sistema
“cuenta” la RAM en el inicio).
Tipo de memoria ROM:
ROM
PROM
EPROM
EEPROM
Avances:
Desarrollada por Toshiba. Los diseñadores rompieron explícitamente con las practicas del
pasado, afirmando que enfocaba “ser un remplazo de los discos duros, mas 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 (como por
ejemplo memorias USB y tarjetas de memoria MicroSD), y un consumo de potencia mucho más
bajo.
Memoria caché:
La memoria caché de un procesador es de tipo memoria volátil (de tipo RAM), pero de una gran
velocidad. En la actualidad esta memoria está integrada en el procesador, y su cometido es
almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con
la finalidad de que estos accesos sean instantáneos.
Diferencias:
Caché de 1er nivel (L1): esta caché está integrada en el núcleo del procesador, trabajando a la
misma velocidad que este. La cantidad de memoria caché L1, pudiendo llegar a superar 2MB.
Chacé de 2do nivel (L2): Integrada también en el procesador, aunque no directamente en el
núcleo, tiene la misma ventaja que la caché L1, aunque es algo más lenta que esta. La caché L2
suele ser mayor que la cache L1, pudiendo llegar a superar los 2MB.
Caché de 3er nivel (L3): Es un tipo de memoria más lenta que la L2, muy poco utilizada en la
actualidad. En un principio esta caché estaba incorporada a la placa base, y su velocidad de
acceso era bastante más lenta que una caché de nivel 2 0 1, ya que si bien sigue siendo una
memoria de una gran rapidez (muy superior a la RAM y mucho más en la época que se
utilizaba), depende de la comunicación entre el procesador y la placa base. Para hacernos una
idea más precisa de esto, imaginamos en un externo procesador y en el otro la memoria RAM.
Evolución:
desde la aparición en el mercado de procesadores con frecuencia de reloj de 25 o incluso 33
MHZ más, una memoria de trabajo constituida por RAM dinámica ya que está preparada para
satisfacer las exigencias de la CPU en términos de tiempo acceso.
En los 486, la memoria caché, que estamos describiendo recibe también el nombre de “caché, de
segundo nivel”, se ubica físicamente sobre la placa madre y consta de una serie de componentes
estéticos de RAM con una capacidad de 64 256 kilobits.
Así pues, con este procesamiento pueden obtenerse cachés desde 64 o 256 kilobytes, tamaño
bastante inferior al de la memoria de trabajo. La vigilancia de memoria caché corre a cargo del
controlador caché 82385 de Intel.
Principio de Localidad de Referencia:
El Principio de Localidad de Referencia dice que los accesos a memoria que
realiza la CPU no están uniformemente distribuidos por todo el espacio de direcciones,
sino que, temporalmente, se concentran en áreas de la memoria.
Lo que establece este principio se debe a que el contenido de cada programa
no está esparcido por toda la memoria, sino que sus instrucciones y datos están
contenidos en una o varias secciones de memoria contigua, por lo que los accesos a
la memoria se concentra en las áreas donde están las instrucciones o los datos del
programa en ejecución.
El análisis de los programas muestra que la mayoría del tiempo de ejecución se
dedica a rutinas en las que una serie de instrucciones se ejecutan repetidamente.
Estas instrucciones pueden estar formando parte de un bucle, bucles anidados, o unos
cuantos procedimientos a los que se llama iterativamente.
La localidad de referencia temporal se debe a la naturaleza repetitiva de los
programas o de porciones de los programas, y significa que, tal y como hemos visto en
la página anterior, una instrucción que se acaba de ejecutar recientemente es muy
probable que se vuelva a ejecutar en un futuro muy próximo.
El aspecto espacial quiere decir que las instrucciones que se encuentran en la
proximidad de una instrucción recientemente ejecutada (en cuanto a sus direcciones
en memoria) también es muy probable que se ejecuten muy pronto. A los datos u
operandos de un programa les sucede lo mismo, no están dispersos por toda la
memoria, sino que están agrupados en una zona de la misma, y ocupando direcciones
contiguas. El tamaño de un bloque suele ser el ancho del bus de datos o un múltiplo de
él,
es decir, 2, 4, 8, … bytes.
Política de ubicación:
Cuando la caché está llena, y se referencia una dirección cuyo bloque no está en la
caché, el hardware de la caché debe decidir qué bloque deberá ser expulsado para
dejar espacio al bloque que se acaba de referenciar. El conjunto de reglas que se
utilizan para tomar esta decisión se denominan algoritmos o políticas de sustitución.
Obsérvese que la CPU no necesita conocer explícitamente la existencia de la
caché, sino que genera una petición de lectura o escritura utilizando direcciones de
memoria principal, y la circuitería de la caché determina si la palabra solicitada está o
no está en ese momento en la caché. Si está (se dice que se ha producido un acierto
de caché), la operación de lectura o escritura se realiza sobre la dirección
correspondiente en la caché, y si la operación es de lectura, la memoria principal no se
ve implicada en la ejecución. Si la operación es una escritura, la palabra afectada en la
memoria caché deberá actualizarse, en algún momento, en la memoria principal, para
que el contenido de un bloque en la caché sea idéntico al de su correspondiente en
memoria principal. En estos casos, la actualización en memoria principal de los
bloques modificados en la caché se realiza según una política de escritura o de
actualización.
En la operación de la caché se nos plantean, por tanto, estas tres preguntas:
• P1: ¿Dónde situar un bloque en la caché? (Política de ubicación).
• P2: ¿Qué bloque reemplazar ante una caché llena? (Política de sustitución).
• P3: ¿Qué hacer ante una operación de escritura? (Política de actualización).
Ya que hay menos entradas o líneas de caché que bloques en memoria
principal, se nos plantea un problema cuando traemos un bloque de memoria a la
caché: ¿Dónde ponemos el bloque? es decir ¿en qué entrada de la caché ponemos el
bloque? De igual manera, al buscar un bloque en la caché, debemos saber dónde
podría estar ubicado este bloque.
Este problema se resuelve según una política de ubicación. Cada política de
ubicación utiliza una función de correspondencia entre las direcciones de los
bloques en memoria principal y sus direcciones en la caché. Así, diremos que las
diferentes políticas de ubicación simplemente utilizan distintas funciones de
correspondencia.
Las tres funciones de correspondencia que se suelen utilizar son las siguientes:
• Correspondencia Directa
• Correspondencia Asociativa
• Correspondencia Asociativa de Conjuntos
Para cada una de ellas veremos su estructura general acompañada de un ejemplo,
que en los tres casos supondrá lo siguiente:
1. El tamaño de la caché es de 4 Kbytes.
2. Los datos se transfieren entre la memoria principal y la caché en bloques de 4
bytes.
Esto quiere decir que la caché está organizada en 1024 líneas de 4 bytes cada
una.
3. La memoria principal es de 64 Kbytes, pudiendo direccionar a nivel de byte
mediante direcciones de 16 bits. Esto quiere decir que, a efectos de la caché, la
podemos considerar como una memoria de 16 Kbloques de 4 bytes cada uno.
Función de correspondencia directa:
La función más sencilla de correspondencia es la conocida como
correspondencia directa, según la cual cada bloque de memoria principal solamente
puede ubicarse en una única línea de la caché. La línea que le corresponde a cada
bloque se obtiene mediante este algoritmo:
Línea_caché = Número_de_bloque módulo Líneas_en_la caché
En la tabla de arriba pueden verse los bloques de memoria principal que
pueden ubicarse en cada línea de la caché si son referenciados por la CPU.
Función de correspondencia asociativa:
Con la correspondencia asociativa (o completamente asociativa) se
solventan los problemas de la correspondencia directa, pues aquí se permite que cada
bloque de memoria pueda estar en cualquier línea de la caché, por lo que mientras la
memoria caché no esté llena, no habrá que hacer ninguna sustitución. Cuando esté
llena y haya que traer un nuevo bloque, habrá que sustituir alguno de los bloques
según la política de sustitución más apropiada, es decir, la que genere menos faltas de
caché.
Función asociativa de conjuntos:
La correspondencia asociativa de conjuntos combina la economía de la
correspondencia directa con la tasa de aciertos de la correspondencia asociativa.
Consiste en agrupar las líneas de la caché en conjuntos, de tal forma que la función de
correspondencia permita que un bloque de la memoria principal pueda ubicarse en
cualquier línea de un conjunto concreto.
Con esta política, la memoria caché se divide en C conjuntos de L líneas cada
uno. Así, el número M de líneas de la caché es M = C x L
De forma similar a la correspondencia directa, para averiguar el conjunto c de
la caché que le corresponde a un cierto bloque b de memoria principal se aplica la
siguiente correspondencia:
c = b módulo C
Una vez averiguado el conjunto c de la caché que le corresponde al bloque b,
éste puede ubicarse en cualquiera de las líneas del conjunto c.
La Instalación de una RAM caché externa “Externa” quiere decir, en este contexto, que se sitúa
fuera de la CPU, en su entorno y unidad a ella por el sistema bus.
Conclusiones:
La memoria de acceso aleatorio (en inglés Ramdon Access Memory) se utiliza como
memoria de trabajo para el sistema operativo, los programas y mayoría de software.
Este tipo de memoria permite almacenar la información necesaria para iniciar el
ordenador. De hecho, no es posible almacenar esta información el disco duro, dado que
los parámetros del disco (vitales para inicialización) forman parte de dicha información y
resulta esenciales para el arranque.
La memoria caché de un procesador es de tipo memoria volátil (de tipo RAM), pero de
una gran velocidad. En la actualidad esta memoria está integrada en el procesador, y su
cometido es almacenar una serie de instrucciones y datos a los que el procesador accede
continuamente, con la finalidad de que estos accesos sean instantáneos.
El Principio de Localidad de Referencia dice que los accesos a memoria que
realiza la CPU no están uniformemente distribuidos por todo el espacio de direcciones,
sino que, temporalmente, se concentran en áreas de la memoria.
Política de ubicación cuando la caché está llena, y se referencia una dirección
cuyo bloque no está en la caché, el hardware de la caché debe decidir qué
bloque deberá ser expulsado para dejar espacio al bloque que se acaba de
referenciar.
Bibliografía:
[Link]. (2020). Memoria RAM, ROM, CACHE FUNCION Y EVOLUCION. [en línea]
Disponible en: [Link]
[Accedido 28 Feb. 2020].