Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales SISTEMAS ELECTRÓNICOS DIGITALES BLOQUE 1 UNIDADES DE MEMORIA DIGITALES (PARTE 3) MEMORIAS DE ACCESO DIRECTO, ACCESO SECUENCIAL Y ASOCIATIVAS Enrique Mandado Pérez María José Moure Rodríguez Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO MEMORIAS DE ACCESO DIRECTO Y ESTRUCTURA INTERNA SERIE SRG DINÁMICO G Esquema básico de un registro de desplazamiento dinámico utilizado como 1 Ø 1J C1 1K Q & & Ø1 C1 Ø2 1D memoria de acceso directo Q Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO MEMORIAS DE ACCESO DIRECTO Y ESTRUCTURA INTERNA SERIE SRG DINÁMICO 1 Ø 1J C1 1K n1 Q & & Ø1 CTR C1 Ø2 C+ 1D n2 Q n1 Esquema básico de una memoria de acceso directo implementada mediante un registro de desplazamiento dinámico y un contador y organizada en posiciones de n1 bits Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO MEMORIAS DE ACCESO DIRECTO Y ESTRUCTURA INTERNA SERIE SRG DINÁMICO G 1 Ø 1J C1 1K Q & & Ø1 C1 Ø2 CONTADOR DE BITS CONTADOR DE POSICIONES CTR DIV n1 CTR C+ G1 C2/1+ 1 1D n2 Q 1 COMP CT = 0 Dirección externa Esquema básico de una memoria de acceso directo implementada mediante un registro de desplazamiento dinámico y un contador y organizada en serie bit a bit Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO MEMORIAS DE ACCESO DIRECTO Y ESTRUCTURA INTERNA SERIE SRG DINÁMICO G 1 Ø 1J C1 1K Q & & Ø1 C1 Ø2 CONTADOR DE BITS CONTADOR DE POSICIONES CTR DIV n1 CTR G1 C+ C2/1+ 1 Orden de lectura 1D n2 Q 1 CT = 0 Dirección de lectura Esquema del circuito de lectura de una memoria de acceso directo implementada con un registro de desplazamiento dinámico y organizada en serie bit a bit SRG G2 C1→ 1,2D n1 Información de salida COMP & Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO MEMORIAS DE ACCESO DIRECTO Y ESTRUCTURA INTERNA SERIE SRG DINÁMICO G SRG G2 M3 C1→ MUX 1,3,2D Entrada de información n1 G 1,3,2D 0 1 1 Ø 1J C1 1K Q & & Ø1 C1 Ø2 CONTADOR DE BITS CONTADOR DE POSICIONES CTR DIV n1 CTR G1 C+ C2/1+ 1 1D 0 Q 1 CT = 0 1 n2 Orden de escritura & COMP Dirección de escritura Esquema del circuito de escritura de una memoria de acceso directo implementada con un registro de desplazamiento dinámico y organizada en serie bit a bit Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO MEMORIAS DE ACCESO DIRECTO Y ESTRUCTURA INTERNA SERIE UNIDAD DE Orden de lectura CONTROL SRG DINÁMICO G SRG G2 M3 C1→ MUX 1,3,2D Entrada de información G 1,3,2D 0 1 1 Ø 1J C1 1K Q & & Ø1 C1 Ø2 CONTADOR DE BITS CONTADOR DE POSICIONES CTR DIV n1 CTR C+ G1 C2/1+ 1 1D 0 Q 1 CT = 0 n2 CT = 0 1 Esquema del circuito de escritura secuencial de una memoria de acceso directo implementada con un registro de desplazamiento dinámico y organizada en serie bit a bit Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL CARACTERISTICAS GENERALES Memorias que se caracterizan por carecer de variables de dirección. En ellas no se especifica la dirección sino que en la operación de escritura la información se introduce en la posición de la memoria conectada a los terminales de entrada y en la de lectura se lee la situada en la posición unida a los terminales de salida. Este tipo de memorias tiene como objetivo facilitar el tratamiento de la información proporcionada en secuencia por un sistema digital. Según la forma en la que se accede a la información almacenada se pueden clasificar en tres grandes clases: - Registros de desplazamiento. - Memorias cola o tubo (FIFO). - Memorias pila (LIFO) Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL REGISTROS DE DESPLAZAMIENTO ESTÁTICOS SRG n Entrada de puesta a cero Impulsos de desplazamiento Entrada de información en serie R C1/→ 1D Q n-1 Salida de información en serie Símbolo lógico de un registro de desplazamiento estático Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL PROCESADOR DE COMUNICACIONES REGISTROS DE DESPLAZAMIENTO ESTÁTICOS APLICACIONES PROCESADOR TRANSMISOR SRG n DIGITAL Utilización de los registros de desplazamiento estáticos en la implementación de un procesador de comunicaciones Salida serie 1 RECEPTOR SRG A otros procesadores 1 Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL REGISTROS DE DESPLAZAMIENTO DINÁMICOS Se caracterizan porque los impulsos de desplazamiento no se pueden anular por tiempo indefinido dado que en dicho caso desaparece la información contenida en su interior. Se han realizado especialmente en tecnologías MOS y están formados por celdas básicas de memoria que almacenan la información en forma de carga del condensador existente entre la puerta y el surtidor de un transistor MOS. Se utilizan para implementar Memorias circulares. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) Son memorias de acceso secuencial en las que la información que entra al darle una orden de escritura sale antes que todas las que entran en posteriores ordenes de escritura. FIFO Señales de control Entrada de información Símbolo lógico de una memoria FIFO n1 n1 Salida de información Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL POS. 2n 2 POS. 3 POS. 2 POS. 1 Entrada de información MEMORIAS PILA (FIFO) Salida de información MEMORIA VACÍA I1 I1 PRIMERA OPERACIÓN DE ESCRITURA Forma en que se escribe y se lee una memoria cola (FIFO) en sucesivas operaciones de escritura y lectura I2 I2 I1 SEGUNDA OPERACIÓN DE ESCRITURA I3 I3 I2 I1 TERCERA OPERACIÓN DE ESCRITURA I3 PRIMERA OPERACIÓN DE LECTURA I2 I1 Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) FIFO C1/→ n1 Entrada de información 1D G0 G1 Orden externa R/W UNIDAD DE n2 G2 CONTROL G G n 2 −1 n1 Salida de información Memoria cola (FIFO) implementada mediante un conjunto de biestables conectados en serie con entradas de inhibición independientes Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) IMPLEMENTADAS CON UNA MEMORIA DE ESTRUCTURA INTERNA SERIE Poseen las siguientes características que limitan su operatividad: -En ellas la información se desplaza físicamente lo cual hace que su escritura necesite tantos impulsos del reloj como posiciones vacías posea la memoria. -La elevación de su número de posiciones disminuye su velocidad porque aumenta el tiempo medio de escritura. -No es posible realizar operaciones de lectura y escritura simultáneas. -No es posible realizar dos lecturas sucesivas de la misma posición. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) IMPLEMENTADAS CON UNA RAM MEMORIA TUBO (FIFO) UNIDAD DE CONTROL CONTADOR DE LECTURA Puesta en estado inicial Orden de lectura Orden de escritura Orden de retransmisión Señal de memoria vacía Señal de memoria llena Entrada de datos PROCES ADOR DIGITAL SECUENCIAL SINCRONO CONTADOR DE ES CRITURA RAM 0 1A n2 2 -1 2A C3 1A,3D 2A Salida de datos Esquema de bloques de una memoria cola (FIFO) implementada mediante una memoria de acceso aleatorio de lectura y escritura simultáneas. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) IMPLEMENTADAS CON UNA RAM Poseen las siguientes características: • Todas las operaciones de escritura tienen idéntica duración. • Es posible realizar la operación de escritura y la de lectura simultáneamente. • Se puede ampliar la capacidad de la memoria sin disminuir la velocidad. • Es posible realizar varias operaciones de lectura sucesivas de una o más posiciones de la memoria consecutivas. Para ello se dota a la memoria de un terminal que hace que el contenido del contador de lectura disminuya en una unidad. Dicho terminal suele denominarse orden de retransmisión porque su principal utilidad es hacer que se vuelva a enviar la información contenida en la memoria cuando la misma forma parte de un procesador de comunicaciones en la aplicación descrita a continuación. • Existen múltiples alternativas que se diferencian por las señales de control que la acoplan con los sistemas externos Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) FIFO R Puesta a cero Orden de retransmisión (Retransmit) Orden de lectura (Read Clock) LDCK Orden de escritura (Write Clock) UNCK OE Desinhibición de la salida (Output Enable) EN Entrada de información QF Señal de memoria llena (Full) QE Señal de memoria vacía (Empty) n1 n1 ∇ Salida de información Símbolo lógico de una memoria cola (FIFO) implementada mediante una memoria de acceso aleatorio de lectura y escritura simultáneas.. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) APLICACIONES INTERFAZ FIFO PROCESADOR PROCESADOR DIGITAL DIGITAL SECUENCIAL SECUENCIAL SINCRONO SINCRONO Esquema básico del acoplamiento entre dos procesadores digitales síncronos implementado mediante una memoria cola Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) APLICACIONES PROCESADOR DIGITAL SECUENCIAL SINCRONO PROCESADOR DE COMUNICACIONES CON MEMORIA FIFO FIFO UNIDAD DE Línea o red de comunicaciones COMUNICACIONES Esquema de bloques básico del acoplamiento de un procesador digital secuencial síncrono a una línea o red de comunicaciones por medio de un procesador de comunicaciones que posee una memoria cola (FIFO) Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (FIFO) APLICACIONES PROCESADOR DE COMUNICACIONES CON MEMORIA FIFO FIFO QF R LDCK UNCK EN PROCESADOR DIGITAL SECUENCIAL QE SINCRONO UNIDAD n1 n1 ∇ DE COMUNICACIONES Esquema de bloques de un procesador de comunicaciones implementado con una memoria cola Línea o red de comunicaciones Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS PILA (LIFO) Entrada Salida Las memorias pila (Stack) conocidas como LIFO Entrada (acrónimo de Last In-First Out) Salida son memorias de acceso secuencial en las que la información que entra en la última operación de escritura Entrada es la que sale en la primera operaciónSalida de lectura que se realice. Entrada MEMORIA VACÍA I1 I1 PRIMERA OPERACIÓN DE ESCRITURA I2 I2 SEGUNDA OPERACIÓN DE ESCRITURA I3 I3 Salida Forma en que se escribe y se lee una memoria pila (LIFO) en sucesivas operaciones de escritura y lectura. I1 I2 I1 TERCERA OPERACIÓN DE ESCRITURA Entrada Salida I3 I2 I1 PRIMERA OPERACIÓN DE LECTURA Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (LIFO) LIFO Señales de control Entrada de información n1 n1 Salida de información Símbolo lógico básico de una memoria cola (LIFO) organizada en posiciones de n1 bits en paralelo Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (LIFO) LIFO Entrada de Inhibición Lectura/Escritura Orden de operación Entrada de información G1 ( R/ W ) M2 C3 1,2,3D 1,2 Salida de información Símbolo lógico de una memoria cola (LIFO) organizada en posiciones de n1 bits en paralelo Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL Del siguiente multiplexor MEMORIAS COLA (LIFO) Al multiplexor anterior CELDA DE MEMORIA Entrada de ( R/ W ) selección de Lectura/Escritura MUX G MUX 0 1 G 0 Entrada de información 1 MUX 0 1 G 0 1 0 1,2D Q0 1 C2 0 1,2D Q1 0 1 C2 1,2D C2 G1 G1 G1 R R R Orden de operación (Impulso de desplazamiento) Entrada de Inhibición Puesta a cero Salida de información Esquema de una memoria PILA implementada con un registro de desplazamiento estático reversible Qn-1 Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL SRG MEMORIAS COLA (LIFO) R G1 M2 C3/2→/2← n1 Entrada de informaci ón 1,2D n1 Salida de informaci ón Símbolo lógico de una memoria pila de n1 bits en paralelo implementada con un registro de desplazamiento Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (LIFO) LIFO G1 M2 EN C3/2→/2← ∇ Entrada/Salida de información Símbolo lógico de una memoria pila de n1 bits en paralelo y terminales de entrada y salida únicos Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO SECUENCIAL MEMORIAS COLA (LIFO) RAM n2 & A CE WE 0 n2 2 -1 G C CTR Puesta a cero R 0 0 M3 1 C4/0+/1- Modo de operación Orden de operación Entrada de información n2 2,4D n1 A A n2 Entrada de información Esquema básico de una memoria PILA implementada con una memoria de acceso aleatorio n2 Salida de información Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO Y SECUENCIAL MEMORIAS CIRCULARES Se puede definir una memoria circular como una memoria de acceso secuencial en la que la información se desplaza permanentemente a través de la memoria cuando no se ejecuta ninguna operación de entrada o de salida. Son numerosos los fabricantes de sistemas electrónicos digitales que denominan memorias circulares a las que tienen acceso directo en la operación de escritura y acceso secuencial en la de lectura. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS DE ACCESO DIRECTO Y SECUENCIAL MEMORIAS CIRCULARES APLICACIONES AUT ÓMATA PROGRAMAB LE MÓDULO DE INTERFAZ DE SALIDA DE VARIAB LES ANALÓGICAS MUX G 0 1 0 1 UNIDAD CENTRAL ME MO RIA CIRCULAR CONVERTIDOR DIG ITAL-ANALÓGICO (D/A) MUEST REO Y RETENCIÓN MUEST REO Y RETENCIÓN PRO CE SADOR DIGITAL MUEST REO Y RETENCIÓN Esquema de bloques típico de un módulo de variables de salida analógicas de un autómata programable realizado con una memoria circular y un único convertidor digital/analógico Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS ASOCIATIVAS DESCRIPCIÓN GENERAL Se conocen mediante las siglas CAM (Content Addressable Memories) y se caracterizan porque la búsqueda de información en la operación de lectura no se realiza indicando una dirección y leyendo su contenido sino que se suministra la información a la memoria para observar si ésta la contiene en alguna de sus posiciones. Suele tener una variable de salida que se activa cuando se produce la coincidencia (Match). La información contenida en la memoria CAM suele estar dividida en campos : • Un campo es el que se compara. • El resto de los campos se presenta en la salida cuando existe coincidencia Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS ASOCIATIVAS Se pueden implementar: - Con un comparador por posición. - Con un único comparador. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica MEMORIAS ASOCIATIVAS Electrónica Digital: Unidades de memoria digitales ( R/ W ) Variables de dirección m X/Y n1 n1 & WE CELDA 0 ≥1 G COMP n1 P n2 n2 Q G ≥1 n1 IMPLEMENTACIÓN DEL SISTEMA FÍSICO n1 n1 CELDA 1 COMP P n1 Q n1 n2 n2 G ≥1 n1 n1 CELDA 2m -1 COMP P Q n1 n1 n2 n2 G n1 Esquema de bloques de una memoria asociativa (CAM) implementada con un comparador por posición C1 n2 C2 Terminales de entrada n2 Terminales de salida Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS ASOCIATIVAS m ( R/ W ) WE CAM A 0 2 m -1 M1 C2 n1 Variables de entrada n1 +n2 n2 1A,2D 1A n2 Símbolo lógico de una memoria asociativa (CAM) implementada con un comparador por posición Variables de salida Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales MEMORIAS ASOCIATIVAS m Dirección Orden de lectura Orden de escritura CE OL OE PROCESADOR DIGITAL SECUENCIAL SINCRONO ( R/ W ) WE A 0 2m -1 M1 C2 CR n1 Entrada de información RAM n1+n2 n2 n1 1A,2D 1A 1A,2D n1+n2 n2 Salida de información Esquema de bloques de una memoria asociativa (CAM) implementada con un procesador digital secuencial síncrono (un único comparador). Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales EJEMPLO DE IMPLEMENTACIÓN CON UN ÚNICO COMPARADOR REG_SAL RCTR GCTR CLK CTR 8 R ROM 256 x 8 A G1 C3/1+ 0 255 RSAL GSAL CLK R G1 C2/1 1,2D C2 CT=255 CT COMP REG_ENT GENT CLK C1 G1 C2/1 P P=Q 1,2D D Q C1: Campo comparación C2: Campo resultado DATO Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales APLICACIÓN DE LAS MEMORIAS ASOCIATIVAS CONMUTADORES (SWITCHES) DE UNA RED DE CONMUTACIÓN DE PAQUETES • La dirección MAC del origen y el destino está contenida en la cabecera de cada paquete. • El conmutador dispone de una memoria CAM en la que almacena las últimas direcciones utilizadas. • Cuando se localiza el punto de destino en la tabla se reduce el tráfico de paquetes entre los nodos. Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales NODO 1 Segmento C NODO 2 Segmento A HUB Switch LAN Segmento B NODO 4 NODO 3 Segmento A C B Nodo 1 2 4 Escuelas Técnicas de Ingenieros Universidad de Vigo Departamento de Tecnología Electrónica Electrónica Digital: Unidades de memoria digitales APLICACIÓN DE LAS MEMORIAS ASOCIATIVAS CONMUTADORES (SWITCHES) DE UNA RED DE CONMUTACIÓN DE PAQUETES • La dirección MAC del origen y el destino está contenida en la cabecera de cada paquete. • El conmutador dispone de una memoria CAM en la que almacena las últimas direcciones utilizadas. • Cuando se localiza el punto de destino en la tabla se reduce el tráfico de paquetes entre los nodos.