Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2012-03-28 22:45:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
обнаружен новый процессор
     Или вот, скажем, компьютеры.

     Я ведь почему раньше злой был в жеже сейчас мало писал? Потому что у меня велосипеда не было меня опять компьютерное железо радовало!
     Вот написал я две с половиной недели назад, что три дня боролся, чтобы "домашний сервер" не вис. И как оказалось, поторопился - он, сволочь, после этого всё равно вис, но реже - этак раз в несколько часов, мог и больше суток оттарабанить, а потом зависнуть. Вис явно "по железу" - без синего экрана или перезагрузки, просто "замерзал". Если "раздеть" - снять всё лишнее - не виснет, в полной конфигурации - виснет. Уж не буду расписывать, какой "большой круг танцев с бубном" я совершал эти две недели (ладно бы он сразу вис, а тут после каждого изменения ждать приходится), сразу скажу, после чего он перестал виснуть (ну... за ближайшие три дня, думаю этого уже достаточно).

     После того, как я переткнул USB-флэшку (кингстон, 8Гб) из набортного USB-контроллера (того, что в куче разъёмов на спине материнки, не того, что "выкидышем" цепляется), в отдельный USB-PCI контроллер.     Кстати, прошлые причины зависания (слабое питание, PCI плата не в том слоте) тоже подтвердились: попробовал откатиться на предыдущий БП - виснет за несколько часов, переставил плату в соседний слот - виснет буквально через несколько минут.

     Удивительно, правда? Вот ни за что бы не догадался, что дивайс, подцепленный по USB, может вызывать такого типа зависания. Я и "падение в синьку"-то для стандартного USB дивайса (типа флэшки-принтера-сканера) с трудом представляю, а тут такое.
     Ну, зато питание у компа теперь будет с большим запасом прочности - в процессе отлова глюков купил ему FSP 600W, плюс напаял на +5 и +12 полкило советских электролитов и металлобумажных кондёров; потоки воздуха и температура компонент выверены пальцем и пирометром, и вообще - пусть попробует зависнуть, после всего того, что мне с ним пришлось сделать!

     Любопытно также другое. После всех этих манипуляций отсохло управление экспозицией у веб-камеры (A4tech PK-130MJ). Бегунок есть, но он меня не то чтобы совсем игнорирует - скорее, ведёт себя как не очень свежий гальванизируемый труп: "иногда подёргивается, но в основном не в тему". При этом ничего не менялось (три смены железа и четыре переустановки системы, конечно, не в счёт), камера "бездрайверная" (драйвера стандартные системные, "играться" не с чем), а самое смешное - воткнув камеру в ещё три разных компьютера с XP, обнаружил что управление экспозицией не работает и там. Версия, что "мне всё это показалось" не проходит - в архивах есть нотариально заверенные скриншоты кадры, по которым чётко виден результат настройки.
     Пока не придумал ничего лучше, чем попробовать подменить файлики с драйверами на выдранные из SP2 (ведь "лучше" было "раньше", а встроенные драйвера появились вроде бы в SP2) - ессно, без результата (да, я в курсе про windows system file protection). Пока получается, что самый простой вариант - заменить тупо камеру, на logitech C310 например - логитек сейчас хвалят, а С310 как раз примерно подходит.

     Но тут я не понимаю уже другого. Ну ладно, производитель камеры не пишет размеров матрицы (A4tech, кстати, писал) - она, как мощность двигателя в паспорте автомобиля "бентли", "достаточная". Ладно, фокусное расстояние объектива тоже держится в секрете - по нему можно прикинуть размер матрицы (и офигеть, какая она - скорее всего - мелкая). Но уж угол обзора-то зачем производителю скрывать, тем более что это не китаец какой-нибудь "за рупь ведро", а серьёзный производитель, лидер, тсзть, отрасли?
     Придётся всё проверять экспериментально.

     А, да. Я, собственно, почему в заголовке про "новый процессор" написал.
     В рамках "большого круга танцев с бубном" решил снять-поставить процессор - вдруг там одна из тысячи ножек плохо контачит. Отключаю компьютер вилкой из розетки (я знаю этот милый прикол, когда "выключенный" компьютер внезапно включается ровно в тот момент, когда вы наполовину вытащили из слота, например, видеокарту), отцепляю кулер, снимаю процессор, протираю контактные площадки подолом майки, вставляю процессор, перемазываю пасту, надеваю кулер. Включаю в сеть - и вижу сообщение BIOS: "был установлен новый процессор, пройдёмте в BIOS, понастраиваемся".
     Откуда он знает?! Питания же не было! Или материнская плата, даже питаясь от той батарейки-таблетки, которая держит часы и NVRAM, всё равно следит за тем, не вынули ли из неё процессор, и если вынули - запоминает, чтобы потом напомнить? Загадка :-)


