, да и останется ли в конце пути на корабле кто-нибудь, кроме Intel, это большой вопрос. Но как вам нравится, например, перспектива иметь в будущем только один микропроцессор - от Intel и только одну операционную систему - Microsoft Windows XX?

Кое-кто от этого корабля уже отстал (например, компания Texas Instruments, завершившая свой х86-й путь на архитектуре 80486). Другие (например IDT cо своим новым микропроцессором) пытаются догнать уходящее судно и вскочить в него. AMD и NexGEN заключили брачный союз и пока смотрят в будущее довольно уверенно. Корабельная судьба Cyrix менее очевидна: ее новый спутник жизни и глава семьи, National Semiconductor, - "со стороны". Позволит ли он Cyrix и далее плыть вcлед за Intel - это еще вопрос. Ответ на него зависит от успешности ближайшего отрезка пути. Пока новые х86-е продукты Cyrix позволяют ей достаточно уверенно держаться на плаву. Сегодня один из главных козырей Сyrix - микропроцессоры 6х86МХ, хорошо известные под кодовым названием М2.

В прессе появлялись сообщения о том, что 6х86МХ обгоняет конкурентов на реальных приложениях. Это, конечно же, подогревает интерес к их внутреннему устройству.

Микроархитектура 6х86МХ

Взглянув на архитектурное строение 6х86МХ, легко убедиться, что изменения по сравнению с 6х86 (бывшее кодовое название М1, см. CWR #1, 1995) относительно невелики. Я бы сравнил их с изменением архитектуры при переходе от Intel Pentium к Pentium/MMX (CWR, #8, 1997).

Как М2, так и М1 можно отнести к классу суперскалярных и суперконвейерных микропроцессоров. В Сyrix 6х86МХ, как и в 6х86, можно выделить пять основных блоков: блок кэш-памяти (CU), устройство управления памятью (ММU), блок интерфейса с шиной (BIU), целочисленное функциональное устройство (IU) и блок операций с плавающей запятой (FPU). Последний в 6х86МХ выполняет также команды мультимедийного расширения Intel MMX.

Прежде чем рассмотреть отличия 6х86МХ от 6х86, напомним, как выглядит главный конвейер микросхемы 6х86. Он включает 7 стадий: выборка команд из CU; 2 стадии декодирования команд; 2 стадии расчета адреса (на второй из них осуществляется обращение в кэш или файл регистров), передача ее на обработку в FPU (при обнаружении команды с плавающей запятой); и наконец, cтадия выполнения. Подобно микропроцессорам Pentium, в Сyrix 6x86 имеется два функциональных целочисленных устройства, Х и Y, которые могут работать одновременно.

Что же такого появилось в 6х86МХ по сравнению с 6х86? Прежде всего, так же как и при переходе от Pentium к Pentium/MMX, увеличилась емкость кэша. То, что именно это усовершенствование, а не ММХ-расширение системы команд поставлено на первое место, не случайно. На мой взгляд, увеличение кэша на сегодня важнее: чтобы "ощутить прелести" новых ММХ-команд, необходимо иметь использующие их приложения. Существующие ныне трансляторы с языков высокого уровня, насколько мне известно, не порождают коды, содержащие ММХ-команды. В то же время на высокой тактовой частоте ее дальнейший "голый" рост, как показывает, скажем, переход от Pentium/166 МГц к Pentium/200 МГц, недостаточен для адекватного увеличения производительности приложений: необходимо также увеличить кэш-память, что и сделано в ММХ-версиях микропроцессоров от Intel и Сyrix.

Емкость кэша первого уровня в Сyrix 6х86МХ выросла вчетверо - с 16 до 64 Кбайт (см. табл. 1), при этом он по-прежнему остался общим для команд и данных. Это для кэша первого уровня рекордная емкость среди всех микропроцессоров х86-архитектуры. Лишь AMD K6 (CWR, #20, 1997) имеет столь же большую кэш-память. В Cyrix считают, что общая для команд и данных кэш-память увеличивает вероятность попадания в кэш по сравнению с раздельным построением кэш-памяти команд и данных, применяемым большинством фирм. Кэш первого уровня в 6х86МХ является четырехканальным частично-ассоциативным и имеет два порта доступа.

Таблица 1.

Некоторые характеристики микропроцессоров-"однокласников" класса Pentium/Pentium MMX.



Cyrix 6x86MXCyrix 6x86Intel P55CIntel Pentium IIAMD К6
Достигнутая частота, МГц188133233300233
Кэш L1, Кбайт (I/D)641616/1616/1632/32
Емкость TLB, cтрок (I/D)16(L1)+384(L2)12832/6432/64128
Число стадий конвейера77612-146
Файл регистров переименования3232-4832
Выдается команд ММХ за такт1-221
Число транзисторов, млн.6,534,57,58,8
Площадь, мм2197169128203162
Технология, мкм0,330,440,280,280,35

Другим важным усовершенствованием 6х86МХ стало появление автономного пути данных от FPU в кэш (ранее FPU делил путь в кэш с BIU). Еще одно усовершенствование относится уже к блоку MMU и связано с буферами быстрой переадресации TLB. Решение, предложенное Cyrix, также, насколько известно автору, уникально: буфер TLB теперь имеет двухуровневое строение. TLB первого уровня емкостью 16 строк дополняется TLB второго уровня емкостью 384 строки. По оценкам, вероятность попадания в TLB первого уровня равна 92%, а вероятность попадания в TLB второго уровня (при обнаружении непопадания в TLB первого уровня) - 99,6%. При этом задержка при обращении к TLB второго уровня из-за непопадания в TLB первого уровня составляет всего 1 такт.

Еще один важный компонент всех современных высокопроизводительных микропроцессоров - предсказание переходов. В 6х86МХ по сравнению с 6х86 вдвое увеличена емкость кэш-памяти, хранящей адреса переходов (Branch Target Cache, BTC) и таблицы истории переходов (Branch History Table, BHT). Они теперь имеют емкость по 512 строк. Это также является важным шагом, поскольку точность предсказания переходов в 6х86 (около 90%) заметно уступала более "продвинутым" процессорам Intel Pentium Pro и AMD K6.

Ну и, наконец, несколько слов о расширении системы команд. Во-первых, в микросхемах 6х86МХ реализована полная система команд Pentium Pro, включая команды условной пересылки целых чисел и операндов с плавающей запятой. Во-вторых, в 6х86МХ появились ММХ-расширения, которые совместимы с соответствующими командами в микропроцессорах Intel и по реализации в микроархитектуре также внешне похожи на подход Intel: команды ММХ выполняются функциональным блоком FPU, a ММХ-регистры являются псевдонимами (alias) регистров с плавающей запятой. Хотя микрореализация ММХ в исполнении Суrix сильно отличается от варианта Intel, оба подхода имеют общий недостаток: во избежание деградации производительности не следует смешивать команды ММХ и команды с плавающей запятой.

Команды передаются в FPU на стадии выполнения основного конвейера. Затем реализуется стадия доступа к регистрам (ММХ или с плавающей запятой). Собственно выполнение занимает одну (для простых арифметико-логических команд) или две (для команд "умножить" и "умножить-и-сложить") стадии. Соответственно полное число тактов при таком прохождении конвейеров составляет 9 или 10 (основной конвейер, как и в 6х86, имеет 7 ступеней).

Блок FPU остается довольно слабым местом микропроцессоров Cуrix. Хотя в 6х86МХ и были сокращены задержки на выполнение умножения и сложения с плавающей запятой, производительность 6х86МХ на приложениях, требующих интенсивной работы с плавающей запятой, все еще не превосходит Pentium и сильно отстает от Pentium Pro/Pentium II.

Завершая беглый обзор микроархитектуры 6x86, отметим ее относительную простоту. 6х86 в отличие от Intel Pentium Pro/Pentium II и AMD K6 не имеет развитых средств внеочередного выполнения команд. 6х86МХ поддерживает лишь внеочередное завершение команд, которые начали выполняться в естественной последовательности. Средства спекулятивного (по предсказанию) выполнения команд в 6х86МХ также представляются более скромными. Среди "моднейших прикидов" в 6х86 можно указать лишь на переименование регистров. Впрочем, несмотря на внешнюю простоту, производительность 6х86МХ, как можно убедиться, совсем не плоха.

Реализация, или Что же все-таки выбирать?

В Cyrix 6х86МХ частота шины может быть в 2/2,5/3/3,5 раза ниже частоты процессора. Поддерживаемые частоты шин равны 60, 66 и 75 МГц. Соответственно максимальная тактовая частота может составлять 262,5 МГц для 75-мегагерцевой или 235 МГц для 66-мегагерцевой шины. Применение шины с большей тактовой частотой дает очевидные преимущества в пропускной способности; кстати, с микропроцессорами Intel используется 66-мегагерцевая шина. Однако при этом необходимы материнские платы, поддерживающие такую частоту шины. Кроме того, для обеспечения высокой пропускной способности ввода/вывода желательно, чтобы PCI-шина работала асинхронно.

В настоящее время Cyrix предлагает микропроцессоры с частотами 150/166/188 МГц (против максимум 133 МГц в 6х86). Для микросхем 6х86МХ фирма использует традиционную систему обозначений - PR166, PR200, PR233. Здесь PR ("Perforamnce Rating") указывает, к каким микропроцессорам Intel Pentium/MMX (P55C) они близки по производительности.

На тестах Winstone 97, по данным самой Cyrix, 6х86МХ/188 МГц быстрее AMD K6/233 МГц и P55C/233 МГц и близки к Pentium II/233 МГц. Кроме того, в Windows 95 Cyrix PR166 обгоняет AMD K6/166 МГц и P55C/166 МГц (на 3 и 8% соответственно). Тесты Winstone 97 в Windows NT приводят к аналогичным результатам.

Выпускаются процессоры Сyrix 6х86МХ на заводе IBM с использованием 0,33-микронной технологии. Запланирован выпуск микросхем PR266 (конец 1997 года) и PR300 (начало 1998 года). В PR266 будет применяться 0,25-микронная технология при тактовой частоте 225 МГц, а площадь кристалла уменьшится со 197 до 120 кв. мм (а в PR300 - до 80 кв. мм). Как и микропроцессоры от AMD, Сyrix 6x86MX ориентирована на применение Socket 7. Более низкие уровни напряжения и развитие системы управления электропитанием привлекут к процессору 6х86МХ и производителей портативных ПК.

Подведем итоги

На единицу тактовой частоты для 16-разрядных приложений архитектура Cyrix 6х86МХ, если ориентироваться на собственные оценки производительности, выглядит самой эффективной. Благодаря низкой стоимости микросхем данная платформа выглядит привлекательной для настольных компьютеров, в первую очередь ее можно рассматривать в качестве хорошей альтернативы Pentium/MMX. Для 32-разрядных приложений и при работе с данными с плавающей запятой 6х86МХ уступает конкурентам, и в этом случае надо принимать в расчет соотношение стоимость/производительность.

Рыночные реалии сложнее, поскольку Cyrix отстает от Intel и AMD по дате выпуска соответствующей продукции на рынок. Последствия вхождения Cyrix в состав National Semiconductor с точки зрения выпуска 6х86МХ пока оценить сложно. Ближайшие год-два принесут окончательную ясность. А пока складывается ощущение, что Сyrix, подобно Texas Instruments, осваивающей производство 80486, сдвигается в сектор более дешевых и не столь мощных микропроцессоров.