В 2003 году в Intel потратили на исследования и разработки 4,4 млрд. долл. В эти работы были вовлечены 7 тыс. сотрудников из 70 лабораторий. Более чем в 75 университетах из 25 стран поддерживаются исследования и учебные курсы
Антонио Гонзалес: «Пришла эра микропроцессоров с поддержкой многонитевой обработки. Это поможет преодолеть проблему параллелизма на уровне мелких команд во многих типичных приложениях»

Для того чтобы современная компьютерная компания могла побеждать на рынке своих конкурентов, она вынуждена инвестировать средства в исследования. Дальновидные компании работают с университетами, что не только создает притягательный имидж в глазах будущих специалистов, но и фактически способствует «подготовке кадров». В Intel, как показывает история компьютерной индустрии, успешно справляются с обоими этими направлениями работ.

Исследовательские центры Intel в регионе EMEA расположены в России, Франции, Литве, Великобритании, Дании, Швеции, Польше, Ирландии и Израиле. Всего в проекты вовлечено свыше 3 тыс. человек.

Одна из университетских исследовательских лабораторий Intel находится в Барселоне. Ей всего два с небольшим года. Работает в лаборатории 13 человек, а располагается она на территории студенческого городка местного политехнического университета. В университете имеется столь же «молодой» исследовательский центр Intel, который возглавляет профессор Антонио Гонзалес.

Задачи центра Гонзалес формулирует так: способствовать росту производительности и надежности процессоров, уменьшению сложности и электрической мощности. По его мнению, сейчас пришла эра микропроцессоров с поддержкой многонитевой обработки (multi-threading). Как спекулятивная (то есть фактически для одной нити программы), так и неспекулятивная (для разных нитей или вообще нитей разных приложений) многонитевая обработка поможет преодолеть проблему параллелизма на уровне мелких команд (ILP) во многих типичных приложениях.

«Уменьшение типоразмера КМОП-технологии до 0,1 мкм позволяет по тепловыделению сравнить микропроцессоры с ядерным реактором», — заметил Гонзалес. Другая серьезная проблема — токи утечки и задержки в проводниках. Сегодня доля площади кристалла, достигаемая за 1 такт, составляет всего порядка 20% (за 2 такта — соответственно несколько больше). По мнению Гонзалеса, эффективным способом борьбы с задержками является кластерная организация микропроцессоров. Интересно, в каком из следующих микропроцессоров Intel мы впервые увидим кластеры?

На этот вопрос ответ пока неизвестен. На некоторые другие вопросы еженедельника Computerworld Россия Гонзалес согласился ответить в ходе нашей беседы в рамках недавней европейской конференции IDF в Барселоне.

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

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

При переходе к меньшим размерам транзисторов быстро растут токи утечки, возникает проблема физической деградации кристалла. Специалисты Fujitsu Siemens Computers недавно приводили данные о быстром росте вероятности так называемых мягких ошибок по мере уменьшения типоразмера транзисторов. Не приведет ли это к уменьшению показателя Mean Time Before Failures и времени жизни микропроцессора?

Да, это область, которую мы изучаем. Мы ожидаем, что мягкие ошибки будут появляться по разным причинам, часть из них мы не можем исключить в любом случае (скажем, космические излучения). Сейчас в исследовательском сообществе растет интерес к конструированию процессоров, которые обладали бы толерантностью по отношению к подобным ошибкам. Конструкция таких процессоров могла бы включать средства, позволяющие проводить восстановление после сбоя и продолжать корректную работу прозрачным для пользователя образом.

По вашему мнению, является ли в этой связи организация при сбое повторного выполнения команд, как это сделано в микропроцессорах SPARC64 V от Fujitsu, хорошей идеей?

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

Дублирование уже применяется в некоторых современных микропроцессорах, например в кэш-памяти. Но не будете же вы дублировать логику?

Такое предложение — продублировать некоторые части логики — уже предлагалось в некоторых источниках. Есть и другой подход — создание контрольных точек для состояния процессора, которые позволили бы при восстановлении вернуться к тому или иному состоянию. Это очень интересная область работ, где может быть достигнут существенный прогресс.

Мне приходилось слышать противоположные оценки того, каким будет соотношение производительности процессоров архитектур IA-64 и IA-32, — что будущие Itanium 2 сильно опередят Pentium 4, или, наоборот, производительности этих процессоров сблизятся. Что нам следует ожидать в реальности?

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

Но вы можете сделать оценки исходя из внутреннего потенциала, заложенного в микроархитектуре этих процессоров.

Главная разница между этими процессорами лежит в архитектурах. (Точнее, речь идет об ISA, Instruction Set Architecture, грубо говоря, системе команд. — М. К.) Они существенно различны и обе имеют свои преимущества и недостатки. В то же время опыт показывает, что ISA не является ключевым фактором, определяющим производительность. (Следует отметить, что, когда начиналась разработка Itanium, главным аргументом в ее пользу выдвигались именно проблемы с дальнейшим развитием RISC-процессоров, то есть связанные с ISA. — М. К.)

Нынешние Pentium 4 (Presсott) уже неоднократно критиковались за большие задержки в кэше первого уровня. Как вы полагаете, будут ли «видны» эти задержки в реальных приложениях?

Безусловно, задержки памяти — это важный фактор, оказывающий заметное влияние на производительность. Однако по мере роста тактовой частоты задержки кэша по отношению к задержкам логики процессора растут у всех процессоров всех производителей. Мы используем инновационные идеи для того, чтобы «скрыть» эти задержки. Например, одна из таких идей — спекулятивная многопоточность. Можно использовать параллельно выполняемую вспомогательную нить, которая будет пытаться получить данные с опережением. Такое спекулятивное распараллеливание кода помогает в распараллеливании доступа в память. Это увеличивает производительность при работе с более медленной памятью.