История добрососедства: два процессора на одной видеокарте
В одном из своих повествований о делах давно минувших дней и преданьях старины глубокой, я рассказывал об истории объединения видеокарт в массивы, то есть, по сути, предысторию появления SLI и Crossfire. Теперь настала очередь поведать о другом способе объединения графических процессоров – в пределах одной печатной платы. А ведь эта история не менее интересна, и пусть в некоторых случаях близка с историей SLI и Crossfire, но в некоторых случаях и очень далека.
Дмитрий Петров, MegaByte
В отличие от схем объединения, застрельщиками в данном деле стали вовсе не производители графических процессоров, как это было с технологией SLI от 3dfx, а производители видеокарт, точнее один производитель – 3D Quantum, контора очень близкая все той же 3dfx. Именно ее инженеры разработали видеокарту с одной печатной платой, но несущую на себе два набора, состоящих из графических процессоров Voodoo II и локальной видеопамяти. В принципе, технологически решение было очень простым, даже проще чем современные двухпроцессорные видеокарты, ведь инженерам 3D Quantum не пришлось даже устанавливать какие-либо дополнительные чипы, которые делили бы между чипами шину PCI. Все работало прекрасно и без этого. Удивило другое: несмотря на то, что данное двухчиповое решение довольствовалось пропускной способностью всего одной шины PCI, в отличие от внешнего SLI, когда каждый чип использует свою шину, производительность этого монстра оказалась лишь чуть-чуть хуже. Правда, цена данного решения оказалась не ниже чем цена на две отдельные Voodoo II, ведь инженерам пришлось столкнуться с высоким энергопотреблением, и как результат пришлось усложнить схему питания и установить разъем дополнительного питания. В общем, особого успеха карта не добилась, так и оставшись эксклюзивом.
Впрочем, идея уже пошла в массы и ей заинтересовались разработчики графических процессоров, в частности ATI, которая со своим графическим процессором Rage Fury в конце 90-х, то есть в начале постепенного спада у 3dfx, смогла захватить неплохую долю рынка. Однако тут на горизонте появилась nVIDIA со своим успешным Riva TNT2, а у ATI замены для rage не было. А чуть позже nVIDIA нанесла и вовсе сокрушительный удар, выпустив первый графический процессор с аппаратным блоком трансформации и освещения – легендарный GeForce 256. В итоге, ATI было принято решение: пока не будет готов конкурент для успешной карты от калифорнийцев, взять на вооружение идею 3D Quantum и создать двухчиповую карту. В основу данного “монстра” был принят разогнанный вариант Rage Fury Pro – чип, обладающий неплохими для своего времени характеристиками, да к тому же первый, который предлагал своим пользователям аппаратное декодирование MPEG-2. Сложностей при создании карты было множество, в частности, возникала серьезная проблема с аппаратным объединением, так как чипы изначально не были рассчитаны на возможность работать в паре. В итоге решение было простым и дешевым, хоть и весьма “топорным” – совместить чипы на программном уровне с помощью драйвера. Технически объединения двух графических процессоров на одной печатной плате прошло вполне безболезненно: низкое энергопотребление не заставило усложнять разводку и задействовать внешнее питание. Это положительно сказалось на себестоимости карты. Однако проблемы появились там, откуда их не ждали. Заставить два графических процессора работать в пределах одной шины AGP оказалось весьма нетривиальной задачей, и в итоге, за весь, пусть и весьма недолгий цикл жизни ATI Rage Fury MAXX (а именно так нарекли уникальное решение), окончательно справится с ней программистам ATI так и не удалось. Впрочем, несмотря на то, что проблемы были, карта функционировала вполне стабильно, показывая при этом довольно неплохую производительность, борясь практически на равных не только с GeForce 256, но и более быстрым GeForce 256 DDR. Впрочем, цена Rage Fury MAXX была не ниже чем на GeForce 256 DDR, а потому ее выбирали в основном энтузиасты. Как результат – карту сняли с производства, как только вышла замена Rage Fury – Radeon. Тем не менее, нельзя не отметить вклад Rage Fury MAXX в историю и тот факт, что это была одна из первых графических карт, которые имели хоть какие-то функции энергосбережения, в частности при работе в 2D режиме один из графических процессоров полностью отключался.
Впрочем, учитывая относительную успешность Rage Fury MAXX, в ATI не забросили идею выпуска двухчиповых карт и проводили эксперименты с чипами Radeon 7000, видя в этом возможность опередить в абсолютном зачете карты GeForce. Однако, все те же проблемы с драйверами и работоспособностью двух графических процессоров на одной шине AGP поставили крест на проекте Radeon MAXX. А после выхода успешного Radeon 8500 идею и вовсе закинули на весьма долгое время.
После ошибок и сложностей с созданием многопроцессорных видеокарт, ни одна из компаний долгое время не пыталась возобновить даже разработки в этом направлении. nVIDIA и ATI и так достаточно комфортно чувствовали себя на рынке, чтобы отправляться в авантюры. А других серьезных игроков на рынке практически и не осталось. Однако, совершенно неожиданно для всех попробовать себя на этом поприще, да и вообще попытаться навязать борьбу лидерам графического рынка, решила компания XGI – графическое подразделение тогда еще очень серьезной и солидной компании SiS. В качестве основного оружия завоевания рынка была анонсирована линейка графических карт под названием Volari. Всего в линейке было три графических процессора: бюджетный V3, средний V5 и топовый V8. Причем, последние два должны были быть выпущены и в двухпроцессорном варианте под названиями V5 Duo и V8 Duo. Что удивительно, на момент анонса характеристики этих графических процессоров оказались весьма неплохими даже на уровне лидеров рынка. ATI и nVIDIA всерьез обеспокоились, так как по характеристикам V8 Duo мог стать угрозой их лидерам линеек, которыми на тот момент были Radeon 9800XT и GeForce 5900 Ultra, соответственно. Однако, после выхода одночиповых решений, лидеры успокоились – их позициями ничего не угрожало – ведь топовый XGI Volari V8 уступал в производительности даже средним решениям. Впрочем, версия Duo вполне могла продемонстрировать гораздо более высокую производительность, если бы не одно но…
Этим “но” оказалась реализация связки чипов. Ни для кого не секрет, что AGP очень не любила работать с более чем одним графическим процессором, однако и ATI, и 3dfx нашли решение этих проблем, хоть и не совсем стабильное. А вот инженеры XGI решили перехитрить AGP и завязали на нее только один графический процессор, в то время как второй был привязан к первому по внутренней шине. Проблемой первой оказалась эта самая шина под названием BitFluent, а точнее, ее низкая пропускная способность – 2.1 гигабайта в секунду. При этом, данная шина должна переваривать огромный поток – переправка текстур и результатов рендеринга второго чипа первому. Как результат, именно этот момент и стал так называемым “бутылочным горлышком” – узким местом, которое ограничивает производительность системы. Даже наличие совсем нескромных на тот момент 512 мегабайт локальной видеопамяти, поделенной поровну между двумя чипами, не спасли положение. А ведь как все хорошо было на бумаге! Впрочем, нельзя не отметить и высокую цену данной карты, и ее огромное тепловыделение. Система охлаждения карты выглядела просто монструозно, а для того, чтобы прокормить XGI Volari V8 Duo, требовалось аж два коннектора дополнительного питания. Соответственно, совсем не лояльно выглядели и требования к блоку питания. В общем, покупатели, трезво оценив перспективу и объем вложений, необходимых для того чтобы обзавестись данной картой, просто шли и покупали Radeon 9600XT или GeForce FX 5700, и получали близкую производительность по цене втрое ниже! Как результат, захват рынка у XGI провалился, а в истории появилась еще одна глава о неудачных двухпроцессорных видеокартах.
На тот момент общество сделало вывод, что успешными подобные решение не станут никогда, а лучшее решение – это одночиповая карта с все увеличивающимся количеством функциональных блоков и растущей частотой. Однако, чуть позже было доказано что это не так. Причем, застрельщиком нового поколения двухпроцессорных видеокарт вновь стал не разработчик графических процессоров, а сборщик видеокарт – компания Gigabyte. Именно она рискнула воспользоваться возможность недавно анонсированной технологии SLI от nVIDIA и выпустить карту, несущую два графических процессора GeForce шестой серии на одной печатной плате. Так появилась даже не видеокарта, а целый набор, состоящий из двухпроцессорной видеокарты на основе двух безумно удачных графических процессоров GeForce 6600GT и материнской платы, специально созданной под эту карту. По-другому в то время не получилось, так как оба чипа напрямую завязывались на одну общую шину PCI-Express x16, и для полноценной работоспособности этого “SLI на одной плате” обязательно нужна была поддержку со стороны BIOS материнской платы и драйверов. При этом, возможность объединить две такие карты и получить Quad-SLI, который сама nVIDIA анонсировала лишь через полтора года, отсутствовала. Однако некоторым энтузиастам с помощью модификации BIOS и драйвера других материнских плат от Gigabyte удалось сделать это, чем они не преминули поделиться с общественностью. Удивительным оказалось то, что у Gigabyte получился просто отменный продукт, который по производительности не уступал связке из двух отдельных GeForce 6600GT и при этом стоил дешевле! Да и энергопотребление с тепловыделением оказались на приемлемом уровне. Как результат, популярность 3D1 оказалась, учитывая сегмент рынка, довольно высокой. Естественно, это не могло остаться незамеченным конкурентами, некоторые из которых сразу же взялись за разработку аналогичных продуктов. Прежде всего, тайваньский ASUS, который весьма скоро выпустил свою карту, основанную на чипах GeForce 6800 и названием Dual, которое полностью отображало суть продукта. Однако, ASUS, в отличие от Gigabyte, смогла сделать карту, которая не зависела от материнской платы (хотя в инструкции все же присутствовал список рекомендованных плат, среди которых, естественно, были только продукты ASUS) и работала на всех чипсетах поддерживающих SLI. Удивительно, но даже пара таких “горячих штучек” как GeForce 6800 ужились на одной печатной плате нормально, и даже сохранили энергопотребление в разумных пределах. Через небольшое время последовал ответ Gigabyte – родоначальник нового класса не мог сложить оружие, а, потому, исключив огрехи первой 3D1, ее инженеры постарались утереть нос ASUS, выпустив новую инкарнацию 3D1, несущую на плате два чипа GeForce 6800GT. Естественно, на момент выхода, конкурентов у данной платы не было: даже, несмотря на не очень хорошую (с точки зрения сегодняшнего дня) оптимизацию SLI, в большинстве приложений за этой картой не могли угнаться ни Radeon X850XT Platinum Edition, ни GeForce 6800GT. И вновь, покупатель проголосовал за эту карту своим кровным долларом, а потому вопрос появления новых версий уже не обсуждался: двухпроцессорным видеокартам – быть!
В следующем поколении графических процессоров GeForce 7 история повторилась, правда, лидером здесь, несомненно, стал ASUS с его потрясающей видеокартой GeForce 7800GT Dual, в то время как остальные производители “остыли”. Однако интерес к этой теме, особенно в свете бесконечной борьбы с ATI за звание производителя самой быстрой графики, проявила калифорнийская nVIDIA. И после рестайлинга седьмой серии своих графических процессоров эта компания, впервые в своей истории выпустила на рынок свою двухпроцессорную видеокарту под названием GeForce 7950GX2. Эту карту инженеры nVIDIA лишили последнего недостатка, который был присущ предшественникам от ASUS и Gigabyte – привязанность к определенным чипсетам (только с поддержкой технологии SLI у ASUS), или даже материнским платам (Gigabyte). Решена эта проблема была просто и элегантно. На самой печатной плате видеокарты распаивался отдельный чип, который разделяет потоки PCI-Express x16 на два потока, управляет очередью, и что самое главное – маскирует наличие двух графических процессоров для чипсета, который просто работает с одной картой. Драйвер видеокарты при этом отлично видит оба GPU и в результате адекватно распределяет нагрузку, полностью используя все преимущества SLI. При этом, совсем не обязательно, чтобы чипсет поддерживал SLI, он может быть абсолютно любым. Эволюция технологий объединения достигла пика. Кроме появления первой двухпроцессорной карты от nVIDIA, калифорнийцы объявили о том, что теперь официально поддерживается технология Quad-SLI, которую можно активировать, установив в материнскую плату с поддержкой SLI, две видеокарты GeForce 7950GX2.
Кстати, если быть до конца честным, то назвать этот продукт от nVIDIA действительно двухпроцессорной видеокартой нельзя. Скорее это две видеокарты, которые подключаются к одному разъему PCI-Express x16, ведь два графических процессора в данном решении установлены на двух печатных платах. Впрочем, это не имеет особого значение, а указывает лишь на оригинальность инженеров nVIDIA, которые таким способом смогли заметно упростить разводку весьма сложного продукта.
А что же ATI, к тому времени уже влившаяся в компанию AMD? Она молчала, и казалось, не хотела больше ввязываться в двухчиповую авантюру, но на деле все оказалось иначе. К тому времени как партнеры nVIDIA выпускали свои двухпроцессорные видеокарты, инженеры ATI продолжали оттачивать технологию Crossfire и планировали выпуск двуядерных карт несколько позже. Однако в дело вновь вмешались производители видеокарт, которым было просто необходимо предоставить покупателям что-либо, что могло бы конкурировать с двухпроцессорными решениями на основе чипов nVIDIA. В итоге, пара отчаянных, состоящая из придворной Sapphire и GeCube предложили свои двухпроцессорные решения. Первой отметилась, конечно, Sapphire. Используя введенную ATI возможность создавать с помощью некоторых графических процессоров Crossfire, объединяющийся на программном уровне, то есть, на уровне драйвера. Упустить такую возможность было бы обидно, а потому свет увидели сразу две карты, несущие два графических процессора. Основаны они были на чипах Radeon X1650XT и Radeon X1950Pro. Чуть позже появились и аналогичные модели от GeCube. Их реализация также была весьма удобной и стабильной. Однако покупатели продолжали ждать двухчиповой карты от самой ATI. Но и в серии HD2000 таковую компания не представила и отдуваться вновь пришлось все тем же Sapphire и GeCube, которые выпустили двухпроцессорные карты, основанные на чипах Radeon HD2600Pro и HD2600XT. nVIDIA же на время отложила идею и восьмая серия обошлась без своего монстра. Однако в девятой серии (которая, по сути, была модифицированной восьмой) GX2 вернулся в аналогичном предшественнику варианте – с двумя платами.
Как видите, история прихода в наши компьютеры видеокарт, несущих на себе два графических процессора была долгой и сложной. Были в ней взлеты и падения, успехи и неудачи. В какой-то момент казалось, что об этом можно забыть, но появление Crossfire и SLI дало новый толчок развитию этих очень интересных продуктов. Это ли не доказательство того, что еще в далеких 90-х годах инженеры 3dfx верно определили вектор развития рынка, который рано или поздно будет полностью завязан на параллельных вычислениях? Эх, если бы не провал чипа VSA-100, кто знает, быть может сейчас на рынке царствовали бы совсем другие продукты с четырьмя, а может и восемью графическими процессорами, ведь технология Voodoo Scalable Architecture позволяла такое объединение еще на стыке тысячелетий!