A distributed digital imaging processing system having a number of
processing units and circular FIFO buffers connected together using data
transforming streams. Processing units read data from buffers using a
transforming read streams. These read streams reorder the buffer data to
form patches representing neighborhood pixels and may provide the same
data multiple times. After processing a patch, a processing unit writes
the resultant patch into a buffer using a transforming write stream which
reorders the data into the storage format of the buffer. Several buffers
can feed a single processor and one processor can feed several buffers.
All the details of each data stream (buffer, current buffer location,
patch size, access pattern) are stored in a table entry, along with a
pointer to the data stream that it must follow in the buffer to avoid the
hazards of reading and writing data out of order. In the case where a
buffer has multiple read streams, requiring read streams to maintain a
particular order reduces the work necessary to check for either a write or
read hazard to comparing the location of a stream with it's leader. A
single state machine computes from each table entry all addresses for all
data transfers between the processors and buffers, and updates the table
entry after each cycle. Since table entries define the streams which link
processors to memory, communication paths between processors is completely
under software control.
Распределенный цифровой системы обработки воображения имея несколько блка обработки и круговые буфера fifo соединился совместно использующ потоки данных преобразовывая. Данные по блка обработки прочитанные от буферов используя преобразовывать прочитали потоки. Эти прочитали потоки переупорядочивают данные по буфера для того чтобы сформировать заплаты представляя пикселы района и могут обеспечить такие же времена многократной цепи данных. После обрабатывать заплату, блка обработки пишет возникающую заплату в буфер используя преобразовывать пишет поток который переупорядочивает данные в форму хранения буфера. Несколько буферов могут подать одиночный обработчик и один обработчик может подать несколько буферов. Все детали каждого потока данных (буфера, в настоящее время положения буфера, размера заплаты, картины доступа) хранятся в входе таблицы, вместе с указателем к потоку данных которым он должен последовать за в буфер для избежания опасностей данных по чтения и сочинительства out of order. В случай где буфер имеет многократную цепь прочитать потоки, требовать, что прочитанные потоки поддержали определенный заказ уменьшает работу обязательно для того чтобы проверить для или писания или прочитать опасность к сравнивать положение потока с им будет руководителем. Машина единя государство вычисляет от каждого входа таблицы все адресы для всех передач данных между обработчиками и буферами, и уточняет вход таблицы после каждого цикла. В виду того что входы таблицы определяют потоки соединяют обработчики к памяти, курсы связи между обработчиками находятся вполне под управлением средства программирования.