Когда Intel повернулась лицом к RISC-архитектуре, объявив о Pentium Pro, казалось, что никто из разработчиков x86-совместимых микропроцессоров за Intel не угонится. Однако это оказалось не так, точнее говоря, не совсем так. В частности, AMD выпустила К6, который стал довольно популярной альтернативой Pentium Pro и Pentium II.

Очередной виток гонки микропроцессорных вооружений ознаменовался обнародованием планов Intel и HP по разработке 64-разрядного процессора Меrced и архитектуры IA-64, которую партнеры характеризуют не иначе как «пост-RISC». Этот микропроцессор грозит вытеснить с рынка уже и самые высокопроизводительные RISC-архитектуры. Казалось бы, где уж тут устоять конкурентам Intel по «x86-сегменту» рынка. Ан нет, пока Merced задерживается, схватка ожесточилась на поле 32-разрядных х86-совместимых процессоров, особенно за доминирование в области мультимедийных приложений. Более того, AMD оказалась на полкорпуса впереди Intel, объявив о поставках нового К6-2 c расширенной системой команд 3DNow!. Аналогичные микропроцессоры с мультимедийным расширением системы команд Katmai от Intel появятся позже.

По предварительным данным, и функции 3DNow! также в дальнейшем будут расширены. Однако же не менее интересными представляются К6-2 cами по себе, безотносительно к поддержке 3Dnow!. Судя по появившимся в прессе сообщениям, доля процессоров Intel на рынке настольных ПК несколько уменьшилась, и не в последнюю очередь за счет AMD K6 и К6-2, которые выступают в качестве альтернативы в основном для Intel Pentium II и Celeron.

Архитектура К6-2

АМD обращает внимание на различие самих понятий архитектуры (у микропроцессора К6-2 это - x86, включая расширения ММХ и 3DNow!), микроархитектуры (у К6-2 это - Enhanced RISC86) и конкретной реализации (Design Implementation).

Последний термин включает технологию изготовления (скажем, 0,35 или 0,25 мкм) и все прочие детали реализации. Микроархитектура, по AMD, это не «физическое», а логическое понятие.

Основной особенностью микроархитектуры К6-2 является перекодирование х86-команд в так называемые R-операции. Набор R-операций (RISC86) представляет собой RISC-команды, в которые преобразуются х86-команды. Изменения по сравнению с микроархитектурой K6 предыдущего микропроцессора AMD относительно невелики и связаны в основном с внедрением 3Now!.

Если вкратце охарактеризовать основные черты К6-2, то следует сказать, что это суперcкалярный микропроцессор с внеочередным спекулятивным (по предположению) выполнением команд, использующий технику переименования регистров. Это означает, что в нем представлены все качества, характерные как для высокопроизводительных RISC-процессоров (Alpha 21264, HP PA-8x00, MIPS R10000), так и для Pentium II (точнее, всех процессоров с ядром Pentium Pro).

Остановимся на сопоставлении K6-2 с К6, а также с Pentium II и Celeron. Как их прародитель Pentium Pro, процессоры Pentium II/Xeon ориентированы все-таки в первую очередь на мощные многопроцессорные серверы, и здесь им К6-2 не конкурент.

Первичный кэш в К6-2 имеет то же строение, что и в К6. Он является двухканальным частично-ассоциативным и имеет по 32 Кбайт для команд и для данных. Это вдвое больше, чем в Pentium II, хотя в последнем процессоре первичный кэш является четырехканальным частично-ассоциативным. С другой стороны, К6-2 уступает по характеристикам вторичного кэша. Pentium II, в отличие от К6-2, имеет встроенное управление вторичным кэшем, а он сам снабжен собственной шиной для связи с процессором. Доступ же к вторичному кэшу в K6-2 нагружает системную шину. Очевидно, для приложений, активно работающих с вторичным кэшем, Pentium II предпочтительнее. Что же касается Celeron, то в модификациях, не имеющих интегрированного на микропроцессоре вторичного кэша (внешнего кэша он не имеет вовсе), он уступает К6-2.

Взаимодействие с оперативной памятью в К6-2 происходит через системную шину, которая называется Super7 и представляет собой развитие протокола Socket7. Если последний работал на частоте 66 МГц, то Super7, как и при использовании c процессором Pentium II набора микросхем Intel 440BX, работает на тактовой частоте 100 МГц и имеет пиковую пропускную способность 800 Мбайт/с.

Двинемся теперь вглубь К6-2, по направлению к его «сердцу» - планировщику, обеспечивающему внеочередное спекулятивное выполнение команд, переименование регистров и другие сложные функции.

Команды в I-кэш попадают в частично декодированном виде, для чего I-кэш имеет, кроме 32 Кбайт, еще дополнительную память емкостью 20 Кбайт. Это обеспечивает возможности параллельного декодирования на лету x86-команд в декодерах K6-2, куда они попадают через 16-байтную очередь команд. Декодеры могут преобразовывать в R-операции до двух х86-команд за такт.

Устройство управления командами (ICU) «руководит» работой планировщика, причем всего в обработке может одновременно находиться до 24 R-операций (против 40 в Pentium Pro/Pentium II). Однако размер буфера в планировщике К6-2 (24 команды) обеспечивает сбалансированность: декодеры могут выдавать в него до четырех R-операций за такт, а длина основного конвейера равна 6. ICU может удалять из очереди в планировщике до четырех выполненных операций за такт (против трех в Pentium Pro/Pentium II).

Для обеспечения возможностей внеочередного спекулятивного выполнения R-операций в К6-2 увеличена емкость файла физических регистров и, как и в К6, используется переименование регистров. В связи с внедрением 3DNow! число физических регистров в К6-2 больше, чем в К6: 69 физических регистров против 48 в К6. 48 регистров в К6-2 те же, что и в К6: 24 архитектурных (х86) регистра плюс 24 регистра для их переименования. Кроме этих 48 регистров, в К6-2 имеется 9 архитектурных регистров ММХ/3DNow! (mm0-mm7 плюс рабочий) и 12 регистров для их переименования.

Собственно выполнение R-операций в К6-2 обеспечивают 10 функциональных исполнительных устройств: загрузки регистров; записи в память; два целочисленных арифметических устройства; устройство для вычислений с плавающей запятой; устройство обработки переходов; два устройства ММХ; устройство 3DNow!; умножитель, используемый MMX и 3DNow!. Число исполнительных устройств в К6-2 больше, чем в К6, за счет появления новых блоков поддержки 3DNow! и изменений в обработке команд ММХ.

Исполнительное устройство с плавающей запятой поддерживает стандарты IEEE754 и IEEE854, хотя, как и у Intel, работает с 80-разрядными операндами. Как и в Pentium Pro/Pentium II, умножение, строго говоря, не является конвейеризованным: оно длится три такта, а после его окончания идет задержка в два такта перед запуском нового умножения. Однако, если верить таблице времен выполнения команд на Web-сервере AMD, то в К6-2 аналогичные задержки есть также при сложении и вычитании. Целочисленное умножение в К6-2 также не конвейеризовано.

Наконец, еще одна особенность микропроцессора, которой гордится AMD, динамическое предсказание переходов, точность которого, по оценкам компании, превышает 95%. О столь же высоком показателе сообщали лишь разработчики Alpha 21264.

Мал К6-2, да дешев

Задачей AMD и было создать дешевый процессор - чтобы благодаря этому он мог конкурировать с Intel. Чтобы был большой выход годных, желательно иметь маленькую площадь микропроцессора. Так, площадь K6, содержащего 8,8 млн. транзисторов, составляет 162 кв. мм при использовании 0,35-микронной технологии, а при переходе к 0,25-микронной технологии уменьшилась до 68 кв. мм. У K6-2, построенного также по 0,25-микронной технологии, площадь немного больше - 81 кв. мм на 9,3 млн. транзисторов. Некоторое увеличение площади и числа транзисторов обусловлено поддержкой команд 3DNow!. Микропроцессор Sharptooth («острый зуб»), в котором на основной микросхеме появится и вторичный кэш, будет иметь 21,3 млн. транзисторов на площади 135 кв. мм.

Новые версии Celeron содержат небольшой (128 Кбайт) интегрированный вторичный кэш, работающий на частоте процессора, что дает им преимущества для ряда простых задач как перед Pentium II, так и перед К6-2. Микропроцессор Sharptooth (новые версии К6-2) будут иметь интегрированный вторичный кэш емкостью 256 Кбайт и, в отличие от Celeron, комплектоваться кэшем третьего уровня. Тактовая частота этого процессора будет достигать 400 МГц; он ожидается к концу года.

А в следующем году AMD планирует выпустить микропроцессор К7. Пока мы не располагаем детальной информацией о его микроархитектуре, но косвенные данные - о планах поддержки 200-мегагерцевой системной шины, о переходе к использованию технологии Direct Rambus, обеспечивающей пропускную способность оперативной памяти 1,6 Гбайт/с, - говорят о качественном скачке в производительности процессоров.

Сегодня же К6-2 можно смело рекомендовать российским потребителям «массовых» ПК-приложений как возможную дешевую альтернативу Pentium II в настольных компьютерах.


Михаил Кузьминский - старший научный сотрудник Центра компьютерного обеспечения Института химических исследований РАН. С ним можно связаться по телефону (095) 135-6388.