Tema 4 – Memoria interna. Tipos. Direccionamiento. Características y funciones.

Tema 4 – Memoria interna. Tipos. Direccionamiento. Características y funciones.

1. INTRODUCCIÓN.. 3

2. TIPOS DE MEMORIAS Y SU IMPLEMENTACIÓN.. 3

2.1 Memoria principal 3

2.2 Registros. 6

2.3 Memoria caché. 6

2.3.1 Función de la caché. 7

2.3.2 Componentes de la caché. 7

2.3.3 Organización de la caché. 7

2.3.4 Mecanismo de funcionamiento. 7

2.3.5 Mecanismo de reemplazo. 8

2.3.6 Caché multinivel 8

2.4 OTRAS MEMORIAS. 9

3. DIRECCIONAMINETO DE LA MEMORIA.. 9

3.1 Inmediato: 9

3.2 Directo: 9

3.3 Indirecto: 10

3.4 Implícito: 10

4. CARACTERÍSTICAS Y FUNCIONES. 10

4.1 Tamaño o capacidad de la memoria: 10

4.2 Velocidad de la memoria. 11

4.3 Duración de la información. 12

4.4 Cantidad de información a la que se accede. 12

5. DISEÑO DE LA MEMORIA.. 12

5.1 Estructura. 12

5.2 Organización de la memoria. 13

5.3 Direccionamiento. 13

5.4 Formatos de memoria. 13

1. INTRODUCCIÓN

· Memoria interna = memoria principal o central.

· También incluimos los registros de CPU y memoria caché.

· Memoria interna à Se almacenan los programas antes de ser ejecutados, así como los datos a utilizar.

· Registros à pequeñas memorias de almacenamiento temporal. Más rápidas. Se guardan datos intermedios o finales antes de pasar a la memoria principal.

· Caché à También pequeñas memorias que agilizan el acceso a la información por parte de la CPU.

· En la mayoría de las memorias se realizan lectura (obtener info almacenada) y escritura (almacenar info).

2. TIPOS DE MEMORIAS Y SU IMPLEMENTACIÓN

2.1 Memoria principal

2.1.1 Clasificación según sus componentes

– Memorias de Ferritas:

· Formadas por “anillos de ferrita” en cada uno se almacena 1 bit de info con valor (1 o 0).

· Costosas (cobre) y se rompían con facilidad.

· Poca capacidad. La información no se perdía incluso sin corriente. Pero una vez leída se perdía.

Memorias de capa fina y memorias de hilo:

· Reemplazan a las ferritas.

· Formadas por hilos que formaban una malla y se separaban de las otras mediante capas finas que actuaban de aislante.

· En el punto de unión de los hilos se almacenaba 1 bit.

· Costosas.

Memorias de semiconductores:

Es la que se usa hoy en día.

Tras la aparición de circuitos integrados la tecnología utilizada se aplicó en las memorias.

2.1.2 Clasificación según los procesos que permite realizar

2.1.2.1 Lectura/Escritura

RAM (Random Access Memory): Formadas por semiconductores.

– DRAM o RAM dinámicas o Fast Page Mode:

· Formada por condensadores (uno por bit).

· Actúan como baterías que se descargan. Cada cierto tiempo es necesario leer la información antes de que se pierda y refrescarlos (ciclo de refresco).

· Son volátiles (pierde info cuando se pierde corriente)

· Se puede acceder a cualquier posición de memoria sin pasar por las anteriores.

– SRAM o RAM estáticas:

· No necesitan ser refrescadas.

· Usa flip-flop (biestables) son dispositivos que se autoalimentan siempre que no se pierda la corriente.

· Mas pequeñas y más caras.

· Son volátiles. (pierde info cuando se pierde corriente)

2.1.2.2 Sólo lectura

– ROM (Read only Memory):

· Formada por semiconductores.

· Permiten acceso directo (solo para operación lectura)

· No volátiles. (no se pierde info cuando se pierde corriente)

· Actualización mediante SW.

· No almacena ni programas ni datos solo información del sistema (al contrario que las RAM)

· Ejemplo: (boot) programa de arranque.

· Memoria PROM (programable ROM):

· Variante de la ROM.

· Puede ser programada por el usuario mediante dispositivo externo de escritura.

· Una vez grabada ya no puede cambiarse. Se convierte en ROM.

· Durante proceso de grabación los transistores están conectados a través de un fusible destruible mediante el paso de una corriente en una dirección.

· Memoria EPROM (Erasable PROM o PROM reprogramable):

· Graba y borra contenido tantas veces se quiera.

· Se graba fuera del ordenador permitiendo después solo su lectura.

· La programación se realiza aplicando tensión solo a las celdas donde se quiere escribir un bit.

· Para borrar la celda se anula la carga almacenada por medio de rayos ultravioletas.

· Memoria EEPROM (Electrical EPROM o E^2 PROM):

· EPROM borrable eléctricamente mediante un voltaje (25 voltios)

· Se pueden borrar bits individuales.

· Para borrar se aplica la misma tensión que para la programación, pero en sentido contrario.

· Memoria flash:

· Programable por SW. Se actualiza a medida que evoluciona el SW.

· Solo 1 transistor por cada celda.

· Al borrar se hace en todos los transistores simultáneamente. Aumenta velocidad de borrado.

· Permite lectura y escritura en cualquier momento sin necesidad de dispositivos externos.

· No es volátil. (No se pierde info cuando se pierde corriente)

2.2 Registros

1) Registros internos de uso general: Almacenan cualquier tipo de información (datos o posición memoria)

a. Registros internos de datos: A veces es conveniente almacenar los datos cuando es solicitado muy a menudo o para uso posterior. (acumulador)

b. Registros internos de direcciones: Almacena la dirección de la memoria donde se encuentra un dato o donde se desea guardar. (punteros). Contendrá un valor denominado (índice). Podremos acceder a posiciones contiguas de memoria incrementando el valor del índice.

2) Registros internos específicos:

a. Contador de programa (Program Counter, PC): Contiene la dirección de memoria de la siguiente instrucción a ejecutar.

b. Registro de instrucción: Almacena la instrucción que se esta ejecutando para que la UC pueda acceder a ella cuando sea necesario.

3) Indicador de resultado: Formado por series de bits (0s y 1s) según si ha finalizado la ejecución de una instrucción por parte de la ALU de forma exitosa o no.

4) Puntero pila: Almacena direcciones de retorno en las llamadas subrutinas.

2.3 Memoria caché

· Su implementación se realiza con memoria estática (SRAM) siendo su coste más elevado.

· Por ahora no se ha empezado a utilizar en la RAM convencional.

· Memoria asociativa (acceso por contenido no por dirección).

· La caché es una memoria intermedia entre 2 dispositivos que funcionan a distinta velocidad (microprocesador y memoria principal) acelerando la velocidad de funcionamiento del sistema evitando tiempos muertos al procesador y los cuellos de botella.

2.3.1 Función de la caché

Almacena temporalmente la información antes de que sea solicitada.

La información se organiza en bloques, cuando un dato es llevado a la memoria principal se traspasa el bloque entero y no un único dato.

2.3.2 Componentes de la caché

Memoria SRAM: Zona de memoria donde se almacenan los datos.

– Memoria de etiquetas: Zona de la memoria donde se almacenan las direcciones de memoria de la RAM que están ya situadas en la caché.

Controlador: Gestiona el traspaso de la información.

2.3.3 Organización de la caché

a) Caché totalmente asociativa: En la caché se guardan las direcciones conforme van siendo solicitadas. Las posiciones de memoria principal se ubican dentro de la caché en cualquier posición, aleatoriamente.

b) Caché de correspondencia directa: Las direcciones de memoria principal se ubican en determinadas posiciones calculadas previamente, no aleatoriamente.

c) Caché asociativa de “n” vías: La caché esta dividida en varios bloques por lo que la información podría almacenarse en cualquiera de ellos.

d) Caché sectorizada: Cada etiqueta contiene varias direcciones. A la totalidad de información que contiene se le llama (sector). Los sectores se dividen en líneas que son las que contienen la información correspondiente a cada dirección.

2.3.4 Mecanismo de funcionamiento

Cuando una información (datos o instrucciones) es llevada a la caché, no solo se almacena la información, sino que la dirección de la memoria principal donde se encuentran.

Como es memoria asociativa, la dirección de memoria principal tiene que ser asociada a una etiqueta.

Cada etiqueta contendrá la dirección donde se encuentran los datos.

Cuando se quiere leer información la UCP envía una dirección y el controlador va buscando en las etiquetas la presencia o ausencia de la dirección de memoria solicitada.

En caso de no encontrar esta dirección en la caché la información contenida se reemplazará en la cache por la nueva solicitada.

2.3.5 Mecanismo de reemplazo

Debido a su pequeña capacidad se han elaborado distintos algoritmos para decidir información se elimina o reemplaza para introducir un nuevo bloque.

Mecanismos de actualización:

Write-though (escritura inmediata): La información se actualiza en la memoria caché y en la memoria principal cada vez que se introduce una modificación.

(Se escribe en la RAM todo lo que se escribe en la memoria caché)

– Write-back o copy back (escritura obligada): La actualización o escritura se realiza solo en la caché. Solo se actualizan los datos modificados cuando son sacados de la caché y llevados a la memoria principal.

(Se escribe en la RAM solo aquello que se modificó en la caché).

-Buffered/ Posted Write Though (escritura diferida): Las actualizaciones o escrituras se realizan en la caché y son pasadas a unos registros intermedios. El controlador lleva la información a la memoria principal poco a poco.

2.3.6 Caché multinivel

Los microprocesadores disponen de más de una caché (multinivel) las cuales están conectadas de forma que su utilización sea lo mas eficiente posible.

Serie: La UCP se conecta por medio del bus a la caché y ésta con la memoria de manera que toda la información se realiza a través de la caché.

Paralelo: La caché se conecta al bus independientemente de la memoria principal.

Cuando un dato es solicitado, la señal se envía tanto a la memoria principal como a la caché.

3 niveles de caché:

a) Primer nivel o L1

b) Segundo nivel o L2

c) Tercer nivel o L3

2.4 OTRAS MEMORIAS

– Zona LIFO: Dentro de la RAM el S.O reserva una zona para que los datos sean tratados de forma especial.

– Zona FIFO: Almacenan datos para ser tratados con la filosofía FIFO, primero en entrar es el primero en salir. Se sitúa fuera de la RAM.

3. DIRECCIONAMINETO DE LA MEMORIA

  • Las instrucciones utilizadas por los PCs tienen “código de operación” (operación a ejecutar, suma, resta, salgo…)
  • Dispondrá según el tipo de instrucción uno o más operadores (op) que contendrán el dato o la dirección donde se encuentra el mismo.
  • Direccionamiento: Forma en que un dato o instrucción es almacenada en la memoria o recuperada de la memoria.
3.1 Inmediato:

El dato está contenido en la misma instrucción.

Valor constante.

3.2 Directo:

La instrucción contiene la dirección donde se encuentra el dato en la memoria.

Absoluto: El dato o instrucción se encuentra en la dirección de memoria indicada sin compactar.

· De registro: El dato a buscar esta en un registro UCP. Tendrá que indicar en que registro se encuentra.

· De memoria: El dato a buscar se encuentra en la memoria principal. Tendrá que indicar en qué dirección se encuentra.

· De página base: La instrucción contiene una dirección de memoria, pero a una zona determinada de la memoria. Utilizada por microprocesadores.

Relativo: El S.O es el encargado de buscar un lugar libre en la memoria para almacenar los programas que se van a ejecutar.

Los programas o rutinas de los programas cuando son llamadas y llevado a memoria, no tienen que ser o no pueden ser situados en las mismas direcciones de memoria ya que pueden haber sido ocupadas por otro programa.

Se utiliza el direccionamiento relativo, donde un operando de la instrucción contiene un desplazamiento (offset) que tras sumarla a una dirección base, obtenemos la dirección física real donde se encuentra el dato.

Esta dirección base puede estar contenida en los siguientes elementos:

· Al contador del programa: Contiene la dirección de la siguiente instrucción a ejecutar.

· A un registro base: La UCP dispone de una serie de registros destinados al almacenamiento temporal de la información.

· A un registro índice: Para buscar un elemento en una tabla, al ser fijada la longitud de sus celdas, el incremento o desplazamiento es fijo.

o Postautodecremento: Primero contiene la dirección y luego la decrementa.

o Preautodecremento: Primero se decrementa y luego obtiene la dirección.

o Postautoincremento: Primero obtiene la dirección y luego la incrementa.

o Postautoincremento: Primero incrementa y luego obtiene la dirección.

· De pila: Los microprocesadores suelen tener una zona de memoria donde se gestionan los datos aplicándoles la filosofía de la pila. (el ultimo en entrar primero en salir)

3.3 Indirecto:

Se utiliza para acceder a datos a través de una tabla de punteros.

3.4 Implícito:

El lugar donde se encuentra el dato viene indicado en el propio código de operación ya que el dato está en un lugar predeterminado.

4. CARACTERÍSTICAS Y FUNCIONES

4.1 Tamaño o capacidad de la memoria:

– Bit (Binary Digit): Unidad más pequeña de representación (0 y 1).

– Byte u Octeto: Conjunto de 8 bits.

– Palabra: Cantidad total de información que se transmite en un proceso de lectura o escritura.

· 16 bits (palabra)

· 32 bits (doble palabra)

· 64 bits (cuádruple palabra)

clip_image001

4.2 Velocidad de la memoria

Tiempo de acceso: Tiempo máximo empleado para leer el contenido de una posición o escribir un dato. (nanosegundos)

Tiempo de ciclo: Tiempo mínimo que transcurre entre una lectura y la siguiente.

Ancho de banda: Cantidad de información expresada en bytes que es enviada de una unidad funcional a otra (memoria y CPU).

clip_image003

4.3 Duración de la información

Tiempo que la información se mantiene en el soporte. Factor fundamental para posterior uso.

Duradera: No volátiles (información no se pierde sin corriente) soportes magnéticos, ópticos, magnetoópticos.

Volátil: La información se pierde cuando ni hay corriente eléctrica (RAM).

Con refresco: La información se pierde poco a poco. Deben refrescarse periódicamente. (DRAM).

De lectura destructiva: Con la lectura se destruye la información. Necesita ser reescrita de nuevo.

Permanente: Contienen siempre la misma información. No pueden modificarse o borrarse una vez grabadas. (ROM)

4.4 Cantidad de información a la que se accede

Si la CPU tuviese que leer o escribir la información octeto a octeto sería muy lento.

El acceso a la información se realiza depende del tamaño de la palabra.

5. DISEÑO DE LA MEMORIA

5.1 Estructura

La memoria estas formada por chips conectados con los buses del sistema a través de una serie de patillas:

– Patillas de alimentación: Permiten la alimentación eléctrica de los circuitos.

– Patillas del bus de direcciones: Conectadas con el bus indicado para continuar la dirección que se desea leer o escribir.

– Patillas del bus de datos: Circulan los datos que se escribirán o leerán de la celdilla de memoria correspondiente.

– Patillas de control: Conectadas con el bus de control.

· CS (Chip select) o CE (Chip Enable): En condiciones normales las patillas están desactivadas. Esta señal la activa para poder leer o escribir.

· OE: Activa la patilla para leer los datos contenidos en ella.

· R/W: Activa la patilla para poder escribir en ella.

· RAS y CAS: Cuando la dirección de memoria es enviada en dos partes. Necesita saber que parte de la dirección está recibiendo.

5.2 Organización de la memoria

Cada bit que compone la palabra se va a almacenar en una “celda de memoria” de una patilla diferente.

Para almacenar n bits necesitaremos n patillas.

· Decodificador de direcciones: Selecciona la celdilla de memoria a la que se quiere acceder. Conectada con el bus de direcciones. Para n entradas permitirá 2^n celdillas.

· Registro de información: Conectado con el bus de datos. Alberga contenido a escribir en memoria o el contenido de la celdilla leída previamente.

· Circuito de control: Controla la operación de entrada y salida.

· Transductor:

o Transductor de escritura: Aplican la energía adecuada para que se almacene un 0 o un 1 en las celdillas de memoria.

o Transductor de lectura: Detecta el estado en el que se encuentra cada celdilla y así saber su estado.

· Matriz de memoria: Los chips que componen el módulo de la memoria contiene las celdillas donde se va a almacenar la información.

5.3 Direccionamiento

– Direccionamiento 2d

– Direccionamiento 3d

Previamente explicado

5.4 Formatos de memoria
clip_image005