La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

6.Componentes básicos de memorización Fundamentos de los Computadores Grado en Ingeniería Informática.

Presentaciones similares


Presentación del tema: "6.Componentes básicos de memorización Fundamentos de los Computadores Grado en Ingeniería Informática."— Transcripción de la presentación:

1 6.Componentes básicos de memorización Fundamentos de los Computadores Grado en Ingeniería Informática

2 Componentes básicos de memorización2 Introducción  La necesidad de memorizar información obliga al uso de circuitos secuenciales en el diseño de sistemas digitales complejos  Existe un conjunto de componentes de memorización básicos que se usan con frecuencia en estos diseños  Los objetivos de este tema son:  Describir los tipos de registros utilizados con mayor frecuencia en el diseño de sistemas digitales  Describir los bancos de registros y los distintos tipos de memoria que se emplean en sistemas digitales avanzados

3 Componentes básicos de memorización3 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

4 Componentes básicos de memorización4 Registros  Conceptualmente, un registro puede considerarse como un biestable ampliado a múltiples bits  La implementación de un registro consta de un conjunto de biestables conectados en paralelo a una señal de reloj común

5 Componentes básicos de memorización5 Registros  Un registro con n biestables almacena un dato de n bits en el flanco de la señal de reloj, encargándose cada biestable de almacenar uno de los bits del dato  Aparte de la señal de reloj, un registro de n biestables dispondrá también de n entradas y n salidas

6 Componentes básicos de memorización6 Registros  Se pueden añadir al registro señales asíncronas de puesta a uno (preset) y puesta a cero (clear)  Las señales asíncronas son independientes de la señal de reloj y tienen prioridad sobre las señales síncronas que dependen del reloj

7 Componentes básicos de memorización7 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

8 Componentes básicos de memorización8 Registros con carga en paralelo  En la mayoría de los sistemas digitales es necesario almacenar un dato durante varios ciclos de reloj antes de modificarlo  Por este motivo es útil añadir a un registro la posibilidad de decidir cuándo debe almacenarse un dato y cuándo no debe almacenarse  Para esto se añade una señal de control que normalmente se denomina señal de habilitación (enable) o de carga (load)

9 Componentes básicos de memorización9 Registros con carga en paralelo  El registro resultante se denomina registro con carga en paralelo y puede implementarse añadiendo por cada biestable un multiplexor controlado por la señal de carga  Si la señal de carga está a 0 durante el flanco de reloj los multiplexores harán que el registro almacene el mismo dato que ya contenía  Si la señal de carga está a 1 durante el flanco de reloj, los multiplexores harán que el registro almacene un dato nuevo proveniente de las entradas

10 Componentes básicos de memorización10 Registros con carga en paralelo  Este diagrama muestra un registro con carga en paralelo

11 Componentes básicos de memorización11 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

12 Componentes básicos de memorización12 Registros de desplazamiento  Un registro de desplazamiento es capaz de desplazar su contenido una posición en una dirección específica cuando lo indica una señal de control  Mientras que los registros con carga en paralelo tienen una entrada de datos para cada bit, los registros de desplazamiento tiene una única entrada de datos  Esta entrada de datos se utiliza para introducir un valor en la posición que queda libre tras el desplazamiento, lo que significa que este tipo de registros son de entrada en serie y salida en paralelo

13 Componentes básicos de memorización13 Registros de desplazamiento  Este diagrama muestra un registro de desplazamiento

14 Componentes básicos de memorización14 Registros de desplazamiento  Para aumentar la versatilidad del registro podemos utilizar multiplexores con un número mayor de entradas  Esto nos permitiría combinar las funciones de carga en paralelo y desplazamiento ( con más entradas también hubiera sido posible rotar… )  Además puede añadirse la posibilidad de elegir entre un desplazamiento a la izquierda o a la derecha, lo que requerirá una segunda entrada serial de datos  Finalmente, será necesario añadir entradas de control para determinar el modo de operación del registro

15 Componentes básicos de memorización15 Registros de desplazamiento  Este diagrama muestra un registro de desplazamiento con carga en paralelo

16 Componentes básicos de memorización16 Registros de desplazamiento  Los registros de desplazamiento con carga en paralelo suelen utilizarse para implementar circuitos que controlen transmisiones de datos en serie  Uno de estos registros puede utilizarse para  Convertir una secuencia de datos en paralelo en una secuencia de datos serie para transmitirla  Convertir una secuencia de datos serie recibida en una secuencia de datos en paralelo que pueda ser procesada  Además se presenta la opción de obtener primero el bit menos significativo o el más significativo

17 Componentes básicos de memorización17 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

18 Componentes básicos de memorización18 Contadores  Un contador es un tipo especial de registro que incorpora lógica que le permite incrementar o decrementar su valor y, por tanto, contar de forma ascendente o descendente  En el diseño de un contador resulta útil tener dos señales de control:  Una señal de habilitación (enable) que habilite la cuenta cuando esté activa  Una señal asíncrona de puesta a cero (clear) que permita reiniciar el contador cuando sea conveniente

19 Componentes básicos de memorización19 Contadores  Este diagrama muestra un contador binario ascendente de cuatro bits, por lo que la cuenta es módulo 16

20 Componentes básicos de memorización20 Contadores  La lógica de incremento de este contador consta de una serie de circuitos semisumador  Las entradas del primer semisumador se conectan al bit menos significativo y a la entrada de habilitación  Cuando la entrada de habilitación está desactivada no se hace nada (sumamos 0)  Cuando la entrada de habilitación está a activa se incrementa el bit menos significativo (sumamos 1)  Las entradas de los demás semisumadores se conectan al bit correspondiente y al acarreo que pueda provenir del incremento del bit anterior

21 Componentes básicos de memorización21 Contadores de doble sentido  Este contador puede ampliarse como contador ascendente/descendente modificando los circuitos semisumador para que sean capaces de restar  Para esto será necesaria una nueva entrada de control “D” que determine el sentido de la cuenta  Cuando D valga 0 la cuenta será ascendente  Cuando D valga 1 la cuenta será descendente

22 Componentes básicos de memorización22 Contadores de doble sentido  Este diagrama muestra un contador de doble sentido Ojo con esta implementación

23 Componentes básicos de memorización23 Contadores con inicialización  Hasta aquí hemos supuesto que los contadores empiezan a contar desde cero, pero resulta conveniente que el contador pueda ser inicializado a un valor  Para permitir la inicialización en paralelo de un contador necesitamos:  Añadir un multiplexor a cada bit para permitirle incrementarse o tomar el valor de la entrada  Añadir una señal de control (Load) que determine cuándo inicializar

24 Componentes básicos de memorización24 Contadores con inicialización  Este diagrama muestra un contador con carga en paralelo

25 Componentes básicos de memorización25 Contadores BCD  La capacidad de inicialización puede utilizarse para construir otros contadores, como por ejemplo circuitos que cuenten en BCD  Dado que contar en código BCD implica realizar una cuenta módulo 10 debemos usar 4 biestables  Para evitar que el contador de 4 biestables realice una cuenta módulo 16 debemos detectar cuando se alcanza el valor 9 y, en el siguiente ciclo, inicializar el contador a 0 en lugar de permitir que alcance el valor 10

26 Componentes básicos de memorización26 Contadores BCD  Este diagrama muestra el diseño de un contador BCD ascendente partiendo de un contador binario ascendente/descendente módulo 16

27 Componentes básicos de memorización27 Contadores BCD  Siguiendo este mismo esquema podemos diseñar un contador ascendente/descendente BCD a partir de un contador binario ascendente/descendente módulo 16  En función del sentido de la cuenta habrá que cargar un valor distinto en el contador, por lo que será necesario utilizar un multiplexor para decidir el valor correcto  Para la dirección de cuenta ascendente debemos detectar el valor 9 y cargar un 0 en el siguiente ciclo  Para la dirección de cuenta descendente debemos detectar el valor 0 y cargar un 9 en el siguiente ciclo

28 Componentes básicos de memorización28 Contadores BCD  Este diagrama muestra el diseño de un contador BCD ascendente/descendente partiendo de un contador binario ascendente/descendente módulo 16

29 Componentes básicos de memorización29 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

30 Componentes básicos de memorización30 Análisis de un contador  Dado que un contador es un circuito secuencial podemos aplicarle un proceso de análisis para determinar su funcionamiento  Como ejemplo tomaremos el circuito del diagrama para intentar determinar su secuencia de cuenta

31 Componentes básicos de memorización31 Análisis de un contador  En primer lugar podemos decir que este contador es un circuito de tipo Moore, ya que las salidas dependen únicamente del estado del circuito y no de las entradas  Dado que hay cuatro biestables el contador tiene un total de dieciséis estados posibles

32 Componentes básicos de memorización32 Análisis de un contador  A partir del circuito podemos obtener las ecuaciones correspondientes a las entradas de los cuatro biestables

33 Componentes básicos de memorización33 Análisis de un contador  Conociendo el funcionamiento de un biestable T es posible, partiendo de las ecuaciones de las entradas, generar la tabla de excitación y de estado siguiente Q + = TQ’+T’Q = T xor Q

34 Componentes básicos de memorización34 Análisis de un contador  El análisis de las salidas es trivial, ya que se corresponden exactamente con el estado de los biestables correspondientes  La tabla de estado siguiente nos da toda la información que necesitamos para determinar la secuencia de cuenta del contador  El único dato que necesitamos en este caso es el valor inicial del contador

35 Componentes básicos de memorización35 Análisis de un contador  Supongamos que queremos determinar la secuencia del contador partiendo del valor 0000 0000 1111 1110 1101 1010 0101

36 Componentes básicos de memorización36 Análisis de un contador  Supongamos ahora que queremos determinar la secuencia del contador partiendo del valor 0011 0011 1100 1011 0100

37 Componentes básicos de memorización37 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

38 Componentes básicos de memorización38 Diseño de un contador  El diseño de un contador también puede realizarse de la misma manera que el de cualquier otro tipo de circuito secuencial  Como ejemplo diseñaremos un contador binario ascendente/descendente módulo 8  El circuito será de tipo Moore, ya que las salidas no dependerán directamente del valor de las entradas  Dado que el contador es módulo 8 necesitaremos 3 biestables  Para la realización del diseño usaremos biestables de tipo T  El contador dispondrá de una señal de control C que determinará si la cuenta es ascendente (C = 1) o bien si es descendente (C = 0)

39 Componentes básicos de memorización39 Diseño de un contador  Una vez conocido el comportamiento que debe tener el contador podemos plantear la tabla de transición o de estado siguiente

40 Componentes básicos de memorización40 Diseño de un contador  A partir de la tabla de estado siguiente, y sabiendo que utilizaremos biestables de tipo T, podemos generar la tabla de excitación de los biestables

41 Componentes básicos de memorización41 Diseño de un contador  La lógica de entrada a los biestables puede obtenerse simplificando las funciones correspondientes

42 Componentes básicos de memorización42 Diseño de un contador  No es necesario generar ninguna lógica de salida, ya que la salida del contador coincide con su estado, por lo que ya sólo queda dibujar el diagrama del circuito

43 Componentes básicos de memorización43 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

44 Componentes básicos de memorización44 Contadores asíncronos  Una posible manera de reducir el coste de un circuito contador es eliminar la lógica utilizada para calcular los incrementos y/o decrementos  Para conseguir esto se usan contadores asíncronos, es decir, contadores cuyos biestables no están conectados a la misma señal de reloj  La forma más simple de implementarlo es hacer que cada biestable cambie a la mitad de la frecuencia que el biestable anterior (doble período)  El biestable de la posición n cambiará cuando el biestable de la posición n-1 cambie de 1 a 0, pero no cuando el biestable de la posición n-1 cambie de 0 a 1

45 Componentes básicos de memorización45 Contadores asíncronos  El biestable más apropiado para construir un contador asíncrono es el biestable T  Las entradas del biestable deben establecerse de forma que su estado cambie en cada ciclo, es decir, siempre a 1  La señal de reloj del biestable de la posición n se conecta con la salida complementada del biestable de la posición n-1  Dado que el biestable de la posición n sólo cambia en el flanco de subida de su reloj, solo cambiará cuando la salida complementada de n-1 cambie de 0 a 1, o sea, cuando el biestable de la posición n cambie de 1 a 0

46 Componentes básicos de memorización46 Contadores asíncronos  Este diagrama muestra un contador asíncrono con una señal de habilitación ( E ) y una señal de puesta a 0 ( clear ), así como una señal de reloj que se conecta sólo al biestable correspondiente al bit menos significativo

47 Componentes básicos de memorización47 Contadores asíncronos  Este cronograma muestra el funcionamiento del contador, pudiendo verse que cada biestable tiene un período que es el doble que el anterior

48 Componentes básicos de memorización48 Contadores asíncronos  Si suponemos que el retardo de cada biestable es , la señal Q 0 cambiará con un retardo , ya que pasa por un biestable, la señal Q 1 cambiará con un retardo 2 , ya que pasa por dos biestables, y así sucesivamente

49 Componentes básicos de memorización49 Contadores asíncronos  Podemos decir que un contador asíncrono de n bits tendrá un retardo máximo de n , y por tanto la frecuencia de operación del circuito será 1/n   Por su parte, el retardo máximo de un contador síncrono vendrá dado únicamente por la propagación del acarreo en la lógica de incremento/decremento  Esto significa que, con un mismo número de biestables, un contador síncrono sería más rápido que uno asíncrono

50 Componentes básicos de memorización50 Contadores en modo mixto  Para acelerar un contador asíncrono podemos dividirlo en varias secciones y hacerlo parcialmente síncrono  Una posibilidad sería realizar un contador síncrono con secciones asíncronas, de forma que la sección más significativa esté habilitada sólo cuando la menos significativa tenga su máximo valor

51 Componentes básicos de memorización51 Contadores en modo mixto  Otra posibilidad consiste en realizar un contador asíncrono con secciones síncronas  La señal de reloj de la sección más significativa se conecta de tal forma que sólo haya un flanco de subida cuando la sección menos significativa pase del valor máximo al valor cero

52 Componentes básicos de memorización52 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

53 Componentes básicos de memorización53 Bancos de registros  Además de conectar los biestables en fila, es posible conectarlos formando una estructura bidimensional  En una estructura de este tipo podemos considerar que cada fila es un registro, por lo que se le suele dar el nombre de banco de registros  La principal ventaja de un banco de registros es que, dada su regularidad, el diseño final resulta menos complejo de lo que sería necesario si implementamos los registros por separado

54 Componentes básicos de memorización54 Bancos de registros  Un banco de registros consiste en:  Una red bidimensional de celdas (RFC – Register-file Cells)  Decodificadores de lectura y escritura  Cada RFC consiste en un biestable con una circuitería lógica asociada que permite almacenar un bit  Los decodificadores de lectura y escritura seleccionan una fila concreta para permitir que en ella se realice una operación de lectura o escritura

55 Componentes básicos de memorización55 Bancos de registros  Una RFC puede implementarse usando un biestable D y algunas puertas lógicas para controlar:  Una señal de entrada para datos  Una señal de selección de escritura que hace que el dato de entrada se almacene en el biestable  Una señal de selección de lectura que hace que el dato almacenado en el biestable pase a la salida a través de un buffer triestado

56 Componentes básicos de memorización56 Bancos de registros  En general, un banco de registros de 2 n registros de m bits necesita:  2 n filas de biestables  m entradas de datos  m salidas de datos  El decodificador de escritura necesita  n líneas de dirección  1 línea de habilitación de escritura  El decodificador de lectura necesita  n líneas de dirección  1 línea de habilitación de lectura

57 Componentes básicos de memorización57 Bancos de registros  Este diagrama muestra un banco de cuatro registros de cuatro bits en el que, por claridad, se ha suprimido la señal de reloj

