Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.23;
Скачать: CL | DM;

Вниз

Celeron 2 ГГц и Hyper-Threading   Найти похожие ветки 

 
Woolen   (2003-10-20 13:27) [0]

Подскажите, кто может. Делаю так:
Result := False;
asm
push eax
push ebx
push ecx
push edx
xor eax,eax
cpuid
mov EAXCopy,eax
pop edx
pop ecx
pop ebx
pop eax
end;
if EAXCopy > 0 then
begin
asm
push eax
push ebx
push ecx
push edx
mov eax,1
cpuid
mov EDXCopy, edx
pop edx
pop ecx
pop ebx
pop eax
end;
Result := EDXCopy and $10000000 <> 0;
end;
EAXCopy и EDXCopy - переменные типа Cardinal. Это я пытался написать функцию, проверяющую наличие Hyper-Threading. Функция возвращает True на Celeron 2 ГГц. У него что, Hyper-Threading есть, или я что-то сделал неправильно?


 
ZeroDivide ©   (2003-10-20 13:47) [1]

Нда... не знаю как на счет HT в твоем целероне, почему бы кстати и нет? но вот вместо
push eax
push ebx
push ecx
push edx

я бы поставил pusha уж точно, если вобще pusha не генериться компилятором автоматически на инструкции asm .


 
Woolen   (2003-10-20 14:52) [2]


> я бы поставил pusha уж точно, если вобще pusha не генериться
> компилятором автоматически на инструкции asm.

нет, не генерится.
и не pusha, а pushad, потому что перед pusha Delphi поставит префикс, обозначающий, что операция 16-битная. Просто я как-то о ней не подумал. Да и боюсь, что что-то лишнее останется неизменным. Укакзатель на текущую команду где вообще хранится? Что-то я не помню... Или он в недоступном месте?


 
VMcL ©   (2003-10-20 19:54) [3]

Вопрос №1: на фига push регистры eax, edx и ecx?


 
VMcL ©   (2003-10-20 20:02) [4]

function TestHT: Boolean;
asm
push ebx
xor eax, eax
cpuid
test eax, eax
jnz @@OK

@@No: xor eax, eax
jmp @@Exit

@@OK: mov eax, 1
cpuid
test edx, 1 shl 28
jz @@No
mov eax, 1

@@Exit: pop ebx
end;



Страницы: 1 вся ветка

Текущий архив: 2003.12.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-75152
NAlexey
2003-12-09 16:03
2003.12.23
FloatToStr и ffGeneral


1-75253
killer
2003-12-10 13:57
2003.12.23
Как зарегистрировать свою программу в Windows?


1-75190
GreySerg
2003-12-09 15:16
2003.12.23
Как в Clipboard вставить не только сам текст , но и его форматиро


3-75119
Frag
2003-11-28 11:51
2003.12.23
Описание Excel


1-75246
DNT
2003-12-11 16:54
2003.12.23
Скорость выполнения процедуры