Смекни!
smekni.com

Процессор AMD. История развития (стр. 4 из 5)

Однако перед тем, как начать работу над параллельными потоками инструкций, процессор должен их откуда-то получить. Для этого в AMD Athlon, как впрочем и в Intel Pentium III, применяется дешифратор команд (декодер), который преобразует поступающий на вход процессора код. Дешифратор в AMD Athlon может раскладывать на RISC-составляющие до трех входящих CISC-команд одновременно. Современные интеловские процессоры могут также обрабатывать до трех команд, однако если для Athlon совершенно все равно, какие команды он расщепляет, Pentium III хочет, чтобы две из трех инструкций были простыми и только одна - сложной. Это приводит к тому, что если Athlon за каждый процессорный такт может переварить три инструкции независимо ни от чего, то у Pentium III отдельные части дешифратора могут простаивать из-за неоптимизированного кода.

Перед тем, как попасть в соответствующий вычислительный блок, поступающий поток RISC-команд задерживается в небольшом буфере (Instruction Control Unit), который, что уже неудивительно, у AMD Athlon расчитан на 72 инструкции против 20 у Pentium III. Увеличивая этот буфер, AMD попыталась добиться того, чтобы дешифратор команд не простаивал из-за переполнения Instruction Control Unit.

Еще один момент, заслуживающий внимания - вчетверо большая, чем у Pentium III, таблица предсказания переходов размером 2048 ячеек, в которой сохраняются предыдущие результаты выполнения логических операций. На основании этих данных процессор прогнозирует их результаты при их повторном выполнении. Благодаря этой технике AMD Athlon правильно предсказывает результаты ветвлений где-то в 95% случаев, что очень даже неплохо, если учесть, что аналогичная характеристика у Intel Pentium III всего 90%.

Посмотрим теперь, что же происходит в Athlon, когда дело доходит непосредственно до вычислений.

Целочисленные операции

С целочисленными операциями у процессоров от AMD всегда все было в порядке. Со времен AMD K6 процессоры от Intel проигрывали именно в скорости целочисленных вычислений. Тем не менее, в Athlon AMD напрочь отказалась от старого наследия.

Благодаря наличию трех конвейерных блоков исполнения целочисленных команд (Integer Execution Unit) AMD Athlon может выполнять три целочисленные инструкции одновременно. Что же касается Pentium III, то его возможности ограничиваются одновременным выполнением только двух команд.

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

Потому в AMD Athlon глубина целочисленных конвейеров составляет 10 стадий, что близко к оптимуму. К сожалению, поклонники продукции Intel снова не услышат ничего утешительного, так как конвейер в Pentium III состоит из 12-17 стадий в зависимости от типа исполняемой инструкции.

Вещественные операции

С замиранием сердца обращаем наш взгляд на блок FPU, встроенный в Athlon. Как мы все хорошо помним, для предыдущих процессоров AMD операции с плавающей точкой были настоящей ахиллесовой пятой. Главной проблемой было то, что блок FPU в K6, K6-2 и K6-III был неконвейеризированый. Это приводило к тому, что хотя многие операции с плавающей точкой в FPU от AMD выполнялись за меньшее число тактов, чем на интеловских процессорах, общая производительность была катастрофически низкой, так как следующая вещественная операция не могла начать выполняться до завершения предыдущей. А что-то менять в своем FPU AMD в то время не хотела, призывая разработчиков к отказу от его использования в пользу 3DNow!.

Но, похоже, прошлый опыт научил AMD. В Athlon арифметический сопроцессор имеет конвейер глубиной 15 стадий против 25 у Pentium III. Не следует забывать, что, как уже говорилось выше, более длинный конвейер не всегда обеспечивает лучшую производительность. К тому же, существенным недостатком Intel Pentium III, которого в Athlon, естественно нет, является неконвейерезируемость операций FMUL и FDIV.

FPU в Athlon объединяет в себе три блока: один для выполнения простых операций типа сложения, второй - для сложных операций типа умножения и третий - для операций с данными. Благодаря такому разделению работы Athlon может выполнять одновременно по две вещественночисленные инструкциии. А ведь такого не умеет даже Intel Pentium III - он выполняет инструкции только последовательно!

Так что, как это ни странно, FPU интеловских процессоров оказался не таким уж замечательным, как это принято было считать ранее.

MMX

На первый взгляд с выполнением MMX-операций у Athlon по сравнению с K6-III изменений не произошло. Однако это не совсем так. Хотя и MMX-инструкции используются в крайне небольшом числе приложений, AMD добавила в этот набор еще несколько инструкций, которые также появились в MMX-блоке процессора Pentium III. В их число вошли нахождение среднего, максимума и минимума и изощренные пересылки данных.

Если обратить внимание на архитектурные особенности, то в AMD Athlon имеется по два блока MMX, потому на обоих процессорах - и на Athlon, и на Pentium III - может выполняться одновременно пара MMX-инструкций. Однако, MMX-блоки в AMD Athlon имеют большую, чем у Pentium III латентность, что теоретически должно приводить к отставанию этого CPU в MMX-приложениях.

3DNow!

Блока 3DNow! в AMD Athlon коснулись сильные изменения. Хотя его архитектура и осталась неизменной - два конвейера обрабатывают инструкции, работающие с 64-битными регистрами, в которых лежат пары вещественных чисел одинарной точности, в сам набор команд было добавлено 24 новинки. Новые операции должны не только позволить увеличить скорость обработки данных, но и позволить задействовать технологию 3DNow! в таких областях, как распознавание звука и видео, а также интернет :) Кроме этого, по аналогии с SSE были добавлены и инструкции для работы с данными, находящимися в кеше. Поддержка обновленного набора 3DNow! уже встроена в Windows 98 SE и в DirectX 6.2.

Таким образом, в набор 3DNow! входит теперь 45 команд, против 71 инструкции в SSE от Intel. Причем, судя по всему, использование новых команд должно дать еще больший эффект от 3DNow! В доказательство этого факта AMD распространила дополнительный DLL для известного теста 3DMark 99 MAX, задействующий новые возможности процессора.

Специально для оценки эффективности процессора в 3D-играх, 3DMark 99 MAX предлагает индекс CPU 3DМark, просчитывающий 3D-сцены, но не выводящий их не экран. Таким образом, получается результат, зависящий только от возможностей процессора по обработке 3D-графики и от пропускной способности основной памяти.

Чипсеты

Прекратив разрабатывать процессоры под гнездо Super 7 и начав продвигать собственный Slot A и системную шину EV6, AMD оказалась отрезана от всех интеловских наработок на поприще чипсетов и системных плат. Теперь AMD придется самой создавать необходимую инфраструктуру, чтобы мы могли приобрести не только процессор, но и системную плату, оборудованную Slot A.

И, судя по первым успехам, ей это удалось. На первое время компания разработала собственный набор логики AMD 750, имеющий кодовое имя Irongate, а также собственный дизайн системной платы - Fester, который был растиражирован рядом тайваньских производителей.

Сам чипсет AMD 750 не представляет собой ничего особенного - по возможностям он аналогичен i440BX. Но большего, в принципе, и не надо. AMD Athlon, как мы видели, и так работает нормально и даже обгоняет по производительности конкурирующие продукты.

AMD 750 имеет традиционую архитектуру и состоит из северного моста AMD 751 и южного AMD 756. Северный мост обеспечивает взаимодействие посредством шины EV6 процессора с памятью и шинами PCI и AGP, поддерживая до 768 Мбайт оперативной памяти PC100 в не более чем трех модулях, AGP 2x и 6 PCI bus maser устройств. Южный мост, осуществляющий интерфейс со всей периферией, кроме обычных функций, умеет работать с UltraDMA/66 IDE-устройствами.

AMD Athlon (Thunderbird) 800

Итак, взвесив все плюсы и минусы L2-кеша на ядре, AMD, пришла к выводу о необходимости переноса кеша на ядро. Тем более, что оба завода AMD, находящиеся в Дрездене и Остине вполне успешно освоили технологию 0.18 мкм, по которой, кстати, некоторое время уже выпускались старшие модели обычных AMD Athlon. Так появился новый старый AMD Athlon с кодовым именем Thunderbird, архитектурно отличающийся от старого Athlon наличием интегрированной кеш-памяти второго уровня размером 256 Кбайт вместо внешнего 512-килобайтного L2-кеша. Посмотрим на его спецификацию:
  • Чип, производимый по технологии 0.18 мкм с использованием алюминиевых или медных соединений
  • Ядро Thunderbird, основанное на архитектуре Athlon. Содержит 37 млн. транзисторов и имеет площадь 120 кв.мм
  • Работает в специальных материнских платах с 462-контактным процессорным разъемом Socket A (Slot A версии доступны в ограниченных количествах только OEM)
  • Использует высокопроизводительную 100 МГц DDR системную шину EV6
  • Кеш первого уровня 128 Кбайт - по 64 Кбайта на код и на данные
  • Интегрированный кеш второго уровня 256 Кбайт. Работает на полной частоте ядра
  • Напряжение питания при частоте до 850МГц - 1.7В, при больших частотах - 1.75В
  • Набор SIMD-инструкций 3DNow!
  • Выпускаются версии с частотами 750, 800, 850, 900, 950 и 1000 МГц

Итак, с точки зрения архитектуры, Thunderbird ничем не отличается от обычного Athlon, кроме встроенного в ядро 256-Кбайтного кеша второго уровня. Несмотря на сокращение размера кеша вдвое по сравнению с обычным Athlon, быстродействие от этого упасть не должно - ведь новый кеш работает гораздо быстрее старого - на полной частоте ядра процессора. Да и к тому же благодаря более близкому его расположению к ядру латентность кеша у Thunderbird на 45% меньше, чем аналогичная характеристика у кеша старого Athlon. В остальном же, архитектурно и старые и новые Athlon ничем не отличаются, поэтому подробности о строении ядра этих CPU можно почерпнуть из обзора AMD Athlon 600. При этом, все же необходимо иметь в виду, что все же Thunderbird имеют обновленное и технологически усовершенствованное ядро, выпускаемое по технологии 0.18 мкм. В результате, например, даже получается, что ядро Thunderbird со встроенным L2-кешем по площади ненамного больше, чем ядро K75 (0.18 мкм Athlon) и даже значительно меньше, чем старое ядро K7, выполненное по технологии 0.25 мкм.