Сервер - статьи

       

это нечто среднее между традиционной


Новый процессор - это нечто среднее между традиционной архитектурой RISC для рабочих станций и серверов и CISC для настойных компьютеров. В основу архитектуры положена концепция EPIC (Explicitly Parallel Instruction Computing - вычисления с явным параллелизмом команд). Проект, собственно, включает разработку принципиально новой архитектуры 64-разрядного набора команд и оптимизирующих компиляторов. Новая архитектура в основном полагается на новый вид представления команд, а также их новый принцип следования, обработки и выполнения. Аппаратное обеспечение здесь играет отнюдь не первостепенную роль. Основная нагрузка по оптимизации потока команд ложится на компилятор, который является посредником между исходным кодом выполняемого приложения и внутренними исполняемыми командами процессора. Этот компилятор очень хорошо "знает" аппаратную структуру нового CPU и формирует потоки команд, оптимизированные для их параллельного выполнения и сохранения результатов. И все это при сохранении должного уровня производительности! Но у данного подхода есть и очевидный минус: приложения, написанные для текущих моделей CPU, могут не столь эффективно распараллеливаться в будущих моделях из-за жесткой привязки компилятора к существующей архитектуре. В архитектуре EPIC команды объединяются в последовательности, называемые связками (bundles), объединяющими по три команды, которые могут быть выполнены последовательно на одном исполнительном устройстве. Таким образом, выполнение команд на одних исполнительных устройствах не зависимо от выполнения команд на других. Для этого сам процессор также "укомплектован" соответствующим образом. В процессоре имеется шесть исполнительных конвейеров небольшой длины - по восемь стадий. Процессор может выполнять одновременно две связки команд. Каждая команда представляет собой несколько связанных с загрузкой или выгрузкой операндов, выполнением арифметических или логических действий инструкций. Itanium 2 содержит по 128 64-разрядных целочисленных и 82-разрядных регистров для инструкций с плавающей запятой.
Есть еще 64 однобитных регистров для предсказания ветвлений и 8 регистров с адресами переходов. Регистры выделяются динамически, а если их не хватает, часть регистров записывается в системную память и становится адресуемыми (переназначение регистров). Исполнительных блоков в процессоре Itanium 2 тоже достаточно много: шесть блоков для целочисленной арифметики разрядностью 64 бита, шесть блоков для обработки упакованных форматов данных, два 82-разрядных FPU c поддержкой SIMD-инструкций и FMAC, четыре блока для загрузки и сохранения операндов. В общем, все сделано с учетом как можно большего параллелизма. В процессоре есть блоки предсказания ветвлений, блоки обработки исключительных ситуаций, проверки зависимости инструкций, слежения за производительностью и т. д. Для выполнения инструкций архитектуры IA-32 имеется отдельный блок, который занимается распределением ресурсов процессора (регистров, исполнительных модулей) для поддержки старого набора команд. То есть вся основная работа происходит на уровне кэша L1, блока выборки и декодирования команд и буферов, которые формируют потоки инструкций на соответствующие исполнительные устройства. При этом определяется тип команды, ее зависимости, наличие итераций и т. д., после чего формируются потоки и связи инструкций. Таким образом, разработчикам удалось избавиться от изменения последовательности команд и их распределения. После этих операций загружается стек, и связки поступают на выполнение с учетом ветвлений. Подсистема кэширования тоже выполнена интересно: у Itanium 2 есть два кэша первого уровня - один для целочисленных операндов объемом 16 кбайт, второй - для инструкций. Если процессор выполняет операции с плавающей запятой или не находит данных в кэше L1, он обращается к кэшу второго уровня объемом 256 кбайт. Если данных и там не найдено, производится обращение к кэшу третьего уровня, который в свою очередь "общается" с оперативной памятью. Itanium 2, имея 50-разрядную шину адреса, работает с 250 байт ОЗУ. Теперь о системной шине.Она 128-разрядная, имеет частоту 400 МГц, построена по технологии AGTL+, рассчитана на подключение четырех процессоров, обеспечивает обнаружение и исправление ошибок по методу ECC. В целом, процессор Itanium 2 по уровню параллелизма, объему кэша, пропускной способности шины и другим параметрам превосходит практически любой другой настольный или серверный процессор. Но проблема Itanium 2 состоит в том, что он показывает высокую производительность только в том случае, если программное обеспечение подготовлено специальным полностью 64-разрядным компилятором.

Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий