vak: (Default)
[personal profile] vak
Всю последнюю неделю новостные ленты пестрят радостными сообщениями про российский процессор принципиально новой архитектуры:В целом хорошее, положительное дело.  Команду разработчиков можно поздравить с изобретением действительно оригинальной архитектуры и получением инвестиций на её воплощение.  Но.  При ближайшем рассмотрении вся поднятая шумиха начинает вызывать подозрения.  Слишком много звучит противоречивых, неподтверждённых, да и просто ложных высказываний.  Я понимаю, что нынешнему поколению советских людей хочется хоть чем-нибудь гордиться: космосом, хоккеем, большим теннисом, ну или хотя бы процессором.  Но заменять реальную инженерную разработку имитацией успеха всё же не стоит.  Уже и про Линукс фантазируют, и про замену Интелу, а между тем всё на что может претендовать Мультиклет - микроконтроллеры и быстрая обработка цифровых сигналов.

На Хабре появилась взвешенная статья "Критический взгляд со стороны на процессоры Мультиклет", где озвучены многие сомнительные места.  А я конспективно пройдусь по списку преимуществ новой архитектуры, заявленному на официальном сайте Мультиклет.
  • Увеличение производительности при одновременном снижении энергопотребления - не представлено никаких реальных данных по сравнению производительности с другими архитектурами.  Например Dhrystone или Specmark.
  • «Естественная» реализация параллелизма (без решения задачи распараллеливания) - хотелось бы видеть примеры такого распараллеливания, хотя бы для простых известных алгоритмов. 
  • Уменьшение площади кристалла - отсутствуют данные для сравнения.
  • Эффективная реализация любого класса задач (коммутационная среда не вносит каких-либо ограничений в межклеточный обмен данными) - не подтверждено цифрами.  Боюсь, главный тормоз будет в подгрузке потока инструкций.
  • Выполнение задачи без перекомпиляции на любом количестве клеток - в качестве доказательства меня бы устроил запуск какого-нибудь простого кода на RTL-симуляторе процессора с разным количеством клеток. 
  • Непрерывное выполнение программы при деградации аппаратной среды (отказ клеток) - интересно, как это работает при отсутствии в процесоре схем контроля и отключения клеток.
  • Дефектоустойчивость производства (кристалл считается годным, даже при отбракованности части клеток) - аналогично.
Печалит отсутствие симулятора и компилятора Си для заявленной архитектуры.  На мой взгляд, имело бы смысл всю разработку затевать именно с этого, и при получении хороших результатов выпекать кремний.  А так телега впереди лошади.

Между тем, незамеченным прошло другая интереснейшая вещь: процессор "Кварк", разработанный дизайн-центром KM211.   Абсолютно оригинальный RISC-процессор с интересными параметрами, компилятор GCC, работающий Линукс, готовая микросхема К5512БП1Ф.

 

С документацией, правда, тоже хреново. 

Date: 2012-12-13 22:56 (UTC)
From: [identity profile] teewoon.livejournal.com
Посмею вставить еще пару копеек насчет Мультиклета. IMHO для embedded приложений он вообще никакой, Хотя по обвесу и параметрам больше ему некуда.

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

Переходы в ветвящемся коде. Спорный вопрос, но в задачах где вычислительная моща не самое главное, а всё опирается на коммуникации и короткие кусочки кода (Finite State Machines, микроядра и прочие real-time related плюшки), это может из ложки дегтя превратиться в бочку.

А еще непонятно покусительство на СВЯТЫЕ клеточные (однородные структуры) в плане названия. Вот как ни вертел документацию - ничего клеточного не нашел. Т.е. именно локальной связности вычислительных узлов. Пока что они связаны опосредованно через коммутатор - локального бога, который хранит промежуточные результаты операций, а потом делает отложенную запись в общие регистры. Ну еще чота он делает, но все операции проциков через него =(