Está en la página 1de 14

Universidad Tecnológica Nacional

Facultad Regional Tucumán

Arquitectura de Computadoras

Trabajo Práctico N°: 9


Tema de la Monografía:
“Memoria”

1
Índice

Sistemas de Memoria..................................................................................3

Jerarquía de Memoria..................................................................................4

Definiciones..................................................................................................4

Memoria ROM..............................................................................................5

Memoria RAM..............................................................................................7

Memoria Cache ...........................................................................................8

2
La memoria es un componente esencial en los computadores. En el diseño del
hardware e inclusive del software, esta cumple un rol muy importante. A lo largo de
los años, las tecnologías involucradas en la fabricación y diseño de memorias han
cambiado para adaptarse a las crecientes velocidades de procesamiento.

En esta monografía explicaremos conceptos importantes acerca de la memoria de


las computadoras y sobre los distintos tipos de memoria RAM, ROM, CACHE.
Compararemos sus características, funcionamiento y componentes.

1. Sistemas de memoria

Aunque parezca un tema sencillo, la memoria de los computadores presentan una


gran diversidad de tipos, tecnologías, estructura, prestaciones y costos. No existe
una tecnología en específico que pueda satisfacer todas las necesidades de una
computadora, por lo tanto, para facilitar su análisis, dividiremos a los sistemas de
memoria según sus características más prominentes.

Para empezar, podemos examinar la ubicación de la memoria, la cual puede


encontrarse dentro del procesador (como los registros y “porciones” de caché),
interna (como la memoria principal) o externa (como dispositivos de memoria
secundarios).

También puede hacerse una distinción según la capacidad y unidad de transferencia


de las memorias. Las capacidades se basan en la cantidad de palabras que se
pueden almacenar y la longitud de cada una de ellas, por otro lado, las unidades de
transferencia dependen del tipo de memoria, y pueden variar desde palabras
singulares a bloques de memoria compuestos por varias de estas.

La forma en que los datos de las memorias son accedidos pueden categorizarse en
cuatro grupos basados en distintos principios. El método secuencial permite acceder
a una parte de la memoria pasando primero por cada una de las posiciones
anteriores a la que se desea seleccionar, el directo permite acceder primero a un
bloque reducido de memoria para luego realizar una búsqueda secuencial más
corta, el método aleatorio se basa en la selección de los datos en un tiempo
constante sin importar su posición y el método asociativo permite ubicar a los datos
según una etiqueta compuesta por una porción del dato mismo.

Según sus características físicas, las memorias también pueden clasificarse en


volátiles, las cuales pierden su contenido cuando se deja de proveerlas de tensión, o
no volátiles, las cuales mantienen su información una vez que se deja de
alimentarlas. El que se pueda borrar o no el contenido de las memorias también es
una característica importante a tener en cuenta.

3
2. Jerarquía de Memoria

La jerarquía de memoria es la organización piramidal de la memoria en niveles que


tienen las computadoras. El objetivo es conseguir el rendimiento de una memoria de
gran velocidad al coste de una memoria de baja velocidad, basándose en el principio
de cercanía de referencias.

En esta pirámide podemos observar lo siguiente: cuanto más arriba de la pirámide,


más cerca (físicamente) del procesador nos encontramos, mayor el costo, menor la
capacidad y menor el tiempo de acceso.
Entonces, tenemos que armar una jerarquía dentro de la máquina con varios de
estos tipos de memoria, tratando de lograr que el costo se asemeje a los costos de
las memorias de los niveles inferiores, el tiempo de acceso se asemeje a los tiempos
de las memorias de los niveles superiores y las capacidades se asemejen a las de
los niveles inferiores.

3. Definiciones

Ancho de Bus: El ancho de banda de un bus es la cantidad de información que


puede transferir por unidad de tiempo. Para calcular este valor, es necesario conocer
tres aspectos: 

 La frecuencia de operación del bus.


 El número y tipo de líneas de datos.
 El número de transferencias de información que pueden hacerse por ciclo de reloj.

Frecuencia: Expresada en Hertz, es la velocidad del bus. El número de paquetes de


