Willamette: в погоне за гигагерцем


28.11.2000 18:10 | ZDNet

Введение

На конференции Intel Developer Forum, проходившей на прошлой неделе в Палм-Спрингсе, представители Intel кое-что рассказали об архитектурных деталях Willamette долгожданного 32-разрядного микропроцессора нового поколения. Это первое с 1995 года, когда появилось семейство Pentium Pro с микроархитектурой Р6, серьезное изменение на уровне микроархитектуры, которое вносится в семейство 32-разрядных процессоров Intel. Компания позиционирует Willamette как высокопроизводительный микропроцессор нового поколения для настольных ПК, нацеленный на создание веб-контента, обработки потоков цифровых медиаданных, финансового моделирования, а также для технических и научных приложений. Не помешает он и серьезным геймерам.

Некоторые из этих целевых приложений явно характерны для рабочих станций, но для рынка рабочих станций и серверов на платформе х86 Intel будет рекомендовать другой, еще более высокопроизводительный микропроцессор Foster. Детали пока не раскрываются, но по своей микроархитектуре Foster будет подобен Willamette, хотя у него, вероятно, будут более вместительные и быстродействующие кэши, а чипсеты для этого процессора должны поддерживать мультипроцессорные конфигурации (эта пара Willamette-Foster будет соответствовать сегодняшним Pentium III Xeon и Pentium III).

В последнее время Intel сталкивается на рынке процессоров для высокопроизводительных ПК с сильной конкуренцией со стороны AMD Athlon. Когда появятся системы на базе Willamette правда, произойдет это не раньше второго полугодия этого года Intel, по всей вероятности, восстановит заметный отрыв. Но и от AMD мы надеемся услышать о процессоре восьмого поколения с кодовым названием SledgeHammer, совместимом с платформой х86 и поддерживающем 64-разрядный режим.

P6 и Willamette

В течение последних четырех лет в составе семейств Pentium II и Pentium III появилось множество новых процессоров Intel Р6. Наиболее заметным усовершенствованием этой микроархитектуры стала технология Streaming SIMD Extension, появившаяся в семействе Pentium III, однако с 1995 года менялись и конструкция корпуса, и технология производства процессоров. Если Pentium Pro 150 МГц производился по технологии 0,6 мкм, то современные 800-МГц кристаллы Pentium III Coppermine изготавливаются с технологической нормой 0,18 мкм.

Архитектура процессора Willamette гораздо более совершенна, чем архитектура Р6, что позволит заметно увеличить тактовую частоту и скорость исполнения команд. Вместо 133-МГц шины данных, которая применяется в системах Pentium III высшего класса, в ней используется 400-МГц шина. Первые процессоры Willamette будут производиться по алюминиевой технологии с нормой 0,18 мкм, и, хотя Intel пока не сообщает их предполагаемых значений тактовой частоты, скорее всего, к концу этого года они достигнут 1 ГГц. В своем выступлении на форуме разработчиков Альберт Ю (Albert Yu), старший вице-президент и генеральный менеджер отделения Microprocessor Products Group, продемонстрировал процессор Willamette, функционирующий на частоте 1,5 ГГц. Свою презентацию в формате PowerPoint он проводил на Willamette-системе, фактическая тактовая частота которой не разглашалась.

Внутри Willamette

Гленн Хинтон (Glenn Hinton), член совета директоров Intel и главный архитектор Willamette, представил обзор новой микроархитектуры, правда, не углубляясь в детали. Willamette создавала та же команда, которая проектировала ядро Р6. С учетом всех групп аппаратного, программного и технического обеспечения, число людей, занятых в процессе разработки, превышает размер команды Р6, в которой насчитывалось 300 человек. В предварительных испытаниях было опробовано в общей сложности от 2000 до 3000 опытных образцов микропроцессоров.

Хинтон рассказал о применяемых в Willamette усовершенствованных технологиях неупорядоченного ядра и конвейера Р6. Это не просто ряд дополнений; существенной переработке подверглась и сама архитектура. В числе основных изменений механизм Advanced Dynamic Execution, ядро с двойным возбуждением, кэш трассировки, усовершенствованные арифметические устройства для операций с плавающей запятой и обработки мультимедиа, 400-МГц шина данных, встроенный кэш второго уровня и 20-ступенчатый конвейер.

Термином Advanced Dynamic Execution Intel называет более сложную и усовершенствованную версию неупорядоченного суперскалярного механизма Р6 с раздельными расшифровкой и исполнением инструкций. Неупорядоченная обработка инструкций на верхнем уровне позволяет процессору выполнять многие команды вне обычной последовательности операций, что повышает производительность по сравнению с классическим упорядоченным конвейерным методом обработки. Затем, перед записью окончательных результатов в регистры и память, процессор восстанавливает первоначальный порядок команд.

В архитектуре Willamette декодирование инструкций отделено от их исполнения. Исполнительным устройствам предшествуют буферы, или кэши инструкций, так что, если процесс декодирования застопорится (например, на этапе выборки команд из памяти), инструкции продолжают поступать в исполнительные устройства. Аналогично, дешифраторы продолжают передавать инструкции в буферы, если исполнительные устройства заняты или ожидают поступления операндов.

Под термином двойное возбуждение понимается ускоренная работа двух арифметико-логических устройств (АЛУ) Willamette: они действуют с удвоенной тактовой частотой по сравнению с процессором. В демонстрируемом Альбертом Ю 1,5-ГГц кристалле АЛУ работали на частоте 3 ГГц! Два АЛУ позволяют обрабатывать за один такт процессора четыре простые целочисленные команды.

Удлиненный конвейер

20-ступенчатый конвейер Willamette невероятно большой по всем существующим стандартам вдвое длиннее 10-ступенчатого конвейера Р6. Это позволяет задействовать меньше логических ключей на каждый каскад, что повышает быстродействие процессора. Однако за это приходится платить меньшей гибкостью в прогнозировании ветвлений (если прогноз ошибочен, все инструкции, находящиеся в конвейере, приходится сбрасывать и вновь загружать инструкции из другой ветви программы).

Хинтон утверждает, что, благодаря более глубокому конвейеру с повышенной тактовой частотой в сочетании с улучшенными алгоритмами прогнозирования ветвлений, 4-Кбайт таблицей ветвлений и кэшем трассировки, можно добиться уменьшения влияния ошибок прогнозирования ветвлений. Он не вдавался в детали алгоритмов и отказался привести оценки среднего коэффициента погрешности прогнозов, но сказал, что это зависит от характера последовательности команд и что у Willamette прогнозирование ветвлений точнее, чем у процессоров Р6. Прежде Intel сообщала, что точность прогнозирования ветвлений Р6 превышает 90%.

Дешифраторы команд и кэш трассировки

Как и Р6, Willamette дешифрирует до трех команд х86 за один такт, преобразуя каждую из этих инструкций в одну или более микроопераций. Подробнее о характеристиках дешифратора Хинтон не рассказал. Существенным новым дополнением служит кэш трассировки: он накапливает расшифрованные микрооперации и по существу служит кэшем инструкций первого уровня. Так как он стоит после дешифратора, то в случае ошибки прогнозирования ветвлений процессор обращается в этот кэш за новым потоком инструкций, так что ему не приходится возвращаться к началу конвейера. Кэш трассировки содержит логически непрерывные последовательности инструкций (в соответствии с ветвлениями программы) в физически последовательных элементах памяти, поэтому при выполнении программы в нем могут находиться как нужные, так и ошибочно спрогнозированные цепочки микрокоманд. Если прогноз был неверным и нужной цепочки в кэше трассировки не оказалось, ее приходится загружать из кэша второго уровня; если нужных команд нет и там, то они извлекаются из памяти, что приводит к большой цене ошибки прогнозирования ветвлений.

В каждый момент времени в процессоре на разных стадиях исполнения может находиться более 100 микроинструкций по сравнению с 40 у Р6; кроме того, конвейер способен управлять 48 элементами ввода/вывода данных. Willamette использует 128-байтные линии связи с кэшем, пропускающие по 64 байт за такт. Хинтон не рассказал о деталях организации кэша и интерфейса, отметив лишь, что кэш данных первого уровня обладает малой задержкой всего в два такта и что между кэшами первого и второго уровня проложена высокоскоростная магистраль.

Представители Intel мало что рассказали о планировщике инструкций, который, кажется, аналогичен блоку фиксированного распределения в архитектуре Р6, откуда инструкции распределяются между исполнительными устройствами по мере готовности операндов. Неизвестны и детали конструкции буфера переупорядочивания (который гарантирует сохранение последовательности программы по мере изъятия инструкций), однако по косвенным признакам можно заключить, что он вошел в состав планировщика инструкций. Как и в Р6, регистры в Willamette переименовываются, но представители Intel не привели сравнения физического числа регистров в обеих архитектурах.

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

SSE 2 для видео и синтеза речи

В Willamette добавлен механизм Streaming SIMD Extensions 2. В числе основных его возможностей выполнение за один такт двух 64-битных операций двойной точности с плавающей запятой; оригинальная система SSE ограничивалась четырьмя 32-битными операциями одинарной точности. 64-битные операции двойной точности с плавающей запятой актуальны при решении многих научных и технических задач. Кроме того, длина целочисленных инструкций SIMD MMX в Willamette увеличена с 64 до 128 бит, так что за один такт могут выполняться две 64-битные операции (это очень полезно для алгоритмов шифрования). В общей сложности добавились механизмы обработки и управления кэшем и памятью для 144 новых инструкций с плавающей запятой и целочисленных SIMD-инструкций. Intel подчеркивает, что преимущества SSE 2 проявятся в задачах кодирования/декодирования видео, шифрования, обработки изображений, а также синтеза и распознавания речи.

400-МГц шина данных Willamette опирается на конструкцию шины Р6. Эта шина с делением операций за такт позволяет выполнять несколько запросов передачи данных. Она снабжена глубоким конвейером, хотя представители Intel не рассказали об этапах и других деталях работы конвейера шины. Шина имеет внешнюю синхронизацию и 64-разрядную магистраль данных с четырехкратным возбуждением . Иными словами, на нее поступают тактовые импульсы 100 МГц, каждый из которых инициирует четыре 64-битные операции, что и приводит к фактической тактовой частоте в 400 МГц и пропускной способности до 3,2 Гбайт/с. Быстродействующая шина очень хороша для ввода/вывода высокоскоростных мультимедийных потоков и данных в формате с плавающей запятой.

Представители Intel говорят, что пока слишком рано судить о реальном быстродействии процессора, так как на этапах конструирования и производства эти оценки могут меняться. Такие подробности, как размеры кэша, конструкция корпуса, требования к питанию, размеры кристалла, число уровней металлизации и другие характеристики микроархитектуры компания не раскрывает, вероятно, по причинам, связанным с конкуренцией.

В Willamette архитектура Р6 усовершенствована по многим направлениям, но сохраняется полная совместимость с 32-разрядной архитектурой х86. Пока этот процессор представляется лучшим билетом в мир высокопроизводительных настольных ПК. Однако интересно, что в этом году достанет из рукава AMD.

Hint Site Aport

© Авторские права и копия защищены законом: © Дудкин Александр Константинович, 2002 г.
Копирование любых материалов только с письменного разрешения автора сайта
URL сайта: www.alexishw.mailru.com
Ваши замечания и предложения присылайте по e-mail: alexishw@mailru.com