Pull to refresh
4
Karma
149
Rating
Максим Маслов @Armmaster

User

  • Followers 35
  • Following

Легенды и мифы процессора Эльбрус в примерах

наращивание частоты упирается в скорость переключения транзисторов, 5Ггц для них предел

Для силиконовых транзисторов скорость переключения составляет десятки, а то и за сотню Гигагерц (в зависимости от). А всякие SiGe вообще дают ещё больше, но это будем считать экзотика. Наращивание частоты упирается не только в скорость переключения, а сложность логики и как следствие количество этих самых переключений, которые надо надёжно осуществить за такт. И с этим как раз у VLIW проблема - есть критические цепи, которые не позволяют увеличивать частоту

Я же постоянно привожу простой вопрос "на подумать" - почему Мцстшный спарк с первого раза на 28нм 2ГГц, а Эльбрус на тех же 28нм 1.5ГГц, и это со второго раза (с первого 1.2 ГГц) ? Вот именно поэтому

Легенды и мифы процессора Эльбрус в примерах

Вот это момент, который явно нуждается в гораздо более подробном раскрытии

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

но краткая логика из статьи про «У Эльбрус 1,5ГГц на 28 нм и следовательно больше 2,5 — 3 быть не может»

Всё же в статье нет такой логики. В статье логика в том, что мы сравниваем аналогичные VLIW и RISC/CISC системы и видим, что VLIW по частоте уступает. На базе этого (и со сссылкой на нераскрытые технические причины этого) делается утверждение, что по частотам VLIW проигрывает.

Легенды и мифы процессора Эльбрус в примерах

Да, тут с замечанием согласен. Просто в куче презентаций (от того же Бабаяна, например) и даже учебных материалах говорится про 8-ми стадийный конвейер, поэтому мне эта цифра в память запала. Но сейчас пригляделся - 8-тактов это до E0 , а дальше идут стадии для своих пайплайнов.

Но сути проблемы это не меняет. Т.е. увеличивать количество стадий нельзя просто так. Проблема кучи портов для передачи результатов через байпассы тоже остаётся (и насколько я понимаю, она ключевая для роста тактовой частоты)

Легенды и мифы процессора Эльбрус в примерах

что у VLIW 2,66 против 3,1 на всех ядрах у аналогичного по ядрам x86 (3.8 насколько я понимаю в разгоне на одно ядро)

Тут важный момент в том, что ядро x86 разгоняется до 3.8, а на 3.1 для всех ядер чип работает из-за ограничений по пауэру. В то же время для Итаниума 2.66 это максимум, который выжали инженеры, т.е. там не в пауэр упирались.

Ведь если VLIW перевести допустим на 7 нм то и частота тоже повысится с этих 2,66 на 32 нм

Частота сейчас просто так уже не повышается с переходом на новый техпроцесс. Это видно на примере стагнации роста частоты на тех же x86.

Отставание конкретно Эльбруса тут вполне можно объяснить нехваткой ресурсов его разработчиков

Это универсальная отмазка, которой можно объяснить любые недостатки.

Можно перейти к обсуждению чуть более технических моментов, объясняющих, почему на Эльбрусе частота принципиально ниже. Например, там 8 стадий конвейера (и это нельзя поменять без полной переделки архитектуры). А в современных ОоО процессорах порядка 20. Почему во втором случае частота получается в среднем выше, надеюсь, понятно.

Легенды и мифы процессора Эльбрус в примерах

Я же для этого специально привёл табличку в самой первой статье, где процы VLIW/не VLIW от одних производителей и на одних нанометрах. И там видно, насколько vliw'ы проигрывают. Та же МЦСТшная серия R (Спарковских процессоров) частоту имеет бОльшую, хотя это гадкий утёнок всегда был, пилили вполноги, а основные силы шли в Эльбрус. Там есть достаточно фундаментальные проблемы, почему это так, но без глубоких специальных знаний это непросто воспринять. Поэтому мне кажется такая табличка по факту намного показательнее для не экспертов в области

Легенды и мифы процессора Эльбрус в примерах

Итаниум намного более продвинутая архитектура, чем Эльбрус. МЦСТ аналог Итаниума будет ещё лет 20 делать, если их деньгами залить. Но даже Итаниум по итогу оказался провальным, т.к. стало понятно, что он проигрывает ОоО по сумме факторов.

Легенды и мифы процессора Эльбрус в примерах

48 это про векторные инструкции. Т.е. они считают 6 fma по 4 операции в векторе: 6x2x4 = 48

Легенды и мифы процессора Эльбрус в примерах

А почему начиная с Itanium Poulson число инструкций увеличили с 6 до 12 Doubled issue width (from 6 to 12 instructions per cycle) ?

Для повышения перформанса, вестимо. Больше операций в такт - больше потенциальный перф

Начиная с Эльбруса 16С, делают точно тоже самое

Вроде там не меняли количество ALU

 В среднем по статистике в коде все равно нет больше 6 инструкций между условными переходами. Это им что-то даст

Это в среднем, а на плавучих циклах это не так. Плюс переходы можно сливать под предикатом в теории

Хотя все равно при компиляции lcc -O4 -fast -march=elbrus-v6, я не вижу в ассеблере широких инструкций больше чем по 6

Ну так там 6 ALU, поэтому и нет больше

Легенды и мифы процессора Эльбрус в примерах

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

Легенды и мифы процессора Эльбрус в примерах

МЦСТ пользовалось тем, что 20 лет они были де факто единственными, кто делал процы с прицелом на гражданский high-end рынок (а коллектив там пришёл с ИТМиВТ, т.е. это ещё несколько десятилетий опыта). 10 лет назад появился Байкал и первые же их процессоры уже составили конкуренцию. Сейчас появились Syntacore, Ядро, Cloudbear и вой пошёл на всю Россию - спасите, хулиганы рынка решают. Вот и вся история.

Легенды и мифы процессора Эльбрус в примерах

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

  2. Далее:

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

Это не так. Это вполне подъёмная задача.

или свой VLIW процессор принципиально в 5 раз медленне с непонятным для людей ассемблером и вечной ручной оптимизацией приложений, или ничего

Это ложная дихотомия. Как я уже сказал, нет никаких принципиальных проблем сделать нормальный ОоО проц.

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

Это возможно и более того, уже делается.

Купить лицензию на ARM с уже готовой микроархитектурой с динамическим распараллеливанием инструкций (как у Apple), не хватит денег

Эта лицензия легко продаётся. У Байкала она есть, например.

Проблема в том, что МЦСТ закрыл все, что только можно закрыть, не раздает компиляторы и эмуляторы, не продает машины

Это уже большой отдельный разговор - методы ведения бизнеса от МЦСТ. Очевидно, что даже при отсутствии технических проблем, такой подход оставляет мало шансов для широкого распространения процессора Эльбрус.

Если это не измениться, то эльбрус умрет, так и не родившись

Он уже умер. Мои статьи никак на этот факт не влияют, а лишь объясняют - почему.

Зачем Apple RISC-V?

Никакого доступа к документации по M1 Arm China не имеет. Apple имеет архитектурную лицензию, поэтому сам чип полностью разработан самостоятельно и никаких секретов за пределы Apple не выходило (ну кроме наличия некоторых специфических расширений, но это сейчас и так всем известно)

Зачем Apple RISC-V?

 Сделка в итоге сорвалась

Сделка не сорвалась, она проходит одобрение регулирующих органов

Легенды и мифы процессора Эльбрус в примерах

Давать мне какие-либо ответы и/или пояснения не надо.

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

Собственно, это то, что я ожидал от вас услышать:

Но это не даёт гарантии, ибо (в общем случае) возможны более сложные многоэтапные атаки, начинающиеся с перезаписи указателей на стеке и/или других данных в других места. Тем не менее, разделение стеков существенно (в разы) затрудняет доведение атак до финала и снижает риски эксплуатации уязвимостей

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

И коли на то уж пошло, в Эльбрусе точно также нет полной гарантии от атаки переполнения стэка. Т.к. так или иначе любая машина может считывать данные из стэка данных, которые могут потом попасть в IP. Например, я могу нарисовать схему хоть и трудно исполнимой, но в принципе вполне реальной атаки с переполнением стэка для Эльбруса. Можете поупрожняться и попробовать придумать такую атаку сами.

Легенды и мифы процессора Эльбрус в примерах

Поэтому мне не ясны (не очевидны) причины, по которым для RISC-V специфицировано только «одностековое» ABI и «бережно сохранено всё необходимое для ROP и эксплуатации традиционных ошибок выхода за пределы буфера на стеке»

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

Давайте я спрошу простую вещь - чем 2 стэка лучше решения, когда у нас весь код в исполняемом файле замаплен с аттрибутами rx, а стэк выделен как rw ?

В зависимости от вашего ответа я могу подробнее ответить на более частные вопросы.

Повесть о том как потерять 3тыс. долларов и не уехать в США

Я не про взрослых и универы (там отдельная песня).

Я про школы и сады для начала. Попробуйте снять жильё у приличной школы. Садик за 1.5-2К в месяц за пол дня. Про стоимость кружков и доп занятий я промолчу. Да собственно вы про это сами написали, и ниже более развернуто человек тоже ответил.

Повесть о том как потерять 3тыс. долларов и не уехать в США

Так мексы на 20к в Долине с большими семьями живут, и ничего. Мы же говорим об уровне жизни, если ты норм спец в Питере /Москве. Ясно что и на 100-150к можно жить, но придётся чем то жертвовать. Качеством образования детей, например

Повесть о том как потерять 3тыс. долларов и не уехать в США

в моем случае в договоре было 17% от gross income

Тот момент, когда все драгдиллеры просто заплакали от зависти...

Information

Rating
20-th
Location
Долгопрудный, Москва и Московская обл., Россия
Works in
Registered
Activity