Tema 2 Definiciones y conceptos básicos



Descargar 424.76 Kb.
Página2/8
Fecha de conversión12.11.2017
Tamaño424.76 Kb.
1   2   3   4   5   6   7   8

2.2.1 Ejemplo: Sistema con dos niveles de memoria

La Tabla 2.5 representa las características de dos niveles de memoria a los que tiene acceso la CPU.






Memoria nivel 1

Memoria nivel 2

Tiempo de acceso

1 seg

10 seg

Capacidad

103 palabras

105 palabras

Tabla 2.5: Características de dos niveles de memoria

Se supone que si la CPU tiene que acceder a una palabra que está en la memoria del nivel 1 lo hace de forma directa, por el contrario si la palabra está en la memoria del nivel 2, se transfiere primero al nivel 1 y desde allí a la CPU. Por simplicidad, no se toma en consideración el tiempo que necesita la CPU para determinar en que nivel está la palabra. El tiempo de acceso medio total (tA) empleado por la CPU para acceder a una palabra se puede expresar por la siguiente relación:



donde:


tA1 = tiempo de acceso a la memoria del nivel 1

tA2 = tiempo de acceso a la memoria del nivel 2

T = porcentaje del tiempo total en el que la palabra a la que desea acceder la CPU se encuentra en la memoria del nivel 1

La Figura 2.6 muestra la representación de tA en función de T. Se ve que cuando T = 0  tA = tA1 + tA2 (todas las palabras buscadas por la CPU están en la memoria del nivel 2), y si T = 100 % tA = tA1 (todas las palabras buscadas por la CPU están en la memoria del nivel 1).





Figura 2.6: Rendimiento de una memoria con dos niveles

En este ejemplo se aprecia que la estrategia de la jerarquía de memorias funciona adecuadamente siempre que se verifiquen las condiciones a), b), c) y d).

La base para la validez de la condición d) es un principio conocido como principio de localidad. Esta localidad se puede manifestar de dos formas distintas:
a) Localidad temporal. Refleja la tendencia a reutilizar tanto datos como instrucciones a los que se ha accedido recientemente. En los bucles se ejecutan varias veces las mismas instrucciones y las mismas variables se suelen referencias en múltiples ocasiones.
b) Localidad espacial. Refleja la tendencia a referencias tanto datos como instrucciones que están próximos en su ubicación física en la memoria al encontrarse agrupados en posiciones contiguas. Cuando se está dentro de un bucle o de un procedimiento, hay repetidas referencias a un pequeño conjunto de instrucciones a las que se accede normalmente de forma secuencial. Análogamente, las operaciones sobre ciertas estructuras de datos (listas, arrays, etc.) implican accesos a conjuntos de datos que están próximos entre sí en la memoria. A largo plazo estas agrupaciones cambian, pero a corto plazo la CPU trabaja fundamentalmente con una parte fija de la memoria.

Por este motivo, es posible organizar los datos en los diferentes niveles de memoria, de forma que la frecuencia de acceso sea mucho menor cuanto más abajo se esté en la jerarquía (ver Figura 2.7).





Figura 2.7: Organización de los datos según su fA
En el caso del ejemplo anterior se puede suponer que la memoria del nivel 2 contiene el programa y los datos, y que las agrupaciones (de datos o instrucciones) que están operativas en un momento determinado se colocan temporalmente en la memoria del nivel 1. De vez en cuando, una de las agrupaciones del nivel 1 se tendrá que mover al nivel 2 y liberar espacio para una nueva agrupación. No obstante, en promedio, la mayoría de las referencias que efectúa la CPU serán a datos e instrucciones contenidos en el nivel 1.

El resto de este tema se dedica a estudiar los niveles superiores de la jerarquía (memoria interna) que aparecen en la Figura 2.5.



Memorias de semiconductor
En los primeros computadores la forma más común de memoria principal de acceso aleatorio utilizaba una matriz de pequeñas bobinas ferromagnéticas conocidas como núcleos de ferrita. Por ello a la memoria principal se la denominaba a menudo memoria de núcleo, término que persiste aún hoy día. La aparición de la microelectrónica, con las ventajas inherentes de los dispositivos electrónicos de estado sólido, han hecho desaparecer prácticamente de la escena a las memorias de núcleo magnético.

Los semiconductores ya se empleaban desde los años 60 para la fabricación de los circuitos internos de la CPU. Sin embargo, solamente después de la aparición, a finales de esa década, de las técnicas microelectrónicas de producción de circuitos integrados se hizo posible la construcción de memorias de semiconductor de alta capacidad a un coste razonable, utilizando como componentes básicos los Circuitos Integrados de Memoria (CIM).


2.3.1 Características generales de un CIM
Un CIM está organizado internamente como una matriz de N × m celdas elementales, en las que se pueden almacenar N palabras de m bits tal como se indica en la Figura 2.8.



Figura 2.8: Esquema de la memoria de un CIM
A cada palabra almacenada en el CIM se le asigna una única dirección. Dándole al CIM la dirección adecuada se puede extraer de él cualquier palabra que se desee, con independencia de su localización física dentro del mismo. Un CIM con capacidad para N palabras, de ni bits cada una, tiene la estructura que se muestra en el diagrama de bloques de la Figura 2.9.



Figura 2.9: Estructura funcional de un CIM

El número de líneas n del bus de dirección es tal que 2n = N, siendo N el número de palabras del CIM. El número de líneas m del bus de datos se corresponde con la longitud de palabra (o un divisor de ella). SC (Selección de Circuito, del inglés "Chip Select") es una línea general de habilitación que debe estar activada

para que la memoria responda a cualquier petición de lectura o escritura. La línea R/W (Read/Write) es una entrada de selección que solamente estará presente en los circuitos de memoria de lectura/escritura (memorias RAM), y su misión consiste en seleccionar en un momento dado si el CIM ha de realizar una operación de lectura o una operación de escritura. En la Tabla 2.6 se resumen las operaciones que realiza un CIM en función del valor de sus entradas de control.


SC

R/W

Operación de memoria

0

×

Ninguna

1

0

Leer de la palabra seleccionada

I

I

Escribir en la palabra seleccionada

Tabla 2.6: Entradas de control de un CIM

En las Figuras 2.10 y 2.11 se incluyen los cronogramas representativos de los ciclos de lectura y escritura de una memoria RAM. Estos cronogramas son datos que ofrecen los fabricantes de memorias y ponen de manifiesto las acciones que debe realizar la CPU para leer o escribir en un determinado circuito.





Figura 2.10: Ciclo de lectura de un CIM

Un ciclo de lectura o de escritura comienza colocando una nueva dirección en el bus de direcciones. La línea SC de selección del circuito debe activarse (SC = 1) después de que la dirección se encuentre disponible. SC se debe mantener activa durante toda la secuencia de ciclos de memoria en los que se utilice el mismo circuito. En el caso de una operación de lectura la señal R/W debe ponerse al nivel lógico 0 y puede permanecer en este valor durante toda la secuencia de ciclos de lectura. Los datos a leer están disponibles en el bus de datos de salida tA (tiempo de acceso) segundos después de transmitir la dirección, tal como se muestra en la Figura 2.10. En una operación de escritura (ver Figura 2.11) los datos a escribir se envían al bus de datos de entrada aproximadamente al mismo tiempo que se coloca la dirección en el bus de direcciones.





Figura 2.11: Ciclo de escritura de un CIM

Transcurrido tAW segundos (conocido como el tiempo de fijación de la dirección) la línea R/W debe pasar de 0 a 1 para iniciar el proceso de escritura, que debe durar como mínimo un tiempo tWP (conocido como anchura del pulso de escritura), para garantizar que los datos han pasado ya a la memoria RAM. Durante este tiempo no deben cambiar los datos de entrada. El tiempo de ciclo de escritura tW se define como: tW= tAW+ tWP.


2.3.2 Ejemplo: Cálculo del número de ciclos de reloj en los accesos a memoria

Una CPU opera con una frecuencia de reloj de 50 MHz, lo que da un período para cada pulso de reloj de 20 ns (1 ns = 10-9 s). Se supone que la CPU se comunica con su memoria con un tiempo de acceso de tA = 65 ns y un tiempo de ciclo de escritura de tW =75 ns. El número de pulsos de reloj que se requieren para hacer una petición a memoria es el valor entero mayor o igual al máximo del tiempo de acceso y del tiempo de ciclo de escritura, dividido entre el período del reloj. Como el período del reloj de la CPU es de 20 ns y el máximo de tA y tales 75 ns, serán necesarios dedicar al menos cuatro ciclos de reloj a cada petición de memoria.


2.3.3 Estructura de la celda básica de memoria

El elemento básico de un CIM es su celda de memoria que permite almacenar un bit de información. Aunque se utilizan diferentes tecnologías electrónicas, todas las celdas de memoria de tipo semiconductor comparten ciertas propiedades:

