Time Stamp CounterTime Stamp Counter (TSC) — 64-розрядний регістр процесора, що присутній у всіх процесорах архітектури x86 починаючи з Pentium. Даний регістр є лічильником, що підраховує кількість циклів процесора з моменту перезапуску. Інструкція Процесори-конкуренти Pentium, такі як Cyrix 6x86, не завжди мали TSC, і деякі з них інтерпретують команду ВикористанняTSC деякий час[коли?] був відмінним методом отримати у програмі інформацію про швидкість процесора, що не потребував накладних витрат і мав високу роздільну здатність (такти процесора). Втім, з появою багатоядерних процесорів, а також технологій типу hyper-threading, систем з багатьма процесорами, гібернації у операційних системах, TSC вже не може слугувати надійним джерелом інформації про інтервали часу, якщо тільки не вжито спеціальних заходів виправлення можливих неточностей (швидкість інкрементування лічильника, синхронізація часових регістрів між ядрами або процесорами тощо). У багатопроцесорній системі не гарантується, що лічильники timestamp синхронізовані між усіма процесорами на системній платі; таким чином, програма може отримати надійний результат лише у випадку обмеження одним заданим процесором. Але навіть тоді швидкість процесора може змінюватися через перемикання у режими заощадження енергії, або ж система може увійти у стан гібернації, а пізніше «прокинутися», скидаючи при цьому значення TSC. У таких випадках програма мусить періодично запускати процедуру перекалібрування лічильника. Процесори Intel починаючи з Nehalem підтримують так званий «invariant TSC»—режим,[2] при якому лічильник завжди інкрементується з фіксованою частотою, незалежно від того, у яких ACPI-режимах перебуває процесор: P, C чи T.[3] Інші процесорні архітектуриПроцесори інших архітектур також містять регістри—лічильники тактів. Наприклад, процесори AVR32 мають регістр, що називається Performance Clock Counter (PCCNT). SPARC V9 надає регістр
Див. такожДжерела
|
Portal di Ensiklopedia Dunia