(Добавить комментарий)


[info]iced_beard@lj
2012-03-28 20:36 (ссылка)
У БИОСа собственная батарейка питания. Так что вполне.

(Ответить) (Ветвь дискуссии)


[info]mc6312@lj
2012-03-29 01:28 (ссылка)
БИОС и мелкосхему часов/CMOS-памяти не путаете?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]iced_beard@lj
2012-03-29 05:17 (ссылка)
Не, не путаю. Прошивка и ЦП биоса находятся на одной схеме с его же памятью.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]mc6312@lj
2012-03-29 07:34 (ссылка)
Взял первую попавшуюся мамку под 4 пень (на 865 чипсете - старье, но еще не динозавр). Посмотрел маркировку мелкосхемы с БИОСом (49LF003A), скачал даташит. Ничего сложнее тупого контроллера для чтения/записи содержимого флэш-памяти не обнаружено.
Взял мать посвежее, на G965. Смотрю даташит на тамошнюю флэху (MX25L8005M2C) - и хде там "ЦП биоса"?
Поясните уже, что вы таки имели в виду.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]iced_beard@lj
2012-03-29 07:40 (ссылка)
Моя вина, неправильно выразился. Под ЦП я имел в виду контроллер для чтения/записи/исполнения прошивки.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]mc6312@lj
2012-03-29 08:15 (ссылка)
Исполнения какой прошивки? Содержимого БИОСа? Её, пардоньте, CPU исполняет.
Для перезаписи самой флэшки ничего такого не нужно, это не SSD и не USB Mass Storage с развесистыми протоколами.

(Ответить) (Уровень выше)


[info]crazy_blu@lj
2012-03-29 00:44 (ссылка)
CPUID Data Tab

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 01:36 (ссылка)
И чего? При протирании подолом майки у процессора изменяется CPUID?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]crazy_blu@lj
2012-03-29 02:05 (ссылка)
Могу предположить (полностью доку читать лень).
1. Вообще то "энергонезависимый" таймер есть везде, в том числе и на процессоре. Always Running APIC Timer (ARAT) capability. Несовпадение таймеров проца и BIOS == процессор меняли.
2. Батарейка не только питает BIOS. Резко выросшее напряжение какой-либо ноги == сигнал что процессор меняли. К примеру.

CPUID отдает очень много инфы по внутренностям процессора.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 03:17 (ссылка)
1. В принципе, верю - для этого, правда, нужно подтянуть к процессору питание ещё и от той самой батарейки, но если им зачем-то понадобился "таймер в процессоре" - то почему бы и нет.
2. А вот это как раз непонятно: ладно, если такое "обнаружение факта извлечения" можно влёгкую сделать как побочный эффект чего-то штатного (того же автономного таймера), и другое дело - если для этого нужно делать отдельную специальную цепь - как для "контроля не дёрнулось ли питание ножки". Для этого надо иметь какую-то мотивацию - а я не понимаю, зачем это могло бы понадобиться... :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]crazy_blu@lj
2012-03-29 04:27 (ссылка)
Ну вот "зачем" как-раз понятно. Каждый процессор со своим таймингом (так-же как и DIMM/DDR), к каждому нужно донастроить свои временные настройки, иначе работать не будет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 05:32 (ссылка)
Что, неужели прямо вот каждый экземпляр процессора со своим таймингом, и под это нужно подстраиваться, причём не просто "считав CPUID и временные/частотные параметры, и выставив тайминги соответственно" (тогда хватило бы сохранения CPUID в nvram и сравнения сохранённого и текущего при загрузке), а как-то тонко и индивидуально?

Я всегда считал, что если CPUID и "прошитые в камень" тайминги нового процессора в точности совпадают с CPUID и таймингами старого, то и перенастроек не требуется - это если не тот же камень, то как минимум "такой же". А тогда не нужно и плотное слежение за сокетом, достаточно помнить cpuid и тайминги.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]crazy_blu@lj
2012-03-29 08:10 (ссылка)
Я так понимаю, всем занимается северный мост. Опрашивает чипы DDR, CPUID процессора, PCI-шину... Логика разная.
Как пример - тут у Интела интересовался, как делятся инструкции (микрокод) для параллельных потоков в ядрах процессора. Так вот они там не меряют очередь для каждого ядра, а бросают "наугад". Выяснено что это наиболее удачный по производительности вариант, на задержках по синхронизации задержки получаются больше.
Это про внутренние ядра, не про те, что видны снаружи :)

Так что логика работы везде разная. Видимо такую посчитали удобнее. Следить, не вынимали ли процессор, а если да - не заниматься сравнением насколько они похожи с предыдущим, а просто инициализировать времянки заново.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tyomitch@lj
2012-03-29 10:56 (ссылка)
Разве не проще при каждой загрузке инициализировать тайминги, и сэкономить эту отдельную специальную цепь?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 11:36 (ссылка)
Нет :-)
Пользователь мог задать свои тайминги (и не только тайминги), отличные от дефолтных, поэтому при смене процессора неплохо бы напомнить о необходимости посмотреть на эти установки (пусть даже это дефолт, который не трогался), и подтвердить, что юзер не против.
Но почему сменой процессора считается не смена процессора (легко просекаемая по CPUID), а вот это вот вставление-вынимание - я не понимаю.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tyomitch@lj
2012-03-29 12:25 (ссылка)
Если известно, что
а) юзер намеренно поменял настройки
б) юзер намеренно заменил процессор
-- то неужели юзер сам не выставит настройки для нового процессора, буде ему это надо?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 12:31 (ссылка)
Ты предполагаешь какого-то идеального пользователя, который никогда не забывает, что подкручивал что-то в биосе, и всегда предвидит последствия своих (и чужих) действий на два шага вперёд. А создателям биоса важно, чтобы пользователь НЕ СМОГ пройти мимо настроек при замене процессора, даже если сам пользователь про это забудет или решит забить.

Вот и вся разница подходов :-)

(Ответить) (Уровень выше)


[info]dibr@lj
2012-03-29 11:34 (ссылка)
Забавная логика. Ну да, впрочем, "они так решили" - имеют право, в конце концов.

(Ответить) (Уровень выше)


[info]mc6312@lj
2012-03-29 01:39 (ссылка)
> Или материнская плата, даже питаясь от той батарейки-таблетки, которая держит часы и NVRAM, всё равно следит за тем
Насчет батарейки не скажу, а в чихсете какой-то куцый проц точно есть. Для тестирования при включении мамки (без установленного основного проца и памяти), чтоб было кому бибикать.
А то вон еще всякие фишки вроде Intel vPro/AMT бывают, хрен знает через что они работают, при "выключенной" мамке.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 01:49 (ссылка)
Ну, кремния там много, так что реализовать - не проблема... но зачем? Это ж нужно иметь отдельную цепь, с питанием от той самой батарейки, постоянно контролирующую наличие процессора, и запоминающую, что процессор снимали. А зачем?! Чтобы обнаружить замену процессора достаточно сохранять в NVRAM информацию из CPUID - если она не изменилась, то и процессор не изменился, следить в реальном времени необязательно...

> А то вон еще всякие фишки вроде Intel vPro/AMT

Через дежурное питание. Я очень сомневаюсь, что они работают при вынутой из розетки вилке - а на просто "выключенной" мамке может и питание на сетевуху поступать (для wake-on-LAN), а то ещё бывает, что мышь на выключенном компьютере светится...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]mc6312@lj
2012-03-29 07:02 (ссылка)
Понятно, что не через батарейку.

(Ответить) (Уровень выше)


(Анонимно)
2012-03-29 05:20 (ссылка)
А может всё просто: вставленный процессор замыкает своими ножками какую-то цепь, которая и отвечает за сохранение битика «процессор всё тот же»? Соответственно, вынули процессор => цепь разорвали => битик снялся => биос начинает считать, что процессор сменился.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 05:35 (ссылка)
Да может, конечно. И цепь может быть очень простой - грубо говоря, один триггер, плюс "проводок" (внутри микросхемы) к чипсету, чтобы этот триггер читать/сбрасывать программно. Удивляет, что кому-то пришло в голову эту цепь вообще сделать - зачем, для чего нужно знать, что процессор вынимали из сокета?...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]iced_beard@lj
2012-03-29 07:42 (ссылка)
На случай если вставили другой процессор с другими рабочими частотами вестимо.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-29 11:41 (ссылка)
Для этого, повторюсь, необязательно городить отдельную цепь, достаточно сохранять в nvram частоты старого процессора и сверять их с новыми. А если процессоры для материнки окажутся неотличимы ни по таймингам, ни по CPUID, ни по другим параметрам - то в чём смысл что-то менять?

(Ответить) (Уровень выше)


[info]disksonorip@lj
2012-03-29 10:55 (ссылка)

(Ответить)