ЧЕРКАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА КОМПЬЮТЕРНЫХ СИСТЕМ
РЕФЕРАТ
По дисциплине Информатика и компьютерная техника
На тему: Процессор AMD. История развития.
Выполнил:
Студент 2-го курса ФИТИС
Группа ЕК-08
Кондратенко В. В.
ЧЕРКАССЫ
Об AMD
AMD - мировой поставщик интегральных микросхем для рынка персональных и сетевых компьютеров и коммуникаций, чьи производственные мощности расположены в Соединенных Штатах, Европе, Японии и Азии. AMD производит микропроцессоры, устройства флэш-памяти и вспомогательные микросхемы для коммуникационных и сетевых приложений. Компания AMD, основанная в 1969 году со штаб-квартирой в г. Саннивейл (шт. Калифорния), в 2000 году имела оборот 4,6 млрд. долл. (NYSE: AMD).
Первым процессором, который AMD разрабатывала самостоятельно, был K5, выпущенный в 1996 году. Сейчас о нем уже мало кто помнит, правда и помнить там особо нечего. Как всегда, опоздав с выпуском этого кристалла, отставая по тактовой частоте и производительности, AMD не смогла тогда завоевать расположения пользователей.
После этого провала AMD приобрела забытую сейчас фирму NexGen, еще одного независимого разработчика x86 процессоров, который обладал передовой на то время технологией и в небольших количествах выпускал кристаллы без арифметического сопроцессора. Используя эти наработки, AMD спроектировала новое поколение своих CPU - K6. По операциям с целыми числами эти процессоры стали превосходить аналоги от Intel, однако блок операций с плавающей точкой все еще оставлял желать лучшего.
AMD не сдавалась и для нужд компьютерных игр предложила использовать не сопроцессор, а специально спроектированный набор SIMD-инструкций 3DNow!. Так появился процессор AMD K6-2, в котором к обычному ядру K6 добавился еще один блок операций с числами одинарной точности с плавающей точкой. Благодаря тому, что он мог выполнять однотипные вычисления с четырьмя парами операндов одновременно, на специально оптимизированных под 3DNow! приложениях K6-2 показывал неплохую производительность.
|
В скоре AMD к своему процессору K6-2 добавила интегрированный в ядро кеш второго уровня, работающий на частоте кристалла. Это спасло производительность - полученный K6-III мог успешно конкурировать с аналогами.
Находясь в состоянии ценовой войны, Intel и AMD пришли к тому, что самые дешевые Intel Celeron продаются практически по себестоимости, если не ниже, а на рынке дорогих процессоров обосновался другой продукт от Intel - Pentium III. Единственный оставшийся шанс выжить для измотанной и порастерявшей в борьбе свои капиталы AMD - вылезти на рынок дорогих и производительных процессоров. Причем, закрепиться на нем не за счет цены - этим оружием в совершенстве владеет Intel, который может сбрасывать цены значительно сильнее AMD, а за счет быстродействия. Именно это и попыталась сделать AMD, выбросив на рынок процессор нового поколения - Athlon.
Развитие семейства K-6
AMD K6
Clock speeds (MHz) 166, 200, 233
Level one (L1) cache 32K instruction, 32K data
Level two (L2) cache Controlled by chip set
L2 cache speed Same as bus
Type of bus Socket 7
Bus speed (MHz) 66
Instructions per clock cycle 2
MMX units 1
Pipelined FPU N
Out-of-order execution Y
Process technology 0.35µ CMOS
Die size 162 mm2
Transistors 8.8 million
AMD K6-2
Этот процессор является логическим продолжением линейки K6 и отличается от предшественника только добавленним в ядро нового модуля, обрабатывающего "3D-инструкции" и носящего название 3DNow!. По сути - это еще один сопроцессор по типу MMX, но умеющий выполнять 21 новую инструкцию. Эти новые инструкции призваны, прежде всего, ускорить обработку данных, связанных с трехмерной графикой. Поэтому в набор инструкций 3DNow! включены команды, работающие с вещественночисленными аргументами одинарной точности. Именно поэтому, технология ММХ не пошла в жизнь - ММХ работает с целыми числами, а при расчете трехмерных сцен оперировать приходится с вещественными. Как и ММХ, 3DNow! использует те же регистры, что и сопроцессор, это связано с тем, что операционные системы должны сохранять и сбрасывать все регистры процессора при переключении задач.
|
Теоретически, 3DNow! должен заменить сопроцессор при расчетах трехмерной геометрии и существенно ускорить выполнение этих вычислений. Модуль 3DNow! может выполнять до четырех SIMD (Single Instruction Multiple Data) инструкций (из своего 21-командного набора) параллельно, что при грамотном использовании может дать небывалый прирост производительности. Хорошей иллюстрацией этого тезиса может послужить Quake2, работающий на процессорах K6 в полтора раза медленней, чем на Pentium той же частоты. Однако, вопреки распространенному мнению, это связано не с тормознутостью AMD-шного сопроцессора, а с тем что Intel реализовал в своем кристалле возможность параллельной работы процессора с арифметическим сопроцессором. В Quake2, код оптимизирован с учетом этой особенности, поэтому если процессорные и сопроцессорные инструкции не могут выполняться одновременно (как на AMD K6), производительность получается крайне низкая. K6-2 должен решить эту проблему, но другим путем - за счет конвейеризации 3D вычислений в модуле 3DNow! Однако, вопрос распараллеливания вычислений должен решаться программистом, что вызывает определенные трудности при реализации алгоритмов, тем более, что процесс вычисления геометрии 3D-сцен далеко не линейный. Поэтому, теоретическая производительность К6-2, значительно превышающая скорость всех современных PII-процессоров, достигнута быть не может.
|
Таким образом, чтобы от 3DNow! был хоть какой-то эффект, необходимо, чтобы приложение использовало те самые 21 инструкцию. Причем не как-нибудь, а с учетом конвейерной структуры этого модуля процессора.
AMD K6-2 3DNow!
AMD вновь надеется сократить отрыв от Intel'а, на этот раз с помощью технологий высокого уровня и заточенных под процессор 3D драйверов. Названная "K6-2 3DNow!", эта серия процессоров должна разбить иллюзию, что пользователи должны покупать процессоры Intel Pentium II для достижения максимально возможного 3D быстродействия.
Выйдя в 300 и 333Мгц версиях, линия K6-2 содержит некоторые улучшения, по сравнению с уже знакомой пользователям линии K6. Улучшенный сопроцессор, более высокие скорости работы ядра, поддержка 100Мгц кэша 2 уровня, и набор инструкций, известный как 3Dnow!, - вот качества, вознесшие K6-2 на вершину предлагаемых AMD процессоров.
3DNow!, говоря человеческим языком, - это улучшенный процесс вычислений, ускоряющий обсчитывание сцены для 3D графики. Cyrellis уже раньше упоминал, что одним из главных препятствий для ускорителей 3D графики является конфликт между медленным созданием сцены типичным процессором Intel/AMD и возможностями родного процессора 3D карты. Видеокарта должна дождаться, пока CPU завершит свою работу, и только тогда ее 3D-процессор будет в состоянии выжать требуемое нам количество кадров в секунду. 3DNow! обещает изменить такое положение вещей, проносясь сквозь генерацию сцены на максимальной скорости, тем самым значительно повышая производительность.
Вот как это выглядит:
Как вы видите, процессор загружен работой, даже если 3D-ускоритель берет на себя генерацию треугольников, как например это делает чипсет Voodoo2.
Технология 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 МГц.
AMD K6-III
Вслед за выходом очередного процессора от Intel, Pentium III, появилась новинка и от AMD - процессор K6-III. Этот процессор должен был позволить AMD подняться из ниши дешевых систем и начать конкуренцию с Intel на рынке более дорогих машин, подготавливая почву для нанесения решающего удара по позициям микропроцессорного гиганта блокбастером K7. Долгое ожидание, чтение спецификаций и первые впечатления от AMD K6-III давали все основания для того, чтобы надеяться на то, что позиции Intel пошатнутся. Но, традиционно, AMD выступает в роли догоняющего, а для победы в этом случае, согласно военной тактике, требуется немалое превосходство в силе. Но, тем не менее, новый раунд сражения AMD против Intel, Socket7 против Slot1, Давид против Голиафа, начался.
Вот технические данные процессора AMD K6-III:
· Чип, производимый по технологии 0.25 мкм;
· Ядро CXT, представляющее собой обычное ядро K6-2 с возможностью пакетной записи;
· Работает в Socket-7-системных платах, но требует обновления BIOS;
· Кэш первого уровня - 64 Кбайта, по 32 Кбайта на код и данные;
· Имеет встроенный кэш второго уровня объемом 256 Кбайт;
· Кэш материнской платы работает как кэш третьего уровня;
· Напряжение питания 2.3-2.5В (есть разные партии);
· Набор из 21 SIMD-команды 3DNow! Имеется 2 конвейера, оперирующие с двумя парами вещественных чисел одинарной точности;
· Частоты - 350, 400, 450 и 475 МГц. Системная шина 100 МГц (для модели 475 МГц - 95 МГц). Возможна работа и на 66МГц системной шине;
· 3DNow! поддерживается в DirectX 6.0 и выше.
Как видно из спецификации, AMD K6-III - это AMD K6-2 плюс 256 Кбайт кэша второго уровня, интегрированного в ядро и работающего на его частоте. Помня, какие чудеса производительности показывает Intel Celeron, от AMD K6-III ожидается также немалый прирост в быстродействии, тем более, что шина памяти - главное узкое место в системе, хоть она и работает на частоте 100 МГц. К тому же L2 кэш e К6-III имеет размер в два раза больший, чем у Celeron и в два раза более быстрый (хотя и вдвое меньший), чем у Pentium II. Не следует к тому же забывать и про кэш, установленный на материнской плате - он становится кэшем третьего уровня и добавляет еще несколько процентов производительности.
Надо уделить внимание и еще одному факту, а именно буквам CXT в названии ядра. Это ядро появилось в процессорах K6-2 совсем недавно и отличается от предшествующего наличием функции пакетной записи в память Write Allocate. То есть, новое ядро позволяет передавать данные по шине не как придется, а по мере накопления 8-ми байтовыми пакетами, что дает небольшой выигрыш в производительности при передаче данных по 64-битной шине. Правда, новой эту функцию назвать нельзя, так как Write Allocate имеется и в интеловских процессорах еще со времен Pentium Pro.
Что касается 3DNow!, то тут по сравнению K6-2 все осталось совсем без изменений. Однако, надо констатировать, что приложений использующих эту технологию на рынке не много, а поддержка 3DNow! в драйверах видеокарт и DirectX не дает практически ничего. Также как и в случае с SSE, для получения значимого прироста в быстродействии, необходимо использование SIMD-инструкций при расчете геометрии 3D-сцены, так как функции, оптимизированные в DirectX работают недостаточно быстро и не используются разработчиками.
Отметим тот факт, что для поддержки новых K6-III подойдут и старые Socket7 системные платы, для которых есть BIOS с поддержкой ядра CXT и имеющие возможность выставления напряжения питания ядра 2.3-2.5В. Однако, если в руководстве к системной плате не указан способ выставления этих напряжений, отчаиваться рано. В большинстве случаев существуют недокументированные установки для такого напряжения питания.
AMD K7
К7 - первый из семейства микропроцессоров х86 7-го поколения, в котором присутствуют конструктивные решения, до сих пор не применявшиеся в процессорах архитектуры х86 и сулящие выигрыш в быстродействии даже при одинаковых тактовых частотах. Наиболее впечатляющим из них является, конечно, 200-мегагерцовая системная шина, однако есть и другие, менее заметные на первый взгляд новшества, ставящие К7 выше процессоров 6-го поколения.
· Новая архитектура узла вычислений с плавающей точкой (fpu). К7 содержит 3 узла вычислений с плавающей точкой (fpu), любой из которых способен принимать на вход инструкции каждый такт работы процессора. При этом один узел предназначен исключительно для выполнения команды FSTORE! Назначение этого узла - обеспечивать обмен между регистрами и памятью в то время, как процессор выполняет другие инструкции. Такой подход, хотя и не повышает пиковую производительность, позволяет достичь более высокой средней производительности, что во многих случаях важнее. Остальные два fpu состоят из блока сложения (adder) и блока умножения (multiplier). Оба блока используют конвейеры (fully pipelined). Архитектура каждого fpu такова, что он может принимать на вход каждый такт одну инструкцию сложения и одну умножения, что дает пиковую производительность 1000MFLOPS при 500МГц. Ближайшим аналогом с точки зрения архитектуры является Pentium II, у которого также присутствуют adder и multiplier. Однако существуют два основных отличия. Во-первых, у PII только adder является полностью конвейеризованным (fully pipelined), multiplier же может принимать инструкцию на вход только каждый второй такт. Во-вторых, каждый узел fpu PII может принимать только одну инструкцию за такт, таким образом, пиковая производительность составляет 500MFLOPS при 500МГц. Вышесказанное ни в коем случае не является нападками на достойную архитектуру семейства Р6, которое до сих пор остается единственным семейством процессоров с конвейерным fpu. Да, чуть не забыл... Rise mP6, возможно, будет иметь архитектуру fpu, похожую на ту, что используется в К7 (как во всем, что связано с компанией Rise, здесь полно тумана, но компания уверенно заявляет, что fpu их процессора способен выполнять 2 инструкции х87 за такт), однако максимальная тактовая частота в 200МГц не позволяет этому процессору претендовать на место не только в "высшем обществе", но даже и в "среднем классе", поэтому сравнивать mP6 с К7 некорректно.
· Огромный кэш L1. Если помните, Pentium MMX-166 показывал такую же производительность на приложениях, не использующих инструкции ММХ, как и классический Pentium-200. В чем причина? А причина в том, что чип ММХ имел в 2 раза больше кэша L1 (32К против 16К). Это также объясняет, почему К6-200 приблизительно равен по производительности Pentium MMX-233 - он имеет 64К кэша. К чему это я? К тому, что в К7 кэш L1 увеличился еще в 2 раза - до 128К. Это еще не гарантирует эффективного роста производительности процессора с увеличением тактовой частоты, но, по крайней мере, устраняет опасность простоя, из-за обмена с памятью.
· Модернизируемый кэш L2. У К7 кэш L2 будет размещен, по примеру PII, в картридже, а не интегрирован в кристалл, как у К6-3. Результатом этого является возможность "модернизации" кэша. Первоначально его частота будет составлять 1/3 частоты процессора. В дальнейшем планируется выпуск версий с кэшем L2, работающим на частоте процессора, и, возможно, на половинной частоте. То же и с размером. К7 может нести кэш L2 размером от 512К в "нижних" моделях до 8МВ в серверных моделях "high-end" (впечатляюще, Xeon на сегодня имеет до 2МВ, но цена...).
AMD Duron 650
В то время, когда популярность Socket 7 платформ находилась на самом пике, и оба крупнейших микропроцессорных производителя и Intel, и AMD делали процессоры под этот разъем, мы привыкли к тому что AMD предлагала менее производительные, но и более дешевые решения. Однако, год назад это положение коренным образом изменилось. Анонсировав Athlon, который архитектурно превосходит Intel Pentium III, AMD удалось на какое-то время захватить лидерство в производительности процессоров. И хотя Intel впоследствии удалось усовершенствовать ядро своих процессоров, в которое был добавлен встроенный кеш второго уровня, AMD прочно обосновалась на рынке скоростных CPU, где и по сей день продолжает укреплять свои позиции.
В настоящий момент AMD применяет против Intel два средства. Первое - агрессивная ценовая политика, в результате которой процессоры Athlon оказались намного дешевле своих соперников, Intel Pentium III, работающих на аналогичной частоте. И второе - благодаря своей архитектуре AMD удается повышать частоту своих процессоров несколько легче, чем Intel. В результате, на настоящий момент, например, AMD уже серийно продает свои гигагерцовые CPU.
Однако, есть у AMD и проблемы. Самая большая головная боль с Athlon - это кеш второго уровня, выполненный в виде микросхем SRAM, которые до недавнего времени располагались на процессорной плате и производились сторонними производителями. Младшие модели Athlon имели L2-кеш, работающий на половинной частоте ядра процессора, однако по мере роста частот производители SRAM не поспевали за AMD и не могли обеспечить поставки микросхем кеша, работающих на 1/2 частоты процессора. В результате, начиная с частоты 750 МГц Athlon стал снабжаться кеш-памятью, работающей на 2/5 частоты процессора, а начиная с частоты 900 МГц - и вовсе работающей на 1/3 частоты. Таким образом, получилась парадоксальная ситуация, когда самый быстрый L2-кеш оказался у 700-мегагерцового Athlon. AMD же, естественно, такая ситуация устроить не могла, так как медленная кеш-память второго уровня начала сдерживать рост производительности процессоров.
Поэтому, решение наконец-то переместить L2-кеш AMD Athlon с внешней процессорной платы внутрь ядра выглядит вполне логично. Тем более, что оба завода AMD и в Остине и в Дрездене успешно освоили технологию 0.18 мкм, что позволило при переходе со старой 0.25 мкм технологии уменьшить площадь ядра Athlon на 82 кв.мм.
В результате, линейка AMD Athlon получила продолжение в лице процессоров на ядре Thunderbird, имеющих кеш первого уровня размером 128Кбайт и 256-килобайтный интегрированный в ядро кеш второго уровня, работающий на полной частоте CPU. Это семейство новых AMD Athlon с частотой 750 МГц и выше было анонсировано более двух недель назад.
Однако, этим AMD не ограничилась. Еще год назад при представлении Athlon компания заявила о намерении производства различных модификаций своего CPU, рассчитанных на различные сектора рынка. И вот, наконец, теперь она начала осуществлять свои планы, представив и семейство процессоров AMD Duron ориентированное на low-end сектор и являющееся прямым конкурентом Intel Celeron.
Итак, посмотрим, что же представляют из себя процессоры Duron с точки зрения их основных характеристик:
· Чип, производимый по технологии 0.18 мкм с использованием медных соединений
· Ядро Spitfire, основанное на архитектуре Athlon. Содержит 25 млн. транзисторов и имеет площадь 100 кв.мм
· Работает в специальных материнских платах с 462-контактным процессорным разъемом Socket A
· Использует высокопроизводительную 100 МГц DDR системную шину EV6
· Кеш первого уровня 128 Кбайт - по 64 Кбайта на код и на данные
· Интегрированный кеш второго уровня 64 Кбайта. Работает на полной частоте ядра
· Напряжение питания - 1.5В
· Набор SIMD-инструкций 3DNow!
· Выпускаются версии с частотами 600, 650, 700 МГц
Итак, с точки зрения архитектуры, Duron ничем не отличается от обычного Athlon, кроме встроенного в ядро 64-Кбайтного кеша второго уровня. Если же сравнить Duron с новыми Athlon на ядре Thunderbird, то различия между ними будут заключаться в размере интегрированного L2 кеша (у Thunderbird он 256 Кбайт против 64 Кбайт у Duron) и в частотах (Thunderbird выпускаются с частотами начиная с 750МГц, а Duron - с частотами до 700 МГц). В остальном же, архитектурно и старые и новые Athlon и Duron ничем не отличаются. При этом, все же необходимо иметь в виду, что все же новые процессоры Duron и Thunderbird имеют обновленное и технологически усовершенствованное ядро, выпускаемое по технологии 0.18 мкм. В результате, например, даже получается, что ядро Duron с встроенным L2-кешем по площади даже меньше, чем ядро K75 (0.18 мкм Athlon).
И отдельно хочется коснуться нового форм-фактора и процессорного разъема, который теперь использует AMD для своих CPU. Поскольку микросхем SRAM, используемых для внешнего L2-кеша у новых процессоров Duron и Thunderbird теперь нет, AMD вслед за Intel вновь обратила внимание на процессорный разъем типа socket. Это не только более выгодно из экономических соображений (нет необходимости в процессорной плате, картридже и т.п.), но и более рационально с точки зрения организации лучшего охлаждения. В качестве такого разъема AMD решила использовать 462-контактный Socket A, который по своим размерам, да и по внешнему виду похож как на Socket 7, так и на Socket 370. Поэтому, с Socket A процессорами AMD можно использовать старые Socket 7 и Socket 370 кулеры. Единственное, не следует при этом забывать, что тепловыделение Duron несколько превосходит количество тепла, отдаваемое Celeron, поэтому они нуждаются в несколько лучшем охлаждении. Например, Duron 650 выделяет тепла примерно столько же, сколько и Intel Pentium III 733.
У AMD Duron с системной шиной все в порядке. Поскольку этот процессор, как и остальные из семейства Athlon использует 100-мегагерцовую DDR шину EV6, пропускная способность этого звена оказывается 1,6 Гбайт/с. Кеш первого уровня Duron со времен выпуска первых Athlon не претерпел никаких изменений - его размер составляет 128 Кбайт. Кеш первого уровня Duron делится на две части - для кеширования данных и для кеширования инструкций.
Что же касается кеша второго уровня, то тут нас ждет небольшой сюрприз. Нетрудно заметить, что у Duron он в два раза меньше чем L1 кеш. Зачам он тогда нужен? Ответ на этот вопрос кроется в алгоритме работы L2 кеша Duron и, кстати, Thunderbird. Кеш второго уровня этих процессоров является эксклюзивным, что означает, что данные, хранящиеся в L1 кеше в нем не дублируются. Такой метод работы L2 кеша реализован пока только в новых процессорах AMD, все же интеловские процессоры имеют обычный inclusive L2 кеш, данные из L1 кеша в котором дублируются. Поэтому общий объем эффективной кеш-памяти у AMD Duron составляет 128+64=192 Кбайта, в то время как у Celeron он всего 128 Кбайт (32 Кбайта L2 кеша занято копией данных, имеющихся в L1 кеше).
Чтобы проиллюстрировать все вышесказанное приведу графики, показывающие скорость записи в память блоков данных различного размера для процессоров AMD Duron 650:
Процессор AMD Duron удался. Это можно сказать определенно. Его производительность находится на достаточно высоком уровне, чтобы не только обогнать конкурирующий Intel Celeron, но и вообще не оставить ему никаких шансов в штатном режиме. Производительность AMD Duron 650 всего на несколько процентов меньше скорости AMD Athlon 650 и примерно соответствует производительности Intel Pentium III 600EB. Таким образом, выход Duron, если Intel не предпримет никаких действий для улучшения производительности своего low-end процессора, означает смерть Celeron.
AMD Athlon
Если подойти к архитектуре AMD Athlon поверхностно, то основные его параметры можно обрисовать следующим образом:
· Чип, производимый по технологии 0.25 мкм
· Ядро нового поколения с кодовым именем Argon, содержащее 22 млн. транзисторов
· Работает в специальных материнских платах с процессорным разъемом Slot A
· Использует высокопроизводительную системную шину Alpha EV6, лицензированную у DEC
· Кеш первого уровня 128 Кбайт - по 64 Кбайта на код и на данные
· Кеш второго уровня 512 Кбайт. Расположен вне процессорного ядра, но в процессорном картридже. Работает на половинной частоте ядра
· Напряжение питания - 1.6В
· Набор SIMD-инструкций 3DNow!, расширенный дополнительными командами. Всего 45 команд
· Выпускаются версии с частотами 500, 550, 600 и 650 МГц. Версия с частотой 700 МГц появится в ближайшее время
Однако таким простым процессор AMD Athlon кажется только лишь на первый взгляд. На самом же деле за этими несколькими строками скрываются многочисленные архитектурные инновации, которые мы рассмотрим позднее. Однако и простые характеристики AMD Athlon впечатляют. Например, как нетрудно заметить, Athlon превосходит Intel не только по максимальной тактовой частоте (у Intel Pentium III она 600 МГц, да и к тому же при этом он работает на повышенном до 2.05В напряжении ядра), но и по размеру кеша первого уровня, который у Intel Pentium III всего 32 Кбайта.
Перейдем же к более подробному рассмотрению архитектуры AMD Athlon.
Системная шина
Прежде чем углубляться в сам процессор, посмотрим, чем же отличается системная шина EV6, примененная AMD, от привычной интеловской GTL+. Внешнее сходство бывает обманчиво. Хотя процессорный разъем Slot A на системных платах для процессора AMD Athlon выглядит также как и Slot 1, перевернутый на 180 градусов, шинные протоколы и назначения контактов у Intel Pentium III и AMD Athlon совершенно различны. Более того, различно даже число задействованных сигналов - Athlon использует примерно половину из 242 контактов, в то время как Pentium III всего четверть. Внешняя похожесть вызвана тем, что AMD просто хотела облегчить жизнь производителям системных плат, которым не придется покупать особенные разъемы для установки на Slot A системные платы. Только и всего.
На самом же деле, хоть EV6 и работает на частоте 100 МГц, передача данных по ней, в отличие от GTL+ ведется на обоих фронтах сигнала, потому фактическая частота передачи данных составляет 200 МГц. Если учесть тот факт, что ширина шины EV6 - 72 бита, 8 из которых используется под ECC (контрольную сумму), то получаем скорость передачи данных 64бита х 200 МГц = 1,6 Гбайт/с. Напомню, что пропускная способность GTL+, работающей на 100 МГц в два раза меньше - 800 Мбайт/с. Повышение частоты GTL+ до 133 МГц дает увеличение пропускной способности при этом только до 1,06 Гбайт/с. Казалось бы, как в случае с GTL+, так и с EV6 получаются внушительные значения пропускной способности. Однако, только современная PC100 память может отожрать от нее до 800 Мбайт/с, а AGP, работающий в режиме 2x - до 528 Мбайт/с. Не говоря уже о PCI и всякой другой мелочевке. Получается, что GTL+ уже сейчас может не справляться с передаваемыми объемами данных. У EV6 же в этом случае все в порядке, потому эта шина более перспективна.
При этом, как частота GTL+ может быть увеличена со 100 до 133 МГц, планируется, что и частота EV6 также впоследствии достигнет значения 133 (266), а затем и 200 (400) МГц. Однако планы эти могут и не осуществиться - реализовать работу на материнской плате EV6, требующую большего количества контактных дорожек, несколько сложнее, особенно на больших частотах. Хотя если у AMD все получится, пропускная способность системной шины может достичь 2.1 и 3.2 Гбайта/с соответственно, что позволит беспрепятственно применять в Athlon-системах, например, высокопроизводительную 266-мегагерцовую DDR SDRAM.
Кеш
Прежде чем переходить непосредственно к функционированию AMD Athlon, хочется затронуть тему L1 и L2 кешей.
Что касается кеша L1 в AMD Athlon, то его размер 128 Кбайт превосходит размер L1 кеша в Intel Pentium III аж в 4 раза, не только подкрепляя высокую производительность Athlon, но и обеспечивая его эффективную работу на высоких частотах. В частности, одна из проблем используемой Intel архитектуры Katmai, которая, похоже, уже не позволяет наращивать быстродействие простым увеличением тактовой частоты, как раз заключается в малом объеме L1 кеша, который начинает захлебываться при частотах, приближающихся к гигагерцу. AMD Athlon лишен этого недостатка.
Что же касается кеша L2, то и тут AMD оказалось на высоте. Во-первых, интегрированный в ядро tag для L2-кеша поддерживает его размеры от 512 Кбайт до 16 Мбайт. Pentium III, как известно, имеет внешнюю Tag-RAM, подерживающую только 512-килобайтный кеш второго уровня. К тому же, Athlon может использовать различные делители для скорости L2-кеша: 1:1, 1:2, 2:3 и 1:3. Такое разнообразие делителей позволяет AMD не зависеть от поставщиков SRAM определенной скорости, особенно при выпуске более быстрых моделей.
Благодаря возможности варьировать размеры и скорости кеша второго уровня AMD собирается выпускать четыре семейства процессоров Athlon, ориентированных на разные рынки.
Архитектура. Общие положения
Вот мы и подошли к рассказу о том, как же, собственно, работает Athlon. Как и процессоры от Intel с ядром, унаследованным от Pentium Pro, процессоры Athlon имеют внутреннюю RISC-архитектуру. Это означает, что все CISC-команды, обрабатываемые процессором, сначала раскладываются на простые RISC-операции, а потом только начинают обрабатываться в вычислительных устройствах CPU. Казалось бы, зачем усложнять себе жизнь? Оказывается, есть зачем. Сравнительно простые RISC-инструкции могут выполняться процессором по несколько штук одновременно и намного облегчают предсказание переходов, тем самым позволяя наращивать производительность за счет большего параллелизма. Говоря более просто, тот производитель, который сделает более "параллельный" процессор, имеет шанс добиться превосходства в производительности гораздо меньшими усилиями. AMD при проектировании Athlon, по-видимому, руководствовалась и этим принципом.
Однако перед тем, как начать работу над параллельными потоками инструкций, процессор должен их откуда-то получить. Для этого в 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!