Fifo

В бухгалтерском учёте

В бухгалтерском учёте FIFO и LIFO используются, чтобы определить ценность активов.

LIFO (акроним англ. Last In, First Out – последним пришёл — первым ушёл) — метод оценки товарно-материальных ценностей (ТМЦ), при котором с учёта выбывают первыми ТМЦ поставленные на учёт последними. В настоящее время не применяется в бухгалтерском учёте, а с 1 января 2015 г. и в налоговом учёте. В условиях роста цен приводит к системному завышению затрат и уменьшению стоимости остатка ТМЦ (при падении цен — наоборот).

Особенности учёта по методу LIFO:

  • редко учитывается фактическое движение запасов товаров;
  • предполагается, что все товары, приобретенные в течение периода, могут быть выставлены на продажу, независимо от даты их покупки;
  • запасы на конец периода оцениваются по стоимости первых закупок.

FIFO (акроним англ. First In, First Out – первым пришёл — первым ушёл) — метод оценки ТМЦ, при котором первыми выбывают с учёта ТМЦ поставленные на учёт первыми же.

Предположим, куплены два принтерных картриджа по 5 рублей штука, затем ещё два таких же по 6. Один картридж израсходовали


Кладовщику не важно, какой отдавать: они одинаковые. Но бухгалтеру важна совокупная стоимость находящегося на складе: стоимость оставшихся трёх картриджей по методу LIFO будет 16 руб., по методу FIFO  17 руб.

Правильная выкладка – законы мерчендайзинга

Поскольку ротация в торговле во многом зависит от выкладки, его законы были прописаны и сформулированы много лет назад:

Концентрация по группам. Нельзя размещать товары из одной группы в разных концах помещения. Сметана должна находиться рядом с кефиром, а сардельки около сосисок.

Совмещение по производителю. Посетитель теряется, если продукция одной и той же фирмы находится в разных местах. Исключение делается только в том случае, если ассортимент находится в разных товарных группах.

Соблюдение границ. Между разными товарами должна быть четкая визуальная граница. Не обязательно отмечать ее красными ленточками или масляной краской, достаточно ставить рядом изделия с контрастной упаковкой.

Эффективный фейсинг. Если на одну позицию отвести более 40 см на полке, это будет пустая трата места

40 сантиметров вполне достаточно, чтобы посетитель обратил на него внимание.

Игрушки – на нижнюю полку. Те товары, в приобретении которых заинтересованы маленькие покупатели, необходимо располагать на уровне их глаз.

Смотри на упаковку

Производитель работает над дизайном упаковки, поэтому часть продукции предназначается для взгляда «снизу вверх», а другая «сверху вниз».

Рекламная конкуренция. Если в супермаркете проходят рекламные акции нескольких компаний, их необходимо проводить вне зоны видимости друг друга. В противном случае они введут посетителя в замешательство, и эффект не будет достигнут.

И самое важное правило, которое даже важнее знания, что такое ротация. Это закон, который гласит о недопустимости пустых полок

Если нет ассортимента, то растягиваются другие позиции, пустота вызывает тревогу и отпугивает клиентов.

Золотой треугольник

Однако это не является аксиомой, движение можно организовать искусственно, придав ему вращение в другую сторону. Для этого достаточно расположить вход справа от кассового терминала.

Те отделы, которые находятся по периметру зала, посещает более 80% людей. Центр остается без внимания, туда заглядывает только каждый второй, ротация во время специальных акций и предложений должно проводиться не только внутри отдела, а по всей территории.

Администрация и отдел маркетинга прекрасно знает об этой особенности. Но они не спешат дорогие товары перекладывать в проходные места. Такой шаг сделает нахождение посетителя в торговой точке некомфортным.

Используется другая хитрость – якоря. Это популярные продукты, которые служат приманкой для людского потока, по дороге к ним человек вынужден проходить мимо дорогой продукции.

Яркая этикетка и рекламные слоганы приводят к спонтанным покупкам. В качестве якорей используются товары повседневного спроса – хлеб, молочные продукты, овощи и фрукты.

В складской логистике

Принципы FIFO и LIFO также активно используются в складской логистике.

При помещении товаров на хранение необходимо учитывать принцип складской обработки. Если было несколько поступлений товара, то нужно решить, товар из какой партии будет отгружаться первым. Широко используются два варианта:

  • Принцип LIFO предполагает отгрузку в первую очередь товара, который пришёл последним; этот вариант подходит для складов с большими объёмами товаров, если зоны хранения образуют стэк.
  • Принцип FIFO означает приоритетную отгрузку товара, пришедшего первым; он используется прежде всего на складах для скоропортящихся товаров и там, где важен срок годности товаров (при этом, он одинаков для разных партий товара: если это не так, то переходят к FEFO).

Но есть товары и условия, для которых требуются другие методы: не по дате прихода, а по дате производства, годности или сроку хранения.

Недостатки принципа ФИФО


Кроме положительных свойств, метод обладает также и минусами, к ним можно отнести:

  • Инфляция не учитывается: когда в организации наблюдается тенденция неравномерного расходования ресурсов, а по стоимости 1-ой партии списываются продукты, которые поступили по большей стоимости (увеличение под действием инфляции и прочих причин) — итог финансовых результатов может быть завышен, это имеет негативные последствия для предприятия;
  • Завышенность финансовых показателей и налоговых выплат.  В ведении учета с помощью метода ФИФО неравномерный расход материалов способен увеличить сумму налоговых отчислений, которые оплачивает компания;
  • Некорректные цифры управления и планировки сумм при расходах организации. Руководителем может быть составлена неверная политика по развитию организации, вследствие получения завышенных данных, это негативно скажется на работе предприятия.

ФИФО обязательно учитывают в процессе финансового планирования и разработки ведения политики предприятия на последующие периоды.

Какой метод логистики выбрать?

Однозначного решения для данного вопроса быть не может, так как все определяется конкретными обстоятельствами. Главный критерий – это особенности движущегося по логистической цепочке товара. Принцип логистики FIFO целесообразен для устаревающей продукции, имеющей ограниченный промежуток времени на реализацию.

Нередко предлагается подход, при котором FIFO используется на складах сырья, тогда как второй метод – на складах с уже готовыми к реализации товарами. Главное в каждом из случаев – наличие достаточных складских площадей и оборудования для эффективной логистики, а также внимательный анализ с точки зрения финансовой эффективности и отчетности.

Музеи логистики

В мире существует много музеев, затрагивающих отдельные разделы практической логистики — это музеи транспорта, таможни, упаковки, различные отраслевые музеи. Но только следующие музеи полностью посвящены логистике:

Общей логистике:

  • Музей логистики (Санкт-Петербург, Россия)
  • Музей логистики (Токио, Япония)
  • Музей логистики Пекинского материального университета (Beijing Wuzi University Logistics Museum, Пекин, Китай)

Военной логистике:

  • Музей королевского логистического корпуса (англ. Royal Logistic Corps Museum) (Суррей, Великобритания)
  • Музей логистики вооруженных сил Канады (The Canadian Forces Logistics Museum, Монреаль, Канада)
  • Музей армейской логистики (Museum of the Army Logistics, Ханой, Вьетнам)

Рекомендации по применению памяти FIFO

Основными областями применения памяти FIFO являются устройства с последовательными потоками параллельных данных (например, цифровая видеокамера, сетевой концентратор и др.). В их составе память FIFO может применяться в качестве буфера для приема, накопления и выдачи по запросу накопленных данных. Наличие такого буфера позволяет высвободить ресурсы процессора от постоянного сканирования магистрали при приеме медленных асинхронных потоков данных. Процессор в этом случае можно будет подключать к буферу FIFO только для выгрузки накопленных данных, пользуясь информацией о состоянии флагов заполненности.

Другим примером применения памяти FIFO является преобразование скорости передачи данных в процессе взаимодействия двух асинхронных устройств с разной пропускной способностью. Для организации непрерывного обмена потоками данных преобразованию подлежит также разрядность входной и выходной шины данных.

В случае применения RAM для решения аналогичных задач требуется наличие дополнительной схемы управления, представляющей собой контроллер прямого доступа к памяти. Это связано с необходимостью формирования адресов ячеек в процессе выполнения операций записи и чтения. Преимущество в применении памяти FIFO состоит в естественном порядке прохождения данных (первым поступил — первым выводится) и в отсутствии внешней схемы для формирования адресов ячеек.В качестве реальных примеров применения памяти FIFO можно привести следующие: устройство цифровой обработки и вывода на монитор сигналов, поступающих от рентгеновской установки; устройство сопряжения мультипроцессорного модуля на базе DSP с PCI-шиной; кодек MPEG для телевидения высокой четкости.

В первом случае микросхемы «IDT72V21105, 256Kx18 FIFO» применяются для согласования скорости передачи данных между тремя асинхронными устройствами: источником цифрового рентгеновского сигнала, модулем цифровой обработки данных на базе нескольких DSP- процессоров и видеоконтрольного устройства. Для обеспечения требуемой ширины пакета передаваемых данных микросхемы FIFO включены в режиме наращивания информационной емкости и образуют модуль памяти с организацией 1,5Mґ18.

Во втором случае две однонаправленные микросхемы «IDT72V36110, 128Kx36 FIFO» используются для организации двунаправленного обмена данными между 32-разрядным PCI-интерфейсом с тактовой частотой 33 МГц и модулем, состоящим из двух DSP-процессоров с пропускной способностью шины данных 66 МГц и разрядностью 16 бит. Для поддержания обмена данными между 32-разрядной и 16-разрядной шинами используется дополнительная функция BUS MATCHING.

В кодеке MPEG-2 для телевидения высокой четкости удачным решением является использование памяти FIFO и, в частности, «IDT72V2113, 512Kx9». Стандарт MPEG-2 предусматривает возможность гибкого изменения скорости передачи видеоданных в очень широких пределах, а также работы как с чересстрочной, так и с прогрессивной развертками при частоте полей 50 или 60 Гц.Итак, микросхемы памяти FIFO можно рекомендовать к применению:

При грузоперевозках по морю

  • FIFO — free in free out — без погрузки и без выгрузки — ставка дается только на морской фрахт, без учета погрузки в порту отправления и выгрузки в порту назначения.
  • FIOS — то же самое
  • FILO — free in liner out — без погрузки, но с выгрузкой — ставка включает морской фрахт и выгрузку в порту назначения, но не включает погрузку в порту отправления. Идентичны условиям FOB в терминах Инкотермс.
  • LIFO — liner in free out — с погрузкой, но без выгрузки — ставка включает погрузку в порту отправления, морской фрахт, но не включает выгрузку в порту назначения.
  • LILO — liner in liner out — c погрузкой и выгрузкой — ставка включает погрузку в порту отправления, морской фрахт и выгрузку в стране назначения.

FIFO – основное правило ротации

Первый пришел – первый ушел. Именно так расшифровывается правило FIFO. Товар, который первый был привезен, первый же и попал на кассу. Но практика не всегда позволяет осуществить такой подход без дополнительных усилий.

Часто в магазинах можно увидеть бабушек, которые забирают молочные продукты из глубины полок. Они отлично изучили, что означает слово ротация и как с ней бороться

К счастью менеджеров, не все визитеры обращают внимание на такие мелочи, и молоко на переднем крае будет продано в первую очередь, данный закон не в силах изменить даже вездесущие бабушки

За выкладкой скоропортящихся продуктов необходимо следить ежедневно, перекладывая свежую продукцию вглубь. Если это делать регулярно, то отпадет необходимость в возврате. Минимальный срок годности молочной продукции составляет 7 дней, разницы между «вчерашним» и «сегодняшним» молоком нет. Но когда до его истечения остается три часа, любые манипуляции теряют смысл.

Однако все усилия продавцов и мерчендайзеров пойдут прахом, если не будет соблюден принцип фифо на складе. Для этого используют компьютерные программы, учитывающие сроки поставки и реализации в магазин со склада. Кроме того, применяется принцип раздельного хранения.

Как сделать правильный заказ

Оптимизация товарных остатков – это целая наука. Если закупишь больше, понесешь убыток при возврате. Если будет привезено меньше, то покупатель недополучишь прибыль, а неудовлетворенный покупатель уйдет к конкурентам. Поэтому каждую товарную позицию рассчитывают по формуле, в которой фигурируют:

  • объем продаж за 1 день;
  • время до следующей поставки;
  • корректирующий коэффициент.

Формула проста – надо объем дневных продаж умножить на количество оставшихся дней. Но практика намного сложнее. В пятницу выручка вырастает на 20-50 процентов, перед праздниками народ запасается продуктами, в будни приходит малый поток покупателей. Приходится вносить поправку, которая зависит от сезона и дня недели.

Электроника

FIFO широко используются в электронных схемах для буферизации и управления потоком между аппаратным и программным обеспечением. В своей аппаратной форме, в первую очередь FIFO состоит из набора операций чтения и записи указателей, систем хранения данных и логики управления. Хранение может быть статическим оперативным запоминающим устройством (ОЗУ), триггерами или любой другой подходящей формой хранения. Для FIFO нетривиального размера обычно используется двухпортовый SRAM, где один порт предназначен для записи, а другой для чтения.

Синхронный FIFO это такой FIFO, где один и тот же тактовый сигнал используется как для чтения, так и для записи. Асинхронный FIFO использует различные тактовые сигналы для чтения и записи. Асинхронные FIFO вводят проблемы метастабильности. Общая реализация асинхронного FIFO использует код Грея (или любой блок кода расстояния) для чтения и записи указателей для обеспечения надежной генерации флага. Еще одно примечание, касающееся генерации флага, в том, что надо обязательно использовать арифметические операции над указателями, чтобы создать флаги для реализации асинхронного FIFO. С другой стороны, можно использовать либо подход, который называется «дырявое ведро», или арифметические операции над указателями для создания флагов в реализациях синхронных FIFO.

Примеры флагов состояния FIFO включают в себя: полный, пустой, почти полный, почти пустой, и т.д.

Первый известный FIFO, реализованный в электронике, был сделан Питером Алфке в 1969 году в Fairchild Semiconductors. Питер Алфке позже стал директором Xilinx.

Очередь FIFO полна/пуста

Аппаратный FIFO используется для целей синхронизации. Он часто реализуется в виде круговой очереди, и, таким образом, имеет два указателя:

  1. Указатель чтения/Регистр адреса чтения
  2. Указатель записи/Регистр адреса записи

Операции чтения и записи адреса изначально находятся на первой позиции памяти и очередь FIFO пуста.

Очередь FIFO полна

Когда регистр адреса записи достигает регистра адреса чтения, то FIFO запускает сигнал «Полон».

В обоих случаях, адреса чтения и записи в конечном итоге равны. Для того, чтобы различать эти две ситуации, есть простое и надежное решение — нужно добавить один дополнительный бит для каждого адреса чтения и записи, который инвертируется каждый раз, когда адрес переносится. При этом созданы условия неоднозначности:

  1. Когда регистр адреса чтения равен регистру адреса записи, то FIFO пуст.
  2. Когда наименее значимый бит адреса чтения равен наименее значимому биту адреса записи и дополнительные старшие значащие биты различны, FIFO полон.

Сходства и отличия от LIFO

Похожий принцип, который часто упоминается одновременно с FIFO – схема, при которой отправляется товар, поступивший на хранение последним (LIFO). Данная модель работы с грузами будет уместна в ситуациях, когда объемы поставок и грузооборота весьма значительные, со стэковыми зонами хранения. Исходя из того, что некоторые товарные партии могут задержаться на территории складского комплекса на достаточно продолжительное время, LIFO в логистике не подходит для работы со скоропортящейся продукцией.

Общий принцип каждого из вариантов выглядит следующим образом:

  • FIFO. Чем раньше поступление, тем раньше отправка. Решение, широко распространенное в логистике, но далеко не всегда являющееся оптимальным.
  • LIFO. Чем позже поступление, тем раньше отправка. Приоритет новой продукции над той, что находится на складе дольше.

Литература

  • Логистика и управление розничными продажами = Logistics and retail management / Под ред. Дж. Ферна и Ли Спаркса. — 2-е. — Новосибирск: Сибирское университетское изд-во, 2007. — С. 263. — ISBN 5-379-00303-6.
  • Панасенко Е. В. Логистика: персонал, технологии, практика. — 1-е. — М.: Инфра-Инженерия, 2011. — С. 224. — ISBN 978-5-9729-0034-3.
  • Логистика / Под ред. Б. А. Аникина, Т. А. Родкиной. — 2-е. — М.: Проспект, 2010. — С. 406. — ISBN 978-5-392-01325-8.
  • Проценко О. Д. Логистика // Большая российская энциклопедия : в 30 т. / Предс. науч.-ред. совета Ю. С. Осипов; отв. ред. С. Л. Кравец. Т. 17. — М.: Большая российская энциклопедия, 2010. — С. 734. — ISBN 978-5-85270-350-7 (Т. 17); ISBN 5-85270-320-6
  • Степанов В. И. Логистика. Учебник для бакалавров. — М.: Проспект, 2013. — ISBN 978-5-392-01198-8
  • Миротин Л. Б., Ташбаев Ы. Э. Системный анализ в логистике. — М.: Экзамен, 2004. — 480 c. — ISBN 5-94692-838-4
  • Эдвард Фразелли. Мировые стандарты складской логистики = Edward Frazelle. World-Class Warehousing and Material Handling / переводчик Любовина Дарья. — М.: Издательская группа «Точка», 2020. — 320 p. — ISBN 978-5-6043749-5-5.

Наращивание разрядности и информационной емкости FIFO

В процессе проектирования новых устройств нередко возникает задача объединения микросхем памяти FIFO в один модуль. Наращивание разрядности достигается путем соединения всех одноименных входов микросхем, кроме информационных. Для контроля за потоками данных могут использоваться флаги заполненности одной из микросхем в модуле. Способ решения этой задачи иллюстрирует рис. 9, на котором показан блок FIFO емкостью 512 слов и разрядностью слова 18 бит, построенный на микросхемах IDT7201. Каждая микросхема имеет организацию 512ґ9 бит.

Рис. 9. Наращивание разрядности

Пример наращивания информационной емкости приведен на рис. 10. Блок FIFO емкостью 1536 слов и разрядностью слова 9 бит построен на трех микросхемах IDT7201. Для этого соединяют все одноименные выводы микросхем D9-D0, Q9-Q0, W’, R’, RS’. Исключение составляют выводы флагов заполненности и выводы управления расширением. Выводы флагов заполненности объединяются по схеме «ИЛИ». Композитные сигналы заполненности FULL’ и EMPTY’ позволяют отразить состояние модуля памяти как единого целого. С помощью выводов управления расширением организуется эстафетный доступ к микросхемам модуля: сигналы расширения XI’ и XO’ последовательно проходят через все микросхемы FIFO, обеспечивая обращение только к одному сегменту модуля памяти в каждый момент времени. Выходы остальных микросхем в этот момент находятся в третьем состоянии, а сигналы чтения и записи данных игнорируются. Низкий уровень на входе FL’ указывает на первый сегмент модуля.

Рис. 10. Наращивание информационной мощности

Спонтанная покупка – тайное оружие маркетинга

Если спросить человека, как часто он совершает приобретения на основании импульсного решения, то можно услышать, что такого почти не бывает. На самом деле это не так, от 40 до 80 процентов товаров приобретаются на основании моментального неосознанного решения.

На самом деле спонтанность приобретений – весьма условное понятие. Если человек решил купить еду, то еду он и купит, независимо от желания отдела маркетинга. При этом покупателем заранее определяется ценовая категория и общие расходы, на скидки и акции потребитель смотрит как на дополнительную возможность сэкономить или получить приятный бонус.

Метод ФИФО в WMS системе

Система-WMS помогает решать задачи по управлению складских помещений и производит автоматизацию операций по складам.

Основные функции WMS:

  • Помогает разместить товары по периметру склада;
  • Производит выдачу заданий;
  • Производит управление подбора товаров;
  • Участвует в контролировании персонала;
  • Производит автоматизацию работы касательно пополнений остаточных товаров со склада.

Одним из методов, которым пользуется рассматриваемая система, является ФИФО.

Согласно этому методу, сначала отгружается товар из первой партии, затем последующие, таким образом, открытие доступа к первым категориям из списка происходит после анализа всех последующих товаров. Этот принцип работает и касательно клиентов, то есть обслуживают клиента, подошедшего ранее других. 

Производственное планирование в 1С ERP Корпоративные информационные системы (КИС)

Метод списания по принципу FIFO


На практике редко модно наблюдать закупку необходимой продукции или материалов однородной группы, которые необходимы для работы одинаково долгое время. Обычно ресурсы приходят от нескольких компаний-производителей и имеют разую стоимость. Большие обороты мешают отслеживанию стоимости определенных товаров, используемых в производственной деятельности .

Согласно законодательству, можно производить списывание денежных средств на затраты в процессе их выбывания несколькими способами. Давайте рассмотрим все для лучшего понимания. По «Учету материально-производственных запасов» (ПБУ 5/01) бухучет может использовать несколько методик:

  1. Ориентация на стоимость отдельных единиц. Такой метод хорош при учете дорогостоящих товаров, когда возможно отслеживание выбывания всех партий товаров, а также запасы.
  2. Ориентация на среднюю себестоимость. Затраты по итогу высчитываются в виде соотношения средней стоимости (цена оставшейся продукции и суммы поступивших товаров) и общего количества, которое определяется аналогичным способом.
  3. Метод ФИФО, когда в первую очередь расходуют товары из запасов, поступивших ранее, 1-ыми по времени.

Методику ФИФО часто именуют конвейерным способом, то есть выбывает тот товар, что поступил первоначально.

Списание по ФИФО производится по прежней схеме, а именно, выбывание однородных запасов производится последовательно, в очередности их поступления на склады. Поэтому, товары из следующих поступлений не выводят, пока в полной мере не израсходуют ранее поступившие.

Метод ФИФО предполагает списывание на хознужды или для производства по стоимости МПЗ по факту, которые поступили 1-ми по очередности. Следовательно, себестоимость товаров из запаса, которые поступили позднее и не израсходовались, включают в цену остаточных товаров при конечном периоде.  

Информатика

Структура данных

Представление FIFO

В зависимости от прикладной программы, буфер FIFO может быть реализован в виде аппаратного регистра сдвига, или с использованием различных структур памяти, обычно циклическим буфером или одним из видов списков.

Есть несколько эффективных реализаций очередей FIFO. Эффективной реализацией является та, которая может выполнять операции — добавление в очередь (enqueuing) и извлечение из очереди (dequeuing) — за время O(1) .

  • Связанный список
    • У двусвязного списка операции вставки и удаления на обоих концах занимают O (1) времени, так что это естественный выбор для очередей.
    • Простой связный список имеет эффективную вставку и удаление только на одном конце. Тем не менее, небольшая модификация — по поддержанию указателя на последний узел в дополнение к первому — позволит реализовать эффективную очередь.
  • Двусторонняя очередь, или очередь с двусторонним доступом, (double-ended queue), реализованная с использованием модифицированного динамического массива.

Реализация

Следующий код показывает реализацию связанного списка FIFO на языке C++. На практике, существует целый ряд реализаций списка, в том числе популярных макросов Unix-систем C sys/queue.h или шаблона стандартной библиотеки C++ std :: list, устраняя необходимость в реализации структуры данных с нуля.

#include <iostream>
#include <stdexcept>
 
template <typename T>
class FIFO
{
private

    struct Node {
        T     value;
        Node *next;

        Node(T _value)  value(_value), next(NULL) {}
    };

    Node *front;
    Node *back;

public
    FIFO()  front(NULL), back(NULL) {}

    ~FIFO() {
        while (front != NULL)
            dequeue();
    }

    void enqueue(T _value) {
        Node *newNode = new Node(_value);

        if (front == NULL)
            front = newNode;
        else
            back->next = newNode;

        back = newNode;
    }

    T dequeue() {
        if (front == NULL)
           throw std::underflow_error("Nothing to dequeue");

        Node *temp   = front;        
        T     result = front->value;

        front = back;
        delete temp;

        return result;
    }
};

Первоочередность головы или хвоста очереди

Концы очереди FIFO часто называют головой и хвостом. К сожалению, существует спор относительно этих терминов:

  • По мнению многих людей предметы должны входить в конец очереди (в хвост), и оставаться в очереди, пока они не достигнут начала очереди (головы) и покинуть очередь оттуда. Эта точка зрения оправдана по аналогии с очередями людей, ожидающих своего обслуживания в передней и задней части очереди (как и в приведенном выше примере).
  • Другие люди считают, что элементы входят в очередь в голове и покидают её в хвосте, по аналогии с пищей, проходящей через змею. Очереди написанные таким образом появляются в тех местах, которые можно рассматривать как авторитетные, например, такие как операционная система Linux.

Программирование работы диска

Дисковые контроллеры могут использовать очередь FIFO в качестве алгоритма планирования работы диска для определения порядка обслуживания запросов ввода/вывода.

Коммуникации и сети

Сетевые мосты, коммутаторы и маршрутизаторы, используемые в компьютерных сетях используют FIFO для хранения пакетов данных на пути к их следующему месту назначения. Как правило, по меньшей мере, одна структура FIFO используется за сетевое соединение. Некоторые устройства имеют несколько FIFO для одновременного и независимого массового обслуживания различных типов информации.

Классификация памяти FIFO производства IDT Inc.

