Сегодня 25 декабря 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Аналитика

Великое противостояние: AMD vs Intel

⇣ Содержание

Прошлая часть нашей истории AMD vs Intel закончилась в самом конце 1994 года на подписании Intel и AMD соглашения, дающего право последней на производство и продажу микропроцессоров, содержащих микрокод Intel 287, 386 и 486. Соглашения, которое AMD особого удовольствия уже не доставило: на дворе был уже был Pentium (не заявленный, а продающийся), на который требовалось как-то адекватно отвечать.

Естественно, что спохватилась компания отнюдь не в тот момент, когда Intel заявил о начале продаж своего процессора нового поколения - впервые о планах по созданию нового чипа - K86, было объявлено еще где-то в 1993 году, когда только еще было представлено семейство Am486. Впрочем уже тогда было понятно, что на этом клонирование процессоров Intel закончится, тем более, что если по 386-486 процессорам еще можно было юридически поспорить, то копирование дизайна Pentium - здесь для AMD был совершенно непроходной вариант.

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

Оказалось, что кардинально новое по сравнению с Am486 придумать в обозримом будущем не получается, да и вообще хоть что-то новое дается с большим трудом. Пришлось прибегнуть к единственному правильному решению - покупке на стороне инженерной команды, уже зарекомендовавшей себя с неплохой стороны, но которой, по ряду причин, самостоятельно не удалось вывести свое детище на рынок. Речь, конечно же идет о событиях и персонажах, описанных в главе "NexGen: чистый процессор". Благо, что те как раз объявились со своим Nx586 в 1994 году, именно тогда, когда AMD успела убедиться в том, что конструкторскую гонку с Intel она проигрывает вчистую.

Однако переговоры шли весьма долго, и приобрела AMD NexGen лишь в 1996 году. В результате чего и вышел K6, ставший действительно технологическим прорывом для компании. Однако ждать два с лишним года, пытаясь конкурировать с Pentium имея на руках лишь Am486, было нереально - K5 просто нельзя было не выпустить. Пришлось, собрав все силы в кулак, всеми правдами и неправдами, что-то изобретать. Получилось примерно следующее.

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

Во-вторых, что тоже очевидно, требовалось выдержать уровень производительности, хоть сколь либо близкий к Pentium, что тоже не было чем-то невозможным. Учтем, что Pentium, как первый представитель новой архитектуры, был еще довольно неоперившейся птицей по сравнению с вылизанной архитектурой i386/486.

В общем, с некоторым напряжением, но создать ядро в соответствии с этими задачами, было вполне реально. Перспектив у подобного творения, естественно, особых не было, но они и не требовались: дотянуть бы до того времени, когда команда NexGen доведет свои идеи до стадии промышленного воплощения - да и ладно. Тем не менее, даже эти, не столь уж отдаленные рубежи, оказались для инженеров AMD практически неприступными.

Как уже упоминалось о планах по созданию первой собственной архитектуры, компания заявила еще в 1993 году. А теперь перенесемся на полтора с лишним года вперед, в весну 1995, еще до приобретения NexGen. В апреле AMD заявляет, что разработка K5 движется строго в соответствии с обновленным графиком и массовое производство начнется уже в первом квартале 1996 года. Однако это было очередным преувеличением со стороны руководства компании - на тот момент столкнувшиеся с массой проблем при разработке инженеры еще понятия не имели, смогут ли они вообще выпустить этот процессор в обозримом будущем, причем еще и так, чтобы он был конкурентоспособен по сравнению с Pentium.

Впрочем менеджменту, как водится, было не до таких мелочей: тогда же было заявлено о том, что K6 будет готов уже к концу 1996-началу 1997 года, а в 1998 году появится AMD K8. Возможно, что говорилось все это с учетом предполагаемой покупки NexGen, но на тот то момент она еще не состоялась, и про K8 можно было мечтать лишь в самых фантастических грезах. Но мечты и реальность - вещи слегка различные, и спустя полгода, в сентябре 1995, очевидное признать пришлось: все то же самое руководство было вынуждено заявить о проблемах с разработкой K5 и, практически одновременно, о приобретении NexGen.

