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

  18:47   27-03-2007

Ренат ЮсуповСразу оговорюсь, статья которую вы читаете, является маркетингово-технологическим обзором на тему многоядерности и ни в коей мере не претендует ни на детальное техническое описание конкретных микроархитектур, ни на астротехнологический прогноз успехов и неудач всеми уважаемых производителей универсальных микропроцессоров массового применения.
После такой преамбулы в тексте остается место только для 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). Чтобы наглядно представить сравнение процессоров, я попытался свести результаты в одну таблицу.

Продолжение читайте в печатной версии журнала


Предприятия Пермского моторостроительного комплекса – ОАО «Авиадвигатель» (конструкторское бюро) и ОАО «Пермский моторный завод» (изготовитель) начали промышленную эксплуатацию комплексной катастрофоустойчивой вычислительной инфраструктуры. Она стала основой для создания единого территориальнораспределительного центра обработки данных флагмана российского двигателестроения. Проект реализован на базе платформы IBM при участии компании «КРОК», спец...

Сергей ВАЛУЕВ,директор департамента информационных технологий компании «Интегра»Группа компаний «Интегра», созданная в 2004 г., поставляет услуги и оборудование предприятиям нефтегазового сектора российской экономики. Около двух лет назад компания начала активно приобретать активы и сегодня присутствует во всех традиционных нефтяных регионах РФ и странах СНГ. В текущем году ГК «Интегра» успешно осуществила первичное публичное размещение ценных ...