Архивы: по дате | по разделам | по авторам

Центральный прогрессор

Архив
автор : Александр Медведев   15.08.2000

Обзор архитектур современных процессоров...

Зачем все это надо

Не так просто навскидку ответить, зачем процессоры развиваются столь стремительно. Действительно, зачем? Ради соблюдения закона Мура - выполнить и перевыполнить? Или ради создания искусственного разума путем спонтанного перехода количества в качество? (А не слабоват ли закон Мура для обоснованной надежды на подобный переход в ближайшие десять в третьей степени лет?) Или просто чтобы облегчить труд программистов, освободить их от необходимости часто задумываться над ограничивающими их идеи ресурсами? Может быть, чтобы освободить ученых от громоздких аналитических выводов, покоящихся на глиняных ногах разумных упущений и упрощений, заменив все вычислительным экспериментом - числодроблением огромных по размерам и примитивных по сути моделей? Похоже, что это лишь очередная грань извечного вопроса: "Что такое прогресс и зачем он нужен?". А ответы на вопросы о смысле предметов, как известно, лежат за пределами оных (вопросов). Я выйти за рамки прогресса не вижу возможности и посему рассуждения прекращаю, оставляя читателя наедине с собственным мнением.

Покупают мегагерцы

А вот это уже факт, подтвержденный экспериментально. В наше время покупают главным образом мегагерцы как отстраненные цифры. Просто потому, что 600 лучше, чем 450. На данный момент производительность и архитектурные возможности для основной покупающей массы достаточны практически вне зависимости от фирмы и конкретной модели. Программное обеспечение же откровенно "не успевает" квалифицированно съесть и переварить все предоставляемые процессором возможности. 3D-ускоритель - да, память - да, до определенного, не столь большого предела. Но так ли велика разница между PIII 1000 и PIII 600? А если на глаз, без экстремальных тестов и новомодных игр? А готовы ли вы лично поменять свою x86-платформу на архитектурно продвинутую Alpha или Ultra SPARC? Если там этих самых игр и пресловутого офиса в обозримом будущем не предвидится?

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

Архитектуры и технологии

Для дальнейшей ясности необходимо провести некую грань между архитектурными и технологическими новшествами. Занятие это трудное и неблагодарное, ибо четкого качественного перехода нет. Но давайте договоримся, что, скажем, новая система команд и новые принципы их исполнения - это архитектурное новшество (пример - VLIW-подход, конкретно - "Эль 2k", IA-64, Crusoe), а различные инженерные решения для повышения производительности (например DDR-шины передачи данных, медные технологии и большие объемы кэш-памяти на чипе) - это новшества технологические. Так вот, если раньше развитие процессоров в первую очередь опиралось на архитектурные новшества, то сейчас этот процесс ориентирован на технологическую сторону. Пример: сколько технологических изменений претерпела достаточно стабильная архитектура IA-32 начиная с 386-го процессора; и даже более локальный пример: сколько модификаций ядра P6 было успешно выпущено аж под тремя торговыми марками (Pentium II, Celeron, Pentium III). Это с использованием трех технологий (0,35, 0,25, 0,18, а вскоре и 0,13 мкм), семи дизайнов кристалла и десятка различных форм-факторов. И посмотрите, как мучительно прокладывают себе путь VLIW-архитектуры, разработанные фактически более десяти лет назад.

Ваш любимый размер и материал

Итак, первое средство - совершенствование технологии формирования транзисторов на поверхности кристалла. Уменьшение размера элементов требует все более дорогого оборудования, цена которого, впрочем, с избытком уравновешивается увеличением количества чипов, получаемых с пластины той же площади, и долей выхода годных (в случае фиксированных сверху требований к частоте). Повышается предельная тактовая частота, снижаются напряжение питания и потребляемая мощность. Но есть и отрицательные стороны. Во-первых, увеличивается влияние внешних факторов (например, радиации) на процент выхода годных чипов и даже на их работоспособность. Во-вторых, снижается срок жизни чипов. Что, впрочем, не так страшно, учитывая сегодняшние темпы моральной амортизации оборудования. И, наконец, расстояния между соседними элементами приближаются к пределу, полупроводники и изоляторы на основе производных кремния перестают выполнять свои функции. Вот тут нас и ожидает некоторый кризис, о преодолении которого нужно думать уже сейчас. По грубым оценкам, предельная норма на нынешней материальной базе находится в районе 0,05 мкм.

Количество слоев металлизации растет, и сдерживают его рост, как ни странно, в основном недостаточно развитые средства проектирования и отладки. Работать с истинно трехмерными структурами на поверхности чипов человечество только учится, и пока привычный плоский лист бумаги будет преследовать нас в книгах, в школе и позже, во взрослой жизни, ожидать неожиданных объемных прорывов в мышлении странно. Да, уже появились вертикальные (многоэтажные, объемные) структуры DRAM, но это лишь хорошо продуманные, однотипные ячейки. А вот слабо разместить выполняющее ALU прямо под файлом регистров? Обидно, но в данный момент острие инженерной мысли теребит скорее количественные, нежели структурные вопросы.

Есть несколько способов бороться со все более вредными, по мере возрастания частот и уменьшения размеров, повадками кремния и алюминиевых соединений. Можно снизить емкость подложки, положив на нее слой изолятора, а на него еще один, гораздо более тонкий слой кремния, в котором и будут протравливаться структуры чипа. В результате резко возрастет тактовая частота, улучшится форма сигнала, и можно немного снизить проектную норму чипа, не опасаясь взаимного влияния соседних структур. Эта технология называется SOI (Silicon On Insulator), а достаточно сложный промышленный метод создания подобных пластин впервые был разработан фирмой IBM в ходе весьма длительных исследований. SOI успешно применяется для производства самых мощных процессоров линейки Power. Впрочем, например, инженеры из Intel заявляют, что подобный подход способен натолкнуться на значительные технологические проблемы в производстве чипов по мере снижения проектных норм. То есть для 0,18-0,13 мкм все отлично, но не факт, что технология SOI будет оправданна при размерах 0,1 мкм и менее. Не будем делать выводы раньше времени, что-то мне подсказывает, что инженеры Intel всего лишь оправдывают невозможность наладить в данный момент рентабельное (а это слово играет ключевую роль в кремниевом бизнесе) производство SOI-пластин. Лично мне кажется, что IBM большой - ему (как поется в песне) видней.

Еще один метод повышения тактовой частоты, в общем-то, не требующий снижения проектной нормы, - использование медных соединений вместо алюминиевых. Это чистое повышение частоты при "прочих равных" и некотором увеличении стоимости. Опять же, здесь все решают экономические факторы, подобная технология на сегодняшний день доступна всем ведущим производителям, но используют ее в массовых чипах общего назначения IBM, Motorola и теперь AMD. Intel считает, что медные соединения понадобятся ей только с массовым внедрением норматива 0,13 мкм, то есть на производстве чипов IA-64 следующего поколения (McKinley).

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

Чувство такта

Не секрет, что длительность такта синхронно работающего процессора фактически определяется временем смены состояния его самых медленных блоков (с самыми длинными цепями). Ключевое слово в этой фразе - "синхронно". Но если вдуматься, сигнал не рождается внутри блока. И еще уйма времени уходит на его распространение по чипу. Первая необходимость - обеспечить попадание сигнала во все блоки одновременно, например, с помощью специальных средств задержки. Тогда длительность такта действительно будет зависеть только от скорости работы самых медленных блоков. Кстати, на решение проблемы актуальной доставки тактов тратятся огромные усилия при проектировании. Но почему бы не нарушить правила игры? Помните, я отметил слово "синхронный"? Так давайте сделаем асинхронный процессор. Точнее, для начала - псевдосинхронный. Скажем, целочисленный блок как самый простой работает на одной частоте, "плавающий" - на вдвое меньшей, а кэш второго уровня - на вчетверо меньшей. Жалко кэш второго уровня, но далее мы покажем, что его частота не главное. Кстати, читатель уже в курсе, что целочисленный блок Willamete работает на частоте вдвое большей, нежели все остальные? Вот так-то...


Но это полумера. А давайте представим себе полностью асинхронный процессор, все блоки которого связаны друг с другом с помощью специальных очередей синхронизаторов. Для нынешних CISC-RISC трансляционных архитектур это не очень оправданно из-за сильной зависимости соседних команд, но вот более продвинутые архитектуры, создававшиеся с оглядкой на параллельное исполнение кода множеством блоков, нам вполне подходят. Например - Alpha. И уж тем более EPIC (да и любые другие пост-VLIW) с ее явным параллелизмом и пакетами команд. Но мы, по простоте душевной, придумаем свою собственную уникальную архитектуру для асинхронного процессора. Назовем ее, скажем, MEDVED. Итак, у нас есть куча исполнительных блоков, работающих на различных, предельных для них частотах, и несколько новых структур (см. рис.). В нашей архитектуре нет кэша данных первого уровня как такового - он не нужен, мы будем использовать явную загрузку, как в EPIC. Просто есть огромное количество регистров, скажем 128 килобайт. Есть поток команд, с явным указанием зависимостей: команды выбираются, поставляются вместе с данными асинхронным блокам, результаты записываются в "кандидатскую очередь", реализованную как часть файла данных, вместе с информацией об условии, при котором он будет иметь смысл. Если условие уже вычислено (известно, выполнено оно или нет), данные могут быть сразу отброшены после выполнения или даже не поставлены на выполнение. Ну, а потом, по мере вычисления условий, "непроверенные" данные копируются или, скажем, просто помечаются как достоверные. Подобная архитектура - при организации на месте стрелочек небольших согласующих очередей - позволяет всем блокам работать асинхронно. Более того, если блоки будут конвейеризированными, понятие простаивающих конвейеров просто исчезнет. Теоретически возможен коллапс процессора, когда достоверные данные закончатся, и для принятия решения о достоверности будут необходимы уже достоверные данные, которых нет, так как для принятия... короче, назовем это неразрешимым циклом. Эта проблема решается разумно написанным компилятором, учитывающим всевозможные сценарии развития событий в пределах количества одновременно выполняемых команд. И грубо вставляющим специальные команды синхронизации, там, где он не уверен. Кстати, фирма IBM заявила, что разработала технологию асинхронных процессоров, которая будет внедрена через пару лет и позволит получать частоты порядка 4-5 ГГц даже при нынешних нормах и материалах.

Футура

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

Подытожим

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

А - Расширять внутреннюю шину между процессором и расположенными на чипе кэшами до 256 и более разрядов (ядра Intel Coppermine, новые чипы IBM Power и Sun SPARC), благо шина внутри процессора может быть практически бесплатно расширена в несколько раз.

Б - Использовать DDR или QDR внешние шины (Intel Willamette, например, передает четыре пакета данных и два пакета адреса за такт), ибо частоту тактовых импульсов на шинах системной платы крайне нерентабельно поднимать выше 200 МГц.

В - Упрощать ступени конвейера (а значит, и время такта), увеличивая их число с общепринятых 9-15 до 20 и более (опять Willamette).

Г - Увеличивать число одинаковых исполняющих блоков. Например, два-четыре блока загрузки/ сохранения, три-шесть целочисленных, не менее двух математических (работающих с плавающей точкой), причем по мере завершения переходного периода (на пост-VLIW) все математические блоки новых процессоров, вероятно, будут использовать SIMD-расширения (см. пункт 6).

Д - Улучшать предсказание переходов там, где оно еще нужно (платформы RISC и modern CISC), снижая тем самым расплату за простой непомерно увеличенного конвейера (см. пункт 3). Впрочем, если проанализировать полученное в результате перехода на 20 ступеней повышение тактовой частоты (в 1,5-1,7 раза), окажется, что вопреки распространенному мнению абсолютное время простоя остается практически таким же в случае неудачного предсказания, а число команд, выполненных в случае удачи, возрастает...

Е - Разрабатывать все более и более мощные SIMD-расширения для успешного дробления чисел. Этим, кстати, сейчас занимаются все основные производители.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.