Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-75101
NetKnight
2003-11-28 17:03
2003.12.23
DBComponents & Unicode


1-75178
Silver_
2003-12-10 14:56
2003.12.23
Screen.Forms - может кто поправит, если не прав?


1-75249
DimaLos
2003-12-10 14:33
2003.12.23
Как добавить разрыв страницы в Excel из Delphi?


14-75403
Dimman1
2003-11-27 16:23
2003.12.23
Почему при запуске WinXP идет обращение к дисководу


1-75216
DeMoN-777
2003-12-11 02:06
2003.12.23
Определение раскладки




   Наверх