Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 391 • Страница 10 из 20<  1 ... 7  8  9  10  11  12  13 ... 20  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 16.04.2004
Откуда: [MSK.RU]
Гы...
Выскажу своё мнение, однако....
(disclaimer: это просто имхо человека, [безуспешно] пытавшегося переплюнуть cpu-z, а также очень любящего получать наиболее полную информацию... :roll: Не придирайтесь...)

По поводу HTT.
Во всех четвёртых пнях бит 28 Standart Features Flags =1
Для того, чтобы точно определить наличие НТТ, надо смотреть на Logical Processor Count (cpuid: 0001h EBX[23..16]).

По поводу PSN.
Он есть, кажется, только на Катмаях и каких-то там Трансметах...
SFF bit 18 вам в помощь...

Вообще.
Инструкция cpuid - вещь великая... И пользовать её надо по максимуму.

С Intel очень приятно работать, пока дело не касается определения ЦПУ... С AMD ситуация обратная.
Если найдёте старую версию AMDэшного дока за номером 20734 - будет вам счастье. Последняя, к сожалению, просто бесполезна...



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Tod Schwarzkaiser
Цитата:
старую версию AMDэшного дока за номером 20734

это оно:
Цитата:
20734 Publication # 3.04 Revision:
September 2003 Issue Date:

??? могу выслать, если очень надо

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Цитата:
По поводу HTT.
Во всех четвёртых пнях бит 28 Standart Features Flags =1
Для того, чтобы точно определить наличие НТТ, надо смотреть на Logical Processor Count (cpuid: 0001h EBX[23..16]).

Пару страниц назад я об этом писал, но автор решил игнорировать и опять делать по своему :)


 

Member
Статус: Не в сети
Регистрация: 09.01.2005
Откуда: Питер
Не успеваю! Поток инфы большой, времени мало. Будем разбираться. :)

_________________
Rara temporum felicitas, ubi quae velis sentire et quae sentias dicere licet!


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Ну уж постарайся. Видиш как народ подхватил идею :)


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Zoom Evstrahiev предлагаю свое видение HT :D
Код:
function CheckHT:boolean;   
var
  EAX, EBX, ECX, EDX: DWord;
begin
  cpuid($1, EAX, EBX, ECX, EDX);
  if (FlagHT) then //if HT flag is enabled
              HyperThreadNum:=(EBX shr 16) and $FF
                  else
                     HyperThreadNum:=0;
  if (HyperThreadNum <= 1) then
                            begin
                              FlagHT:=false;
                              result:=false;
                         end
                         else
                          result:=true;
end;      

Думаю со всем разберешься :-)
PS FlagHT - это тот флаг, по которому ты в данный момент пытаешься определить наличие HT :-)

_________________
Ку ку


Последний раз редактировалось Daemon 01.03.2005 23:09, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Zoom Evstrahiev писал(а):
Lord_of_Darkness Ага! А я тебя вычислил! :) Ты в своё время тоже бенчмарк писал... :hitrost:

Мда.. было дело, очень давно правда. Первый, так сказать, опыт, хоть и не очень удачный, но все-же опыт...

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 09.01.2005
Откуда: Питер
Daemon Я уже сделал нечто подобное: (HT and LogicalCPUscount>1)

Добавлено спустя 1 час, 15 минут, 25 секунд:
------------------------------
Альфа релиз 0.2.7
http://rulezmaker.fatal.ru/cpu0.2.7.exe
0.2.7
[*] Уменьшено время загрузки программы.
[*] Изменён алгоритм определения наличия технологии Hyper-Threading.
------------------------------

_________________
Rara temporum felicitas, ubi quae velis sentire et quae sentias dicere licet!


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
:shock: :dance: урааа наконец-то у моего проца гипертрайдинг отвалился!! Хотя мне его будет нехватать :weep:
#77

Добавлено спустя 9 минут, 52 секунды:
Но попрежнему определить, что енто селерон можно только по размеру кэш

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Если уж затронули бенчмарки, может кто-нибудь может порекомендовать какой-нибудь математический аппарат, для написания FPU теста с последующей реализацией алгоритма на 3DNow и SSE.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Belgium
у меня в строчке бранд пишет атлон 64 2800+ мобайл, не показывает а64 инструкции и говорит что 13 микронный процесс. хотя проц 0.9 винчестер 3000+.

_________________
рэп - это то что я слушаю, а хип-хоп - это то как я живу.


 

Member
Статус: Не в сети
Регистрация: 16.10.2004
Откуда: Тюмень
Zoom Evstrahiev
А может название стоит поменять? А то Rulezmaker CPU info звучит как-то...

