Процессоры, Обзоры, статьи, тестирование,
  Компьютерный портал Hardvision Digital Сделать домашней Добавить в Избранное Обновить Напишите нам!
На главную | Карта портала | Реклама на сайте | Сегодня Среда, 25 декабря 2024
Видеосистема Процессоры Материнские платы Мобильные ПК Периферия Про софт Все обо всем
Мультимедиа Коммуникации Накопители данных MP3-плееры Система Аналитика
Поиск

Последние статьи

» Philips 190B6 – «Выбор редакции» КомпьютерПресс, 2005
» Выбор 17” LCD монитора: Philips 170B6
» Philips 190X5: Идеальный 19” LCD монитор для домашнего компьютера
» Цифровой фотоаппарат Sony Cybershot T7: мобильность цифрового фото
» Интегрированные устройства доступа Paradyne/Jetstream IAD-402, IAD – 801, IAD – 802, IAD – 1601
» КVM-переключатели - эффективное сетевое решение
» PCMCIA Creative Audigy 2 ZS Notebook: Мощь многоканального звука, упрятанная в маленькой карте расширения
» Обзор и тесты новой линейки КПК Dell Axim X50
» Протокол IPV6: будущее IP-технологий
» Рынок жаждет Wi-Fi. Тенденции , стандарты, спрос.

Хочу на портале

Мы рассмотрим все Ваши предложения и пожелания!

 

Фотоальбомы, фоторамки, печать фотографий

Узнать цену на товар:

Пример: GeForce FX 5700, Radeon 9800XT

Материал опубликован - 05/03/2001

Битва за 3D-олимп: AMD против Intel

Еще 10 лет назад никто не заботился о наличии сопроцессора. Все что нам было нужно - быстрый процессор. В настоящее время процессор без арифметического сопроцессора рассматривается нами как бесполезный калькулятор. Уже в 1996 году процессоры конкурентов Intel опередили оригинальный Pentium и завоевывали всевозможные призы. Первый альтернативный процессор пятого поколения - Cyrix 6x86 стал продуктом года и обгонял Pentium на 30%. Появившийся вслед за ним AMD K5 обгонял Pentium уже на 50% (К5-166 работал на частоте 117Мгц). Лидерство Intel оказалось под угрозой. И тут пришел Quake... Первые же тесты доказали лидерство Intel. Сперва высказывались предположения, что Quake, единственная игра использующая сопроцессор, не сможет изменить положения, т.к. остальные игры(Duke3D, Blood ) прекрасно работали на альтернативных процессорах. Но выходящие игры следующего поколения были построены уже на движках, использующих сопрцессор.Они стали использовать расчеты 3D объектов в трехмерном пространстве для большей реалистичности, а спрайтовые игры канули в лету. Лидерство Intel осталось непоколебимым.

С выходом весной 1997 года процессора AMD K6 многие поспешили в магазины за новинкой только для того, чтобы впоследствии обменять его на Pentium MMX. Причина: Quake работает слишком медленно из-за слабого сопроцессора К6. Снова да здравствует Intel? Или нет? В Интернете развернулись бурные дискуссии между компьютерными гуру. Некоторые тесты показывали превосходство сопроцессоров AMD, другие же указывали на бесспорное лидерство Intel. Посмотрите на результаты тестов:

 

Sisoft Sandra FPU

ZD
FPUmark

K6-233

132

740

PMMX-233

130

900

K6-2 300

167

980

PII-300

160

1540

Обратите внимание, что по тесту Sisoft Sandra процессоры AMD показали лучшие значения, а по тестам ZD сопроцессор P II обошел K6-2 на 57%, а iP MMX обошел К6 на 20%. В чем же причина таких противоречащих результатов?

Дело в том, что для увеличения производительности FPU производители использовали разные стратегии, которых всего около пяти:

- Увеличение тактовой частоты
- Конвейерный FPU
- FPU с малыми задержками
- SIMD FPU
- Параллельные конвейерные FPU

Первый путь избрали все производители, а вот дальше пути разошлись. Intel пошел вторым путем, а AMD третьим. Четвертая стратегия используется в К6-2 и подходящих К7 и Katmai. Теперь уже известно, что в К7 будет использована и пятая стратегия.

Теперь обо всем подробнее. Объяснения будут максимально упрощенными, чтобы понять саму идею методов.

Конвейерный FPU

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

Входные данные

Clock 1

    Готовый результат
Блок 1 Блок 2 Блок 3
Operand 3 Operand 2 Operand 1

Clock 2

   
Блок 1 Блок 2 Блок 3

Operand 4

Operand 3 Operand 2

Clock 3

   
Блок 1 Блок 2 Блок 3

Operand 5

Operand 4 Operand 3

