Как стать автором
Обновить

Украинец подсказал британцу сделать вебинар для разработчиков IoT для сельского хозяйства. А мы поговорим о CPU внутри

Высокая производительность *Анализ и проектирование систем *Параллельное программирование *Программирование микроконтроллеров *Разработка для интернета вещей *
Всего голосов 31: ↑25 и ↓6 +19
Просмотры 6.8K
Комментарии 28

Комментарии 28

Ну точно, в сельском хозяйстве Украины очень не хватает многоядерных гигагерцовых систем, других проблем у них нет. Ардуино освойте в полной мере для начала в с/х, вместо того, чтобы забивать MIPSами гвозди в штакетнике.
Ардуино в качестве хаба или контролирующего компьютера для большой сети сенсоров не потянет. А уровень украинских программистов достаточно хороший для приложений этого типа. У них не хватает специалистов по микроэлектронике, но я надеюсь на их сотрудничество с росиянами,
зато потянет любой х86 с виндовсом и скадой
но если бабло распилить надо, то конечно высокие нанотехнологии и 6lowpan — тут без этого никак
Всегда хихикаю когда читаю людей, которые (видимо) думают что мир современной электроники состоит из ардуины и ПК, между которыми зияет чёрная пустота.

Ну правда, мир вокруг каждого из нас напичкан девайсами самой разной природы — от счетчика воды на кухне до системы распознавания лиц в метро. Вы правда думаете что для миллионов непохожих друг на друга задач оптимальной является одна и та же аппаратная платформа? Надеюсь, что нет.
я думаю, что управление подобными штуками давно уже реализовано на специальных контроллерах ввода-вывода с протоколом modbus, который работает поверх tcp/ip или rs485, или радио в любом виде

для управления и визуального контроля есть специальный класс софта scada, где задается алгоритм и выведена схема установки
если ты хочеш автоматизировать что-то, то все уже готово и выпускается кучей контор, 95% стоимости установки будет состоять из приводов, датчиков, насосов и всяких труб

так что автоматизация полива или кормления скота похожа
куда можно засунуть этот процессор еще?
Такие статьи всегда стараюсь внимательно читать, так как сам постоянно думаю о «своем процессоре», но, к сожалению, в таких статьях очень мало действительно технических деталей. Например, говорится, что если один тред остановился из-за промаха кеша, то второй может исполнять свои команды на общем конвейере. Но как? Ведь содержимое регистров одного потока нужно сохранить и восстановить регистры другого потока прежде чем, что-то делать дальше? Неужели это так быстро можно сделать?
Можно, в основе аппаратного multithreading-а как раз лежит способность ядра быстро менять контекст (регистровый файл). Ядро CUDA к примеру, может оперировать 64-мя такими контекстами.
Так-то да… но это же какой мультиплексор нужно сделать чтобы сделать своп нескольких регистровых файлов…
Всё равно выйдет ~1 mux на порт на хранимый бит, полагаю.
Ну как же? Если скажем у них 9 потоков, как на слайде, то нужно 9 регистровых файлов.
Если нужно мгновенно (за такт) переключиться на контекст нового треда, то каждый регистр общего назначения может принять одно из 9-ти возможных значений из регистрового файла. Каждый бит регистра получает мультиплексор девять в одному только для переключения контекста. Для 32-х битного регистра таких мультиплексоров 32. Это только регистры общего назначения, а есть еще регистры в конвейере, которые программисту не доступны. Их контекст так же нужно переключать.
Или я чего-то не понимаю?
Ну да, хранилище будет большое. Я к тому, что коммутатор (мультиплексор) с ростом числа потоков растёт линейно:
                  mux7
        mux5                mux6 
   mux1      mux2      mux3     mux4
bit1 bit2 bit3 bit4 bit5 bit6 bit7 bit8   

и не увеличивает свою долю в хранилище.
Да, в MIPS interAptiv несколько наборов видимых программисту регистров, которые переключаются для каждого thread-а. Это вызывает рост размера процессора примерно на 20%. Но регистры для хвоста конвейера переключать не надо, так как к этому моменту значения операндов уже прочитаны.

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

Вот документ в котором описывается все что происходит в каждой части конвейера MIPS 34K (в MIPS interAptiv оно очень похоже):

https://imagination-technologies-cloudfront-assets.s3.amazonaws.com/documentation/MD00534-2B-34K-SUM-01.13.pdf

Еще документы оттуда:

https://imgtec.com/mips/classic/
Хм, а зачем своп делать? Аппаратных регистров больше чем программных — каждому потоку своё подмножество.
А что, ПЛК (PLC) уже канули в прошлое? Или это модно теперь ИоТ везде применять? Шашечки или ехать-то?
PLC все еще используются, особенно в производстве, но для таких задач системы на встроенных процессорах наверняка дешевле.
Ну т.е. сделать свой заказной ПЛК по-сути.
Все круто, но зачем приплетать сюда Порошенка? Или на Украине сейчас казнят, если не вспомнить его в контексте любой статьи?
Из песни слов не выкинешь. Обсуждался интерес украинского правительства к IoT в сельском хозяйстве — значит надо упомянуть.
Так ваше правительство Гройсман возглавляет, если я ничего не путаю. Поэтому вопрос про упоминание Порошенко актуален. Казнят или в тюрьму садят? :)
Кроме того, нужно обязательно упомянуть Путина. Ну что мол, этот отсталый IoT совсем не интересуется, а вот Порошенко тот завсегда за прогресс и европейские ценности :)))
Откуда мы знаем? А вдруг Путин IoT интересуется?
Минусаторы, вот лучше бы написали, для чего именно собираются использовать MIPS и IoT в сельском хозяйстве. Что означает «home IoT irrigation system»? Домашняя система полива растений с IoT? Это что ли Ваше «сельское хозяйство»? Из пушки, значит — да по воробьям? Не вижу смысла использовать для этого гигагерцовую технику вкупе с беспроводными технологиями, вполне можно обойтись «малой кровью». А адептам-максималистам хоть самый современный суперкомпьютер дай — они будут на нем пасьянс раскладывать да менюшки и графики в UI рисовать вместо действительно чего то стоящего. И вот особенно нужные интерфейсы для использования в с/х — это JTAG, встроенный звук, видеоускоритель и поддержка HDMI? Про то, что украинские программисты талантливы — не спорю, только применяйте свои таланты во благо, а не ради «делаю, потому что могу»
Ну например есть такая хрень под названием precision agriculture. Едет роботический трактор по полю с GPS, втыкает в почву щуп, меряет химический состав почвы. После этого вносит удобрения только там и в таком составе, чтобы возместить локальный дисбаланс. Например в одном месте нужно внести суперфосфат, а в другом мочевину.

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

Для управления трактором, gps и анализом на ходу компьютер на данной плате юудет OK, а какой-нибудь КР580ИК80 не потянет.

Гм, а где гарантия, что в 10см от щупа химический состав не будет радикально отличаться от взятой пробы? Чем хуже вариант удаленного централизованного контроля — когда, скажем, результаты заборов проб пересылаются в ЦОД для последующего анализа «на лету» и из него же производится управление «роботическим трактором»?
Мне кажется, что описанная Вами функциональность может быть реализована на STM32+GPS врукопашную. Можно взять доску с STM32, какую-нибудь Discovery. Там и GPS найдется. Если не хочется писать на низком уровне, то можно на FreeRTOS, она вмещается на STM32. Вообщем, зачем брать какой-то не очень распространенный Creator ci40, если существуют апробированные платформы?
В каждый такой пост обязательно приходит поклонник STM32 который удивляются как другие платформы вообще смеют существовать.

Так же как например STM32 F7 является продолжением STM32 F4, F3 итд — так и чип на основе MIPS interAptiv внутри Creator ci40 является продолжением чипов на основе этого же ядра от PMC Sierra, MobilEye (№1 производителя чипов для driver's assistance, используется BMW, Volvo итд), продолжением чипов от Qualcomm/Atheros и MediaTek на основе ядер MIPS 1004K/34K/24K итд.

Короче и в том, и в другом случае речь идет о сотнях миллионов или миллиардов чипов. Так что вопрос апробированности тут не так актуален.
Нашел пару ваших постов, где Вы признаетесь, что работаете в группе, которая проектирует ядра MIPS. Посему прошу прощение, так как сразу не понял, что это маркетинговый текст. Не буду Вам мешать продвигать платформу.
Не, вы можете и мешать, если хотите. Я же разработчик, а не маркетер. Для споров такого рода у меня есть таблички сравнений тех или иных ядер ARM и MIPS, отрывки из The Microprocessor Report и т.д.
а разве есть такие шупы? и анализ там делается за полсекунды?
я видел только шупы для измерения ph воды
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.