Примерно в то же время компания выпустила первое интересное творение команды разработчиков - процессор, имеющий в названии заветную пятерку (пятое поколение x86 архитектуры, то есть, прямой конкурент Pentium), но при этом, представляющий из себя чистой воды 486-й процессор. Фактически, все чем отличался Am5x86 от Am486 - это наличием кэша с обратной записью, и конечно, несколько большей тактовой частотой.

Если Am486 заканчивался на 100 МГц, как и Intel 486DX4, то здесь реально выпускались в коммерческих масштабах 133 МГц процессоры. Сочетание кэша с обратной записью и повышенной тактовой частоты, в принципе, действительно позволяло пока что (в конце 1995 года) достойно держать паритет с самым младшим из Pentium (60 МГц) по производительности. Но в маркетинговом плане, разумеется, это был большой проигрыш.

Серьезного коммерческого успеха Am5x86 так и не имел, хотя, бесспорно, и продавался в каких-то объемах.

Но это, все же, был не K5, который лихорадочно продолжали дорабатывать инженеры. Сроки выхода нового процессора - чтобы вообще был смысл его впускать - уже истекали, и все яснее становилось очевидно, что AMD опоздала уже не в тактическом, а в стратегическом смысле. По тактовой частоте Pentium уже было не догнать. Пришлось звать на помощь маркетологов, и именно тогда AMD и изобрела концепцию PR (от performance rating) рейтинга.


Компания, которая всегда тщательно старалась выдерживать гонку по мегагерцам с Intel теперь заявила не о том, что не в состоянии больше ее выдерживать, а о том, что мегагерцы - не главное, а главное - производительность процессора в приложениях. (Очень напоминает что-то из будущего...) Так что она свои процессоры будет обозначать в соответствии с этим принципом, а поскольку Intel так делать отказывается, то в качестве эталона процессоры Intel использовать и придется. Чтобы потребителю было с чем сравнивать. С какой частотой нужен был бы Pentium для производительности, которую демонстрирует процессор AMD, таким и будет его PR-рейтинг.

Впрочем, одно небольшое извинение у AMD все же было - поскольку Pentium все еще был воплощением архитектуры, ориентированной больше на рост производительности за счет частоты (ну как же все это напоминает будущее - с Pentium 4 и Athlon!) а K5 в базировался на противоположном подходе, то производительность K5 на одной и той же тактовой частоте действительно получалась выше, чем у Pentium. Другой вопрос, что высоких частот K5 достичь не мог чисто физически, и впрямую конкурировать по частоте с Pentium 4 - тоже. (Это какая-то историческая спираль, честное слово).

За счет чего была повышена производительность K5 в пересчете на мегагерц, и откуда вообще взялся его дизайн? Дело в том, что хотя K5 и стал первым суперскалярным процессором AMD (как и Pentium для Intel), то есть, способным выполнять больше чем одну операцию за цикл, но архитектура его от Pentium отличалась довольно сильно. Если Pentium имел дизайн с двойным конвейером, исполняющим CISC инструкции (со скоростью, соответственно, до двух CISC инструкций за цикл), то дизайн K5 был совсем, совсем другим.

Этот процессор мог разбивать длинные CISC инструкции на ряд RISC-подобных микроинструкций, с которыми потом и имел дело - подход, ставший классикой для современных x86 процессоров, но который Intel начал использовать лишь в ядре P6 (Pentium Pro, осень 1995), а не P54 (Pentium, весна 1994). Декодер K5 за такт мог декодировать во внутренние микрооперации от одной до (при удаче, в зависимости от их длины) четырех CISC инструкций, в отличие от стабильных двух у Pentium. Дальше в дело вступал одиночный исполнительный конвейер у K5, выполняющий до 4 микроопераций за цикл, причем с возможностью их выполнения без строгой очередности (то, что называется out-of-order), или сдвоенный у Pentium, выполняющий за цикл 1-2 CISC инструкции, в строгом порядке друг за другом, как они поступают из кэша (in-order)

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

Конвейер же K5 имел два целочисленных, и один модуль для операций с плавающей точкой (плюс три служебных: предсказание переходов, и два - загрузки/хранения данных). Итого, при всем желании за цикл K5 не мог выполнить две операции с плавающей точкой, а Pentium - мог. Со всеми вытекающими обстоятельствами для производительности в области мультимедиа и прочих подобных.

Однако, на подробное описание различий архитектур времени нет, да и смысла, за давностью лет, тоже, хотя еще одно различие все же упомянуть стоит. Если у P54 кэш первого уровня L1 имел структуру 8 Кбайт для кода и 8 Кбайт для данных, с единым L2, находящимся на материнской плате, то у K5, с аналогичным кэшем L2, кэш L1 уже имел под код 16 Кбайт - издержки спекулятивного выполнения, естественно, требующего больше доступных данных о будущих командах, так что пришлось выделить 10 Кбайт под предварительное их декодирование, что в Pentium не требовалось.

В общем, подытоживая: у AMD получился процессор, более передовой по своей архитектуре, но более медленный за счет этого по тактовой частоте. Ну вот, а к чему же тогда несколько скептический тон по поводу возможностей AMD по созданию нового процессора в начале? Секунду - не зря пришлось слегка перегружать предыдущий фрагмент техническими деталями. Процессор с единым конвейером, работающим с RISC подобными инструкциями, со спекулятивным их выполнением, имеющий в своем составе два целочисленных модуля и один - для операций с плавающей запятой… Нет, это не повторение в очередной раз характеристик K5, это описание варианта Nx586 со встроенным сопроцессором - Nx586FP, впервые объявленным в октябре 1995 года, в том самом месяце, когда AMD и объявила о покупке NexGen.

Естественно, были и отличия - конвейер K5 имеет шесть исполнительных модулей против четырех у Nx586FP, скорость работы конвейера Nx586FP слегка ниже, чем у K5 - три микроинструкции за такт против четырех, а вот кэша L1 у Nx586FP даже больше - 16/16 против 8/16 Кбайт. Ну и, наконец, сокет у Nx586FP был свой - 463-контактный, тогда как у K5 - стандартный Socket-5 (впоследствии - Socket-7).

По крайней мере, заявившая в сентябре о проблемах с K5 AMD, заявившая о приобретении NexGen в октябре, каким-то чудом умудрилась уложиться в рамки, и выпустить K5 в точно обещанный срок - в самом-самом конце первого квартала 1996 года (впрочем, на девять месяцев позже, чем обещалось первоначально).

Или инженеры AMD за несколько месяцев внезапно решили все проблемы, которые они не могли решить за пару предыдущих лет, или же за основу был взят весьма похожий дизайн Nx586FP, подобно тому, как в основу K6 легло следующее ядро NexGen, Nx686.

Впрочем, речь не идет о плагиате, или даже о том, что AMD выпустила Nx586FP под видом K5, отнюдь. RISC-подобное ядро, спекулятивное и out-of-order выполнение, увеличенный кэш первого уровня - все это было известно о K5 задолго до того, как AMD купила NexGen, и идеология чипа действительно принадлежит инженерам AMD, в первую очередь - Майку Джонсону и Дейву Кристи, занявшимися ею еще в 1992 году.

Другой вопрос, что AMD, похоже, сильно повезло - у NexGen уже был чип с похожей идеологией, при создании которого они уже решили те проблемы, с которыми столкнулась AMD. Вот рецепты решения, а не дизайн, очевидно и пригодились AMD в полной мере. Хотя, надо сказать, что все проблемы K5 решить так и не удалось. В частности, грелся он просто безумно - раза в три больше, чем P54 на той же частоте.

Но как бы то ни было, а в марте 1996 были выпущены первые экземпляры первого самостоятельного процессора AMD, с PR-рейтингами 75 и 90 (реальная тактовая частота… 75 и 90 МГц, соответственно), конкурирующие понятно с какими представителями семейства Pentium. Xотя реально в продаже уже был Pentium 166! Причем PR рейтинг (как и у Athlon) выставлялся так, чтобы, скажем, 5K86 PR-75 был слегка производительнее своего 75-МГц конкурента. Однако задержка с выпуском и введение PR-рейтинга сделали свое дело: пресса и покупатели встретили новый процессор без особого энтузиазма, даже несмотря на то, что по целочисленным операциям PR рейтинг отражал правду, а по операциям с плавающей запятой 5K86 уступал Pentium не настолько уж критично.

Вдобавок, как уже говорилось, на тот момент у Intel имелся уже 166 МГц Pentium, и крыть этот козырь было нечем - AMD не смогла серьезно увеличить тактовую частоту K5, и процессор умер весьма и весьма быстро - уже в январе 1997 года, достигнув частоты лишь в 116.7 МГц и PR-рейтинга 166 (Как раз к выходу 200 МГц Pentium MMX). Презираемый большинством (в официальной истории AMD он является единственным процессором, для которого не указан год выхода, как будто и вовсе его не было), но с блеском выполнивший свою задачу - продержаться до выхода K6.

Как уже упоминалось, AMD K5, точнее 5K86, являлся исключительно проходным процессором, представляя из себя первую (и неудачную) попытку компании заняться самостоятельной разработкой процессоров. Идеи, заложенные в дизайне, были весьма симпатичны - суперскалярность, спекулятивность, разбиение CISC инструкций на RISC-подобные микрооперации, но… Не хватило сил и сроков - учитывая, что первые наброски дизайна начались лишь в 1992 году, а в 1993 году Intel уже выпустил Pentium. Так что времени на доработку идей у AMD попросту не хватило. В спешном порядке им удалось все же выпустить полусырой, отчаянно греющийся процессор на рынок в конце марта 1996 года, но мерой это было исключительно вынужденной, призванной лишь как-то заполнить вакуум до выхода K6, который начал разрабатываться чуть ли не в конце 80-х.

Правда, не в AMD, а в NexGen. Что и говорить, отработали индусы с пакистанцами каждую копейку, вложенную в приобретение их компании. Представленный еще в 1995 году на MicroProcessors Developer Forum, Nx686 произвел там небольшой фурор, а если добавить сюда, что уже осенью того же года, за пару недель до того, как AMD заявила о ее приобретении, NexGen уже смогла предоставить выпущенные IBM образцы этого процессор, то становится очевидно, что техасцам достался практически готовый к выпуску продукт.

Но, во-первых, перепрыгнуть через уже почти готовый K5 (вышедший весной 1996), отказавшись от его выпуска сразу в пользу K6 было просто неразумно, да и по большому счету невозможно. Nx686 требовал под себя совершенно особой инфраструктуры в виде материнских плат на базе чипсета собственной разработки NexGen, так что про совместимость с Pentium по контактам уже можно и не упоминать, тем более, что ее и не было. Nx686 требовал свой собственный 463-контактный разъем. Превращением 463 контактов в 370 и занялись разработчики - а ведь каждый из этих 93 контактов имел вполне серьезные функции, которые теперь приходилось перекладывать на оставшихся собратьев.

Плюс, требовалось ведь еще полностью изменить техпроцесс с тех, что использовался на фабриках IBM, на тот, что использовался на AMD Fab25 (в основание Fab30 как раз только закладывался первый камень), что тоже является не столь сложной задачей, как создание процессора с нуля, но все же - весьма муторной и долгой процедурой из нескольких повторяющихся циклов, пока на выходе не будет получен абсолютно коммерчески пригодный продукт. Все это время оборону держал K5 - с весны 1996 по зиму 1997 года, став, таким образом, одним из наиболее короткоживших x86 процессоров за всю их историю. (Речь, естественно, идет о датах выхода первой и последней из моделей семейства. Сколько они выпускались и продавались потом - неизвестно).

В общем, как бы то ни было, а зима 1997 года стала довольно горячим времечком. В январе AMD выпускает K5 PR166, довольно бледно выглядящий на фоне 200 МГц Pentium, уже обзаведшегося, к тому же, SIMD набором инструкций MMX, ставшим тогда темой ожесточеннейших дискуссий, а также поводом для появления в рекламе Intel'овских "bunny people" в разноцветных фабричных гермокостюмах. Впрочем, с рекламными бюджетами Intel раскрутить можно практически все, что угодно (за исключением RDRAM), так что если бы K6 удалось догнать Pentium лишь по частоте, то AMD все равно оказалась бы на шаг позади.

Но и здесь спасители из NexGen поработали на славу - поскольку Pentium MMX появился еще до выхода Nx686, они быстро оценили потенциал этого направления и весьма оперативно добавили в свой процессор модуль аналогичного назначения - отвечающий за обработку MMX инструкций.

Все, дело сделано - в начале февраля 1997, меньше чем через месяц после выхода последнего K5, выходят 166 и 200 МГц (не PR-рейтинг!) варианты K6 - при том, что Pentium MMX на тот момент (да и вообще) достиг 200 МГц частоты, и при том, что они также обладают поддержкой MMX, работая в тех же самых Socket-7 материнских платах, но, при этом, стоя гораздо дешевле. Это, конечно, был не триумф, но, по крайней мере, неплохая возможность для того, чтобы слегка перевести дух - ответ на Pentium, наконец, спустя четыре года после выхода того, получился адекватным.

Впрочем, обойти Pentium было не так уж трудно - Pentium 233 MMX стал последней моделью данного семейства выпущенной Intel, так что в данном случае формулировка "обойти, как стоячего", приобретает совершенно буквальный смысл. Конкурировать с Pentium можно было хоть до посинения, поскольку до анонса Pentium II оставалось всего лишь пара месяцев. Произошел очередной резкий поворот сюжета, так как Intel совместил смену архитектуры со сменой форм-фактора. Pentium II стал первым массовым процессором Intel шестого поколения. Слово "массового" употреблено не случайно, поскольку первым представителем этого самого поколения стал Pentium Pro, первый процессор на базе ядра P6.

Pentium II же, фактически, представлял из себя Pentium Pro с поддержкой MMX инструкций, и, конечно, в новом форм-факторе: Slot 1. Сейчас долго можно дискутировать на тему того, чем был вызван переход с Socket на Slot только для того, чтобы потом перейти обратно на Socket - действительно проблемами с тепловыделением на тогдашнем техпроцессе и прочими чисто физическими ограничениями, или же желанием отрезать AMD от новой инфраструктуры. Очевидно, что скорее первым - с тем же успехом можно было закрыть и Socket. Но в данном случае речь об итоге: о том, что AMD в результате оказалась со своим новым процессором вновь в одном шаге позади Intel, оставляющего ей Socket 7, фактически, на самостоятельную поддержку.

Именно тогда, в 1997 году, и началось разделение платформ на Intel и AMD, когда начали появляться материнские платы, предназначенные под процессор только лишь одной фирмы, чипсеты под них, и так далее. До того времени подобное не могло присниться никому в самом страшном сне, да, собственно говоря, ни один аналитик ни в одном прогнозе ничего подобного никогда и не высказывал. Но вернемся к теме.

Так вот, Intel представляет новое поколение своих процессоров - AMD опять в проигрыше? Не совсем. Вспомним просто, что K6 - это также x86 процессор шестого поколения. И это уже второй процессор AMD (или NexGen, кому как удобнее), с RISC-подобным ядром, out-of-order выполнением микроинструкций, и так далее - словом тем, что у Intel появилось лишь в Pentium Pro, или, для той же нишы, что и у K6 - лишь в Pentium II. Таким образом, с некоторых ракурсов K6 выглядел даже посимпатичнее Pentium II, в первую очередь, конечно, учитывая дешевую и развитую Socket-7 инфраструктуру, да и не слишком высокую цену самого процессора.