Daemon
А к чему алгоритм? Все равно всем известно кто победит ;)


 

Member
Статус: Не в сети
Регистрация: 15.09.2004
Откуда: Иркутск
У меня все без изменений :( скрины можно увидеть выше.
Цитата:
А может название стоит поменять? А то Rulezmaker CPU info звучит как-то...
Да, на хотя бы как в названии темы R-CPU Info - не раздражает и загадочно, никто и не догадается что было изначально.:D


 

Если интересно, вот скрины с сервера
для примера и сравнения использовал CPU-z ;)
#77#77

надеюсь, автору пригодится.
З.Ы. Вобще, впечатления от программы приятные!


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Во! На оптероне так и пишет AMD Opteron, а у меня на целке Intel Pentium!!!

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 09.01.2005
Откуда: Питер
Насчёт названия: У всех моих программ стоит лейбл Rulezmaker. Так уж повелось. Но, раз народ просит, будем менять концепцию :)
Anri Хотелось бы лицезреть скрины программы+CPUz
Lord_of_Darkness Ничего не понимаю! Сейчас выложу исходники. Вроде бы BId правильный....

_________________
Rara temporum felicitas, ubi quae velis sentire et quae sentias dicere licet!


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
Zoom Evstrahiev Названия менять не надо, просто дать второе имя (упрощенное типа R-CPU)

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


 

Member
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Belgium
#77 #77

когда я ставлю галочку на рилтайм, прога показывает нормальную частоту. если надо есть ещё мобильный атлон хр на другой машине, могу и там прогнать.

_________________
рэп - это то что я слушаю, а хип-хоп - это то как я живу.


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Zoom Evstrahiev ой, бить, точно бить :-)
У тебя элементарно не работает код :-) Почему, думаю догадаешься сам.
На всякий случай раскажу, ты делаешь так:
Код:
function TCpuData.CheckCeleron: Boolean;
var
  BId: dword;
begin
  CheckCeleron:=(intelbrandid=($A or $1 or $3 or $7 or $12 or $14 or $17));
end;

В С правильно зделали, там есть "или" логический и "или" арифметический(т.е. || и | или наоборот :-)). В Delphi приходится пользоватся просто or, и теперь гляди что получается: ты выполняешь арифметические операции на числами в скобках и там получается всегда $1F, ну и естественно неработает :-)
Делай так:
Код:
function TCpuData.CheckCeleron: Boolean;
var
  BId: dword;
begin
  result:=false;
  result:=(intelbrandid in [$A, $1, $3, $7, $12, $14, $17]);
end;


И еще одно, ты делаешь так:
Код:
Вот процедура IntelPFN
function TCpuData.IntelPFN: string;
begin
if CheckIthanium=true then
      IntelPFN:='Intel Ithanium' else
if checkceleron=true then
      IntelPFN:='Intel Celeron(r) 4' else
      IntelPFN:='Intel Pentium(r) 4';

Intel Celeron(r) 4 - помоему такого нет, так что убирай 4, а вместо r лучше напишы tm :-)

И небольшое пожелание: потом ты сам будешь путатся в своем же коде, так что лучше используй класс и как-то универсализируй код, чтобы было аккуратно и понятно. А то вызов инструкции cpuid раз 20 наверное в коде :-)
Ну а пока лучше замени

Код:
    push eax
    push ebx
    push ecx
    push edx


На pushad

И
Код:
    pop edx
    pop ecx
    pop ebx
    pop eax


На popad

Добавлено спустя 1 минуту, 15 секунд:
И насчет космических BrandID, я же тебе давал код
Код:
  // for BrandID
   if (FlagBrand = amd) and (Family = $F) then // for Hammer or later
      begin
          if  (BrandID = 0)  then
                             begin
                                  BrandID := (EBX shr 5) and $7;      // bit 5-7
                               if( BrandID = 0 )then
                                                   begin
                                                        BrandID := (EBX shr 8) and $7;   // bit 8-10
                                                      end;
                                 BrandIDNN := EBX and $1F;
                                end;
      end
    else
      begin
           BrandID   := EBX and $FF;
       end;

_________________
Ку ку


Последний раз редактировалось Daemon 03.03.2005 21:15, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 09.01.2005
Откуда: Питер
:)

Добавлено спустя 1 минуту, 2 секунды:
:)

_________________
Rara temporum felicitas, ubi quae velis sentire et quae sentias dicere licet!


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 391 • Страница 10 из 20<  1 ... 7  8  9  10  11  12  13 ... 20  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan