CPU PIPELINE
4-stage pipeline
Генерализованный конвеер операций, для разделния по тактам очередности действий (4-stage). Может образовывать более длинные цепочки.
Ячейка состоит из 4 этапов (stage) конвеера, каждый этап имеет два входа (1,2) и один выход (3). Управляется схема контрольными сигналами C1/C2 и D1/D2 (соединяются они между собой или нет - неизвестно).
Также схема имеет "стартовый" вход - in (для запуска конвеера) и "финиш" (сигнализирующий о том, что конвеер остановился) - out.
Исходники схемы и топологии : File:Pipeline circuit.tif
Flow
В основе работы каждого из этапов лежит 2 мультиплексора :
Контрольные сигналы C1/C2 управляют входами 1 и 2. Контрольные сигналы D1/D2 выбирают что подавать на выход 3.
Когда C1 = 1, то на вход текущего этапа подается значение с контакта 1. Когда C2 = 1, то на вход текущего этапа подается значение с контакта 2.
Когда D1 = 1, то на выход 3 идёт выбранный вход с контактов 1/2 текущего этапа. Когда D2 = 1, то на выход 3 идёт выход с предыдущего этапа.
По идее C1/C2 и D1/D2 должны работать согласованно и представлять собой один и тот же тактовый сигнал (CLK). Но пока это не подтверждено. Точно известно что C1 != C2 и D1 != D2 (они не могут быть одновременно 0 0 или 1 1).
В общем и целом логика всей "колбасы" будет выглядеть следующим образом :
PS. Логика выхода 3 с каждого этапа инвертирована по отношению к входам 1/2 или значению с предыдущего этапа.
Заметки по топологии
- Выходной сигнал out (stop) дополнительно подтягивается небольшим буфером
|