Процессор AMD K6-2 с технологией 3DNow!


AMD-K6-2 Processor with 3DNow! Technology

Технология 3DNow! будет реализована в новом процессоре AMD K6-2, который будет представлен 28 мая. Это Socket-7-процессор, совместимый по выводам с P55С (Pentium MMX). Этот кристалл выполнен по технологии 0.25 мкм и будет работать при напряжении ядра 2.2 В. Чип поддерживает системную шину 100 МГц и с ней показывает лучшие результаты, то есть для его использования рекомендуется применение архитектуры Super 7. Однако и с шиной 66 МГц K6-2 работать будет. Размер интегрированного кэша первого уровня — 64 Кбайта, по 32 на данные и инструкции. Первые процессоры будут работать на частотах 266 и 300 МГц, с третьего квартала будет выпускаться 350-мегагерцовая версия, работающая только с шиной 100 МГц, а в четвертом квартале нас ждет K6-2 400 МГц. Также ожидается выпуск еще одного кристалла, сделанного на ядре K6 3D, K6 3D+ с интегрированным в процессор кэшем второго уровня 256 Кбайт, работающем на частоте процессора.

Технология 3DNow!

Технология 3DNow!, предложенная AMD в своем новом процессоре K6-2 (кодовое имя было K6 3D), представляет собой развитие применяемой повсеместно технологии MMX. MMX — это дополнительные 57 инструкций процессора и 8 дополнительных регистров, которые призваны увеличить производительность мультимедийных приложений. Если программа использует эти возможности, то это вносит немалый вклад в скорость ее выполнения. MMX была введена в процессорах фирмы Intel, но к настоящему моменту все x86-процессоры, включая AMD, IDT и Cyrix, поддерживают ее. Однако, несмотря на повсеместную поддержку, MMX используется недостаточным числом приложений, поэтому преимущества от наличия поддержки MMX пока невелики.

После внедрения MMX, инициатива по внедрению новых инструкций неожиданно перешла к AMD. Правда, в ответ на этот шаг, Intel анонсировал набор команд MMX2, который появится в процессоре Katmai. Дополнительная система команд от AMD, названная 3DNow! (кодовое имя было AMD-3D Technology), представляет собой набор инструкций для ускорения операций трехмерной графики. Этот набор включает, в частности, быстрое деление вещественных чисел, выполняемое за 3 такта процессора, и вычисление обратной величины к квадратному корню, выполняемое также за 3 такта. По мнению AMD, использование в 3D-играх технологии 3DNow! позволит 300-мегагерцовому K6-2 догнать по производительности Pentium II 400 МГц. Вопрос, насколько такие заявления соотносятся с реальным миром и будут ли разработчики программ использовать новые инструкции, пока остается открытым.

Ниже приводится таблица, указывающая на основные преимущества технологии 3DNow!

ОперацияPentium IIK6-2 3DNow!
Скорость вещественного деления (тактов процессора)Около 303 при точности 14 бит
Обработка вещественночисленных инструкций за такт1До 4
Скорость вычисления обратного квадратного корня (тактов)Более 453
Предварительная выборка инструкцийНетЕсть

О поддержке 3DNow! уже объявила фирма IDT, которая применит эту технологию в своем новом процессоре C6+ (WinChip2). Cyrix же пока не собирается внедрять в свои процессоры эту технологию.

Функционирование 3D

В настоящее время цикл обработки 3D-изображения состоит из двух частей: геометрии и рендеринга. Рендеринг включает подготовку многоугольников к выводу на экран и их растеризацию. Этот процесс требует большого количества вычислений с плавающей точкой, особенно деления. Например, деление активно используется при перспективной коррекции или согласовании кадров, а вычисление обратной величины квадратного корня — при проецировании, для вычисления синусов и косинусов. На этапе геометрической обработки формируется список графических примитивов, которые рендерятся позднее. Здесь вычисления с плавающей точкой более сложные, однако, определение положений объектов все-таки требует выполнения простых действий, например деления.

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

Таким образом, одним из основных новшеств 3DNow! следует считать быстрое 14-битное деление (это не очень высокая точность, но вполне достаточная для правильного отображения координат на экране), выполняемое за 3 такта. Остальные же нововведения, выполнение до 4 инструкций за один такт и подсчет степени -1/2 носят скорее вспомогательный характер.

Но, учитывая тот факт, что в настоящий момент рендерингом занимается 3D-акселератор, получается, что основные нововведения технологии 3DNow!, задействованы не будут. Эта технология способна внести лишь очень небольшой вклад в производительность, лишь когда требуется быстрое деление с низкой точностью.

Дело в том, что деление 15-битных аргументов проиходит уже за 4 такта, а 24-битное деление — за 8 тактов. Поэтому единственное, где выигрыш может быть сильно ощутим, это при программной эмуляции 3D. Однако программ, которые поддерживали бы 3DNow! и при этом бы могли обходиться без аппаратного трехмерного акселератора нет, и они вряд ли появятся.

Есть непроверенная информация, о том, что в AMD K6-2 будет реализована команда MADD (умножение+сложение 32-бит вещественных чисел). А это именно та операция, которая наиболее интенсивно используется при геометрических преобразованиях. Так что, ждем официального релиза.

А что с геометрией?

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

3DNow! не предлагает специальных средств для операций с матрицами и векторами, поэтому 3D-инструкции могут быть применены только лишь при вычислении взаимоположений объектов, интерполяции поверхностей или преобразовании многоугольников, где может потребоваться выполнение операций деления.

К тому же многие разработчики игр, которые стремятся получить лучшее качество анимации, оптимизируют свой код таким образом, чтобы в нем было как можно меньше сложных операций. То есть таких, как раз для выполнения которых и нацелен K6-2. Хотя с другой стороны, использование инструкций набора 3DNow! может позволить разработчикам не хранить таблицы пересчета в памяти, а вычислять их каждый раз заново. Правда, смысл этого пока не ясен.

Выводы

Прежде всего, нельзя утверждать, что K6-2 будет в реальных 3D-играх работать на уровне Pentium II 400 МГц. Однако, поддержка инструкций набора 3DNow! в библиотеке DirectX 6.0, а также планируемое создание аналогичных OpenGL-библиотек дает основания надеяться, что при получении должной поддержки со стороны разработчиков, эта технология потенциально может внести ощутимый вклад в улучшение качества 3D-визуализации.




15 мая 1998 Г.

AMD-K6-2 Processor with 3DNow! Technology Review

Процессор AMD K6-2 с технологией 3DNow!

AMD-K6-2 Processor with 3DNow! Technology

Технология 3DNow! будет реализована в новом процессоре AMD K6-2, который будет представлен 28 мая. Это Socket-7-процессор, совместимый по выводам с P55С (Pentium MMX). Этот кристалл выполнен по технологии 0.25 мкм и будет работать при напряжении ядра 2.2 В. Чип поддерживает системную шину 100 МГц и с ней показывает лучшие результаты, то есть для его использования рекомендуется применение архитектуры Super 7. Однако и с шиной 66 МГц K6-2 работать будет. Размер интегрированного кэша первого уровня — 64 Кбайта, по 32 на данные и инструкции. Первые процессоры будут работать на частотах 266 и 300 МГц, с третьего квартала будет выпускаться 350-мегагерцовая версия, работающая только с шиной 100 МГц, а в четвертом квартале нас ждет K6-2 400 МГц. Также ожидается выпуск еще одного кристалла, сделанного на ядре K6 3D, K6 3D+ с интегрированным в процессор кэшем второго уровня 256 Кбайт, работающем на частоте процессора.

Технология 3DNow!

Технология 3DNow!, предложенная AMD в своем новом процессоре K6-2 (кодовое имя было K6 3D), представляет собой развитие применяемой повсеместно технологии MMX. MMX — это дополнительные 57 инструкций процессора и 8 дополнительных регистров, которые призваны увеличить производительность мультимедийных приложений. Если программа использует эти возможности, то это вносит немалый вклад в скорость ее выполнения. MMX была введена в процессорах фирмы Intel, но к настоящему моменту все x86-процессоры, включая AMD, IDT и Cyrix, поддерживают ее. Однако, несмотря на повсеместную поддержку, MMX используется недостаточным числом приложений, поэтому преимущества от наличия поддержки MMX пока невелики.

После внедрения MMX, инициатива по внедрению новых инструкций неожиданно перешла к AMD. Правда, в ответ на этот шаг, Intel анонсировал набор команд MMX2, который появится в процессоре Katmai. Дополнительная система команд от AMD, названная 3DNow! (кодовое имя было AMD-3D Technology), представляет собой набор инструкций для ускорения операций трехмерной графики. Этот набор включает, в частности, быстрое деление вещественных чисел, выполняемое за 3 такта процессора, и вычисление обратной величины к квадратному корню, выполняемое также за 3 такта. По мнению AMD, использование в 3D-играх технологии 3DNow! позволит 300-мегагерцовому K6-2 догнать по производительности Pentium II 400 МГц. Вопрос, насколько такие заявления соотносятся с реальным миром и будут ли разработчики программ использовать новые инструкции, пока остается открытым.

Ниже приводится таблица, указывающая на основные преимущества технологии 3DNow!

ОперацияPentium IIK6-2 3DNow!
Скорость вещественного деления (тактов процессора)Около 303 при точности 14 бит
Обработка вещественночисленных инструкций за такт1До 4
Скорость вычисления обратного квадратного корня (тактов)Более 453
Предварительная выборка инструкцийНетЕсть

О поддержке 3DNow! уже объявила фирма IDT, которая применит эту технологию в своем новом процессоре C6+ (WinChip2). Cyrix же пока не собирается внедрять в свои процессоры эту технологию.

Функционирование 3D

В настоящее время цикл обработки 3D-изображения состоит из двух частей: геометрии и рендеринга. Рендеринг включает подготовку многоугольников к выводу на экран и их растеризацию. Этот процесс требует большого количества вычислений с плавающей точкой, особенно деления. Например, деление активно используется при перспективной коррекции или согласовании кадров, а вычисление обратной величины квадратного корня — при проецировании, для вычисления синусов и косинусов. На этапе геометрической обработки формируется список графических примитивов, которые рендерятся позднее. Здесь вычисления с плавающей точкой более сложные, однако, определение положений объектов все-таки требует выполнения простых действий, например деления.

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

Таким образом, одним из основных новшеств 3DNow! следует считать быстрое 14-битное деление (это не очень высокая точность, но вполне достаточная для правильного отображения координат на экране), выполняемое за 3 такта. Остальные же нововведения, выполнение до 4 инструкций за один такт и подсчет степени -1/2 носят скорее вспомогательный характер.

Но, учитывая тот факт, что в настоящий момент рендерингом занимается 3D-акселератор, получается, что основные нововведения технологии 3DNow!, задействованы не будут. Эта технология способна внести лишь очень небольшой вклад в производительность, лишь когда требуется быстрое деление с низкой точностью.

Дело в том, что деление 15-битных аргументов проиходит уже за 4 такта, а 24-битное деление — за 8 тактов. Поэтому единственное, где выигрыш может быть сильно ощутим, это при программной эмуляции 3D. Однако программ, которые поддерживали бы 3DNow! и при этом бы могли обходиться без аппаратного трехмерного акселератора нет, и они вряд ли появятся.

Есть непроверенная информация, о том, что в AMD K6-2 будет реализована команда MADD (умножение+сложение 32-бит вещественных чисел). А это именно та операция, которая наиболее интенсивно используется при геометрических преобразованиях. Так что, ждем официального релиза.

А что с геометрией?

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

3DNow! не предлагает специальных средств для операций с матрицами и векторами, поэтому 3D-инструкции могут быть применены только лишь при вычислении взаимоположений объектов, интерполяции поверхностей или преобразовании многоугольников, где может потребоваться выполнение операций деления.

К тому же многие разработчики игр, которые стремятся получить лучшее качество анимации, оптимизируют свой код таким образом, чтобы в нем было как можно меньше сложных операций. То есть таких, как раз для выполнения которых и нацелен K6-2. Хотя с другой стороны, использование инструкций набора 3DNow! может позволить разработчикам не хранить таблицы пересчета в памяти, а вычислять их каждый раз заново. Правда, смысл этого пока не ясен.

Выводы

Прежде всего, нельзя утверждать, что K6-2 будет в реальных 3D-играх работать на уровне Pentium II 400 МГц. Однако, поддержка инструкций набора 3DNow! в библиотеке DirectX 6.0, а также планируемое создание аналогичных OpenGL-библиотек дает основания надеяться, что при получении должной поддержки со стороны разработчиков, эта технология потенциально может внести ощутимый вклад в улучшение качества 3D-визуализации.