• La celda de memoria presenta dos estados que se pueden usar para representar el 1 y el 0 binario.

• La celda de memoria se puede escribir (al menos una vez) para fijar su estado.

• La celda de memoria se puede leer para conocer el valor de su estado.

En el caso de las memorias ROM la celda básica de almacenamiento es un simple conmutador de tipo semiconductor que está permanentemente conectado o desconectado, generando como consecuencia un bit de datos constante, 1 ó 0, cada vez que se selecciona.

Las celdas en una memoria RAM son inherentemente más complejas que en una memoria ROM, ya que se puede leer y escribir y todo ello durante las condiciones normales de funcionamiento. En la Figura 2.12a se representa una celda de tipo RAM realizada con puertas lógicas y un biestable RS. La celda se selecciona con la señal Selección = 1 cada vez que se quiere leer o actualizar su contenido (un bit). La operación de escritura se distingue de la de lectura porque la señal Lectura/Escritura = 1. En el caso de una operación de lectura (Selección = 1 y LecturalEscritura = 0), las entradas al elemento biestable son: S = 0 y R = 0, con lo cual no modifica su estado; es decir, la Salida de la celda toma el valor del bit que estuviera almacenado en ella.

Cuando la operación es de escritura (Selección = 1 y Lectura/Escritura = 1), las entradas al biestable son S = Entrada y R = Entrada y siendo Entrada el bit que se desea almacenar en la celda. Si Entrada = 0 S = 0 y R = 1, esto supone una acción de puesta a 0 para el biestable (Q = 0) por lo que Salida = Entrada = 0. Si Entrada = 1 S = 1 y R = 0, que representa una acción de puesta a 1 para el biestable (Q = 1), por lo que Salida = Entrada = 1. En la Figura 2.12b se muestra un esquema de la celda básica que se va a utilizar como bloque elemental al explicar las diferentes alternativas de organización de las memorias RAM.





Figura 2.12: a) Celda básica de memoria RAM b) Esquema de la celda básica de memoria
El funcionamiento descrito anteriormente de la celda de memoria RAM se resume en la Tabla 2.7

Selección

Escritura

Contenido

Salida

0

x

Contenido

0

1

0

Contenido

Contenido

1

1

Entrada

Entrada

Tabla 2.7: Tabla de verdad de la celda básica RAM
La celda RAM que se acaba de presentar es de tipo estática porque, salvo cuando se escriben nuevos datos en la memoria, los datos almacenados se mantienen sin alteración por un tiempo indefinido. En las memorias RAM dinámicas los datos almacenados se desvanecen gradualmente y para que no se pierdan deben ser restaurados, a intervalos de tiempo regulares, mediante un proceso conocido como refresco. Para refrescar un dato no es necesario volver a escribirlo y por tanto puede ser realizado por un circuito específico distinto a la CPU. Las principales ventajas de las celdas de tipo RAM dinámicas es su sencillez y una mayor capacidad de almacenamiento que las estáticas.
2.3.4 Organización interna

Cada CIM contiene una matriz de celdas de memoria. Con las tecnologías actuales de fabricación de circuitos integrados es posible encapsular en una única unidad 64K bits, 256K bits, 1Mbits, 4M bits, 8M bits, 16M bits, 32M bits y 64M bits. En el apartado de jerarquía de memorias se mostró que había un compromiso entre velocidad, capacidad y coste. También existe este mismo compromiso cuando se considera la organización de las celdas de memoria y la lógica de control y selección asociada a un CIM.

La Figura 2.9 correspondía a la estructura funcional de un CIM considerado desde un punto de vista externo, ya que pone de manifiesto las señales que el módulo de memoria intercambia con el exterior. Internamente la estructura de un CIM puede variar dependiendo de las ligaduras de diseño que se le impongan. Se suelen utilizar dos organizaciones conocidas como 2D y 2½D.
Organización 2D

Es el método más simple de organizar una memoria de semiconductor, pero desde el punto de vista de su realización física es el de coste más elevado. La organización 2D se conoce también como organización por palabras u organización lineal.

En este tipo de organización el módulo de memoria se compone de una matriz de celdas básicas (del tipo descrito anteriormente) y de los mecanismos de control y selección que se indican en la Figura 2.13.

Para una memoria RAM de 2n palabras de ni bits cada una, la matriz de celdas está formada por 2n filas y m columnas. Además del array de celdas el módulo para seleccionar la palabra deseada requiere un decodificador de n entradas y 2n salidas y para formar la salida m puertas OR de 2n entradas cada una . En la organización 2D la disposición física de la matriz de celdas es la misma que la disposición lógica (tal como la percibe el procesador) de las palabras de memoria. Es decir no hay diferencia entre el tamaño de la palabra física y la palabra lógica (m bits). El tamaño de palabra física es el número de celdas en cada fila de la memoria, en cambio el tamaño de palabra lógica está determinado por el tipo de acceso permitido. En la Figura 2.14 se representa una memoria RAM de 4 palabras con 4 bits por palabra.




Figura 2.13: Organización 213 de una memoria RAM


Figura 2.14: Memoria RAM de 4 palabras con 4 hits por palabra
Cada una de las salidas del decodificador está asociada con una palabra de la memoria. Por ejemplo, una entrada al decodificador iguala A0 = 0 y A1 = 1 origina que se active la línea de salida del decodificador número 2 (las líneas se numeran desde 0 a N-1 = 2n-1). Si la operación es de lectura (R/W = 0) sólo la palabra de memoria seleccionada vierte los datos que contiene a las líneas de salida de datos (Ds3, Ds2, Ds1, Ds0). De forma análoga, en las operaciones de escritura (R/W = 1) el dato presente en las líneas de entrada de datos (De3, De2, Del, De0) se introduce en la celda correspondiente de la palabra de memoria seleccionada. La línea de selección de circuito (SC) permite la inhibición total de la actuación del decodificador, independientemente de la configuración de entrada que tenga presente. Esta inhibición impide que el contenido de cualquier palabra de la memoria pase a las líneas de datos y es un factor fundamental, como se verá más adelante, para el diseño de unidades de memoria basadas en la utilización reiterada de un módulo básico.

La estructura 2D es una organización rápida ya que el único retardo que presenta es el asociado con los circuitos de decodificación y con el acceso a los elementos físicos de almacenamiento. En principio y para un número dado M de bits (M = 2n × m) se podría utilizar la organización 2D para diseñar una memoria con un número arbitrario de filas y columnas. Hay no obstante dos factores que limitan la aplicabilidad de esta organización:


1) Complejidad del decodificador de direcciones. El decodificador de direcciones requiere al menos una puerta AND por cada una de las filas de la matriz de celdas. En otras palabras, el decodificador de direcciones necesita 2n puertas AND.
2) Número de líneas de dirección y datos. La organización 2D precisa de n + m líneas (n líneas de dirección y m líneas de datos).

En la Tabla 2.8 se muestran los valores de complejidad del decodificador y número de líneas para una memoria de 4K bits. A1 examinar esta tabla se observa que cuanto más cuadrada es la memoria menor es el coste del decodificador y mayor el número de líneas que se necesitan.



Tamaño

Complejidad del decodifcador

Número de líneas

26 x 64

64 puertas AND

6 + 64 = 70

27 x 32

128 puertas AND

7 + 32 = 39

28 x 16

256 puertas AND

8 + 16 = 24

29 x 8

512 puertas AND

9 + 8 = 17

210 x 4

1024 puertas AND

10 + 4 = 14

211 x 2

2048 puertas AND

11 + 2 = 13

212 x 1

4096 puertas AND

12 + 1 = 13

Tabla 2.8: Número de líneas y complejidad del decodificador para una memoria de 4 Kbits con organización 2D
Como en un circuito integrado de memoria, normalmente, el número de palabras (2n) es mucho mayor que el número de bits por palabras (m), la utilización de una organización 2D dará lugar a matrices de celdas excesivamente largas y estrechas, que no resultan adecuadas para su realización en un circuito integrado. Estas desventajas de la organización 2D se trata de evitar con la organización 2½D.
Organización 2½D

Con la organización 2D existen dos problemas para la realización de módulos de memoria RAM de gran capacidad:


a) Las m puertas lógicas OR tienen demasiadas entradas (2n cada una).

b) El decodificador de direcciones es complejo y costoso: Requiere 2n puertas lógicas AND con n entradas por puerta y 2n conexiones que van desde el decodificador a la matriz de celdas.

En la organización 2D todos los bits de una palabra dada están en el mismo circuito integrado, sin embargo en la organización 2½D están localizados en más de un circuito integrado. Por ejemplo, una palabra de 16 bits se podría almacenar en 4 circuitos integrados con 4 bits en cada uno de ellos. El caso más extremo de esta organización, y también el más común, es cuando cada bit de una palabra se encuentra en un circuito integrado distinto.

