Organización y arquitectura de sistemas de memoria

Slides:



Advertisements
Presentaciones similares
Almacenamiento del sistema de archivos La gestión de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadores pueden almacenar.
Advertisements

Dispositivos de Entrada y Salida
1 Memorias Conceptos. Se denomina elemento de memoria a cualquier dispositivo que tenga capacidad para “recordar” información almacenada previamente. ¿Que.
Síntesis de Representación y Almacenamiento de Datos
Arquitectura de Computadores I
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Microprocesadores para comunicaciones Escuela Técnica Superior de Ingenieros de Telecomunicación Organización y estructura de las memorias caché.
Unidades de almacenamiento
MEMORIA 1.
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Algorítmo de Mapeo Directo
El propósito del almacenamiento es guardar datos que la computadora no esté usando. El almacenamiento tiene tres ventajas sobre la memoria: Hay más espacio.
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad Los puntos básicos relacionados con.
Unidades de disco Disco flexible (disquetera)
Sistema de Memoria de una Computadora
Introducción a la Informática Clase 7
Electrónica Digital 1. Es la parte de un sistema que almacena datos binarios en grandes cantidades. Están formadas por matrices de elementos de almacenamiento.
Administración del espacio
Diseño de la Jerarquía de Memorias
Memorias – Introducción
ARQUITECTURA DE COMPUTADORESTABLA DE SABERESVersión Final IDENTIFICAR LOS COMPONENTES HARDWARE DE UN COMPUTADOR DESCRIBIR LOS DIFERENTES TIPOS DE MEMORIA.
Ing. CIP Francisco Mori Quiroz
Estructura y Tecnología de Ordenadores Noviembre 2004.
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
JERARQUIA DE LA MEMORIA
Overview Sistemas Computacionales
MEMORIA ROM Y MEMORIA RAM. PROFESORA: ANDRY SAAVEDRA SAN CARLOS,
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 19 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Memorias de almacenamiento Laura Yamile Rivera Gutiérrez Juliana Medina Ramírez.
Memorias RAM Características: Son de lectura escritura
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
HECHO POR: MARIA CAMILA RESTREPO CASTRILLÓN. * La frecuencia de reloj indica la velocidad a la que un ordenador realiza sus operaciones más básicas, como.
¿Qué unidades conforman el procesador?
MEMORIAS DE ALMACENAMIENTO ASTRID JIMENEZ EMILY HERNANDEZ MARIA PEINADO KAREN MENDOZA.
Chips Controladores Pequeño circuito electrónico utilizado para realizar una función electrónica especifica. El chips es el que hace posible que la placa.
Ing. María Rosa Dámaso Ríos1 MEMORIA PRINCIPAL Y SECUNDARIA Quinta Semana.
Memoria Introducción.
ISI374 – Arquitectura de Computadores Clase 18: Jerarquía de memoria Pt.1 Departamento de Ingeniería de Sistemas Universidad de Antioquia
Memorias.
Memoria virtual.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
FUNDAMENTOS DE PROGRAMACIÓN Unidad I. Computador: Es una maquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren.
Teoría de Sistemas Operativos Administración de Archivos.
Unidades de almacenamiento
Página 1 09/01/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Hardware.
Medición del Desempeño de las Unidades de Almacenamiento
UNIDAD CENTRAL DE PROCESO
PRESENTADO: Hernan Dario Delgado murcia. son las siglas de random access memory, un tipo de memoria de ordenador a la que se puede acceder aleatoriamente;
MEMORIA CAHÉ.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
Chadey Daniela Fontal Marin Stefanny Mosquera Flor Michel Tatiana Oliveros.
Por: Juan Giovanny Lima González..  El almacenamiento secundario (memoria secundaria, memoria auxiliar o memoria externa) es el conjunto de dispositivos.
ALMACENAMIENTO DE DATOS. Son componentes que leen o escriben datos en medios o soportes de almacenamiento, y juntos conforman lamemoria o almacenamiento.
Tema: Dispositivos de almacenamiento secundario. Tema: Dispositivos de almacenamiento secundario ¿Cuál es la unidad base en el sistema de medición para.
Memorias y Medios de Almacenamiento
La Computadora La computadora es una maquina capas de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Unidad de transferencia de memoria
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Memoria ROM Esta memoria es solo de almacenamiento y almacena el programa básico de iniciación, instalado desde fabrica.
FUNCIONAMIENTO DE UN EQUIPO DE COMPUTO. COMPUTADORA Es una maquina electronica capaz de procesar datos para convertirlos en informacion util para el ser.
Dra. Maricela Quintana López Centro Universitario Valle de México Memoria Dra. Maricela Quintana López Elaborado por: Arquitectura de Computadoras.
Arquitectura de Computadores Clase 16 Sistemas y Jerarquías de Almacenamiento IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
UNIVERSIDDA TECNICA DE MACHALA FACULTAD DE CIENCIAS QUIMICAS Y DE LA SALUD ESCUELA DE ENFERMERIA UNIVERSIDDA TECNICA DE MACHALA FACULTAD DE CIENCIAS QUIMICAS.
NOMBRE: SONIA IDROBO GRADO: 11 COMPUTACION PROFESOR: IGNACION REALPE.
Tipos: Tarjetas perforadas. Magnéticos: La información se graba por polarización de un material magnético. Ópticos: Utilizan tecnología óptica para grabar.
Transcripción de la presentación:

Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel González Mendoza y Dr. Jorge Ramírez Uresti

