Исследование влияния ревизии микрокода CPU в Corona Benchmark
Настоящая работа имеет цель установить влияние на производительность процессора такого обыкновенно не принимаемого во внимание фактора как ревизия микрокода CPU. Актуальность темы формируют регулярные обновления микрокодов, суть изменений в которых умалчивается.
В какой-то мере широко освещалась эта тема после выхода микрокодов с патчами от уязвимостей Meltdown и Spectre. Технические ресурсы, проводившие тестирование процессоров с обновленными микрокодами, отметили снижение производительности.
реклама
Между тем не был поднят вопрос, какое влияние на производительность оказывает обновление микрокода вообще, без наличия чрезвычайных ситуаций и необходимости «латать» уязвимости. Соответственно, тема была освещена неполно, применительно только лишь к конкретным патчам.
В работе представлена выборка микрокодов ДО патчей от уязвимостей Meltdown и Spectre, соответственно, никакого влияния на результаты они не оказывают. Это позволяет проследить влияние обновлений на производительность вне чрезвычайных ситуаций, но, вместе с тем, не дает исчерпывающей и в полной мере актуальной картины, поскольку микрокоды с соответствующими патчами практически повсеместно вытеснили старые.
Методика тестирования
реклама
В качестве тестируемого процессора использовался i5 6400T. Так как в 76 ревизии микрокода Intel заблокировали возможность разгона Non-K Skylake по шине, были взяты микрокоды с 04 по 74, всего – 20 версий.
Чтобы переменным фактором выступала только лишь ревизия микрокода, постоянство других факторов обеспечивалось следующим образом:
- использовался единственный профиль разгона, фиксирующий частоту процессора, частоту и тайминги ОЗУ, прочие параметры в BIOS;
- использовалась единственная версия BIOS, в которой подменялся лишь микрокод;
- использовался один и тот же софт, никаких изменений, оптимизаций в процессе не вносилось.
Чтобы операционная система не изменяла ревизию микрокода, был переименован файл «mcupdate_GenuineIntel.dll» по пути «C:WindowsSystem32». Контроль версии микрокода осуществлялся с помощью Aida64.
Тесты проводились в Windows 7 Ultimate x64 SP1 с установкой классической темы и приоритета реального времени на процесс Corona Benchmark. Для каждого микрокода проводилось по два прогона, каждый прогон – после холодного старта. В двух случаях используются результаты трех прогонов.
Разница в производительности
реклама
Результаты измерений и вычислений занесены в таблицу:
За 100% в таблице принят наименьший результат. Разница между ним и наибольшим результатом составляет всего лишь 0,45%. Тем не менее это значение превышает среднюю статистическую погрешность (0,117%).
Скриншоты всех без исключения прогонов, на которых видны параметры процессора и ОЗУ, ревизия микрокода и результат, залиты на Яндекс.диск. Можно сравнить с табличными значениями.
Разница в рабочем напряжении
реклама
Сосредоточим теперь внимание на другом аспекте – нахождении минимального напряжения на ядра при одинаковом разгоне. Используем все тот же пресет разгона. Следующие параметры были зафиксированы:
- VCCIO Voltage – 1,25V;
- System Agent Voltage – 1,3V;
- CPU Load-Line Calibration – Level 6;
- CPU VRM Switching Frequency(KHz) – 500.
В таких условиях находилось минимальное напряжение, при котором процессор мог пройти Corona Benchmark без ошибок. При этом в фоне был открыт HWinfo для мониторинга напряжения. Побочным результатом стала оценка влияния фоновой нагрузки (HWinfo) на результаты.
Результаты занесены в таблицу:
rev_micr | cvoltage(BIOS), v | cvoltage(HWinfo), v | result, rays/s | result | |
04 | 1,1 | 1,104 | 1523443 | 101,004% | |
10 | 1,095 | 1,104 | 1508841 | 100,036% | |
16 | 1,1 | 1,104 | 1522889 | 100,968% | |
1A | 1,1 | 1,104 | 1511497 | 100,212% | |
1C | 1,095 | 1,104 | 1515570 | 100,482% | |
1E | 1,1 | 1,104 | 1511991 | 100,245% | |
20 | 1,095 | 1,104 | 1513262 | 100,329% | |
24 | 1,105 | 1,104 | 1521773 | 100,894% | |
2E | 1,095 | 1,104 | 1508293 | 100,000% | |
30 | 1,1 | 1,104 | 1513668 | 100,356% | |
4C | 1,1 | 1,104 | 1512801 | 100,299% | |
5C | 1,1 | 1,104 | 1508892 | 100,040% | |
6A | 1,105 | 1,104 | 1510187 | 100,126% | |
74 | 1,105 | 1,104 | 1511314 | 100,200% |
Следует отметить, что результаты измерения производительности, полученные на данном этапе, менее строги:
- из выборки исключены 6 ревизий микрокода;
- проводилось только по одному прогону;
- на результат могли повлиять «пограничные» вольтажи и легкая нестабильность.
Тем не менее можно сделать вывод, что фоновая нагрузка оказывает на результаты Corona Benchmark БОЛЬШЕЕ влияние, чем ревизия микрокода. HWinfo в фоне в среднем снизил результаты на 2 ± 0,37%.
Выводы
Исходя из результатов тестирования, ревизия микрокода CPU не оказывает сколь-нибудь значимого влияния на производительность. Разница между «худшим» и «лучшим» микрокодом составила 0,45 ± 0,117%. В то же время дополнительная фоновая нагрузка снизила средний результат на 2 ± 0,37%, что в 4 раза больше. Разумеется, ни ту ни другую разницу обнаружить в реальных задачах не удастся.
Стоит однако отметить, что разница в сравнении с новыми микрокодами, где присутствуют патчи от Meltdown и Spectre, вероятно, будет больше.
Практически не повлияла ревизия микрокода и на рабочие напряжения процессора в разгоне. По мониторингу HWinfo наблюдалось абсолютное равенство минимально стабильных напряжений, хоть значения напряжений в BIOS несколько отличались.
Источник https://overclockers.ru/blog/NuJIevik/show/55456/issledovanie-vliyaniya-revizii-mikrokoda-cpu-v-corona-benchmark