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

Сегодня MIPS стал Open Source, против RISC-V и ARM. Как Россия повлияла на стратегию американской процессорной компании

Время на прочтение 4 мин
Количество просмотров 34K
Всего голосов 73: ↑62 и ↓11 +51
Комментарии 88

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

Меня честно говоря интересует не только открытость процессора, но и формальная верифицированность — ведь полно ситуаций где важнее всего надёжность и видимо только формальная верификация даёт максимальные шансы на безбажность.
Хотя возможно это должен быть какой-то особенный класс процессоров — максимально просто устроенных и менее подходящих для обычных нужд.
Собственно если вы прочитаете официальные пресс-релизы, вы можете увидеть упор именно на верификацию как преимущество MIPS перед другими ядрами. Ведь MIPS использовали и используют и военные, и в космосе. Хотя речь идет не о format verification — model checking ( вы об этом)?

wavecomp.ai/mipsopen

Will you have a verification partners program when you make the MIPS ISA available?
Yes. Partners interested in joining the MIPS Open program and becoming a certified MIPS Open verification partner have an opportunity to market and sell their services to MIPS Open licensees. We will share more details on this in Q1 2019.
Я честно говоря далёк от железных тем, мне казалось, что и формальная верификация должна быть, возможно это хорошая тема для статьи на хабре — о том какие варианты верификации железа есть и чем они отличаются.
Формальная верификация использовалась в частности для верификации FPU (Floating Point Unit) в MIPS P5600 Apache и MIPS I6400/I6500 Samurai/Daimyo, но формально верифицировать целый сложный Out-of-Order superscalar процессор с когерентным кластером — это сейчас непрактично насколько я знаю.
Это понятно, возможно для полной верификации какие-то совсем простые процы должны быть.
Вот ещё интересный вариант подсказали, хотя конечно это давнее дело.
В космос летает в основном SPARC и POWER.
Где об этом можно почитатъ?
Из Power можно назвать серию RAD от BAE Systems. SPARC это Леон от ЕКА, у Атмела что-то точно было.
В космос летают и SPARC, и POWER, и MIPS, и ARM.
SPARC — это европейские (а ныне и американские, и российские тоже) LEON.
POWER — это американские RAD6000, RAD750 и RAD55xx
MIPS — это американские Mongoose-V и, например, процессоры «Элвиса» или MIPS-подобные КОМДИВы.
ARM — это контроллеры от Vorago, «Миландра» и находящийся сейчас на завершающей стадии европейский процессор DAHLIA.
а когда 1906ВМ016 уже полетал?
А с чего вы взяли, что я о нем говорил? )
… российские… LEON.

а какие другие российские сбис с леоном? у эмцэста же, вроде как, не было космических спарков.
Еще MCS-96 :)
Вопрос про formal — не в бровь, а в глаз.
Я тут недавно с удивлением обнаружил, что в RISC-V оно *уже* есть, причем, на открытых инструментах и с довольно общими проверками (ну, например, проверяется не порядок retirement/graduation, а ненарушение зависимостей через регистровый файл) Да, там много ограничений и да, это врядли прокатит для больших и страшных процессоров, но для любителей это огромный шаг вперед и манна небесная. Ну и вообще, будущее.

Вот тут презентация: http://riscv.org/wp-content/uploads/2018/12/13.30-Humbenberger-Wolf-Formal-Verification-of-RISC-V-processor-implementations.pdf

А вот тут — впечатления от использования: https://tomverbeure.github.io/risc-v/2018/11/19/A-Bug-Free-RISC-V-Core-without-Simulation.html
Z80 достаточно прост? Или можно взять brainfuck-cpu ;)
НЛО прилетело и опубликовало эту надпись здесь
Вот видео президента MIPS где он он говорит о России:

YuriPanchul, это у вас такой акцент?
Не согласным: вы уж извините, я без сарказма или издёвки, сам я не лучше задающего вопросы по английски говорю, но по специфике работы знаю, что специалисты всегда найдут общий язык. Если надо на жестах объяснятся или на листочке нарисуют и это здорово. Насколько я знаю, Юрий живёт за рубежом больше 20 лет, обычно за такое время люди начинают говорить на языке свободно. Юрий, если это вы на видео, то возникали ли у вас проблемы на уровне общения с коллегами из-за пресловутого русского акцента?
НЛО прилетело и опубликовало эту надпись здесь
Если человек спрашивает меня про акцент, то это однозначный индикатор, что он никогда не был в Калифорнии и не работал в Silicon Valley. Здесь у большинства населения акценты.

Вообще я часто привожу национальный расклад по Купертино — городу, в котором Apple разрабатывает iPhone и iPad: белых 31%, азиатов 63%:

en.wikipedia.org/wiki/Cupertino,_California#Demographics

The racial makeup of Cupertino was 18,270 (31.3%) White, 344 (0.6%) Black American, 117 (0.2%) American Indian, 36,895 (63.3%) Asian (28.1% Chinese, 22.6% Indian, 4.6% Korean, 3.3% Japanese, 1.3% Vietnamese, 0.9% Filipino, 0.4% Pakistani, 0.1% Thai, 0.1% Bangladeshi), 54 (0.1%) Pacific Islander, 670 (1.1%) from other races, and 1,952 (3.3%) from two or more races. Hispanic or Latino of any race were 2,113 persons (3.6%); 2.4% of Cupertino is Mexican.

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

В ответ на это русские, живущие в России часто говорят «Но наверное же менеджмент сплошь англо-саксы, а рядовые работники китайцы и индусы?» Нет, и это неверно — типичный состав executive team — смешанный — см. например ведущую компанию в области автоматизации электронного дизайна — www.synopsys.com/Company/AboutSynopsys/Pages/ExecutiveManagement.aspx

При этом есть куча людей и без акцентов, но это никак на местном рынке не ценится — однажды мне нужно было нанять native speaker-а для приятеля в Москве, и я за день получил 30 резюме учителей английского, готовых работать за малые деньги. Но вот когда нам нужно было нанять специалиста по моделированию процессора, мы его искали 9 месяцев, и в конечном итоге я притащил его из России, и у него был сильный акцент.
Спасибо за ответ, никого не хотел задеть, просто было любопытно.
Совсем недавно с реддита приползало (в вольном переводе):
— Я уже 3 года живу в США, но так и не овладел нормально английским.
— Не парься чувак. Американцы уже сколько лет живут в америке, но тоже так и не овладели.
Надеюсь ничьих религиозных чувств не оскорбил ;)
И что он там говорит? Как Россия повлияла на стратегию американской процессорной компании? Или он просто отвечает на вопрос, знает ли он кого-то из разработчиков в Росии?
Странный заголовок и статья.
Вот статья про образовательные программы MIPS с большой главой про Россию:

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вы, видимо, другой текст читали:
А вот представители российской компании ЭЛВИС-НеоТек вместе с русскими, украинскими и казахстанским разработчиком ядер MIPS и софтвера для него

Я вас хорошо понимаю, но вы точно ресурсом ошиблись. Хабр объединяет, он не для выяснения того, кто круче.
Всё это интересно лишь наполовину, причём вторую.
А первая — где же взять доступную, адекватную и функциональную плату на mips, ну чтобы и линукс поставить, и в баребане пиграть и светодиодами помигать и со спокойной душой отложить, ибо 3000 руб не так жалко, как 10000.
LinkIt Smart 7688 — немного меньше 2000. Есть линукс, baremetal тоже можно.
эта штука не слишком подходит для изучения/обучения, но да, годная штука, но не для всех.
Я бы согласился на платы уровня esp32, если бы там был распаян lcd. Пусть бы оно и стоило в итоге 2500 ). Или платы уровня raspberry pi 3, за 5000 руб.
Это адекватные цены, ибо в данном случае никаких преимуществ у мипса нет.
В случае с esp32 да, преимуществ много, но, в конкретно вышеприведенной плате нет ни пользовательских кнопок, ни светодиодов, ни лсд, и это отсекает огромное количество потенциальных пользователей. А без них, никакой критической массы не набрать. Сделать комьюнити из исчезающе малого количества юзеров просто невозможно.
Советую посмотреть на Omega2, построенную на том же MIPS, что и LinkIt Smart. Там же и экранчики навесить можно, и тд, и тп. Документация открыта (и весьма неплохая), бутлоадер тоже, бери и пиши что надо.
Плата годная, да. Но, опять же, есть много но…
playstation 2 (на правах хеха)
— функцианальная (dvd, cd, игоры)
— линукс как и официальный, так и не особо
— со светодиодами все плохо, но есть usb, ethernet (через ps2sdk)
— стоимость ~3000р с авито
— виртуальная машина для отладки (pcsx2)
— комьюнити
А где ссылка на git?
Open source это хорошо, но есть ли MIPS:
-500-1000 МГц пусть даже один CPU, с загрузкой из SPI Flash
— где контролер памяти нормальный DDR3 с физическим SO-DIMM c поддержкой до 8Gb (даже пусть старшие 6 Gb будут в оконном/страничном режиме доступны)
— где наличествуют 2-4 шт. UART/SPI/I2C
— есть 2-4 таймера с возможностью вывода на прерывания
— И обязательно 2-4 порта PCI-E, на них подключат все сами, что хоть SATA, хоть Ethernet, хоть Wi-fi или даже скоромное видео.

Сможете добавить в чип Eternet/USB/SATA/SD замечательно.
Но черт побери дайте процессор с которым можно работать который можно добвешивать чем надо!

Но ведь все, что вы сказали, не относится к архитектуре процессора, это вопросы к SoC-остроителям.


И я не очень улавливаю, как можно совместить 500МГц и 4 порта PCI-e. Полагаю матрица шин будет сложнее центрального процессора

А как это делали во времена 3х пней?
Делали довольно просто: CPU-Northbridge-Southbridge
Понятно что CPU-NB реализовывать в двухчиповом варианте совершенно не современно, но нельзя прыгнуть через поколения. Закрепите интерфейсы что что бы они не меняли лет 5 и за это время все обрастет само собой.
Может 4 PCI-e это и сложно но дайте нормальные 2хPCI-e которые можно агрегировать ни в случаи нужды подключить их к PCI-switch. Но ни чего это нет, нам все время подсовывают или какие то Титаники или космические корабли. А нужны просто рабочие лошаки к которым можно без напряги цеплять хоть карету, хоть плуг. Intel PC поэтому и задавил всех что он дает универсальность пользователям.

Будто сильно много желающих ради "поморгать лампочкой по SPI" (а это 90% задач бизнеса) тянуть несколько высокоскоростных линий PCI-e. Современные SoC этим и хороши, что для некоторых задач скоростных интерфейсов из корпуса не выходит в принципе (кроме Ethernet/USB).


Но если вам сильно хочется SoC с двумя PCI-e — то вот: TI AM6528. Для страждущих у камня сразу реализованы 6 гигабитных Ethernet, а для задач надежного реалтайма — отдельный Cortex R5F с собственным питанием и тактированием.


Или это уже стало космическим кораблем?

Да знаю я о TI Sitara, но там ARM, а тут речь идет про MIPS. Если в качестве аргумента привести что то типа Vortex86 или AMD Geoge так там есть Все эти скоростные интерфейсы типа SATA или PCI. Но там опять же это то самый x86, но на этих процах есть готовые модули и платы (дороговато для DIY) но бери и используй под свои нужды. Проблем с интерфейсами под ними вообще нет.
Речь о том что нет на MIPS универсального процессора. А нас вся грузят нейроускортеями и т.п.
Можете разобрать, в чем неуниверсальность Байкала-Т1? (В классе встроенных 32-битный процессоров на 1GHz)

В принципе то что надо и 50$ в кульке тоже нормально. Но как удивились импортные товарищи русскому процессору! У них аж руки зачесались.
Посмотрите, например, на процессоры XLP308/316 фирмы Broadcom.
хм… а разве комдив является mips-совместимым? тот же нииси продавал свой bcc за громадные, простите, даже так, ГРОМАДНЫЕ деньги, видимо, не просто так. и в своё время gcc точно требовал патчей для правильной компиляции и отдельного таджета. видимо, пример lexra был поучительным. про комдив64 — не в курсе.
ну и нииси, как производитель комдивов, вроде как, забыт практически всеми. их из космоса вытолкали одни, из оборонки — другие, из радхарда — третьи. и в основном arm-совместимые.
местные бывшие и нынешние ниисишники могут меня поправить.

элвису без разницы кто будет gp-ядром для «контроля» их dsp, что они прекрасно показали.
т-платформы/байкал — тоже отошли от mips.
НИИМА Прогресс — и снова отошли от mips.

кто там ещё есть в экс-ссср с mips? и кто на нём остался?
ну и нииси, как производитель комдивов, вроде как, забыт практически всеми. их из космоса вытолкали одни, из оборонки — другие, из радхарда — третьи. и в основном arm-совместимые.
местные бывшие и нынешние ниисишники могут меня поправить.
Как местный бывший ниисишник, поправляю: процитированный кусок полностью неверен.
Не говоря уже о том, что космос и радхард — это не разные стези, а части одной и той же.
космос и радхард — это не разные стези, а части одной и той же.

я просто поделил оборонку на две подветви: со стойкостью людей и радхард… как это соотносится с космическим радхардом — точно лучше меня знаете…

процитированный кусок полностью неверен

а так, что из этого имеет конкурентные преимущества перед другими участками описанной выше целевой аудитории нииси?
image
про космос — ещё можно порассуждать, с оборонкой же, пмсм — всё печально.
а так, что из этого имеет конкурентные преимущества перед другими участками описанной выше целевой аудитории нииси?
Преимущества можно долго описывать, но ваша фраза была не про микросхемы, а про то, что применяется, а что нет.
Ну и да, прок осмос там нечего рассуждать, на таком же уровне радхард никто не делает в России.
но ваша фраза БЫЛА НЕ ПРО МИКРОСХЕМЫ, а про то, что применяется, а что нет.

интересно, но:
нииси, КАК ПРОИЗВОДИТЕЛЬ КОМДИВОВ, вроде как, забыт практически всеми.

кроме того,
на таком же уровне радхард никто не делает в России

как там с модернизацией 1х1? до кни микроновского (или карлмарксовского) имеет доступ не только нииси. а переманить светлые головы дело денег и времени, чем и занимается один из конкурентов.

всё же моя сильно нерепрезентативная выборка по старым знакомым говорит, что люди, сидящие с середины двухтысячных начиная с, емнип, 1в572, массово ушли к конкурентам.
до кни микроновского (или карлмарксовского) имеет доступ не только нииси
Дело не в технологии же. НИИСИ делает радхард не только на КНИ, зато на КНИ я от других разработчиков видел такое, что не знал, плакать или смеяться.
Зарубежные разработчики радхарда, кстати, тоже регулярно дают жару.
всё же моя сильно нерепрезентативная выборка по старым знакомым говорит, что люди, сидящие с середины двухтысячных начиная с, емнип, 1в572, массово ушли к конкурентам.
Сильно нерепрезентативная выборка. Много кто не ушел. Кое-кто ищ ушедших уже вернулся.
Ну и я бы не стал полагаться на мнение людей, продолжающих сидеть на 1В572 при наличии 1907ВМ014 и 1907ВМ044.
Комдив32 точно совместим: была куплена в 1996 лицензия. Байкал тоже совместим: китайцы поставили лицензионное ядро.
Какие в Байкале китайцы, если лицензионное ядро было куплено напрямую у MIPS (тогда ещё часть Imagination)? Байкал не «MIPS-совместим», он и есть MIPS. Зачем вы пишете откровенную неправду про китайцев?
Официальный пресс-релиз MIPS говорит: «LONDON, UK – 27th May, 2015 – Imagination Technologies (IMG.L) reports that a new multi-core processor from its customer Baikal Electronics, a Russian fabless IC company, integrates Imagination’s latest MIPS Warrior P-class P5600 CPU. „
Какие ещё подробности вам нужны?

P.S. Про комдивы у вас в голове такая же каша, как про Байкал и китайцев, поставивших “правильное ядро» в обход лицензии? )
НИИМА Прогресс — и снова отошли от mips.

Не то чтоб совсем отошли. Что заказывают, к тому и подошли. Есть некоторые работы и с mipsfpga и с mips-подобным ядром.
Без подробностей.

Очередной Панчул-пиар. Хорошее начало, MIPS стает Open Source и далее ничего про Open Source. Только опять несвязанные факты чего-то около-мипсового.
Если вы хотите больше информации, вот статья в EE Times и официальные ссылки:

www.eetimes.com/document.asp?doc_id=1334087

www.theregister.co.uk/2018/12/18/open_source_mips

wavecomp.ai/wave-computing-launches-the-mips-open-initiative

wavecomp.ai/mipsopen
Лучше ссылку на гит.
Я бы и сейчас не отказался. Только вот недавно, с месяц назад, пытался выпросить MIPSfpga для изучения. Но видимо недостаточно старался, но доказать, что именно для обучения, а не для коммерции не получилось… Надеюсь, теперь то появится где-нибудь в открытом доступе :)
Российское MIPS-коммьюнити оказано непосредственное влияние на этот шаг


То ли мне нужны новые очки, то ли пора спать. В чём собственно состояло это самое непосредственное влияние на открытие MIPS?
Арт Свифт сказал мне про стратегию построения коммьюнити — на основе примеров с:

1) Переводом Harris & Harris — habr.com/post/336116

2) Семинаров по MIPSfpga — habr.com/post/311562 и habr.com/post/316248

3) Его взаимодействия с российскими компаниями по линии RISC-V коммьюнити (Syntacore и CloudBear)
Уже писали, но не могу не повторить )
Вы одинаковый на всех фотографиях )

Так теперь вы OS? Патенты тоже теперь тоже OS? Сомневаюсь.
Где ссылка на гитхаб? Какая лицензия?


Опять MIPS пытается рекламироваться. Не получается у вас ничего с комюнити пока у вас даже ABI стабильного нету.

Документация будет? Платы для разработчиков будут, только нормальные, а не с даташитом в 1.5 страницы вместо нормальной документации.

Юрий, значит ли это что после открытия появится полный открытый доступ к PowerVR/Mali и прочим технологиям (я имею в виду просто качаем набор инструкций, мануалов, API и пользуемся как хотим)?
PowerVR/Mali
а какое отношение эти продукты других компаний имеют к MIPS?
Где собственно open source-то? На тех гитхабах есть всё кроме собственно процессора.

Инструкции по регистрации на сайте imgtec от YuriPanchul похоже протухли — по ссылкам выкидывает на главную страницу. Из-за чего весь сыр-бор?
Так это Open Sourcing архитектуры, а не RTL кода high-end процессоров типа MIPS I6500 и MIPS P5600. Это означает, что компании могут создавать процессоры с архитектурой (системой команд) MIPS, но со своей собственной микроархитектурой (аппаратным устройством процессора) — без отчислений денег MIPS.

Исчерпывающую документацию на архитектуру вы можете найти на www.mips.com/products/architectures/mips64

RTL код ядер доступен только на базовую конфигурацию MIPS microAptiv UP в рамках программы MIPSfpga — ссылки на него обновят.
microAptiv — это же pic32 microchip.
Так процессор-то открыть и не обещали. Открыли архитектуру. То есть, теперь кто угодно сможет создавать свои процессоры с архитектурой MIPS, не покупая лицензию.
1-й MIPS32 (R3000) я держал в руках в 1992-м году. Тогда я читал перевод лицензии на MIPS32 для России: $ 2 млн. Ее купили НИИСИ РАН в 1996.
А можете рассказать детали? Я данный текст не видел, только слышал о нем от двух сторон.
Лежит где-то в папках пожелтевшая ксерокопия. При случае попробую найти.
Вроде у Таненбаума читал, что разработка процессора должна быть совместной с разработкой компилятора (как в RISC), чтобы получить одновременно относительно простой процессор и достаточно быстрые программы. Сейчас так по факту делают при разработке микроархитектуры?
Ровно так и делают. Наша архитектурная группа в MIPS работает как с группой проектирования процессора (RTL/Verification), так и с компиляторной группой.
Можете рассказать, как это выглядит, такую зарисовку из будней и менеджмента процесса? Всё-таки очень немного народу понимают разработку оптимизирующих компиляторов или проектирование процессоров, а чтоб оба сразу — совсем мало.
Совещания, емейлы, внутренние презентации, внутренние спецификации, слайды. Планы реализации инструкций в конкретных процессорах — трудно привести общую схему процесса, тем более что я участвую только в части его.
Я вот кстати нашёл время ознакомиться с теми 'open-source' спецификациями на mips. И почему-то мне показалось, что бардака в mips сильно больше, чем в arm. Чего стоит только пачка убранных команд в release 6. А это — слом бинарной совместимости, и в лучшем случае, старые софты на новом железе будут тормозить (в худшем — не работать). Заглянул мимоходом в mips ABI (по ссылкам из гугла) — и там тоже бардак (мне так показалось). В этом смысле показателен пример всеми нелюбимого x86, который до сих пор блюдёт бинарную совместимость покрмере для userland'а. И в этом сильная сторона risc-v, когда они предлагают, по сути, начать с чистого листа. Правда, у меня есть подозрение, что они сначала наклепают кучу несовместимых и закрытых расширений системы команд, а потом всё вернётся в обычный бардак :)
Между MIPS Rev5 и Rev6 действительно есть перелом совместимости, который понадобился для улучшения поддержки языков типа Java и избавления от branch slot, которые мешают эффективности Out-of-Order superscalar микроархитектур.

Но вот от MIPS Rev2 до MIPS Rev5 совместимость гораздо лучше, чем у линеек 32-битных ARM. Кроме этого, у MIPS есть совместимость в userland между MIPS32 и MIPS64 (для этого есть даже известный патент 1991-го года), чего ни у ARM, ни у RISC/V нет.

Интел сохраняет совместимость с 1978 годом с помощью выделения огромных инженерных ресурсов на верификацию итд.
Мне почему-то казалось, что в армах начиная с armv4 всё ок с бинарной совместимостью, если не брать во внимание fpu конечно же :)

Совместимость в userland между 32 и 64 битами — это как я понимаю заключается в том, что в одном и том же режиме процессора могут работать как 32битные exe, так и 64битные (если рассматривать ось с защитой памяти)? Всё равно же 2 комплекта либ надо иметь и 2 комплекта вызовов ядра?
Всё равно же 2 комплекта либ надо иметь и 2 комплекта вызовов ядра?

Ну да, но это уже уровень ОС. Если запустить просто 32 битную программу, будь то 32 битная ОС или просто программа, то она спокойно заработает на x86_64 и даже не заметит этого. В этом «киллер фича» x86, особенно полезная когда есть просто высокопроизводительный софт без ОС и его надо перенести на новое железо, а уже потом допиливать по мере возможности, у других архитектур так не получится.
Недавно зарегался на www.mips.com и запросил доступ к MIPSfpga Getting Started Guide v2.0. Недели две назад. Ни ответа ни привета. На почту ничего не пришло, а повторно отправить запрос нельзя ибо там пишут типа ждите в течении трех дней. А уже две недели прошли. В общем непонятно.
Но думаю не закрыли, ибо позволяют запросить доступ-то
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории