Comments 25
Вопрос ещё в том, какую долю транзисторов на чипе занимает поддержка этого legacy и насколько его удаление реально что-то изменит в плане энергопотребления и прочих видимых характеристик.
А разве это не ограничивает возможность оптимизации в целом? Удаление старого и мало используемого вроде должно увеличивать эффективность процессора, или нет?
Довольно реактивно их там штормит, чтобы за полтора года успеть решить создать новую архитектуру и уже отказаться от нее.
Архитектура как раз почти полностью старая. Просто выкинули кучу всего ненужного.
Да не такую уж и кучу
Как я понял - выкинули всё, кроме плоских 32-х- и 64-хбитных пользовательских режимов и 64-хбитного привилегированного режима, причём его ещё и порезали заметно.
Это должно было, как минимум, заметно упростить логику работы ОС.
И, заодно, упростить реализацию логики в железе - пускай транзисторов на это тратилось немного, но зато это тратило кучу ресурсов на сопровождение и давало много возможностей для ошибок и уязвимостей.
Это должно было, как минимум, заметно упростить логику работы ОС.
Если ОС уже 64-битная, то разница есть только в загрузчике в не-EFI варианте. Если же и так грузилось через EFI, то ядро начинает работать уже в полностью выставленном режиме и разницы ему нет. Уже по драфту X86S делали правки в Linux, просто скостив легаси и оставив вариант, пригодный для обоих - там нет никакого особого кода для не-X86S.
но зато это тратило кучу ресурсов на сопровождение
Тут да, поддержка старых режимов это больше морока помнить их специфику и держать работающими при любых изменениях.
Если ОС уже 64-битная, то разница есть только в загрузчике в не-EFI варианте.
И в поддержке (и тестировании) кучи всех возможных комбинаций legacy-архитектур.
Уже по драфту X86S делали правки в Linux, просто скостив легаси и оставив вариант, пригодный для обоих - там нет никакого особого кода для не-X86S.
Поэтому я и написал про "выкинуть ненужное".
Искренне жаль. Вторая попытка дропнуть устаревшее легаси и второй самосброс. Но, если Итаниум был слишком рано, и через чур радикально, то сейчас - самое время.
Облегчение архитектуры - - >> удешевление компонетов ПК и разработки ПО.
и разработки ПО.
А вот на это как влияют неиспользуемые фичи процессора типа первого и второго колец защиты?
В частности, разработка и поддержка современных ОС и драйверов.
Они эти фичи просто не используют - всё равно что их нет.
PS Да, одна достаточно распространённая ОС таки пользуется, но она бегает на чипсете на отдельном процессоре.
Неиспользуемая, но поддерживаемая фича может ограничивать возможности оптимизации
Интересно, что она реально может использовать из тех же ring1 и ring2, если для них нет отдельной защиты на уровне MMU... Или у неё и MMU не используется?
Посмотрите в исходниках.
А я вот всё жду миниатюризации blade-серверной архитектуры. Чтобы просто на одно шасси можно было набирать нужное железо. Раз уж нас настигает зоопарк железа - то хоть бы в едином форм факторе.
Думаю что рано или поздно, но к этому вопросу вернутся и таки реализуют.
Или не они.
Проблема в том, что революционное развитие x86 приведёт или к ARM, или к RISC-V ;\ Я серьёзно - см. ещё одну (пока не убитую?) разработку в процессе - Intel APX. 32 регистра, опция не менять коды условий, опция заменять приёмник операции (команды фактически становятся "трёхадресными") - фактически повторяют все лучшие достижения AArch64, но значительно дороже в плане удобства, цены декодинга и длины команд. А эволюционное развитие не требует убийства этого легаси, оно минимально мешает. Его всего можно свалить на микропрограммный автомат внутри основного процессора и никто этого не заметит.
Пишут, в 2005 Microsoft сказала "вы хотите вместо amd64 ввести своё расширение с полным рекодингом - так мы его не поддержим". Может, через 20 лет попробуют снова...
А ведь x86S задумывалась как альтернатива ARM, у нее были все шансы на успех. Почему все закончилось?
Как "другой ARM, но не хуже, чем ARM" - это Intel APX. Там 32 регистра, опция не менять коды условий, опция заменять приёмник операции (команды фактически становятся "трёхадресными"). А X86S можно условно сравнить с выкидыванием старта в режиме AArch32, если такие аналогии вообще тут пригодны.
И в то же время ничто не мешает вернуться к теме и оставить старт в 64-битном режиме в стиле X86S, вместо нынешнего смотрения на мир через игольное ушко до перехода в long mode.
Тема согласования с AMD, думаю, ни при чём - те ещё больше рады были бы избавиться от наследия "проклятого прошлого". Так что снова непонятно, "но очень интересно" ™.
Где то читал, что этот легаси в современных ядрах занимает в районе 1%. Проще оставить, чем переработать ядро.
Перспективная архитектура x86S от Intel — все. Вспоминаем, что это было и зачем создавалось