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