Con la tecnología de Blogger.

Que es una Memoria

lunes, 8 de agosto de 2011

MEMORIAS

Hasta ahora hemos visto circuitos que toman decisiones respondiendo a valores lógicos presentes en sus entradas, es decir, las salidas dependen únicamente de las entradas actuales del circuito.

Para muchos sistemas digitales esta característica no es suficiente. Los circuitos que veremos en este capítulo tienen, además, la capacidad de almacenar información. Sus salidas no son definidas únicamente por las entradas actuales del circuito, sino que también dependen de los valores pasados de las mismas (memorizan los valores de las salidas resultado de una combinación anterior de entradas).

Entonces decimos que, en general, un componente o porción del sistema posee memoria si tiene la propiedad de permanecer en un cierto estado luego que desapareció la acción generadora del mismo.

Realimentación en Circuitos Lógicos


Circuito Relé

Décadas atrás se utilizaba el circuito relé para la memorización.

1) Al pulsar el “botón” externo P, la corriente pasará por dicho pulsador y por B que es NC

2) De esta manera activamos la bobina M, que provocará que se activen los pulsadores M cerrándose o abriéndose según corresponda.
Nota: al activarse M, se prenderá la luz de “SI” (al cerrarse la llave) y se mantendrá apagada la de “NO” (ya que se abre la llave)

3) Al soltar P, la corriente seguirá pasando por M.

4) Para cortar la corriente, debemos abrir el circuito pulsando B. De esta forma los pulsadores volverán a su estado anterior, es decir, la luz de “SI” se apagará (se abre la llave) y la de “NO” se encenderá (ya que se cierra la llave)

Representando con compuertas este circuito quedaría:


Memorias Biestables (FLIP-FLOPS)

Una memoria, por compleja que sea, puede construirse mediante un conjunto de memorias BIESTABLES o circuitos flip-flop, cada uno de los cuales es capaz de almacenar un bit de información. Por tal motivo un circuito flip-flop se considera una célula o unidad básica de memoria de un solo bit. Desde el punto de vista circuital, los flip-flops se caracterizan por presentar en alguna parte un lazo de realimentación. Conforme a su funcionamiento lógico, es decir, según la manera en que las salidas responden a las señales lógicas presentes en sus entradas, los flip-flops biestables pueden ser:

a) RS (Reset-Set)
b) JK
c) T
d) D

Además, según el instante en que cambian dicha salida, también pueden dividirse en:

SINCRÓNICOS: las dos salidas cambian su valor por el complementario con un retardo de tiempo propio del circuito.

ASINCRÓNICO: la salida cambia de estado en forma sincronizada con los pulsos del clock.

Flip-Flop Rs – Asincrónico

El biestable RS asincrónico es un circuito construido en base a compuertas lógicas con dos entradas R (Reset) y S (Set) y dos salidas Q1 y Q2 o Q y respectivamente. En la figura se muestra el esquema general de un biestable RS y su implementación con compuertas NOR y NAND.


A continuación se presenta la tabla de verdad de esta biestable, donde Qn es la salida en el momento que estamos representando y Qn-1 es la existente en el instante anterior.


1- Vemos que si R=0 y S=0 el estado no cambia, memorizando el estado anterior.
2- Si R=0 y S=1, la salida pasa a 1, o sea SETEA
3- Si R=1 y S=0, la salida pasa a 0, o sea RESETEA
4- La condición R=1 y S=1 es un estado prohibido (como se explicara antes, no se pueden ejecutar ambas acciones al mismo tiempo)

Es decir: al aplicar un 1 en la entrada S, éste se transmite a la salida Q y se mantendrá aunque S pase a tener valor 0. Si queremos poner un 0 en la salida, bastará aplicar un 1 en la entrada R, manteniéndose el 0 aunque R cambie de valor. Por lo tanto, la activación de la entrada SET hace que se mantenga un 1 en la salida, mientras que la activación de la entrada RESET mantiene un 0.

Se ha verificado la existencia de dos estados en los que el circuito permanece estable, en el sentido de que los valores lógicos que lo caracterizan se autosustentan, conservándose en el tiempo.

Flip-Flop Jk-Asincrónico

Este tipo de biestable es similar al RS. Posee dos entradas: J, que opera de forma idéntica al Set del flip-flop RS; y la entrada K, que opera igual que el Reset. La diferencia fundamental radica en que si J=1 y K=1, las salidas Q y cambian siempre de estado, es decir, soluciona el problema del Estado Prohibido del flip-flop RS.


Flip-Flop T-Asincrónico

Lo que caracteriza a estos biestables es la existencia de una sola entrada T y dos salidas complementarias Q y no Q.

Comercialmente no se consigue, por lo que cuando se necesita uno, éste se obtiene uniendo las entradas de un flip-flop JK.


El comportamiento del flip-flop T es muy fácil de describir con palabras: su tabla muestra que cada vez que T está en 1 la salida cambia de estado y si T está en 0 no hay cambio de estado.


Flip-Flop D – Asincrónico

Este flip-flop posee una sola entrada D y opera de tal manera que la salida en el intervalo siguiente es igual a la entrada del intervalo anterior.

Se crea a partir del FF-SR agregando un inversor para condicionar que las entradas sean siempre complementarias (S= ):


Flip-Flop D – Sincrónico

El biestable D sincrónico posee una entrada de información D mientras la señal del reloj está a nivel alto (1) y cuando ésta pasa a nivel bajo (0), la salida Q mantiene el valor del momento anterior con independencia del valor de la entrada.

Este tipo de biestables también reciben el nombre de “latch” o “cerrojo”.



Flip-Flop D – Sincrónico Three States

Los que busca este flip-flop es que el dato quede guardado en memoria cuando el Usuario decida.


Cuando el habilitador de la salida vale 0 (Enable=0), entonces Q es infinito (no circula corriente).Cuando Enable=1, entonces si Q=0, sale 0 y si Q=1, sale 1, es decir, se refleja el contenido de Q. Simplificando la ilustración, a continuación se muestra el flip-flop D – Sincrónico – Three States en forma de bloque:



Registros

Un registro es un conjunto de n flip-flops asociados que permiten almacenar temporalmente una palabra o grupo de n bits. Es decir, es un conjunto de biestables conectados en cascada capaces de almacenar una palabra en binario de tantos bits como biestables contenga.

De a cuerdo con la forma en que la información es almacenada, se acostumbra a clasificar a los registros en dos tipos básicos: de entrada paralelo – salida paralelo y entrada serie – salida serie (o de desplazamiento)

A) Registros de entrada paralelo y salida paralelo o “de paralelo a paralelo”

Estos registros permiten transferir simultáneamente bits hacia o desde el mismo. Un ejemplo sencillo es el denominado Registro físico de 8 bits que consta de 8 flip-flops sincrónicos de tres estados que tienen unidas sus entradas de clock de modo de poder cambiar junto con cada pulso.


Suponiendo que se quiere transferir hacia el registro para su memorización la palabra 11010111 que llega por 8 líneas del bus, los bits que la componen deben estar presentes en las correspondientes entradas D de las flip-flops cuando CK=0.

Cuando CK=1 (nivel alto) cada bit que de la palabra se almacenará en el FF respectivo, transfiriéndose esta palabra hacia el registro. La trasferencia de nueva información suele denominarse “carga” del registro.

Una vez que cambiaron todos los FF, cada uno de los bits de la palabra 11010111 estará disponible en la salida de los mismos. Y por ende en las 8 líneas del bus durante el tiempo CK=0, para ser transferidos hacia donde sea necesario. Vale decir que las 8 salidas indican la información almacenada en el registro. Si simplificamos un poco más el esquema anterior nos queda:



Si se asocian 1.000.000 de estos registros de 1 byte cada uno, resultaría una memoria de 1MB. Haciendo cuentas, una memoria de una PC hogareña de 156 MB contiene 156.000.000 de registros de 8 flip-flop cada uno (1.248.000.000 flip-flops)

B) Registros de Entrada serie – salida serie (o de desplazamiento)

Estos registros son dispositivos sincrónicos cuya configuración más simple es la de “entrada serie y salida serie.

Se caracterizan porque los pulsos del reloj que reciben todos sus flip-flops, hacen que ingrese en forma serie el bit presente en la entrada de datos den serie, el que es cargado en el primer flip-flop del conjunto; éste, para no perder su contenido anterior lo transfiere ene se mismo momento al flip-flop siguiente, el que actúa de similar forma. Así, el ingreso de un bit por comando del reloj ocasiona un desplazamiento de la información contenida en el registro y produce la expulsión de la información contenida en el último flip-flop, expulsión que por supuesto puede ser interpretada como una salida serie de la información contenida en el registro. Es a ese corrimiento de la información a que estos registros debe su denominación (en ingles: Shift Registers)



El de la figura constituye un registro de desplazamiento de 4 bits que utiliza para ello 4 flip-flops tipo D, los más indicados para esta aplicación (ya que cada flip-flop debe, cuando llega el pulso del reloj, copiar el estado del flip-flop que lo precede en la cascada) La entrada D del primero de sus flip-flops constituye la entrada serie del registro (en la figura denominada SI, por su nombre en ingles Serial Input) Su funcionamiento es como se ha descripto más arriba y puede ser explicado de la siguiente manera: cada flip-flop D tiene su entrada preparatoria conectada a la salida del flip-flop que tiene inmediatamente a su izquierda de tal suerte que al llegar u pulso de reloj cada uno de ellos copia el estado que tiene en ese momento el flip-flop que lo precede. Por su parte el flip-flop ubicado en la posición extrema izquierda tiene su entrada D conectada a la entrada serie del registro, por lo que el pulso del reloj hace que copie el valor de ésta.

A demas de estos dos tipos de registros, existen dos más que son utilizados principalmente en comunicaciones que son los: Entrada serie, salida serie (por ejemplo para el pasaje de datos desde la computadora a la impresora) y Entrada paralelo, salida paralelo (por ejemplo el modem).


Contadores

Un contador es un circuito secuencial capaz de almacenar, en binario natural o cualquier otro código, el número de impulsos que recibe por una línea de entrada. Entre sus aplicaciones más importantes se encuentran la de divisor de frecuencia (de los impulsos de entrada), control de tiempos, generación de direcciones en sistemas de memoria o secuenciador en unidades de control. Se emplean tres tipos de estructuras para implementar un contador: contador asincrono, contador sincrono y contador basado en registros de desplazamientos

Esquema General Detallado de una Memoria RAM


Explicación de los algunos símbolos:

S: nos indica en qué dirección de memoria se debe leer. Tiene que haber un solo 1 para saber en qué posición se tiene que buscar el dato para su posterior lectura.

R/W: cable de lectura/escritura.

H: cable de habilitación

A ambos cables no se los puede utilizar simultaneamente.

La tabla de verdad del decodificador es:


De esto resulta, como se dijo anteriormente, que tiene que haber un solo 1 en cada S para que los datos (tanto para ser escritos como para ser leidos) tengan una dirección única.
Podemos sintetizar el Esquema General de la Memoria RAM de la siguiente manera:

Anexo

Tema: Memorias

Reglas para minimizar con Mapas K memorias astables y biestables

Se detallan a continuación una serie de reglas que simplifican la minimización de funciones booleanas, en los casos en que las mismas posean memorias astables o biestables.

@ = astables β = biestables

1) Se unen todos los unos (1), sin tener en cuenta los @ ni los β.

2) Luego se unen las @ entre sí, y con los unos.

3) Se unen las β entre sí, y con los unos.

4) En ningún caso se unirán @ con β entre sí.

5) Al sacar las variables (mintérminos A-B-C-D) del mapa K unidos a una -o más- @, hay que multiplicar ese término por ( obteniendo una obteniendo una memoria astable en el resultado).

6) Al sacar las variables (mintérminos A-B-C-D) del mapa K unidos a uno –o más- β, hay que multiplicar ese término por Z (obteniendo una memoria biestable en el resultado).

7) Si en el mapa K hay un solo uno (1) con varias @ solas, entonces hay que :

a) agrupar ese uno (1) solo;

b) agrupar ese uno nuevamente pero con las @.

Lo mismo ocurre en el caso de que haya un solo uno (1) con varias β solas.

8) Si hay un solo uno (1) y el mismo es adyacente a @ y a β: se lo puede agrupar con las @ y los β, pero en este caso, NO al uno (1) solo (siempre y cuando sea adyacente a @ y β ).



0 comentarios:

Publicar un comentario

About Me

Mi foto
Mauricio Vistosi
Ver todo mi perfil

  © Blogger template The Professional Template II by Ourblogtemplates.com 2009

Back to TOP