1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Работает ли спидстеп?

Запись в дневнике разместил пользователь abxite, 25 мар 2012.

Если у Вас процессор Ivy Bridge или Haswell, Вам сюда -> http://www.applelife.ru/threads/ivy-bridge-speedstep-turboboost.38283/

Для более старых процессоров инструкция ниже:

Для этого нужно заглянуть в иорег (программа IORegistryExplorer.app)
Снимок экрана 2013-11-07 в 9.14.41.
О работе спидстепа говорят 2 параметра:
Наличие AICPMVers говорит о том, что C-States заведены. Если этот параметр отссутствует - спидстеп либо вообще не работает (при этом процессор работает на максимальной частоте), либо работает но системой не контролируется.
Наличие PerfomanceStateArray говорит о том, что P-States заведены.

Как завести спидстеп?

1. Важно прописать модель правильного мака (который по процессору и видеокарте больше всего похож на Ваше железо).

Самый простой вариант: Из конфига клевера удалить секцию SMBIOS, тем самым позволить ему автоматически подобрать правильную мак-модель на основе вашего железа.

Вариант посложнее: делать это вручную при помощи программ Champlist или Chameleon Wizard.

2. Далее обязательно в дсдт отредактировать таймеры HPET, RTC и TIMR.
Проще всего сделать это Клевером: config.pilist
Снимок экрана 2016-04-21 в 8.01.31.
Ручной метод (не актуально) (open)

в подавляющем большинстве таким образом:
Timers (open)
Код:
                Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,            // Range Minimum
                            0x0040,            // Range Maximum
                            0x00,              // Alignment
                            0x04,              // Length
                            )
                    })
                }
                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,            // Range Minimum
                            0x0070,            // Range Maximum
                            0x00,              // Alignment
                            0x02,              // Length
                            )
                    })
                }
                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_STA, 0x0F)
                    Name (_CRS, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                            {8}
                        Memory32Fixed (ReadOnly,
                            0xFED00000,        // Address Base
                            0x00000400,        // Address Length
                            )
                    })
                }

То есть редактирование зачастую сводится к тому, что нужно убрать прерывания (IRQNoFlags () {0} и IRQNoFlags () {8} из таймеров RTC и TIMR, и отдать их высокоточному таймеру HPET).
Также, если в RTC строка //Length стоит 0х04, исправить на 0х02. (0х08 исправлять не нужно!)

3. Включаем автоматическое создание таблиц спидстепа Клевером:
Снимок экрана 2016-04-21 в 8.36.52.
Более подробно (open)

Код:
<key>ACPI</key>
<dict>
    <key>SSDT</key>
    <dict>
        <key>DropOem</key>
        <true/>
        <key>Generate</key>
        <dict>
            <key>PStates</key>
            <true/>
            <key>CStates</key>
            <true/>
        </dict>
    </dict>
</dict>
Если ваш процессор Sandy Bridge или Lynnfield (Nehalem) то не будет лишним добавить поддержку С-States (C3 и С6), для этого в настройки клевера: config.plist -> секция ACPI -> SSDT добавляем строки:
Код:
   <key>C3Latency</key>
   <string>0xFA</string>
   <key>EnableC6</key>
   <true/>
При этом процессор будет потреблять немного меньше эл.энергии в простое и соответственно меньше греться.

не актуально (open)

Приводим процессорную секцию в божеский вид:
Scope {_PR) (open)


* убрать Аллиасы
* P00 желательно переименовать в CPU

Код:
Scope (_PR)
    {
        Processor (P001, 0x01, 0x00000810, 0x06)
        {
        }
        Alias (P001, CPU1) <--- убрать
        Processor (P002, 0x02, 0x00000000, 0x00)
        {
        }
        Alias (P002, CPU2) <--- убрать
        Processor (P003, 0x03, 0x00000000, 0x00)
        {
        }
        Alias (P003, CPU3) <--- убрать
        Processor (P004, 0x04, 0x00000000, 0x00)
        {
        }
        Alias (P004, CPU4) <--- убрать
    }
Для матплат ASUS, MSI конечный вариант упрощенной процессорной секции должен выглядеть так:
Код:
Scope (_PR)
    {
        Processor (CPU1, 0x01, 0x00000810, 0x06)
        {
        }
        Processor (CPU2, 0x02, 0x00000810, 0x06)
        {
        }
        Processor (CPU3, 0x03, 0x00000810, 0x06)
        {
        }
        Processor (CPU4, 0x04, 0x00000810, 0x06)
        {
        }
    }


