Главная страница
    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.009 c
14-75306
IronHawk
2003-11-21 11:58
2003.12.23
Где можно взять прогу контроля версий?


7-75418
Eagle Owl
2003-10-16 16:11
2003.12.23
Имя учётной записи...


4-75450
Sfagnum
2003-10-23 12:04
2003.12.23
Значение SES_EMULATESYSEDIT


6-75285
Irr
2003-09-23 19:54
2003.12.23
Что за глюк в локалке с Novell?


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский