Здравствуйте Baggy, Вы писали:
B>Мне необходима следующая инфа:
B>Существует ли механизм аналогичный RDTSC на процах фирмы AMD,а конкретнее на Athlon XP1900+ и соответственно как им пользоваться...
B>Если кто знает — подскажите пожалуйста
Есть. Например:
unsigned __int64 __declspec(naked) rdtsc()
{
__asm rdtsc ;
__asm retn ;
}
Кроме того, желательно перед использованием rdtsc проверять, действительно ли процессор поддерживает эту инструкцию (флаг 4 cpuid).
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте Павел Кузнецов, Вы писали:
ПК>Здравствуйте Baggy, Вы писали:
B>>Мне необходима следующая инфа:
B>>Существует ли механизм аналогичный RDTSC на процах фирмы AMD,а конкретнее на Athlon XP1900+ и соответственно как им пользоваться...
B>>Если кто знает — подскажите пожалуйста
ПК>Есть. Например:
ПК>ПК>unsigned __int64 __declspec(naked) rdtsc()
ПК>{
ПК> __asm rdtsc ;
ПК> __asm retn ;
ПК>}
ПК>Кроме того, желательно перед использованием rdtsc проверять, действительно ли процессор поддерживает эту инструкцию (флаг 4 cpuid).
Спасибо...но ещё два вопроса сразу возникли:
1. Как узнать точную частоту Athlon
2. И как осуществить аналогичную проверку на поддержку RDTSC но уже на самих Pentium...
Здравствуйте Baggy, Вы писали:
[]
B>2. И как осуществить аналогичную проверку на поддержку RDTSC но уже на самих Pentium...
Также:
bool __declspec(naked) IsRDTSCSupported()
{
__asm xor eax,eax;
__asm inc eax;
__asm cpuid;
__asm xor eax,eax
__asm test edx,10h;
__asm setne eax;
__asm retn;
}
Ну или так:
inline unsigned __int64 rdtsc()
{
__asm rdtsc ;
}