Отключить Turbo Boost на Core i7 Mac?

Есть ли способ программно отключить Turbo Boost на Mac Core i7 с Mac OS X? Мне нужно иметь возможность сделать это для целей бенчмаркинга при оптимизации кода и т.д. В противном случае полезной может быть любая утилита, которая может отключить/включить Turbo Boost, даже если она требует перезагрузки.

На SO есть связанный с этим вопрос (а не Mac): Как отключить Turbo Boost временно?, но даже для ПК кажется, что не может быть способ сделать это программно/на лету?

Ответ 2

Вы не можете. Некоторые вещи необходимо настроить из BIOS, таких как TurboBoost или Vt.

В частности, это делается с помощью MS32 IA32_FEATURE_CONTROL. На ПК во время загрузки MSR разблокируется и BIOS устанавливает правильные биты для включения или отключения функций. После завершения настройки BIOS блокирует MSR, чтобы изменения вступили в силу и предотвратили будущую модификацию.

Я не знаю, возможно ли разблокировать MSR еще до того, как ПК будет переведен в защищенный режим, и я не знаю, как это работает на MacBook, где EFI используется вместо BIOS. Вероятнее всего, вы сможете использовать его с расширением EFI.

Ответ 3

CPUID.com Утилита Tmonitor может отключать/активировать Turbo Boost "на лету" изнутри Windows, а не при загрузке! Должен быть способ сделать то же самое из OSX.

Ответ 4

Я только что закодировал приложение, которое позволяет загрузить/выгрузить упомянутое ранее расширение ядра, помогая отслеживать поведение системы, отображая температуру процессора и текущую скорость вращения вентилятора.

Вы можете проверить это здесь https://github.com/rugarciap/Turbo-Boost-Switcher

Вот скриншот о том, как это выглядит как http://i.stack.imgur.com/tsKaG.png

Ответ 5

Наконец, похоже, это хорошее решение для этой проблемы, которое я протестировал с Mac OS X Lion на Core i7 MacBook Pro сегодня, и, похоже, он работает хорошо. Адам Стшелецкий, исследователь по параллельным вычислениям в Ягеллонском университете в Кракове, Польша написал DisableTurboBoost.kext - это небольшой kext, который можно загрузить и выгружается по желанию (через командную строку) для отключения/включения TurbBoost.