Capacidad : Mide la cantidad de información que se puede almacenar en la memoria. Las unidades de medida son el Kbyte, el Mb y el Gb. Longitud de palabra : Es la mínima información accesible en una memoria. Se mide en bits. Unidad de transferencia Indica el tamaño del bloque de memoria que puede ser leído o escrito en cada operación. Puede no coincidir con la longitud de palabra. Departamento de Informática. Curso 2005-2006
2
CARACTERÍSTICAS GENERALES DE LA MEMORIA (II)
Tiempo de acceso : Mide el tiempo medio necesario para realizar una operación de lectura o de escritura . Se mide en ns, μs, ms, o seg. Ancho de banda (tasa de trasferencia) Mide la velocidad de los intercambios entre la memoria y la CPU o los subsistemas de E/S. Se mide en bits/seg ó palabras/seg Coste por bit Mide la repercusión del precio del dispositivo en función de su capacidad.
Departamento de Informática. Curso 2005-2006
3
CARACTERÍSTICAS GENERALES DE LA MEMORIA (III)
Método de acceso Nos indica cómo accede a la información almacenada: Acceso secuencial: El tiempo de acceso depende de la posición que ocupa. Acceso aleatorio: El tiempo de acceso es independiente de la posición (memorias Random Access Memory) Acceso directo: Es un caso intermedio entre los dos anteriores (primero es aleatorio y luego es secuencial. Ej los discos duros) Orden de almacenamiento: El orden en el que se almacenan los bytes puede ser de izquierda a derecha (big endian) ó de derecha a izquierda (little endian) Departamento de Informática. Curso 2005-2006
4
CARACTERÍSTICAS GENERALES DE LA MEMORIA (IV)
Características físicas:
Alterabilidad: Posibilidad de modificar el contenido de una memoria (memoria Read Only Memory). Volatilidad: Algunas memorias pierden su contenido al suspender el suministro de energía. Lectura destructiva: Algunas memorias (ferritas) pierden su contenido al leerlas y precisan de reescritura.
Departamento de Informática. Curso 2005-2006
5
MEMORIAS RAM
ESTÁTICAS
SRAM (biestable)
DINÁMICAS
DRAM (condensador)
DRAM EDO (Extended Data Output) DRAM sincrónica SDRAM
Departamento de Informática. Curso 2005-2006
6
MEMORIAS ROM
Programadas por máscara PROM EPROM EEPROM
Departamento de Informática. Curso 2005-2006
7
JERARQUÍA DE MEMORIAS
Departamento de Informática. Curso 2005-2006
8
JERARQUÍA DE MEMORIAS
Departamento de Informática. Curso 2005-2006
9
PROPIEDADES DE UN SISTEMA DE MEMORIAS
Inclusión: Si tenemos los niveles M1, M2, ... Mn de memoria ,
se verifica que M1 ⊂ M2, M2 ⊂ M3, ........, Mn-1 ⊂ Mn.
Coherencia
Esta propiedad exige que todas las copias de una misma información que estén en los diferentes niveles de memoria sean consistentes. Write-trough : los cambios en Mi se actualizan inmediatamente en M i+1 Write-back : los cambios Mi se actualizan con retardo en Mi+1, cuando se cumple determinada condición.
Localidad:
Es una propiedad que describe una forma de comportamiento de los programas, la mayor parte de las referencias a memoria están localizadas en bloques compactos. Departamento de Informática. Curso 2005-2006
10
PARÁMETROS DE MEDIDA DE UN SISTEMA DE MEMORIAS
Indice de aciertos (Hit ratio)
Para un nivel Mi se define el índice de aciertos hi como la probabilidad de que una determinada información se encuentre en el nivel Mi.
Frecuencia de acceso a un nivel Mi se define como:
Fi = (1- h1 ) (1- h2 ) .... (1- hn ) hi y nos mide la probabilidad de que una información esté en el nivel Mi y no esté en los anteriores. Tiempo de acceso efectivo Teff se define como:
Teff = Σ Fi ti Coste total de una jerarquía de memorias CTOTAL = Σ ci si
siendo c el parámetro coste por bit y s la capacidad en bits. Departamento de Informática. Curso 2005-2006
11
CIRCUITO LATCH SR COMO CELULA ELEMENTAL DE MEMORIA
Departamento de Informática. Curso 2005-2006
12
CIRCUITO ELEMENTAL DE MEMORIA
Departamento de Informática. Curso 2005-2006
13
CELULA ELEMENTAL DE MEMORIA
Departamento de Informática. Curso 2005-2006
14
ESTRUCTURA DE LA MEMORIA
Departamento de Informática. Curso 2005-2006
15
CHIP DE MEMORIA
Departamento de Informática. Curso 2005-2006
16
DISEÑO DE UNA MEMORIA CENTRAL
Lo habitual es que la memoria requerida no coincida con ningún chip de memoria disponible:
Longitud de palabra múltiplo de la del chip
Nº de palabras direccionables mayor que las del chip. Departamento de Informática. Curso 2005-2006
17
EJEMPLO
Departamento de Informática. Curso 2005-2006
18
DISEÑO DE LA MEMORIA
RAM : Como los chips son de 64Kx4
necesitamos 16 circuitos. ( 4x64 = 256K asociados de 4 en 4 para tener la longitud de palabra apropiada)
ROM : En este caso los chips son de 32Kx8
luego necesitamos 8 circuitos ( 4x32 = 128K asociados de 2 en dos para tener la longitud de palabra adecuada) Departamento de Informática. Curso 2005-2006
19
MAPA DE MEMORIA
Departamento de Informática. Curso 2005-2006
20
DECODIFICADOR
Departamento de Informática. Curso 2005-2006
21
Departamento de Informática. Curso 2005-2006
22
OTROS TIPOS DE MEMORIAS
COLAS: Memorias de tipo F.I.F.O donde los
datos guardan a la salida el mismo orden que tenían a la entrada. Hardware : Se suele usar para compensar la diferencia de velocidad de la CPU y los periféricos ( como buffer de entrada) Software: Se implementa en memoria principal con ayuda de dos punteros que apuntan a la primera posición libre y al primer dato introducido ( ejemplo: buffer de teclado)
Departamento de Informática. Curso 2005-2006
23
OTROS TIPOS DE MEMORIA
PILAS : Memorias de tipo L.I.F.O donde los
datos a la salida tienen orden inverso de la entrada.
Hardware: Por ejemplo la pila del coprocesador matemático en Intel Software: Mediante un puntero se señala al último dato introducido . La entrada y salida de datos se hace mediante las operaciones PUSH y POP.
Departamento de Informática. Curso 2005-2006
24
OTROS TIPOS DE MEMORIAS
Memorias entrelazadas : Disposición de
memoria que permite el acceso simultáneo a varias palabras .
Memorias asociativas: Son memorias
direccionables por su contenido.
Departamento de Informática. Curso 2005-2006
25
SISTEMAS DE MEMORIA DEL COMPUTADOR
LECCIÓN 2. MEMORIAS CACHE
Departamento de Informática. Curso 2005-2006
26
NECESIDAD DE LA MEMORIA CACHE
La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia
CPU
MEMORIA RAM
Departamento de Informática. Curso 2005-2006
27
NECESIDAD DE LA MEMORIA CACHE
La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia llamada memoria cache con mejores tiempos de acceso CPU
CACHE
MEMORIA RAM
Departamento de Informática. Curso 2005-2006
28
ESTRUCTURA DE UNA MEMORIA CACHE
Departamento de Informática. Curso 2005-2006
29
Departamento de Informática. Curso 2005-2006
30
LECTURA DE UNA MEMORIA CACHE
CPU genera dir
Acceso a Mp para obtener dato
¿Está en cache? Asignar bloque en cache
Leer dato y pasar a CPU Copiar bloque en cache
Pasar dato a CPU
Continuar Departamento de Informática. Curso 2005-2006
31
MEDIDAS DE CALIDAD DE UNA MEMORIA CACHE
Tiempo de acceso Ta
Ta = h Tc + (1-h) Tp Donde Tc es el tiempo de acceso a la cache Tp es el tiempo de acceso a la memoria principal h es el índice de aciertos de la cache. Departamento de Informática. Curso 2005-2006
32
MEDIDAS DE CALIDAD DE UNA MEMORIA CACHE
Definimos índice de mejora λ = TP /Ta
Mide el aumento de rendimiento cuando se incluye una memoria caché en un sistema de memorias. Se puede demostrar que
λ= 1/(1-h(1- τ))
Donde τ = Tc /Tp Departamento de Informática. Curso 2005-2006
33
ORGANIZACIÓN DE LA MEMORIA CACHE
FUNCIONES DE MAPA:
Son las distintas formas de correspondencia entre los bloques de la memoria cache y los bloques de la memoria principal. Tenemos tres modelos básicos: Correspondencia directa Correspondencia asociativa Correspondencia asociativa por conjuntos Departamento de Informática. Curso 2005-2006
34
CORRESPONDENCIA DIRECTA
Asocia a cada bloque de la memoria principal una línea de la cache, de acuerdo con la siguiente expresión: Cj → Mi si i= j (mod C). Siendo Cj = línea j de la cache Mi = bloque i de la memoria principal C = nº de líneas de la cache Departamento de Informática. Curso 2005-2006
35
FORMATO DE LAS DIRECCIONES
Palabra : codifica el nº de palabras de
memoria de cada bloque de memoria Línea : codifica el nº de línea de cache donde se realiza la búsqueda Etiqueta: codifica el bloque de memoria asociado a esa línea de cache Departamento de Informática. Curso 2005-2006
36
MECANISMO DE BÚSQUEDA EN CACHE
Departamento de Informática. Curso 2005-2006
37
VALORACIÓN DE LA CORRESPONDENCIA DIRECTA
Sencilla de implementar porque no necesita
algoritmos de reemplazo
Ocupación de la cache ineficiente
Departamento de Informática. Curso 2005-2006
38
EJEMPLO
Departamento de Informática. Curso 2005-2006
39
CORRESPONDENCIA TOTALMENTE ASOCIATIVA
Cualquier bloque de la memoria principal puede ocupar cualquier línea de la cache.
Donde Etiqueta indica el nº de bloque de memoria principal que se está buscando Departamento de Informática. Curso 2005-2006
40
MECANISMO DE BÚSQUEDA
Departamento de Informática. Curso 2005-2006
41
VALORACIÓN DE LA CORRESPONDENCIA ASOCIATIVA
Necesita el uso de memorias asociativas Necesita algoritmos de reemplazo Es la mas eficiente en la ocupación de la
cache.
Departamento de Informática. Curso 2005-2006
42
EJEMPLO
Departamento de Informática. Curso 2005-2006
43
CORRESPONDENCIA ASOCIATIVA POR CONJUNTOS
Es una solución intermedia entre las dos anteriores, las líneas de memoria caché se asocian en conjuntos y la correspondencia se establece de forma directa entre cada bloque de la memoria principal y cada conjunto de la caché. Dentro de cada conjunto la correspondencia es asociativa. Al número de bloques del conjunto se le llama número de vias o grado de asociatividad. Departamento de Informática. Curso 2005-2006
44
CORRESPONDENCIA ASOCIATIVA POR CONJUNTOS
Sea pues una caché con Q conjuntos de R bloques por conjunto. La relación entre los bloques de memoria principal y los conjuntos de la caché, viene dada por la expresión siguiente: Qj → Mi si i= j (mod Q).
Departamento de Informática. Curso 2005-2006
45
FORMATO DE LAS DIRECCIONES
Palabra : codifica el nº de palabras de
memoria de cada bloque de memoria Conjunto : codifica el nº de conjunto de la cache donde se realiza la búsqueda Etiqueta: codifica el bloque de memoria asociado a ese conjunto Departamento de Informática. Curso 2005-2006
46
MECANISMO DE BÚSQUEDA
Departamento de Informática. Curso 2005-2006
47
TIPOS DE FALTAS
Frías:
Aparecen en el momento inicial cuando la caché está vacía. Por capacidad: Debida a que la caché está llena Por conflicto : Cuando varios bloques de memoria principal ocupan una misma línea de la caché y computen por esa posición
Departamento de Informática. Curso 2005-2006
48
ALGORITMOS DE REEMPLAZO
Sustitución aleatoria. Se selecciona un bloque al azar para ser desalojado. Los resultados no son tan malos como cabría esperar. FIFO. Se desaloja el bloque mas antiguo en la cache. Para facilitar su implementación cada bloque de la cache lleva asociado un contador de edad que se pone a cero en el momento de la carga y se incrementa en uno en cada acceso a memoria. LRU En este caso se desaloja el bloque que lleva mas tiempo inactivo (Least recently used). Usa un contador similar al caso anterior salvo porque se pone a cero cada vez que se accede al bloque. LFU Se desaloja al bloque que se usa menos frecuentemente (Least frecuently used). Necesitaremos pues un contador de uso para cada línea. Departamento de Informática. Curso 2005-2006
49
ACTUALIZACIÓN DE LA CACHE
Lectura: En este caso se utiliza el sistema
llamado lectura directa consistente en que el dato se busca en memoria principal y se transfiere a la caché el bloque que contiene a la palabra buscada.
Departamento de Informática. Curso 2005-2006
50
ACTUALIZACIÓN DE LA CACHE
Escritura : En este caso existen dos políticas posibles:
Escritura inmediata (write through) Consiste en actualizar de forma inmediata la memoria principal cada vez que se modifica el bloque en la caché Escritura diferida (write back) Solo actualiza la memoria principal cuando se desaloja el bloque en la caché. Para ello lleva un bit de control que indica si se ha modificado el bloque o no ( bit sucio). ( Problemas de coherencia caché) Departamento de Informática. Curso 2005-2006
51
Power-PC
Departamento de Informática. Curso 2005-2006
52
PENTIUM IV
Departamento de Informática. Curso 2005-2006
53
SISTEMAS DE MEMORIA DEL COMPUTADOR
LECCIÓN 3. MEMORIAS SECUNDARIAS
Departamento de Informática. Curso 2005-2006
54
DISCOS MAGNÉTICOS
MATERIALES MAGNÉTICOS: CICLO DE HISTÉRESIS
Departamento de Informática. Curso 2005-2006
55
LECTURA Y ESCRITURA DE DATOS
Departamento de Informática. Curso 2005-2006
56
DISCOS WINCHESTER
Departamento de Informática. Curso 2005-2006
57
ALGUNOS DATOS TÍPICOS SOBRE DISCOS
CAPACIDAD DE UN SECTOR : 512 BYTES CLUSTER: UNIDAD DE TRANSFERENCIA : 1-128 VELOCIDAD DE ROTACIÓN : 3600-7200 rpm Nº DE PISTAS : 800-2000/cm DENSIDAD DE GRABACIÓN: 50000-100000 b/cm
Departamento de Informática. Curso 2005-2006
58
PARÁMETROS DE CALIDAD DE UN DISCO DURO
Tiempo de búsqueda TB : Mide el tiempo que
tarda en localizar la pista Consta de dos componentes:
el tiempo de inicialización Ti Factor proporcional al número n de pistas recorridas
TB = Ti + m. n
Departamento de Informática. Curso 2005-2006
59
PARÁMETROS DE CALIDAD DE UN DISCO DURO
Retardo rotacional TR : Mide el tiempo que
tarda en situarse sobre el sector TR = 1/2R
Siendo R la velocidad de giro del disco en revoluciones por segundo
Departamento de Informática. Curso 2005-2006
60
PARÁMETROS DE CALIDAD DE UN DISCO DURO
Tiempo de transferencia Tt : Mide el tiempo
que tarda en transferir los datos . Tt = b/RN
Siendo: b = nº de bytes a transferir R = velocidad de giro en rps N= Nº de bytes en la pista Departamento de Informática. Curso 2005-2006
61
TIEMPO DE TRANSFERENCIA TOTAL
TT = TB + TR + TT + Tc + TE
Donde Tc es el retardo de la controladora y TE es el debido a otro tipo de retardos
Departamento de Informática. Curso 2005-2006
62
EJEMPLO: TIEMPO DE TRANSFERENCIA DE UN FICHERO
Supongamos que tenemos un fichero de 256
KB con los siguientes parámetros de disco: Tb = 25 ms. Velocidad de transferencia 800 KB/s. Tamaño de sector = 256 bytes Nº de sectores por pista = 64. Velocidad de giro = 3600 rpm
256/(800x1024)x1000 = 28 + 8.3 + 0.3125 = 33.62 ms
Taleatorio = 1024 x 33.62 = 34427 ms Departamento de Informática. Curso 2005-2006
64
CASO DE FICHERO SECUENCIAL
Para la primera pista : Tb + TR + Tsector*nº
sectores por pista = 25 ms + 8.3 ms + 0.32x64 = 53.8 ms Para las demás no tenemos retardo por tiempo de búsqueda
Ttotal = 53.8 + 28.8 x 16 pistas = 485.5 ms
Departamento de Informática. Curso 2005-2006
65
ELEMENTOS DE UNA UNIDAD DE DISCO
TRANSPORTE : ACCESO FÍSICO A LOS
DATOS
CONTROLADORA: GOBIERNO DEL
TRANSPORTE Y TRANSFERENCIA DE DATOS
FDC 765 : CIRCUITO INTEGRADO QUE
GOBIERNA LA CONTROLADORA
Departamento de Informática. Curso 2005-2006
66
FASES EN LA EJECUCIÓN DE UNA INSTRUCCIÓN
FASE DE COMANDO: Se transfieren al FDC los
datos de la operación
Tipo de operación (Lectura, Escritura etc) Dirección en el disco Unidad Cilindro Superficie Sector Dirección en memoria Cantidad de información a transferir
Departamento de Informática. Curso 2005-2006
67
FASES EN LA EJECUCIÓN DE UNA INSTRUCCIÓN
FASE DE EJECUCIÓN
FASE DE RESULTADO
Departamento de Informática. Curso 2005-2006
68
PLANIFICACIÓN DE LAS OPERACIONES
FCFS : Atiende las peticiones en el orden de
llegada SSTF : Atiende las peticiones que supongan un menor desplazamiento del cabezal del disco SCAN : Recorre las pistas en una dirección atendiendo las peticiones que encuentra en el camino C-SCAN Departamento de Informática. Curso 2005-2006
69
TIPOS DE DISCOS DUROS
DISCOS IDE (Integrated Drive Electronics)
DISCOS SCSI (Small Computer System
Interface)
Departamento de Informática. Curso 2005-2006
70
RAID (REDUNDANT ARRAY OF INDEPENT DISKS)
Conjunto de discos independientes que
operan en paralelo. Para el sistema operativo es una única unidad lógica Los datos están distribuidos entre las distintas unidades físicas. Se aumenta la fiabilidad mediante la redundancia de datos.