Однако, здесь очень хорошо отразилась еще одна беда AMD. Она как правило хорошо начинает за счет выкладывания на полную на старте, но плохо заканчивает, поскольку на финиш уже практически не остается сил.

Подобное можно сказать чуть ли не о любом процессоре компании, начиная с разогнанного до предела K5, который лишь за счет этого смог соревноваться с Pentium по производительности.

Так и K6 - замечательно, первые образцы чипа, работающие на скоростях 166 и 200 МГц, действительно могли достойно конкурировать с Pentium MMX, но это и был предел его возможностей в сочетании с имеющимся на тот момент у AMD техпроцессом - 0.35 мкм. Была выпущена и 233 МГц версия, но, судя по всему, в серьезных количествах она так и не продавалась - почти девять миллионов транзисторов на такой частоте были уже просто издевательством над 0.35 мкм техпроцессом.

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

Ирония судьбы - Intel, выпустив свой Pentium II, никаких серьезных архитектурных преимуществ перед K6 не имевший, сделала это в тот момент, когда она уже могла использовать в производстве 0.25 мкм технологический процесс. В результате Pentium II смог начать стремительно наращивать свою тактовую частоту, K6 - нет.

Следующей скоростной ступеньки K6 смог достичь лишь к началу 1998 года, когда AMD освоила на Fab25 0.25 мкм техпроцесс, и вышли 233 (на 0.25 мкм - без проблем) и 266 МГц варианты процессора, спустя более чем полугода после выхода первых представителей семейства. Еще спустя несколько месяцев, в апреле 1998, спустя год после выхода 200 МГц K6, AMD смогла выпустить 300 МГц вариант K6, но этим дело и ограничилось.

Очередная волна: техпроцесс позволял повышать скорость процессора - да вот архитектура устарела. Intel в Pentium II с переходом на 0.25 мкм техпроцесс не только смог беспрепятственно повышать тактовую частоту процессора - он еще и впервые интегрировал кэш второго уровня, до того располагающийся на материнской плате, и работающий в разы медленнее процессора, в корпус самого чипа.

К тому все и шло. Slot появился и потому, что потребовалось перенести кэш L2 ближе к процессору, хотя бы на мини-плату картриджа - вынужденно становящийся все более и более скоростным, дабы поспеть за все более прожорливыми по отношению к данным чипам, SRAM становился все более капризным. И перенесение его непосредственно в процессор, да еще и с работой на полной тактовой частоте того, стало логическим завершением этого процесса. Повышение производительности в результате только лишь одного этого изменения было столь заметным, что впору было говорить о новом поколении процессоров. От AMD вновь потребовался ответ.

 
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
«Недостаточно слов, чтобы выразить благодарность за такой подарок»: неофициальная русская озвучка трейлера The Witcher 4 привела фанатов в восторг 43 мин.
ИИ научили генерировать тысячи модификаций вирусов, которые легко обходят антивирусы 2 ч.
В Epic Games Store стартовала новая раздача Control — для тех, кто дважды не успел забрать в 2021 году 2 ч.
За 2024 год в Steam вышло на 30 % больше игр, чем за прошлый — это новый рекорд 3 ч.
«Яндекс» закрыл почти все международные стартапы в сфере ИИ 4 ч.
Создатели Escape from Tarkov приступили к тестированию временного решения проблем с подключением у игроков из России — некоторым уже помогло 4 ч.
Веб-поиск ChatGPT оказался беззащитен перед манипуляциями и обманом 6 ч.
Инвесторы готовы потратить $60 млрд на развитие ИИ в Юго-Восточной Азии, но местным стартапам достанутся крохи от общего пирога 6 ч.
Selectel объявил о спецпредложении на бесплатный перенос IT-инфраструктуры в облачные сервисы 7 ч.
Мошенники придумали, как обманывать нечистых на руку пользователей YouTube 8 ч.