
Другие языки программирования и технологии
Обратная совместимость это то из за чего не возможно перестроить архитектуру получив более высокую производительность?

"Более высокую" - это какую конкретно? Начни вместо шаблонов и лозунгов оперировать цифрами и фактами. У какой архитектуры производительность выше, чем у Интела x86? Каковы свойства этой архитектуры?
Например, безвременно почивший Intel Itanium, не обременённый обратной совместимостью. У него была выше производительность, чем у x86, или нет? Оказалось, что нет.
Удобные команды, выровненные по границам 128-битного слова, сегодня вообще не влияют на производительность, очередь предвыборки всё равно опережает исполняющие узлы на сотни команд.
Хинты компилятора для прогнозирования переходов оказались бесполезными, процессор это лучше считает, опираясь на статистику выполнения.
Статическое распределение операций по юнитам тоже бесполезно, процессор на ходу гораздо эффективнее умеет это делать.
Предварительные инструкции для загрузки в память не нужны, ROB сам исполняет следующие микроопы по готовности, а не по беспомощным попыткам компилятора догадаться, когда "в среднем" значение будет доступно на всех поколениях процессоров (как мы знаем, тактовая частота процессора всё больше опережает память: если в лучшей памяти DDR2-800 загрузки надо было ждать 4 такта, в DDR3-1600 - уже 8 тактов, в DDR4-2400 - не менее 12-ти тактов).
Гигантский именованный файл регистров только вредит: фиксированные номера регистров, зашитые в систему команд, гарантируют нерасширяемость файла. А в x86/x64 физический регистровый файл почти с каждым поколением растёт в размере - кто-то замечает это на прикладном уровне?
Вообще архитектура x86 развивается постоянно, "устаревшая" система команд ей если и мешает, то совсем чуть-чуть.
Например, безвременно почивший Intel Itanium, не обременённый обратной совместимостью. У него была выше производительность, чем у x86, или нет? Оказалось, что нет.
Удобные команды, выровненные по границам 128-битного слова, сегодня вообще не влияют на производительность, очередь предвыборки всё равно опережает исполняющие узлы на сотни команд.
Хинты компилятора для прогнозирования переходов оказались бесполезными, процессор это лучше считает, опираясь на статистику выполнения.
Статическое распределение операций по юнитам тоже бесполезно, процессор на ходу гораздо эффективнее умеет это делать.
Предварительные инструкции для загрузки в память не нужны, ROB сам исполняет следующие микроопы по готовности, а не по беспомощным попыткам компилятора догадаться, когда "в среднем" значение будет доступно на всех поколениях процессоров (как мы знаем, тактовая частота процессора всё больше опережает память: если в лучшей памяти DDR2-800 загрузки надо было ждать 4 такта, в DDR3-1600 - уже 8 тактов, в DDR4-2400 - не менее 12-ти тактов).
Гигантский именованный файл регистров только вредит: фиксированные номера регистров, зашитые в систему команд, гарантируют нерасширяемость файла. А в x86/x64 физический регистровый файл почти с каждым поколением растёт в размере - кто-то замечает это на прикладном уровне?
Вообще архитектура x86 развивается постоянно, "устаревшая" система команд ей если и мешает, то совсем чуть-чуть.
Нет
Похожие вопросы
- Хочу получить второе высшее образование. Выбираю между программированием и сис-администрированием.
- Могу ли я стать работать в сфере создания игр на движках, получив просто высшее образование программиста?
- Получит высокий рейтинг в индексации сайта
- Возможно ли обратная компиляция? Теоретически. Вернуть любую программу в исходники.
- Что такое архитектура в программировании? И чем собственно архитектор занимается?
- Получение опыта в области программирования (архитектура программы, качество кода).
- Архитектура ЭВМ помогите с ассемблером
- Возможно ли в Паскале получить какой-нибудь символ уже выведенный на экран?
- Обратная связь на HTML (JavaScript)?
- Можно ли повысить производительность компа. подключив его через интернет к нескольким машинам?