«Умная пыль»: как устроен самый маленький компьютер Michigan Micro Mote

В марте прошлого года программа AlphaGo, разработанная Google DeepMind, одержала победу над одним из лучших мастеров го в мире — Ли Седолем (Lee Sedol). Эта серия игр стала показателем того, на что способны нейронные сети. И они находят применение в других (менее глобальных) приложениях, например программах для обнаружения вредоносного ПО или перевода текста на изображениях.

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

Среди них выделяются Google, Nvidia, Qualcomm и др. Но сегодня мы бы хотели поговорить о разработке ученых Мичиганского университета — проекте Michigan Micro Mote — компьютере объемом в один кубический миллиметр.

62067eb5e2d94b57b1146858519cf659.jpg/ фото rawdonfox CC

Генеральный директор SoftBank Масаёси Сон (Masayoshi Son) предположил, что к 2035 году количество гаджетов Интернета вещей достигнет 1 триллиона. Однако у современных устройств, например камер, микрофонов, замков, термостатов, есть недостаток — они не способны анализировать информацию самостоятельно, потому постоянно передают её в облако, затрачивая энергию.

Исследователи из Мичиганского университета поставили перед собой задачу решить эту проблему и сделать умные и маленькие компьютеры с сенсорами для IoT.

«Сложно представить, сколько данных сгенерирует триллион устройств, — говорит профессор Мичиганского университета Дэвид Блааув (David Blaauw). — Создав маленькие энергоэффективные сенсоры, способные проводить анализ «на лету», мы сделаем наше окружение более безопасным и сэкономим электричество»

Именно проблему энергопотребления должен решить компьютер Michigan Micro Mote, который настолько маленький, что сопоставим размерами с рисовым зернышком.

Тем не менее он является полнофункциональной вычислительной системой, способной действовать как умный датчик. Например, его используют для мониторинга внутриглазного давления.


Удивительно маломощный


В основе решения лежит крошечный процессор Phoenix с очень низким энергопотреблением. Процессор Phoenix разделен на ядро и периферию. Ядро состоит из 8-битного CPU, 52-х 40-битных ЗУ с произвольным доступом для данных (DMEM), 64-х 10-битных ЗУ с произвольным доступом (IMEM) и 64-х 10-битных ПЗУ (IROM) для команд, а также блока управления электропитанием.

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

acb8661f1f4b4b9bb7e0d0da2b76b710.png
Схема процессора Phoenix (Источник)

Ядро и периферия взаимодействуют с помощью системной шины, использующей простой асинхронный протокол. Большую часть времени процессор Phoenix проводит в режиме готовности. Контрольный таймер, который является осциллятором с низким потреблением тока, «будит» процессор и запускает процесс обработки и сохранения показаний температурного датчика. После выполнения задачи, процессор возвращается в режим готовности и ожидает следующей команды — такой подход позволяет серьезно сократить энергопотребление.

CPU и другие логические модули могут быть отключены от источников питания, когда их услуги не требуются, а вот память (IMEM и DMEM) — нет, поскольку она должна хранить записанные в неё данные. Поэтому модули SRAM остаются главными потребителями энергии. По этой причине разработчики применяют методики, призванные снизить утечки тока, например высокий уровень напряжения на входах транзисторов. С той же целью была увеличена длительность стробирующего импульса.

a1d5b7bfd9194364ae4795b3053b189d.png
Архитектура памяти данных (DMEM) с ячейкой SRAM (Источник)

Чтобы еще сильнее снизить энергопотребление, DMEM работает с так называемым списком свободной памяти. Этот список, управляемый CPU, содержит информацию об используемых строках в памяти DMEM. DMEM имеет 26 переключателей (каждый подключен к 2 строкам), которые выборочно отключают подачу тока в режиме готовности, учитывая состояние списка свободной памяти.

Разработчики также оптимизировали работу CPU с IMEM и DMEM. Для работы с IMEM используется минимальный набор базовых команд. Длина команды ограничена 10 битами, при этом популярные операции используют гибкие способы адресации, а менее популярные — неявные операнды. Также в процессоре имеется аппаратная поддержка сжатия, чтобы максимизировать емкость памяти.

Отображение адресов виртуальной памяти в DMEM выполняется с использованием фиксированного алгоритма Хаффмана. Сама DMEM разделена на статические и динамически определяемые блоки. Каждые 16 байт виртуальной памяти получают одну строку статического раздела. Если запись в память вызывает переполнение, избыток переносится в динамический раздел по указателю.

a2bcacfacef647a9baef0295ffb5a774.png
Схема температурного датчика (Источник)

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

В своей работе ученые провели тестирование процессора Phoenix и установили, что он потребляет 297 нВт в активном режиме и всего 29,6 пВт в режиме готовности.

Из чего сделан «бутерброд»


Помимо процессора, Michigan Micro Mote имеет несколько других «слоев», выполняющих свои функции. Одним из них являются солнечные панели — солнечная батарея площадью 1 квадратный миллиметр способна производить 20 нВт мощности.
8bad0648b2c342168fa214c644da9a7b.jpg
Разрез Michigan Micro Mote (Источник)

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

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

Путь в микробудущее


«Сейчас мы работаем над улучшением технологии обмена сообщениями между компьютерами, — говорит Блааув. — Пока что нам удалось достигнуть расстояния в 20 метров. Это серьезное улучшение, поскольку первые версии устройства могли передавать информацию лишь на 50 сантиметров»

Возможности технологии ученые из Мичигана продемонстрировали на конференции ISSCC.

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

Исследователи предпринимают и другие шаги к улучшению микрокомпьютера. Например, они постоянно совершенствуют память устройства — предыдущие поколения Micro Mote использовали лишь 8 килобайт SRAM, что делало их непригодными для обработки звука и видео. Поэтому команда ученых снабдила новые компьютеры флеш-памятью в 1 мегабайт.

Более того, одно из устройств Micro Mote, представленных на ISSCC, имело на борту процессор для глубокого обучения. Микрогаджет оказался способен управлять нейронной сетью, потребляя при этом всего 288 мкВт. Обычно такие задачи требуют больших банков памяти и вычислительных мощностей, предоставляемых современными GPU.

Блааув говорит, что их стартап CubeWorks уже занимается прототипированием устройств и исследованием рынков. Ученые надеются, что через 2 года появятся камеры наблюдения, способные вычислить разыскиваемого правонарушителя прямо среди проходящих мимо людей, и другие умные устройства из мира IoT.

«Дополнительное чтение»: Какие новинки были представлены совсем недавно
  • HyperFlex — две новые all-flash-системы от Cisco
  • VMware представили новые NSX-инструменты для SDN
  • D-Wave Systems продали свой первый 2000-кубитный квантовый компьютер

«Первый блог о корпоративном IaaS»: Все о виртуальной инфраструктуре
  • Трансформация виртуальной инфраструктуры
  • SAP HANA и программно-определяемый ЦОД
  • Как мы проходили аудит Cisco Powered Cloud для IaaS-услуг
  • Высокие технологии в мире спорта: Почему облако станет стандартом будущего

Комментарии (7)

  • 20 февраля 2017 в 11:19

    +1

    способные вычислить разыскиваемого правонарушителя прямо среди проходящих мимо людей
    Такие затеи почти всегда = еще немного штрафов (как с авто).

    Но за пост спасибо, разработка просто шикарная!

    • 20 февраля 2017 в 11:48

      0

      Спасибо, что читаете!
  • 20 февраля 2017 в 11:51

    0

    Современные IoT не справляются с вычислениями, и всё шлют в облако!
    Мы придумали как решить эту проблему и создали миниатюрный сверхэкономичный компьютер… правда крайне маломощный… Но ведь это именно то, что нужно чтобы избавиться от облаков!

    Толи я не правильно статью понял… толи одно из двух.

    Ну, а вообще, облака — это не потому что устрйства «не могут». Это потому что трэнд и «надо зарабатывать». А зарабатывать на облаке можно куда стабильнее, чем на разовой продаже устройства.

    • 20 февраля 2017 в 11:56

      +1

      Вычисления на стороне устройств никто не отменял, для этого и нужны подобные находки. Ну и о том, где может пригодиться «облако» :)
      • 20 февраля 2017 в 12:13

        0

        Что-то по ссылке ничего про IoT нету. Или я пропустил?
        • 20 февраля 2017 в 12:20

          0

          Вы просто как-то странно оцениваете связь облака и IoT. Тут речь идет о том, что можно расширить спектр умных устройств в силу миниатюризации, а вы все про «потому что трэнд и «надо зарабатывать». Видимо к этому и приведена ссылка, чтобы почитать о том, где может быть полезно облако для других бизнесов помимо бесконечного «зарабатывания» самим облаком.
          • 20 февраля 2017 в 12:55 (комментарий был изменён)

            0

            Статья об IoT, я прокомментировал кусок относящийся к IoT. Я веду обсуждение осмысленности использования облака в контексте IoT, а не «другого бизнеса».
            В IoT тоже есть области, где облака хорошо подходят. Но пихают их в каждое IoT устройство не потому что они нужны, или потому что «устройство само не может». Пихают облака в IoT в 99% для доп контроля и зарабатывания денег.

            Объясните каким образом этот микро компьютер поможет уйти от облаков? Я вот вообще не вижу никакой связи. Опять же профессор брякнули про облака, потому что трэнд, а не потому что это устройство тут как-то релаьно может помочь.
            Минитиарюзация и энергоэффективность — это офигенно. Но речь же не о них.

© Habrahabr.ru