Download Equipo_2_3X - Ing. Jorge Maranto Iglecias

Document related concepts
no text concepts found
Transcript
S.E.P.
S.N.E.S.T.
D.G.E.S.T.
INSTITUTO TECNOLÓGICO DEL ISTMO
MATERIA:
Estructura de Datos
CATEDRATICO:
Ing. Jorge Maranto Iglecias
ALUMNOS:
Isela Angélica Salinas García
Guiecniza Dehesa Blas
Oscar Eduardo Guerra Cañada
TEMAS:
Memoria RAM
Memoria Cache
Memoria Estática
Memoria Dinámica
ESPECIALIDAD:
Ing. En sistemas Computacionales
GRUPO:
3X
LA MEMORIA RAM
La memoria principal o RAM (Random Access Memory, Memoria de Acceso Aleatorio) es
donde el computador guarda los datos que está utilizando en el momento presente. El
almacenamiento es considerado temporal por que los datos y programas permanecen en ella
mientras que la computadora este encendida o no sea reiniciada.
Se le llama RAM por que es posible acceder a cualquier ubicación de ella aleatoria y
rápidamente.
Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente
conectados a la tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir
soldados en grupos a unas plaquitas con "pines" o contactos:
La diferencia entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes o
los discos duros, es que la RAM es mucho más rápida, y que se borra al apagar el computador,
no como los Disquetes o discos duros en donde la información permanece grabada.
USO POR EL SISTEMA
Se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del
software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras
unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en
una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo
necesario seguir un orden para acceder a la información de la manera más rápida posible.
NOMENCLATURA
La expresión memoria RAM se utiliza frecuentemente para referirse a los módulos de
memoria que se usan en los computadores personales y servidores. En el sentido estricto, los
módulos de memoria contienen un tipo, entre varios de memoria de acceso aleatorio, ya que
las ROM, memorias Flash, caché (SRAM), los registros en procesadores y otras unidades de
procesamiento también poseen la cualidad de presentar retardos de acceso iguales para
cualquier posición. Los módulos de RAM son la presentación comercial de este tipo de
memoria, que se compone de circuitos integrados soldados sobre un circuito impreso, en
otros dispositivos como las consolas de videojuegos, esa misma memoria va soldada sobre la
placa principal.
Su capacidad se mide en bytes, y dada su naturaleza siempre binaria, sus múltiplos serán
representados en múltiplos binarios tales como Kilobyte, Megabyte, Gigabyte, Terabyte ... y así
sucesivamente.
RELACION CON EL RESTO DEL SISTEMA
Dentro de la jerarquía de memoria la RAM se encuentra en un nivel después de los registros
del procesador y de las cachés. Es una memoria relativamente rápida y de una capacidad
media: sobre el año 2010), era fácil encontrar memorias con velocidades de más de 1 Ghz, y
capacidades de hasta 8 GB por módulo, llegando a verse memorias pasando la barrera de los 3
Ghz por esa misma fecha mediante prácticas de overclock extremo. La memoria RAM
contenida en los módulos, se conecta a un controlador de memoria que se encarga de
gestionar las señales entrantes y salientes de los integrados DRAM. Algunas señales son las
mismas que se utilizan para utilizar cualquier memoria: Direcciones de las posiciones, datos
almacenados y señales de control.
El controlador de memoria debe ser diseñado basándose en una tecnología de memoria, por
lo general soporta solo una, pero existen excepciones de sistemas cuyos controladores
soportan dos tecnologías (por ejemplo SDR y DDR o DDR1 y DDR2), esto sucede en las épocas
transitorias de una nueva tecnología de RAM. Los controladores de memoria en sistemas
como PC y servidores se encuentran embebidos en el llamado "North Bridge" o "Puente
Norte" de la placa base; o en su defecto, dentro del mismo procesador (en el caso de los
procesadores desde AMD Athlon 64 e Intel Core i7) y posteriores; y son los encargados de
manejar la mayoría de información que entra y sale del procesador.
Las señales básicas en el módulo están divididas en dos buses y un conjunto misceláneo de
líneas de control y alimentación. Entre todas forman el bus de memoria:

Bus de datos: Son las líneas que llevan información entre los integrados y el controlador.
Por lo general están agrupados en octetos siendo de 8,16,32 y 64 bits, cantidad que debe
igualar el ancho del bus de datos del procesador. En el pasado, algunos formatos de
modulo, no tenían un ancho de bus igual al del procesador.En ese caso había que montar
módulos en pares o en situaciones extremas, de a 4 módulos, para completar lo que se
denominaba banco de memoria, de otro modo el sistema no funciona. Esa es la principal
razón de haber aumentar el número de pines en los módulos, igualando el ancho de bus de
procesadores como el Pentium de 64 bits a principios de los 90.

Bus de direcciones: Es un bus en el cual se colocan las direcciones de memoria a las que
se requiere acceder. No es igual al bus de direcciones del resto del sistema, ya que está
multiplexado de manera que la dirección se envía en dos etapas.Para ello el controlador
realiza temporizaciones y usa las líneas de control. En cada estándar de módulo se
establece un tamaño máximo en bits de este bus, estableciendo un límite teórico de la
capacidad máxima por módulo.

Señales misceláneas: Entre las que están las de la alimentación (Vdd, Vss) que se
encargan de entregar potencia a los integrados. Están las líneas de comunicación para el
integrado depresencia que da información clave acerca del módulo. También están las
líneas de control entre las que se encuentran las llamadas RAS (row address strobe) y CAS
(column address strobe) que controlan el bus de direcciones y las señales de reloj en las
memorias sincrónicas SDRAM.
Entre las características sobresalientes del controlador de memoria, está la capacidad de
manejar la tecnología de canal doble (Dual Channel), tres canales, o incluso cuatro para los
procesadores venideros; donde el controlador maneja bancos de memoria de 128 bits.
Aunque el ancho del bus de datos del procesador sigue siendo de 64 bits, el controlador de
memoria puede entregar los datos de manera intercalada, optando por uno u otro canal,
reduciendo las latencias vistas por el procesador. La mejora en el desempeño es variable y
depende de la configuración y uso del equipo. Esta característica ha promovido la
modificación de los controladores de memoria, resultando en la aparición de nuevos chipsets
(la serie 865 y 875 de Intel) o de nuevos zócalos de procesador en los AMD (el 939 con canal
doble , reemplazo el 754 de canal sencillo). Los equipos de gama media y alta por lo general se
fabrican basados en chipsets o zócalos que soportan doble canal o superior.
TIPOS DE RAM
Hay dos tipos básicos de RAM:


SRAM (Static RAM), RAM estática
DRAM (Dynamic RAM), RAM dinámica
Los dos tipos difieren en la tecnología que usan para almacenar los datos. La
RAM dinámica necesita ser refrescada cientos de veces por segundo, mientras que la
RAM estática no necesita ser refrescada tan frecuentemente, lo que la hace más rápida, pero
también más cara que la RAM dinámica. Ambos tipos son volátiles, lo que significa que pueden
perder su contenido cuando se desconecta la alimentación.
En el lenguaje común, el término RAM es sinónimo de memoria principal, la memoria
disponible para programas. En contraste, ROM (Read Only Memory) se refiere a la memoria
especial generalmente usada para almacenar programas que realizan tareas de arranque de la
máquina y de diagnósticos. La mayoría de los computadores personales tienen una pequeña
cantidad de ROM (algunos Kbytes). De hecho, ambos tipos de memoria (ROM y RAM )permiten
acceso aleatorio. Sin embargo, para ser precisos, hay que referirse a la memoria RAM como
memoria de lectura y escritura, y a la memoria ROM como memoria de solo lectura.
Se habla de RAM como memoria volátil, mientras que ROM es memoria no-volátil.
La mayoría de los computadores personales contienen una pequeña cantidad de ROM que
almacena programas críticos tales como aquellos que permiten arrancar la máquina
(BIOS CMOS). Además, las ROMs son usadas de forma generalizada en calculadoras
y dispositivos periféricos tales como impresoras laser, cuyas 'fonts' estan almacenadas
en ROMs.

SRAM
Siglas de Static Random Access Memory, es un tipo de memoria que es más rápida y fiable que
la más común DRAM (Dynamic RAM). El término estática viene derivado del hecho que
necesita ser refrescada menos veces que la RAM dinámica.
Los chips de RAM estática tienen tiempos de acceso del orden de 10 a 30 nanosegundos,
mientras que las RAM dinámicas están por encima de 30, y las memorias bipolares y ECL se
encuentran por debajo de 10 nanosegundos.
basada en semiconductores que a diferencia de la memoria DRAM, es capaz de mantener los
datos, mientras esté alimentada, sin necesidad de circuito de refresco. Sin embargo, sí son
memorias volátiles, es decir que pierden la información si se les interrumpe la alimentación
eléctrica.
Un bit de RAM estática se construye con un --- como circuito flip-flop que permite que la
corriente fluya de un lado a otro basándose en cual de los dostransistores es activado. Las
RAM estáticas no precisan de circuiteria de refresco como sucede con las RAMs dinámicas,
pero precisan más espacio y usan mas energía. La SRAM, debido a su alta velocidad, es usada
como memoria caché.
La memoria SRAM es más cara, pero más rápida y con un menor consumo (especialmente en
reposo) que la memoria DRAM. Es utilizada, por tanto, cuando es necesario disponer de un
menor tiempo de acceso, o un consumo reducido, o ambos. Debido a su compleja estructura
interna, es menos densa que DRAM, y por lo tanto no es utilizada cuando es necesaria una alta
capacidad de datos, como por ejemplo en la memoria principal de los computadores
personales.
DISEÑO SRAM
Estas memorias son de Acceso Aleatorio, lo que significa que las posiciones en la memoria
pueden ser escritas o leídas en cualquier orden, independientemente de cual fuera la última
posición de memoria accedida. Cada bit en una SRAM se almacena en cuatro transistores, que
forman un biestable. Este circuito biestable tiene dos estados estables, utilizados para
almacenar (representar) un 0 o un 1. Se utilizan otros dos transistores adicionales para
controlar el acceso al biestable durante las operaciones de lectura y escritura. Una SRAM
típica utilizará seis MOSFET para almacenar cada bit. Adicionalmente, se puede encontrar
otros tipos de SRAM, que utilizan ocho, diez, o más transistores por bit. 1 2 3 Esto es utilizado
para implementar más de un puerto de lectura o escritura en determinados tipos de memoria
de video.
Un menor número de transistores por celda, hará posible reducir el tamaño de esta,
reduciendo el coste por bit en la fabricación, al poder implementar más celdas en una misma
oblea de silicio.
Es posible fabricar celdas que utilicen menos de seis transistores, pero en los casos de tres
transistores4 5 o uno solo se estaría hablando de memoria DRAM, no SRAM.
El acceso a la celda es controlado por un bus de control (WL en la figura), que controla los dos
transistores de acceso M5 y M6, quienes controlan si la celda debe ser conectada a los
buses BL y BL. Ambos son utilizados para transmitir datos tanto para las operaciones de
lectura como las de escritura, y aunque no es estrictamente necesario disponer de ambos
buses, se suelen implementar para mejorar los margenes de ruido.
A diferencia de la DRAM, en la cual la señal de la línea de salida se conecta a un capacitador, y
este es el que hace oscilar la señal durante las operaciones de lectura, en las celdas SRAM son
los propios biestables los que hacen oscilar dicha señal, mientras que la estructura simétrica
permite detectar pequeñas variaciones de voltaje con mayor precisión. Otra ventaja de las
memorias SRAM frente a DRAM, es que aceptan recibir todos los bits de dirección al mismo
tiempo.
El tamaño de una memoria SRAM con m líneas de dirección, y n líneas de datos es 2m palabras,
o 2m × n bits.
A six-transistor CMOS SRAM cell.
MODOS DE OPERACION DE UNA SRAM
Una memoria SRAM tiene tres estados distintos de operación: standby, en el cual el circuito
está en reposo, reading o en fase de lectura, durante el cual los datos son leídos desde la
memoria, ywriting o en fase de escritura, durante el cual se actualizan los datos almacenados
en la memoria.

Reposo
Si bus de control (WL) no está activado, los transistores de acceso M5 y
M6 desconectan la celda de los buses de datos. Los dos biestables formados por M 1 –
M4 mantendrán los datos almacenados, en tanto dure la alimentación eléctrica.

Lectura
Se asume que el contenido de la memoria es 1, y está almacenado en Q. El ciclo de
lectura comienza cargando los buses de datos con el 1 lógico, y luego activa WL y los
transistores de control. A continuación, los valores almacenados en Q y Q se
transfieren a los buses de datos, dejando BL en su valor previo, y ajustando BL a través
de M1 y M5 al 0 lógico. En el caso que el dato contenido en la memoria fuera 0, se
produce el efecto contrario: BL será ajustado a 1 y BL a 0.

Escritura
El ciclo de escritura se inicia aplicando el valor a escribir en el bus de datos. Si se trata
de escribir un 0, se ajusta BL a 1 y BL a 0, mientras que para un 1, basta con invertir
los valores de los buses. Una vez hecho esto, se activa el bus WL, y el dato queda
almacenado.

DRAM
Siglas de Dynamic RAM, un tipo de memoria de gran capacidad pero que precisa ser
constantemente refrescada (re-energizada) o perdería su contenido. Generalmente usa
un transistor y un condensador para representar un bit Los condensadores debe de ser
energizados cientos de veces por segundo para mantener las cargas. Las dos principales
variaciones de RAM (dinámica y estática) pierden su contenido cuando se desconectan de la
alimentación. Contrasta con la RAM estática.
Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el
mismo y recargarlo, cada cierto período, en un ciclo de refresco. Su principal ventaja es la
posibilidad de construir memorias con una gran densidad de posiciones y que todavía
funcionen a una velocidad alta: en la actualidad se fabrican integrados con millones de
posiciones y velocidades de acceso medidos en millones de bit por segundo. Es una memoria
volátil, es decir cuando no hay alimentación eléctrica, la memoria no guarda la información.
Inventada a finales de los sesenta, es una de las memorias más usadas en la actualidad.
FUNCIONAMIENTO DRAM
La celda de memoria es la unidad básica de cualquier memoria, capaz de almacenar un Bit en
los sistemas digitales. La construcción de la celda define el funcionamiento de la misma, en el
caso de la DRAM moderna, consiste en un transistor de efecto de campo y un condensador. El
principio de funcionamiento básico, es sencillo: una carga se almacena en el condensador
significando un 1 y sin carga un 0. El transistor funciona como un interruptor que conecta y
desconecta al condensador. Este mecanismo puede implementarse con dispositivos discretos
y de hecho muchas memorias anteriores a la época de los semiconductores, se basaban en
arreglos de celdas transistor-condensador.
Las celdas en cualquier sistema de memoria, se organizan en la forma de matrices de dos
dimensiones, a las cuales se accede por medio de las filas y las columnas. En la DRAM estas
estructuras contienen millones de celdas y se fabrican sobre la superficie de la pastilla de
silicio formando áreas que son visibles a simple vista. En el ejemplo tenemos un arreglo de
4x4 celdas, en el cual las líneas horizontales conectadas a las compuertas de los transistores
son las llamadas filas y las líneas verticales conectadas a los canales de los FET son
las columnas.
Para acceder a una posición de memoria se necesita una dirección de 4 bits, pero en las DRAM
las direcciones están multiplexadas en tiempo, es decir se envían por mitades. Las entradas
marcadas como a0 y a1 son el bus de direcciones y por el mismo entra la dirección de la fila y
después la de la columna. Las direcciones se diferencian por medio de señales de
sincronización llamadas RAS (del inglés Row Address Strobe) y CAS (Column Address Strobe)
que indican la entrada de cada parte de la dirección.
Los pasos principales para una lectura son:

Las columnas son precargadas a un voltaje igual a la mitad del voltaje de 1 lógico. Esto es
posible ya que las líneas se comportan como grandes condensadores, dada su longitud
tienen un valor más alto que la de los condensadores en las celdas.

Una fila es energizada por medio del decodificador de filas que recibe la dirección y la
señal de RAS. Esto hace que los transistores conectados a una fila conduzcan y
permitiendo la conexión electrica entre las líneas de columna y una fila de condensadores.
El efecto es el mismo que se produce al conectar dos condensadores, uno cargado y otro
de carga desconocida: se produce un balance de que deja a los dos con un voltaje muy
similar, compartiendo las cargas. El resultado final depende del valor de carga en el
condensador de la celda conectada a cada columna. El cambio es pequeño, ya que la línea
de columna es un condensador más grande que el de la celda.

El cambio es medido y amplificado por una sección que contiene circuitos
de realimentación positiva: si el valor a medir es menor que el la mitad del voltaje de 1
lógico, la salida será un 0, si es mayor, la salida se regenera a un 1. Funciona como un
redondeo.

La lectura se realiza en todas las posiciones de una fila de manera que al llegar la segunda
parte de la dirección, se decide cual es la celda deseada. Esto sucede con la señal CAS. El
dato es entregado al bus de datos por medio de la lineo D.O. y las celdas involucradas en el
proceso son reescritas, ya que la lectura de la DRAM es destructiva.
La escritura en una posición de memoria tiene un proceso similar al de arriba, pero en lugar
de leer el valor, la línea de columna es llevada a un valor indicado por la línea D.I. y el
condensador es cargado o descargado. El flujo del dato es mostrado con una línea gruesa en el
gráfico.
MÓDULOS DE MEMORIA RAM
Los módulos de memoria RAM son tarjetas de circuito impreso que tienen soldados integrados de
memoria DRAM por una o ambas caras. La implementaciónDRAM se basa en una topología
de Circuito eléctrico que permite alcanzar densidades altas de memoria por cantidad de
transistores, logrando integrados de decenas o cientos de Megabits. Además de DRAM, los
módulos poseen un integrado que permiten la identificación de los mismos ante el computador
por medio del protocolo de comunicación SPD.
La conexión con los demás componentes se realiza por medio de un área de pines en uno de los
filos del circuito impreso, que permiten que el modulo al ser instalado en un zócalo apropiado de
la placa base, tenga buen contacto eléctrico con los controladores de memoria y las fuentes de
alimentación. Los primeros módulos comerciales de memoria eran SIPP de formato propietario, es
decir no había un estándar entre distintas marcas. Otros módulos propietarios bastante conocidos
fueron los RIMM, ideados por la empresa RAMBUS.
La necesidad de hacer intercambiable los módulos y de utilizar integrados de distintos fabricantes
condujo al establecimiento de estándares de la industria como los JEDEC.
Módulos SIMM: Formato usado en computadores antiguos. Tenían un bus de datos de 16 o 32 bits
Módulos DIMM: Usado en computadores de escritorio. Se caracterizan por tener un bus de datos
de 64 bits.
Módulos SO-DIMM: Usado en computadores portátiles. Formato miniaturizado de DIMM.
LA CACHÉ
En informática, la caché de CPU, es una caché1 (/ˈkæʃ/ o /kaʃ/) usada por la unidad central de
procesamiento de una computadora para reducir el tiempo de acceso a la memoria. La caché
es una memoria más pequeña y rápida, la cual almacena copias de datos ubicados en la
memoria principal que se utilizan con más frecuencia.
Es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos
originales son costosos de acceder, normalmente en tiempo, respecto a la copia en la caché.
Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos
siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea
menor.
Cuando el procesador necesita leer o escribir en una ubicación en memoria principal, primero
verifica si una copia de los datos está en la caché. Si es así, el procesador de inmediato lee o
escribe en la memoria caché, que es mucho más rápido que de la lectura o la escritura a la
memoria principal.
Diagrama de una memoria caché de CPU.
NOMBRE
La palabra procede de la voz inglesa cache (/kæʃ/; «escondite secreto para guardar
mercancías, habitualmente de contrabando») y esta a su vez de la francesa cache, (/kaʃ/;
«escondrijo o escondite»). A menudo, en español se escribe con tilde sobre la «e» del mismo
modo como el que se venía escribiendo con anterioridad al neologismo la palabra «caché»
(«distinción o elegancia» o «cotización de un artista»), proveniente de un étimo también
francés, pero totalmente distinto: cachet, (/ka'ʃɛ/; «sello» o «salario»). La Real Academia
Española sólo reconoce la palabra con tilde,1aunque en la literatura especializada en
Arquitectura de Computadoras (como, entre otros, las traducciones de los libros de Andrew S.
Tanenbaum, John L. Hennessy y David A. Patterson) se emplea siempre la palabra sin tilde
(aunque debería, además, escribirse en cursiva).
MEMORIA CACHÉ O RAM CACHÉ
Un caché es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un área
reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad
independiente. Hay dos tipos de caché frecuentemente usados en las computadoras
personales: memoria caché y caché de disco. Una memoria caché, llamada también a veces
almacenamiento caché o RAM caché, es una parte de memoria RAM estática de alta velocidad
(SRAM) más que la lenta y barata RAM dinámica (DRAM) usada como memoria principal. La
memoria caché es efectiva dado que los programas acceden una y otra vez a los mismos datos
o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a la lenta
DRAM.
Cuando se encuentra un dato en la caché, se dice que se ha producido un acierto, siendo un
caché juzgado por su tasa de aciertos (hit rate). Los sistemas de memoria caché usan una
tecnología conocida por caché inteligente en la cual el sistema puede reconocer cierto tipo de
datos usados frecuentemente. Las estrategias para determinar qué información debe de ser
puesta en el caché constituyen uno de los problemas más interesantes en la ciencia de las
computadoras. Algunas memorias caché están construidas en la arquitectura de los
microprocesadores. Por ejemplo, el procesador Pentium II tiene una caché L2 de 512
Kilobytes.
La caché de disco trabaja sobre los mismos principios que la memoria caché, pero en lugar de
usar SRAM de alta velocidad, usa la convencional memoria principal. Los datos más recientes
del disco duro a los que se ha accedido (así como los sectores adyacentes) se almacenan en
un buffer de memoria. Cuando el programa necesita acceder a datos del disco, lo primero que
comprueba es la caché del disco para ver si los datos ya están ahí. La caché de disco puede
mejorar drásticamente el rendimiento de las aplicaciones, dado que acceder a un byte de
datos en RAM puede ser miles de veces más rápido que acceder a un byte del disco duro.
COMPOSICIÓN INTERNA
La memoria caché está estructurada, una caché L2 de 512 KiB se distribuye en 16.384 filas y
63 columnas llamado Tag RAM, que indica a qué porción de la RAM se halla asociada cada
línea de caché, es decir, traduce una dirección de RAM en una línea de caché concreta.
DISEÑO
En el diseño de la memoria caché se deben considerar varios factores que influyen
directamente en el rendimiento de la memoria y por lo tanto en su objetivo de aumentar la
velocidad de respuesta de la jerarquía de memoria. Estos factores son las políticas de
ubicación, extracción, reemplazo, escritura y el tamaño de la caché y de sus bloques.