Здравствуйте, 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Вт процов будет выше крыши всем если есть сетевое Гигабитное подключение с минимальными задержками.
Согласно результатам тестирования в Geekbench 5, ноутбук MSI GE76 Raider на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов, а 16-дюймовый MacBook Pro с чипом M1 Max – 12 244 баллов
«По имеющимся данным, Core i9-12900KS появится в продаже нескоро. В качестве возможного окна релиза источники указывают конец первого квартала 2022 года»
Согласно результатам тестирования в 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.
Стоит отдать должное M1, на более низкой частоте (3.2) он почти сравнялся в однопотоке c Intel-овским бустом на 4.9, т.е. IPC значительно выше, а TDP значительно меньше.
Также по этим тестам совершенно не видно разницы между Max и Pro, и однопоток у всех одинаковый.
Re[2]: Intel Core i9-12900KS оказался производительней Apple M1 Max
__>Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
Когда обещают выпустить планшеты с 4 мониторами и полноразмерной клавиатурой?
на базе Intel Core i9-12900HK, в многоядерном тестировании в среднем набирает 12 707 баллов
Processor Base Power 45 W
Maximum Turbo Power 115 W
Minimum Assured Power 35 W
Если потребляя 115Вт, то нафиг такой ноут нужен? Это круче многих десктопных процессоров по жору.
Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
Re[3]: Intel Core i9-12900KS оказался производительней Apple M1 Max
__>>Если потребляя 115Вт, то нафиг такой ноут нужен? Это круче многих десктопных процессоров по жору. __>>Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
S>а на чем люди будут работу работать ? S>продаваны, журналисты и проститутки понятно смогут обойтись телефоном
Здравствуйте, koandrew, Вы писали:
K>Я отвечал на пост, говорящий об IPC. Это строгий термин с определённым значением, ничего об алгоритме там нет. Поскольку инструкции ARM в среднем более примитивны, чем x86, первые должны выполнить больше инструкций для выполнения одной и той же задачи.
Что входит в "не-примитивные" инструкции x86? Операции, где первый аргумент и результат в памяти? Таких в реальном коде (на выходе современных компиляторов) ничтожно мало. В векторных операциях так вообще таких не создали.
С другой стороны, есть ряд характерных случаев, где ARM выигрывает по количеству инструкций. Например, пролог/эпилог — в x86 надо делать push/pop регистрам по одному, ARM/64 позволяет это делать парами.
В моём реальном испытании
в байтах код под ARM был толще кода x86 на 1%. И это за счёт толщины инструкций (4 байта всегда, в отличие от x86, где многие по 1 и 2 байта). Поэтому можно считать, что в генерации под ARM требуется таки меньше инструкций.
Можно пересчитать (найду код и повторю сборку, когда будет время и настроение), но уже уверен.
The God is real, unless declared integer.
Re[7]: Intel Core i9-12900KS оказался производительней Apple
САД>>планшеты не нужны САД>>да и за 100-200 баксов ничего стоящего нет. всё, что может стоить внимания, начинается от 1000. __>Я вот тоже думал это как экран к девайсу взять — ну на что мать его китайский планшет да за 100$ способен может быть? А затестив вышло что производительности наверно 80% людям хватит вместо PC. Т.е. какой-нить i3 без видеокарты это спокойно заменяет. Покупал монитор 10", а впридачу дали PC и там чуть доплатив есть варианты с 8ГБ памяти и 512SSD, нетбуки тихо умерли.
на i3 c 16 G сносно работают MSOffice, AutoCAD, PCAD, VS2019
на планшети даже печатать быстро невозможно
Здравствуйте, koandrew, Вы писали:
CC>>Например? K>Например чего?
Например что там эдакого в манипуляции со строками?
CC>>Сколько? K>Ты же знаешь ответ?
Мне хотелось бы услышать твоё мнение.
CC>>Реальные приложения как то не изобилуют SYSENTER K>Серьёзно? И как же приложения работают в ОС без сисколов?
В кернел нырять надо довольно редко и далеко не за всем, это банально дорого.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
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
ЭФ>«По имеющимся данным, 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[2]: Intel Core i9-12900KS оказался производительней Apple M1 Max
Здравствуйте, _ilya_, Вы писали:
__>Если потребляя 115Вт, то нафиг такой ноут нужен? Это круче многих десктопных процессоров по жору. __>Вообще планшеты скоро все заменят — ноуты уже не особо нужны, и далее даже PC начнут вымирать.
а на чем люди будут работу работать ?
продаваны, журналисты и проститутки понятно смогут обойтись телефоном
Здравствуйте, CreatorCray, Вы писали:
CC>Сравниваются жеж не колво инструкций в единицу времени а время и стоимость исполнения всего алгоритма (полезной нагрузки).
Я отвечал на пост, говорящий об IPC. Это строгий термин с определённым значением, ничего об алгоритме там нет. Поскольку инструкции ARM в среднем более примитивны, чем x86, первые должны выполнить больше инструкций для выполнения одной и той же задачи. Поэтому сравнивать IPC напрямую между разными архитектурами бессмысленно.
Здравствуйте, СвободуАнжелеДевис, Вы писали:
САД>Макбук про с внешней периферией заменяет десктоп
Проц в ноутах все равно слаб — по сравнению с убер рабочими станциями/серверами. А если не особо слаб, то жрет черезмерно и без внешнего питания работать не может. Это вымрет, а мобильные процики будут наращивать производительность, и эт просто вопрос времени — когда их производительности хватит почти всем.
И зачем такой вес — ноут это 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, нетбуки тихо умерли.
Здравствуйте, _ilya_, Вы писали:
САД>>я про мак говорю, а не лэптоп на интеле. __>И он типа законы мироздания превосходит?
Там стоит дальнейшее развитие проца что ставили в планшеты.
Здравствуйте, 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.
Здравствуйте, 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, он тоже опционален... Вобщем, у них просто не было выбора, кроме как урезать количнство регистров.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, 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 все же была неэффективной и по другой причине — она пушит все регистры даже тогда когда нужно сохранять не все. А в большинстве случаев сохранять надо не все.
Как много веселых ребят, и все делают велосипед...