1. donengelbert

    Thread Starter New Member

    Sep 19, 2007
    Does First in First out similar to a conveyor belt where the the oldest data is discarded as a new data enters when the memory is full?
  2. beenthere

    Retired Moderator

    Apr 20, 2004
    Unless you are actually placing data on a shift register, then that definition is not strictly correct. Fifo's are most often structures set up in programs for data containers, or as some process to pass a block of data (also called a pipeline). In either case, the programmer should have controls in place to prevent new data from displacing and losing the earliest entries.
  3. Papabravo


    Feb 24, 2006
    There are two different FIFO implementations. There are FIFO memories implemented in silicon which ignore new data when the FIFO is full.

    There is a FIFO implemented in software(firmware) where the policy on what to do when the FIFO is full is up to the programmer. I generally follow the hardware model and throw new data on the floor when the FIFO is full. I often times put an error flag in the FIFO to indicate how many items have been ignored. I may continue to ignore entries until the FIFO has more than a single free entry. This kind of hysteresis allows the FIFO to contain "blocks" of contiguous data instead of a kind of stuttering alternation of data-miss-data-miss and so forth.
  4. PhotoMonger


    Jan 7, 2008
    In terms of a data structure, yes.