Переделка плат/адаптеров для поддержки FCPGA(2)

Материал из Wiki.ROM.by
Перейти к: навигация, поиск
В случае использования нижеизложенного материала как руководства к действию, автор подразумевает чёткое представление читателя о том, что он собирается делать, что может получить и нужно ли ему это вообще.

Содержание

Часть первая. Краткая. Для тех, кто ничего не понимает, но хочет и не боится.

Главные моменты - нумерация ножек процессора.

Рис.1. Socket370 - нумерация, сигналы (вид на процессор со стороны его выводов).

Т.е., чтоб получить "правильное расположение" (для отсчёта номера ножки), нужно перевернуть процессор (или же плату/переходник) ножками к себе (деталями вниз для платы/переходника), а два "срезанных" угла (ключа) расположить слева. Тогда левый нижний угол будет началом (отсутствующая ножка A1), по вертикали - буквы от A до AN, по горизонтали - числа от 1 до 37.

Главные моменты - типы разъёмов Socket370 (PPGA/FCPGA/FCPGA2).

PPGA (Plastic Pin Grid Array).

Процессоры с разъёмом PPGA имеют характерный пластиковый корпус с металлической крышкой, закрывающей кристалл. Его имеют все процессоры Celeron на ядре Mendocino (под них он и разрабатывался) с частотой 300-533MHz. Также с ним были совместимы (т.е. будут корректно работать без всяких переделок) самые первые процессоры Celeron на ядре Coppermine 533/566MHz с напряжением питания 1.5V (несмотря на то, что сделаны они в корпусе FCPGA).

FCPGA (Flip-Chip Pin Grid Array)

Имеет характерный пластмассовый зелёный корпус с открытым кристаллом. Его имеют все процессоры Celeron на ядре Coppermine с частотой 533A-1100MHz и Pentium III на ядре Coppermine 500-1133MHz.

FCPGA2 (Flip-Chip Pin Grid Array 2)

Такой же, как и FCPGA, только кристалл закрыт медной крышкой (теплораспределитель). Его имеют все процессоры Celeron на ядре Tualatin с частотой 1000A-1400MHz (в продаже появлялись и 900/950MHz, хотя в официальных документах такие не упоминаются) и Pentium III на ядре Tualatin 1000-1466MHz. Также в таком исполнении (FCPGA2, т.е. по большому счёту FCPGA с медной нашлёпкой, а разводка та же, что и у FCPGA) встречались редкие Pentium III на ядре Coppermine 933-1133MHz и Celeron на ядре Coppermine с частотой 900-1000MHz.

Переделка.

Случай первый, самый простой - переделка PPGA для поддержки FCPGA процессоров Celeron Coppermine 533-1100MHz).

Рис.2. Переделка PPGA в FCPGA.

(Для поддержки Pentium III Coppermine есть некоторые тонкости - см. раздел для "интересующихся" и "продвинутых")

Для того чтоб заработал коппермайн в старой PPGA плате (переходнике) нужно произвести всего два действия - изолировать ножку процессора AM2 (выпаять, выломать и т.п.) и соединить перемычкой ноги X4 и AH4 (припаять перемычку на плату, переходник или аккуратно замотать проволочкой на самом процессоре, что, правда, существенно сложней).

Случай второй, переделка FCPGA-плат/переходников для поддержки FCPGA2-процессоров Celeron и Pentium III на ядре Tualatin.

Рис.3. Переделка FCPGA в FCPGA2.

В данном разделе, рассмотрим самый простой случай из переделки под туалатин - на FCPGA плату/переходник нужно установить именно Tualatin, т.е. потом туда не будут вставляться другие процессоры (например, коппермайны). Если же есть желание получить "универсальный сокет" - см. разделы см. раздел для "интересующихся" и "продвинутых".

Итак, для переделки надо - изолировать ноги AJ3 и AN3 (выпаять из сокета, отломать на процессоре, надеть кембрики и т.п.), закоротить между собой G35 и G37, а также AM34 и AK36/AL37 (см. рис.).

