Главная страница
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.021 c
3-75110
real_dimedrol
2003-11-29 01:48
2003.12.23
UpdateSQL для dbExpress


14-75391
Leon crom
2003-11-28 11:53
2003.12.23
вот так бывает


1-75170
Дельфи
2003-12-09 16:07
2003.12.23
Как прокрутить TRichEdit вниз?


3-75131
GOGA
2003-11-30 18:38
2003.12.23
непонятно работает UpdateSQL


1-75257
webpauk
2003-12-11 19:40
2003.12.23
OnKeyDown