__ppc_get_timebase(3) Library Functions Manual __ppc_get_timebase(3) NUME __ppc_get_timebase, __ppc_get_timebase_freq - obine valoarea curenta a registrului de baza de timp pe arhitectura Power i frecvena acestuia BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include uint64_t __ppc_get_timebase(void); uint64_t __ppc_get_timebase_freq(void); DESCRIERE __ppc_get_timebase() citete valoarea curenta a registrului de baza de timp i returneaza valoarea acestuia, in timp ce __ppc_get_timebase_freq() returneaza frecvena la care este actualizat registrul de baza de timp. Registrul de baza de timp este un registru pe 64 de bii furnizat de procesoarele cu arhitectura Power. Acesta stocheaza o valoare cu incrementare monotona care este actualizata la o frecvena dependenta de sistem, care poate fi diferita de frecvena procesorului. VALOAREA RETURNATA __ppc_get_timebase() returneaza un intreg nesemnat pe 64 de bii care reprezinta valoarea curenta a registrului de baza de timp. __ppc_get_timebase_freq() returneaza un intreg fara semn pe 64 de bii care reprezinta frecvena la care este actualizat registrul bazei de timp. STANDARDE GNU. ISTORIC __ppc_get_timebase() glibc 2.16. __ppc_get_timebase_freq() glibc 2.17. EXEMPLE Urmatorul program va calcula timpul, in microsecunde, petrecut intre doua apeluri la __ppc_get_timebase(). Sursa programului #include #include #include #include #include /* Valoarea maxima a registrului de baza de timp: 2^60 - 1. Sursa: POWER ISA. */ #define MAX_TB 0xFFFFFFFFFFFFFFF int main(void) { uint64_t tb1, tb2, diff; uint64_t freq; freq = __ppc_get_timebase_freq(); printf("Frecvena de baza a timpului = %"PRIu64"Hz\n", freq); tb1 = __ppc_get_timebase(); // Face unele lucruri... tb2 = __ppc_get_timebase(); if (tb2 > tb1) { diff = tb2 - tb1; } else { /* Trateaza supraincarcarea registrului de baza de timp. */ diff = (MAX_TB - tb2) + tb1; } printf("Timpul scurs = %1.2f usecs\n", (double) diff * 1000000 / freq); exit(EXIT_SUCCESS); } CONSULTAI I time(2), usleep(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.15 17 mai 2025 __ppc_get_timebase(3)