Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
1-75223
Mtb
2003-12-10 18:22
2003.12.23
База данных


1-75181
dolphin1
2003-12-10 21:06
2003.12.23
открытые файлы


1-75142
Dest
2003-12-11 20:09
2003.12.23
Посимвольный вывод текста


3-75079
dim-
2003-12-01 11:18
2003.12.23
Нужна помощь в Селекте


14-75336
Undert
2003-11-29 22:11
2003.12.23
Одноразовая работка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский