Материалы по тегу: isa

03.11.2020 [17:40], Илья Коваль

GCC 11 и LLVM 12 позволят учитывать микроархитектурные различия x86-64

Два популярных открытых средства разработки, GCC 11 и LLVM Clang 12, получили возможность более тонкой оптимизации собираемого кода с учётом наличия того или иного типового набора общих инструкций x86-64. Это не отменяет возможность оптимизации под конкретные поколения процессоров, но позволяет легче задавать системные требования не только для отдельных программ, но и, например, для крупных проектов, которые могут работать на разных CPU.

LLVM принимает новые опции через параметр -march=, а GCC — через опцию --with-arch_64=. Список ключей, которые соответствуют наборам инструкций, одинаков:

  • x86-64: CMOV, CMPXCHG8B, FPU, FXSR, MMX, FXSR, SCE, SSE, SSE2
  • x86-64-v2: CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3
  • x86-64-v3: AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE
  • x86-64-v4: AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
Фото: Jeh/Wikipedia

Фото: Jeh/Wikipedia

Первый уровень является наиболее общим и универсальным вариантом для всех 64-бит процессоров x86. x86-64-v2 близок по набору дополнительных инструкций к архитектуре Nehalem, а x86-64-v3 — к Haswell. А вот x86-64-v4 из-за требования AVX-512 на текущий момент фактически ограничен достаточно современными процессорами Intel. В дальнейшем число наборов будет наверняка расширено, так как в v4, к примеру, не попали инструкции AVX-VNNI (в текущем виде это пока что полный эквивалент AVX512-VNNI).

Стандартизация наборов проведена при участии Red Hat, которая уже давно хочет повысить минимальные системные требования, чтобы более полно использовать возможности современных процессоров, а не собирать код под наиболее общий вариант x86-64, который включает CPU 15-летней давности. Новый инструментарий GCC и LLVM поможет компании в осуществлении задуманного. Этот шаг, очевидно, повлияет и на других игроков в индустрии.

Постоянный URL: http://servernews.ru/1024493
25.09.2020 [21:31], Илья Коваль

Серверные архитектуры Arm Neoverse N2 и V1 всё-таки относятся к поколению ARMv8, а не ARMv9

Анонс новых платформ Neoverse V1 (Zeus) и N2 (Perseus) на этот раз оказался несколько скупым. Разработчики рассказали об основных возможностях и сферах применения будущих чипов, но при этом даже опосредованно не указали, к какому поколению их архитектура относится. Что, в свою очередь, привело к подозрениям, что они являются первыми представителями ARMv9.

Спешим обрадовать (или расстроить), что это не так. Ресурс Phoronix обратил внимание на первую серию подготовительных патчей, которые Arm начала рассылать буквально через несколько дней после презентации, что само себе не слишком типично и косвенно указывает на относительно скорый выход первых продуктов на базе новых дизайнов компании.

И в них указывается, что Neoverse N2 относится к поколению ARMv8.5-A, а V1 «приписан» к ARMv8.4-A. Также указывается поддержка SVE/SVE2, работа с числами FP16/Bfloat16 и матричные операции с INT8. Таким образом, можно предположить, что ARMv9 появится не раньше 2022 года и станет основной для Poseidon. На текущий момент в действительно массовом производстве находятся чипы на базе ARMv8.2-A, а решения с ARMv8.3-A появятся в конце этого и начале следующего года.

Постоянный URL: http://servernews.ru/1021563
31.08.2020 [19:51], Илья Коваль

Разработчик Linux: к 2030 году среди массовых архитектур останутся только x86-64, ARM и RISC-V

На мероприятии Linux Plumbers Conference Анд Берманн (Arnd Bermann), один из ключевых разработчиков Linux, рассказал о развитии поддержки различных архитектур в основной ветке ядра и поделился своим видением того, как будет выглядеть распределение ISA в 2030 году: нас ждёт гораздо меньшее разнообразие и уход «динозавров» эры Big Endian.

Важно отметить, что речь идёт именно об основной ветке ядра, что означает, по сути, массовую поддержку платформ, которые туда попали. Это не касается разработок самих производителей, которые могут поддерживать собственную ветку — такое обычно происходит в самом начале и в самом конце жизненного пути архитектуры. Доклад охватывает в первую очередь SoC, а не отдельные CPU.

С другой стороны, практически все современные процессоры уже давно превратились в SoC, а в будущем автор доклада предсказывает рост популярности многочиповых сборок. Кроме того, есть несколько массовых архитектур, которые практически не поддерживаются Linux, но это связано с использованием различных RTOS или отсутствием ОС как таковой. Но есть и вариант перехода на такое ПО, так как со временем меняется область применения чипа.

За последние два года из ядра Linux было «изгнано» 9 архитектур. Отчасти это связано с отсутствием сопровождения, что указывает на их ненужность массовому пользователю. Отчасти — с переходом самих чипов на другую архитектуру. Чаще всего на ARMv7/v8. Собственно говоря, именно ARM показывает наилучшую динамику роста за последние 10 лет как по уровню поддержки различных конечных устройств и SoC, так и по числу применений. Правда, это же указывает и на высокую фрагментацию платформы в отличие от x86-64, например.

Ещё одна важная тенденция — отказ от 32-бит платформ и переход к 64-бит. Это связано и с возросшими потребностями, и с постепенными удешевлением памяти. И здесь ARM снова на коне — скорость роста поддержки ARMv8 выше, чем у остальных платформ. К 2030 предсказано появление уже 128-бит архитектур. Другая тенденция — переход от Big Endian к Little Endian. Частично из-за ухода старых архитектур, частично из-за их перевода на другой порядок байтов.

Всё ещё поддерживаются в ядре, но, по-видимому, скоро будут удалены архитектуры вроде Itanium и SPARC, на базе которых уже не будет новых продуктов, но есть всё ещё работающие системы на основе старых решений. Но это же касается, например, и MIPS. Последние дизайны популярности не снискали, а вот прошлые всё ещё используются при создании новых продуктов. Интересна ситуация с POWER и z. Формально их поддержка никуда не денется, но тянуть всю разработку будет только IBM. OpenPOWER не «взлетел», а вот мейфреймы, по мнению автора, всё так же будут необходимы.

Из новых архитектур успеха добьются только RISC-V и, вероятно, ARC. Последняя весьма популярно сама по себе, но вне контекста Linux, а первая выглядит очень многообещающей, но её реального успеха ещё надо дождаться. Все остальные архитектуры значимой доли рынка не достигнут. Как итог — в 2030 году нас ждёт доминирование x86-64, ARMv8 и старше, а также 64-бит RISC-V. Тогда же начнётся окончательный закат 32-бит эпохи: последними станут ARMv7 и RISC-V. Из альтернативных «больших» архитектур сохранит развитие IBM z. И начнётся новая эра.

Постоянный URL: http://servernews.ru/1019549
09.10.2019 [22:22], Алексей Степин

ARM разрешила добавлять в ARMv8-M собственные инструкции

До недавних пор компания ARM, разработчик одноимённых процессорных архитектур, уделяла пристальное внимание переносимости кода. Единожды созданный код для конкретной версии ядра должен работать везде, вне зависимости от того, какая именно компания реализовала это ядро в «кремнии». 

Более того, ARM в прошлом году на специально созданном сайте, который был спешно удалён, прямо указывала, что для конкурирующей, открытой архитектуры RISC-V есть риск фрагментации из-за возможности добавления собственных инструкций. Однако теперь компания сама пошла на попятную.

На мероприятии ARM Techcon 2019 компания анонсировала возможность добавления собственных инструкций для процессоров с архитектурой ARMv8-M. Первыми её получат ядра Cortex-M33 для микроконтроллеров. Стоимость лицензирования при этом не изменится. Дизайн Cortex-M33, таким образом, получит возможность оптимизации для ускорения выполнения популярных ныне задач машинного обучения и искусственного интеллекта.

Архитектурно поддержка настраиваемых инструкций осуществляется за счёт добавления в состав ядра Cortex-M33 специального настраиваемого модуля, делящего интерфейсы доступа с обычным ALU. Для модификации доступно до 8 регионов, в зависимости от типа и количества специфических инструкций, которые планируется добавить. 

В качестве меры защиты от излишней фрагментации будет добавлено особое исключение NOCP, которое будет выдаваться ядром при попытке запуска неподдерживаемого кода. Кроме того, наличие базового набора инструкций всё равно остаётся обязательным. 

Внедрение поддержки наборов настраиваемых инструкций планируется начать в первой половине 2020 года. Появление новых процессоров ARM с настраиваемыми инструкциями следует ожидать в 2020 или 2021 году. Интерес проявили такие компании, как STMicro, NXP и Silicon Labs. Подробную информацию о поддержке кастомных инструкций можно найти на сайте ARM Developer.

Постоянный URL: http://servernews.ru/995358
11.05.2011 [11:03], SN Team

ENISA считает Интернет слишком уязвимым

Европейское агентство по кибербезопасности ENISA высказывает опасения по поводу отсутствия достоверной информации о форме и размерах инфраструктуры мировой сети интернет, что делает ее уязвимой для атак. Венгрия, которая на данный момент председательствует в Европейском союзе, объявила, что интернет нужно рассматривать не иначе как «театр военных действий»

 

Udo Helmbrecht

 

Интернет – децентрализованная сеть, на сегодняшний день не существует ни одного ключевого узла, играющего важную роль в работоспособности всей сети. Это приводит к проблемам безопасности и невозможности разработать единый механизм для предотвращения кибератак.  Однако, стабильность мировой паутины играет значительную роль для экономики современного общества, поэтому, по мнению экспертов ENISA Удо Хельмбрехта (Udo Helmbrecht), необходимо выработать эффективные принципы для устранения и предотвращения возможных кризисов. Он добавляет, что отсутствие эффективных мер безопасности в будущем может привести к проблемам в важных секторах: энергетике, транспорте, финансах, здравоохранении и экономике.

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

Источник:

Постоянный URL: http://servernews.ru/594590
Система Orphus