FIFO

FIFO FIFO, acrónimo inglés de First In, First Out (primero en entrar, primero en salir), es un concepto utilizado en estructuras de datos,contabilidad de costes y teoría de colas. Tiene un sinónimo, FCFS, acrónimo inglés de First Come First Served (primero en llegar, primero en ser servido). Guarda analogía con las personas que espera n en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale . FIFO se utiliza en estructuras de datos para implementar colas. La implementación puede efectuarse con ayuda de arrays o vectores, o bien mediante el uso de punteros y asignación dinámica de memoria. Si se implementa mediante vectores el número máximo de elementos que puede almacenar está limitado al que se haya establecido en el código del programa antes de la compilación (cola estática) o durante su ejecución (cola pseudoestática ó dinámica). Sea cual sea la opción elegida, el número de elementos que podrá almacenar la cola quedará determinado durante toda la ejecución del programa. Así, el sistema debe reservar el tamaño de memoria necesario para acoger todos los datos, sea cual sea el número de elementos usados. En algunas aplicaciones, esto supone un problema ya que puede desconocerse el número de elementos a contener en la cola. La sencilla solución de reservar más memoria de la que se supone que se necesitará, puede conducir a un despilfarro de la memoria (la cola puede esté llena, aprovechando toda la memoria reservada; o bien, nunca terminar de llenarse, ocupando recursos innecesarios en memoria). Sin embargo, si se usa asignación dinámica de memoria, el número máximo no está declarado en tiempo de compilación sino en tiempo de ejecución, es decir, se reserva memoria a medida que se necesite expandir el tamaño de la cola (adaptándose al tamaño necesario en cada momento en función de los elementos que hay en la cola), haciendo un mej or uso de la memoria disponible. Uno de los usos de las colas es la exploración "en anchura" de un árbol binario de búsqueda. Otro uso típico de las colas, es la gestión de descargas de una aplicación P2P. FIFO full/empty (lleno/vacío) En hardware, un FIFO se usa para propósitos de sincronización. Comportándose como una cola circular y, por lo tanto, contiene dos punteros:
HUGO IVAN LOPEZ NAVARRO Página 1

último en entrar. en la que los platos van poniéndose uno sobre el otro. uno (1). ocho (8) decimal es un sistema de graduación posicional en el que de conjunto de símbolos se las cantidades se representan utilizando como base el número diez. y si se quiere sacar uno. la cola FIFO dispara la señal o bandera Lleno. la cola FIFO dispara la señal o bandera Vacío. cinco (5). primero en salir) que permite almacenar y recuperar datos. SISTEMA DECIMAL. EJEMPLOS: PILA: Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out. y es de origen hindú. dos (2). siete (7). LIFO El término LIFO es el acrónimo inglés de Last In First Out (último en entrar. Puntero de Lectura / Registro de Dirección de Lectura 2. El sistema se seis (6). FIFO Llena Cuando el registro de dirección de escritura alcanza al registro de dirección de lectura. tres (3). LIFO es el algoritmo utilizado para implementar pilas.FIFO 1. FIFO Vacía Cuando el registro de dirección de lectura alcanza al registro de dirección de escritura. Puntero de Escritura / Registro de Dirección de Escritura Las direcciones de lectura y escritura están ambas inicialmente en la primera ubicación de la memoria y la cola FIFO está Vacía. Puede tener distintos significados según el contexto: El término LIFO se utiliza en estructuras de datos y teoría de colas. cuatro (4). primero en salir). por lo que compone y nueve(9). Guarda analogía con una pila de platos. denomina números árabes. Este diez cifras diferentes: cero (0). HUGO IVAN LOPEZ NAVARRO Página 2 . Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura. se saca primero el último que se puso.

como el quinario. la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales. construyó una computadora basada en relés a la cual apodó "Modelo K" (porque la construyó en una cocina. el en matemáticas e informática. Así: Los números decimales se pueden representar en la recta real. Es el que se utiliza en las computadoras. En noviembre de 1937. el número 80 se expresa «quatre -vingt». El sistema decimal es un sistema de numeración posicional. el duodecimal y el vigesimal. Por ejemplo. HUGO IVAN LOPEZ NAVARRO Página 3 . en la cual implementaba el Álgebra de Boole y aritmética binaria utilizandorelés y conmutadores por primera vez en la historia.FIFO Es el sistema de posición usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración. por ejemplo. George Stibitz. en inglés " kitchen") que utilizaba la suma bina ria para realizar los cálculos. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés . Según los antropólogos. donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938. que los números se representan es un sistema de numeración en utilizando solamente las cifras cero y uno (0 y 1). el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos. apagado 0). debido a que trabajan internamente con dos niveles de voltaje. SISTEMA BINARIO El sistema binario. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración. o cuando se emplean palabras especiales para designar ciertos números (en francés. "cuatro veintenas" en español). trabajando por aquel entonces en los Laboratorios Bell. cuando se cuentan artículos por docenas. los cuales siempre nos han servido de base para contar. Claude Shannon realizó su tesis doctoral en el MIT. como por ejemplo en la informática. Sin embargo hay ciertas técnicas. En 1937. APLICACIÓN. por lo que el valor del dígito depende de su posición dentro del número. por lo que su sistema de numeración natural es el sistema binario (encendido 1.

"sí". la cual era capaz de realizar cálculos con números complejos. esto depende de la nomenclatura usada. o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno. El 8 de enero de1940 terminaron el diseño de una "Calculadora de Números Complejos". En una computadora. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario: 1010011010 |-|--||-|xoxooxxoxo ynynnyynyn El valor numérico representado en cada caso depende del valor asignado a cada símbolo.FIFO con Stibitz al mando. también pueden indicar polaridades magné ticas sobre un disco magnético. John Mauchly y Norbert Wiener. REPRESENTACION. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. el 11 de septiembre de 1940. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann. Las notaciones siguientes son equivalentes:     100101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) Página 4 HUGO IVAN LOPEZ NAVARRO . En una demostración en la conferenci a de la Sociedad Americana de Matemáticas. prefijos o sufijos para indicar su base. Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios). Los números binarios se escriben a menudo con subíndices. quien escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó diferentes logros. los números binarios comúnmente son escritos usando los símbolos 0 y 1. que es usando números árabes. De acuerdo con la representación más habitual. los valores numéricos pueden representar dos voltajes diferentes. Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Un "positivo".

Sin embargo. para trabajar con bytes o conjuntos de ellos. común en lenguajes de programación) SISTEMA OCTAL El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7. Su uso actual está muy empleando por vinculado a la informática y ciencias de la computación . asumiendo que un byte es una palabra de 8 bits. por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales. lo agruparíamos como 1 / 001 / 010. Es posible que la numeración octal se usara en el pasado en lugar del decimal. pues loscomputadores suelen utilizar el byte u octeto como unidad básica de memoria. a veces abreviado comoHex. debido a que un byte como HUGO IVAN LOPEZ NAVARRO representa 28 valores posibles. es el sistema de numeración de base 16 tanto 16 símbolos . para contar los espacios interdigital es o los dedos distintos de los pulgares.FIFO    100101 2 (un subíndice que indica base 2 (binaria) notación) %100101 (un prefijo que indica formato bi nario) 0b100101 (un prefijo que indica formato binario. y esto puede . después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1. y. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Para llegar al resultado de 74 en octal se sigue esta serie: decimal -> binario -> octal. suele ser más cómodo el sistema hexadecimal. Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar por el binario. el número 74 (en decimal) es 1001010 (en binario). Por ejemplo. SISTEMA HEXADECIMAL El sistema Hexadecimal (no confundir con sistema sexagesimal). de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3). según Página 5 . representarse que. De modo que el número deci mal 74 en octal es 112. 001=1 y 010=2. En informática. a veces se utiliza la numera ción octal en vez de la hexadecimal. por ejemplo.

FIFO elteorema general de la numeración posicional . por tanto. el número 74 (en decimal) es 1001010 (en binario). fue usada en 1956 por la computadora Bendix G15. De modo que el número decimal 74 en octal es 112. El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.1.2. que en este caso es 16. 001=1 y 010=2. el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de d ígitos.5. con 0 9 y u z. Para llegar al resultado de 74 en octal se sigue esta serie: decimal -> binario -> octal. suele ser más cómodo el sistema HUGO IVAN LOPEZ NAVARRO Página 6 . E = 14 y F = 15.7. equivale al número en base 16 10016 .B. SISTEMA OCTAL.8. Como en cualquier sistema de numeración posicional.D. B = 11. quedando multiplicado por una cierta potencia de la base del sistema. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. por ello. para trabajar con bytes o conjuntos de ellos. lo agruparíamos como 1 / 001 / 010. C = 12. asumiendo que un byte es una palabra de 8 bits. dos dígitos hexadecimales corresponden exactamente representar la misma línea de enteros a un byte.F} Se debe notar que A = 10. El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. permiten En principio dado que el sistema usual de numeración es de base decimal y. el siguiente: S = {0. Una representación anterior.E. sólo se dispone de diez dígitos. Por ejemplo: 3E0A 16 = 3×163 + E×162 + 0×161 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882. se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. D = 13. Sin embargo. Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar por el binario. a veces se utiliza la numeración octal en vez de la hexadecimal.9.4.6. En informática. Por ejemplo. de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3). El conjunto de símbolos sería.3.C. después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos.A.

Es posible que la numeración octal se usara en el pasado en lugar del decimal. HUGO IVAN LOPEZ NAVARRO Página 7 . por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales. para contar los espacios interdigitales o los dedos distintos de los pulgares.FIFO hexadecimal. por ejemplo.

SAN CRSITOBAL DE LAS CASAS CHIAPAS A 3 DE FEBRERO DEL 2011 I L PEZ RR P i 8 .FIF UNIVERSIDAD MESOAMERICANA MATERIA: TALLER DE INFORAMTICA 6 IMPARTICA: ING FRANCISCO JAVIER GUZMAN PRESENTA: HUGO IVAN LOPEZ NAVARRO DEL 6 SEMETRE DE LA LIC. DECIMAL. OCTAL. LIFO. TRABAJO: SISTEMAS FIFO. HEXADECIMAL. EN INFORMATICA.

FIFO HUGO IVAN LOPEZ NAVARRO Página 9 .

Sign up to vote on this title
UsefulNot useful