Para reducir los requisitos mencionados la organización 2½D emplea un decodificador por coincidencia (por este motivo a la organización 2½D se la llama también organización por coincidencia). Consiste en utilizar, en lugar de un único decodificador con n entradas y 2n salidas, dos decodificadores con n/2 entradas y 2n/2 salidas en cada uno de ellos. Uno de los decodificadores realiza la selección sobre el eje X y el otro sobre el eje Y, tal como se muestra en la Figura 2.15. De esta manera se pueden conseguir matrices de celdas de memoria más cuadradas que con la estructura 2D, además de reducir el número de puertas.





Figura 2.15: a) Memoria RAM con decodificación por coincidencia b) Celda básica de memoria modificada
Esta configuración con dos decodificadores requiere menos puertas lógicas con menor número de entradas por puerta que cuando se utiliza un único decodificador y el número de conexiones que van de los decodificadores a la matriz de celdas de memoria se reduce de 2n a 2 × 2n/2. Sin embargo, este esquema utiliza una celda básica de memoria algo más complicada, ya que incluye una puerta lógica AND necesaria para efectuar la selección por coincidencia.

Para seleccionar el bit de una palabra en particular la dirección de la palabra se divide en dos mitades. La primera parte de la dirección se introduce al decodificador Y, que selecciona una fila igual que en la organización 2D. El resto de la dirección va al decodificador X conectado a las columnas de la matriz de celdas de memoria. Este segundo decodificador selecciona una columna de la matriz, permitiendo así que sólo se lea o se escriba en una única celda de memoria (la celda que se encuentra en la intersección de la fila y la columna seleccionadas por los dos decodificadores). En la Figura 2.16 se muestra un esquema de selección por coincidencia para el caso de una memoria RAM de 16 palabras de 1 bit cada una (sólo se representan las líneas de dirección). Con el fin de compararla con la organización 2D en la Figura 2.17 se presenta la misma memoria con selección lineal.





Figura 2.16: Memoria RAM de 16 x 1 con selección por coincidencia


Figura 2.17: Memoria RAM de 16 x 1 con selección lineal
En la organización 2½D si que se establece una diferencia entre el tamaño de la palabra física y la palabra lógica. La memoria que se muestra en la Figura 2.18 tiene una palabra física de 64 bits, sin embargo sólo permite el acceso a valores de un bit y por lo tanto tiene una palabra lógica cuyo tamaño es de un bit.

Aunque la organización 2½D ofrece una solución parcial al problema del número de conexiones externas al ser la matriz de celdas cuadradas, esta solución no es suficiente para circuitos de memoria de gran capacidad. La tecnología actual de fabricación de circuitos integrados permite disponer hasta 64 Mbits en un sólo chip. Con las técnicas que se han analizado, un chip de 4M bits por ejemplo requeriría al menos 27 conectores (22 conectores de dirección, 1 conector de datos, 2 conectores de señales de control, 1 conector de alimentación del chip y 1 conector de tierra).

Se puede emplear otra técnica la multiplexación para reducir el número de terminales necesarios para suministrar el valor de la dirección al chip. En la multiplexación los mismos conectores transmiten valores distintos en instantes diferentes lo que hace más lentos los tiempos de acceso y ciclo de memoria pero permiten como contrapartida una mayor densidad de celdas de memoria.

El uso combinado de direccionamiento multiplexado y de matrices de celdas cuadradas dan lugar a que la capacidad de la memoria se multiplique por cuatro con cada nueva generación de circuitos de memoria. La inclusión de un terminal adicional dedicado a direccionamiento duplica el número de filas y columnas de manera que el tamaño del circuito se incrementa por un factor de 4. El ritmo de evolución que se ha tenido en cuanto a capacidades de los circuitos de memoria ha sido el de una nueva generación cada tres años: 1 K, 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, ....





Figura 2.18: Organización 2½D de una memoria de 4096 x 1 bits
Para realizar una memoria RAM de 2n palabras × m bits con selección por coincidencia, se repite m veces el plano de 2n palabras x 1 bit con los decodificadores X e Y compartidos por los diferentes planos. En la Figura 2.19 se muestra un ejemplo de una memoria RAM de 16 × 2 (sólo se representan las líneas de direcciones).



Figura 2.19: Memoria RAM de 16 x 2 con selección por coincidencia

Compartir con tus amigos:
1   2   3   4   5   6   7   8


La base de datos está protegida por derechos de autor ©composi.info 2017
enviar mensaje

    Página principal