О противоречивости популярных информационно-диагностических программ
Введение
Несколько лет назад мною были написаны две разгромные статьи под заголовком «О несостоятельности популярных информационно-диагностических программ» (часть 1 и часть 2), наглядно доказывающие противоречивость показаний легендарной утилиты CPU-Z в части интерпретации карты SPD модулей оперативной памяти стандарта DDR3 и DDR4 SDRAM. Если кто-то до сих пор с ними не ознакомлен, то я настоятельно рекомендую это сделать после прочтения данного материала. Суть статей сводилась к тому, что на протяжении более десятка лет автор утилиты Франк Делаттре своим детищем морочил голову всему прогрессивному компьютерному сообществу и успешно продолжает это делать до сих пор. С чем связано его упорное нежелание признать и исправить досадные ошибки в формировании таблицы таймингов закладки «SPD» для меня остаётся загадкой. Тем нее менее легкомысленное доверие к утилите со стороны пользователей, обозревателей железа и прочих компьютерных адептов не утрачено и по сей день. Более того, прискорбно видеть, как CPU-Z бездумно вторят такие востребованные программные шедевры, как AIDA64, HWINFO, SIV, Speccy и прочие. Что ж, в очередной раз, но уже с высокой трибуны, пошатнём пьедестал почёта CPU-Z, а вместе с ним и AIDA64 с HWINFO, но не скучным «техноликбезом», а более решительной техникой, сродни «маваши гери».
реклама
Основная часть
Для проведения очередного эксперимента выберем модуль оперативной памяти стандарта DDR4 SDRAM, для которого прилагается доступная техническая документация изготовителя, а также карта SPD, соответствующая требованиям Приложения-спецификации «JEDEC SPD Annex L: Serial Presence Detect (SPD) for DDR4 SDRAM Modules» в части заполнения байтов SPD. Дабы не утруждаться поисками остановимся на модели Samsung M386A8K40CM2-CVF.
Данный модуль типа LRDIMM с информационной ёмкостью 64 ГБ соответствует стандарту DDR4-2933Y, микросхемы которого основаны на ревизии ядра C-die 18 нм, оперирующие на номинальной тактовой частоте 1466,66 МГц с соответствующими задержками основных управляющих сигналов 21-21-21-47. Модуль имеет содержательную техническую документацию, а также прилагаемые к нему дампы с картой SPD – CVFB0, CVFС0, CVFG0. Выбор на него пал не случайно, ведь нам необходим высокочастотный модуль, который для обеспечения совместимости с «железом» предыдущего поколения мог бы оперировать на пониженных частотах согласно стандарта JEDEC JESD79-4 – 1333,33 МГц, 1200 МГц, 1066,66 МГц, 800 МГц и 666,66 МГц. Но, как мы знаем, CPU-Z, AIDA64 и HWINFO по-своему рассчитывают частоты для так называемых в обывательской среде «JEDEC-профилей».
реклама
В продолжении ознакомления с техническими характеристиками данного модуля оперативной памяти обратимся к вышеупомянутой документации. На стр. 4 документации представлена сводная Таблица 2, группирующая минимальные длительности основных управляющих сигналов (CAS Latency, tRCD, tRP, tRAS, tRC) при соответствующей длительности тактового импульса tCK в так называемые «спидбины» – стандартные режимы работы ОЗУ – DDR4-2933, DDR4-2666, DDR4-2400 и другие. Ниже таблицы перечислены программируемые значения CAS Latency: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21.Чтобы определить, при какой частоте микросхем памяти может быть запрограммировано то или иное значение CAS Latency перейдём к Таблице 39 на стр. 47 документации.
В столбце Normal, который выделен жёлтым цветом, перечислены программируемые значения CAS Latency. Каждая ячейка таблицы, находящая справа от столбца Normal и выделенная зелёным цветом, содержит значение минимальной длительности одного тактового импульса, при которой согласно стандарта JEDEC JESD79-4 одно из двух допустимых значений CAS Latency может быть запрограммировано в регистр MR0 микросхемы памяти. Например, при частоте синхронизации с длительностью тактового импульса не менее 0,682 нс, что фактически соответствует частоте 1466,66 МГц, длительность сигнала CAS Latency может быть запрограммирована со значением 22T или 21T, а при тактовом импульсе длительностью минимум 0,75 нс (частота синхроимпульсов равна 1333,33 МГц) задержка CAS Latency может составлять 20Т или 19Т. Упростим Таблицу 39 для её представления в максимально наглядном виде.
Как видим, в упрощённой Таблице 39 присутствуют только стандартные значения тактовых частот – 1466 МГц, 1333 МГц, 1200 МГц, 1067 МГц, 933 МГц и 800 МГц. Запомним эту особенность, т.к. данная таблица послужит нам опорной точкой в нашем эксперименте. Также важно понимать, что Таблица 39 и её упрощённый вариант применимы не только к модулям оперативной памяти типа LRDIMM, но и других типов – UDIMM, RDIMM, SO-DIMM, микросхемы памяти которых оперируют на номинальной частоте, соответствующей одной из стандартных в таблице. Например, для микросхем модуля памяти DDR4-2400 согласно стандарта JEDEC JESD79-4 допускается оперирование на пониженной частоте 1067 МГц при CAS Latency 15T или 16T и частоте 933 МГц со значением CAS Latency 14T или 13T.
Теперь перейдём к наиболее занимательной части эксперимента – практической. Благо для её реализации нам не потребуется наличие модуля Samsung M386A8K40CM2-CVF. Воспользуемся лишь одним из доступных дампов SPD, например, CVFG0, и перезапишем им содержимое микросхемы SPD какого-нибудь модуля памяти. К сожалению, имеющиеся в распоряжении UDIMM-модули Samsung M378A1K43CB2-CRC, как и любые другие производства Samsung, поставляются с реверсивной защитой первых 256 ячеек микросхемы SPD ППЗУ. По этой причине их перезапись, увы, невозможна. Для выхода из ситуации перезапишем незащищённый 2-килобитный чип ППЗУ модуля памяти Qimonda 64T128020EDL2.5C2 DDR2-800 стандарта DDR2 SDRAM.
Программную часть представим актуальными на сегодняшний день версиями ранее упомянутых информационно-диагностических приложений – CPU-Z 1.88, AIDA64 5.99 и HWINFO 6.06, результаты показаний которых будем оценивать, опираясь на упрощённую таблицу
реклама
CPU-Z 1.88
Собственно, это то, ради чего затеян весь этот сыр-бор. CPU-Z в представлении не нуждается. Наверно, только ленивый не знает о существовании этой программы. Сегодня ею пользуются все – от мала до велика. История её развития уходит корнями в начало 2000-ых и задумывалась она, скорее всего, всего как альтернатива очень популярной в то время утилите WCPUID. На протяжении многих лет пользовательский интерфейс CPU-Z остаётся таким же минималистичным и консервативным и не претерпевает существенных изменений. В течение нескольких последних лет разработчик расширил функциональность программы двумя новыми закладками Graphics и Bench, которые, как показывает практика наблюдений, имеют весьма сомнительную востребованность. В то же время архаизм GUI данной утилиты просто удручает. Например, в CPU-Z не предусмотрено одновременное отображение тактовых частот для каждого ядра центрального процессора, а только лишь для одного. И это потому, что на заре 2000-ых годов, когда разрабатывалась программа, многоядерностью ещё не пахло. Таблица Timings Table закладки SPD имеет всего четыре столбца, в то время как возможное количество программируемых значений CAS Latency для модулей DDR4-2933, как мы убедились выше, может достигать двенадцати. А всё потому в 2000-ых годах доминировал стандарт PC SDRAM, а затем и DDR SDRAM, согласно которым задержка CAS Latency могла принимать не более трёх возможных значений. Поэтому изначально CPU-Z имел три столбца в таблице Timings Table, четвёртый был добавлен чуть позже, когда NVIDIA внедрила так называемые оверклокерские профили Ehnanced Performance Profiles, расширяющие возможности SPD. Теперь посмотрим, как CPU-Z интерпретирует карту SPD DDR4.
Как видим на скриншоте, в таблице Timings Table программа ошеломительной популярности демонстрирует искаженную информацию. В столбцах JEDEC #10 и JEDEC #11 значения частот рассчитаны неверно – 1381 МГц и 1454 МГц. В соответствии с нашей упрощённой Таблицей 39 для модуля памяти Samsung M386A8K40CM2-CVF, как и любого другого стандарта DDR4 SDRAM, при CAS Latency 19T и 20T допустима единственная частота 1333 МГц. Теперь посмотрим, как обстоит дело с JEDEC #9, JEDEC #8 и прочими «JEDEC-ками». Кстати говоря, наименование столбцов весьма противоречивое, потому что, как минимум, два столбца не имеют ничего общего с требованиями стандарта JEDEC JESD79-4. Автор CPU-Z не может исправить оплошность на протяжении десятка лет, кочующую от версии к версии ещё с момента внедрения стандарта DDR3 SDRAM. Сохраним показания программы в текстовый отчёт.
реклама
Ситуация абсолютно не изменилась. Программируемым значениям CAS Latency от 18T до 10T также сопоставлена неверно рассчитанная частота – 1309 МГц, 1236 МГц, 1163 МГц и т.д. Увы, эти значения никакого отношения к стандартным не имеют.
AIDA64 5.99
AIDA64 – также весьма известный и не менее популярный сегодня программный продукт для получения обширных сведений о программно-аппаратной составляющей ЭВМ. Как и CPU-Z, единолично разрабатывается с начала 2000-ого года «бессмертным» венгерским Delphi-программистом Тамашом Миклошем (Tamas Miklos). Изначально Тамаш не афишировал свою личность, а продвигал свой бесплатный продукт AIDA, а затем и AIDA32, от имени выдуманной им конторы Unlimited Possibilities. Его разработка была не очень популярной на тот момент ввиду того, что на рынке диагностического ПО доминировала SiSoftware Sandra, которая была крайне востребована благодаря своим бенчмарк-тестам с MMX-, 3DNow!- и SSE-оптимизациями.
Осознав, что на голом энтузиазме капитал не сколотить, в 2004 году на базе AIDA32 Тамаш решает замутить коммерческий проект под названием «EVEREST», а свою псевдоконтору Unlimited Possibilities переименовать в Lavalys. Кстати, в Википедии до сих пор висит байка о том, что Lavalys является резидентом Канады, однако если проверить географическое местоположение сайта www.lavalys.com, то окажется, что сервер, на котором хостится сайт компании, находится отнюдь не в Канаде, а в родной Венгрии. Тем временем в Интернет просочилась «утка», якобы разработчика AIDA32 со всеми его потрохами решила купить никому неизвестная до того момента Lavalys. С чего бы это вдруг какой-то безымянной конторе, да ещё и с другого континента, понадобился непопулярный программный продукт? Однако спустя шесть лет противостояния пакету SiSoftware Sandra предприимчивый авантюрист Тамаш придумывает очередной фейк. В 2010 СМИ распространилась информация о том, что разработчик «AIDA32-Everest» якобы выкупает права на ПО Everest у Lavalys и самостоятельно продолжает работу над программой, но уже с новым названием «AIDA64». Причём Lavalys как-то уж подозрительно охотно и без каких-либо претензий продала свою интеллектуальную собственность. Наверное, потому что Тамаш в ней был единственным программистом.
И всё-таки AIDA64 удалось победить в схватке с конкурентами благодаря частым обновлениям и своевременной идентификации нового «железа». SiSoftware Sandra давно на скамейке аутсайдеров. И лишь эпизодически всплывают новости о том, как кому-то в бенчмарк-базах Sandra удалось найти информацию об очередном инженерном процессоре. Freeware-проект PC Wizard Франка Делаттре также давно заброшен и забыт с 2014 года. Российская разработка Astra32, увы, тоже не пользуется популярностью. Собственно Astra32 никогда и не пользовалась популярностью, но всё-таки стоит отдать дань уважения её разработчику за его многолетний труд и старание.
А теперь оценим правдоподобность AIDA64, а заодно и знание матчасти её разработчиком.
Как можно убедиться, список Тайминги памяти (руссификатору, кстати, не мешало бы для начала тщательно ознакомиться с технической терминологией прежде, чем заниматься переводом) в точности копирует абсурдные «JEDEC-ки» из CPU-Z. Единственно правильными являются две первые строки списка для CAS Latency со значениями 22T и 21T. Всё остальное – бессмысленная чушь. Увы, но, судя по всему, Тамаш, как и Франк Делаттре, даже не заглядывал в многостраничный документ по стандарту JEDEC JESD79-4. Кстати, обратите внимание на Скорость памяти. Почему она оценена, как DDR4-2900 (1450 МГц), если в первой строке списка Тайминги памяти фигурирует корректно рассчитанная частота 1466 МГц? Для чего эти морочащие голову ошибочные корректировки?
HWINFO 6.06
Автором данной разработки является программист-сишник из Словакии Мартин Малик (Martin Malik). Его продукт долгое время остаётся единственной некоммерческой альтернативой AIDA64. С момента появления ранних версий в 2000 году программа распространялась как условно-бесплатная. Однако выдержать жёсткую конкурентную борьбу с Тамашем Миклошем и его упрощённой бесплатной версией ПО Everest Мартину не удавалось. Поэтому 2008 году он принял решение сделать своё детище бесплатным. Проект дожил до наших дней благодаря неиссякаемому энтузиазму Мартина, а также донатам со стороны армии почитателей его таланта.
В плане идентификации «железа» и предоставления различных сведений о нём на фоне главного конкурента HWINFO смотрится заметно слабее. Пользовательский интерфейс программы убийственно прост. Здесь своё пристанище нашли старомодные иконки, разноцветный шрифт разных размеров и начертаний. Похоже, что Мартин перфекционизмом не страдает. Однако в HWINFO есть один очень мощный и востребованный инструмент – аппаратный мониторинг. Это невероятное по количеству скопление показаний всевозможных температурных и прочих датчиков аппаратных компонентов ЭВМ в отдельном окне, зачастую не вмещающемся на экране монитора. В этом состязании HWINFO – безоговорочный лидер. Как обстоит дело с интерпретацией карты SPD DDR4 – прокомментируем скриншот ниже.
Как видим, у Мартина несколько иное и немного странное понимание того, как нужно интерпретировать SPD для построения таблицы таймингов. В ней присутствуют и стандартные частоты, типа 800 МГц, 933 МГц, 1066 МГц, 1200 МГц, 1333 МГц, и нестандартные одновременно – 733 МГц, 1000 МГц, 1400 МГц. Однако только стандартным частотам сопоставлены корректные значения CAS Latency и других сигналов ЗУ. Но есть один вопрос: куда делись программируемые значения CAS Latency 16T, 18T, 21T и 22T? Если две рассмотренные выше программы их отобразили, то в HWINFO они попросту испарились. Быть может это всего лишь недоразумение? Посмотрим на другой скриншот HWINFO.
Увы, но здесь тоже всё печально. Сформированная программой таблица таймингов неверна, а значит HWINFO также искажает сведения, как и CPU-Z и AIDA64. Похоже, из-за потока мыслей Мартин слишком увлёкся прокачкой аппаратно-мониторинговой составляющей своего плода вдохновений и не замечает досадных ошибок.
Thaiphoon Burner
Этот материал был бы не настолько интересен, если бы в нём не было упоминания о программном продукте Thaiphoon Burner, ставшим неожиданно востребованным у пользователей и обозревателей компьютерного «железа» в течение последних трёх лет. Изначально, в 2005 году, программа-программатор задумывалась всего лишь для перепрошивки микросхемы SPD модулей памяти непосредственно на материнской плате без использования каких-либо подручных приспособлений. Однако спустя 10 лет, в 2015 году, возникла идея реализовать идентификацию микросхем оперативной памяти. И как бы пафосно это не звучало, но сегодня у Thaiphoon Burner нет ни одного конкурента даже в этом зачёте, не говоря уже о тех досконально продуманных и дотошно проработанных инструментах для создания, редактирования и перепрошивки SPD. Да, программа стала ошеломительно популярной в среде простых пользователей, но стоит ли доверять ей также безрассудно, как CPU-Z?
Как видим, здесь всё идеально и придраться просто не к чему. Таблица таймингов полностью соответствует Таблице 39 из технической документации изготовителя, а также её упрощённому варианту. Все частоты рассчитаны в соответствии со стандартом JEDEC JESD79-4. Для каждой частоты корректно сопоставлено по два набора возможных значения длительностей CAS Latency и других сигналов. Могу с уверенностью заверить, что таблицу таймингов Thaiphoon Burner формирует максимально корректно для любых SPD, типа DDR2, DDR3, DDR4, LPDDR4 и прочих.
Однако, отвлекаясь от темы, хотелось бы предупредить читателей насчёт определения программой маркировки микросхем памяти: если есть сомнение – снимайте радиаторы с модулей и проверяйте. GeIL, Team Group, ADATA, Apacer всегда проявляли небрежность и безразличие в заполнении байтов SPD. Поэтому точность Thaiphoon Burner для данных изготовителей может быть под сомнением. Что касается модулей оперативной памяти Crucial, Kingston, Micron, Samsung, SK hynix, Gigabyte, Thermaltake – точность маркировки стопроцентная.
Вывод
Как вы могли убедиться, некоторые разработчики широко известных программ, к сожалению, не уделяют достаточного внимания своим детищам. Непросвещённый пользователь, в том числе обозреватели «железа», оверклокеры-профессионалы и прочие компьютерные энтузиасты, не замечая, принимают досадные программные ошибки за чистую монету. Никто не ставит под сомнение достоверность показаний CPU-Z, AIDA64, HWINFO и прочих, в том числе Speccy, SIV, Astra32, Sandra. Даже сами разработчики убеждены в безошибочности сведений, которые предоставляют их программы. В противном случае эти ошибки были бы исправлены ими ещё десяток лет назад. Вы и другие пользователи обмениваетесь скриншотами закладки «SPD» CPU-Z и даже не задумываетесь, что на них очевидная чушь. Авторы обзорных статей пишут материал, прикладывая скриншоты AIDA64, а затем по этим противоречивым скриншотам втирают вам о том, что бредовые частоты абсолютно соответствуют стандартным. Вы проводите конкурсы по разгону оперативной памяти, требуя от их участников демонстрации четырёх скриншотов CPU-Z с различным закладками, в том числе скриншот закладки «SPD», и даже не осознаете тот абсурд, который на ней запечатлён. Очнитесь, граждане! Не позволяйте себя одурачивать.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила