У каждой российской микроэлектронной компании есть рассказ, почему она самая хорошая и передовая. По английски это называется «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 — плата для разработчиков и трехмерная бинокулярная камера. Элвисовцы также дали мне список на 10 страниц, что есть на плате, что есть внутри чипа, и какой для этого поддерживается софтвер. К сожалению, они не разрешили мне выложить эти страницы в интернет, поэтому я кое-что перескажу своими словами, а также добавлю инфо про используемые ядра, после чего вы все остальное можете запросить у элвисовцев сами.
На фотографиях ниже некоторые из инженеров-участников проекта. Девушка слева спроектировала часть load-store unit в MIPS P5607, юноша в зеленой майке написал модели интерфейсов шин, а товарищ в клетчатой рубашке — архитектор софтверной экосистемы:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/d3b/d35/709/d3bd35709886edfead48ec0a7b14cfb0.png)
Плата крупно:
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/542/409/cf4/542409cf4706109983261164da324b30.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/comment_images/e3a/592/0ec/e3a5920ec91ca6d0a74eba6a43159269.jpg)
Камера:
![](https://habrastorage.org/r/w780q1/getpro/habr/comment_images/978/985/422/978985422720872f7eda6e9888d2c3c4.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/comment_images/ef8/5e4/412/ef85e441224370211d257475979637da.jpg)
ЭЛВИС выпустил пресс-релиз о чипе ELISE год назад, в мае 2016:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/6ea/580/5f7/6ea5805f729d3e7e0ce857867369d47d.png)
На чипе стоит много разных блоков, включая графический процессор PowerVR Clyde (GX6250) и тяжелый DSP — 8-ядерный VLIW SIMD ELVEES Velcore2, но я расскажу только про ядра обычных процессоров, которых на чипе стоит три разных класса. Зачем вообще нужны разные классы процессоров, вы можете увидеть в слайдах Чарльза, про которого есть пост на Хабре (Разработка → Можно скачать материалы семинара Nanometer ASIC (РОСНАНО / МИСиС / Imagination Technologies) — ликбез по всему про чипы). Я приведу оттуда один слайд:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/cc6/c46/497/cc6c4649710095c2894b29e1014170c6.png)
Самый производительный процессор общего назначения (application processor) на чипе ELISE — это ядро MIPS P5607 с кодовым названием «Apache». Оно работает на частоте 1.2 GHz и имеет высокий показатель CoreMark. MIPS P5607 — это суперскалярное ядро с внеочередным выполнением инструкций и векторными операциями:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/0dd/cc8/a3e/0ddcc8a3e8c288e8c90e05386b00bf60.png)
Два ядра MIPS P5600 «Apache» соединяются на элвисовской СнК в двухядерный кластер с общим кэшем второго уровня и менеджером когерентности, который использует MESI протокол для непротиворечивости состояний кэшей первого уровня в ядрах:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/cee/c13/3d5/ceec133d5a3387099d81a1b8773ea6a6.png)
Следущим процессором на чипе ELISE является ядро MIPS interAptiv, которое синтезировано на частоте 1 GHz. Это ядро оптимизировано под эффективность (производительность/милливатт). Элвисовцы используют данное ядро для обработки звука. Помимо элвисовцев, похожие ядра любит компания MediaTek, которая использует предыдущую версию той же микроархитектуры в чипе MT7688 для интернета вещей.
У MIPS interAptiv есть интересная черта — аппаратная поддержка многопоточности, которая возникла в предшественника MIPS interAptiv — ядре MIPS 34K. У меня есть пара слайдов про MIPS 34K и вырезка из журнала The Microprocessor Report, которые иллюстрируют идею:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/92a/92d/014/92a92d014d9a985d78a8996a86a8569e.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/c48/83e/123/c4883e1232f31887e6ac13921ba683ee.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/91c/84a/ce3/91c84ace3265f908830fda7c68061b2d.png)
На элвисовском чипе еще есть ядро MIPS M5150 под кодовым названием «Virtuoso». Оно засинтезировано на частоту 600 MHz. Это простое компактное низкопотребляющее ядро с последовательным пятистадийным конвейером. MIPS M5150 в данном СнК используется как контроллер чего-то нетребовательного (housekeeping, «служанка» то бишь):
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/e2c/ad8/b50/e2cad8b50c335f0c5ec14d5e10581ccd.png)
В ядре MIPS M5150 есть опция для DSP-расширения, правда я не знаю точно, воспользовались ли этой опцией элвисовцы. DSP расширение позволяет ограниченные векторные инструкции, целочисленные операции с фиксированной точкой с арифметикой насыщения итд. Это конечно не тяжелый DSP (который на элвисовском чипе и так есть), но для некоторых задач оказывается удобным:
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/925/71c/b88/92571cb88d0ff8aec1073311a7d3ed6c.png)
«Заявка на славу» ядра MIPS M5150 — это единственное в мире малое ядро микроконтроллерного класса, которое реализует аппаратную поддержку виртуализации. Зачем? Как я уже писал, виртуализация на таких ядрах удобна для секьюрити. Даже на небольшом чипе для IoT могут одновременно работать скажем встроенный Линукс и скажем очень защищенный код для работы с финансовыми транзакциями. Теперь если пользователь установит взломанную операционную систему, она не сможет получить доступ к другой ОС, выполняющей критические операции, потому что между двумя ОС стоит гипервайзер. Это становится особенно важно в случае интернета вещей, когда подброшенный в домашнюю сеть утюг или тостер может теоретически обмениваться информацией с главным компьютером хозяина.
Подробнее про виртуализацию см. в посте Разработка → Придумываем название для нового гипервайзера для архитектуры MIPS с аппаратно-поддерживаемой виртуализацией">
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/69b/a14/116/69ba141167c5cee4cacb6c625619e864.png)
Офис ЭЛВИСа находится в подмосковном Зеленограде, в здании в центре снимка ниже, через дорогу от института МИЭТ, из которого ЭЛВИС черпает кадры (а также из МИФИ, МФТИ и других мест). Вы можете запросить от элвисовцев информацию, когда-нибудь получить у них плату и что-нибудь на ней сделать (чтобы сфотографировать плату с девушкой, мне пришлось на время отобрать плату у другого коллеги, который сейчас портирует на плату Андроид. Вы тоже можете на эту плату что-нибудь спортировать или запрограммировать на ней что-нибудь встроенное, графическое и распознавательное, правда я не знаю, когда элвисовцы будут раздавать эти платы широко).
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/94d/85a/8d3/94d85a8d3bb7bec913c4406e87aa0af0.jpg)
У российской компании ЭЛВИС (ELVEES), которая исторически специализировалась на космической электронике, DSP и хардверно-поддерживаемом распознавании образов, текущая «заявка на славу» выражена в совместном российско-британско-американско-тайваньском чипе для «умных камер» под названием ELISE. Инженеры в подмосковном Зеленограде спроектировали внутри этого чипа важные блоки для видео-обработки и GNSS, которые потом кросс-лицензировала британско-американская Imagination Technologies.
Блоки от элвисовцев интегрированы с тремя разнородными процессорными ядрами: двухядерным кластером суперскалярных ядер MIPS P5607 (Apache) с частотой 1.2 GHz, на котором работает Linux, процессором с аппаратно-поддерживаемой многопоточностью MIPS interAptiv (1 GHz) и небольшим вспомогательным процессором с аппаратно-поддерживаемой виртуализацией MIPS M5150 (Virtuoso).
На днях мне попали в руки два изделия с чипом ELISE — плата для разработчиков и трехмерная бинокулярная камера. Элвисовцы также дали мне список на 10 страниц, что есть на плате, что есть внутри чипа, и какой для этого поддерживается софтвер. К сожалению, они не разрешили мне выложить эти страницы в интернет, поэтому я кое-что перескажу своими словами, а также добавлю инфо про используемые ядра, после чего вы все остальное можете запросить у элвисовцев сами.
На фотографиях ниже некоторые из инженеров-участников проекта. Девушка слева спроектировала часть load-store unit в MIPS P5607, юноша в зеленой майке написал модели интерфейсов шин, а товарищ в клетчатой рубашке — архитектор софтверной экосистемы:
![](https://habrastorage.org/getpro/habr/post_images/d3b/d35/709/d3bd35709886edfead48ec0a7b14cfb0.png)
Плата крупно:
![](https://habrastorage.org/getpro/habr/post_images/542/409/cf4/542409cf4706109983261164da324b30.jpg)
![](https://habrastorage.org/getpro/habr/comment_images/e3a/592/0ec/e3a5920ec91ca6d0a74eba6a43159269.jpg)
Камера:
![](https://habrastorage.org/getpro/habr/comment_images/978/985/422/978985422720872f7eda6e9888d2c3c4.jpg)
![](https://habrastorage.org/getpro/habr/comment_images/ef8/5e4/412/ef85e441224370211d257475979637da.jpg)
ЭЛВИС выпустил пресс-релиз о чипе ELISE год назад, в мае 2016:
![](https://habrastorage.org/getpro/habr/post_images/6ea/580/5f7/6ea5805f729d3e7e0ce857867369d47d.png)
На чипе стоит много разных блоков, включая графический процессор PowerVR Clyde (GX6250) и тяжелый DSP — 8-ядерный VLIW SIMD ELVEES Velcore2, но я расскажу только про ядра обычных процессоров, которых на чипе стоит три разных класса. Зачем вообще нужны разные классы процессоров, вы можете увидеть в слайдах Чарльза, про которого есть пост на Хабре (Разработка → Можно скачать материалы семинара Nanometer ASIC (РОСНАНО / МИСиС / Imagination Technologies) — ликбез по всему про чипы). Я приведу оттуда один слайд:
![](https://habrastorage.org/getpro/habr/post_images/cc6/c46/497/cc6c4649710095c2894b29e1014170c6.png)
Самый производительный процессор общего назначения (application processor) на чипе ELISE — это ядро MIPS P5607 с кодовым названием «Apache». Оно работает на частоте 1.2 GHz и имеет высокий показатель CoreMark. MIPS P5607 — это суперскалярное ядро с внеочередным выполнением инструкций и векторными операциями:
![](https://habrastorage.org/getpro/habr/post_images/0dd/cc8/a3e/0ddcc8a3e8c288e8c90e05386b00bf60.png)
Два ядра MIPS P5600 «Apache» соединяются на элвисовской СнК в двухядерный кластер с общим кэшем второго уровня и менеджером когерентности, который использует MESI протокол для непротиворечивости состояний кэшей первого уровня в ядрах:
![](https://habrastorage.org/getpro/habr/post_images/cee/c13/3d5/ceec133d5a3387099d81a1b8773ea6a6.png)
Следущим процессором на чипе ELISE является ядро MIPS interAptiv, которое синтезировано на частоте 1 GHz. Это ядро оптимизировано под эффективность (производительность/милливатт). Элвисовцы используют данное ядро для обработки звука. Помимо элвисовцев, похожие ядра любит компания MediaTek, которая использует предыдущую версию той же микроархитектуры в чипе MT7688 для интернета вещей.
У MIPS interAptiv есть интересная черта — аппаратная поддержка многопоточности, которая возникла в предшественника MIPS interAptiv — ядре MIPS 34K. У меня есть пара слайдов про MIPS 34K и вырезка из журнала The Microprocessor Report, которые иллюстрируют идею:
![](https://habrastorage.org/getpro/habr/post_images/92a/92d/014/92a92d014d9a985d78a8996a86a8569e.png)
![](https://habrastorage.org/getpro/habr/post_images/c48/83e/123/c4883e1232f31887e6ac13921ba683ee.png)
![](https://habrastorage.org/getpro/habr/post_images/91c/84a/ce3/91c84ace3265f908830fda7c68061b2d.png)
На элвисовском чипе еще есть ядро MIPS M5150 под кодовым названием «Virtuoso». Оно засинтезировано на частоту 600 MHz. Это простое компактное низкопотребляющее ядро с последовательным пятистадийным конвейером. MIPS M5150 в данном СнК используется как контроллер чего-то нетребовательного (housekeeping, «служанка» то бишь):
![](https://habrastorage.org/getpro/habr/post_images/e2c/ad8/b50/e2cad8b50c335f0c5ec14d5e10581ccd.png)
В ядре MIPS M5150 есть опция для DSP-расширения, правда я не знаю точно, воспользовались ли этой опцией элвисовцы. DSP расширение позволяет ограниченные векторные инструкции, целочисленные операции с фиксированной точкой с арифметикой насыщения итд. Это конечно не тяжелый DSP (который на элвисовском чипе и так есть), но для некоторых задач оказывается удобным:
![](https://habrastorage.org/getpro/habr/post_images/925/71c/b88/92571cb88d0ff8aec1073311a7d3ed6c.png)
«Заявка на славу» ядра MIPS M5150 — это единственное в мире малое ядро микроконтроллерного класса, которое реализует аппаратную поддержку виртуализации. Зачем? Как я уже писал, виртуализация на таких ядрах удобна для секьюрити. Даже на небольшом чипе для IoT могут одновременно работать скажем встроенный Линукс и скажем очень защищенный код для работы с финансовыми транзакциями. Теперь если пользователь установит взломанную операционную систему, она не сможет получить доступ к другой ОС, выполняющей критические операции, потому что между двумя ОС стоит гипервайзер. Это становится особенно важно в случае интернета вещей, когда подброшенный в домашнюю сеть утюг или тостер может теоретически обмениваться информацией с главным компьютером хозяина.
Подробнее про виртуализацию см. в посте Разработка → Придумываем название для нового гипервайзера для архитектуры MIPS с аппаратно-поддерживаемой виртуализацией">
![](https://habrastorage.org/getpro/habr/post_images/69b/a14/116/69ba141167c5cee4cacb6c625619e864.png)
Офис ЭЛВИСа находится в подмосковном Зеленограде, в здании в центре снимка ниже, через дорогу от института МИЭТ, из которого ЭЛВИС черпает кадры (а также из МИФИ, МФТИ и других мест). Вы можете запросить от элвисовцев информацию, когда-нибудь получить у них плату и что-нибудь на ней сделать (чтобы сфотографировать плату с девушкой, мне пришлось на время отобрать плату у другого коллеги, который сейчас портирует на плату Андроид. Вы тоже можете на эту плату что-нибудь спортировать или запрограммировать на ней что-нибудь встроенное, графическое и распознавательное, правда я не знаю, когда элвисовцы будут раздавать эти платы широко).
![](https://habrastorage.org/getpro/habr/post_images/94d/85a/8d3/94d85a8d3bb7bec913c4406e87aa0af0.jpg)