Спроектирован процессорный элемент Леопард векторного сопроцессора MALT

 

Фото: maltsystem.com

 

Завершено проектирование процессорного элемента векторного ускорителя Леопард. Архитектура процессорных элементов выбиралась исходя из требований максимальной гибкости (с точки зрения программирования) при высокой производительности и энергоэффективности на целевых задачах. В итоге была выбрана архитектура на основе древовидного АЛУ.

 

Древовидное АЛУ представляет собой дерево, узлами которого являются элементарные АЛУ. Такая система позволяет объединить несколько простых операций в одну сложную и тем самым повысить количество операций, выполняемых за такт. Число входов у такого дерева больше, чем у обычных АЛУ. Некоторые унарные операции могут осуществляться прямо на входах. Промежуточные значения передаются в древовидном АЛУ от одного узла дерева к другому непосредственно, что позволяет сократить число обращений к регистровому файлу.

 

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

 

Количество выполняемых операций за одну инструкцию для обсуждаемого варианта процессорного элемента сравнимо с показателями процессоров, имеющих архитектуру VLIW, при значительно меньшем энергопотреблении. Помимо АЛУ каждый процессорный элемент включает в себя регистровый файл и локальную память. Память команд содержит 1024 96-битных слова, разделяемая память содержит 4096 32-битных слов. Процессорные элементы объединены в массивы по идеологии SIMD. Устройство управления массивом процессорных элементов имеет набор регистров-счетчиков для организации циклов с глубиной вложенности до 8.