Pregunta: | 15754 - COMO PUEDO SABER LA VELOCIDAD DEL PROCESADOR EN C |
Autor: | Hervi Molina |
Estoy buscando la forma de determinar la velocidad desde un programa en C, si alguien sabe porfavor me lo diga. |
Respuesta: | Claudio Romero |
En realidad el ejemplo es C++ Builder 3, no de C pero por si te sirve
aca hay un fragmento del fuente. El programa completo lo envie para bajarlo zipeado. Compila en Borland C++ Builder 3, bajo procesadores Pentium o superiores. int Calcula_MHZ_procesador() { unsigned long HI_inicio,LO_inicio,C;double cantidad; asm { db 0x0F, 0x31 // opcode for RDTSC mov HI_inicio,edx mov LO_inicio,eax } Sleep(500); asm { db 0x0F, 0x31 // opcode for RDTSC sub eax,LO_inicio jnc @no_carry dec edx @no_carry: sub edx,HI_inicio mov ecx,1000 // en eax cuantos miles de ciclos pasaron en medio seg. div ecx //edx:eax / ecx mov C,eax } cantidad=C; cantidad=(cantidad / 1000)*2; return INT(cantidad); } Llamada de la funcion. (Devuelve por ej 301 serian mhz) Button1->Caption=IntToStr(Calcula_MHZ_procesador()); Los fuentes y el ejecutable en C++ Builder se pueden bajar aqui http://www.gratisweb.com/qhm/MHZ_procesador_exe.zip Saludos |