Temas Subsistema de Memoria Organización de Memoria Principal Memoria Cache
Contexto actual (1) Velocidad del procesador: se duplica cada 18 meses (sin variar su precio) la cantidad de instrucciones ejecutadas por segundo.
Memoria: se cuadruplica su tamaño cada 36 meses (al mismo precio). Velocidad aumenta a razón de un 10% anual.
Contexto actual (2) A medida que aumenta la brecha entre las velocidades del procesador y de la memoria, las distintas arquitecturas buscan tender un puente sobre esta brecha.
Una computadora típica suele tener distintos tipos de memoria, desde una rápida y cara (registros) hasta una barata y lenta (discos).
Contexto actual (3) La interacción entre los diferentes tipos de memoria se aprovecha de forma tal que se logra un comportamiento, por parte de la computadora, equivalente al que tendría con una memoria única, grande y rápida, cuando en realidad tiene distintos tipos de memoria trabajando en forma coordinada.
Jerarquía de memorias (1) La forma en que se organizan estos distintos tipos de memoria es lo que se conoce como jerarquía de memoria. En la cima de la jerarquía están los registros. En la base, las memorias secundarias (discos magnéticos) y de almacenamiento off line (CD, DVD, cintas).
Jerarquía de memorias (2)
Jerarquía de memorias (3) A medida que ascendemos tenemos mayor rendimiento y más costo por bit. Entre la memoria principal y la secundaria hay otro tipo de memoria para salvar la brecha. Cuando ascendemos, también aumenta la frecuencia de accesos a ese tipo de memoria
Jerarquía de memorias (4) Memoria del computador : Tecnologías diferentes Fundamentos físicos distintos Localización en lugares distintos Objetivo : Capacidad de almacenamiento Tiempo de acceso reducido
Jerarquía de memorias (4)
Características (1) Duración de la información: Memorias volátiles: RAM Memorias no volátiles: discos, cintas Memorias permanentes: ROM, EPROM
Modo de acceso: Acceso por palabra: memoria principal Acceso por bloque: discos, caché
Características (2) Velocidad Memorias semiconductoras: Tiempo de acceso: tiempo máximo que transcurre desde que se inicia la operación de lec/esc hasta obtener/almacenar el dato. Tiempo de ciclo: Tiempo mínimo que tiene que haber entre dos operaciones sucesivas sobre la memoria tciclo > tacceso
Características (3) Memorias magnéticas: ¿como se calcula? Tiempo de acceso: tiempo de posicionar el cabezal + tiempo de latencia (+ tiempo de lectura) Velocidad de transferencia: bytes/seg
Características (4) Métodos de acceso Acceso aleatorio: el tiempo para acceder a una locación dada es independiente de la secuencia de accesos anteriores y es constante. Ejemplo la memoria principal. Acceso secuencial: el acceso debe hacerse en una secuencia lineal específica. Variable. Ejemplo son las unidades de cinta.
Características (5) Acceso directo: los bloques ó registros individuales tienen una dirección única que se basa en la localización física. Variable. Ejemplo los discos magnéticos. Acceso asociativo: memoria caché
Organización de la memoria (3)
Celda de memoria
Memoria de acceso aleatorio RAM (Random Access Memory). Aleatorio significa que se puede acceder a cualquier celda de memoria en el mismo tiempo, independientemente de la posición en la estructura de la memoria. Hay dos tipos: Basada en flip flops: memoria estática (SRAM) Basada en transistores: memoria dinámica (DRAM). Cargas almacenadas en transistores (capacitores) El acceso a las ROM también es de éste tipo
RAM estática o SRAM (1) El almacenamiento en RAM estática se basa en circuitos lógicos denominados flip-flop, que retienen la información almacenada en ellos mientras haya energía suficiente para hacer funcionar el dispositivo .
Un chip de RAM estática puede almacenar tan sólo una cuarta parte de la información que puede almacenar un chip de RAM dinámica de la misma complejidad.
RAM estática o SRAM (2) La RAM estática no requiere ser actualizada y es normalmente mucho más rápida que la RAM dinámica (el tiempo de ciclo de la SRAM es de 8 a 16 veces más rápido que las SRAM).
También es más cara, por lo que se reserva generalmente para su uso en la memoria de acceso aleatorio(caché).
RAM dinámica o DRAM DRAM almacenan la información en circuitos integrados que contienen condensadores, que pueden estar cargados o descargados .Almacena más información que SRAM en la misma superficie. Los capacitores son más chicos que los flip flop. Como éstos pierden su carga en el transcurso del tiempo, se debe incluir los circuitos necesarios para "refrescar" los chips de RAM cada pocos milisegundos, para impedir la pérdida de su información Usada como memoria principal
RAM dinámica o DRAM Algunas memorias dinámicas tienen la lógica del refresco en la propia pastilla, dando así gran capacidad y facilidad de conexión a los circuitos. Estas pastillas se denominan casi estáticas. Mientras la RAM dinámica se refresca, el procesador no puede leerla. Si intenta hacerlo en ese momento, se verá forzado a esperar. Como son relativamente sencillas, las RAM dinámicas suelen utilizarse más que las RAM estáticas, a pesar de ser más lentas.
TIPOS DE MODULOS DE RAM
SDRAM Synchronous DRAM (SDRAM) Actualmente en DIMMs Acceso sincronizado con un reloj externo Se presenta una dirección a la RAM RAM encuentra los datos (y CPU esperaría la DRAM) SDRAM mueve datos en tiempo del reloj del sistema, la CPU conoce cuando los datos estarán listos. CPU puede hacer otra cosa mientras tiene que esperar Modo Burst permite SDRAM trabajar en bloques
TIPOS DE MODULOS DE RAM
Organización interna de la memoria Una celda de memoria es capaz de almacenar un bit de información. Por lo general, varias celdas se organizan en forma de arreglo. En general la celda tiene 3 terminales funcionales capaces de llevar una señal eléctrica: Selección: selecciona una celda de memoria Control: especifica lectura ó escritura Escritura/Lectura de datos
Las nuevas tecnologías en RAM (1) Enhanced DRAM (ESDRAM)
Para superar algunos de los problemas de latencia inherentes con los módulos de memoria DRAM standard, se incluye una cantidad pequeña de SRAM directamente en el chip, eficazmente creando un caché en el chip. Permite tiempos de latencia más bajos y funcionamientos de 200 mhz. La SDRAM oficia como un caché dentro de la memoria. 7.Una de las desventajas de estas memorias es que su valor es 4 veces mayor al de la memoria DRAM.
Las nuevas tecnologías en RAM (3) Sysnclink DRAM – SLDRAM Es una DRAM es una extensión más rápida y mejorada de la arquitectura SDRAM que amplía el actual diseño de 4 bancos a 16 bancos. El ancho de banda de SLDRAM es de los más altos 3.2GB/s y su costo no seria tan elevado.
Bibliografía recomendada Capítulo 4: Memoria Interna. Stallings. 5ta Ed.
Link sugerido: http://www.pctechguide.com/14Memory.htm
?
MEMORIA CACHE
Memoria Caché
?Históricamente CPU han sido más rápidas que las memorias. ?El aumento de circuitos que es posible incluir en un chip ?Diseñadores de CPU lo usaron para hacerla más veloz (ej. pipeline). ?Los diseñadores de memoria lo usaron para aumentar la capacidad del chip (más memoria, más grandes decodificadores).
Memoria Caché (2)
?Esta diferencia implica: después que la CPU emite? una solicitud de lectura a la memoria (bus de direcciones, bus de control) pasan muchos ciclos de reloj antes que reciba la palabra que necesita, por el bus de datos.
Memoria Caché (3)
?En todos los ciclos de instrucción, la CPU accede a memoria al menos una vez, para buscar la instrucción y muchas veces accede a buscar operandos. ?La velocidad a la cual la CPU ejecuta instrucciones está limitada por el tiempo del ciclo de memoria.
Memoria Caché (4)
?El problema no es tecnológico sino económico. Se pueden construir memorias tan rápidas como la CPU, pero para obtener la máxima velocidad tiene que estar dentro del chip de la CPU llegar a la memoria por el bus del sistema es lento?.
Memoria Caché (5)
?Solución Técnicas para combinar una cantidad pequeña de memoria rápida con una cantidad grande de memoria lenta, para obtener la velocidad de memoria casi? rápida.
Funcionamiento de la Memoria Caché
Principios (1)
? El uso de la memoria caché se sustenta en dos principios ó propiedades que exhiben los programas: 1.Principio de localidad espacial de referencia ? cuando se accede a una palabra de memoria, es muy probable? que el próximo acceso sea en la vecindad de la palabra anterior.
Localidad Espacial
Se sustenta en: ?Ejecución secuencial del código
?Tendencia de los programadores a hacer próximas entre sí variables relacionadas
?Acceso a estructuras tipo matriz ó pila
Principios (2)
2.Principio de localidad temporal de referencia cuando se accede a una posición de memoria, es muy probable? que un lapso de tiempo corto?, dicha posición de memoria sea accedida nuevamente.
Localidad Temporal
Se sustenta en: ?Formación de ciclos o bucles
?Subrutinas (Procedimientos o Funciones)
Ejemplo
Estas 2 sentencias exhiben los dos principios antes mencionados: for i=1 to i=10, do A[i]:=0;
?En cada ciclo se consulta cuanto vale i.
?Cada asignación A[i]:=0 almacena un 0 en un elemento del arreglo (el siguiente).
Memoria Cache
La idea general es que cuando se hace referencia a una palabra, ella y alguna de las vecinas se traen de la memoria grande y lenta a la caché, para que en el siguiente acceso la palabra buscada se encuentre en el caché.
Memoria Cache
Aciertos y fallos (1)
?La efectividad de la caché se expresa a través de la frecuencia de aciertos: es decir el número de veces que la caché acierta direcciones.
?Un acierto de caché sucede cuando los datos que necesita el procesador están almacenados en la caché entonces la CPU obtiene los datos a alta velocidad.
Aciertos y fallos (2)
?Un fallo de caché ocurre cuando los datos buscados no se encuentran en la caché. En este caso la CPU tiene que obtenerlos de la memoria principal, a una velocidad menor.
MEMORIA EXTERNA SubProgramación II
Tipos de memoria Externa
?Discos magnéticos ?Discos ópticos CD-ROM CD-R CD-RW DVD ?Cintas Magnéticas
Discos Magnéticos
Platos Superficies de Al cubiertos con óxido de Fe, material magnético.
?Ahora también se usa vidrio Se dilata menos que el Al. Superficie más uniforme. Reducción de defectos superficiales.
Principios Físicos
Pequeñas áreas del disco son magnetizadas en diferentes direcciones por un transductor. Debe existir un movimiento relativo entre disco y el transductor al momento de la lectura/escritura.
Cambios en la dirección de magnetización es lo que se detecta en la lectura
Mecánica de Lectura y Escritura
Lectura y escritura es a través de una cabeza transductora (bobina).
Durante lectura/escritura, la cabeza es estacionaria y el plato gira.
Se almacenan ceros y unos por medio de la magnetización de pequeñas áreas del material.
Organización de los Datos
Anillos concéntricos: pistas ó tracks. Espacios (gaps) entre pistas Reducir gaps para aumentar capacidad Mismo No de bits por pista Velocidad angular constante Pistas divididas en sectores Mínimo tamaño de bloque: sector Bloque: más de un sector (cluster)
Características posibles
?Cabeza fija (raro) o móvil. ?Disco removible o fijo. ?Simple ó doble lado. ?Uno ó múltiples platos. ?Mecanismo de cabeza: Contacto (Floppy) Distancia Fija Aerodinámica (Winchester)
Estructura de un disco
Múltiples platos Una cabeza por cara Todas las cabezas se mueven solidariamente Pistas alineadas en cada plato forman cilindros Datos son almacenados por cilindros Reduce movimientos de cabezas Aumenta velocidad de respuesta
Cilindros
Constitución de un disco
Escritura/Lectura del disco magnetico
Lectura: El flujo magnético del disco se transforma en corriente eléctrica sobre la bobina del cabezal.
Escritura: La corriente que circula por la bobina provoca un flujo magnético sobre el núcleo y por lo tanto sobre la superficie del disco. El sentido de la corriente ? dirección de magnetización. El núcleo ferromagnético posee una separación llamada gap que permite que el flujo electromagnético se propague hasta la superficie de grabación. Podemos hacernos una idea de su tamaño: Gap = 40 µm.
Escritura/Lectura del disco magnetico
Medio de grabación
Sustrato: Suelen ser de alumnio ya que debe cumplir varios requisitos: Debe tener un bajo coeficiente de dilatación, pues la fuerza centrífuga de la rotación podría deformar el soporte difucultando la lectura y escritura. La superficie debe ser muy lisa.
Superficie magnetizable: Se trata de una capa de material magnético y por tanto susceptible a los campos electromagnéticos. En general se utilizan dos tipos de capas: óxido y película delgada.
Pistas
Pistas (Tracks) Cada una de las lineas concéntricas en que se divide la superficie de un disco.
Una pista es un anillo circular sobre un lado del disco. Cada pista tiene un número. El diagrama muestra 3 pistas.
Sectores
Se llama sector de un disco, una parte en forma de cuña del mismo. Cada sector está numerado.
En un disquete de 5 1/4 hay 40 pistas con 9 sectores cada una. En un disquete de 3 1/2 hay 80 pistas con 9 sectores cada una. De manera que, en un disquete de 3 1/2 hay el doble de lugares que en un disquete de 5¼ .
Bloques
Bloque (Clusters) Un cluster es un conjunto de sectores de pista , desde 2 a 32 o más, dependiendo del esquema de formateo que se use.
El esquema más común para PC determina la cantidad de sectores de pista por cada cluster sobre la base de la capacidad del disco.
Un disco rígido de 1.2 gigabytes tendrá el doble de clusters que un disco rígido de 500 MB.
Pista y Sector
Un número entero de sectores se graban en una pista.
El sector es la unidad de transferencia de/hacia el disco.
Disposición de datos en el disco
Cilindros
Cilindro (Cylinder) Pistas de todos los platos que equidistan del eje.
Es decir, pistas a las que acceden las cabezas cuando el brazo no se mueve.
Ejemplo: Parámetros de un disquete de 35 pulgadas,144MBytes: – 80 Cylinders, 2 Heads, 512 Bytes/Sector, 18 Sectors/Track – Multiplicando: 80 x 2 x 18 x 512 = 1.474.560 bytes
Capacidad del disco
Se desperdicia espacio en pistas externas. Hoy en día se usan zonas para incrementar la capacidad c/zona tiene fija la cantidad de bits/pista. requieren circuitos más complejos.
Sector típico Sucesión o serie de bits divididos en campos ? Encabezado con información para sincronizar la lectura e identificar el sector. ? Datos con longitud en bytes expresada usualmente como potencia de 2. ? Código para errores con información para detectar y/o corregir posibles errores.
Velocidad de giro del disco
Rota a velocidad angular constante – CAV (rpm) Un bit más cercano al centro gira más lento que un bit en la periferia. Los bits (sectores) ocupan distinto espacio en diferentes pistas. En lectura o escritura se requiere sólo mover la cabeza hasta una pista y esperar un sector. Determina la velocidad de transferencia de datos (bits/seg).
Velocidad de giro del disco
El procedimiento para leer/escribir datos en un disco duro tiene 4 pasos:1. Búsqueda (seek)2. Rotación (Latencia)3. Ubicación4. Transferencia de datos
Ver animación en el blog o desde:
http://www.jegsworks.com/Lessons-sp/lesson6/lesson6-5.htm
Tiempos
1. Tiempo de seek (búsqueda) Mover al cilindro (o pista) correcto
2. Tiempo de latencia (por rotación) Esperar que el sector pase por debajo de la cabeza
3. Tiempo de Acceso: T.seek + T.latencia
4. Tiempo Total: T. de Acceso + T. de Transferencia de datos
Formato
Define cantidad, tamaño y función de distintos campos en cada pista Hardware: tamaño de sector fijo por marcas físicas. Software: tamaño de sector determinado por S.O.
Bibliografía
Capítulo 5: Memoria Externa. Stallings. 5ta Ed.
Link sugerido http://www.pctechguide.com/02Storage.htm