4. Также в большинстве случаев необходим патч AppleIntelCPUPowerManagement.kext
Для этого в config.plist -> KernelAndKextPatches нужно установить ключ:
Код:
<key>AsusAICPUPM</key>
<true/>
Снимок экрана 2016-04-21 в 8.41.19.


5. Удаляем NullCPUPowerManagement.kext (если он есть)
Имейте ввиду, что если загрузка будет неудачной, нужно иметь запасной вариант загрузки с NullCPU, например на флешке.


После того как вы проделали все эти рекомендации, в иореге спидстеп появился, вы можете настроить мониторинг частот, температур процессора чтобы видеть работу спидстепа в реальном времени.
Для этого нужно из темы FakeSMC и Мониторинг Всего! скачать архив с актуальной версией FakeSMC с плагинами.
В систему (/System/Library/Extensions) из скачанного архива установить FakeSMC.kext и IntelCPUMonitor.kext затем запустить программу HWMonitor.app и смотрите как работает ваш спидстеп.

Также существует мониторинг от intel, под названием Intel Power Gadget (работает с процессорами SandyBridge и более новыми).

Вложения:

Dimettry, nfoxinc, imacs и 9 другим нравится это.
  1. Cloud19
    Где прописывать эти коды? в какой программе? в кловере не нашел
  2. chupa
    На скриншоте у тебя в PerformanceStateArray идут по порядку 0,1,2,3,4 до 14. У меня 19 но почему-то везде 0.
  3. abxite
    apalych добавил С3 и С6.
  4. bbk1125
    всем привет, стоит лион 10.7.4 32 бит с загрузчиком хамелеон, как пропатчить AppleIntelCPUPowerManagement, заходил в ссылки там скрипты все на 64 бита.
  5. apalych
    Камрад abxite, добавь ПЖ "поимённое" включение С2, С4, С6, С7 в конфиге 2k+
  6. abxite
    Проблем не вижу, выложи, насчет интереса - очень сильно сомневаюсь, все давно прошли :)
  7. alex1960
    Может куда выложить, разрабам может быть интересно?
  8. abxite
    Внутри программы километровый скрипт, если интересно - посмотри. По мне, так это решение не очень изящное и рекомендовать его я бы не стал.
  9. alex1960
    То есть патчит кехт, независимо от версии мак ос?
  10. abxite
    alex1960 это то же самое, что и AsusAICPUPM=Yes в кловере.
  11. alex1960
    Привет, откопал такую штуку AICPUPM Patch for UEFI V2.app, можешь проверить с чем его едят http://yadi.sk/d/gt16faTG3chvY, а то мне пока не на чём.
  12. menin
    В кловер добавил <key>GenerateCStates</key> <string>Yes</string> <key>GeneratePStates</key> <string>Yes</string> <key>DropOemSSDT</key> <string>Yes</string> В IORegistryExplorer показывает,что спидстеп работает,но как-то странно.HWMonitor показывает только два множителя x12 и x20.Процессор i7 920.Паралельно с Mac стоит windows 8,так в винде на диспечере задач видно множнство множителей в зависимости от нагрузки.Должно ли множителей быть более двух?Если да то спидсеп работает не правильно?И да,система разогнана по шине до 165 Мгц.
  13. Proturian
    Спасибо за подробную инструкцию!) bbk1125, у меня появился только тогда когда я в патче кловера включил LPC - это попробуйте [url]http://www.applelife.ru/threads/Нативный-спидстеп.31774/[/url] мне не помогaло( странный раньше был спидстеп работал и без PmVers множители работали как и сейчас с PmVers от 6x - 1200 и до 13x-2600 (МакПро3.1)
    Sasha23 нравится это.
  14. abxite
    bbk1125, если действительно сделал все так, и AICPMVers не появился - возможно потому что не заведен LPC (если LPC не нативный - его нужно маскировать под заведомо поддерживаемый в OSX).
  15. bbk1125
    Не появляется PmVers, все сделал, отдубасил всё, но к сожалению нет. Появился только на Сони Вайо, а на Асрок нет :(
    max38 нравится это.
  16. Daramny
    Завелось ))) мм это значит что теперь проц сам выбирает когда ему работать на низких а когда на высоких частотах?
  17. Daramny
    Сначало был только PerfomanceStateArray - все сделал по инструкции в итоге он пропал и AICPMVers не появился )))
  18. zab761
    работает но информации нет
  19. abxite
    "Клевер цвета хаки" в помощь.
  20. kpah2omg
    в клевере в какой секции все это прописывать?