Vou dar uma ideia que tive aqui agora

não sei se é o melhor... mas deve funfar...
Imagine o seguinte:
Loop principal
{
contador++
}
Interrupcao a cada 1ms
{
olha pro contador e zera
}
Rode isso a vazio... digamos que o contador chegue a 1000 a cada 1ms...
Pronto já temos a referencia...
Agora encha com seu codigo...
Digamos que agora seu contador chegue a 500 a cada 1ms... neste caso você esta utilizando 50% do seu processador.
Vale lembrar que existem algumas falhas neste metodo que imaginei... por exemplo se houverem rotinas de delay no seu codigo que interrompam a execucao do programa... erroneamente vai parecer que vc esta utilizando mais do processador, enquanto que na verdade ele esta parado.
Mas eh uma ideia pra se pensar e avançar..
[]'s