datos que pueden ser enviados o recibidos por segundo

Ciclo de Bus: Cada vez que se envían o reciben datos por medio de un bus,
podemos decir que se cumplió un ciclo. Por lo general consta de dos a cinco
periodos completos de una señal de reloj.
4
Tiempo de Ciclo: Se refiere al tiempo de acceso a memoria más el tiempo luego del
cual puede realizarse un segundo direccionamiento.

Tiempo de acceso o latencia: En referencia a la memoria, el tiempo de acceso es


el tiempo que le lleva realizar una operación de lectura o escritura, después de
haberse elegido una dirección.

Velocidad de Transferencia: Velocidad de transferencia de datos es la cantidad de


datos digitales que se mueve de un lugar a otro en un momento dado, en otras
palabras, la velocidad de transferencia de datos es la velocidad a la que se
transmiten los datos entre diferentes medios o dispositivos tales como módem,
ethernet, USB, DVD, CD, etc.

4. Memoria ROM

a) La memoria ROM es el medio de almacenamiento de programas o datos que


permiten el buen funcionamiento de los ordenadores o dispositivos electrónicos a
través de la lectura de la información sin que pueda ser destruida o reprogramable.
El significado de memoria ROM es “Read Only Memory” traducido al español
“Memoria de solo lectura.”

AT28C64B

b) La memoria ROM es conocida como memoria no volátil ya que la información


contenida en ella no es borrable al apagar el dispositivo electrónico. La memoria
ROM es ideal para almacenar las rutinas básicas a nivel de hardware, por ejemplo,
el programa de inicialización de arranque el ordenador y realiza el chequeo de la
memoria y los dispositivos.

La memoria ROM suele estar ya integrada en el ordenador y en varios periféricos


que se instalan ya en el ordenador. Por ejemplo, en la placa madre del ordenador se
encuentran los chips de la ROM BIOS, que es el conjunto de rutinas mas
importantes para comunicarse con los dispositivos. O, también, las tarjetas de vídeo,
las tarjetas controladoras de discos y las tarjetas de red tienen un chip de ROM con
rutinas especiales para gestionar dichos periféricos.
5
c) PROM: por las siglas de Programmable Read Only memory, en castellano ROM
programable, se identifica por ser digital. En esta clase de memoria cada uno de los
bits está determinado por un fusible, el cual solo es posible quemarlo una única vez.
Esto genera que, mediante un programador PROM, lleguen a ser programadas por
solo una vez. La memoria PROM es empleada en situaciones en que la información
requiere transformarse en todos o en la mayoría de las oportunidades. Además se la
busca en especial en aquella información que desea almacenarse de modo duradero
que no superen a los de la ROM.

EPROM: sus siglas en inglés de Erasable Programmable Read-Only Memory, en


castellano, ROM programable borrable de sólo lectura. Esta clase de memoria ROM
es un chip sin volatilidad y está constituido por transistores de puertas flotantes o
celdas FAMOS que se producen de fábrica sin carga alguna. Esta memoria es
posible programarla mediante un dispositivo electrónico en que dichos voltajes
superan a los empleados en circuitos electrónicos. A partir de esto, las celdas
empiezan a leerse como 1, anterior a esto se realiza como 0. Esta memoria ofrece la
posibilidad de ser borrada únicamente si es expuesta a las luces ultravioletas. En el
momento que la EPROM es programada, se convierte en no volátil, es decir, que la
información guardada permanece allí de manera atemporal. No obstante, puede ser
eliminada y reprogramada con el uso de altos niveles de voltaje. Si bien en la
actualidad continúan siendo empleadas, revelan algunas desventajas, entre ellas
que el proceso borrado del chip es siempre completo, es decir que no es posible
elegir alguna dirección en especial. Por otra parte, para reprogramarlas o borrarlas,
deben desplazarse de su circuito y este proceso tarda como mínimo veinte minutos.
Este tipo de desventajas han sido sobrepasadas por memorias flash y EEPROM, por
lo que las EPROM están entrando en desuso en determinados diseños y
aplicaciones.

EEPROM: sus siglas en inglés de Electrically Erasable Programmable Read Only


Memory, que significan en castellano ROM programable y borrable eléctricamente.
Esta memoria, como su denominación lo señala puede ser programada, borrada y
reprogramada eléctricamente sin que sea necesario la exposición a los rayos
ultravioleta, por ejemplo, como en las EPROM, lo que implica que resulten no
volátiles. A la vez de poseer las flotantes, como las previamente mencionadas,
dispone de una capa de óxido localizado en el drenaje de la celda MOSFET, lo que
facilita que la memoria logre borrarse eléctricamente. Como para efectuar esto no se
requieren programadores específicos ni rayos ultravioletas, es posible llevarlo a cabo
en el propio circuito. Al mismo tiempo se puede reescribir y borrar bytes
individualmente, y son más asequibles y rápidas de reprogramar que las anteriores.
Las desventajas que tiene en relación con las ya mencionadas son la densidad y sus
altos costos.

d) Los principales componentes de la memoria ROM son, un decodificador que


permite seleccionar una posición de memoria de modo tal que la palabra allí
almacenada sea leída. Estos decodificadores están compuestos de n entradas de
selección y 2n salidas.
6
Los bits igual a 1 de la palabra seleccionada son inyectados a una serie de
compuertas lógicas OR, para luego ser utilizada. La cantidad de compuertas OR
necesarias es igual a la cantidad de bits que posee la palabra de memoria.

5. Memoria RAM

a) La memoria RAM es la memoria principal de un dispositivo donde se almacena


programas y datos informativos. Las siglas RAM significan “Random Access
Memory” traducido al español es “Memoria de Acceso Aleatorio”.

Al igual que la memoria ROM, la memoria RAM puede ser considerada como un
conjunto de posiciones de memoria, solo que en cada una de estas puede leerse
información y también puede escribirse. Cada una de estas posiciones de memoria
se identifica por una dirección única, la cual recibe el nombre de palabra. En cada
palabra es posible leer o almacenar un número fijo de bits, los cuales pueden
representar una instrucción o dato.

Memoria RAM DDR3

b)  Permiten almacenar y recuperar la información. Esta memoria es basada


en semiconductores que puede ser leída y escrita por el microprocesador u otros
dispositivos de hardware. El acceso a las posiciones de almacenamiento se puede
realizar en cualquier orden. Los chips de memoria son pequeños rectángulos negros
que suelen ir soldados en grupos a unas plaquitas con "pines" o contactos. La RAM
es muchísimo más rápida, y que se borra al apagar el ordenador, no como otro tipo
de memoria.

c) SRAM: Se instalan sin necesidad de inclinarnos con respecto a la placa base. Se


caracterizan por que el módulo tiene dos muescas. El número total de contactos es
de 168. Pueden ofrecer una velocidad entre 66 y 133MHZ. En la actualidad ya casi
no se comercializan

7
DRAM:  la memoria de acceso aleatorio dinámico tiene células de memoria con un
transistor y un condensador emparejados que requieren una actualización constante.
Ya no se usan.

DDR RAM: Sucesora de la memoria SRAM, tiene un diseño similar, pero con una
sola muesca y 184 contactos. Ofrece una velocidad entre 200 y 600MHZ. Se
caracteriza por utilizar un mismo ciclo de reloj para hacer dos intercambios de datos
a la vez.

DDR2 RAM: Tiene 240 pines. Los zócalos no son compatibles con la DDR RAM. La
muesca está situada dos milímetros hacia la izquierda con respecto a la DDR RAM.
Se comercializan pares de módulos de 2Gb (2x2GB). Pueden trabajar a velocidades
entre 400 y 800MHz.

Memoria Cache

La memoria caché o la caché es una memoria auxiliar, de gran velocidad y


eficiencia, en la cual se almacenan copias de los archivos y datos a los que el
usuario accede con mayor frecuencia, bien sea a través del ordenador o de un
dispositivo móvil.

La memoria caché tiene como principal función la capacidad de operar de manera


más rápida y eficiente, cada vez que se necesite hacer uso de los datos que en ella
se encuentren almacenados.

Es decir, cada vez que el usuario necesite acceder a un dato que sea
constantemente utilizado, el mismo se almacena en la memoria caché, así, cuando
se necesite hacer uso de éste, nuevamente, ya estará almacenado en la memoria
caché y el proceso de búsqueda será mucho más rápido.

Cuando se ejecuta un programa en una computadora, la mayor parte de las


referencias de memoria se hacen respecto a una pequeña parte de cantidad de
direcciones. En general, el 90% de del tiempo de ejecución se consume en
aproximadamente el 10% del código. Esta propiedad se conoce como principio de
localidad. Cuando un programa hace referencia a una locación de memoria, es muy
probable que vaya a acceder de nuevo a ella en un corto plazo de tiempo.

Ya que la mayoría de las referencias vienen de un pequeño conjunto de locaciones,


se aprovecha mejor el principio de localidad para optimizar el rendimiento. Con este
mismo objetivo se puede colocar una memoria cache entre la memoria principal y la
unidad central de procesos, rápida y pequeña, para almacenar los datos lo que está
guardado en las direcciones a las que se recurre frecuentemente.

8
Memoria cache de asignación asociativa

El proceso de asignación de las direcciones de memoria principal a las direcciones


de memoria cache llevo al desarrollo y mejoramiento de distintos mecanismos de
hardware.

Entre los distintos métodos de asignación de memoria cache lo que varía es el costo
y el rendimiento. Dentro de una asignación asociativa se podría analizar un espacio
de memoria de 232 palabras, dividida en 227 bloques de 32 palabras por bloque. La
memoria principal no se divide físicamente de dicha manera, simplemente es la
visión que tiene la memoria cache de la memoria principal. Los bloques de la
memoria cache o líneas de cache, tiene un tamaño que puede ir desde 8 hasta 64
bytes. La información entra y sale de la memoria cache de a una línea por vez.

Podemos dar un ejemplo que consiste en 214 líneas en la que se puede colocar dos
bloques de memoria principal. Existen más bloques de memoria principal que líneas
de memoria cache y cualquiera de los 227 bloques puede situarse en cualquier línea,
pero solo puede ser un bloque por línea en un determinado momento.

Esta técnica de asignación tiene la ventaja de que cualquier bloque de memoria


puede colocarse en cualquier línea.

Memoria cache de asignación directa

9
Al igual que antes la memoria de divide en 2 27 bloques de 32 palabras por bloque y
la memoria de igual modo cuenta con 214 líneas. Hay demasiados bloques de
memoria principal para la cantidad de línea de memoria cache por lo que si
dividimos dicha cantidad de bloques en cantidad de líneas podemos asignar 2 13
bloques de memoria principal para cada línea de memoria cache. Con el propósito
de mantener el control de cuál de los 213 bloques posibles se encuentra en cada
línea, se agrega un campo de etiquetas de 13 bits que contiene un identificador cuyo
rango va desde 0 hasta 213 - 1.

Este tipo de asignación es relativamente simple de utilizar.

Asignación asociativa por conjuntos

El esquema de asignación por conjuntos combina la simplicidad de la asignación


directa con la flexibilidad de la asignación asociativa por lo cual este método es más
practico. Ejemplificando, dos bloques forman un conjunto, por lo que se tiene una
memoria cache asociativa de dos vías. En caso de haber cuatro bloques, esta
memoria tendrá cuatro vías.

Dado que hay 214 líneas de memoria, existen 214/2= 213 conjuntos. Para asignar una
dirección a un conjunto de utiliza la asignación directa y dentro del conjunto la

10
asignación asociativa. La dirección tiene un formato de 13 bits en el campo del
conjunto para identificar al conjunto en el que se encontraría la palabra a la que se
desea acceder si estuviese en la memoria cache.

Rendimiento de la memoria cache

Las políticas de escritura y lectura de una memoria cache se resumen en:

Lectura de cache: si los datos están en la memoria cache, se envían a la CPU. Si no


están en la cache, se hace una carga inmediata: envía la palabra tan pronto para
que se llene la línea de cache o completa la línea de cache y luego envía la palabra.

Escritura de cache: si los datos están en la memoria cache se puede realizar una
escritura inmediata, escribir los datos en la memoria principal y simultáneamente en
la memoria cache. O una escritura diferida, que consiste en enviar los datos solo a la
memoria cache. Diferir de memoria principal hasta que se haya limpiado el bloque.
Si los datos no se encuentran en la cache, se procede a hacer una escritura de
asignación en la cual se trae la línea a la memoria cache y luego actualiza; o una
escritura sin asignación, que solo actualiza la memoria principal

Memoria cache multinivel

A medida que fue creciendo el tamaño de ios circuitos integrados de silicio, así como
la densidad de integración de los elementos que lo componen, se hizo posible incluir
la memoria cache en el mismo circuito integrado que el procesador. Dado que la
velocidad de procesamiento interna del circuito integrado es mayor que la velocidad
de comunicación entre circuitos integrados, una memoria cache integrada en el
mismo circuito que el procesador puede ser más rápida que una memoria cache
externa al circuito procesador. No obstante, la tecnología actual no ofrece la
densidad suficiente como para colocar toda la memoria cache en el mismo circuito
integrado del procesador. Por tal motivo, se han desarrollado memorias cache de
múltiples niveles en las cuales el nivel más rápido, Ll, se integra en el mismo circuito
integrado que contiene al procesador, en tanto que el resto de la memoria se coloca
fuera de dicho circuito integrado. Las memorias cache de datos e instrucciones se
mantienen separadas en el nivel L1, en tanto que en el nivel L2 se implementan
unificadas, lo que significa que la misma memoria contiene tanto datos como
instrucciones

El uso de múltiples niveles de caché es parcialmente un mecanismo para coordinar


procesadores multi-núcleo y parcialmente un compromiso entre precio y rendimiento.
En un procesador con múltiples núcleos, cada núcleo tiene su propio caché L1. Esto
permite al núcleo leer y escribir desde y hacia la memoria caché sin preocuparse por
interferir con otros núcleos. Los núcleos necesitan almacenamiento compartido, sin
embargo, para que puedan intercambiar cierta información fácilmente. La caché L2
es compartida por todos los núcleos, por lo que se utiliza como una especie de
espacio de almacenamiento común donde la información está disponible para todos
los subprocesos.
11
La diferencia entre las cachés L2 y L3 es la parte de compromiso. Los cachés están
hechos de RAM estática, o SRAM. Esto es diferente de la RAM dinámica (DRAM)
que compone su memoria principal. RAM dinámica tiene que ser "refrescado"
periódicamente, es decir, con el tiempo DRAM células pierden su valor a menos que
se leen y luego volver a escribir. El controlador de memoria lo hace
automáticamente, pero cada vez que el controlador de memoria tiene que hacer esto
(miles de veces por segundo) no puede leer / escribir valores para el procesador
hasta que se hace. Esto ralentiza DRAM. SRAM no tiene esta limitación, SRAM
mantendrá su valor indefinidamente siempre y cuando tenga potencia operativa, lo
que lo hace mucho más rápido. Por lo tanto, sus cachés (L2 y L3) están hechos de
SRAM. El problema es que la SRAM es muy cara; Mientras que 4 GB de DRAM de
alta velocidad es un poco caro pero asequible, 4 GB de SRAM es mucho más allá de
su rango de precios.

12
Bibliografía

Bagley Steve. (2015). Why do CPUs Need Caches? [Video]. Computerphile.

Bagley Steve. (2014). How computer memory works [Video]. Computerphile.

Bagley Steve. (2017). Inside the CPU [Video]. Computerphile

Brailsford. (2016). Computers without memory. [Video]. Computerphile.

Barnatt Christopher (2014). Explaining SSDs. Explaining Computers.

Murdocca y Heuring. Principios de Arquitectura de Computadoras, Prentice Hall


(Capítulo 7).

Stalling, William. Organización y Arquitectura de Computadores, Prentice Hall, 5ta y


7ma edición (Capítulos 4 y 5).

13
14

También podría gustarte