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

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке

Время на прочтение 15 мин
Количество просмотров 11K
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 25

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

НЛО прилетело и опубликовало эту надпись здесь
Не понял чем хуже и почему китайцев. От того что vid не зарегестрирован, еще не значит что не работает. А VID потом можно зарегитрировать, когда на массмаркет будут выходить!
То есть драйвер разрабатывается под чужой идентификатор?
Нет почему, сочетание vid pid же уникально
А как же тогда?
01: 2.2 (PCI dev 8086:8000) [7 128]
Simple comm. controller: Intel Corporation Elbrus PCI bridge (rev 00)
На самом деле является последовательным портом от МЦСТ похожим на am85c30, по крайней мере через это устройство мы и общаемся через minicom.
Я скорее имел в виду сетевуху. Но беглый поиск по этим VID:PID тоже не дал результатов. В lspci отображается не очень хорошо, но когда идет регистрация в pci драйвере, там полное сочетание.
Конкретно для приведенного Вами случая мы не использовали pci устройство (идентификацию), а взяли конкретный базовый адрес. Это устройство у нас используется на очень ранней стадии (вывод информации), когда еще не о каком pci речи не идет. Наверное не понятно выразился.

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


В свое время игрался с хакинтошем, так вот что бы дрова на сеть и звук цеплялись приходилось патчить драйвер тупой заменой чужого айди на айди своих сетевух/звуковух. Естественно там это все через загрузчик на лету делается, но факт в том что даже если у тебя сетевушка и звук под стандарты High Definition Audio и гигабит эзернет сделаны, то стандартные драва все равно могут не работать если в них проверка vendor_id и даже device_id как в макоси стоит. И нигде никак программно левые айди не подсунуть, поэтому хакинтошники как уж только эту ос через загрузчик не научились налюбливать, а кексты патчат до сих пор.

спасибо.
Теперь остается понять, почему они в Compliance Program не участвуют :)
НЛО прилетело и опубликовало эту надпись здесь
Не совсем так. Архитектура ядра не стандартное, а ввод/вывод покупной, например, PCIe.
НЛО прилетело и опубликовало эту надпись здесь
И, кстати, Compliance Program тоже никто не отменял.
Судя по перечню участников консорциума туда даже входит несколько российских компаний.
Ежегодная плата составляет $4000.
Наверное соглашусь!
но скорее всего изначально процессор был закрытый, и вопросы конечно возникнут только когда планируется на массмаркет выйти. Вполне возможно сейчас уже все цивилизованно.
Во всяком случае пока MCST в списке memberов нет.
Я тоже считаю что это странно, поэтому и отметил в статье. Но вопросы скорее к МЦСТ. Мы исследовали только техническую часть :)
НЛО прилетело и опубликовало эту надпись здесь
Так вот, до конца понять что же такое каналы в терминологии Эльбруса, не удалось. Рискну предположить, что это связано уже с принципом vliw, когда можно указать, какое именно alu используется, ведь в этом типе архитектуры одной из особенностей является наличие нескольких независимых вычислительных устройств.

Жаль, я думал вы расскажете какие у них там секреты есть и что они от нас скрывают
image


В центральной части видно ALC c номерами это такие конвейеры параллельные и у каждого подписаны какие типы типы операций могут быть. В ассемблере это выглядит примерно так (тут две широкие команды типа):


{
   ldw,0   %g0, 0x0, %r0
   ldw,1   %g1, 0x0, %r1
   adds,2  %g2, 0x1, %r2
   ldw,3   %g3, 0x0, %r3
   ldw,4   %g4, 0x0, %r4
   adds,5  %g5, 0x6, %r5
}
{
   adds,0   %r0, %g0, %r0
   adds,1   %r1, %g1, %r1
   adds,2   %r2, %g2, %r2
   adds,3   %r3, %g3, %r3
   adds,4   %r4, %g4, %r4
   adds,5   %r5, %g5, %r5
}

Но это естественно не так все просто, там очень много нюансов которые надо изучить — четыре загрузки можно только короткие слова, ldd тобишь двойные только два вроде. Деление только в 5 канале, но это на диаграме выше видно. Сравнение в 0 и вот этого на диаграме нет как и много чего еще. В любом случае в каналах как я понимаю только операции связанные с вычислениями ну и с ld/st, то есть это далеко не вся структура ШК еще. У вас в документации наверняка написано намного больше.

Жаль, я думал вы расскажете какие у них там секреты есть и что они от нас скрывают

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

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


У вас в документации наверняка написано намного больше.

Возможно плохо смотрели, но документация доступная нам таких нюансов не содержала.

Причем даже вашей картинки не было.
Если кому интересно, тут есть книга по архитектуре Эльбрусов (Sparc и E2K) а также различные публикации по теме:
www.mcst.ru/publikacii-mcst
Спасибо, интересная книга!
В этой книге, кстати, в приложении 8 указано, что на PTE отводится 9 разрядов
плюс 12 на страницу, итого, большие страницы должны быть по 2Мб. Но выше действительно говорится о 4Мб. А откуда еще разряд?
«Страницы размером 4 Мбайт описываются с помощью двух смежных PTE
2-го уровня таблицы» что бы это значило?
С тех пор ещё mcst.ru/elbrus_prog появилась.

Спасибо.
На самом деле, полезная информация продолжает появляться. В том числе благодаря тебе. И сейчас ее существенно больше, это не может не радовать!

Не понятно почему в дескрипторе отправки сетевушки физ адрес буфера 32 битный. Они заставляют копировать память при отправке? Странно смотрится в сочетании с StartOfPacket/EndOfPacket.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий