x86 против ARM и других RISC-процессоров (часть 4)
(Продолжение темы здесь)

Версия для печати (дайджест по поиску " mrzet")

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Процессоры (http://forum.ixbt.com/?id=8)
URL: http://forum.ixbt.com/topic.cgi?id=8:26683



52382. mrzet, 11.04.2025 13:12
цитата (yd77 [source=8:26683:52381]):

Xiaomi готовит конкурента для Snapdragon 8 Gen 2? Стали известны характеристики новой платформы компании (https://www.ixbt.com/news/2025/04/05/xiaomi-snapdragon-8-gen-2.html)

цитата:
новая SoC будет весьма мощной. В конфигурацию войдёт процессор с одним ядром Cortex-X925, тремя Cortex-A725 и четырьмя Cortex-A520. Частоты соответственно составят 3,2, 2,6 и 2 ГГц.

Кроме того, платформа получит iGPU Imagination Technologies IMG DXT 72-2304 с частотой 1,3 ГГц. Всё это должно позволить платформе выступать на уровне Snapdragon 8 Gen 2
на х86 Xiaomi могла бы такое сделать?
Хорошо что Xiaomi вообще может делать такое ПОКА на арме.

Здесь не филиал форума "политика"

52405. mrzet, 11.04.2025 18:02
цитата (Civil [source=8:26683:52403]):

yd77
результат с реальным процом - это необоснованые требования?
[source=8:26683:52402]

Именно так.



этот тест - не знаю для кого
[source=8:26683:52402]

Вам уже раньше говорилось - это индустриальный стандарт для сравнения между-собой архитектур: https://www.spec.org/
То-то помню в старом Spec2006 ( вроде так да) один из тестов стал полностью попадать в локальность соответствующую кешам АМД процессоров ( у красных всегда кеша больше чем у синих в последние годы) - ну и ускорился за глаза со всей очевидностью.
Тут интелофаны слюной и желчью изошли в тот момент*. Стандарт вдруг в одночасье оказался не стандартом. Забавно было наблюдать.....

* - можно и найти при желании эти ихние пляски.

52407. mrzet, 11.04.2025 18:15
цитата (Saturn [source=8:26683:52406]):

ну так поэтому стандарты надо иногда менять, и перерыв между Spec 2006 и Spec 2017 был и вправду очень большой

И самое смешное что факт замены надо было срочно приурочить к моменту когда амд'шный проц порвал интел.
До этого момента всех все устраивало.

52424. mrzet, 12.04.2025 15:08
цитата (Civil [source=8:26683:52422]):

yd77
а то что написано на сайтах speedometer или гикбенч - нельзя, и я должен это доказывать самостоятельно
[source=8:26683:52421]

... Они не скрывают того, что являются синтетическими тестами....

Злобная(!важно) синтетика это хорошо-позволяет дать 'газ в пол' и прощупать любые узкие места что не всегда видны на тестах построенных на кодах обычных приложений. Прошу помнить этот факт. А то мне показалось (наверное таки показалось) легкая нотка пренебрежения в слове 'синтетика'... ;)

52461. mrzet, 13.04.2025 22:44
цитата (halt [source=8:26683:52451]):

VDN
А тактовую частоту можно и другим способом узнать

"ADD rax, 1" исполняется на частоте 30 GHz у новый ядер Intel, и поэтому они не будут сдерживать итоговую производительность.
....
Никаких 30GHz ( это вы видно результирующую 'приведенную' частоту взяли). Я вам уже показывал это - интеля зачем то сделали выполнение оной инструкции еще до EU начиная с AlderLake.
Именно потому вам кажется что она работает в режиме 'телепортации'
Но зачастую - и здесь так же, у всего есть цена: и таперича цена сдвигам на таких 'фантомно инкрементируемых' РОН - 3 такта ( противу одного)
Вам хочется вернуться во времена Вилли_на_Миле ( виллиамейт, оно же: https://www.cpu-world.com/CPUs/Pentium_4/TYPE-Deskto…0Willamette.html)? когда сдвиги вправо стоили дороже сдвигов влево?

Мне - нет. Оптимизация такая -глупая. Просто потому что инкремент/декремент РОН может выполняться на AGU блоках вне 5EU на Алдерах ( и 6 EU на Стрелах) - то есть даже не терять в достигнутом IPC, но надо было сделать глупость и затормозить сдвиги Имхо
Пост Omega про эту 'оптимизацию':

Intel представила APX - расширение архитектуры x86-64, #292 (https://forum.ixbt.com/topic.cgi?id=8:26497:292#292)

52466. mrzet, 14.04.2025 07:25
цитата:
Но пара запись + чтение работает в режиме "телепортации" с нулевой латентностью для ваших нагрузок?
Чем тогда "add rax,1" хужe той пары?
MirrorMemoryOperand, а ранее техника сверхбыстрых локальных переменных на векторах XMM позволяют скалярному коду достигать(и держать!) близкий к предельному IPC. Более того и в обычной технике кодирования (без подбора оптимальных квартетов команд) это дает ускорение- именно потому (в том числе) рос IPC у интелов с IceLake/TigerLake, у AMD с Zen2....

А Add rax, 1 с нулевой латенси глупость,
и не потому что у нее нулевая латенси, а потому что сдвиги из-за нее стали дороже.

код:
Xor rax, rax
Add rax, 13d
Lea rax, [rax+44d] //замена сложения ранее выполняемого на ALU, теперь 'фантомно-инкрементируемого' до ALU, командой которая выполняется на AGU-таким образом на процессоре имеющем 5ALU+3AGU возможен темп=8
В каком, черт побери, случае нужно больше? В реальности?

52468. mrzet, 14.04.2025 09:42
цитата (VDN [source=8:26683:52467]):

halt
Он и есть примерно, как xor в Alder. [source=8:26683:52465]
...

В каком, черт побери, случае нужно больше? В реальности? [source=8:26683:52466]
В случае коротких циклов со счётчиком :shuffle:
В коротком цикле нужно максимум 4 операции сложения: 2 коррекции адресов источников, 1 коррекция адресов получателя, 1 коррекция счетчика цикла. И это максимальный случай короткого(!) цикла. А эту коррекцию можно осуществить 8 раз за цикл/такт ядра используя методики со времен царя гороха, а не портя сдвиги. Потому она (эта 'недооптимизизия') вредная. Имхо


Сидит программист глубоко в отладке.
Подходит сынишка:
- Папа, почему солнышко каждый день встает на востоке,
а садится на западе?
- Ты это проверял?
- Проверял.
- Хорошо проверял?
- Хорошо.
- Работает?
- Работает.
- Каждый день работает?
- Да, каждый день.
- Тогда ради бога, сынок, ничего не трогай, ничего не меняй.
За это сообщение сказали спасибо: qwz

52471. mrzet, 14.04.2025 12:21
цитата:
Но программист и не должен самостоятельно раскручивать циклы по идее. Он должен просто описать свой алгоритм минимальным количеством строк исходного кода.

Это по идее. Идея!==реальность.

52479. mrzet, 14.04.2025 22:58
цитата:
тем более позорно если GCC - раздолбаи и у proprietary компиляторов ситуация лучше, видно все же "вас много а я одна"
Никогда такого не было, и на тебе - опять!
Хто больше всего заинтересован в граде размером с голубиное яйцо как не стекольщики?
Взять вот ту оптимизацию о которой сегодня упоминали: MirrorMemoryOperand. Фактически косвенное упоминание(где сразу не поймешь не свяжешь*) в презентациях. Весьма коротко в свежих версиях гайдов. И первым источником (для меня) стал Агнер Фог.
Чего ж удивитильного что шланг сливает?

*-только с высоты птичьего полета ты понимаешь как в два слова презентации (буквально!) вписали целую значимую технологию.

52650. mrzet, 18.04.2025 01:21
цитата:
Напишите про это в Intel и Qualcomm.
Они не знают, что Cinebench плохой, и во всю используют его в своих презентациях

Они используют (и выпячивают!) в первую очередь то в чем их текущие продукты выгоднее. Потому что это мракетологи-их доминирующая задача показать продукт лучше чем он есть. И если как сказали форумчане выше что синий бенч в память не великий ходок, а как мы с вами знаем у стрел как с контроллером памяти так и LLC кешом не айс-то само собой (к гадалке не ходи) значит этот синий бенч будет 'витриной' их презентаций. А вот тесты в архиваторах где латенси памяти/LLC - критичный компонент, для стрел будут либо отсутствовать при первой же возможности не включить оные тесты в обзор, либо мелким шрифтом поданы.
Мракетологи-они такие предсказуемые... :D

52743. mrzet, 19.04.2025 14:55
Мое мнение: любой бенчмарк вносит свой кусочек в понятие картины мира. Надо лишь четко осознавать какой.
и даже Cpu-Z в этом смысле не бесполезен.
Что касается что SPEC был ориентирован на достижение 'максимально возможной' ( и вероятно репродуцироемой - что и есть его заявленная сильная сторона)
производительности: то напоминаю что в момент когда датасет libquantum вписался в кеши конкурирующего процессора то фанаты Интел в этом форуме подняли визг с неприличными оттенками заметной ангажированности. Хотя надо помнить что в целом: предельная производительность достигается именно при обработке данных в кешах, а как только датасеты уходят в память все становится мягко говоря похоже ( и уныло в целом). Имхо

52747. mrzet, 19.04.2025 16:00
цитата:
4 ядерные CPU с 8 потоками больше не выпускают..
Кх-м
Lunar Lake: 4P-core+4E-core. 4P core without HT. 4E-core replacement for HT/SMT

цитата:
Производительность выросла
Ну так сравните ее рост и думаю в целом он соответствует росту качества архитектуры


Те кто нападает на процы Apple, не могут смириться с одной весьма важной составляющей оных: апплы своей системой кешей натянули всем конкурентам глаз на ж..у.
И этого у них не отнять-что стоит обьективно признать. Кеши M.. сделаны безупречно и на зависть конкурентам, хотя процессоростроению яблок придется пройти еще долгий путь.... Имхо

цитата:
Особенно рост КЭШей L3..
Вот этот аргумент верный. Большие LLC кеши еще надо раскрыть адекватными задачами. CPU-z это не сможет....

52788. mrzet, 19.04.2025 22:40
цитата:
Он практически не отражает микроархитектурные изменения, которые приводят к росту IPC, например, а поставил всех в основном пропорционально росту частот
цитата:
AMD R3 3300X 2730
...
AMD FX-8370 1538

Кх-м. У паленого драйвера ( игра слов) частота в бусте до 4.3GHz. Это почти соответствует первой монолитной рязани ( это редкий случай когда фактическое улучшение - а именно монолитность кеша L3 было именно маркетинговое). И сказать после этого что в тесте Cpu-Z не видно микроархитектурных улучшений - ну это зашквар ... Имхо

52793. mrzet, 20.04.2025 07:57
цитата (Gorbunoff Dmitr [source=8:26683:52790]):

mrzet
это редкий случай когда фактическое улучшение - а именно монолитность кеша L3 было именно маркетинговое [source=8:26683:52788]
L3 в этом тесте никакой роли не играет.. Достаточно увеличить выборку CPU
Intel Core i7-7800X 3252
Intel Xeon E5-2650 v4 3397
AMD Ryzen 5 2600X 3465
Core i7-8086K 3712
AMD Ryzen 5 3600 3915
AMD Ryzen 5 PRO 4650G 4162
AMD Ryzen 5 8500G 4421
Во-первых: я выше говорил что для Cpu-Z большой кеш у Zen3 5700X или в 2 раза меньше как у 5600G-эту разницу Cpu-Z не ущупает, во вторых упомянув 3300X я лишь подчеркнул что этот зен случайно (волею маркетинговых судеб) на поколение раньше имел монолитный кеш-и более ничего (сам факт редок а потому примечателен).
В третьих вы берете цифру MT производительности в тесте, что значимо усложняет интерпретацию.
Вон там выше были 6700 и 7700K с шибко разной производительностью. А потому что у скайлейка буст до 4GHz, но разблокированный кабилейк 7700K пилит до 4.5GHz на заводском бусте. И это все апроксимируется на 8 потоков. И выходит (если брать MT производительность) что кабилейк кроет скайлейк как бык овцу. А на самом деле они почти равны. Смотрите ST производительность - там все предсказуемо, а помнить до скольки каждый проц бустит невозможно. В более свежих процах это еше и от охлада зависит-что делает цифру MT вообще малорелевантной.

Вот вам 'абберации' теста ( если не знать деталей). Штатный буст 7700K - 4.5GHz ( и его кольцо пилит на той же частоте) + на этом 7700K стояла оверклокерская память с низкими таймингами. И в результате он 'порвал' офисные сборки на 7300 ( а это извиняюсь тот же кабилейк на 4GHz) и даже Zen2 проиграл ему ( хотя в равных условиях был бы чуть быстрее). Я смотрю именно на ST. Помнить все детали для сравнения в MT вообще невозможно.
7700K доведенный до предела своих возможностей, скальпированный с ЖМ под хетсинком с очень хорошей памятью и синхронным ( ==частоте ядер ) кольцом выигрывает у 'стокового' 7700K 5.7% доставая Zen2. Без деталей как было тестирование - кажется чушь, но зная детали - уже нет.

H... для сравнения Сезанн 5600G - 'идеальный офисный проц'( хотя есть уже 8500G) которого хватит на 10-летие работы ( без тормозов) в офисе. 7300 из примера выше - это проц с минимальной производительностью когда еще тормоза заметны изредка и по чуть-чуть ( в нашей работе), а Сезанн по сравнению с ним красава - никто даж не заикнулся о том что что-то задумалось.

К сообщению приложены файлы: 1.jpg, 808x405, 140Кb, 2.jpg, 807x404, 147Кb, 3.jpg, 811x408, 132Кb, 4.jpg, 1207x403, 185Кb

53475. mrzet, 29.08.2025 17:58
цитата:
На коде AVX-512 Zen5 мог получить удвоение от Zen4?...
Если они есть, почему их не включили на слайд прироста IPC?
цитата:
Для чего вообще слайды обсуждать ? Никто процессоры x86 так не тестирует. Большинство вообще синтетику не использует даже в обзорах.
а вот и истина прорезалась. В реальных применениях AVX512 - по пальцам считан. Зато в синтетике 'король' Ну так работайте в той синтетике.....

p.s. Тьфу на этот AVX512.... Тьфу многа многа раз

53813. mrzet, 21.09.2025 20:52
Очень хорошо что ARM дает мощного пинка x86-x64. Нет ничего лучше для конкуренции, а значит и для цен. Однако в вопросах совместимости еще несколько лет разницы. Имхо

-Кого же мне послать на переговоры с шотландцами. Моего сына? Нет его могут убить. Пошлем его жену, дочь короля Франции.
-Милорд, принцесса может быть взята в заложники или её жизнь окажется под угрозой.
-О, мой сын был бы очень расстроен. Но, если честно, если её убьют, мы быстро найдём короля Франции полезным союзником против шотландцев. Видите ли, будучи королём, нужно видеть хорошее в любой ситуации.

© Храброе сердце


Да здравствуют успехи ARM. Думайте как король....

53895. mrzet, 23.09.2025 12:38
цитата:
Но чтобы воспользоваться этим, нужно перекомпилировать весь софт под APX. В идеале надо всю WIndows и все программы Microsoft перекомпилировать под APX.
Единственный вариант это сделать для уже не поддерживаемых прог - режим эмуляции/онлайн транскодирования. Так что эмуляторы - пилить однозначно. Нужны тренированные руки и мозги. А где их взять? Потому нужно тренироваться 'на котятях'. Потому и Windows-ARM нет смысла закрывать( это и есть те самые пресловутые 'котята'). Имхо

53897. mrzet, 23.09.2025 12:41
цитата:
Ну как бы тогда было бы логично сделать 64 регистра и по 4 операнда. Чтобы оставить ARM далеко позади, не?
логичней бы и больше сделать*, но не придумали оптимально и совместимо назад

*- в самом APX бы может и не было бы нужды если бы запилили 64-128 РОН еще в x64 ( а их таки 15 и с веселыми ухищрениями и отказом от стека -16). Но история не имеет сослагательного наклонения. Имхо
цитата:

Ради 10% производительности я пальцем не пошевелю.

'Ви есть слишком много кушайт'

53903. mrzet, 23.09.2025 13:51
цитата (VDN [source=8:26683:53901]):

...

Intel обычно раз в 20 лет делает улучшение в 2 раза некоторых важных характеристик: [source=8:26683:53900]
Правда? А почему тогда AMD обвиняют в том, что в x86-64 всего 16 РОН?
...
x86-x64: команды обычно 2 операнда: источник, получатель
в современных процах 6ALU ( и весьма много AGU где можно исполнять базовую арифметику)
один сикстет(6) команд выжрет таким образом 12 РОН, а фактически РОН то 15 ( если вы не жертвуете стеком - на что идут только сумасшедшие как я)
На второй сикстет команд исполняющихся в предельном темпе уже на хватит РОН если не будет ложных зависимостей.
Таким образом возникает 'кассовый разрыв'( в терминологии бухгалтеров): у вас 1.25 такта (время за которое при максимальном темпе выполнения вы используете все РОН)
а до L1D - 4 такта*. Вывод: вы не можете держать предельный темп исполнения не используя специализированных методик.
И это не жалоба - это объективная реальность.

То есть 32РОН нужно уже сейчас, а если смотреть в будующее то и больше ( чтобы впоследствии не городить APX2)...

* - и это хорошо что Интел в стрелах вернул латенси L1D как 4 такта. 5 тактов было за гранью....

53906. mrzet, 23.09.2025 14:11
цитата:
Ну, как бы соревнования по спортивному программированию и обычный софт - несколько разные области
А должно быть - как 'спорт в каждом дворе'. Но каждый должен понимать для чего он должен уметь толкнуть 250 кг - только для горячих точек кода.
Почему? Потому что в кремнии делать экзорсисы по увеличению производительности все сложнее. А потребность считать все быстрее - никуда не делась.
цитата:

Да и вопрос был не в этом - почему 16 регистров сделали в интел (согласно плану x2 каждые 20 лет), а крайние - AMD?

Ну вы что? Этож история: AMD64 - это и было основой. Интел это взял ( как кросслицензирование) - все очень правильно. Просто неглубоко смотрели в будующее. К сожалению....16 РОН сейчас - м...... рыдания.

цитата:
Хотите 32 регистра, тогда у вас 2 варианта: ARM64 или APX.
Есть еще несколько методик что описаны в обсуждении темы APX:
среднескоростная эмуляция быстрых мест хранения ( быстрее чем стек а значит L1D) на XMM регистрах
и правильное использование техники MirrorMemoryOperand ( которую впервые опубликовал Агнер Фог )



URL: http://forum.ixbt.com/topic.cgi?id=8:26683