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.