Защо по-новите поколения на процесорите са по-бързи при същата скорост на часовника?
Може би сте любопитни как по-новите поколения процесори могат да бъдат по-бързи при същите честоти като по-старите процесори. Дали това е просто промяна във физическата архитектура или нещо повече? Днешната публикация за въпроси и отговори SuperUser има отговори на любопитни въпроси на читателя.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Снимката е предоставена от Родриго Сена (Flickr).
Въпроса
Четецът на SuperUser agz иска да знае защо по-новите поколения процесори са по-бързи със същата скорост на часовника:
Защо например 2.66 GHz двуядрен Core i5 е по-бърз от 2.66 GHz Core 2 Duo, който също е двуядрен?
Дали това се дължи на по-новите инструкции, които могат да обработват информацията в по-малко цикли? Какви други архитектурни промени са включени?
Защо по-новите поколения процесори са по-бързи при една и съща тактова честота?
Отговорът
Участниците в 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? Вижте пълната тема за дискусия тук.