Як процесори контролюють тактову частоту?


12

Нещодавно я натрапив на процесор STM з двома осциляторами в ланцюзі - я вважаю, один для швидкісної роботи, а другий для малої потужності.

Щось на кшталт настільного процесора, де тактову частоту можна змінити на будь-яку бажану частоту (в межах причини) - як це фізично це зробити?


1
Як свідчить відповідь alex, сучасна частота процесора настільних ПК не постійно змінюється. Зазвичай він проходить з кроком 100 або 133 МГц. (Пов’язано: як сучасний процесор x86 вирішує, коли змінити частоту, на "турбо" вище максимальної номінальної швидкості, або якщо ОС передає повний контроль управління живленням процесора (Intel Skylake): SKL має намір мікроконтролер з такою ж кількістю транзисторів, як 486, для прийняття частотних рішень: Чому ця петля затримки починає працювати швидше після декількох ітерацій без сну?
Пітер Кордес

Відповіді:


21

Це робиться за допомогою пристрою, який називається фазовим блоком або PLL. Ось блок-схема базової PLL:

схематичний

імітувати цю схему - Схематично створено за допомогою CircuitLab

Осцилятор на материнській платі не працює на тактовій частоті процесора, натомість працює на частоті близько 100 МГц. Цей генератор служить лише відомою стабільною опорною частотою. Всередині процесора фактична тактова частота буде генерована осцилятором , керованим напругою , або VCO. VCO може бути налаштований на генерування частот у відносно широкому діапазоні, але сам по собі він не є особливо стабільним або точним - для заданої керуючої напруги частота буде змінюватися від частини до частини та залежно від напруги та температури живлення. Потім цикл із замкненою фазою служить для блокування вихідної частоти VCO у специфічну залежність від опорної частоти.

fPFD=fref/D=fout/Mfout=frefM/D

Наприклад, припустимо, що опорна частота становить 100 МГц, опорна ділиться на 1 (D), а VCO ділиться на 30 (M). Це призвело б до вихідної частоти 100 МГц * 30/1 = 3 ГГц. Це відношення можна змінити, просто змінивши налаштування дільника, що можна зробити в програмному забезпеченні через регістри управління. Зауважте, що зміна частоти на ходу може бути не такою простою, як просто зміна значень дільника, частоту потрібно змінювати таким чином, щоб центральний процесор не бачив занадто коротких імпульсів або тактових імпульсів. Може знадобитися використовувати 2 ЛПП та перемикатися між ними, або тимчасово зупинити годинник або перейти на інший тактовий джерело, поки ПЛЛ не стабілізується на новій частоті.

PLL використовуються повсюдно для створення точних, легко настроюваних частот із фіксованих, стабільних посилань. Ваша карта Wi-Fi та маршрутизатор Wi-Fi використовують їх для вибору відповідного каналу, генеруючи локальну частоту генератора, сигнал, який використовується внутрішнім радіо для перетворення та зменшення перетворення модульованих даних. Ваше FM-радіо, швидше за все, використовує таке, щоб забезпечити програмний контроль над частотою прийому, що дозволяє легко відкликати різні станції. PLL також використовуються для генерації тактових сигналів високої частоти, які використовуються для приводу серіалізаторів та десеріалізаторів для Ethernet, PCI express, serial ATA, Firewire, USB, DVI, HDMI, DisplayPort та багатьох інших сучасних послідовних протоколів.


7

Окрім попередніх відповідей ...

Ваш мікрофон STM майже напевно має другий генератор для годинника в режимі реального часу. Це дозволяє годиннику продовжувати працювати (витрачаючи мінімальну потужність), тоді як решта мікросхема та решта ланцюга живиться. Потім пристрій може підтримувати годинник та календар, і зазвичай він також може перезапустити основний процесор на таймері - всі корисні речі для вбудованих пристроїв.


Годинник у режимі реального часу, як правило, набагато повільніше, ніж основний тактовий (типовий 32 кГц), і через це генератор тактової частоти в режимі реального часу може мати дуже низьке споживання струму.
Маккей

@mkeith Низька тактова частота важлива, звичайно, але переважно це тому, що майже весь процесор вимкнено.
Грем

Грехем, оригінальне питання стосується того, чому є два осцилятори. В принципі, ви могли б мати часткове відключення лише одним осцилятором, і таким чином ви заощадите багато енергії. Причина виникнення другого осцилятора з низькою швидкістю полягає в тому, що динамічне споживання електроенергії лінійно корелює з тактовою частотою. Таким чином, динамічне споживання електроенергії в 32 кГц буде приблизно на 300 разів менше, ніж динамічне споживання електроенергії в ланцюзі 10 МГц. На мою думку, знижена тактова частота - важлива частина відповіді.
Мейк

@mkeith Це не "принципово" - саме так він працює на кожному чіпі з RTC. Звичайно, для збереження швидкості частина RTC використовує генератор з меншою швидкістю. Але частина RTC ніколи не використовує швидший тактовий генератор - це абсолютно окремий контур на одному шматочку кремнію; і аналогічно, решта мікросхема ніколи не використовує більш повільний годинник генератора. Сам RTC використовує менше енергії, працюючи при більш повільній тактовій частоті, звичайно, але вся решта мікросхеми на 100% відключена і приймає нульовий струм (ну, наноампери струму витоку, але це все).
Грем

1
@mkeith Впевнений, і я згоден (хоча частота кристалів RTC історично пов'язана з кварцовими електромеханічними рухами в годинниках та годинниках, а не від енергозбереження електроніки). Я просто хотів уточнити для ОП, що повільніші годинники не для режиму "малої потужності" на головному процесорі - це для зовсім окремої периферії.
Грем

0

дуже обережно!

введіть тут опис зображення

Процесори мають бінарні програмовані докази та PLL з VCO для приводу лічильника, щоб він примножував шину передньої сторони, тактову частоту FSB (скажімо, 100 МГц).
Цей динамічний режим енергозбереження вибирається автоматично, коли споживання процесора низьке за допомогою правильних драйверів процесора, процесора, ОС та BIOS.

Мій i7 (8cpu) йде від 3101 МГц до 800 МГц і миттєво крокує 1100, 1300,1500 ... і т.д.

Якщо Bios обирає x31, як у моєму випадку, тоді процесор працює на частоті 100 МГц x 3100 МГц, а з двійковим лічильником в процесорі вибирають від x8 до x15, щоб зменшити потужність процесора одночасно, оскільки він регулює напругу чіпа процесора в 0,9 В все для збереження влади.

Я можу показувати курсор у верхньому правому куті на Win8.1 разом із процесорним% та пам'яттю%

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.