ПРОЦЕССОР - AMD K6
Александр Декс
Вот уже несколько месяцев в средствах массовой информации проходит широкомасштабная рекламная компания, посвященная новым процессорам Intel Pentium® II, которые обеспечивают повышение производительности по сравнению с Pentium Pro и Pentium MMX. Объявлено, что с первого квартала 1998 года производство процессоров Pentium MMX будет свернуто. Однако возможность плавного перехода от Pentium к Pentium II отсутствует, поскольку процессор Pentium II требует материнской платы, выполненной в стандарте Slot 1, где картридж с процессором и кэш-памятью вставляется в однорядный разъем подобно плате расширения. Это обстоятельство может вызвать у людей, только недавно купившим компьютер с новейшим процессором Pentium MMX, ощущение того, что их “кинули”. Однако и для систем, основанных на архитектуре Socket 7 (Pentium и Pentium MMX) существует возможность поднять производительность до уровня, сравнимого с Pentium II. Это установка процессора AMD K6.Процессор K6 – последняя разработка фирмы Advanced Micro Devices, направленная на достижение высочайшей производительности при сохранении всех наработок в области системных плат архитектуры Socket 7. К6 содержит 8,8 млн. транзисторов и производится по 0,35-микронной технологии с пятью слоями металлизации. Он полностью поддерживает набор инструкций MMX и выпускается в вариантах с тактовой частотой 166, 200 и 233 МГц. И хотя конструктив Socket 7 не предусматривает отдельной шины для обмена с внешней кэш-памятью, наличие которой дает очень большой прирост производительности у процессоров Pentium Pro и Pentium II, процессор K6 не отстает от них в производительности. Это достигается совершенством примененной AMD архитектуры RISC86®, а также большим кэшем первого уровня – по 32К для команд и данных.Микроархитектура RISC86® – собственная разработка AMD. Она подразумевает преобразование команд из сложного набора IA-32 в простые RISC – инструкции фиксированной длины, которые затем исполняются ядром. Из кэша команд по шине шириной 32 байта инструкции вместе с информацией от блока выборки/преддекодирования поступают в два коротких, один длинный и один векторный декодеры, при этом в пике возможно декодирование до четырех инструкций x86. При этом короткие декодеры декодируют наиболее часто встречающиеся коды, генерируя до двух RISC-инструкций каждый. Длинный декодер обрабатывает более сложные и редкие инструкции и выдает до четырех RISC-команд, а векторный предназначен для наиболее редких и сложных инструкций. Он выдает первые несколько RISC-команд и вектор в ROM, где хранится остальная последовательность.От декодеров RISC-команды поступают в буфер на 24 команды, из которого они поступают в ядро. С буфером связан планировщик команд, который управляет работой всего ядра. Он обеспечивает асинхронное исполнение RISC–команд, переименование регистров и упреждающее выполнение. Планировщик способен посылать в ядро шесть и отзывать четыре команды за такт.Процессор К6 полностью поддерживает технологию переименования регистров, повышающую возможность исполнения команд параллельно. Он содержит 48 целочисленных регистров – 24 общих и 24 регистра переименования.Из всех х86-совместимых, процессор K6 содержит наиболее развитый блок предсказания ветвлений. В нем использован двухуровневый алгоритм предсказания ветвлений, который использует таблицу адресов емкостью 8192 записи, в которой помимо сведений о прошлых ветвлениях хранятся динамически вычисляемые данные о будущих, адреса которых вычисляются при декодировании команд. В процессоре так же используется кэш адресов переходов на 16 входов, каждый из которых содержит первые 16 байт команд для дешифраторов. Использование этого кэша позволяет избежать потери такта на выборку команд. Для ускорения операции возврата из подпрограмм процессор также содержит кэш адресов возврата на 16 входов, работающий аналогично кэшу адресов переходов.Ядро процессора содержит семь независимо функционирующих блоков: записи, чтения, основной и дополнительный целочисленные, плавающей запятой, MMX и передачи управления. Блок загрузки осуществляет чтение данных из памяти с помощью двухступенчатого конвейера, данные из которого поступают через двухтактовые интервалы. Блок хранения выполняет запись данных и регистровые вычисления с помощью двухступенчатого конвейера; данных из памяти значения регистров поступают по тактам. Целочисленный блок X выполняет все арифметические операции, а также операции умножения, деления, сдвига и перестановки. Целочисленный блок Y выполняет все основные однословные и двухсловные арифметические операции. Блок вычислений с плавающей точкой выполняет все операции с плавающей точкой. Мультимедийный блок выполняет все инструкции MMX. Блок передачи управления производит условные переходы после того, как они были подготовлены для исполнения.В приводимой ниже таблице представлены сравнительные данные для процессоров AMD K6 и Pentium Pro (информация с Web-узла AMD).
AMD K6 |
Intel Pentium Pro |
|
Декодеры х86 |
2 сложных, 1 длинный, 1 векторный |
1 сложный, 2 простых |
Декодирование 32-разрядных команд: среднее/макс. |
1,9/2,0 |
2,1/3,0 |
Декодирование 16-разрядных команд: среднее/макс. |
1,8/2,0 |
1,5/3,0 |
Среднее отношение RISС/x86: 32-бит |
1,2 (меньше – лучше) |
1,5 |
Среднее отношение RISС/x86: 16-бит |
1,5(меньше – лучше) |
2,0 |
Макс. число RISC команд за такт: |
6 |
5 |
Число физических регистров |
48 |
40 |
Буфер RISC команд макс./среднее |
24/18 |
40/20 |
Задержка FPU умножение/сложение |
2/2 |
5/3 |
Ступеней конвейера |
6 |
12 |
Невыровненная загрузка |
1 такт штрафа |
6 тактов штрафа |
Таблица истории ветвлений |
8196 входов |
512 входов |
Точность предсказания ветвлений |
95% |
85-90% |
Штраф за неверное предсказание |
1-4 такта |
10 – 15 тактов |
Входные буфера команд/данных |
64/128 входов |
32/64 входа |
Кэш команд первого уровня |
32K+данные декодирования, двухвходовый |
8K двухвходовый |
Кэш данных первого уровня |
32K двухвходовый |
8К четырехвходовый |
Латентность внешней шины |
2 такта |
5-7 тактов |
Для того, чтобы оценить реальное быстродействие процессора K6, мы провели тестирование системы на базе этого процессора, предоставленной нам фирмой DestenPC. На приводимых диаграммах приведены результаты тестирования для процессоров K6-166, 200 и 225МГц(225=75*3). Для сравнения приведены данные процессоров Pentium II – 233 и Pentium-133
.
До недавнего времени конкурентам Intel не удавалось догнать процессоры семейства Pentium в вычислениях с плавающей запятой, которые имеют большое значение для приложений, связанных с графикой и научными рассчетами. Однако и в этой области K6 способен продемонстрировать производительность, сравнимую с кристаллами Intel. Так, в тесте Whetstone процессор K6-233 показал 88226K, а Pentium MMX-233 - .При создании набора микросхем 440LX, предназначенного специально для Pentium II, Intel ввела поддержку технологии AGP, существенно ускоряющей работу с графикой, особенно трехмерной. При этом ни один из наборов Intel для Socket 7 не поддерживает данной технологии, а новые не будут далее разрабатываться. Однако, используя процессор K6, рассчитанный на платы с Socket 7, также возможно использовать и AGP! Эту технологию поддерживает новейший набор микросхем VIA Appolo VP3 производства фирмы VIA Technologies, Inc. Помимо этого данный набор поддерживает UltraDMA, SDRAM, кэш-память до 2 мегабайт и объем кэшируемой памяти до гигабайта. Платы на основе этого набора уже выпускаются несколькими производителями. Одна из них, PA-2012 производства FIC, должна появиться в Москве к середине декабря. О ее достоинствах мы планируем рассказать отдельно в одном из следующих номеров.Редакция журнала выражает благодарность компании “DESTEN” за предоставленное оборудование для тестирование.
Компания “DESTEN”Тел.: 195-3769, 191-4675, 196-0239