Кроме этих простых действий есть один сложный момент - ножка AK4. Её, с одной стороны, нужно изолировать от сокета, с другой стороны, подать на неё напряжение Vtt (проще - с ближайшей ноги AN11). Тут можно поступить по-разному: аккуратно высверлить контакт AK4 и потом провести туда перемычку от AN11, надеть на AK4 кембрик, вставив в него перемычку от AN11 и т.п. Если не жаль процессора (или ножка уже отломалась;) можно нарисовать дорожку специальным токопроводящим карандашом (или типа того). Тут - дело фантазии каждого, главное - уверенно изолировать AK4 от сокета (т.к. там изначально разведена "земля", т.е. "0"), подав при этом на него нужное напряжение (т.е. там должна быть "1").

Случай третий, переделка плат/переходников PPGA для поддержки FCPGA2.

Данный случай может иметь много тонкостей, потому и может потребовать более детального изучения (см. разделы см. раздел для "интересующихся" и "продвинутых"). В самом же простом случае - нужно просто банально повторить вышеописанную переделку в PPGA->FCPGA, а потом FCPGA->FCPGA2.

Часть вторая. С пояснениями. Для тех, кто не слишком крут, но хочет разобраться и понять.

Главные моменты - основные отличия PPGA/FCPGA/FCPGA2.

Данная глава предназначена уже для тех, кто хоть немного разбирается, что-то читал в интернете, а так же для тех, кто слишком;) много читал о невозможности/некорректности/опасности осуществления данных переделок и хочет найти ошибки в материале данной статьи (или, наоборот, статей о "невозможности";)

Опять же, по порядку: PPGA=>FCPGA.

Что появилось принципиально нового в процессорах на ядре Coppermine с точки зрения "невозможности" ("опасности") работы процессоров, сделанных по новой тогда 0.18-ой технологии? Ровным счётом - ничего. Добавленные инструкции SSE никак не мешают работать процессору в старой плате и требуют лишь небольшой доработки со стороны поддержки БИОСом (но это решается программно). По большому счёту повторилась ситуация, аналогичная такому же надуманному переходу в своё время (Socket5->Socket7) на процессоры с "MMX"-питанием (правильней - раздельным). Как и тогда, главный "аргумент" - пониженное питание ядра. Собственно, на этом длинный список "проблем" заканчивался. Поэтому все утверждения о "принципиальной несовместимости" звучащие в то время по отношении процессоров на ядре Coppermine к старым платам - чистой воды маркетинговый ход. Главным подтверждением этого является тот факт, что самые первые процессоры Celeron Coppermine (566/600MHz, CPUID=683, Vcc=1.5V) совершенно благополучно (без переделки сокета) работали на PPGA платах (и при этом очень неплохо разгонялись).

Таблица1. Совмещённая таблица напряжений для процессоров Slot1/Socket370.
* - для FCPGA2 это VID25mV
** - в случае единиц на всех "VID-ах" напряжение не выставляется вообще (расценивается как отсутствие процессора) - 0 Volt.

Однако, дабы прекратить этот "беспредел";) Intel поступила по "ломовому" просто: для того, чтоб новые процессоры не работали в старых платах, сигнал сброса (RESET#, X4) был "перемещён" на место AH4, который в старых платах был заземлён. В результате, при установке Coppermine-процессора в PPGA-плату он "зависалв бесконечном ресете". Плюс к этому ножка AM2 стала "ключом" для FCPGA-процессоров, в которых она должна быть "в воздухе" - NotConnected/Reserved, в то время как в PPGA-платах она "сидит на земле" (на неё тоже завели "ресет", аналогично AH4).

Т.е., по большому счёту, для того, чтоб уговорить работать Coppermine-процессор в старой плате нужно всего лишь разобраться с "размножившимися" "ресетами" - X4, мигрировавший в ножку AH4 (которую поэтому и надо соединить - "главным" стал AH4, а в самом процессоре эти ноги не соединены) плюс "обезвредить" совершенно не нужный ресет AM2, подло "коротящий на землю" в PPGA-платах.

Потому способ переделки достаточно прост - изолируем AM2 (обычно выпаевается контакт из сокета) и бросаем перемычку между AH4 и X4.

Что касается питания, то тут тоже всё достаточно просто. За его установку отвечают ножки VID0, VID1, VID2, VID3 и VID4 (последний, вообще-то, помечен как Vss-"земля", чтоб не было возможности выставить напряжение выше 2.05V, однако, как правило, в большинстве PPGA-плат он на ней не "сидит"). Исходя из комбинации сигналов ("0" - земля или "1" - не соединён) на этих ногах блок питания процессора, установленный на плате выставляет нужное напряжение.

Первые платы Slot1/PPGA (с подачи Intel о том, что она не будут делать Slot1/Socket370-процессоров с напряжением Vcc меньше 1.8V) были оснащены БП-CPU, не поддерживающими установку процессоров с питанием ниже 1.8V (т.е. при установке процессора с меньшим Vcc, комбинация на его ножках VID0-VID4 интерпретировалась как 1/1/1/1/1, т.е. в результате выставлялся "0"). Поэтому, чтоб обойти такую проблему придётся "принудительно" установить Vcc>=1.8V. В случае возможности регулировки напряжения (на переходнике/плате) надо просто выставить нужную комбинацию перемычками (см.табл.1). Если такой возможности нет, то тогда придётся это сделать "вручную". Например, если у вас процессор с питанием 1.7V, значит конфигурация "VID-ов" - 0/0/1/1/1, тогда, замкнув VID1 "на землю" (или даже на тот же, уже заземлённый в таком процессоре, VID4 или VID3), получим комбинацию 0/0/1/0/1, что соответствует 1.8V, которое БП-CPU "знает" и правильно выставит. Конечно, в таком случае процессор будет работать на завышенном напряжении, однако, во-первых, многие его (Vcc) всё равно специально повышают ("для разгона"), а, во-вторых, это (больший нагрев) всегда можно побороть с помощью просто более качественного кулера.

FCPGA => FCPGA2 (Tualatin).

Если с коппермайном, в принципе, "неверующих" ;) практически не осталось, то с туалатинами всё (надеюсь - пока;) сложней. Процессоры с ядром Tualatin, по утверждениям многочисленных источников (естественно - в первую очередь Intel), ну, уж точно "совсем не совместимы":) со старыми платами: и блок питания другой нужен (VRM 8.5, а не 8.4), и технология опять более "тонкая" - 0.13мкм вместо 0.18, и синхронизация там "новая", и питание ещё более низкое, и, наконец, шина поменялась - AGTL вместо AGTL+. Разберём по порядку.

AGTL.

Самое "главное" - "новая" шина. Уже лишь абсолютная схожесть названий навевает некоторые сомнения - вроде, то же самое, только без плюсика. Который, видимо, обозначал те 0.25V, на которые понизился уровень сигналов - в AGTL+ он равен 1.5V, а в AGTL - 1.25V. Соответственно, из "официальных документов" получается, что: "процессоры Tualatin не могут корректно работать на старых материнских платах, которые выдают напряжение на 20% выше необходимого (так как уровень напряжения, подаваемый на входы процессора, должен иметь разброс не более ±9%)". И, действительно, если обратиться к "первоисточникам" (документация на туалатины с сайта intel.com), то можно прочитать:

Vtt 1.gif

Vtt 2.gif

В п.4 чёрным по белому написано, что да, действительно, 1.25V +-9% (а разрабатывать - так, вообще, "с прицелом" на +-3%) и ничего не попишешь. Однако как-то подозрительно смотрятся пустующие колонки Min и Max, да и такое "принципиальное" отличие идёт лишь как примечание (а это читай - лишь рекомендация). Очень уж смахивает на "откорректированный" маркетологами вариант.

И, действительно, всё проясняется, если почитать страницей раньше:

Vtt 3.gif

Чётко и ясно (без всяких пустых колонок:), максимум - 1.75V. Вот такие "двойные стандарты".:) Отсюда первый вывод - Vtt=1.5V (т.е. уровень сигналов, такой как в "дотуалатиновских" платах) для туалатинов совершенно безопасен, так как находится существенно ниже возможного максимального значения (а, значит, его можно ещё гнать и гнать:).

Дифференциальная синхронизация.

Другое "утверждение" - "новый" способ синхронизации, "новый" сигнал BCLK# (инвертированный BCLK). В AGTL+ используется для синхронизации лишь "один" BCLK (c амплитудой 2.5V), а тут появилась "новая" парочка из противоположных по полярности BCLK/BCLK# (+1.25V и -1.25V) - так называемая дифференциальная синхронизация. Как туманно объясняется такой подход - для более стабильной работы на высоких частотах. Однако всё в тех же первоисточниках чёрным по белому написано:

Y33.gif

Т.е. процессор сам определяет, какой способ синхронизации использовать исходя из наличия сигнала BCLK# на ножке Y33. Если он (BCLK#) там присутствует, то тогда процессор переключается в режим дифференциальной синхронизации, если же нет (а там - лишь аналоговое опорное напряжение +1.25V), то переключается в "обычный", старый (single-ended) режим с "одним" стробирующим импульсом. Соответственно, процессор, вставленный в систему, "не знающую" дифференциального тактирования, просто переключится на "обычный" способ синхронизации (т.к. поддерживает оба вида).

Остальные сигналы (типы/виды) у AGTL те же, что и у AGTL+, потому на этом тему "новой" шины можно закрыть.

VRM 8.5

По поводу "более тонкой" технологии, а, соответственно, и более низкого напряжения ядра. В туалатинах, для возможности выставлять напряжение с точностью до 0.025V был задействован уже ставший в PPGA/FCPGA ненужным VID4 (т.к. он использовался лишь при задании напряжения выше 2.05V, а это уже, естественно, перестало быть актуальным). При установке его (VID4) в "1" к "стандартному (т.е. как у "старых" PPGA/FCPGA-процессоров, т.е. VRM 8.4) добавляется 0.025V. Поэтому этот сигнал (ножку) так и назвали - "VID25mV" (см.табл.1).

В случае, если VID4 (VID25mV) равен "0", то такая комбинация ничем не отличается от "старой" (VRM 8.4). Соответственно, просто принудительно закоротив VID25mV "на землю" (для того, чтоб "старый" БП-CPU случайно не выставил исходя из единицы на VID4 гигантское напряжение, так, например, у туалатина с Vcc=1.475V, комбинация = 1/1/1/0/0, что соответствует 2.3V для "старого" VRM 8.4), мы благополучно решим эту проблему, т.е. получим "правильное" напряжение с округлением до 0.5V в меньшую сторону. А при желании, опять же, с "точностью" в 0.5V, всегда можно выставить нужное напряжение "вручную".

C новым "VRM-ом" появилась и парочка сигналов - DYN_OE и VttPWRGD. Первый - разрешает установку VID0-4 и BSEL0-1 в нужное значение, а второй - это контролирует.

Дело в том, что в отличие от предыдущих процессоров в туалатинах сигналы на "VID-ах" и "BSEL-ах" не являются "аналоговыми" (т.е. просто задаются закороткой внутри процессора их "на землю" - "0" либо "Not Connected" - "1"), а выставляются собственно самим процессором. Т.е. изначально они пребывают в состоянии "NotConnected" (т.е. все единицицы - 0V). После получения "1" от ноги DYN_OE процессор выставляет на них нужное значение и контролирует это по ножке VttPWRGD - если там тоже "1" (а её и должен формировать VRM 8.5), то всё ОК.

"Как всегда";), обе эти ножки (AN3 - DYN_OE и AK4 - VttPWRGD) в PPGA/FCPGA являются "землями". Поэтому их обеих нужно изолировать при переделке. Плюс сложность заключается в том, что на AK4 (VttPWRGD) кроме изолирования от земли придётся подать "1" (Vtt), т.к. иначе там получается нестабильная единица (точнее, там вообще не единица, а "бесконечное сопротивление"), что особенно проявляется при резком возрастании нагрузки на процессор. Это, как говорилось выше, составит некоторую (точнее - самую главную) сложность при переделке "под туалатин", однако обязательно для стабильной работы.

В конце - о распространённом заблуждении - "принципиальном" отличии VRM 8.5, который "умеет" понижать питание с ростом тока потребления. Этот смешной вывод был сделан из появившейся в документации на VRM 8.5 таблицы:

VRM8 5.gif

На самом деле, конечно, всё банально - график представляет собой лишь "стандартизацию" того, что и так всегда присутствует в любом БП - снижение выходного напряжения при возрастании тока нагрузки. Говоря утрированно, он требует, чтоб выходное напряжение изменялось не более, чем на ~0.15V во всём диапазоне изменения тока потребления процессора (в 8.4 были точно такие же "рамки", только не были расписаны точные значения по всему диапазону изменения тока).

RESET2#.

Ну, и на последок, опять же, "как всегда", "размножился" сигнал RESET# - он появился на, очередной и, конечно же, "заземлённой" ножке - AJ3. Здесь никаких отличий от "коппермайновского" случая, способ "лечения" - просто изолировать (AJ3).

Переделка плат/переходников для поддержки FCPGA/FCPGA2-процессоров. Продолжение.

Переделка плат/переходников для поддержки FCPGA/FCPGA2-процессоров. Окончание.


Персональные инструменты
Google