P6 - Pentium PRO

После рождения Pentium`а (P5) в марте 1993 года (юбилей!) и его "апгрейда" через год до 100 MHz у Intel был некоторый "запас" в производительности по сравнению с конкурентами. Однако в инженерных недрах уже вовсю шла разработка процессора нового, шестого поколения P6, который был представлен общественности в ноябре 1995 года. Он достаточно "революционно" отличался от своего предшественника, чего не скажешь обо всех остальных процессорах, выпущенных Intel позже (P2/P3 и даже P4). Процессор использовал новый разъем Socket8 и старшая модель (200MHz, L2=512kB) имела такую же "революционную" цену - $1989! ($1325 в случае L2=256kB).

В чем же была его новизна? Учитывая тот факт, что все нынешние процессоры от Intel (P2/P3/P4/Celeron/Xeon) можно считать его прямыми потомками, рассмотрим все подробнее.


Кто не RISC`ует, тот не пьет шампанского!

В предыдущих процессорах команды всегда выполнялись по следующему принципу: "прочитать из памяти/кэша" и "выполнить". В P6 же все было совсем по-другому. В нем использовались элементы так называемой RISC-архитектуры, которая предполагает разбиение каждой команды на "микрооперанды". Что это дает? Попробуем привести сравнение.

Представьте - вы переселяетесь и вам нужно поскорей вынести все вещи из дома в припаркованную у подъезда машину. Было бы проще, если бы вы не жили на девятом этаже, т.е. приходится пользоваться лифтом. Вещи имеют разные габаритные характеристики, поэтому если их просто пихать в лифт, то очень часто он будет уезжать заполненным наполовину, а то и меньше. Поэтому, естественно, логичнее будет, если, например, вы будете разбирать крупные вещи на части и максимально "архивировать" их в объем лифта, еще кто-то будет подносить вам вещи из квартиры и, наконец, кто-то внизу будет осуществлять их погрузку в машину.

 

Точно так же, как вы у лифта, три параллельных блока декодирования команд у P6 "разбирают" команды на "микрооперанды" и скидывают их в "кучу" (pool). После чего из этой "кучи" выбираются те, которыми можно было бы максимально загрузить все "параллельные" блоки процессора. Причем некоторые операнды для улучшения "параллелизма" могут быть выполнены не в порядке очереди следования (Out-of-Order Execution), после чего "на выходе" порядок следования восстанавливается. Это аналогично тому, что при оптимальной загрузке лифта вы тоже не раз будете помещать в него "запчасти" не в том же порядке, что вам будут подносить.

Для, опять же, максимального распараллеливания потоков процессор имеет два блока выполнения операций с плавающей запятой (FPU), два блока целочисленных операций (ALU) и один блок работы с памятью. При загрузке сразу всех блоков теоретически можно говорить о способности выполнять процессором до 5 операций за такт (в Pentium - две), однако наличие лишь трех параллельных декодеров команд позволяет говорить о возможности выполнения лишь трех команд одновременно.

Для максимальной загрузки блоков нужно всегда поддерживать наличие "запаса" декодированных команд в pool-е. Для этого был предназначен мощный блок "предсказания ветвлений" (чтобы заранее загрузить нужную "кучу" мирооперандов) и, собственно, большой кэш второго уровня (256/512kB, а позже - 1Mb), расположенный прямо на кристалле и работающий на полной частоте процессора (в отличие от половины у появившегося спустя два года Pentium II).

Кстати, название процессор получил именно благодаря своей "рисковой" сущности, и приставка "PRO" обозначает "Precision RISC Organization", (а не от "Professional").


Новая шина - GTL+

Несколько "технических" моментов. В отличие от предыдущих процессоров, использующих для сигналов TTL-логику, шина GTL+ (Gunning Transceiver Logic) построена, в основном, на структурах с открытым стоком (open drain), которые для уменьшения отраженных сигналов "терминированы" на обоих концах каждой сигнальной линии (см. рис.):

"Терминированы" - значит, подсоединены через резистор к некоему высокому уровню (+1.5V для GTL+/AGTL+ и +1.25V для будущей AGTL у туалатинов), который является максимальным значением логической "1".

Все сигнальные входы являются дифференциальными и используют опорное напряжение (V_REF), равное 2/3 от Vtt (напряжение терминации). При уровне меньшем, чем (V_REF-0.2V), сигнал воспринимается как "0", при уровне большем, чем (V_REF+0.2V) - как "1".

В переводе на "понятный" для не слишком продвинутых в электронике язык стоит пояснить. Шина задумывалась с "заделом на далекое будущее", и зависимость логических уровней "0" и "1" только от одного значения (Vtt) позволила позже благополучно уживаться такой шине с процессорами на разных ядрах, сделанных по разным технологиям и имеющим различное напряжение питания. Например, лучшим примером такой "независимости" может стать тот факт, что PentiumPRO с помощью переходника Socket8-Slot1 можно совершенно беспроблемно установить на какой-нибудь i440BX. И, наоборот - с помощью переходника Socket370-Socket8 (такие выпускал PowerLeap) в PPRO-матплату можно было устанавливать Celeron-533!


Многопроцессорность

Процессор и шина прекрасно подходили для создания мультипроцессорных конфигураций. В "обвязку" PPRO, взаимодействующую с шиной, уже была встроена вся нужная логика для возможности процессорам "спариваться". Поэтому, все, что, по большому счету, было нужно для создания dual-системы - это лишь соединить все контакты (с учетом коммутации сигналов BR0/BR1 - выбор "активного" процессора) друг с другом! Лучшим проявлением этой новой особенности служит тот факт, что позже, с появлением Socket370-процессоров, даже выпускались переходники под Slot1, в которые можно было вставить сразу два процессора, превратив, таким образом, любую плату в двухпроцессорную.


"Микрокоды"

Обжегшись на самых первых Pentium'ах (которые, "по техническим причинам", иногда не соглашались с утверждением 2*2=4), Intel ввела в процессор возможность перепрограммировать блок выполнения RISC-команд, дабы была возможность исправить возможную ошибку "программно" - через новый BIOS, а не "физически" - отзывая и заменяя партию процессоров, делающих что-то не так.

Для этого в процессоре имеется особая память (2000 байт), куда можно (нужно) загрузить новую программу работы с микрооперандами (в простонародье - "загрузить микрокод"). Память не является постоянной и поэтому "загрузка микрокода" требуется при каждом включении/перезагрузке компьютера. Каждому новому ядру/stepping`у также требуется свой микрокод, а "традиция" их использования дожила до наших дней и в том же виде применяется, например, в Pentium 4.


"Не спеши, а то успеешь..."

Благодаря высокой частоте, двум FPU-блокам ("числодробилка"), большому кэшу второго уровня (который работает на частоте процессора) и RISC-архитектуре процессор получился очень быстрым. Но, несмотря на большие возможности, заложенные в процессор, все было не так гладко.

Во-первых, повторилась проблема с перегревом, которая впервые постигла самые первые "пентиумы" (кстати, именно перегрев был одной из причин использования частоты 60 MHz кроме "стандартной" 66 MHz). Варианты PentiumPRO, выпущенные по "старой" 0.5-микронной технологии (в то время происходил переход на "новую" 0.35-технологию), очень сильно грелись, сравните: P6-200MHz - 39.4W, Pentium III-S 1.4GHz - 31.2W.

Во-вторых, как выяснилось, быстрый - не всегда хорошо. Просто мультимедийное направление еще не было развито, а серверный рынок и рынок графических станций (где особенно и требовалась мощность) был совсем не благосклонен к "новичку" (коей была тогда Intel). Для Word`а же (и Doom`а ;) за глаза хватало и в два раза более дешевого iP133.

Мало того, из-за целенаправленной ориентации процессора на 32bit`ные приложения (вследствие особенностей архитектуры) производительность работы с 16bit`ными сильно страдала. Причем настолько сильно, что младшая версия PPRO-150 ($974) иногда "сливала" даже "менее мегагерцовому" iP133 ($547). А только что вышедшая "свеженькая" Windows 95 была в большей степени 16bit`ной, так что перспективы у страшно дорогого процессора, несмотря на действительно большие возможности, были не самые лучшие.

Однако "отдел маркетинга" у Intel был, как всегда, на высоте, и вскоре появилось новое поколение программного обеспечения, которое дружно становилось "32-битным" и с неутолимой жаждой стало поглощать ресурсы процессора, что позволило представиться в более выгодном свете, по сравнению с конкурентами...


PentiumPRO сегодня

Из-за своей дороговизны в наших широтах PPRO практически не водились. Именно поэтому, может, некоторые даже и не слышали, что такие процессоры были в природе. Однако нынче, когда наши края стали сдаваться в аренду всей Европе в качестве глобальной компьютерной свалки, он уже перестал быть диковинкой. И если попадется вам, то это будет, как правило, очень надежная "рабочая лошадка" (надежная, потому как обычно это списанные серверы, имеющие SCSI-HDD). Мощности его предостаточно для офисного компьютера, проигрывания MP3 и даже просмотра видео (mpeg4), но под DOS (c помощью замечательной программы QuickView). Ну а если вы админ и вам попался экзот с 2-4 PPRO-200/L2_1Mb (что уже очень даже реально) - не спешите выбрасывать этот стоящий некогда пятизначную сумму агрегат, он может еще долго послужить вам верой и правдой, не сильно уступая даже некоторым "копперовским" системам...

Роман СЕВКО

Версия для печатиВерсия для печати

Номер: 

13 за 2003 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!