|
|
Rutel |
При проектировании DataFlow процессора сделано предположение 12.09.2022, 05:18 |
|
12/09/22 1
|
Последний раз редактировалось Pphantom 12.09.2022, 09:25, всего редактировалось 1 раз.
При проектировании DataFlow процессора сделано предположение (сформулирован алгоритм) и его очень хочется доказать, но моих знаний в математике мало.
Для процессора основанного на потоках данных требуется сеть, которая эти потоки создаст и доставит. Пакетные сети слабо подходят для этой задачи по причине свой асинхронной природы. Достаточно полное описание можно прочитать здесь : ссылка удалена Рядом лежат статьи по построению распределенной виртуальной памяти суперкомпьютера.
Есть физический канал передачи данных, он разбит на большое число виртуальных каналов. Скорости передачи данных в различны, но их сумма не превышает скорости физического канала. Нужно вычислить максимальный размер буфера для синхронного виртуального канала передачи данных для следующего алгоритма чередования:
Мультиплексирование (разделение) канала связи (2) (Алгоритм симметричен, одинаков для приемника и передатчика)
1. Создаем по одному счетчику для каждого приемника и передатчика физического канала (примерно как в «ССИ_Синхронный поток_Эффект проскальзывания (1)»), с помощью служебных символов синхронизируем их относительно потока символов в данном физическом канале. Для выбранного примера счетчик от 0 до 1М-1 (счетчик 20 разрядов с периодом в 1 секунду). 2. При обращении к коммутатору преобразовываем содержимое счетчика в адрес (номер) FIFO.
Алгоритм преобразования — Счетчик <:> Адрес FIFO:
1. Диапазон значений в 1М, по сути является номерами тайм-слотов в передаваемой периодической структуре. Остается только распределить эти тайм-слоты максимально равномерно и пропорционально скорости каждого виртуального канала. 2. Каждому адресу FIFO соответствует несколько значений счетчика. Ноль если канал не создан и единица если канал имеет скорость один символ в секунду. 3. Представим весь диапазон значений счетчика как некоторое адресное пространство и присвоим каждому каналу непрерывный диапазон значений равный символьной скорости виртуального канала. Выглядит как выделение памяти в современных вычислительных системах. 4. Каждый модуль FIFO откликается на любое значение в пределах этого диапазона, выдавая или записывая символ. 5. Просто подавать счетчик на адресные входы FIFO нельзя, данные будут передаваться непрерывными последовательностями раз в секунду. Для равномерного распределения опросов FIFO нужно «перевернуть» значение счетчика (поменять местами старшие разряды с младшими). 6. FIFO также должно сравнивать этот «перевернутый» счетчик с перевернутым диапазоном значений (или повторно перевернуть адрес).
|
|
|
|
|
Pphantom |
Re: При проектировании DataFlow процессора сделано предположение 12.09.2022, 09:27 |
|
Заслуженный участник |
|
09/05/12 25179
|
! |
Не стоит давать ссылки на ресурсы сомнительного содержания, тем более что материал по ссылке в основном повторяет текст сообщения. |
|
|
|
|
|
|
Страница 1 из 1
|
[ Сообщений: 2 ] |
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы