Yuri Panchul (panchul) wrote,
Yuri Panchul
panchul

Categories:

Сделано в России: MIPS для Internet of Things

Сегодня утром я прочел две новости:

1) финансируемая Госдепом США Сара Мендельсон сокрушается, что российская молодежь не желает протестовать с коктейлями Молотова и делать первомансы в церквях, а вместо этого коварно хочет получать образование и работать на хорошей работе;

2) группа российской молодежи из города Дубна спроектировала встроенный компьютер под названием Black Swift, на базе чипа с микропроцессорным ядром MIPS 24K, который в свою очередь был спроектирован в нашем офисе в Саннивейл, Калифорния. Я лично знаю Райана, Ларри и других проектировщиков этого ядра, а также работаю в группе, которая проектирует следущее поколение ядер этой же линейки - MIPS I6400. Поэтому я могу оценить, насколько полезна эта платформа - для целей "интернета вещей", продвинутых роботов, образования и многих других приложений. Это не простые микроконтроллеры, это следущий уровень.

Но сначала про Сару. Честно говоря, когда я прочел перевод текста Сары в ЖЖ, я сначала подумал, что это не реальный текст, а пародия на речи крайних представителей российской рукопожатой интеллигенции типа lev_sharansky2. Но нет, ни фига не пародия, а реальный американский журнал Foreign Affairs:



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

http://www.foreignaffairs.com/articles/142488/sarah-e-mendelson/generation-putin

Quote: "... Their [young Russians'] interests mainly center on completing their studies and landing good jobs in government agencies and leading private firms. They remain unmoved by the demands for greater freedom and dignity that brought young people to the streets in countries as diverse as Tunisia and Ukraine.

... Tolokonnikova is hardly representative of her generation, but her story hints at the possibility of another future for Russia, one in which nonconformism, tolerance, and individualism become virtues rather than crimes.


... It will take a major systemic shock to break this deadlock—a shock more powerful than either Russia’s current opposition or its aspiring leaders might be able to generate."



короче в последнем предложении эта Сара хочет устроить России какой-нибудь конкретный systemic shock (который эти слабаки из современной российской оппозиции сами устроить не могут), чтобы российская молодежь бросила учиться и работать и пошла все рушить за морковкой от NDI которую эта Сара показывает.


SAM_1127smНу а теперь, когда мы покончили с политинформацией, вернемся к Black Swift. Ссылку на его существование мне кинул в комментариях профессиональный ботаник latexzapal.

Прежде всего, эта плата не с микроконтроллером, а с тем, что маркетеры называют "встроенным процессором". В чем между этими разница?

Микроконтроллеры строятся на ядрах низкой производительности, оптимизированных на самую низкую цену и энергопотребление. Микроконтроллеры как правило несут мало памяти, до этого года не имели больших кэшей и гибкой системы трансляции адресов (TLB MMU), и работают на низкой частоте. В результате на них как правило нельзя запускать особо умные алгоритмы (не хватает памяти и производительности) или использовать сложную операционную систему (Linux требует TLB MMU).

А вот встроенный процессор может работать на более высокой тактовой частоте, у него как правило большие кэши, может бы TLB MMU. Короче, он более "умный" - до уровня "настоящего компьютера", а не микроконтроллера.

При этом встроенный процессор не является "самым высокопроизводительным процессором". Он оптимизирован не на самую высокую производительность, а на низкое энергопотребление при "достаточно высокой" производительности. "Самые высокопроизводительные процессоры" с out-of-order микроархитектурой и потребляют вдвое больше.

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

Хотя микросхема Atheros AR9331 ("Hornet" - "Оса"), которая стоит на Black Swift, вышла в 2012 или 2013 году, но микропроцессорное ядро MIPS 24K внутри нее было спроектировано довольно давно - в 2004 году. Но это не значит, что оно старое. Микропроцессорное ядро внутри Raspberry Pi (ARM1176JZF-S) еще старше, оно появилось в 2002. Такие ядра служат долго, и MIPS 24K является одним из самых успешных микропроцессорных ядер последних десятилетий - его лицензировали для своих микросхем более 50 компаний, включая Atheros / Qualcomm, Cisco, Toshiba, и многие другие.

Хотя для экономии энергии ядро работает внутри Atheros AR9331 всего на 400 MHz, но в принципе на техпроцессе 40 нанометров его можно разгонять почти на полтора гигагерца - 1.47 GHz на процессе 40 nm G TSMC.

Чтобы достичь такой относительно относительно высокой частоты для процессора данного класса, его разработчики увеличили количество стадий процессорного конвейера по сравнению с простыми процессорами микроконтроллерного класса - с 5 до 8. Это в свою очередь потребовало введения предсказателя переходов. Потом к нему добавили кэши и TLB MMU - и получился простейший "взрослый" компьютер.

Из вышесказанного следует, что это еще и хорошая платформа для образования - все простое, но помимо ассемблера можно изучать работу кэшей, Линукс (OpenWRT). Ну и понятно использовать его для всякого рода хакатонов, создания авиамоделей, непростых роботов и т.д. Также классно, что опыт полученный с ней, в будущем будет применим с чипами на основе 64-битного MIPS I6400, над которым сейчас трудится наша группа в Imagination Technologies.



Пару слайдов из моих презентаций пару лет назал в России:

Screenshot 2014-12-25 22.25.42

Screenshot 2014-12-25 22.26.06

Для сравнения - как выглядят ядра более простого, микроконтроллерного класса:

Screenshot 2014-12-25 22.43.30




А вот тут можно скачать (с регистрацией) всю внешнюю документацию по процессорному ядру MIPS 24K:

MIPS32 24K

The MIPS32 24K is a 8-stage pipeline processor core that implements the MIPS32 Release 2 Architecture, including support for dynamic branch prediction, optional MIPS DSP module, MIPS16e Instruction Set Architecture and programmable L1 cache controller.

The 24K includes an OCP Bus Interface Unit, EJTAG debug and MIPS Trace support is provided. The processor core delivers a performance of 1.6 DMIPS/MHz and 3.1 Coremarks/MHz. The 24Kf version includes an IEEE754 compliant Floating Point Unit, supporting both single and double precision datatypes.

Documentation

MIPS32® 24K® Processor Core Family Software User's Manual v3.11
MIPS32® 24Kc™ Processor Core Datasheet v4.00
MIPS32® 24Kf™ Processor Core Datasheet v4.00
Programming the MIPS32® 24K® Core Family v4.63
The MIPS32® 24KE™ Core Family: High-Performance RISC Cores with DSP Enhancements (PDF)
Working with ScratchPad RAMs for MIPS32® 24K® and 34K® Cores





И наконец пост, на который меня навел latexzapal. Там много чего поучительного, в том числе структура процессорного конвейера для ядра такого "промежуточного" класса (mid-range):


Originally posted by olegart at Встраиваемый компьютер Black Swift

blackswift-olegart


Это — компьютер. У него процессор на 400 МГц, 64 МБ оперативки DDR2 и 16 МБ флэша — более чем достаточно, чтобы комфортно встала OpenWRT и ещё осталась куча места. Кроме того, у него встроенный и работающий из коробки Wi-Fi, два интерфейса Ethernet, 26 логических входов-выходов, поддержка таких протоколов, как SPI, UART и I²C, и два встроенных на плату мощных стабилизатора питания. Ещё он размером 35×25×4 мм, то есть примерно с SD-карточку.


blackswift-sd-olegart


Помимо того, что это отличный встраиваемый компьютер, подходящий для уймы разных применений, с ним можно начинать работать, даже ничего вообще не понимая в разработке электроники. В простейшем варианте у него есть один microUSB для питания (подойдёт любая зарядка от смартфона) и второй microUSB для периферии — через переходник USB-OTG от того же смартфона. Когда наиграетесь с вещами типа трансляции с веб-камеры или сетевого mp3-плеера с управлением со смартфона, можно подключить какие-нибудь кнопки или исполнительные устройства — да хотя бы реле, запаяв провода к нему прямо в отверстия платы или подключив через адаптер на привычные игольчатые разъёмы с шагом 2,54 мм. Ещё через месяц можно нарисовать первую собственную плату и сделать её с помощью лазерника и утюга — так как BSB имеет два ряда контактов под обычный игольчатый разъём с шагом 1,27 мм, то монтируется он без проблем на что угодно (в отличие, например, от Intel Edison с его специфическим разъёмом или Carambola 2 с полуотверстиями для поверхностного монтажа). При желании BSB можно поставить вертикально в угловой разъём, можно вообще сделать съёмным модулем.


blackswift-olegart


Программирование — всё, что есть под OpenWRT, то есть от C/C++ до PHP, Perl, Python и bash-скриптов. Даже порт Node.js есть, хотя я сам этому удивился. Средства разработки — любые, отладку можно делать прямо по Wi-Fi, запустив на плате gdb и подключившись к нему с большого ПК. У нас даже есть образ виртуальной машины с уже настроенным Eclipse — садись и пиши. Будут свои собственные утилиты и примеры по работе с GPIO (через sysfs можно, но медленно) и различными датчиками.


Придумано и разработано в России — и русскоговорящих людей у нас в команде даже больше, чем у Yota Devices: все. Все исходники будут в открытом виде. Производство в Китае. В России можно будет купить доставленный, растаможенный и со счётом-фактурой. Для планирующих массовое применение в своих разработках — поддержка в диапазоне от консультаций до интеграции в разработку, выпуска специальных версий модуля и помощи в запуске производства конечного продукта.



  • Подробнее на Хабре: Black Swift: зачем мы его сделали

  • Официальный русскоязычный сайт проекта: Black Swift

  • Выход на Kickstarter: 20 января

  • Стоимость: $25, для первой сотни Кикстартера — $20, для России тоже рассматриваем стоимость $20

  • Доступность: сэмплы финальной версии в начале января

  • Предзаказ: http://www.smartlx.ru/shop (вскоре переедет на официальный сайт, тогда цены будут приведены в соответствие с текущим курсом доллара)


Автоматической кросс-пост из уютного бложика olegart.ru



Что бы вы хотели для своего сына или дочери - как хочет Сара из Госдепа, или делать умные устройства ?

Я хочу, чтобы мои дети хорошо учились и нашли интересную высокооплачиваемую работу, в том числе создавая умные устройства
74(83.1%)
Я хочу, чтобы мои дети прыгали на Майдане или вели себя как Толоконникова, чтобы Заслужить одобрение Сара из Госдепа
9(10.1%)
Из-за бугра плюете?
6(6.7%)
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 205 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →