ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ ДЛЯ МНОГОПОТОКОВОЙ ОБРАБОТКИ ЦИФРОВЫХ ДАННЫХ И СПОСОБ ОБРАБОТКИ С ИСПОЛЬЗОВАНИЕМ ДАННОГО МОДУЛЯ

1. Вычислительный модуль для многопотоковой обработки цифровых данных, содержащий процессорные ядра 1 и 2 с упрощенной целочисленной RISC-архитектурой, группу из К коммуникационных подсетей 7, а также группу из Р контроллеров общей памяти 8,
дополнительно введены специализированные для конкретной области задач сопроцессоры 5, которые подключены к группе вычислительных процессорных ядер 2,
в состав процессорного ядра, аппаратно реализующего поток вычислений, входит локальное ОЗУ 3, в котором содержится стек выполняемого потока вычислений и буфер сообщений коммуникационной сети, ПЗУ 6, АЛУ 11 и кэш-память команд 4, управляемая программно,
при этом управляющие процессорные ядра 1, не задействованные в вычислительных задачах, выполнены с возможностью реализации задач по распределению потоков по процессорным ядрам и по программной маршрутизации сообщений между коммуникационными подсетями 7, внутри которых аппаратно реализуется передача данных между процессорными ядрами,
контроллеры общей памяти 8 подключены через коммуникационную сеть 7 к процессорным ядрам 1 и 2 и блокам внешней общей памяти 9, которая доступна процессорным ядрам как общий ресурс,
при этом контроллер общей памяти выполнен с возможностью синхронизации потоков вычислений на уровне обращений к внешней общей памяти с помощью тегов, добавляемых к каждому слову данных, а также с возможностью поддержки следующих операций: атомарный инкремент заданного слова данных, копирование областей памяти, перенос данных из внешней общей памяти в локальную память заданного процессорного ядра, заполнение заданного участка памяти заданным значением и команды векторной адресации.
2. Вычислительная задача, использующая конструктивные особенности вычислительного модуля для многопотоковой обработки цифровых данных, выполняется поэтапно:
программу, предназначенную для выполнения на вычислительном модуле, загружают из внешнего источника с помощью периферийного интерфейса, подключенного к одному из управляющих процессорных ядер;
фрагменты программы через коммуникационную сеть записываются в области кэшпамяти команд отдельных процессорных ядер, а также в блоки внешней общей памяти посредством контроллера общей памяти;
осуществляется запуск управляющей части программы, выполняемой на группе управляющих процессорных ядер, не задействованных в вычислительных процессах;
управляющие процессорные ядра выполнены с возможностью реализации задач по распределению вычислительных потоков по процессорным ядрам и по маршрутизации сообщений между коммуникационными подсетями, внутри которых аппаратно реализуется передача данных между процессорными ядрами;
в процессе работы процессорные ядра используют локальную память данных, в которой хранят стек потока и буфер сообщений;
контроль потоков вычислений, а также получение результатов выполняются загрузочным процессорным ядром.