AMD vs Intel. История противостояния

(Продолжение. Начало в №16)

Часть 2. "Допинг" от NexGen

После мучительного рождения K5, который в результате "опоздал" почти на два года и из-за специфичности архитектуры не мог преодолеть планку в 133 MHz ("реальных"), у AMD был выбор: либо разрабатывать свой новый процессор - K6, либо приступить к разработке... сразу же K7! Что это значит? А это значит, что AMD приняла достаточно нелегкое решение - уже начатая разработка "своего" K6 была свернута, и процессор "следующего" поколения (K6) был куплен "готовым" у компании NexGen. Точнее, была куплена компания $NexGen за 850.000.000, на которую, кстати, положила глаз сама Intel.

Такой ход позволил AMD не тратить полтора-два года на разработку/внедрение нового процессора и сосредоточить все силы на разработке процессора следующего, седьмого, поколения - K7. В общем, после приобретения (слияния) NexGen все ее сотрудники приступили к продвижению своего процессора, только под "новым знаменем" AMD, а инженерные умы из "старой гвардии" AMD были переброшены на разработку K7. Образно говоря, AMD пожертвовала фигуру (выбросила свое ядро K6 и взяла от Nx686), чтобы провести пешку в ферзи (максимально ускорить выход K7).

NexGen стала частью AMD, поэтому стоит рассказать, как она докатилась до такой жизни...;)

 


Первый конкурент Pentium - Nx586

У Intel "RISC"-образный процессор появился в ноябре 1995 с выходом PentiumPRO. Однако первой, "рискнувшей" выпустить такой процессор (с элементами RISC-архитектуры), была компания NexGen, прогрессивная группа разработчиков которой воплотила в жизнь свою пятилетнюю разработку.

Процессор Nx586 появился в марте 1994, одновременно с выходом "классического" Pentium (P54C 100 MHz), и стал первым конкурентом Intel среди процессоров пятого поколения, потому как также имел суперскалярную архитектуру и был способен выполнять более одной команды за такт (точнее, три против двух у Pentium). А еще NexGen стала первой компанией, применившей практику "PR"-рейтинга, ее Nx586 с частотами 70/75/84/93MHz маркировались как PR75/PR80/PR90/PR100. Позже были выпущены PR110 (102MHz) и PR120 (111MHz).

Кроме понятных преимуществ RISC-архитектуры, у Nx586 была еще одна интересная особенность - он имел встроенный L2-кэш-контроллер, позволяющий работать установленному в матплате L2-кэшу на полной(!) частоте процессора, что с учетом объемного кэша первого уровня (32kB) давало ему порядка 10% преимущества в "целочисленных операциях", по сравнению с Pentium (на той же частоте).

Однако были и весьма существенные недостатки. Он очень сильно уступал в операциях с плавающей запятой - в нем вообще не было математического сопроцессора. FPU (Nx587) устанавливался отдельно, подобно тому, как это было в 386-х компьютерах. Из-за этого он, конечно, не был "механически" (по ножкам) совместим с Pentium и требовал специального чипсета, который выпускала только NexGen. А производители матплат и так не были довольны очередной сменой разъема CPU (Socket4->Socket5), однако Intel "умела уговорить" рынок, но ведь NexGen - не Intel...

Кроме того, единственный чипсет под Nx586 - NxVL - был лишь под VLB-шину (т.е. там не было PCI - chipset NxPC с поддержкой оной появился существенно позднее). Этот промах с отсутствием ставшей стандартом PCI-шины, отсутствие сопроцессора, необходимость использовать очень дорогую кэш-память (для L2-кэша) из-за того, что она работала на полной частоте процессора, в то время как компьютер ориентировался на дешевые решения, и, наконец, отсутствие поддержки со стороны крупных производителей (в первую очередь, Compaq, которая и вложила основную сумму в этот проект, но потом, похоже, все же "побоялась" Intel) - все это привело к тому, что очень перспективный процессор был попросту "задавлен" обстоятельствами.

Кроме того, у NexGen не было своего производства (ее процессоры производила IBM), что заставляло постоянно подстраиваться под "крупных игроков"... Но зато у нее была талантливая команда разработчиков, которая уже работала над процессором следующего, шестого, поколения - Nx686, который и стал в будущем основой для выпуска AMD K6.


NexGen Nx686

В октябре 1995 на 8-м Микропроцессорном Форуме был представлен Nx686-180MHz. Он не просто мог "потягаться" с вышедшим месяцем позднее PentiumPRO-200MHz, но даже и превосходил его по производительности (особенно в 16-битных операциях, которая была слабым местом PPRO), несмотря на меньшую частоту.

Это была сильно переработанная "эволюция" Nx586. Nx86 уже имел встроенный математический сопроцессор. Кэш первого уровня был увеличен с 32 до 48kB, причем интересно, что он (L1-кэш) работал на вдвое большей частоте, нежели сам процессор. Встроенный L2-кэш-контроллер стал поддерживать до 2 Mb кэша, а количество "параллельных" блоков увеличилось до семи.

Интересен один из новых параллельных блоков - Multimedia Unit. Он предполагал использование специальных дополнительных команд, предназначенных для работы с аудио/видеоданными, оцифровки музыки/видео, 3D-графики, DVD и т.п. Проще говоря, Nx686 был первым "MMX"-процессором (позже аналогичный блок появился в Pentium MMX). Кстати, питание он также имел раздельное (в простонародье - "MMX`ное"): 3.3V I/O и 2.5V Core (опять же, аналогичное преобразование произошло с выпуском Pentium-MMX).

Короче, процессор получился ну очень перспективным. Однако NexGen, брошенная к тому времени главными заказчиками (Compaq, Olivetti), испытывала серьезные финансовые трудности. Руководство реально смотрело на вещи и понимало, что в борьбе против Intel не обойтись без союзник". А тут еще представители AMD заинтересовались Nx686. В результате ситуация, когда у NexGen есть хороший процессор, но негде и не за что его производить, а у AMD есть где и за что, но нет хорошего процессора, завершилась слиянием двух фирм (точнее, поглощением NexGen, конечно).


"Наш ответ Чемберлену" - AMD K6

Как уже говорилось, AMD отказалась от своих разработок K6 и взяла ядро от Nx686. Но Nx686 был рассчитан на специфичные чипсеты NxVL/NxPC, что не значилось в планах AMD, которая избрала тактику максимальной "совместимости" с Intel по "железу". Nx686 был процессором 6-го поколения, как PentiumPRO, однако Intel давать права на Socket8 никому не собиралась (да и встроить L2 на кристалл тогда под силу было лишь Intel), поэтому было принято решение переделать его под Socket7-платформу для совместимости с уже имеющимися чипсетами/матплатами.

Для этого был "кастрирован" встроенный L2-кэш-контроллер - он у "обычных" Pentium располагается на плате и работает на частоте шины (а не полной частоты процессора, как было у Nx586/Nx686). Вместе с этим понизили частоту работы L1 до нормальной (синхронной, а не удвоенной), компенсировав это дело увеличением L1 до 64 kB (против 48 kB Nx686) и добавлением интересной "фичи" от K5, когда команды перед попаданием в кэш инструкций уже предварительно декодируются (Predecode Logic). Кстати, такой подход ("предекодирование") имел интересный эффект - из-за него скорость работы с самомодифицирующимися программами сильно падала. Однако реально SMC (Self-Modifying Code) используется только в вирусах сотоварищи, поэтому проблему оставили без внимания.

Multimedia Block стандартизировали, т.е. сделали аналогичным Intel. После некоторых сомнений количество параллельных декодеров команд сократили до двух - третий не давал большого прироста в скорости (по тестам ~5%), а без него поднималась планка по наращиванию частоты и уменьшалось без того очень большое ядро. В результате этого процессор получил возможность выполнять максимум лишь 2 команды за такт, однако, в отличие от Pentium, который, в принципе, мог выполнять столько же, это была близкая к "реальной" производительность, в то время как у Pentium это была пиковая скорость, а среднестатистическая не достигала и одной команды за такт.

В общем, после годичного "причесывания" под Socket-7 платформу в апреле 1997 года у Pentium-MMX появился первый грозный соперник - AMD K6. Его "six-generation"-происхождение давало сопоставимую производительность в 32-битных приложениях (читай - Win98) и большую в 16-битных (читай - Win95), даже по сравнению с Pentium II. А с бОльшим кэшем L1 это давало часто заметный даже на глаз прирост производительности в офисных приложениях. Однако сопроцессор опять подкачал и в играх, где очень важна его скорость, K6 уступал даже "не-MMX"-ному Pentium`у. Да и со скоростью в видео/3D из-за наличия лишь одного блока MMX против двух у Pentium-MMX получился небольшой облом...

Но цена, нераспространенность тогда MMX-оптимизированных приложений (их можно было пересчитать на пальцах - Photoshop, 3Dlabs и Quake2 ;) да все еще большая популярность Win95-платформы сделала процессор заслуженным хитом, первой серьезной попыткой побороться с монополией Intel в процессорном секторе.

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

Удачная же покупка AMD удачной компании NexGen, которая позволила выпустить хороший процессор в минимальные сроки, дала ей возможность реально потягаться с лидером, да еще и пригрозить при этом показать всему миру в 1998 году "кузькину мать" (на чипсете AMD750 ;) - процессор седьмого поколения Argon (позже переименован в Athlon)...

Роман СЕВКО

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

Номер: 

18 за 2003 год

Рубрика: 

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