Все устройства FIFO можно подразделить на классы, определяемые по способу воздействия входных управляющих сигналов (асинхронная и синхронная память) и по способу управления передачей данных (однонаправленная и двунаправленная память). В качестве подкласса асинхронной памяти можно выделить микросхемы Serial-to-Parallel FIFOs (последовательная запись/параллельное считывание) и Parallel-to-Serial FIFOs (параллельная запись/последовательное считывание). В микросхему Parallel-to-Serial FIFO данные записываются всеми разрядами одновременно, а считываются с одного выхода последовательно во времени. По аналогии осуществляется обращение к данным в микросхеме Serial-to-Parallel FIFO. Классификацию устройств памяти FIFO, производимых корпорацией IDT, можно представить в следующем виде:

Асинхронная память

  • семейство Asynchronous x9 и Asynchronous Dual x9256…64Kx9;
  • семейство Specialty FIFOsParallel-to-Serial FIFOs 256…1Kx16, 1K…4Kx9Serial-to-Parallel FIFOs 2K…4Kx9Low Density 64×4, 64×5

Синхронная память

  • семейство Super Sync II (133 МГц)512…64Kx72512…128Kx368K…256Kx1816K…512Kx9
  • семейство Super Sync (100 МГц)8K…256Kx1816K…512Kx9
  • семейство Sync FIFO и Synchronous Dual x9, x18 (100 МГц)64…128Kx36256…4Kx1864…8Kx9

Двунаправленная память

  • семейство Bi-directional Asynchronous FIFOs x18512…1Kx18(x2)
  • семейство Bi-directional Synchronous FIFOs x18256…512×18(x2)
  • семейство Bi-directional Synchronous FIFOs x3664…64Kx36(x2)

Рис. 2. Структура асинхронной памяти FIFO

Принцип работы асинхронной памяти FIFO

В асинхронной памяти FIFO операции записи и чтения из памяти производятся сигналами W’ и R’ соответственно (рис. 2). Запись информации осуществляется через порт DATA IN, а считывание — через порт DATA OUT с тремя состояниями. В структуре памяти предусмотрена схема формирования флагов заполненности FF’ и EF’.

Рис. 3. Временные диаграммы циклов записи и чтения

Для успешной работы интерфейса памяти FIFO большое значение имеют временные соотношения между сигналами. На рис. 3 показаны типичные временные диаграммы циклов записи и чтения данных. В цикле записи внешнее устройство выставляет записываемые данные на линиях D0–D8 и сопровождает их стробом записи W’. Данные должны быть установлены за время tDS до прихода фронта сигнала W’. В цикле чтения информация на выходной шине данных Q0–Q8 появляется через время tA после спада сигнала R’.

Рис. 4. Временные диаграммы переключения флагов заполненности

Состояния флагов заполненности FF’ и EF’ определяются на основе сопоставления значений указателей. Активный уровень на выходе EF’ устанавливается в том случае, если разность между значениями указателей начала и конца записи равна нулю, и информирует о неготовности выхода к считыванию следующего слова. Активный уровень на выходе FF’ устанавливается, если эта разность соответствует значению максимального размера памяти FIFO, и информирует о неготовности входа принять для записи следующее слово.

Рис. 5. Структура синхронной памяти FIFO

На рис. 4 приведены временные диаграммы переключения флага EF’ («буфер пуст»). Сигнал на выходе EF’ становится активным через время tREF после прихода спада сигнала на входе R’ при чтении последнего записанного слова из памяти.

Рис. 6. Временные диаграммы циклов записи и чтения

Как видно из временных диаграмм, следующий цикл чтения из памяти игнорируется. Через время tWEF после записи в память нового слова состояние флага EF’ восстанавливается и принимает уровень логической «1». По состоянию сигналов на выводах EF’ или EF’ внешние управляющие устройства определяют, возможно ли обращение к буферу памяти для записи или считывания данных.Если буфер FIFO пуст, то игнорируется чтение, в противном случае игнорируется запись. В асинхронной памяти FIFO длительность активного сигнала на выходе EF’ непосредственно зависит от временного соотношения между сигналами W’ и R’. В большинстве схемных реализаций сами флаги заполненности используются для управления прохождением внешних сигналов чтения или записи и обеспечивают необходимую достоверность обмена данными. Однако в ряде приложений в составе внешнего управляющего устройства требуется введение дополнительной функции контроля за длительностью сигналов заполненности памяти FIFO для предотвращения потери передаваемых данных.


С этим читают