В результате за три такта мы вычисляем сложную функцию три раза, что соответствует быстродействию 1FLOPS на частоте 1Hz. Конечно это идеальный случай и в реальной ситуации быстродействие составит приблизительно 0.5 FLOPS. Но если вычисление трех одинаковых функций следует подряд, то наступает идеальный случай - и тут уж дело за программистами. Оптимизация кода в данном случае позолит повысить быстродействие почти в два раза - игра стоит свеч! В наихудшем случае второй операнд требует сразу обработки в блоке, занятом первым операндом и т.д - в результате получаем быстродействие 1/3 FLOPS, как у обычного FPU. Сопроцессор P II имеет два раздельных блока FPU. Один из них выполняет конвейерные операции сложения и вычитания, а другой, частично конвейеризованый, выполняет остальные операции. В результате пиковое быстродействие процессора PII-300 составляет 300MFLOPS.

Почему же AMD не использовала конвейерный FPU в своем К6? На это есть две причины:

Большинство компиляторов 1996/97 года не оптимизировали код для сопроцессора. Если вы хотели получить прирост быстродействия, требовалась ручная оптимизация. Именно этим путем пошли ребята из id Software.
Для выполнения простых операций, подобных сложению, умножению или вычитанию, конвейерному FPU PII требуется от 3 до 5 тактов. Это далеко не самый лучший результат. А именно эти команды используются очень часто.

FPU с малыми задержками

AMD избрала другой путь. Если рассмотреть его на приведенном выше примере, то получится, что сопроцессор AMD способен вычислять сложную функцию не за 3, а за два такта. Таким образом уменьшается задержка получения готового результата по сравнению с классическим FPU. Наиболее важные операции выполняются за 2 такта, в то время как PII требуется 3-5 тактов. Стратегия исключительно проста, но оптимизация кода не дает никакого прироста производительности, поэтому пиковое быстродействие FPU составляет 150MFLOPS для K6-2 300.

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

Вот в этих различиях и кроется секрет противоречивых показателей различных бенчмарков. Тест Sisoft Sandra не оптимизирован под конвейерный FPU PII и поэтому AMD с более быстродействующим FPU вырывается вперед. А вот тест ZD уже использует оптимизацию, в связи с чем PII показывает быстродействие близкое к пиковому.

Так какая же стратегия является верной - конвейерная обработка или вычисления с малыми задержками? В случае, если вычисления с плавающей запятой разбросаны в коде, то AMD намного быстрее. Однако в современном программном обеспечении операции с плавающей запятой имеют тенденцию идти последовательно, даже без оптимизации. Поэтому в большинстве случаев PII значительно быстрее. Характерный пример - расчет 3D-сцен, часто встречающийся в играх.

Еще одним доводом в пользу конвейерного FPU стал авторитет фирмы Intel. Она создала оптимизирующее ПО и оказывала мощную поддержку для разработчиков ПО. Так что забудьте сказку о значительном превосходстве конвейерного сопроцессора P II. Это преимущество проявляется только при оптимизации и при использовании специфического софта, где оптимизация происходит самопроизвольно(к сожалению в эту категорию попадают 3D-игры). Неоптимизированные программы, интенсивно использующие FPU, не дадут практически никакого преимущества P II(разница составит +-5%). При оптимизации разница возрастет до 50% в ползу конвейерного FPU.

Почему же AMD пошла своим путем и не использовала конвейерный сопроцессор в К6-3? Для этого можно было пойти тремя различными путями:

- Полностью скопировать конвейерную архитектуру. AMD могла встроить в К6-3 свою версию конвейерного FPU, при этом не получив требуемого быстродействия. Почему? Потому, что программы оптимизированы не под конвейерный FPU, а под интеловский конвейерный FPU. Чувствуете разницу? К тому же дни, когда AMD копировала архитектуру Intel прошли и дело кончилось бы судом.

- Создать принципиально новый сопроцессор для новой архитектуры. Но для этого необходимо изменить архитектуру всего процессора. Именно так AMD и поступила, разработав параллельный конвейерный FPU для К7.

- Добавить несколько специальных команд для программного обеспечения, где наиболее заметно превосходство конвейерных FPU.

Именно третий вариант был использован для процессоров К6-2 и К6-3. Технология AMD 3DNow! позволяет превзойти сопроцессоры Intel на их же территории. Конечно эти инструкции не могут полностью заменить стандартный сопроцессор, а в этом случае сказывается высокое быстродействие FPU с малыми задержками. Учитывая мощный целочисленный блок и кеш второго уровня 256Кб, работающий на полной частоте ядра процессора, процессор К6-3 можно смело выдвигать в лидеры архитектуры х86. Доказательством тому стали сообщения практически ото всех разработчиков ПО о поддержке технологии 3DNow! в их новых продуктах. Поэтому 1999 год станет годом расцвета 3DNow!

Первоисточник: hardware.ul.ru

Обсудим в форуме!



Последние новости

 Читать еще новости
»
»
»
»
»
»
»
»
»
»

Рассылка
Файлы
Новости
Статьи


Авторские права HardVision Digital © 2001-2024 | Дизайн и программирование by {digit}
При использовании материалов сайта, ссылка на источник обязательна.
Ведется регулярная проверка ворованного контента в Интернете алгоритмом Copyscape.