Time Stamp Counter (TSC) — 64-розрядний регістр процесора, що присутній у всіх процесорах архітектури x86 починаючи з Pentium. Даний регістр є лічильником, що підраховує кількість циклів процесора з моменту перезапуску. Інструкція RDTSC
повертає значення TSC у парі регістрів EDX:EAX. У 64-розрядному режимі RDTSC
також очищує верхні 32-розрядні половини регістрів RAX і RDX. Код операції 0F 31
.
Процесори-конкуренти Pentium, такі як Cyrix , не завжди мали TSC, і деякі з них інтерпретують команду RDTSC
як невідому інструкцію процесора. У процесорах Cyrix TSC з'явився починаючи з моделі .
Використання
TSC деякий час[] був відмінним методом отримати у програмі інформацію про швидкість процесора, що не потребував накладних витрат і мав високу роздільну здатність (такти процесора). Втім, з появою багатоядерних процесорів, а також технологій типу hyper-threading, систем з багатьма процесорами, гібернації у операційних системах, TSC вже не може слугувати надійним джерелом інформації про інтервали часу, якщо тільки не вжито спеціальних заходів виправлення можливих неточностей (швидкість інкрементування лічильника, синхронізація часових регістрів між ядрами або процесорами тощо). У багатопроцесорній системі не гарантується, що лічильники timestamp синхронізовані між усіма процесорами на системній платі; таким чином, програма може отримати надійний результат лише у випадку обмеження одним заданим процесором. Але навіть тоді швидкість процесора може змінюватися через перемикання у режими заощадження енергії, або ж система може увійти у стан гібернації, а пізніше «прокинутися», скидаючи при цьому значення TSC. У таких випадках програма мусить періодично запускати процедуру перекалібрування лічильника.
Процесори Intel починаючи з Nehalem підтримують так званий «invariant TSC»—режим, при якому лічильник завжди інкрементується з фіксованою частотою, незалежно від того, у яких ACPI-режимах перебуває процесор: P, C чи T.
Інші процесорні архітектури
Процесори інших архітектур також містять регістри—лічильники тактів. Наприклад, процесори AVR32 мають регістр, що називається Performance Clock Counter (PCCNT). надає регістр TICK
. Архітектури ARMv7 і ARMv8 мають узагальнений лічильник, що збільшується з постійною частотою. PowerPC має 64-розрядний регістр TBR
.
Див. також
- [en]
Джерела
- (PDF). с. 460. Архів оригіналу (PDF) за 21 квітня 2019. Процитовано 7 серпня 2019.
- . Архів оригіналу за 23 серпня 2019. Процитовано 7 серпня 2019.
- 17.17.1 Invariant TSC. (PDF). Т. Vol. 3B: System Programming Guide, part 2. Архів оригіналу (PDF) за 7 серпня 2019. Процитовано 7 серпня 2019.
- . Архів оригіналу за 7 серпня 2019. Процитовано 7 серпня 2019.
- . Архів оригіналу за 20 червня 2020. Процитовано 7 серпня 2019.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Time Stamp Counter TSC 64 rozryadnij registr procesora sho prisutnij u vsih procesorah arhitekturi x86 pochinayuchi z Pentium Danij registr ye lichilnikom sho pidrahovuye kilkist cikliv procesora z momentu perezapusku Instrukciya RDTSC povertaye znachennya TSC u pari registriv EDX EAX U 64 rozryadnomu rezhimi RDTSC takozh ochishuye verhni 32 rozryadni polovini registriv RAX i RDX Kod operaciyi 0F 31 Procesori konkurenti Pentium taki yak Cyrix ne zavzhdi mali TSC i deyaki z nih interpretuyut komandu RDTSC yak nevidomu instrukciyu procesora U procesorah Cyrix TSC z yavivsya pochinayuchi z modeli VikoristannyaTSC deyakij chas koli buv vidminnim metodom otrimati u programi informaciyu pro shvidkist procesora sho ne potrebuvav nakladnih vitrat i mav visoku rozdilnu zdatnist takti procesora Vtim z poyavoyu bagatoyadernih procesoriv a takozh tehnologij tipu hyper threading sistem z bagatma procesorami gibernaciyi u operacijnih sistemah TSC vzhe ne mozhe sluguvati nadijnim dzherelom informaciyi pro intervali chasu yaksho tilki ne vzhito specialnih zahodiv vipravlennya mozhlivih netochnostej shvidkist inkrementuvannya lichilnika sinhronizaciya chasovih registriv mizh yadrami abo procesorami tosho U bagatoprocesornij sistemi ne garantuyetsya sho lichilniki timestamp sinhronizovani mizh usima procesorami na sistemnij plati takim chinom programa mozhe otrimati nadijnij rezultat lishe u vipadku obmezhennya odnim zadanim procesorom Ale navit todi shvidkist procesora mozhe zminyuvatisya cherez peremikannya u rezhimi zaoshadzhennya energiyi abo zh sistema mozhe uvijti u stan gibernaciyi a piznishe prokinutisya skidayuchi pri comu znachennya TSC U takih vipadkah programa musit periodichno zapuskati proceduru perekalibruvannya lichilnika Procesori Intel pochinayuchi z Nehalem pidtrimuyut tak zvanij invariant TSC rezhim pri yakomu lichilnik zavzhdi inkrementuyetsya z fiksovanoyu chastotoyu nezalezhno vid togo u yakih ACPI rezhimah perebuvaye procesor P C chi T Inshi procesorni arhitekturiProcesori inshih arhitektur takozh mistyat registri lichilniki taktiv Napriklad procesori AVR32 mayut registr sho nazivayetsya Performance Clock Counter PCCNT nadaye registr TICK Arhitekturi ARMv7 i ARMv8 mayut uzagalnenij lichilnik sho zbilshuyetsya z postijnoyu chastotoyu PowerPC maye 64 rozryadnij registr TBR Div takozh en Dzherela PDF s 460 Arhiv originalu PDF za 21 kvitnya 2019 Procitovano 7 serpnya 2019 Arhiv originalu za 23 serpnya 2019 Procitovano 7 serpnya 2019 17 17 1 Invariant TSC PDF T Vol 3B System Programming Guide part 2 Arhiv originalu PDF za 7 serpnya 2019 Procitovano 7 serpnya 2019 Arhiv originalu za 7 serpnya 2019 Procitovano 7 serpnya 2019 Arhiv originalu za 20 chervnya 2020 Procitovano 7 serpnya 2019