The OpenNET Project / Index page

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



"Microsoft открыл CHERIoT, аппаратное решение для повышения безопасности кода на языке Си"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..." +/
Сообщение от аффтар (?), 08-Мрт-23, 23:43 
> Для high-end cpu мы никогда не видим их систему команд и нам
> так то похрен. И для компилера это лишь некий интерфейс а
> реально это бэкэнд. И никакие carry флаги нам нахрен не вперлись,
> их проверка требует команды добавлять и код тормозит.

Не стоит повторять/пересказывать чужие пояснения, не понимая их сути и/или контекста.

Без carry и overflow флагов вы не сможете эффективно реализовать ни арифметику с широкими числами, ни контроль переполнения.
Конечно можно с дополнительными командами, проверками и ветвлениями - просто медленнее.
Либо можно сказать что это редкие кейсы и нам на них плевать, и для low-end и микроконтроллеров это действительно почти не нужно.

И мешают флаги OoO-выполнению, только если являются общими, т.е. вносят дополнительные "спайки" в зависимости.
Если же флаги персонализировать для каждого регистра (в ISA, либо в микроархитектуре), то никакой код они тормозить не будут (кроме явных зависимостей, например при условных переходах или сложении с переносом).

> Ну и вот у RISCV тоже всякие SIMD расширения появляются.

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

>> ADC есть новая ADX, а в компиляторах всяческие __builtin_add_overflow(), __builtin_addcll()
>> и _addcarry_u64().
> Нюансик в том что это __builtin* напрочь не портабельно, еще хуже интринсиков.

Отсылка к нюансам предполагает знание матчасти, хотя-бы базовой формальной части.
Для понимания, исторически префикс __builtin используется в GCC для встраиваемых псевдо-функций (интринсиков), поддержка которых реализуется внутри компилятора.
А термин intrinsic был введен с подачи штеуда и мелко-мягких, при рекламе компиляторов умеющих в MMX без asm-вставок.

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

>> В этом весь RISC-V = много чего недодумано, недопеределано, а тут мы
>> рыбу заворачивали, но хайпово...
> Зато в x86 столько всего напродумано что до сих пор сотни легаси
> таскают, вплоть до 16 битного режима и чудесатых надписей в UEFI-программах
> о том что они в DOS работать не могут. Правда UEFI
> и сам то этот DOS запустить иной раз уже и не
> может для начала, но легаси штука злая.

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Microsoft открыл CHERIoT, аппаратное решение для повышения безопасности кода на языке Си, opennews, 01-Мрт-23, 10:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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