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

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

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

/ фото 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 сенсоров, в зависимости от требуемого функционала.

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

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

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

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

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

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

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

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

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

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


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

Разрез Michigan Micro Mote (Источник)

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

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

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


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

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

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

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

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

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


Поделиться с друзьями
-->

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


  1. andrewzhuk
    20.02.2017 11:19
    +1

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

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


    1. it_man
      20.02.2017 11:48

      Спасибо, что читаете!


  1. AllexIn
    20.02.2017 11:51
    +1

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

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

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


    1. it_man
      20.02.2017 11:56
      +1

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


      1. AllexIn
        20.02.2017 12:13

        Что-то по ссылке ничего про IoT нету. Или я пропустил?


        1. andrewzhuk
          20.02.2017 12:20

          Вы просто как-то странно оцениваете связь облака и IoT. Тут речь идет о том, что можно расширить спектр умных устройств в силу миниатюризации, а вы все про «потому что трэнд и «надо зарабатывать»». Видимо к этому и приведена ссылка, чтобы почитать о том, где может быть полезно облако для других бизнесов помимо бесконечного «зарабатывания» самим облаком.


          1. AllexIn
            20.02.2017 12:55

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

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


            1. andrewzhuk
              20.02.2017 13:08

              пихают их в каждое IoT устройство
              Как бы в этом и есть суть IoT.

              каким образом этот микро компьютер поможет уйти от облаков
              А смысл уходить?

              профессор брякнули про облака, потому что трэнд
              За профессора сказать не могу, что он там подумал, но без облака не будет IoT.


              1. AllexIn
                20.02.2017 13:21

                Как бы в этом и есть суть IoT.

                Смысл интернета вещей — в взаимодействии их между собой и возможностью управления ими централизованно. В том числе и удаленно.
                Облака тут вообще не причем.

                А смысл уходить?

                Например, чтобы ваш умный дом не превращался в идиота при отключении интернета или банкротстве производителя.

                без облака не будет IoT.

                The Internet of Things (IoT) has been defined in Recommendation ITU-T Y.2060 (06/2012) as a global infrastructure for the information society, enabling advanced services by interconnecting (physical and virtual) things based on existing and evolving interoperable information and communication technologies.

                Найдите мне, где тут про облака.
                IoT — это об управлении и взаимодействии. А не об облаках.
                Доступ «снаружи» делается примитивно на уровне контроллера умного дома. Как и обработка всего массива данных поступающих от датчиков и остальных устройств.
                Не говоря уж о том, что IoT — вообще чисто маркетинговое название. В связи с чем и существуют альтернативные расшифровки вида Intranet of Things и Input output Things.


                1. andrewzhuk
                  20.02.2017 13:34

                  Ну это отлично, только вот я слабо представляю, что каждый у себя дома самостоятельно поднимет сеть подключенных устройств. Для любой компании-поставщика IoT-решений нужно хостить на чем-то все это великолепие:

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


                  Ну и как бы AWS не дураки наверное с их IoT платформой, ага?


                  1. AllexIn
                    20.02.2017 13:41

                    Ну это отлично, только вот я слабо представляю, что каждый у себя дома самостоятельно поднимет сеть подключенных устройств.

                    А какая разница с точки хрения пользователя обработка идет на главном контроллере или в облаке? В чем отличие?

                    Ну и как бы AWS не дураки наверное с их IoT платформой, ага?

                    Конечно не дураки. Они деньги зарабатывают и знают как это делать.
                    Я хоть где-то говорил, что компании делающие IoT в облаке — дураки?
                    НИ в коем случае. Я лишь говорил, что делают они это не от необходимости технической, а от необходимости/желания бабла срубить.


                    1. andrewzhuk
                      20.02.2017 14:02

                      Пришли к тому, с чего начали: «бабла срубить». Разговор про то, как это устроено или про то, как это выглядит с точки зрения пользователя? Еще раз о том, как это устроено: для любой компании-поставщика IoT-решений нужно хостить все в облаке, либо строить свой ЦОД, что требует многомиллионных инвестиций.


  1. MaxxxZ
    22.02.2017 06:38

    А где эта микрокамера будет хранить обучающую базу образоа и набор фоток злоумышленников?