Когда Apple в 2020 году отказалась от архитектуры Intel x86 и перешла на процессоры архитектуры ARM – это стало революцией. В одно мгновение ноутбуки, которые едва «вытаскивали» пять часов батарейки, начали обеспечивать вдвое больше времени на одном заряде. Что особенно важно, процессоры ARM не будут снижать производительность, в отличие от x86, для увеличения автономности. Разработчики процессора Electron E1 говорят, что он может быть даже более энергоэффективным, чем ARM. Архитектура Electron E1 делает его в 100 раз более энергоэффективным.
Именно такое громкое заявление сделала компания Efficient Computer, недавно вышедшая на рынок встроенных систем со своим чипом Electron E1. По их словам, мы слишком долго оставались в парадигме управляемого потока команд (control flow), заставляя процессоры постоянно гонять данные между кешами, памятью и вычислительными блоками — и на каждом этапе этой цепочки тратится энергия. Efficient предлагает альтернативу: статическое планирование и контроль потока данных. Без Кешей. Без out-of-order. И при этом-это не специализированный чип, а универсальный процессор.
Скажем, смартфон все еще держит заряд день с постоянно включенным экраном. Да, можно было бы сказать: просто перейти на новый техпроцесс и оптимизировать прошивку. Но Efficient идет глубже — они считают, что сам подход к архитектуре процессоров устарел.
Electron E1 — это «чистый процессор» со специально разработанной архитектурой и собственным “умным” компилятором. Обычно заявления о «умном компиляторе» вызывают недоверие, поскольку автопараллелизация или автовекторизация неоднократно оказывались неэффективными. Но Efficient Computer настаивает: их архитектура-это пространственный поток данных, не еще один AI-акселертор, а настоящий универсальный процессор, рассчитанный на энергоограниченные системы.
Компания заявляет, что энергоэффективность в 100 раз выше, чем у лучших встроенных процессоров ARM. Больше всего заинтриговало то, что у них уже есть рабочий кремний, и вскоре он станет доступен разработчикам. Несмотря на то, что это еще только первый раунд стартапа с финансированием от Eclipse Ventures, проект выглядит как серьезная попытка выйти за рамки академических экспериментов.
Классические ЦП тратят значительно больше энергии на перемещение данных, чем на их обработку. Встроенные процессоры обычно реализуют конвейерную инструкционную модель с кэшами, что вызывает массу накладных расходов. Electron E1 использует другую модель-поток данных, где команды не идут в потоке через Единый процессорный конвейер, а фиксируются заранее на узлах вычислительной сетки, так называемых tiles.
Узел запускает вычисления тогда, когда все его операнды уже в наличии. Результат передается дальше, к следующему узлу. Нет программного счетчика. Нет глобального диспетчера. И как утверждает Efficient, именно это позволяет радикально снизить потребление энергии.
В сердце E1-решетка вычислительных узлов (tiles), каждый из которых может выполнять базовые действия: арифметика, логика, доступ к памяти. Компилятор разлагает код C++ или Rust в граф потока данных, фиксирует, что должен выполнить каждый узел, и маршрутизирует передачу данных. Именно поддержка обычных языков программирования позволяет компании позиционировать E1 как универсальный процессор.
Коммуникация между tiles-буферная, но статическая, без повторных запросов. То есть все конфликты маршрутизации должны разрешаться на этапе компиляции, что экономит энергию, но серьезно затрудняет разработку компилятора.
Electron E1 поддерживает 32-битные действительные числа (FP32), что необычно для энергоэффективных архитектур, которые обычно работают с целыми или фиксированными числами. По словам генерального директора профессора Брэндона Люсии, это необходимо для масштабируемости. И это аппаратная реализация, а не софтовая эмуляция.
Но вопрос в том, что происходит, когда компилятор не справляется? Получит ли разработчик понятное сообщение об ошибке или просто зависнет? Для успеха нового парадигмального процессора важно, чтобы инструменты были надежны, а разработчик не должен был изучать новую модель мышления.
Efficient обещает в 10-100 раз более высокую энергоэффективность, чем Cortex-M33, M85 и A5. Их главный показатель-операций на джоуль, что имеет смысл для устройств на батарее.
Пока что Efficient демонстрирует чипы на выставках, показывает бенчмарки партнерам и готовится к отправке наборов для разработчиков. Но без независимых тестов на реальных задачах оценить потенциал сложно.
Electron E1 — только первый шаг. В планах Efficient-серия чипов, включая E2 и высокопроизводительный Photon P1. Фокус-системы с критическим энергопотреблением: космос, дроны, оборонная промышленность, носимые устройства, сенсоры с длительным ресурсом автономной работы.
Если Efficient действительно сможет масштабировать этот подход,мы станем свидетелями редкого прорыва-создания универсального процессора, который не является эволюцией предыдущего. А это уже совсем другой уровень игры.