Нефть и песок О стали Компрессор - подбор и ошибки Из истории стандартизации резьб Соперник ксерокса - гектограф Новые технологии производства стали Экспорт проволоки из России Прогрессивная технологическая оснастка Цитадель сварки с полувековой историей Упрочнение пружин Способы обогрева Назначение, структура, характеристики анализаторов Промышленные пылесосы Штампованные гайки из пружинной стали Консервация САУ Стандарты и качество Технология производства Водород Выбор материала для крепежных деталей Токарный резец в миниатюре Производство проволоки Адгезия резины к металлокорду Электролитическое фосфатирование проволоки Восстановление корпусных деталей двигателей Новая бескислотная технология производства проката Синие кристаллы Автоклав Нормирование шумов связи Газосварочный аппарат для тугоплавких припоев
Главная страница / Архитектура отрасли

Корни, причины и последствия многоядерности

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

После такой преамбулы в тексте остается место только для IBM, Intel и AMD, хотя к тройке лидеров тесно примыкает Sun Microsystems со своими проектами Niagara и Rock.

В процессе многочисленных допущений мы остановились на конвейерных суперскалярных процессорах с внеочередным исполнением инструкций. Дадим краткую расшифровку терминологии:

конвейерные – выполнение машинных (ассемблерных) операций разбито на стадии, количество которых и определяет длину конвейера. Чем проще стадии (соответственно, их больше), тем выше можно поднимать частоту процессора. К чему это привело в случае Intel – чуть позже. Типичная длина конвейера для современного процессора составляет 12 – 14 стадий для целочисленных операций. Для работы с блоками данных есть еще векторные потоковые операции SIMD (Single Instruction Multiple Data), которые чуть длиннее, как и операции с числами с плавающей точкой;

суперскалярные – одновременно может выполняться несколько потоков инструкций;

спекулятивное исполнение – порядок выполнения операций на физическом уровне в процессоре не всегда совпадает с машинным кодом, который подается на вход процессора.

Подавляющее большинство таких процессоров работает с архаичным набором инструкций х86. К слову, машинные инструкции x86 CISC (Complex Instruction Set Computers) имеют довольно запутанную структуру с массой последующих расширений, поэтому процессор на входе декодирует их в свои микрооперации, что отнимает дополнительное количество транзисторов для, в общем-то, бессмысленных, с объективной точки зрения, операций. Но… С наследственными болезнями не поспоришь. Кстати, RISC-процессоры (Reduced Instruction Set Computer) выгодно отличаются тем, что их инструкции предельно короткие и ровные. Они без специального декодера могут быть поданы на вход конвейера. Хотя в некоторых реализациях RISC такое преобразование все же производится. Существуют еще VLIW-процессоры (Very Long Instruction Word) – это некоторый подвид RISC-машин, в котором короткие инструкции собраны в пачки, и эти пачки целиком исполняются специализированными исполнительными устройствами внутри процессора.

Итак, рассмотрим особенности реализации многоядерности в процессорах CISC: Intel NetBurst (P7), AMD Athlon64 (K8), Intel Core (P8) и RISC IBM PowerPC 970MP (G5). Чтобы наглядно представить сравнение процессоров, я попытался свести результаты в одну таблицу.

Главная страница / Архитектура отрасли