Язык высокого уровня COLAMO

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

Основным отличием языка COLAMO является введение понятия кадра. Конструкция, описывающая кадр, характеризуется наличием структурной и процедурной составляющих. Основная программа содержит вызовы кадров в определенной последовательности, что позволяет совместить детерминизм выполнения крупных фрагментов задачи с асинхронностью вычислительных операций внутри кадра. Отображение вычислительного алгоритма на архитектуру РВС обеспечивает транслятор, который выделяет структурную составляющую кадра и обеспечивает ее отображения в аппаратном ресурсе РВС, опираясь на элементы библиотеки масштабируемых IP-ядер.

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

Описание языка COLAMO в формате pdf