Почему новые поколения процессоров быстрее с одинаковой тактовой частотой?
Вам может быть интересно узнать, как новые поколения процессоров могут работать быстрее на тех же тактовых частотах, что и старые процессоры. Это просто изменения в физической архитектуре или нечто большее? Сегодняшний пост SuperUser Q & A содержит ответы на вопросы любопытных читателей..
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Любезность фотографии Родриго Сенны (Flickr).
Вопрос
SuperUser Reader Agz хочет знать, почему новые поколения процессоров работают быстрее с той же тактовой частотой:
Почему, например, двухъядерный Core i5 с частотой 2,66 ГГц будет быстрее, чем Core 2 Duo с частотой 2,66 ГГц, который также является двухъядерным?
Это из-за новых инструкций, которые могут обрабатывать информацию за меньшее количество тактов? Какие другие архитектурные изменения вовлечены?
Почему новые поколения процессоров быстрее с одинаковой тактовой частотой?
Ответ
Авторы SuperUser Дэвид Шварц и Breakthrough имеют ответ для нас. Прежде всего, Дэвид Шварц:
Обычно это не из-за более новых инструкций. Это просто потому, что процессору требуется меньше циклов команд для выполнения одних и тех же команд. Это может быть по большому количеству причин:
- Большие кеши означают меньше времени, потраченного на ожидание памяти.
- Больше исполнительных блоков означает меньше времени ожидания, чтобы начать работать с инструкцией.
- Лучшее предсказание ветвлений означает меньше времени, потраченного на спекулятивное выполнение инструкций, которые фактически никогда не должны выполняться.
- Улучшения в модуле исполнения означают меньше времени на ожидание выполнения инструкций.
- Более короткие трубопроводы означают, что трубопроводы заполняются быстрее.
И так далее.
Вслед за ответом от Прорыв:
Абсолютным окончательным справочником являются Руководства для разработчиков программного обеспечения для архитектуры Intel 64 и IA-32. Они подробно описывают изменения между архитектурами и являются отличным ресурсом для понимания архитектуры x86..
Я бы порекомендовал вам скачать объединенные тома с 1 по 3C (первая ссылка для скачивания на странице, указанной выше). Том 1, глава 2.2 содержит информацию, которую вы хотите.
Некоторые общие отличия, перечисленные в этой главе, при переходе от ядра к микроархитектуре Nehalem / Sandy Bridge:
- Улучшено предсказание ветвлений, более быстрое восстановление от неправильного прогноза
- Технология HyperThreading
- Интегрированный контроллер памяти, новая иерархия кеша
- Более быстрая обработка исключений с плавающей точкой (только Sandy Bridge)
- Улучшение пропускной способности LEA (только Sandy Bridge)
- Расширения инструкций AVX (только Sandy Bridge)
Полный список можно найти по ссылке, приведенной выше (Том 1, Глава 2.2).
Обязательно прочитайте больше этой интересной дискуссии по ссылке ниже!
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.