Согласно результатам тестирования в Geekbench 5, ноутбук MSI GE76 Raider на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов, а 16-дюймовый MacBook Pro с чипом M1 Max – 12 244 баллов
«По имеющимся данным, Core i9-12900KS появится в продаже нескоро. В качестве возможного окна релиза источники указывают конец первого квартала 2022 года»
Стоит отдать должное M1, на более низкой частоте (3.2) он почти сравнялся в однопотоке c Intel-овским бустом на 4.9, т.е. IPC значительно выше, а TDP значительно меньше.
Также по этим тестам совершенно не видно разницы между Max и Pro, и однопоток у всех одинаковый.
Re: Intel Core i9-12900KS оказался производительней Apple M1
Согласно результатам тестирования в Geekbench 5, ноутбук MSI GE76 Raider на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов, а 16-дюймовый MacBook Pro с чипом M1 Max – 12 244 баллов
Если ты поставишь в пару процессору память с теми же характеристиками что в UMA у Apple, то производительней M1 Max будет, мягко сказать не только i9-тые.
Согласно результатам тестирования в Geekbench 5, ноутбук MSI GE76 Raider на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов, а 16-дюймовый MacBook Pro с чипом M1 Max – 12 244 баллов
Это пиковая или долговременная производительность?
Re: Intel Core i9-12900KS оказался производительней Apple M1 Max
Согласно результатам тестирования в Geekbench 5, ноутбук MSI GE76 Raider на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов, а 16-дюймовый MacBook Pro с чипом M1 Max – 12 244 баллов
ЭФ>«По имеющимся данным, Core i9-12900KS появится в продаже нескоро. В качестве возможного окна релиза источники указывают конец первого квартала 2022 года»
ЭФ>Пользуясь случаем
В ваттаже M1 Max так вообще никогда не сможет соревноваться:
One of the biggest caveats is power efficiency. PCWorld measured the new GE76 Raider's power draw from the wall while running a CPU-only Cinebench R23 benchmark and found the Core i9 was consistently in the 100-watts range, and even briefly spiked to 140 watts. By comparison, when running the same Cinebench R23 benchmark on the 16-inch MacBook Pro, AnandTech found the M1 Max chip's power draw from the wall to be around 40 watts.
ЭФ>«По имеющимся данным, Core i9-12900KS появится в продаже нескоро. В качестве возможного окна релиза источники указывают конец первого квартала 2022 года»
это ж что получается, пока интель соревнуется своим еще почти несуществующим процессором, с м1, которому уже не один месяц, а на горизонте М2...
Нет времени на раскачку!
Re[2]: Intel Core i9-12900KS оказался производительней Apple M1 Max
Здравствуйте, 4058, Вы писали:
4>Стоит отдать должное M1, на более низкой частоте (3.2) он почти сравнялся в однопотоке c Intel-овским бустом на 4.9, т.е. IPC значительно выше, а TDP значительно меньше.
Ты только не забывай, что инструкции ARM намного более примитивны, чем инструкции x86. Так что сравнивается тут тёплое с мягким.
Здравствуйте, koandrew, Вы писали:
4>>Стоит отдать должное M1, на более низкой частоте (3.2) он почти сравнялся в однопотоке c Intel-овским бустом на 4.9, т.е. IPC значительно выше, а TDP значительно меньше. K>Ты только не забывай, что инструкции ARM намного более примитивны, чем инструкции x86. Так что сравнивается тут тёплое с мягким.
Сравниваются жеж не колво инструкций в единицу времени а время и стоимость исполнения всего алгоритма (полезной нагрузки).
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Intel Core i9-12900KS оказался производительней Apple M1 Max
на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов
Processor Base Power 45 W
Maximum Turbo Power 115 W
Minimum Assured Power 35 W
Если потребляя 115Вт, то нафиг такой ноут нужен? Это круче многих десктопных процессоров по жору.
Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
Re[2]: Intel Core i9-12900KS оказался производительней Apple M1 Max
Здравствуйте, _ilya_, Вы писали:
__>Если потребляя 115Вт, то нафиг такой ноут нужен? Это круче многих десктопных процессоров по жору. __>Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
а на чем люди будут работу работать ?
продаваны, журналисты и проститутки понятно смогут обойтись телефоном
Здравствуйте, CreatorCray, Вы писали:
CC>Сравниваются жеж не колво инструкций в единицу времени а время и стоимость исполнения всего алгоритма (полезной нагрузки).
Я отвечал на пост, говорящий об IPC. Это строгий термин с определённым значением, ничего об алгоритме там нет. Поскольку инструкции ARM в среднем более примитивны, чем x86, первые должны выполнить больше инструкций для выполнения одной и той же задачи. Поэтому сравнивать IPC напрямую между разными архитектурами бессмысленно.
Здравствуйте, sergey2b, Вы писали:
S>а на чем люди будут работу работать ? S>продаваны, журналисты и проститутки понятно смогут обойтись телефоном
не поверишь, но планшет уже не тупит сам по себе, это мега прогресс — т.е. запустив браузер/просмотр киношки/мобильную игрушку или легкое приложение — оно работает. Даже если взять правильного китайца за сильно смешные деньги (200$ обычная цена, и чуть выше 100$ минимальная на распродажах за хороший IPS 10" экран 1920х1200 — это самое важное в планшете, чтобы был не г. Процик сейчас популярен Unisoc T618, 4-8GB памяти и 128-512SSD). И все что было в экспресс доставках 3-5 дней с Ali уже расхватали, пусто на складах на такие девайсы, но надеюсь подвезут. https://aliexpress.ru/store/group/Super-Deals/911130180_10000002689266.html если есть быстрая доставка и применив скидки с али, я не понимаю как китайцы такое делают, т.е. я взял для теста минимальный но адекватного качества китайский планшет и прифигел — он просто на голову круче чем ожидал получить за 9 тыс.р. То что будет отличный экран у правильных китайцев — не новость, но что будет ни разу не тормозящим и при этом это все на андроиде — и проц и память и ssd... шок.
И имея крутое подключение к сети просто не требуется что-то больше, типа производительности сервера из ноута не выжать как и из планшета. У планшетов и USB есть (у премиальных USB3/микро HDMI — т.е. монитор/телик можно подрубить) и bluetooth (мышка-клава, звук) и обычно в комплекте идет чехол-клавиатура, что превращает его в ноут. Производительность малопотребляющих процов скакнула, сети — wifi очень скоростные (может мобильные еще не дотягивают, но вопрос времени). Вопрос времени когда производительности 10Вт процов будет выше крыши всем если есть сетевое Гигабитное подключение с минимальными задержками.
__>>Если потребляя 115Вт, то нафиг такой ноут нужен? Это круче многих десктопных процессоров по жору. __>>Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
S>а на чем люди будут работу работать ? S>продаваны, журналисты и проститутки понятно смогут обойтись телефоном
Макбук про с внешней периферией заменяет десктоп
Нет времени на раскачку!
Re[4]: Intel Core i9-12900KS оказался производительней Apple
Здравствуйте, СвободуАнжелеДевис, Вы писали:
САД>Макбук про с внешней периферией заменяет десктоп
Проц в ноутах все равно слаб — по сравнению с убер рабочими станциями/серверами. А если не особо слаб, то жрет черезмерно и без внешнего питания работать не может. Это вымрет, а мобильные процики будут наращивать производительность, и эт просто вопрос времени — когда их производительности хватит почти всем.
И зачем такой вес — ноут это 1,5кг+? Планшет выходит в 3 раза легче и компактнее в разы — т.е. планшеты по толщине приближаются к смартфонам — просто в папку положить(или они бычно еще и в своих чехлах или чехлах с клавой... просто как блокнот в толщину) а не отдельную сумку. Пусть проц у него в 10 раз слабее, но если хватает (а их уже более менее хватает почти всем) то и не нужно больше. Я вот прифигел от китайского планшета, ранее были тормоза бесполезные, а тут за 100$ работающий и вполне нетбук победивший (нетбуки перед ноутбуками вымрут(нетбуки — тупо дешевые ноуты, с процами/начинкой уровня планшетов на сегодня)).
САД>>Макбук про с внешней периферией заменяет десктоп __>Проц в ноутах все равно слаб — по сравнению с убер рабочими станциями/серверами. А если не особо слаб, то жрет черезмерно и без внешнего питания работать не может. Это вымрет, а мобильные процики будут наращивать производительность, и эт просто вопрос времени — когда их производительности хватит почти всем.
я про мак говорю, а не лэптоп на интеле.
__>И зачем такой вес — ноут это 1,5кг+? Планшет выходит в 3 раза легче и компактнее в разы — т.е. планшеты по толщине приближаются к смартфонам — просто в папку положить(или они бычно еще и в своих чехлах или чехлах с клавой... просто как блокнот в толщину) а не отдельную сумку. Пусть проц у него в 10 раз слабее, но если хватает (а их уже более менее хватает почти всем) то и не нужно больше. Я вот прифигел от китайского планшета, ранее были тормоза бесполезные, а тут за 100$ работающий и вполне нетбук победивший (нетбуки перед ноутбуками вымрут(нетбуки — тупо дешевые ноуты, с процами/начинкой уровня планшетов на сегодня)).
планшеты не нужны
да и за 100-200 баксов ничего стоящего нет. всё, что может стоить внимания, начинается от 1000.
Нет времени на раскачку!
Re[6]: Intel Core i9-12900KS оказался производительней Apple
Здравствуйте, СвободуАнжелеДевис, Вы писали:
САД>я про мак говорю, а не лэптоп на интеле.
И он типа законы мироздания превосходит? Святым духом маркетолога Джобса производительность в разы подрастает? Пусть даже на тех же техпроцесах и то же ядро ARM все делают?
САД>планшеты не нужны САД>да и за 100-200 баксов ничего стоящего нет. всё, что может стоить внимания, начинается от 1000.
Я вот тоже думал это как экран к девайсу взять — ну на что мать его китайский планшет да за 100$ способен может быть? А затестив вышло что производительности наверно 80% людям хватит вместо PC. Т.е. какой-нить i3 без видеокарты это спокойно заменяет. Покупал монитор 10", а впридачу дали PC и там чуть доплатив есть варианты с 8ГБ памяти и 512SSD, нетбуки тихо умерли.
__>Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
Когда обещают выпустить планшеты с 4 мониторами и полноразмерной клавиатурой?
Re[7]: Intel Core i9-12900KS оказался производительней Apple
Здравствуйте, _ilya_, Вы писали:
САД>>я про мак говорю, а не лэптоп на интеле. __>И он типа законы мироздания превосходит?
Там стоит дальнейшее развитие проца что ставили в планшеты.
Здравствуйте, koandrew, Вы писали:
K>Я отвечал на пост, говорящий об IPC. Это строгий термин с определённым значением, ничего об алгоритме там нет. Поскольку инструкции ARM в среднем более примитивны, чем x86, первые должны выполнить больше инструкций для выполнения одной и той же задачи.
Что входит в "не-примитивные" инструкции x86? Операции, где первый аргумент и результат в памяти? Таких в реальном коде (на выходе современных компиляторов) ничтожно мало. В векторных операциях так вообще таких не создали.
С другой стороны, есть ряд характерных случаев, где ARM выигрывает по количеству инструкций. Например, пролог/эпилог — в x86 надо делать push/pop регистрам по одному, ARM/64 позволяет это делать парами.
В моём реальном испытании
в байтах код под ARM был толще кода x86 на 1%. И это за счёт толщины инструкций (4 байта всегда, в отличие от x86, где многие по 1 и 2 байта). Поэтому можно считать, что в генерации под ARM требуется таки меньше инструкций.
Можно пересчитать (найду код и повторю сборку, когда будет время и настроение), но уже уверен.
Здравствуйте, netch80, Вы писали:
N>Что входит в "не-примитивные" инструкции x86? Операции, где первый аргумент и результат в памяти? Таких в реальном коде (на выходе современных компиляторов) ничтожно мало. В векторных операциях так вообще таких не создали.
В "реальном" коде (а не в примитивных "тестах") их как раз дохрена. Одни манипуляции со строками чего стоят.
N>С другой стороны, есть ряд характерных случаев, где ARM выигрывает по количеству инструкций. Например, пролог/эпилог — в x86 надо делать push/pop регистрам по одному, ARM/64 позволяет это делать парами.
А сколько регистров надо сохранять в ARM64 против x86? Я ещё молчу о переключении контекста — сколько инструкций нужно для аналога sysenter/sysexit? Cколько инструкций нужно для аналога rep movsb? А это всё очень частые команды в реальных приложениях.
N>В моём реальном испытании
в байтах код под ARM был толще кода x86 на 1%. И это за счёт толщины инструкций (4 байта всегда, в отличие от x86, где многие по 1 и 2 байта). Поэтому можно считать, что в генерации под ARM требуется таки меньше инструкций.
Не вижу никакого испытания — ни кода, ни названия, ничего. Только какие-то взятые с потолка цифры.
N>Можно пересчитать (найду код и повторю сборку, когда будет время и настроение), но уже уверен.
"Блажен, кто верует, тепло ему на свете" (С)
Даже RV куда более эффективен в этом плане, хотя он тоже RISC. Если что, я два ядра самостоятельно сделал для этой ISA (простейшее RV32I и более продвинутое RV64), так что знаком с ней очень хорошо. У ARM за последние годы начинают проявляться симптомы той же болезни, что и x86 — хотя, конечно, до терминальной стадии x86 ей ещё далеко, но тенденция нехорошая. Я надеюсь, что Интел воспользуется шансом почистить x86 от мусора со своей гетерогенной архитектурой, но с другой стороны есть факт лицензирования Интелом ядер RV у SiFive, так что будет очень интересно, что из этого выйдет. Лично я большой фанат RV и считаю, что у него большое будущее, т.к. его дизайн учитывает косяки более старых ISA.
САД>>планшеты не нужны САД>>да и за 100-200 баксов ничего стоящего нет. всё, что может стоить внимания, начинается от 1000. __>Я вот тоже думал это как экран к девайсу взять — ну на что мать его китайский планшет да за 100$ способен может быть? А затестив вышло что производительности наверно 80% людям хватит вместо PC. Т.е. какой-нить i3 без видеокарты это спокойно заменяет. Покупал монитор 10", а впридачу дали PC и там чуть доплатив есть варианты с 8ГБ памяти и 512SSD, нетбуки тихо умерли.
на i3 c 16 G сносно работают MSOffice, AutoCAD, PCAD, VS2019
на планшети даже печатать быстро невозможно
Здравствуйте, koandrew, Вы писали:
K>А сколько регистров надо сохранять в ARM64 против x86?
Чуть больше десяти. В командах это всё равно будет меньше ~8 для x86.
K> Я ещё молчу о переключении контекста — сколько инструкций нужно для аналога sysenter/sysexit?
Ну расскажи, сколько. Только учти, что по sysenter (syscall) только вход облегчается. А дальше всё равно надо все регистры сохранять и возвращать что-то только в RAX (иногда RDX, иначе его обнулять), потому что иначе утекут данные ядра.
K> Cколько инструкций нужно для аналога rep movsb? А это всё очень частые команды в реальных приложениях.
Серьёзно? У тебя "реальное приложение" только и делает, что копирует строки?
Вот берём реальную программу, которая работает с текстом в огромном количестве:
в байтах код под ARM был толще кода x86 на 1%. И это за счёт толщины инструкций (4 байта всегда, в отличие от x86, где многие по 1 и 2 байта). Поэтому можно считать, что в генерации под ARM требуется таки меньше инструкций. K>Не вижу никакого испытания — ни кода, ни названия, ничего. Только какие-то взятые с потолка цифры.
Код закрытый. Но это было прокси текстового протокола. Удобный тем, что не требует внешних зависимостей.
Подбери аналог, скомпилирую и сравню специально по запросу. Я тут пытался со squid это сделать, но у него configure хочет странного. Есть идеи что проверить? Нужен выходной бинарник в 0.5-1MB без сложной плагинной структуры.
N>>Можно пересчитать (найду код и повторю сборку, когда будет время и настроение), но уже уверен. K>"Блажен, кто верует, тепло ему на свете" (С)
Сам сравнить не хочешь? Или только цитатками кидаться?
Эта цитата скорее к твоему рассказу про супер-пуперважный rep movsb.
K>Даже RV куда более эффективен в этом плане, хотя он тоже RISC. Если что, я два ядра самостоятельно сделал для этой ISA (простейшее RV32I и более продвинутое RV64), так что знаком с ней очень хорошо. У ARM за последние годы начинают проявляться симптомы той же болезни, что и x86 — хотя, конечно, до терминальной стадии x86 ей ещё далеко, но тенденция нехорошая. Я надеюсь, что Интел воспользуется шансом почистить x86 от мусора со своей гетерогенной архитектурой, но с другой стороны есть факт лицензирования Интелом ядер RV у SiFive, так что будет очень интересно, что из этого выйдет. Лично я большой фанат RV и считаю, что у него большое будущее, т.к. его дизайн учитывает косяки более старых ISA.
Есть и другие мнения. О том, например, что мир RISC-V уже пошёл очень активно дробиться — чуть ли не хуже, чем ARM. Это раз.
Второе, что у него сейчас начинаются собственные... мнэээ... странные решения. Например, ABI с global pointer. Страничная система типа Sv32 с тем, что 2**34 физических бит, зато 10 бит на все свойства страниц — серьёзно?
Уже на 1.5GB RAM надо переходить на 64-битку, а они физические 2**34 придумывают, будто мало фейла с x86 PSE.
Ну и так далее.
Здравствуйте, netch80, Вы писали:
N>Чуть больше десяти. В командах это всё равно будет меньше ~8 для x86.
А остальные? А адрес возврата?
N>Ну расскажи, сколько. Только учти, что по sysenter (syscall) только вход облегчается. А дальше всё равно надо все регистры сохранять и возвращать что-то только в RAX (иногда RDX, иначе его обнулять), потому что иначе утекут данные ядра.
Всё равно в ARM намного больше.
K>> Cколько инструкций нужно для аналога rep movsb? А это всё очень частые команды в реальных приложениях.
N>Серьёзно? У тебя "реальное приложение" только и делает, что копирует строки?
Строковые операции — это большая часть большинства типовых приложений.
N>Вот берём реальную программу, которая работает с текстом в огромном количестве:
N>
Вот уж не ожидал, что тебе нужно объяснять, что команды в коде и команды исполненные — это не одно и то же. Может всё же голову включишь?
N>Подбери аналог, скомпилирую и сравню специально по запросу. Я тут пытался со squid это сделать, но у него configure хочет странного. Есть идеи что проверить? Нужен выходной бинарник в 0.5-1MB без сложной плагинной структуры.
А мне-то оно зачем? Ты выдвинул тезис — тебе и доказывать. Я-то ответ и так знаю.
N>Второе, что у него сейчас начинаются собственные... мнэээ... странные решения. Например, ABI с global pointer. Страничная система типа Sv32 с тем, что 2**34 физических бит, зато 10 бит на все свойства страниц — серьёзно? N>Уже на 1.5GB RAM надо переходить на 64-битку, а они физические 2**34 придумывают, будто мало фейла с x86 PSE. N>Ну и так далее.
32 бита не актуальны для PC, этот стандарт больше для микроконтроллеров, потому там важно экономить ресурсы, и страничная адресация не нужна от слова "вообще".
Здравствуйте, koandrew, Вы писали:
N>>Чуть больше десяти. В командах это всё равно будет меньше ~8 для x86. K>А остальные? А адрес возврата? N>>Ну расскажи, сколько. Только учти, что по sysenter (syscall) только вход облегчается. А дальше всё равно надо все регистры сохранять и возвращать что-то только в RAX (иногда RDX, иначе его обнулять), потому что иначе утекут данные ядра. K>Всё равно в ARM намного больше.
А у слона хобот длиннее.
Открываем AArch64 ABI, видим: callee-saved registers: r19...r28. 10 регистров — 5 пар.
Смотрим x86-64 ABI (Linux/Itanium style): callee-saved registers: rbx, rbp, r12-r15. Уже 6 штук.
А теперь ещё учтём, что большее количество регистров, доступных для функции, означает больше возможностей уложить алгоритм в них и не занимать callee-saved.
K>Вот уж не ожидал, что тебе нужно объяснять, что команды в коде и команды исполненные — это не одно и то же. Может всё же голову включишь?
Приведи тогда реальную статистику их использования. А про "голову включишь" — сам не пробовал первым включить?
Я хотя бы опираюсь на количество команд в целом в коде, а у тебя вообще не то святой дух, не то справочник Стеля.
N>>Подбери аналог, скомпилирую и сравню специально по запросу. Я тут пытался со squid это сделать, но у него configure хочет странного. Есть идеи что проверить? Нужен выходной бинарник в 0.5-1MB без сложной плагинной структуры. K>А мне-то оно зачем? Ты выдвинул тезис — тебе и доказывать. Я-то ответ и так знаю.
Ага, только доказать никак не можешь. Только классовое чутьё тебе что-то шепчет.
И по поводу "выдвинул тезис" — это чьи слова
K>> Поскольку инструкции ARM в среднем более примитивны, чем x86, первые должны выполнить больше инструкций для выполнения одной и той же задачи.
мои, что ли?
N>>Второе, что у него сейчас начинаются собственные... мнэээ... странные решения. Например, ABI с global pointer. Страничная система типа Sv32 с тем, что 2**34 физических бит, зато 10 бит на все свойства страниц — серьёзно? N>>Уже на 1.5GB RAM надо переходить на 64-битку, а они физические 2**34 придумывают, будто мало фейла с x86 PSE. N>>Ну и так далее.
K>32 бита не актуальны для PC, этот стандарт больше для микроконтроллеров, потому там важно экономить ресурсы, и страничная адресация не нужна от слова "вообще".
Ну так незачем было тогда такое вводить, раз экономить ресурсы надо.
Здравствуйте, netch80, Вы писали:
N>Открываем AArch64 ABI, видим: callee-saved registers: r19...r28. 10 регистров — 5 пар. N>Смотрим x86-64 ABI (Linux/Itanium style): callee-saved registers: rbx, rbp, r12-r15. Уже 6 штук.
"А тут мы рыбу заворачивали" (С) А что по поводу LR и FP?
N>А теперь ещё учтём, что большее количество регистров, доступных для функции, означает больше возможностей уложить алгоритм в них и не занимать callee-saved.
Какой процент функций в типовой программе хвостовые?
N>Приведи тогда реальную статистику их использования. А про "голову включишь" — сам не пробовал первым включить?
Я и не выключал.
N>Я хотя бы опираюсь на количество команд в целом в коде, а у тебя вообще не то святой дух, не то справочник Стеля.
Да говно это твоя статистика. Ибо речь изначально шла про IPC, то есть количество команд в коде не имеет значения — важно только количество исполненных команд.
N>Ага, только доказать никак не можешь. Только классовое чутьё тебе что-то шепчет.
Мне не нужно никому ничего доказывать. По крайней мере на этом форуме.
N>И по поводу "выдвинул тезис" — это чьи слова K>>> Поскольку инструкции ARM в среднем более примитивны, чем x86, первые должны выполнить больше инструкций для выполнения одной и той же задачи. N>мои, что ли?
Это же очевидно всем, кто дружит с логикой, и читал спеки на ISA Ну а кому неочевидно, я ничем помочь не могу — пусть учатся думать головой.
N>Ну так незачем было тогда такое вводить, раз экономить ресурсы надо.
А почему бы и нет? Это же опциональная часть спеки, потому её можно не реализовывать, что, кстати, почти все МКшки и делают — там вообще MMU обычно нету ввиду отсутствия необходимости.
Здравствуйте, netch80, Вы писали:
N>Например, пролог/эпилог — в x86 надо делать push/pop регистрам по одному
В x86 был PUSHA/PUSHAD и соответственно аналогичный POP
Но в х64 их похерили
Здравствуйте, koandrew, Вы писали:
K>В "реальном" коде (а не в примитивных "тестах") их как раз дохрена. Одни манипуляции со строками чего стоят.
Например?
K>А сколько регистров надо сохранять в ARM64 против x86?
Сколько?
K> Я ещё молчу о переключении контекста — сколько инструкций нужно для аналога sysenter/sysexit? Cколько инструкций нужно для аналога rep movsb? K>А это всё очень частые команды в реальных приложениях.
А вот нет.
Реальные приложения как то не изобилуют SYSENTER да и rep movsb я сто лет как не видел в production code: компилеры либо разворачивают в цепочку SIMD прочитать/записать либо просто зовут memcpy/memmove в котором унутре неонка duff device на тех же SIMD
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Intel Core i9-12900KS оказался производительней Apple
Здравствуйте, CreatorCray, Вы писали:
CC>Например?
Например чего?
CC>Сколько?
Ты же знаешь ответ?
CC>Реальные приложения как то не изобилуют SYSENTER
Серьёзно? И как же приложения работают в ОС без сисколов? Или ты, как предыдущий товарищ, не понимаешь разницы между исполненными инструкциями, и присутствующими в коде
Здравствуйте, CreatorCray, Вы писали:
N>>Например, пролог/эпилог — в x86 надо делать push/pop регистрам по одному CC>В x86 был PUSHA/PUSHAD и соответственно аналогичный POP CC>Но в х64 их похерили
Именно на границе привилегий от таких команд могла бы быть заметная польза, потому что всё равно надо восстанавливать безусловно всё кроме регистров, явно обозначенных для возврата. Но с OoO и переименованием регистров оказалось, что перед такой командой надо ставить барьер исполнения, а саму её выполнять аппаратно (а не микропрограммно), а тут Intel поленился. Так что к моменту введения x86-64 было давно говорилось, что не используйте, ибо страшный тормоз.
В новые архитектуры такое тоже не вводится. В ARM/32 были групповые аналоги по маске, в ARM/64 не стали их переносить, а взамен дали LDP/STP для пар регистров. Наверно, они что-то знают на опыте.
N>В новые архитектуры такое тоже не вводится. В ARM/32 были групповые аналоги по маске, в ARM/64 не стали их переносить, а взамен дали LDP/STP для пар регистров. Наверно, они что-то знают на опыте.
В арм64 регистров в 2 раза больше чем в арм32 — 32 vs 16. Ну положим как обычно можно запретить push lr и pc одновременно, и sp не пушить вместе с pc, хотя это уже странноватенько. Но даже 30 битов операнда — это наверное чересчур при размере инструкции 32 бита — то есть все вариации инструкции push съели бы четверть пространства инструкций, а push/pop вместе — половину. А если вспоминать арм32, то ведь там push — это частный случай stmdb Rd!, {...} при котором Rd — это sp, то есть если уж делать аналогично то надо всунуть в инструкцию Rd, а тут уже упс. а ведь этот восклицательный знак и суффикс db неспроста, это автодекремент Rd, он тоже опционален... Вобщем, у них просто не было выбора, кроме как урезать количнство регистров.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, koandrew, Вы писали:
CC>>Например? K>Например чего?
Например что там эдакого в манипуляции со строками?
CC>>Сколько? K>Ты же знаешь ответ?
Мне хотелось бы услышать твоё мнение.
CC>>Реальные приложения как то не изобилуют SYSENTER K>Серьёзно? И как же приложения работают в ОС без сисколов?
В кернел нырять надо довольно редко и далеко не за всем, это банально дорого.
Здравствуйте, ononim, Вы писали:
N>>В новые архитектуры такое тоже не вводится. В ARM/32 были групповые аналоги по маске, в ARM/64 не стали их переносить, а взамен дали LDP/STP для пар регистров. Наверно, они что-то знают на опыте. O>В арм64 регистров в 2 раза больше чем в арм32 — 32 vs 16. Ну положим как обычно можно запретить push lr и pc одновременно, и sp не пушить вместе с pc, хотя это уже странноватенько. Но даже 30 битов операнда — это наверное чересчур при размере инструкции 32 бита — то есть все вариации инструкции push съели бы четверть пространства инструкций, O> Вобщем, у них просто не было выбора, кроме как урезать количнство регистров.
"Кто хочет — ищет метод". 1 бит на указание, какая половинка регистрового пространства, и 16 на маску регистров, всего 17 на каждую команду. До двух pushm/popm, одна на r0-15, вторая на r16-31. И никаких "четверть пространства".
Продолжаю считать, что проблема в том, что весь конвейер надо останавливать ради такого.
Хотя, учитывая современные проблемы с Meltdown и аналогом, может, это и полезно на границе call/ret или вызова со сменой уровня привилегий...
N>"Кто хочет — ищет метод". 1 бит на указание, какая половинка регистрового пространства, и 16 на маску регистров, всего 17 на каждую команду. До двух pushm/popm, одна на r0-15, вторая на r16-31. И никаких "четверть пространства".
Это сильно ограничивает возможности от push произвольного набора регистра до push произивольного набора из произвольной половины регистров. А если сила оригинальной идеи потеряна — то мало смысла за нее бороться дальше.
N>Продолжаю считать, что проблема в том, что весь конвейер надо останавливать ради такого.
Зачем останавливать конвейер? push/pop в arm32 на конвейер точно не влияют — я всякое такое сам исследовал, замеряя производительность разных вручную написанных мелких кусочков на асме — функция с прологом push {...набор регистров, lr} и эпилогом pop {..набор регистров, pc} отличалась по производительности от не пушащей ничего и заканчивающейся на bx lr примерно пропорционально количеству инструкций.
То что интел pusha не осилила не значит что нельзя в принципе это осилить. Да и интелу наверное не особенно хотелось — pusha все же была неэффективной и по другой причине — она пушит все регистры даже тогда когда нужно сохранять не все. А в большинстве случаев сохранять надо не все.
Как много веселых ребят, и все делают велосипед...