Organización y arquitectura de sistemas de memoria Objetivos: 5.1 Jerarquía de sistemas de memoria: registros, caché, principal, secundaria, capacidades y velocidades 5.2 Clasificación de memoria: RAM y ROM 5.3 Concepto de Celda Binaria

Características de los sistemas de memoria Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Registros En CPU Memoria interna o principal Puede incluir uno o más niveles de caché “RAM” Memoria externa Memoria de respaldo

Características de los sistemas de memoria … Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Tamaño de la palabra Número de bits utilizados para representar números o longitud de instrucciónes. Excepciones: CRAY-1, VAX. Número de palabras

Características de los sistemas de memoria … Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Para la memoria principal, número de bits que se leen o se escriben en memoria a la vez. Para la memoria externa, unidades más grandes denominadas bloques.

Características de los sistemas de memoria … Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Acceso secuencial Acceso directo Acceso aleatorio Acceso asociativo

Características de los sistemas de memoria … Tiempo de acceso Memoria de acceso aleatorio: Tiempo en realizar una lectura o escritura Memoria de otro tipo: Tiempo en situar el mecanismo de escritura/lectura en la posicicón deseada. Tiempo de ciclo Se aplica principalmente a las memorias de acceso aleatorio, se define como el tiempo de acceso más el tiempo que se requiere para poder iniciarse un segundo acceso a la memoria. Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización

Características de los sistemas de memoria … Velocidad de transferencia Velocidad a la que se puede transferir datos a, o desde, una unidad de memoria. Acceso aleatorio: inverso del tiempo de ciclo. Otro tipo de acceso: Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Tiempo medio de escritura o de lectura de N bits Tiempo de acceso aleatorio Número de bits Velocidad de transferencia en bits por segundo (bps)

Características de los sistemas de memoria … Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Semiconductor Dispositivos de estado sólido como los chips. Ej: RAM Soporte magnético Floppies, cintas, etc. Soporte óptico DVD, CD, mini disk, etc. Magneto óptico Mitad magnetico, mitad óptico.

Características de los sistemas de memoria … Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Volátil / no volátil Memoria de superficié magnética: no volátil Memoria semiconductora: volátil o no volátil Borrable / no borrable RAM / ROM

Características de los sistemas de memoria … Ubicación Capacidad Unidad de transferencia Método de acceso Prestaciones Dispositivo Físico Características físicas Organización Disposición o estructura física en bits para formar palabras.

Jerarquía de sistemas de memoria En el diseño de la memoria de una computadora existe un compromiso entre las características de capacidad, coste y velocidad. A menor tiempo de acceso, mayor coste por bit. A mayor capacidad, menor coste por bit. A mayor capacidad, mayor tiempo de acceso.

Memoria ideal Infinitamente grande y con tiempo de acceso muy corto. Sin embargo Muy cara Tecnológicamente no factible Solución: Jerarquía de memoria Unidades grandes y lentas, y Unidades pequeñas y rápidas Meta de la jerarquía de memoria: Ilusión de una memoria grande, rápida y barata.

¿Por qué es importante el uso de la jerarquía de memoria? µProc 60%/año. (2X/1.5 año) 1000 CPU “Moore’s Law” Separación de rendimiento Procesador-memoria (crece 50% / año) 100 Rendimiento 10 “Less’ Law?” DRAM 9%/año. (2X/10 años) DRAM 1 Y-axis is performance X-axis is time Latency Cliché: Not e that x86 didn’t have cache on chip until 1989 The observation made in 1965 by Gordon Moore, co-founder of Intel, that the number of transistors per square inch on integrated circuits had doubled every year since the integrated circuit was invented. Moore predicted that this trend would continue for the foreseeable future. In subsequent years, the pace slowed down a bit, but data density has doubled approximately every 18 months, and this is the current definition of Moore's Law, which Moore himself has blessed. Most experts, including Moore himself, expect Moore's Law to hold for at least another two decades. 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Tiempo

Jerarquía de sistemas de memoria Cuando se desciende la jerarquía ocurre: Menor costo por bit Mayor capacidad Menor velocidad Disminución de la frecuencia de acceso a la memoria por parte del procesador Almacenamiento fuera de línea Cinta magnética Medio Óptico Disco magnético CD-ROM CD-RW DVD+RW DVD-RAM Almacenamiento fuera de la tarjeta Memoria en tarjeta impresa Regis- tros caché memoria principal Principio de localidad

¿Por qué funciona la jerarquía de memoria? Principio de localidad Los programas accede una porción relativamente pequeña del espacio de direcciones en algún instante de tiempo. Probabilidad De referencia The principle of locality states that programs access a relatively small portion of the address space at any instant of time. This is kind of like in real life, we all have a lot of friends. But at any given time most of us can only keep in touch with a small group of them. There are two different types of locality: Temporal and Spatial. Temporal locality is the locality in time which says if an item is referenced, it will tend to be referenced again soon. This is like saying if you just talk to one of your friends, it is likely that you will talk to him or her again soon. This makes sense. For example, if you just have lunch with a friend, you may say, let’s go to the ball game this Sunday. So you will talk to him again soon. Spatial locality is the locality in space. It says if an item is referenced, items whose addresses are close by tend to be referenced soon. Once again, using our analogy. We can usually divide our friends into groups. Like friends from high school, friends from work, friends from home. Let’s say you just talk to one of your friends from high school and she may say something like: “So did you hear so and so just won the lottery.” You probably will say NO, I better give him a call and find out more. So this is an example of spatial locality. You just talked to a friend from your high school days. As a result, you end up talking to another high school friend. Or at least in this case, you hope he still remember you are his friend. +3 = 10 min. (X:50) Espacio de direcciones

Jerarquía de memoria: ¿Cómo trabaja? Localidad temporal Si un dato es referenciado, se tiende a ser referenciado de nuevo en un tiempo próximo (bucles o subrutinas) Localidad espacial Si un dato es referenciado, los datos con direcciones cercanas tienden a ser referenciados pronto (tablas o matrices) How does the memory hierarchy work? Well it is rather simple, at least in principle. In order to take advantage of the temporal locality, that is the locality in time, the memory hierarchy will keep those more recently accessed data items closer to the processor because chances are (points to the principle), the processor will access them again soon. In order to take advantage of the spatial locality, not ONLY do we move the item that has just been accessed to the upper level, but we ALSO move the data items that are adjacent to it. +1 = 15 min. (X:55)

Jerarquía de memoria: Terminología Hit: el dato está en algún bloque en el nivel superior (ejemplo: Bloque X) Hit Rate: Fracción de acceso a memoria en el nivel superior Hit Time: Tiempo para accesar el nivel superior que consiste en: tiempo de acceso de RAM + Tiempo para determinar hit/miss Miss: el dato necesita ser traído de un bloque en el nivel bajo (Bloque Y) Miss Rate = 1 - (Hit Rate) Miss Penalty: Tiempo para reemplazar un bloque en el nivel superior + Tiempo para llevar el bloque al procesador Hit Time << Miss Penalty Nivel de memoria inferior Nivel memoria superior Al procesador Del procesador Bloque X Bloque Y A HIT is when the data the processor wants to access is found in the upper level (Blk X). The fraction of the memory access that are HIT is defined as HIT rate. HIT Time is the time to access the Upper Level where the data is found (X). It consists of: (a) Time to access this level. (b) AND the time to determine if this is a Hit or Miss. If the data the processor wants cannot be found in the Upper level. Then we have a miss and we need to retrieve the data (Blk Y) from the lower level. By definition (definition of Hit: Fraction), the miss rate is just 1 minus the hit rate. This miss penalty also consists of two parts: (a) The time it takes to replace a block (Blk Y to BlkX) in the upper level. (b) And then the time it takes to deliver this new block to the processor. It is very important that your Hit Time to be much much smaller than your miss penalty. Otherwise, there will be no reason to build a memory hierarchy. +2 = 14 min. (X:54)

Ejemplo Acceder a dos niveles de memoria Nivel 1: 1,000 palabras, tiempo acceso: 0.1 s Nivel 2: 100,000 palabras, tiempo acceso: 1 s

Jerarquía de memoria de una computadora moderna Haciendo uso del principio de localidad: Presenta al usuario tanta memoria como esté disponible con la tecnología más económica. Provee acceso con la velocidad disponible con la tecnología más rápida. Tertiary Storage (Tape) Processor Control Second Level Cache (SRAM) Secondary Storage (Disk) Main Memory (DRAM) On-Chip Cache Registers The design goal is to present the user with as much memory as is available in the cheapest technology (points to the disk). While by taking advantage of the principle of locality, we like to provide the user an average access speed that is very close to the speed that is offered by the fastest technology. (We will go over this slide in details in the next lecture on caches). +1 = 16 min. (X:56) Datapath 10,000,000’s (10’s ms) 10,000,000,000’s (10s sec) Velocidad (ns): 1’s 10’s 100’s Tamaño (bytes): 100B KB MB GB TB

¿Cómo es manejada la jerarquía de memoria? Registros Por el compilador (¿programador?) Cache Por el hardware Memoria principal Por el sistema operativo (caché de disco & memoria virtual) Por el programador (archivos)

Clasificación de memoria Memoria RAM (Random-Access Memory) Todas las memoria mostradas son de acceso aleatorio Leer y escribir datos rápidamente en ellas Volátil. Almacenamiento temporal Dinámica. Está hecha con celdas que almacenan los datos como cargas en los condensadores. Tipos de memoria RAM Estática. Almacenan los datos utilizando configuraciones de puertas que forman biestables (flip-flops)

Memoria RAM dinámica y estática Acceso aleatorio: el tiempo de acceso es el mismo para todas las locaciones DRAM: Memoria de acceso aleatorio dinámica Alta densidad low power Económica Lenta Dinámica: Necesita ser “refrescada” regularmente (1-2% de ciclos) SRAM: Memoria de acceso aleatoria estática Baja densidad high power Cara Rápida Estática: El contenido durará mientras esté alimentada The technology we used to build our memory hierarchy can be divided into two categories: Random Access and Non-so-Random Access. Unlike all other aspects of life where the word random usually associates with bad things, random, when associates with memory access, for the lack of a better word, is good! Because random access means you can access any random location at any time and the access time will be the same as any other random locations. Which is NOT the case for disks or tape where the access time for a given location at any time can be quite different from some other random locations at some other random time. As far as Random Access technology is concerned, we will concentrate on two specific technologies: Dynamic RAM and Static RAM. The advantages of Dynamic RAMs are high density, low cost, and low power so we can have a lot of them without burning a hole in our budget or our desktop. The disadvantages of DRAM are they are slow. Also they will forget what you tell them if you don’t remind them constantly (Refresh). We will talk more about refresh later today. SRAM only has one redeeming feature: it is fast. Other than that, they have low density, expensive, and burn a lot of power. Oh, SRAM actually has another redeeming feature. They will not forget what you tell them. They will keep whatever you write to them forever. Well “forever” is a long time. So lets just say it will keep your data as long as you don’t pull the plug on your computer. In the next two lectures, we will be focusing on DRAMs and SRAMs. We will not get into disk until the Virtual Memory lecture a week from now. +3 = 19 min. (X:59)

Memoria ROM Memoria ROM (Read-Only Memory) Contiene un padrón permanente de datos que no puede alterarse. Aplicaciones: microprogramación, subrutinas de biblioteca para funciones de uso frecuente, programas del sistema, tablas de funciones.

Tipos de memoria ROM PROM. Es volátil y sólo se puede escribir en ella una sola vez. El proceso de escritura se lleva a cabo eléctricamente y puede realizarlo el suministrados o el cliente con posterioridad. Memorias de sobre-todo-lectura: EPROM: Memoria de sólo lectura programable borrable Antes de escribir una operación, todas las celdas de almacenamiento deben ser borradas al estado inicial exponiendo el chip a radiación ultravioleta. Puede ser alterada múltiples veces. Más cara que la PROM, pero tiene la ventaja de que puede ser actualizada múltiples veces.

Tipos de memoria ROM EEPROM: Flash Memoria de sólo lectura programable borrable eléctricamente Puede ser escrita sin borrar contenido anterior. Sólo el o los bytes direccionados son actualizados. La operación de escritura toma mucho más tiempo que la de lectura. Combina la ventaja de no-volativilidad con la flexibilidad de ser actualizable usando controles de bus ordinarios, direcciones y línea de datos. Es más cara que la EPROM y puede almacenar menos bits por chip. Flash Nombrada así por la velocidad a la cual puede ser reprogramada. Es intermedia entre la EPROM y la EEPROM en costo y funcionalidad. Mucho más rápida que la EPROM. Puede borrar bloques específicos de memoria. No provee borrado a nivel de bytes. Tiene la densidad alta de las EPROM.

Tipo de memoria Categoría Borrado Mecanismo de escritura CLASIFICACIÓN DE LAS MEMORIAS DE SEMICONDUCTORES   Tipo de memoria Categoría Borrado Mecanismo de escritura Volatibilidad RAM Lectura-escritura Eléctricamente Volátil ROM Sólo lectura No es posible Máscaras No volátil PROM " EPROM Lectura-frecuente Luz ultravioleta EEPROM

Memorias no aleatorias Tecnología de acceso a “memoria-no tan-aleatoria”: El tiempo de acceso varía de locación a locación y de tiempo a tiempo Ejemplos: Disco, CDROM Tecnología de Acceso Secuencial: tiempo de acceso linear en locación (e.g.,Cinta)

Celda Binaria Es el elemento básico de una memoria semiconductora . Presentan dos estados estables (o semiestables) que pueden utilizarse para representar el 1 y 0 binarios Puede escribirse en ellas (al menos una vez) para fijar su contenido Pueden leerse para detectar su estado

Funcionamiento y estructura de una celda binaria Tres terminales capaces de llevar una señal eléctrica. El selector selecciona una celda. El control indica el tipo de operación: lectura o escritura. Escribir, la otra terminal provee una señal que pone a la celda en 1 o 0. Para leer, es usada como salida de la celda

Construcción de palabras de memoria a partir de celdas binarias Longitud de palabra Dirección (0 a n-1  n localidades) m líneas de dirección  2m localidades

Ejemplo

Construcción memorias de semiconductores a partir de palabras La memoria se forma a partir de palabras La capacidad se expresa en términos de # palabras x longitud de palabra Las memorias del ejemplo anterior son: 12x8, 8x12 y 6x16 Chip memoria incluye mecanismos para Decodificar las direcciones Detección/Escritura.

Memoria de 16x8 Palabra de memoria (renglon - línea de palabra) Líneas de bit al circuito de lectura/escritura Lineas de entrada/salida (bidireccional)

Diseño de sistemas de memoria de mayor capacidad, a partir de memorias de menor capacidad. Tecnología de CI adecuada para memorias Aumenta #bits que se pueden almacenar 1Kbit a 16M bits Organización de las celdas de memoria 2D 21/2D

Organización 2D Disposición física = lógica. El arreglo de memoria está organizado en W palabras de B bits Todos los bits de una palabra en el mismo chip

Organización 2D … En esta organización : # líneas de dirección # celdas de la memoria (capacidad) # palabras (# unidades direccionables) # bits por palabra (longitud de palabra)

Organización 2D … Ejemplos: Ej: Diseñe una memoria de 2D de 1Kb con palabras de 16 bits. Ej: Si se sabe que una memoria 2D tiene 5 líneas de dirección y 2048 celdas de capacidad, entonces: ¿Cuántas palabras tiene? ¿Cuántos bits por palabra? Ej: ¿Cuál es el efecto en la capacidad de una memoria 2D si se agrega una línea de dirección?

Ejemplos: Organización 2D 1. Dado un MAR de 8 bits y un MDR de 64 bits: ¿Cuántas palabras puedo direccionar? ¿Cuál es la longitud de la palabra? ¿Cuál es la capacidad de la memoria en bits? ¿Cuál es la capacidad de la memoria en bytes? 2. Realice un diagrama de bloque para una memoria de 1MByte en 2D, con longitud de palabra de 16 bits, coloca todos los componentes.

Organización 21/2 D Un bit por chip Los bits de una palabra repartidos en varios chips El chip contiene un arreglo de bits cuadrado

Organización 21/2 D … Ej: Se tiene una memoria 2½ D con longitud de palabra de 1 bit. Si se sabe que tiene 1Kb de capacidad: ¿cuántas Palabras Lineas de dirección y Tamaño de matriz se necesitan?

Organización 2½D 1Kbit de capacidad (# celdas en la memoria), entonces: # palabras = 1K = 1024 # líneas de dirección = log2 1024 = 10 (5 al decodificador y 5 a los multiplexores) # bits por palabra = 1 La matriz cuadrada de memoria es de 2 5 x 2 5 (32 x 32).

Ventajas 2½ D sobre 2D … 2½ requiere menos líneas de dirección que 2D. 2½ facilita la corrección de errores. 2½ cuadriplica la capacidad por línea de dirección. 2½ es modular (por ser cuadrada).

Encapsulado de chips Circuito conexión RAM 2D 1Kbit (128x8)(2D) 14 pines + 2 (E y T) 1Kbit (128x8)(2D) 19 conexiones 1Kbit (32x1) (2 ½ D) 16 conexiones 1Kb (1024x1) 2 ½ D

Encapsulado de chips … RAM 16x8 2D

Encapsulado de chips

Ejemplo: chip 27010 EPROM de Intel Las líneas para direccionar 128K palabras, 17 pines (A0 a A16). · Las líneas para leer los datos de salida. Se necesita un total de 8 pines (D0 a D7). · Suministro de energía (Vcc). · Un pin de Tierra (GND). El chip select (CS). El output select (OS). El pin de programa (PGM). Inicialmente y después de cada "borrado" del chip, · El pin de voltaje de programa (Vpp), que se administra durante la programación. · Un pin No utilizado (NC).

Intel 51C256L 256Kx1-bit RAM. Din y Dout: Para recibir o Leer el bit de la memoria RW: Indica si la operación Es lectura o Escritura A0:A8 Solo 9 bits de Dir Para 256 k? (RAS:Row Address Select) (CAS:Column Address Select). GND: Tierra VCC: Voltaje

Encapsulado de chips 2 ½ D 2D

Organización modular #chips = #bits palabra 256K x 8 (2 ½ D) 18 dirección a 8 chips c/u provee un bit

Arreglo de chips 1M x 8 RAM 2 ½ D

Ejercicio Organización Modular 2 ½ D Proporcione un diagrama de bloque para una memoria de 256Kbx16, utilizando chips de memoria de 64Kbx1. Coloque todas las lineas necesarias, así como el MAR y el MDR. Determine los datos necesarios para el chip de 64Kx1 y realice el diagrama Forme un módulo con los chips de forma que se ajuste al tamaño de palabra. Da el diagrama del módulo. Usando módulos, genere el diagrama de bloque para la memoria de forma que su capacidad sea de 256Kx16.

Memoria Caché Velocidad ejecución CPU depende de velocidad transferencia de datos. Problema: CPU más rápido que Memoria. Solución ideal: memoria construida con tecnología utilizada en registros del CPU (muy costoso). Solución real: memoria pequeña y rápida localizada entre el CPU y la memoria (Memoria Caché).

La memoria caché explota el principio de localidad: Programadores no accesan la memoria de forma completamente aleatoria. Común el acceso de localidades de memoria contigua una o varias veces. Ej: Ciclo de instrucciones. Por lo tanto, las referencias a memoria en un intervalo de tiempo corto tienden a utilizar sólo una fracción de la memoria. Esas fracciones son las que se busca tener cargadas en memoria caché.

La memoria cache y principal CPU Transferencia de Palabra Cache Transferencia de Bloque La memoria principal

Principio de Localidad Las referencias a memoria realizadas en un intervalo de tiempo corto tienden a usar sólo una fracción de la memoria total también conocido como bloque de memoria.

Estructura de la memoria cache y principal Número Slot Direcciones de memoria Etiqueta Bloque Datos 1 2 1 2 3 Bloque (k palabras) Longitud del bloque (k palabras) Bloque 2n - 1 Tamaño Palabra

El Mapeo Mapa, mapear, proyectar, corresponder. Transferir un conjunto de objetos de un lugar a otro. Por ejemplo los módulos de programas en el disco son proyectados (“mapeados”) en la memoria. Relacionar un conjunto de objetos con otro. Por ejemplo, una estructura de base de datos lógica se proyecta sobre la base de datos física.

El algoritmo de mapeo en caché Existen menos slots caché que bloques de memoria principal, por lo que se necesita un algoritmo para mapear bloques de memoria principal en los slots de la caché. Técnica para determinar cual bloque de memoria principal ocupa que slot de caché. La elección del algoritmo de mapeo nos dice como se encuentra organizada la caché. Dos técnicas directa, asociativa.

El mapeo directo A cada bloque de memoria principal se le mapea dentro de un solo slot de la caché. Evita la búsqueda poniendo cada bloque en un slot, cuyo número se puede calcular a partir del número de bloque. Mapeo expresado a partir de slot caché = (número bloque) % (total slots caché) Ventaja: eliminan problema de búsqueda. Desventaja: como saber cuál de los diferentes bloques que corresponden a un slot lo esta ocupando.

Esquema mapeo directo Memoria principal: 12 bloques Bloque 0 Bloque 1 slot = bloque % (numero slots) slot = bloque %3 Memoria caché: 3 slots slot 2 slot 1 slot 0 Por lo que los slots almacenarán: slot 0: bloque 0 bloque 3 bloque 6 bloque 9 slot 1: bloque 1 bloque 4 bloque 7 bloque 10 slot 2: bloque 2 bloque 5 bloque 8 bloque 11

Interpretación dirección Las direcciones de memoria principal tienen dos interpretaciones Interpretación memoria principal dos campos: bloque y palabra Interpretación memoria caché se divide el campo bloque, lo que proporciona tres campos: etiqueta, slot y palabra Ejemplo dirección 12 bits: 101010101010 (3 palabra, 6 slot) memoria principal: 101010101 010 memoria caché: 101 010101 010 bloque palabra etiqueta palabra slot

Organización caché mapeo directo s+w Memoria Principal Mem. Caché Etiqueta Datos Dirección Memoria W0 Etiqueta Línea Palabra W1 B0 L0 W2 s-r r w W3 s-r s x W4j W(4j+1) w w x Li Bj Comparar W(4j+2) W(4j+3) (escondida en caché) (puesta en caché)

Un primer escenario 64/4=16 bloques 25=32/4=8 slots Tamaño direcciones: 6 bits Tamaño palabra: 8 bits = 1 byte Tamaño memoria principal: 26=64 bytes Tamaño memoria caché: 25=32 bytes Tamaño del bloque: 4 bytes Calculando: Bloques en memoria principal: Slots en memoria caché: 64/4=16 bloques 25=32/4=8 slots

: L7 L6 L5 L4 L3 L2 L1 L0 Esquema Escenario 1 B15 B7 B6 B5 B4 B3 111111 111110 111101 111100 3 2 1 Esquema Escenario 1 B15 etiqueta bloque almacenado : L7 L6 L5 L4 L3 L2 L1 L0 000011 000010 000001 000000 000111 000110 000101 000100 001011 001010 001001 001000 001111 001110 001101 001100 010011 010010 010001 010000 010111 010110 010101 010100 011111 011110 011101 011100 011011 011010 011001 011000 3 2 1 B7 B6 B5 B4 1 2 3 B3 Interpretación dirección: B2 Memoria caché: etiqueta slot palabra B1 Memoria principal: B0 bloque palabra

Segundo Escenario 24 bits 16Mbytes/4bytes=4M bloques=222 Bloques Tamaño caché: 64 Kbytes=64x210 bytes = 26x210 bytes = 216 bytes Tamaño bloques: 4 bytes Tamaño palabra: 1 byte Memoria principal: 16Mbytes =16x220 bytes =224 bytes Calculando Tamaño direcciones = Número bloques en memoria principal: Número de slots en caché: por lo que la caché esta organizada en cada uno 24 bits 16Mbytes/4bytes=4M bloques=222 Bloques 64Kbytes/4bytes= 16k slots= 214 slots 214 slots de 4 bytes

~ ~ ~ ~ ~ ~ ~ ~ Segundo ejemplo mapeo directo Dirección Etiqueta Slot+Palabra Dato Etiqueta Dato Número Slot FFFC FFF8 0008 0004 0000 11223344 ~ ~ 01 12345678 3FFF FF 11223344 3FFE 00 87654321 0002 01 11235813 0001 00 13579246 0000 ~ ~ FF FFFC FFF8 0008 0004 0000 12345678 (14 bits) ~ ~ 8 bits 32 bits 01 Palabra caché 16K 11235813 Dirección Memoria Principal FFFC FFF8 0008 0004 0000 Bloque Palabra 22 2 ~ ~ 00 87654321 Dirección Memoria Caché 13579246 Etiqueta Slot Palabra 8 14 2 16 MBytes de Memoria Principal

Línea Cache Bloques de memoria principal asignado 0 0,m, ....., 2s-m 1 1,m+1,.....,2s-m+1 . . m-1 m-1, 2m-1, ....., 2s-1 Línea Cache Bloques de memoria principal asignado 0 000000,010000,.....,FF0000 1 000001,010001,.....,FF0001 . . 3FF 00FFFC,01FFFC,.....,FFFFFC

Mapeo Asociativo Permite que un bloque de memoria principal se cargue en cualquier slot de la caché. La lógica de control de la caché interpreta una dirección de memoria como una etiqueta y una palabra. La etiqueta solo identifica un bloque en la memoria principal. etiqueta palabra

Mapeo asociativo (cont) Para verificar si el bloque esta cargado, el control de lógica debe examinar simultáneamente cada slot de la memoria caché. Existe flexibilidad en el hecho de que bloque remplazar cuando un nuevo bloque es accedido. Se tienen algoritmos de reemplazamiento para maximizar el desempeño. Principal desventaja: la complejidad de la circuitería requerida para examinar todos las etiquetas de los slots de la caché.

Esquema mapeo asociativo Memoria principal: 12 bloques Bloque 0 Bloque 1 Bloque 2 Bloque 3 Bloque 4 Bloque 6 Bloque 5 Bloque 7 Bloque 8 Bloque 9 Bloque 11 Bloque 10 Memoria caché: 3 slots slot 2 slot 1 slot 0 verificación en todos los slots de la caché Los slots pueden almacenar: slot 0: bloque 0,1,2,3,4,5,6,7,8,9,10,11 slot 1: bloque 0,1,2,3,4,5,6,7,8,9,10,11 slot 2: bloque 0,1,2,3,4,5,6,7,8,9,10,11

... Organización caché asociativa s+w Memoria Principal Mem. Caché Etiqueta Datos Dirección Memoria W0 Etiqueta Palabra W1 B0 L0 W2 s w W3 ... s x W4j W(4j+1) w w x Li Bj Comparar W(4j+2) W(4j+3) (escondida en caché) s Lm-1 (puesta en caché)

~ ~ ~ ~ ~ ~ Ejemplo mapeo asociativo Dirección Dato Etiqueta Dato Número Slot FFFFFC FFFFF8 FFFFF4 24682468 11223344 33333333 FFFFFC 24682468 3FFF 0000000 1234567 3FFE FFFFF4 33333333 3FFD 16339C 87654321 0001 FFFFF8 11223344 0000 ~ ~ ~ ~ 1633A0 16339C 163398 (14 bits) 87654321 22 bits 32 bits Palabra caché 16K ~ ~ Dirección Memoria Principal 000008 000004 000000 Etiqueta Palabra 22 2 12345678 16 MBytes de Memoria Principal

Algoritmos de Reemplazo Asignación slot caché a bloque recién accedido: mapeo directo: slot ya esta asignado mapeo asociativo: necesario un algoritmo de reemplazo Cuatro opciones para asociativo LRU Least Recently Used cada slot utiliza un bit de uso FIFO First In First Out implementado fácilmente como round-robin o buffer circular LFU Least Frequently Used asociar un contador a cada slot Random simulación: desempeño ligeramente inferior a los otros algoritmos

Políticas de escritura en caché Vigilancia del bus con escritura inmediata Actualización inmediata de memoria con monitoreo por parte de los demás procesadores Transparencia de Hardware Hardware adicional para sincronizar todas las cachés y la RAM Memoria excluída del caché Solo una porción de la memoria principal se comparte con más de un procesador. La memoria compartida nunca se copia a caché.

Número de cachés Caché de dos niveles: L1 Interna (caché on chip) L2 Externa (caché off chip) Pueden ser utilizadas, una para cargar las instrucciones y la otra los datos

Organización de Caché 80386 no tiene caché on chip 80486 Incluye caché on chip Pentium: 2 cachés on chip (L1): una para datos y otra para instrucciones (8kbytes y un a tamaño de línes de 32 bytes), y una caché L2 (256kbytes a 1 mbyte)