FIFO (electrónico) ⇐ Proyectos de artículos
Artículos preliminares
-
Anonymous
FIFO (electrónico)
Post by Anonymous »
More details: https://en.wikipedia.org/wiki/FIFO_(electronic)
1773424471
Anonymous
[h4]
En electrónica digital, un FIFO (acrónimo de primero en entrar, primero en salir) es un circuito (circuito eléctrico digital) que almacena datos entrantes y genera los datos almacenados en el orden en que se recibieron. electrónica|Los FIFO electrónicos se utilizan comúnmente para almacenamiento en búfer y control de flujo entre dispositivos de hardware o entre dispositivos de software y hardware que, en intervalos finitos, operan a diferentes velocidades de datos. Un FIFO consta [url=viewtopic.php?t=31578]principalmente[/url] de un par de contadores que sirven como registros de direcciones de memoria de lectura y escritura, una matriz de memoria direccionable y lógica de estado y control. La memoria normalmente tiene dos puertos para permitir operaciones FIFO simultáneas de lectura y escritura y consta de un archivo de registro o RAM (memoria de acceso aleatorio) de doble puerto.
===Registros de direcciones de memoria===
Un FIFO electrónico generalmente se implementa como un búfer circular que emplea dos registros de direcciones de memoria (MAR) para almacenar las direcciones de ("puntero (programación informática)|punteros" a) las siguientes ubicaciones de memoria a las que se accederá:
* Leer MAR (RMAR): contiene la siguiente ubicación para leer datos
* Escribir MAR (WMAR): contiene la siguiente ubicación para escribir datos
Cada MAR se implementa como un contador (contador (digital)), con el recuento incrementado cada vez que se transfieren datos (WMAR incrementa con la escritura FIFO; RMAR incrementa con la lectura FIFO). Inicialmente, ambos MAR apuntan a la primera ubicación de la memoria y el FIFO está vacío. Un FIFO se llena cuando la dirección de escritura llega a la dirección de lectura y se vacía cuando la dirección de lectura llega a la dirección de escritura. En consecuencia, cuando FIFO se llena o se vacía, las direcciones de memoria de lectura y escritura son iguales.
Para distinguir entre vacío y lleno, cada MAR tiene un bit adicional más allá de lo necesario para direccionar la memoria. Todos los bits de salida MAR excepto la Numeración de bits#Bit más significativo|bit más significativo (MSB) (es decir, los LSB) sirven como dirección de memoria. Por el contrario, todos los bits de salida, incluido el MSB, se utilizan para monitorear el nivel FIFO (número de palabras almacenadas). En los casos en que los MAR emplean contadores binarios, el nivel FIFO actual es la diferencia entre sus valores de salida binarios: level=WMAR-RMAR. Para otras codificaciones de salida (por ejemplo, código Gray), las salidas MAR deben convertirse a binarias antes de calcular la diferencia. En cualquier caso, lo siguiente es cierto:
* El FIFO está vacío cuando RMAR y WMAR son iguales
* El FIFO está lleno cuando RMAR y WMAR difieren sólo en sus MSB
===Indicadores de estado===
Un FIFO normalmente genera señales de estado que indican si se cumplen determinados umbrales de nivel de datos. Ejemplos comunes de tales indicadores de estado incluyen "lleno", "vacío", "medio lleno", "casi lleno" y "casi vacío".
===FIFO síncrono===
Un FIFO síncrono es un FIFO electrónico que utiliza un reloj común para leer y escribir. Debido a que las operaciones de lectura y escritura tienen lugar en el mismo dominio de reloj, los indicadores se pueden generar mediante aritmética de punteros o mediante el uso de un contador dedicado para monitorear el nivel FIFO.
===FIFO asíncrono===
Un FIFO asíncrono es un FIFO electrónico que utiliza diferentes relojes para leer y escribir. Para evitar errores debido a la metaestabilidad, los FIFO asíncronos suelen utilizar código Gray para los punteros de lectura y escritura, y los indicadores se generan mediante aritmética de punteros.
== Ver también ==
* Enfoque del cubo con fugas
* Búfer de anillo
circuitos digitales [/h4]
More details: [url]https://en.wikipedia.org/wiki/FIFO_(electronic)[/url]
Mobile version