PDA

View Full Version : [C] Ricavare Velocità CPU


nico88desmo
30-07-2007, 18:51
Come da titolo...come si può rilevare la frequenza del processore?
Utilizzando come linguaggio di programmazione il C.

Grazie

cionci
31-07-2007, 08:15
Con il C standard non hai modo di ricavarla. L'unico modo è andare a sfruttare delle istruzioni assembly inline sfruttando il comando CPUID.

In alternativa puoi andare a recuperarla sfruttando qualche API fornita dal sistema operativo, ma ovviamente non è C standard.

nico88desmo
31-07-2007, 19:11
Con il C standard non hai modo di ricavarla. L'unico modo è andare a sfruttare delle istruzioni assembly inline sfruttando il comando CPUID.

In alternativa puoi andare a recuperarla sfruttando qualche API fornita dal sistema operativo, ma ovviamente non è C standard.

Mi sapresti dare qualche dritta su quale usare?

cionci
01-08-2007, 10:43
Sulle API Win32 non è proprio la cosa più. Bisogna stare lì ad impazzi con le varie QueryPerformanceCounter e QueryPerformanceFrequency.
Basta attendere N cicli del contatore (con un'attesa attiva ed è importante anche che il programma abbia la massima priorità possibile) e sapendo la frequenza con cui il contatore si aggiorna riesci a calcolarti la frequenza della CPU.