58 Componentes básicos de memorización58 Bancos de registros con múltiples puertos  La principal limitación de un banco de registros como éste es que, en un momento dado, sólo puede leerse un dato y escribirse un dato al mismo tiempo  Decimos que un banco de registros de estas características tiene un puerto de lectura y un puerto de escritura  La solución a este problema es aumentar el número de puertos de lectura y escritura según convenga, de acuerdo con el uso que vaya a darse al banco

59 Componentes básicos de memorización59 Bancos de registros con múltiples puertos  El problema de usar múltiples puertos es que el coste de cada registro aumenta proporcionalmente al número de puertos que tenga  Un caso habitual es usar dos puertos de lectura y uno de escritura  Por ejemplo, suponiendo que un circuito digital realice una operación aritmética o lógica en cada ciclo:  Los puertos de lectura proporcionarán los dos operandos  El puerto de escritura permitirá almacenar el resultado

60 Componentes básicos de memorización60 Bancos de registros con múltiples puertos  Este diagrama muestra un banco de registros con las modificaciones necesarias para tener dos puertos de lectura, incluyendo un segundo decodificador de lectura

61 Componentes básicos de memorización61 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

62 Componentes básicos de memorización62 Memorias  Los bancos de registros en un sistema digital son rápidos, pero las características de su diseño implican que también deben ser pequeños  Un banco de registros es ideal para almacenar datos temporales durante operaciones de cálculo  Su tamaño no es suficiente para almacenar todos los datos producidos durante el funcionamiento del sistema  Las memorias son estructuras de almacenamiento de datos más lentas pero también más grandes, y por tanto son más apropiadas para memorizar grandes cantidades de datos a largo plazo

63 Componentes básicos de memorización63 Memorias de sólo lectura  Las memorias de sólo lectura ( ROM – read only memory ) se construyen para que almacenen determinada información que será accesible a un circuito digital  Una ROM contiene 2 n líneas de m bits cada una, y necesitará n líneas de dirección para permitir la selección de cada una de las líneas  Un decodificador con n líneas de control es el encargado de seleccionar las líneas y permitir la lectura de los datos, pero la escritura de datos es imposible

64 Componentes básicos de memorización64 Memorias de sólo lectura  Las memorias ROM son programadas de forma permanente durante el proceso de fabricación, por lo que se construyen con una determinada funcionalidad  En general, las ROM son excelentes para almacenar datos fijos dado que no son volátiles, es decir, su contenido no se pierde al desconectar la corriente  Debido a esto, las ROM se utilizan muy frecuentemente en sistemas digitales, como por ejemplo para almacenar programas que permitan inicializar un procesador

65 Componentes básicos de memorización65 Memorias de sólo lectura  Al igual que los bancos de registros, podemos imaginar una ROM como una red bidimensional de celdas de memoria ( MC – memory cell )  En general, se interpreta como un 1 ó un 0 la presencia o ausencia de una conexión con una celda

66 Componentes básicos de memorización66 Ejemplo de aplicación de una ROM  Como ejemplo diseñaremos un circuito que implemente el funcionamiento descrito por este diagrama de estados usando biestables tipo T  La parte combinacional del sistema la vamos a implementar usando una memoria ROM

67 Componentes básicos de memorización67 Ejemplo de aplicación de una ROM  Se trata de un diagrama de tipo Moore con cuatro estados, una entrada y dos salidas, de lo que podemos deducir la tabla de estado siguiente

68 Componentes básicos de memorización68 Ejemplo de aplicación de una ROM  Conociendo el comportamiento de los biestables T podemos extender la tabla de estado siguiente y formar la tabla de excitación

69 Componentes básicos de memorización69 Ejemplo de aplicación de una ROM  A partir del diagrama de estados también podemos deducir la tabla y las ecuaciones de salida, teniendo en cuenta que se trata de un sistema de tipo Moore

70 Componentes básicos de memorización70 Ejemplo de aplicación de una ROM  Con esta información podemos dibujar el diagrama  La memoria ROM será accedida usando como dirección los valores de las variables X, Q 1 y Q 0  Cada fila de la ROM se corresponderá con los valores que deben aparecer en las entradas de los biestables de acuerdo con los valores de X, Q 1 y Q 0 correspondientes a esa fila

71 Componentes básicos de memorización71 Memorias ROM programables  Otro tipo de ROM muy popular son las memorias ROM programables (PROM), ya que se fabrican de tal forma que el usuario final puede programarlas según su conveniencia  En este tipo de memorias, cada celda está conectada a la línea correspondiente por medio de un transistor  La ausencia de un fusible representa un 0  La presencia de un fusible representa un 1  El usuario puede programar una PROM fundiendo fusibles, pero sólo podrá hacerlo una única vez

72 Componentes básicos de memorización72 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

73 Componentes básicos de memorización73 Memorias de acceso aleatorio  Las memorias de acceso aleatorio ( RAM – random access memory ) son memorias volátiles, es decir, su contenido se pierde cuando se desconectan de la corriente  Las memorias de acceso aleatorio ( RAM – random access memory ) están organizadas como conjuntos de filas  2 n filas  n líneas de dirección para identificar cada fila  m bits almacenados en cada fila

74 Componentes básicos de memorización74 Memorias de acceso aleatorio  Además de las líneas de dirección hace falta una señal de selección de chip (CS) que habilite o deshabilite la RAM  La señal CS permite construir una memoria grande con varias RAM de forma que sólo una de ellas sea accedida en un momento dado  También existe una señal de selección de lectura o escritura (RWS) que selecciona el modo de operación de la RAM: lectura(0) ó escritura(1)

75 Componentes básicos de memorización75 Memorias de acceso aleatorio  De forma similar a los bancos de registros, una RAM se organiza como un conjunto de celdas de memoria (MC)  Podemos representar el funcionamiento de cada celda como un biestable D con una lógica asociada

76 Componentes básicos de memorización76 Memorias de acceso aleatorio  El diseño de las celdas de memoria se optimiza para reducir el número de transistores  Las memorias RAM estáticas ( SRAM – static RAM ) necesitan entre 4 y 6 transistores, siendo capaces de retener los datos mientras no se sobrescriban y la SRAM permanezca conectada a la corriente  Bancos de registros, memorias cache  Las memorias RAM dinámicas ( DRAM – dynamic RAM ) sólo necesitan un transistor por celda, por lo que ocupan menos y son más baratas, pero su contenido se pierde con cada lectura, así que hay que reescribirlo (ciclos de refresco)  SDRAM  DDR  Memoria principal

77 Componentes básicos de memorización77 Memorias de acceso aleatorio  Otra desventaja de las DRAM es que tienden a perder el dato almacenado al cabo de un tiempo debido a imperfecciones de fabricación  Para solucionar esto es necesario acceder a todas las celdas o reescribir todos los datos con cierta frecuencia  Durante esta operación de refresco, todas las operaciones de lectura y escritura deben suspenderse  A pesar de los problemas, las memorias DRAM son muy populares debido a su mayor densidad y su menor coste, mientras que las SRAM son usadas cuando la rapidez de acceso es el factor principal

78 Componentes básicos de memorización78 Memorias de acceso aleatorio  Este diagrama muestra la estructura de una RAM, incluyendo el decodificador de direcciones que selecciona la línea que debe ser accedida

79 Componentes básicos de memorización79 Temporización de las RAM  La organización de las RAM impone restricciones de temporización en la forma en la que se realizan los accesos de lectura y escritura  La dirección debe permanecer en las líneas desde antes de que comience el acceso hasta después de que termine para asegurar un buen funcionamiento  Las líneas de dirección deben tener los valores adecuados desde el principio del acceso, ya que el camino crítico pasa por el decodificador  En caso de una escritura, no hace falta que el dato esté disponible desde el principio, pero debe estarlo antes de que sea necesario y hasta después de terminada la escritura

80 Componentes básicos de memorización80 Temporización de las RAM  Este cronograma muestra la temporización de un acceso de lectura a una RAM

81 Componentes básicos de memorización81 Temporización de las RAM  Este cronograma muestra la temporización de un acceso de escritura a una RAM

82 Componentes básicos de memorización82 Combinación de memorias RAM  En general, las RAM se fabrican con una cantidad determinada de líneas (2 n ) y de bits por línea (m)  Si en un momento dado hay que fabricar una memoria más grande que las que tenemos disponibles, tendremos que combinar varias de ellas  Para obtener memorias con una mayor cantidad de bits por línea podemos conectar varias RAM en paralelo, todas ellas conectadas a las mismas líneas de direcciones  Para obtener memorias con un mayor cantidad de líneas podemos conectar varias RAM en serie, usando una parte de la dirección para seleccionar una RAM con un decodificador y otra parte de la dirección para acceder a la RAM

83 Componentes básicos de memorización83 Combinación de memorias RAM  Este diagrama muestra la conexión de varias memorias RAM en paralelo para aumentar el tamaño de palabra almacenada: RAM de 2 14 x32 bits utilizando módulos RAM de 2 14 x8 bits

84 Componentes básicos de memorización84 Combinación de memorias RAM  Este diagrama muestra la conexión de varias memorias RAM en serie para aumentar el número de posiciones de memoria: RAM de 2 16 x8 bits utilizando módulos RAM de 2 14 x8 bits  NOTA: Es posible combinar ambas técnicas para aumentar tanto el número de posiciones de la memoria como el tamaño de la palabra almacenada

85 Componentes básicos de memorización85 Ejercicio 1  Construye un sistema de memoria de tamaño 512K palabras, con tamaño de palabra de 16 bits. Las primeras 64K palabras son de sólo lectura y se encuentran en las direcciones más bajas. El resto del espacio direccionable será de lectura/escritura. Para ello se dispone de los siguiente módulos:  RAM de 64kx8bits  RAM de 128Kx16bits  ROM de 16Kx16bits  decodificadores varios  Cada uno de los módulos de memoria y los decodificadores disponen de una señal de habilitación (o selección) activa a nivel alto.  ¿En qué módulo de memoria se encuentra almacenada la palabra con dirección 0x186A0?

86 Componentes básicos de memorización86 Ejercicio 2  Diseñar una memoria de tamaño total 1M palabras con un ancho de palabra 32 bits en la que las primeras 256K palabras sean de memoria ROM y el resto de memoria RAM. Para ello se dispone de tres tipos de módulos:  Memorias ROM de 64 KB con un ancho de palabra de 8 bits.  Memorias RAM de 256 KB con un ancho de palabra de 32 bits.  Memorias RAM de 512 KB con un ancho de palabra de 16 bits.  Cada módulo posee entradas de direcciones, entradas de datos, salidas de datos y una señal de selección (CS) activa a nivel alto. Para el diseño se pueden utilizar tantos módulos como creas necesarios pero debe usarse al menos uno de cada tipo. Asume que dispones de los decodificadores que estimes oportunos.

87 Componentes básicos de memorización87 Estructura del tema  Introducción  Registros  Registros con carga en paralelo  Registros de desplazamiento  Contadores ▫Análisis y diseño de circuitos contadores ▫Contadores asíncronos  Bancos de registros  Memorias  ROM – Memorias de sólo lectura  RAM – Memorias de acceso aleatorio  Resumen y bibliografía

88 Componentes básicos de memorización88 Resumen  El almacenamiento de datos es una característica primordial de los sistemas digitales  Los registros permiten almacenar información y acceder a ella de forma rápida, por lo que son útiles para trabajar con datos concretos, pero la cantidad de registros que un sistema puede tener es reducida  Las memorias son más lentas que los registros pero tienen una capacidad mucho mayor, por lo que resultan útiles para almacenar grandes cantidades de información que pueda transferirse a los registros cuando sea necesario

89 Componentes básicos de memorización89 Bibliografía Principios de Diseño Digital Capítulo 7 Daniel D. Gajski Prentice Hall, 1997


Descargar ppt "6.Componentes básicos de memorización Fundamentos de los Computadores Grado en Ingeniería Informática."

Presentaciones similares


Anuncios Google