The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Microsoft открыл CHERIoT, аппаратное решение для повышения б..."
Отправлено Аноним, 13-Мрт-23 17:10 
> Не стоит повторять/пересказывать чужие пояснения, не понимая их сути и/или контекста.

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

> Без carry и overflow флагов вы не сможете эффективно реализовать ни арифметику
> с широкими числами, ни контроль переполнения.

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

> Конечно можно с дополнительными командами, проверками и ветвлениями - просто медленнее.

Вообще-то сколь-нибудь явные проверки этих флагов и различение разных случаев как раз и требуют добавочных команд впихнуть. А прикиньте, код который допустим жестко задефайнил что там урезается по mod 2^N так то сильно оптимальнее выходит, как ни крути. И половине кода вот именно этого и хотелось. Самого критичного как раз, типа кодеков, крипты, и тому подобной интенсивной математики - вот как раз чтобы там не было лишних операций. Но это вон те хотели, а вот эти - простреливали пятки такой механикой не специально. Просто не было халявного способа проверить переполнение типа. Даже в хрусте не смогли, так что это в дебаг билдах только, с соответствующей просадкой перфоманса. Да и в сях это поймать можно но только *san всякими, которые тоже по скорости ни разу не халявны.

> Либо можно сказать что это редкие кейсы и нам на них плевать,
> и для low-end и микроконтроллеров это действительно почти не нужно.

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

> И мешают флаги OoO-выполнению, только если являются общими, т.е. вносят дополнительные
> "спайки" в зависимости.

Опять же хорошая штука должна быть масштабируемой. ARM это очень наглядно показал. У этих есть все - от 8 ногого таракана до серверных процов. При том весьма непозорно. RISCV пытается быть чем-то таким, но более opensource friendly. Это - масштабирауемая экосистема.

> Если же флаги персонализировать для каждого регистра (в ISA, либо в микроархитектуре),
> то никакой код они тормозить не будут (кроме явных зависимостей, например
> при условных переходах или сложении с переносом).

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

> И что?
> Но в бижутерии всегда широкий ассортимент, в том числе бус.

Ну вот и то. Один размер всем не подходит. А экосистема это круто. Представляешь, когда можно привычным тулчейном вранглить все, от своих наручных часов до сервака это круто и удобно. Это серьезное преимущество платформы. RISCV тоже так хочет. Это логичный и правильный виш, дающий им шанс. Они может не будут лучшими - но они будут универсальными, повсеместными, а толпа народа будет знать этот тулчейн. Поэтому оно даже и не помрет. Сказал бы "подвинет интел" но оный из половины ниш армов нельзя подвинуть за его отсутствием, x86 везде кроме переростков из себя вообще ничего не представляет. А рынок мелочи так то измеряется в миллиардах юнитов и забивать на него - интель поди уже сто раз пожалел что продал продвинутую лицензию на армы марвелу.

> Отсылка к нюансам предполагает знание матчасти, хотя-бы базовой формальной части.

А это все есть, внезапно. Builtin это загоны конкретного компилера. На это вообще нет ни малейших намеков на стандарты. С интринсиками хоть какое-то подобие потуг этого, не то чтобы сильно успешное но не builtin'ам про это вещать.

> (интринсиков), поддержка которых реализуется внутри компилятора.

Исторически, SIMD вообще не существовал, если уж ворошить прошлое. Точнее, существовал  но совсем не так как вы себе это представляете, венцом творения был SWAR, который так то не требует никаких интринсиков вообще.

> А термин intrinsic был введен с подачи штеуда и мелко-мягких, при рекламе
> компиляторов умеющих в MMX без asm-вставок.

Представляете, даже эта парочка изредка может выдавать довольно здравые идеи?!

> Как правило, интринсики жестко привязаны к конкретной архитектуре.

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

> А builtin-ы является формой реализации интринсиков в GCC и clang, при этом
> существенная их часть переносима между архитектурами (в особенности те, о которых
> весь речь).

И тем не менее это нестандартно от слова вообще и лок на 2 конкретных компилера, что не круто.

> Так в этом-то и дело, что для RISC-V декларируется что пытались допеределать по-уму.

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

> А получилось недодуманное УГ для low-end, которое всячески пиарят, разукрашивают и впаривают
> под вывеской "гениальной простоты".

Да вот понимаете, если что-то в low end хорошо работает, с должным обвесом и апгрейдами оно потом и в десктопно-серверном достаточно непозорно смотрится по мипсам на ватт и прочем. А обрубить допустим x86 до мелочи - интель с таблет пц сколько пытался? Лет 20? А воз и ныне там. За это время ARM и Goole нишу заняли и поделили без вон тех. От чего у wintel'а плохо скрываемый батхерт. Что атомы, что винмобил, два фэйла, но пыхтели знатно.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру