Юрий Панчул, 31 мая 2017 года — У каждой российской микроэлектронной компании есть рассказ, почему она самая хорошая и передовая. По английски это называется «claim to fame» — «заявка на славу». Одни российские компании славятся оригинальной архитектурой CPU, другие — спроектированной в России системой на кристалле, третьи — спроектированными в России блоками, которые были лицензированы западными компаниями.
У российской компании ЭЛВИС (ELVEES), которая исторически специализировалась на космической электронике, DSP и хардверно-поддерживаемом распознавании образов, текущая «заявка на славу» выражена в совместном российско-британско-американско-тайваньском чипе для «умных камер» под названием ELISE. Инженеры в подмосковном Зеленограде спроектировали внутри этого чипа важные блоки для видео-обработки и GNSS, которые потом кросс-лицензировала британско-американская Imagination Technologies.
Блоки от элвисовцев интегрированы с тремя разнородными процессорными ядрами: двухядерным кластером суперскалярных ядер MIPS P5607 (Apache) с частотой 1.2 GHz, на котором работает Linux, процессором с аппаратно-поддерживаемой многопоточностью MIPS interAptiv (1 GHz) и небольшим вспомогательным процессором с аппаратно-поддерживаемой виртуализацией MIPS M5150 (Virtuoso).
На днях мне попали в руки два изделия с чипом ELISE — плата для разработчиков и трехмерная бинокулярная камера. На чипе стоит много разных блоков, включая графический процессор PowerVR Clyde (GX6250) и тяжелый DSP — 8-ядерный VLIW SIMD ELVEES Velcore2, но я расскажу только про ядра обычных процессоров, которых на чипе стоит три разных класса.
Самый производительный процессор общего назначения (application processor) на чипе ELISE — это ядро MIPS P5607 с кодовым названием «Apache». Оно работает на частоте 1.2 GHz и имеет высокий показатель CoreMark. MIPS P5607 — это суперскалярное ядро с внеочередным выполнением инструкций и векторными операциями:
Два ядра MIPS P5600 «Apache» соединяются на элвисовской СнК в двухядерный кластер с общим кэшем второго уровня и менеджером когерентности, который использует MESI протокол для непротиворечивости состояний кэшей первого уровня в ядрах:
Следующим процессором на чипе ELISE является ядро MIPS interAptiv, которое синтезировано на частоте 1 GHz. Это ядро оптимизировано под эффективность (производительность/милливатт). Элвисовцы используют данное ядро для обработки звука. У MIPS interAptiv есть интересная черта — аппаратная поддержка многопоточности, которая возникла в предшественника MIPS interAptiv — ядре MIPS 34K.
На элвисовском чипе еще есть ядро MIPS M5150 под кодовым названием «Virtuoso». Оно синтезировано на частоту 600 MHz. Это простое компактное низкопотребляющее ядро с последовательным пятистадийным конвейером. MIPS M5150 в данном СнК используется как контроллер чего-то нетребовательного (housekeeping, «служанка»):
В ядре MIPS M5150 есть опция для DSP-расширения, правда я не знаю точно, воспользовались ли этой опцией элвисовцы. DSP расширение позволяет ограниченные векторные инструкции, целочисленные операции с фиксированной точкой с арифметикой насыщения и т.д. Это, конечно, не тяжелый DSP (который на элвисовском чипе и так есть), но для некоторых задач оказывается удобным:
«Заявка на славу» ядра MIPS M5150 — это единственное в мире малое ядро микроконтроллерного класса, которое реализует аппаратную поддержку виртуализации. Зачем? Как я уже писал, виртуализация на таких ядрах удобна для обеспечения безопасности. Даже на небольшом чипе для IoT могут одновременно работать, скажем, встроенный Линукс и, скажем, очень защищенный код для работы с финансовыми транзакциями. Теперь если пользователь установит взломанную операционную систему, она не сможет получить доступ к другой ОС, выполняющей критические операции, потому что между двумя ОС стоит гипервайзер. Это становится особенно важно в случае интернета вещей, когда подброшенный в домашнюю сеть утюг или тостер может теоретически обмениваться информацией с главным компьютером хозяина.
С полным текстом статьи можно ознакомиться здесь.